n8n-editor-ui 1.107.3 → 1.108.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AddDataStoreModal-BWJ9lPXD.js → AddDataStoreModal-BduD-_3h.js} +2 -2
- package/dist/assets/{AnimatedSpinner-DNlzAAjE.js → AnimatedSpinner-C6hUJocW.js} +1 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CNykFw3C.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CPuMOvlw.js} +1 -1
- package/dist/assets/{AuthView-CBZF2tp7.js → AuthView-C11JwvOE.js} +2 -2
- package/dist/assets/{ChangePasswordView-BNZ4Lec-.js → ChangePasswordView-BB7axCnx.js} +3 -3
- package/dist/assets/CollectionParameter-Cgq5mid5.js +4 -0
- package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CWb4OBYA.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-D-Jt6Gli.js} +1 -1
- package/dist/assets/{CredentialsView-CsNObRPu.js → CredentialsView-CfQzHZs_.js} +8 -8
- package/dist/assets/DataStoreActions.vue_vue_type_script_setup_true_lang-4xXQM9V0.js +83 -0
- package/dist/assets/{WorkflowActivator-22RW64G2.css → DataStoreDetailsView-B0CKO8ZR.css} +106 -323
- package/dist/assets/DataStoreDetailsView-B4_8Wywn.js +36144 -0
- package/dist/assets/{DataStoreView-BNXibrgV.js → DataStoreView-Ca7MkqMT.js} +43 -102
- package/dist/assets/{DemoFooter-DN__rQTx.js → DemoFooter-mdcYI9V4.js} +6 -6
- package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-BLs3shin.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-sIvwrfw-.js} +1 -1
- package/dist/assets/{EntityNotFound-DwzIV-IA.js → EntityNotFound-Y2W4TM3k.js} +1 -1
- package/dist/assets/{EntityUnAuthorised-Uk7UofGI.js → EntityUnAuthorised-DWipzXTF.js} +1 -1
- package/dist/assets/{ErrorView-2aaHp4mm.js → ErrorView-hJzoyT_-.js} +1 -1
- package/dist/assets/{EvaluationsRootView-DajOMNNe.js → EvaluationsRootView-DYV7_RjO.js} +1 -1
- package/dist/assets/{EvaluationsView-D9B7p6ca.js → EvaluationsView-CxpomFUt.js} +4 -4
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-xG0FUKDV.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-cu2lzua8.js} +4 -4
- package/dist/assets/{ExecutionsView-CcstUltt.js → ExecutionsView-Cr_GKQZv.js} +11 -11
- package/dist/assets/{FixedCollectionParameter-B0MexyJU.js → FixedCollectionParameter-7vnFpRXo.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-Bah9hI_a.js → ForgotMyPasswordView-n42XhNZS.js} +3 -3
- package/dist/assets/{InfoAccordion-BL8J1chC.js → InfoAccordion-B8s_JAdp.js} +2 -2
- package/dist/assets/{InsightsChartAverageRuntime-PuDIJUWO.js → InsightsChartAverageRuntime-DV_Ju7Zp.js} +4 -4
- package/dist/assets/{InsightsChartFailed-e8gNXvOD.js → InsightsChartFailed-n5LqWGkq.js} +4 -4
- package/dist/assets/{InsightsChartFailureRate-CTHQ0RyF.js → InsightsChartFailureRate-DV991eOY.js} +4 -4
- package/dist/assets/{InsightsChartTimeSaved-DnvNXWyi.js → InsightsChartTimeSaved-BvwxGS1S.js} +4 -4
- package/dist/assets/{InsightsChartTotal-DD_g0FlT.js → InsightsChartTotal-BOWuHwMh.js} +4 -4
- package/dist/assets/{InsightsDashboard-Dd6ng80b.js → InsightsDashboard-Bj79r2Dt.js} +10 -10
- package/dist/assets/{InsightsPaywall-CMRBFk7F.js → InsightsPaywall-BMm5-uje.js} +1 -1
- package/dist/assets/{InsightsSummary-od7C9keP.js → InsightsSummary-CpUOsQoR.js} +2 -2
- package/dist/assets/{InsightsTableWorkflows-bDP7Feik.js → InsightsTableWorkflows-BAqDod9M.js} +6 -6
- package/dist/assets/{Logo-DccSZavS.js → Logo-Bk-9Gwmg.js} +1 -1
- package/dist/assets/{LogsPanel-B-Tmod-K.css → LogsPanel-BinqqXXh.css} +14 -17
- package/dist/assets/{LogsPanel-CgRsN0f1.js → LogsPanel-BnH3S-xQ.js} +193 -141
- package/dist/assets/{MainHeader-C7eM_NQZ.css → MainHeader-fMUCh_vG.css} +16 -16
- package/dist/assets/{MainHeader-BuQIia5G.js → MainHeader-lQ8AnThi.js} +18 -21
- package/dist/assets/{MainSidebar-DmJW5X0O.js → MainSidebar-Df5Lmhlu.js} +43 -65
- package/dist/assets/{NodeCreation-BWPpAKFI.js → NodeCreation-Cx5MUGEE.js} +4 -4
- package/dist/assets/{NodeCreator-CcJ3ERxm.js → NodeCreator-DHfJ_cC7.js} +7 -7
- package/dist/assets/{NodeDetailsView-CCLWHias.js → NodeDetailsView-Bb6YAUqN.js} +14 -14
- package/dist/assets/{NodeDetailsViewV2-Bn1PbAPe.css → NodeDetailsViewV2-J_3cfdea.css} +15 -15
- package/dist/assets/{NodeDetailsViewV2-dXQZWfaF.js → NodeDetailsViewV2-uFzp-aaB.js} +25 -25
- package/dist/assets/{NodeView-DXfRa5dq.js → NodeView-kIkCm9Kt.js} +11 -11
- package/dist/assets/ProjectBreadcrumb-B1Hnf5da.css +445 -0
- package/dist/assets/ProjectBreadcrumb-CzeQoSDB.js +381 -0
- package/dist/assets/{ProjectHeader-B9EjwT8u.js → ProjectHeader-Br8yvqkf.js} +13 -13
- package/dist/assets/{ProjectSettings-DxChDPJp.js → ProjectSettings-Dc1-Sv7W.js} +6 -6
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CAcI_6zc.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-CC7YLT_t.js} +2 -2
- package/dist/assets/{ResourcesListLayout-BXykiIem.js → ResourcesListLayout-ozILtp5g.js} +3 -3
- package/dist/assets/{RunDataJson-DQ-wEydT.js → RunDataJson-CRFhfhsN.js} +3 -3
- package/dist/assets/{RunDataJsonActions-DkwJw6g0.js → RunDataJsonActions-rXu_dfcA.js} +14 -14
- package/dist/assets/{RunDataParsedAiContent-pthnU6es.js → RunDataParsedAiContent-CkUxt-9z.js} +2 -2
- package/dist/assets/{RunDataSearch-Dz5_0Sop.js → RunDataSearch-DYe-cpkq.js} +1 -1
- package/dist/assets/{RunDataTable-DlwkWBoU.js → RunDataTable-Bt4rcVnP.js} +6 -6
- package/dist/assets/{SamlOnboarding-BfiycZyp.js → SamlOnboarding-DoCTEauY.js} +3 -3
- package/dist/assets/{SettingsApiView-D6E5CVxl.js → SettingsApiView-DpQfNJql.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-CQV4UbKm.js → SettingsCommunityNodesView-D_XkgBdt.js} +5 -5
- package/dist/assets/{SettingsExternalSecrets-nYlsTral.js → SettingsExternalSecrets-LhOGgphB.js} +1 -1
- package/dist/assets/{SettingsLdapView-C35iJN3N.js → SettingsLdapView-XcnXdARP.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-DF2IVwuv.js → SettingsLogStreamingView-BONkwVIB.js} +1 -1
- package/dist/assets/{SettingsPersonalView-DvTBCV7u.js → SettingsPersonalView-2XpKuDxm.js} +2 -2
- package/dist/assets/{SettingsSourceControl-Bp7kBNsF.js → SettingsSourceControl-DXyfgX21.js} +2 -2
- package/dist/assets/{SettingsSso-D3MsGwAG.js → SettingsSso-DBPl52gz.js} +2 -2
- package/dist/assets/{SettingsUsageAndPlan-BvSyV6eq.js → SettingsUsageAndPlan-CRRW-luY.js} +2 -2
- package/dist/assets/{SettingsUsersView-BKx9xQmw.js → SettingsUsersView-3nNUeWJF.js} +3 -3
- package/dist/assets/{SettingsView-N1braOIS.js → SettingsView-D_E-tbUh.js} +1 -1
- package/dist/assets/{SetupView-DB325RA-.js → SetupView-Dawd6Tdz.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-Bv6XJXPb.js → SetupWorkflowCredentialsButton-HjpsC5yu.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-DvJ9hJNk.js → SetupWorkflowFromTemplateView-BUjd1MTh.js} +4 -4
- package/dist/assets/{SigninView-Do_ZE4PN.js → SigninView-REbhOdEi.js} +3 -3
- package/dist/assets/{SignoutView-RMWoU9ka.js → SignoutView-DNWe1_WW.js} +1 -1
- package/dist/assets/{SignupView-DaSOlcHH.js → SignupView-DvAKWSMp.js} +3 -3
- package/dist/assets/{TableBase-DEfTMdd5.js → TableBase-DpxvhaiM.js} +1 -1
- package/dist/assets/{Tag-Bpg7pWwM.js → Tag-BU_1pCk_.js} +1 -1
- package/dist/assets/{Tags-BOko1qXh.js → Tags-BVRt8Mzw.js} +2 -2
- package/dist/assets/{TemplateDetails-DKT_t-A1.js → TemplateDetails-BzUhHza5.js} +2 -2
- package/dist/assets/{TemplateList-CKb1zA2_.js → TemplateList-CsrMALsz.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-D47Zvruw.js → TemplatesCollectionView-DyEPNFhT.js} +7 -7
- package/dist/assets/{TemplatesSearchView-C1Drn--8.js → TemplatesSearchView-DDGn2iPF.js} +3 -3
- package/dist/assets/{TemplatesView-DLGApF1u.js → TemplatesView-Q-Ygp-l3.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-BU_v7Vg5.js → TemplatesWorkflowView-Ba-myyYc.js} +7 -7
- package/dist/assets/{TriggerPanel-BEWhhdtu.js → TriggerPanel-DWnvpkRN.js} +8 -8
- package/dist/assets/{VariablesView-CvBjaoev.js → VariablesView-D1C7kn8G.js} +9 -9
- package/dist/assets/{WorkerView-cFswonAF.js → WorkerView-7idQWzAy.js} +6 -6
- package/dist/assets/{WorkflowActivator-mjgVWRcp.js → WorkflowActivator-5rkOtBNg.js} +13 -389
- package/dist/assets/WorkflowActivator-jI4sUqXL.css +391 -0
- package/dist/assets/{WorkflowExecutionsInfoAccordion-CZwCkYjJ.js → WorkflowExecutionsInfoAccordion-CACMIZmQ.js} +3 -3
- package/dist/assets/{WorkflowExecutionsLandingPage-C5AsTUva.js → WorkflowExecutionsLandingPage-Bx1tyNO5.js} +3 -3
- package/dist/assets/{WorkflowExecutionsPreview-1HvxolBT.js → WorkflowExecutionsPreview-D7casZ5n.js} +4 -4
- package/dist/assets/{WorkflowExecutionsView-YiB3L6cC.js → WorkflowExecutionsView-CEt2aAxh.js} +8 -8
- package/dist/assets/{WorkflowHistory-DMhEstvs.js → WorkflowHistory-Ca1cITF8.js} +3 -3
- package/dist/assets/{WorkflowOnboardingView-Dnm-Rnp-.js → WorkflowOnboardingView-Dj5r1TEe.js} +1 -1
- package/dist/assets/{WorkflowPreview-Dy8KQCnA.js → WorkflowPreview-BM8KajvD.js} +1 -1
- package/dist/assets/{WorkflowsView-eYGsq80b.css → WorkflowsView-BuvoAeDm.css} +18 -17
- package/dist/assets/{WorkflowsView-Cv689d2r.js → WorkflowsView-CtEZYf3I.js} +24 -23
- package/dist/assets/{canvas-DBxg3FGB.js → canvas-D0IR7_I9.js} +1 -1
- package/dist/assets/{chartjs.utils-ziIypBRK.js → chartjs.utils-Cl3MP1kj.js} +2 -2
- package/dist/assets/{core-BQX74yIJ.js → core-ChTWffJl.js} +9 -8
- package/dist/assets/{dataStore.store-BPclFpMe.js → dataStore.store-TYb453Ex.js} +57 -6
- package/dist/assets/{en-CdefH_p-.js → en-BGDurvS-.js} +25 -9
- package/dist/assets/{global-link-actions-BgqtAMjH.js → global-link-actions-DVZ42e62.js} +1 -1
- package/dist/assets/{index-BFyMw9-0.css → index-C6NR226r.css} +213 -224
- package/dist/assets/{index-eiGMGof4.js → index-DuT-FIl1.js} +6093 -5539
- package/dist/assets/{index-D4wn1X5v.js → index-rj5i1dCk.js} +1 -1
- package/dist/assets/{pickBy-D-ZGPPK6.js → pickBy-Dt7YGwxv.js} +1 -1
- package/dist/assets/{polyfills-eMEFRc79.js → polyfills-BhZQ1FDI.js} +44 -0
- package/dist/assets/{readyToRunWorkflows.store-BAFBPhWS.js → readyToRunWorkflows.store-BMekdydj.js} +1 -1
- package/dist/assets/{templateActions-BI7pkM1w.js → templateActions-BJtozPHh.js} +1 -1
- package/dist/assets/{typescript.worker-ku8s_Oaf.js → typescript.worker-BcoVIdo9.js} +8 -8
- package/dist/assets/{useBeforeUnload-BjekgFaf.js → useBeforeUnload-_0Sc5GzG.js} +1 -1
- package/dist/assets/{useExecutionDebugging-B38snoEK.js → useExecutionDebugging-BE0aGBWM.js} +1 -1
- package/dist/assets/{useImportCurlCommand-Cm4bDewX.js → useImportCurlCommand-dBmf2eJ5.js} +35 -35
- package/dist/assets/{useProjectPages-ALKmwRBA.js → useProjectPages-BkXBOvhp.js} +1 -1
- package/dist/assets/{usePushConnection-CEXhOxd5.js → usePushConnection-_wOU-QzC.js} +3 -3
- package/dist/assets/{useWorkflowActivate-B8jSp35O.js → useWorkflowActivate-IL8D7V3s.js} +1 -1
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-BNLFCXfs.js +0 -4
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { _ as __unplugin_components_1 } from "./AnimatedSpinner-
|
|
3
|
-
import { _ as _sfc_main$j } from "./ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-
|
|
4
|
-
import { H as HighlightJS, V as VueMarkdown } from "./core-
|
|
5
|
-
import { c as canvasEventBus } from "./canvas-
|
|
1
|
+
import { bw as addTokenUsageData, bx as emptyTokenUsageData, by as parseErrorMetadata, bz as isChatNode, bA as NodeConnectionTypes, bB as v4, bC as get, bD as AGENT_LANGCHAIN_NODE_TYPE, bE as MANUAL_CHAT_TRIGGER_NODE_TYPE, bF as CHAT_TRIGGER_NODE_TYPE, bG as isEmpty, a as useToast, r as ref, x as computed, c as useI18n$1, bH as usePinnedData, aq as useMessage, ar as MODAL_CONFIRM, a9 as useWorkflowsStore, at as useRootStore, bI as useLogsStore, b as useRouter, bJ as useNodeHelpers, bK as useRunWorkflow, V as VIEWS, bL as chatEventBus, af as watch, bM as provide, d as defineComponent, h as createElementBlock, g as openBlock, n as normalizeClass, i as createVNode, j as createBaseVNode, l as unref, p as N8nText, w as withCtx, Q as renderSlot, k as createTextVNode, t as toDisplayString, _ as _export_sfc, aa as useRoute, aj as useSourceControlStore, bN as useCanvasOperations, ah as useNodeTypesStore, bO as START_NODE_TYPE, e as createBlock, f as createCommentVNode, a4 as Tooltip, bP as formatTokenUsageCount, bQ as getDefaultExportFromCjs, bR as requireUpperFirst, F as Fragment, aG as useTemplateRef, bS as useTimestamp, bT as toTime, bU as toDayMonth, B as withModifiers, A as renderList, U as normalizeStyle, bV as NodeIcon, a6 as I18nT, N as N8nIcon, a5 as _sfc_main$k, q as N8nButton, R as nextTick, bW as getScrollbarWidth, bX as useVirtualList, bY as toRef, K as mergeProps, O as N8nRadioButtons, bZ as inject, b_ as isRef, b$ as toRefs, o as onMounted, c0 as normalizeProps, c1 as guardReactiveProps, c2 as resolveDynamicComponent, c3 as markdownLink, c4 as useFileDialog, c5 as onUnmounted, b2 as withDirectives, c6 as vModelText, b8 as withKeys, c7 as useAttrs, c8 as useClipboard, bp as createSlots, aY as useNDVStore, c9 as PopOutWindowKey, ca as resolveDirective, cb as RunData, C as N8nLink, cc as waitingNodeTooltip, a_ as useLocalStorage, cd as LOG_DETAILS_PANEL_STATE, ce as KeyboardShortcutTooltip, cf as N8nResizeWrapper, cg as useStyles, aM as N8nActionDropdown, ch as Workflow, ci as useThrottleFn, cj as parse, ck as shallowRef, Z as useUIStore, cl as useCanvasStore, ap as useTelemetry, ax as useDocumentTitle, cm as onScopeDispose, P as onBeforeUnmount, cn as useProvideTooltipAppendTo, co as LOGS_PANEL_STATE, cp as LOCAL_STORAGE_PANEL_HEIGHT, cq as LOCAL_STORAGE_OVERVIEW_PANEL_WIDTH, cr as LOCAL_STORAGE_PANEL_WIDTH, cs as useActiveElement, ct as useKeybindings, cu as ndvEventBus } from "./index-DuT-FIl1.js";
|
|
2
|
+
import { _ as __unplugin_components_1 } from "./AnimatedSpinner-C6hUJocW.js";
|
|
3
|
+
import { _ as _sfc_main$j } from "./ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-D-Jt6Gli.js";
|
|
4
|
+
import { H as HighlightJS, V as VueMarkdown } from "./core-ChTWffJl.js";
|
|
5
|
+
import { c as canvasEventBus } from "./canvas-D0IR7_I9.js";
|
|
6
6
|
const TOOL_EXECUTOR_NODE_NAME = "PartialExecutionToolExecutor";
|
|
7
7
|
function constructChatWebsocketUrl(url, executionId, sessionId2, isPublic) {
|
|
8
8
|
const baseUrl = new URL(url).origin;
|
|
@@ -189,31 +189,6 @@ function findSelectedLogEntry(selection, entries, isExecuting) {
|
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
|
-
function deepToRaw(sourceObj) {
|
|
193
|
-
const seen = /* @__PURE__ */ new WeakMap();
|
|
194
|
-
const objectIterator = (input) => {
|
|
195
|
-
if (seen.has(input)) {
|
|
196
|
-
return input;
|
|
197
|
-
}
|
|
198
|
-
if (input !== null && typeof input === "object") {
|
|
199
|
-
seen.set(input, true);
|
|
200
|
-
}
|
|
201
|
-
if (Array.isArray(input)) {
|
|
202
|
-
return input.map((item) => objectIterator(item));
|
|
203
|
-
}
|
|
204
|
-
if (isRef(input) || isReactive(input) || isProxy(input)) {
|
|
205
|
-
return objectIterator(toRaw(input));
|
|
206
|
-
}
|
|
207
|
-
if (input !== null && typeof input === "object" && Object.getPrototypeOf(input) === Object.prototype) {
|
|
208
|
-
return Object.keys(input).reduce((acc, key) => {
|
|
209
|
-
acc[key] = objectIterator(input[key]);
|
|
210
|
-
return acc;
|
|
211
|
-
}, {});
|
|
212
|
-
}
|
|
213
|
-
return input;
|
|
214
|
-
};
|
|
215
|
-
return objectIterator(sourceObj);
|
|
216
|
-
}
|
|
217
192
|
function flattenLogEntries(entries, collapsedEntryIds, ret = []) {
|
|
218
193
|
for (const entry of entries) {
|
|
219
194
|
ret.push(entry);
|
|
@@ -796,7 +771,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
796
771
|
const locale = useI18n$1();
|
|
797
772
|
return (_ctx, _cache) => {
|
|
798
773
|
const _component_ConsumedTokensDetails = _sfc_main$j;
|
|
799
|
-
return _ctx.consumedTokens !== void 0 ? (openBlock(), createBlock(unref(
|
|
774
|
+
return _ctx.consumedTokens !== void 0 ? (openBlock(), createBlock(unref(Tooltip), {
|
|
800
775
|
key: 0,
|
|
801
776
|
enterable: false
|
|
802
777
|
}, {
|
|
@@ -1294,7 +1269,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
1294
1269
|
onClick: _cache[1] || (_cache[1] = ($event) => emit("clickHeader"))
|
|
1295
1270
|
}, {
|
|
1296
1271
|
actions: withCtx(() => [
|
|
1297
|
-
unref(isClearExecutionButtonVisible) ? (openBlock(), createBlock(unref(
|
|
1272
|
+
unref(isClearExecutionButtonVisible) ? (openBlock(), createBlock(unref(Tooltip), {
|
|
1298
1273
|
key: 0,
|
|
1299
1274
|
content: unref(locale).baseText("logs.overview.header.actions.clearExecution.tooltip")
|
|
1300
1275
|
}, {
|
|
@@ -1439,6 +1414,18 @@ function bash(hljs) {
|
|
|
1439
1414
|
end: /\)/,
|
|
1440
1415
|
contains: [hljs.BACKSLASH_ESCAPE]
|
|
1441
1416
|
};
|
|
1417
|
+
const COMMENT = hljs.inherit(
|
|
1418
|
+
hljs.COMMENT(),
|
|
1419
|
+
{
|
|
1420
|
+
match: [
|
|
1421
|
+
/(^|\s)/,
|
|
1422
|
+
/#.*$/
|
|
1423
|
+
],
|
|
1424
|
+
scope: {
|
|
1425
|
+
2: "comment"
|
|
1426
|
+
}
|
|
1427
|
+
}
|
|
1428
|
+
);
|
|
1442
1429
|
const HERE_DOC = {
|
|
1443
1430
|
begin: /<<-?\s*(?=\w+)/,
|
|
1444
1431
|
starts: { contains: [
|
|
@@ -1511,6 +1498,7 @@ function bash(hljs) {
|
|
|
1511
1498
|
"else",
|
|
1512
1499
|
"elif",
|
|
1513
1500
|
"fi",
|
|
1501
|
+
"time",
|
|
1514
1502
|
"for",
|
|
1515
1503
|
"while",
|
|
1516
1504
|
"until",
|
|
@@ -1519,6 +1507,7 @@ function bash(hljs) {
|
|
|
1519
1507
|
"done",
|
|
1520
1508
|
"case",
|
|
1521
1509
|
"esac",
|
|
1510
|
+
"coproc",
|
|
1522
1511
|
"function",
|
|
1523
1512
|
"select"
|
|
1524
1513
|
];
|
|
@@ -1565,6 +1554,7 @@ function bash(hljs) {
|
|
|
1565
1554
|
"read",
|
|
1566
1555
|
"readarray",
|
|
1567
1556
|
"source",
|
|
1557
|
+
"sudo",
|
|
1568
1558
|
"type",
|
|
1569
1559
|
"typeset",
|
|
1570
1560
|
"ulimit",
|
|
@@ -1747,7 +1737,10 @@ function bash(hljs) {
|
|
|
1747
1737
|
];
|
|
1748
1738
|
return {
|
|
1749
1739
|
name: "Bash",
|
|
1750
|
-
aliases: [
|
|
1740
|
+
aliases: [
|
|
1741
|
+
"sh",
|
|
1742
|
+
"zsh"
|
|
1743
|
+
],
|
|
1751
1744
|
keywords: {
|
|
1752
1745
|
$pattern: /\b[a-z][a-z0-9._-]+\b/,
|
|
1753
1746
|
keyword: KEYWORDS2,
|
|
@@ -1769,7 +1762,7 @@ function bash(hljs) {
|
|
|
1769
1762
|
// to catch unknown shells but still highlight the shebang
|
|
1770
1763
|
FUNCTION,
|
|
1771
1764
|
ARITHMETIC,
|
|
1772
|
-
|
|
1765
|
+
COMMENT,
|
|
1773
1766
|
HERE_DOC,
|
|
1774
1767
|
PATH_MODE,
|
|
1775
1768
|
QUOTE_STRING,
|
|
@@ -1823,7 +1816,9 @@ const KEYWORDS$1 = [
|
|
|
1823
1816
|
"import",
|
|
1824
1817
|
"from",
|
|
1825
1818
|
"export",
|
|
1826
|
-
"extends"
|
|
1819
|
+
"extends",
|
|
1820
|
+
// It's reached stage 3, which is "recommended for implementation":
|
|
1821
|
+
"using"
|
|
1827
1822
|
];
|
|
1828
1823
|
const LITERALS$1 = [
|
|
1829
1824
|
"true",
|
|
@@ -2021,7 +2016,7 @@ function javascript$1(hljs) {
|
|
|
2021
2016
|
// defined later
|
|
2022
2017
|
};
|
|
2023
2018
|
const HTML_TEMPLATE = {
|
|
2024
|
-
begin: "html`",
|
|
2019
|
+
begin: ".?html`",
|
|
2025
2020
|
end: "",
|
|
2026
2021
|
starts: {
|
|
2027
2022
|
end: "`",
|
|
@@ -2034,7 +2029,7 @@ function javascript$1(hljs) {
|
|
|
2034
2029
|
}
|
|
2035
2030
|
};
|
|
2036
2031
|
const CSS_TEMPLATE = {
|
|
2037
|
-
begin: "css`",
|
|
2032
|
+
begin: ".?css`",
|
|
2038
2033
|
end: "",
|
|
2039
2034
|
starts: {
|
|
2040
2035
|
end: "`",
|
|
@@ -2047,7 +2042,7 @@ function javascript$1(hljs) {
|
|
|
2047
2042
|
}
|
|
2048
2043
|
};
|
|
2049
2044
|
const GRAPHQL_TEMPLATE = {
|
|
2050
|
-
begin: "gql`",
|
|
2045
|
+
begin: ".?gql`",
|
|
2051
2046
|
end: "",
|
|
2052
2047
|
starts: {
|
|
2053
2048
|
end: "`",
|
|
@@ -2143,7 +2138,7 @@ function javascript$1(hljs) {
|
|
|
2143
2138
|
const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([
|
|
2144
2139
|
// eat recursive parens in sub expressions
|
|
2145
2140
|
{
|
|
2146
|
-
begin:
|
|
2141
|
+
begin: /(\s*)\(/,
|
|
2147
2142
|
end: /\)/,
|
|
2148
2143
|
keywords: KEYWORDS$1$1,
|
|
2149
2144
|
contains: ["self"].concat(SUBST_AND_COMMENTS)
|
|
@@ -2151,7 +2146,9 @@ function javascript$1(hljs) {
|
|
|
2151
2146
|
]);
|
|
2152
2147
|
const PARAMS = {
|
|
2153
2148
|
className: "params",
|
|
2154
|
-
|
|
2149
|
+
// convert this to negative lookbehind in v12
|
|
2150
|
+
begin: /(\s*)\(/,
|
|
2151
|
+
// to match the parms with
|
|
2155
2152
|
end: /\)/,
|
|
2156
2153
|
excludeBegin: true,
|
|
2157
2154
|
excludeEnd: true,
|
|
@@ -2264,9 +2261,9 @@ function javascript$1(hljs) {
|
|
|
2264
2261
|
...BUILT_IN_GLOBALS$1,
|
|
2265
2262
|
"super",
|
|
2266
2263
|
"import"
|
|
2267
|
-
]),
|
|
2264
|
+
].map((x) => `${x}\\s*\\(`)),
|
|
2268
2265
|
IDENT_RE$1$1,
|
|
2269
|
-
regex.lookahead(/\(/)
|
|
2266
|
+
regex.lookahead(/\s*\(/)
|
|
2270
2267
|
),
|
|
2271
2268
|
className: "title.function",
|
|
2272
2269
|
relevance: 0
|
|
@@ -2347,8 +2344,8 @@ function javascript$1(hljs) {
|
|
|
2347
2344
|
NUMBER,
|
|
2348
2345
|
CLASS_REFERENCE,
|
|
2349
2346
|
{
|
|
2350
|
-
|
|
2351
|
-
|
|
2347
|
+
scope: "attr",
|
|
2348
|
+
match: IDENT_RE$1$1 + regex.lookahead(":"),
|
|
2352
2349
|
relevance: 0
|
|
2353
2350
|
},
|
|
2354
2351
|
FUNCTION_VARIABLE,
|
|
@@ -2382,7 +2379,7 @@ function javascript$1(hljs) {
|
|
|
2382
2379
|
skip: true
|
|
2383
2380
|
},
|
|
2384
2381
|
{
|
|
2385
|
-
begin:
|
|
2382
|
+
begin: /(\s*)\(/,
|
|
2386
2383
|
end: /\)/,
|
|
2387
2384
|
excludeBegin: true,
|
|
2388
2385
|
excludeEnd: true,
|
|
@@ -2823,7 +2820,8 @@ function python(hljs) {
|
|
|
2823
2820
|
NUMBER,
|
|
2824
2821
|
{
|
|
2825
2822
|
// very common convention
|
|
2826
|
-
|
|
2823
|
+
scope: "variable.language",
|
|
2824
|
+
match: /\bself\b/
|
|
2827
2825
|
},
|
|
2828
2826
|
{
|
|
2829
2827
|
// eat "if" prior to string so that it won't accidentally be
|
|
@@ -2831,6 +2829,7 @@ function python(hljs) {
|
|
|
2831
2829
|
beginKeywords: "if",
|
|
2832
2830
|
relevance: 0
|
|
2833
2831
|
},
|
|
2832
|
+
{ match: /\bor\b/, scope: "keyword" },
|
|
2834
2833
|
STRING,
|
|
2835
2834
|
COMMENT_TYPE,
|
|
2836
2835
|
hljs.HASH_COMMENT_MODE,
|
|
@@ -2929,7 +2928,9 @@ const KEYWORDS = [
|
|
|
2929
2928
|
"import",
|
|
2930
2929
|
"from",
|
|
2931
2930
|
"export",
|
|
2932
|
-
"extends"
|
|
2931
|
+
"extends",
|
|
2932
|
+
// It's reached stage 3, which is "recommended for implementation":
|
|
2933
|
+
"using"
|
|
2933
2934
|
];
|
|
2934
2935
|
const LITERALS = [
|
|
2935
2936
|
"true",
|
|
@@ -3127,7 +3128,7 @@ function javascript(hljs) {
|
|
|
3127
3128
|
// defined later
|
|
3128
3129
|
};
|
|
3129
3130
|
const HTML_TEMPLATE = {
|
|
3130
|
-
begin: "html`",
|
|
3131
|
+
begin: ".?html`",
|
|
3131
3132
|
end: "",
|
|
3132
3133
|
starts: {
|
|
3133
3134
|
end: "`",
|
|
@@ -3140,7 +3141,7 @@ function javascript(hljs) {
|
|
|
3140
3141
|
}
|
|
3141
3142
|
};
|
|
3142
3143
|
const CSS_TEMPLATE = {
|
|
3143
|
-
begin: "css`",
|
|
3144
|
+
begin: ".?css`",
|
|
3144
3145
|
end: "",
|
|
3145
3146
|
starts: {
|
|
3146
3147
|
end: "`",
|
|
@@ -3153,7 +3154,7 @@ function javascript(hljs) {
|
|
|
3153
3154
|
}
|
|
3154
3155
|
};
|
|
3155
3156
|
const GRAPHQL_TEMPLATE = {
|
|
3156
|
-
begin: "gql`",
|
|
3157
|
+
begin: ".?gql`",
|
|
3157
3158
|
end: "",
|
|
3158
3159
|
starts: {
|
|
3159
3160
|
end: "`",
|
|
@@ -3249,7 +3250,7 @@ function javascript(hljs) {
|
|
|
3249
3250
|
const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([
|
|
3250
3251
|
// eat recursive parens in sub expressions
|
|
3251
3252
|
{
|
|
3252
|
-
begin:
|
|
3253
|
+
begin: /(\s*)\(/,
|
|
3253
3254
|
end: /\)/,
|
|
3254
3255
|
keywords: KEYWORDS$12,
|
|
3255
3256
|
contains: ["self"].concat(SUBST_AND_COMMENTS)
|
|
@@ -3257,7 +3258,9 @@ function javascript(hljs) {
|
|
|
3257
3258
|
]);
|
|
3258
3259
|
const PARAMS = {
|
|
3259
3260
|
className: "params",
|
|
3260
|
-
|
|
3261
|
+
// convert this to negative lookbehind in v12
|
|
3262
|
+
begin: /(\s*)\(/,
|
|
3263
|
+
// to match the parms with
|
|
3261
3264
|
end: /\)/,
|
|
3262
3265
|
excludeBegin: true,
|
|
3263
3266
|
excludeEnd: true,
|
|
@@ -3370,9 +3373,9 @@ function javascript(hljs) {
|
|
|
3370
3373
|
...BUILT_IN_GLOBALS,
|
|
3371
3374
|
"super",
|
|
3372
3375
|
"import"
|
|
3373
|
-
]),
|
|
3376
|
+
].map((x) => `${x}\\s*\\(`)),
|
|
3374
3377
|
IDENT_RE$12,
|
|
3375
|
-
regex.lookahead(/\(/)
|
|
3378
|
+
regex.lookahead(/\s*\(/)
|
|
3376
3379
|
),
|
|
3377
3380
|
className: "title.function",
|
|
3378
3381
|
relevance: 0
|
|
@@ -3453,8 +3456,8 @@ function javascript(hljs) {
|
|
|
3453
3456
|
NUMBER,
|
|
3454
3457
|
CLASS_REFERENCE,
|
|
3455
3458
|
{
|
|
3456
|
-
|
|
3457
|
-
|
|
3459
|
+
scope: "attr",
|
|
3460
|
+
match: IDENT_RE$12 + regex.lookahead(":"),
|
|
3458
3461
|
relevance: 0
|
|
3459
3462
|
},
|
|
3460
3463
|
FUNCTION_VARIABLE,
|
|
@@ -3488,7 +3491,7 @@ function javascript(hljs) {
|
|
|
3488
3491
|
skip: true
|
|
3489
3492
|
},
|
|
3490
3493
|
{
|
|
3491
|
-
begin:
|
|
3494
|
+
begin: /(\s*)\(/,
|
|
3492
3495
|
end: /\)/,
|
|
3493
3496
|
excludeBegin: true,
|
|
3494
3497
|
excludeEnd: true,
|
|
@@ -3582,6 +3585,7 @@ function javascript(hljs) {
|
|
|
3582
3585
|
};
|
|
3583
3586
|
}
|
|
3584
3587
|
function typescript(hljs) {
|
|
3588
|
+
const regex = hljs.regex;
|
|
3585
3589
|
const tsLanguage = javascript(hljs);
|
|
3586
3590
|
const IDENT_RE$12 = IDENT_RE;
|
|
3587
3591
|
const TYPES2 = [
|
|
@@ -3597,10 +3601,15 @@ function typescript(hljs) {
|
|
|
3597
3601
|
"unknown"
|
|
3598
3602
|
];
|
|
3599
3603
|
const NAMESPACE = {
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
+
begin: [
|
|
3605
|
+
/namespace/,
|
|
3606
|
+
/\s+/,
|
|
3607
|
+
hljs.IDENT_RE
|
|
3608
|
+
],
|
|
3609
|
+
beginScope: {
|
|
3610
|
+
1: "keyword",
|
|
3611
|
+
3: "title.class"
|
|
3612
|
+
}
|
|
3604
3613
|
};
|
|
3605
3614
|
const INTERFACE = {
|
|
3606
3615
|
beginKeywords: "interface",
|
|
@@ -3619,7 +3628,7 @@ function typescript(hljs) {
|
|
|
3619
3628
|
};
|
|
3620
3629
|
const TS_SPECIFIC_KEYWORDS = [
|
|
3621
3630
|
"type",
|
|
3622
|
-
"namespace",
|
|
3631
|
+
// "namespace",
|
|
3623
3632
|
"interface",
|
|
3624
3633
|
"public",
|
|
3625
3634
|
"private",
|
|
@@ -3629,7 +3638,8 @@ function typescript(hljs) {
|
|
|
3629
3638
|
"abstract",
|
|
3630
3639
|
"readonly",
|
|
3631
3640
|
"enum",
|
|
3632
|
-
"override"
|
|
3641
|
+
"override",
|
|
3642
|
+
"satisfies"
|
|
3633
3643
|
];
|
|
3634
3644
|
const KEYWORDS$12 = {
|
|
3635
3645
|
$pattern: IDENT_RE,
|
|
@@ -3651,10 +3661,26 @@ function typescript(hljs) {
|
|
|
3651
3661
|
};
|
|
3652
3662
|
Object.assign(tsLanguage.keywords, KEYWORDS$12);
|
|
3653
3663
|
tsLanguage.exports.PARAMS_CONTAINS.push(DECORATOR);
|
|
3664
|
+
const ATTRIBUTE_HIGHLIGHT = tsLanguage.contains.find((c) => c.scope === "attr");
|
|
3665
|
+
const OPTIONAL_KEY_OR_ARGUMENT = Object.assign(
|
|
3666
|
+
{},
|
|
3667
|
+
ATTRIBUTE_HIGHLIGHT,
|
|
3668
|
+
{ match: regex.concat(IDENT_RE$12, regex.lookahead(/\s*\?:/)) }
|
|
3669
|
+
);
|
|
3670
|
+
tsLanguage.exports.PARAMS_CONTAINS.push([
|
|
3671
|
+
tsLanguage.exports.CLASS_REFERENCE,
|
|
3672
|
+
// class reference for highlighting the params types
|
|
3673
|
+
ATTRIBUTE_HIGHLIGHT,
|
|
3674
|
+
// highlight the params key
|
|
3675
|
+
OPTIONAL_KEY_OR_ARGUMENT
|
|
3676
|
+
// Added for optional property assignment highlighting
|
|
3677
|
+
]);
|
|
3654
3678
|
tsLanguage.contains = tsLanguage.contains.concat([
|
|
3655
3679
|
DECORATOR,
|
|
3656
3680
|
NAMESPACE,
|
|
3657
|
-
INTERFACE
|
|
3681
|
+
INTERFACE,
|
|
3682
|
+
OPTIONAL_KEY_OR_ARGUMENT
|
|
3683
|
+
// Added for optional property assignment highlighting
|
|
3658
3684
|
]);
|
|
3659
3685
|
swapMode(tsLanguage, "shebang", hljs.SHEBANG());
|
|
3660
3686
|
swapMode(tsLanguage, "use_strict", USE_STRICT);
|
|
@@ -4639,7 +4665,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
4639
4665
|
setup(__props) {
|
|
4640
4666
|
return (_ctx, _cache) => {
|
|
4641
4667
|
const _component_n8n_icon = N8nIcon;
|
|
4642
|
-
const _component_n8n_tooltip =
|
|
4668
|
+
const _component_n8n_tooltip = Tooltip;
|
|
4643
4669
|
return openBlock(), createElementBlock("div", {
|
|
4644
4670
|
class: normalizeClass(_ctx.$style.container)
|
|
4645
4671
|
}, [
|
|
@@ -4687,7 +4713,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
4687
4713
|
};
|
|
4688
4714
|
return (_ctx, _cache) => {
|
|
4689
4715
|
const _component_n8n_icon = N8nIcon;
|
|
4690
|
-
const _component_n8n_tooltip =
|
|
4716
|
+
const _component_n8n_tooltip = Tooltip;
|
|
4691
4717
|
return openBlock(), createElementBlock("div", {
|
|
4692
4718
|
class: normalizeClass(_ctx.$style.container)
|
|
4693
4719
|
}, [
|
|
@@ -4812,7 +4838,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4812
4838
|
onClick: _cache[0] || (_cache[0] = ($event) => emit("clickHeader"))
|
|
4813
4839
|
}, {
|
|
4814
4840
|
actions: withCtx(() => [
|
|
4815
|
-
unref(clipboard).isSupported && !_ctx.isReadOnly ? (openBlock(), createBlock(unref(
|
|
4841
|
+
unref(clipboard).isSupported && !_ctx.isReadOnly ? (openBlock(), createBlock(unref(Tooltip), { key: 0 }, {
|
|
4816
4842
|
content: withCtx(() => [
|
|
4817
4843
|
createTextVNode(toDisplayString(_ctx.sessionId) + " ", 1),
|
|
4818
4844
|
_cache[3] || (_cache[3] = createBaseVNode("br", null, null, -1)),
|
|
@@ -4834,7 +4860,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4834
4860
|
]),
|
|
4835
4861
|
_: 1
|
|
4836
4862
|
})) : createCommentVNode("", true),
|
|
4837
|
-
_ctx.messages.length > 0 && !_ctx.isReadOnly ? (openBlock(), createBlock(unref(
|
|
4863
|
+
_ctx.messages.length > 0 && !_ctx.isReadOnly ? (openBlock(), createBlock(unref(Tooltip), {
|
|
4838
4864
|
key: 1,
|
|
4839
4865
|
content: unref(locale).baseText("chat.window.session.resetSession")
|
|
4840
4866
|
}, {
|
|
@@ -4985,7 +5011,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
4985
5011
|
const emit = __emit;
|
|
4986
5012
|
const locale = useI18n$1();
|
|
4987
5013
|
const ndvStore = useNDVStore();
|
|
4988
|
-
const
|
|
5014
|
+
const popOutWindow = inject(PopOutWindowKey, ref());
|
|
4989
5015
|
const displayMode = ref(__props.paneType === "input" ? "schema" : "table");
|
|
4990
5016
|
const isMultipleInput = computed(
|
|
4991
5017
|
() => __props.paneType === "input" && (__props.logEntry.runData?.source.length ?? 0) > 1
|
|
@@ -5021,7 +5047,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
5021
5047
|
return (_ctx, _cache) => {
|
|
5022
5048
|
const _directive_n8n_html = resolveDirective("n8n-html");
|
|
5023
5049
|
return runDataProps.value ? (openBlock(), createBlock(RunData, mergeProps({ key: 0 }, runDataProps.value, {
|
|
5024
|
-
key: `run-data${unref(
|
|
5050
|
+
key: `run-data${unref(popOutWindow) ? "-pop-out" : ""}`,
|
|
5025
5051
|
class: _ctx.$style.component,
|
|
5026
5052
|
"workflow-object": _ctx.logEntry.workflow,
|
|
5027
5053
|
"workflow-execution": _ctx.logEntry.execution,
|
|
@@ -5468,7 +5494,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
5468
5494
|
}
|
|
5469
5495
|
}
|
|
5470
5496
|
return (_ctx, _cache) => {
|
|
5471
|
-
const _component_N8nTooltip =
|
|
5497
|
+
const _component_N8nTooltip = Tooltip;
|
|
5472
5498
|
return openBlock(), createElementBlock("div", {
|
|
5473
5499
|
class: normalizeClass(_ctx.$style.container)
|
|
5474
5500
|
}, [
|
|
@@ -5610,11 +5636,9 @@ function useLogsExecutionData() {
|
|
|
5610
5636
|
],
|
|
5611
5637
|
useThrottleFn(
|
|
5612
5638
|
([executionId], [previousExecutionId]) => {
|
|
5613
|
-
execData.value = workflowsStore.workflowExecutionData === null ? void 0 :
|
|
5614
|
-
|
|
5615
|
-
|
|
5616
|
-
workflowsStore.workflowExecutionData
|
|
5617
|
-
)
|
|
5639
|
+
execData.value = workflowsStore.workflowExecutionData === null ? void 0 : mergeStartData(
|
|
5640
|
+
workflowsStore.workflowExecutionStartedData?.[1] ?? {},
|
|
5641
|
+
workflowsStore.workflowExecutionData
|
|
5618
5642
|
);
|
|
5619
5643
|
if (executionId !== previousExecutionId) {
|
|
5620
5644
|
subWorkflowExecData.value = {};
|
|
@@ -5764,7 +5788,17 @@ function syncStyleMutations(destination, mutations) {
|
|
|
5764
5788
|
}
|
|
5765
5789
|
}
|
|
5766
5790
|
}
|
|
5767
|
-
function
|
|
5791
|
+
function copyFavicon(source, target) {
|
|
5792
|
+
const iconUrl = source.document.querySelector("link[rel=icon]")?.getAttribute("href");
|
|
5793
|
+
if (iconUrl) {
|
|
5794
|
+
const link = target.document.createElement("link");
|
|
5795
|
+
link.setAttribute("rel", "icon");
|
|
5796
|
+
link.setAttribute("href", iconUrl);
|
|
5797
|
+
target.document.head.appendChild(link);
|
|
5798
|
+
}
|
|
5799
|
+
}
|
|
5800
|
+
function usePopOutWindow({
|
|
5801
|
+
title: title2,
|
|
5768
5802
|
container: container2,
|
|
5769
5803
|
content: content2,
|
|
5770
5804
|
initialHeight,
|
|
@@ -5772,66 +5806,70 @@ function usePiPWindow({
|
|
|
5772
5806
|
shouldPopOut,
|
|
5773
5807
|
onRequestClose
|
|
5774
5808
|
}) {
|
|
5775
|
-
const
|
|
5809
|
+
const popOutWindow = ref();
|
|
5776
5810
|
const isUnmounting = ref(false);
|
|
5777
5811
|
const canPopOut = computed(
|
|
5778
|
-
() =>
|
|
5812
|
+
() => window.parent === window
|
|
5813
|
+
/* Not in iframe */
|
|
5779
5814
|
);
|
|
5780
|
-
const isPoppedOut = computed(() => !!
|
|
5815
|
+
const isPoppedOut = computed(() => !!popOutWindow.value);
|
|
5781
5816
|
const tooltipContainer = computed(
|
|
5782
5817
|
() => isPoppedOut.value ? content2.value ?? void 0 : void 0
|
|
5783
5818
|
);
|
|
5784
|
-
const uiStore = useUIStore();
|
|
5785
5819
|
const observer = new MutationObserver((mutations) => {
|
|
5786
|
-
if (
|
|
5787
|
-
syncStyleMutations(
|
|
5820
|
+
if (popOutWindow.value) {
|
|
5821
|
+
syncStyleMutations(popOutWindow.value, mutations);
|
|
5788
5822
|
}
|
|
5789
5823
|
});
|
|
5824
|
+
const documentTitle = useDocumentTitle(popOutWindow);
|
|
5790
5825
|
observer.observe(document.head, { childList: true, subtree: true });
|
|
5791
|
-
provide(
|
|
5826
|
+
provide(PopOutWindowKey, popOutWindow);
|
|
5792
5827
|
useProvideTooltipAppendTo(tooltipContainer);
|
|
5793
|
-
async function
|
|
5828
|
+
async function showPopOut() {
|
|
5794
5829
|
if (!content2.value) {
|
|
5795
5830
|
return;
|
|
5796
5831
|
}
|
|
5797
|
-
|
|
5798
|
-
width
|
|
5799
|
-
|
|
5800
|
-
|
|
5801
|
-
|
|
5802
|
-
|
|
5832
|
+
if (!popOutWindow.value) {
|
|
5833
|
+
const options = `popup=yes,width=${initialWidth},height=${initialHeight},left=100,top=100,toolbar=no,menubar=no,scrollbars=yes,resizable=yes`;
|
|
5834
|
+
popOutWindow.value = window.open("", "_blank", options) ?? void 0;
|
|
5835
|
+
}
|
|
5836
|
+
if (!popOutWindow.value) {
|
|
5837
|
+
return;
|
|
5838
|
+
}
|
|
5839
|
+
copyFavicon(window, popOutWindow.value);
|
|
5840
|
+
for (const styleSheet of [...document.styleSheets]) {
|
|
5803
5841
|
try {
|
|
5804
5842
|
const cssRules = [...styleSheet.cssRules].map((rule) => rule.cssText).join("");
|
|
5805
5843
|
const style = document.createElement("style");
|
|
5806
5844
|
style.textContent = cssRules;
|
|
5807
|
-
|
|
5845
|
+
popOutWindow.value.document.head.appendChild(style);
|
|
5808
5846
|
} catch (e) {
|
|
5809
5847
|
const link = document.createElement("link");
|
|
5810
5848
|
link.rel = "stylesheet";
|
|
5811
5849
|
link.type = styleSheet.type;
|
|
5812
5850
|
link.media = styleSheet.media;
|
|
5813
5851
|
link.href = styleSheet.href;
|
|
5814
|
-
|
|
5852
|
+
popOutWindow.value.document.head.appendChild(link);
|
|
5815
5853
|
}
|
|
5816
|
-
}
|
|
5817
|
-
|
|
5818
|
-
|
|
5854
|
+
}
|
|
5855
|
+
popOutWindow.value.document.body.append(content2.value);
|
|
5856
|
+
popOutWindow.value.addEventListener("pagehide", () => !isUnmounting.value && onRequestClose());
|
|
5819
5857
|
}
|
|
5820
|
-
function
|
|
5821
|
-
|
|
5822
|
-
|
|
5858
|
+
function hidePopOut() {
|
|
5859
|
+
popOutWindow.value?.close();
|
|
5860
|
+
popOutWindow.value = void 0;
|
|
5823
5861
|
if (content2.value) {
|
|
5824
5862
|
container2.value?.appendChild(content2.value);
|
|
5825
5863
|
}
|
|
5826
5864
|
}
|
|
5827
|
-
watch(shouldPopOut, (value) => value ? requestAnimationFrame(
|
|
5865
|
+
watch(shouldPopOut, (value) => value ? requestAnimationFrame(showPopOut) : hidePopOut(), {
|
|
5828
5866
|
immediate: true
|
|
5829
5867
|
});
|
|
5830
5868
|
watch(
|
|
5831
|
-
[
|
|
5832
|
-
([
|
|
5833
|
-
if (
|
|
5834
|
-
|
|
5869
|
+
[title2, popOutWindow],
|
|
5870
|
+
([newTitle, win]) => {
|
|
5871
|
+
if (win) {
|
|
5872
|
+
documentTitle.set(newTitle);
|
|
5835
5873
|
}
|
|
5836
5874
|
},
|
|
5837
5875
|
{ immediate: true }
|
|
@@ -5841,11 +5879,14 @@ function usePiPWindow({
|
|
|
5841
5879
|
});
|
|
5842
5880
|
onBeforeUnmount(() => {
|
|
5843
5881
|
isUnmounting.value = true;
|
|
5844
|
-
|
|
5882
|
+
if (popOutWindow.value) {
|
|
5883
|
+
popOutWindow.value.close();
|
|
5884
|
+
onRequestClose();
|
|
5885
|
+
}
|
|
5845
5886
|
});
|
|
5846
|
-
return { canPopOut, isPoppedOut,
|
|
5887
|
+
return { canPopOut, isPoppedOut, popOutWindow };
|
|
5847
5888
|
}
|
|
5848
|
-
function useLogsPanelLayout(
|
|
5889
|
+
function useLogsPanelLayout(workflowName, popOutContainer, popOutContent2, container2, logsContainer2) {
|
|
5849
5890
|
const logsStore = useLogsStore();
|
|
5850
5891
|
const telemetry = useTelemetry();
|
|
5851
5892
|
const resizer = useResizablePanel(LOCAL_STORAGE_PANEL_HEIGHT, {
|
|
@@ -5874,12 +5915,19 @@ function useLogsPanelLayout(pipContainer, pipContent2, container2, logsContainer
|
|
|
5874
5915
|
() => logsStore.isOpen ? !resizer.isCollapsed.value : resizer.isResizing.value && resizer.size.value > 0
|
|
5875
5916
|
);
|
|
5876
5917
|
const isCollapsingDetailsPanel = computed(() => overviewPanelResizer.isFullSize.value);
|
|
5877
|
-
const
|
|
5918
|
+
const popOutWindowTitle = computed(() => `Logs - ${workflowName.value}`);
|
|
5919
|
+
const shouldPopOut = computed(() => logsStore.state === LOGS_PANEL_STATE.FLOATING);
|
|
5920
|
+
const {
|
|
5921
|
+
canPopOut,
|
|
5922
|
+
isPoppedOut,
|
|
5923
|
+
popOutWindow
|
|
5924
|
+
} = usePopOutWindow({
|
|
5925
|
+
title: popOutWindowTitle,
|
|
5878
5926
|
initialHeight: 400,
|
|
5879
5927
|
initialWidth: window.document.body.offsetWidth * 0.8,
|
|
5880
|
-
container:
|
|
5881
|
-
content:
|
|
5882
|
-
shouldPopOut
|
|
5928
|
+
container: popOutContainer,
|
|
5929
|
+
content: popOutContent2,
|
|
5930
|
+
shouldPopOut,
|
|
5883
5931
|
onRequestClose: () => {
|
|
5884
5932
|
if (!isOpen.value) {
|
|
5885
5933
|
return;
|
|
@@ -5930,7 +5978,7 @@ function useLogsPanelLayout(pipContainer, pipContent2, container2, logsContainer
|
|
|
5930
5978
|
isCollapsingDetailsPanel,
|
|
5931
5979
|
isPoppedOut,
|
|
5932
5980
|
isOverviewPanelFullWidth: overviewPanelResizer.isFullSize,
|
|
5933
|
-
|
|
5981
|
+
popOutWindow,
|
|
5934
5982
|
onToggleOpen: handleToggleOpen,
|
|
5935
5983
|
onPopOut: handlePopOut,
|
|
5936
5984
|
onResize: resizer.onResize,
|
|
@@ -5948,11 +5996,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
5948
5996
|
container: {}
|
|
5949
5997
|
},
|
|
5950
5998
|
setup(__props) {
|
|
5951
|
-
const
|
|
5952
|
-
const activeElement = useActiveElement({ window:
|
|
5999
|
+
const popOutWindow = inject(PopOutWindowKey, ref());
|
|
6000
|
+
const activeElement = useActiveElement({ window: popOutWindow?.value });
|
|
5953
6001
|
const isBlurred = computed(() => {
|
|
5954
|
-
if (
|
|
5955
|
-
return
|
|
6002
|
+
if (popOutWindow?.value) {
|
|
6003
|
+
return popOutWindow.value.document.activeElement === null;
|
|
5956
6004
|
}
|
|
5957
6005
|
return !activeElement.value || !__props.container || !__props.container.contains(activeElement.value) && __props.container !== activeElement.value;
|
|
5958
6006
|
});
|
|
@@ -5974,10 +6022,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
5974
6022
|
const props = __props;
|
|
5975
6023
|
const container2 = useTemplateRef("container");
|
|
5976
6024
|
const logsContainer2 = useTemplateRef("logsContainer");
|
|
5977
|
-
const
|
|
5978
|
-
const
|
|
6025
|
+
const popOutContainer = useTemplateRef("popOutContainer");
|
|
6026
|
+
const popOutContent2 = useTemplateRef("popOutContent");
|
|
5979
6027
|
const logsStore = useLogsStore();
|
|
5980
6028
|
const ndvStore = useNDVStore();
|
|
6029
|
+
const workflowsStore = useWorkflowsStore();
|
|
6030
|
+
const workflowName = computed(() => workflowsStore.workflow.name);
|
|
5981
6031
|
const {
|
|
5982
6032
|
height,
|
|
5983
6033
|
chatPanelWidth,
|
|
@@ -5987,7 +6037,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
5987
6037
|
isPoppedOut,
|
|
5988
6038
|
isCollapsingDetailsPanel,
|
|
5989
6039
|
isOverviewPanelFullWidth,
|
|
5990
|
-
|
|
6040
|
+
popOutWindow,
|
|
5991
6041
|
onResize,
|
|
5992
6042
|
onResizeEnd,
|
|
5993
6043
|
onToggleOpen,
|
|
@@ -5996,7 +6046,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
5996
6046
|
onChatPanelResizeEnd,
|
|
5997
6047
|
onOverviewPanelResize,
|
|
5998
6048
|
onOverviewPanelResizeEnd
|
|
5999
|
-
} = useLogsPanelLayout(
|
|
6049
|
+
} = useLogsPanelLayout(workflowName, popOutContainer, popOutContent2, container2, logsContainer2);
|
|
6000
6050
|
const {
|
|
6001
6051
|
currentSessionId,
|
|
6002
6052
|
messages: messages2,
|
|
@@ -6067,25 +6117,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6067
6117
|
}
|
|
6068
6118
|
return (_ctx, _cache) => {
|
|
6069
6119
|
return openBlock(), createElementBlock("div", {
|
|
6070
|
-
ref_key: "
|
|
6071
|
-
ref:
|
|
6120
|
+
ref_key: "popOutContainer",
|
|
6121
|
+
ref: popOutContainer
|
|
6072
6122
|
}, [
|
|
6073
6123
|
(openBlock(), createBlock(_sfc_main$1, {
|
|
6074
|
-
key: String(!!unref(
|
|
6124
|
+
key: String(!!unref(popOutWindow)),
|
|
6075
6125
|
"key-map": keyMap.value,
|
|
6076
6126
|
container: unref(container2)
|
|
6077
6127
|
}, null, 8, ["key-map", "container"])),
|
|
6078
6128
|
createBaseVNode("div", {
|
|
6079
|
-
ref_key: "
|
|
6080
|
-
ref:
|
|
6081
|
-
class: normalizeClass(_ctx.$style.
|
|
6129
|
+
ref_key: "popOutContent",
|
|
6130
|
+
ref: popOutContent2,
|
|
6131
|
+
class: normalizeClass([_ctx.$style.popOutContent, unref(isPoppedOut) ? _ctx.$style.poppedOut : ""])
|
|
6082
6132
|
}, [
|
|
6083
6133
|
createVNode(unref(N8nResizeWrapper), {
|
|
6084
|
-
height: unref(height),
|
|
6134
|
+
height: unref(isPoppedOut) ? void 0 : unref(height),
|
|
6085
6135
|
"supported-directions": ["top"],
|
|
6086
6136
|
"is-resizing-enabled": !unref(isPoppedOut),
|
|
6087
6137
|
class: normalizeClass(_ctx.$style.resizeWrapper),
|
|
6088
|
-
style: normalizeStyle({ height: unref(isOpen) ? `${unref(height)}px` : "auto" }),
|
|
6138
|
+
style: normalizeStyle({ height: unref(isOpen) && !unref(isPoppedOut) ? `${unref(height)}px` : "auto" }),
|
|
6089
6139
|
onResize: unref(onResize),
|
|
6090
6140
|
onResizeend: unref(onResizeEnd)
|
|
6091
6141
|
}, {
|
|
@@ -6103,13 +6153,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6103
6153
|
width: unref(chatPanelWidth),
|
|
6104
6154
|
style: normalizeStyle({ width: `${unref(chatPanelWidth)}px` }),
|
|
6105
6155
|
class: normalizeClass(_ctx.$style.chat),
|
|
6106
|
-
window: unref(
|
|
6156
|
+
window: unref(popOutWindow),
|
|
6107
6157
|
onResize: unref(onChatPanelResize),
|
|
6108
6158
|
onResizeend: unref(onChatPanelResizeEnd)
|
|
6109
6159
|
}, {
|
|
6110
6160
|
default: withCtx(() => [
|
|
6111
6161
|
(openBlock(), createBlock(ChatMessagesPanel, {
|
|
6112
|
-
key: `canvas-chat-${unref(currentSessionId)}${unref(isPoppedOut) ? "-
|
|
6162
|
+
key: `canvas-chat-${unref(currentSessionId)}${unref(isPoppedOut) ? "-pop-out" : ""}`,
|
|
6113
6163
|
"data-test-id": "canvas-chat",
|
|
6114
6164
|
"is-open": unref(isOpen),
|
|
6115
6165
|
"is-read-only": _ctx.isReadOnly,
|
|
@@ -6138,7 +6188,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6138
6188
|
style: normalizeStyle({ width: isLogDetailsVisuallyOpen.value ? `${unref(overviewPanelWidth)}px` : "" }),
|
|
6139
6189
|
"supported-directions": ["right"],
|
|
6140
6190
|
"is-resizing-enabled": isLogDetailsOpen.value,
|
|
6141
|
-
window: unref(
|
|
6191
|
+
window: unref(popOutWindow),
|
|
6142
6192
|
onResize: unref(onOverviewPanelResize),
|
|
6143
6193
|
onResizeend: handleResizeOverviewPanelEnd
|
|
6144
6194
|
}, {
|
|
@@ -6172,7 +6222,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6172
6222
|
class: normalizeClass(_ctx.$style.logDetails),
|
|
6173
6223
|
"is-open": unref(isOpen),
|
|
6174
6224
|
"log-entry": unref(selected2),
|
|
6175
|
-
window: unref(
|
|
6225
|
+
window: unref(popOutWindow),
|
|
6176
6226
|
"latest-info": unref(latestNodeNameById)[unref(selected2).node.id],
|
|
6177
6227
|
panels: unref(logsStore).detailsState,
|
|
6178
6228
|
"collapsing-input-table-column-name": inputCollapsingColumnName.value,
|
|
@@ -6198,17 +6248,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6198
6248
|
};
|
|
6199
6249
|
}
|
|
6200
6250
|
});
|
|
6201
|
-
const
|
|
6202
|
-
const
|
|
6203
|
-
const
|
|
6204
|
-
const
|
|
6205
|
-
const
|
|
6206
|
-
const
|
|
6207
|
-
const
|
|
6208
|
-
const
|
|
6251
|
+
const popOutContent = "_popOutContent_1xguj_123";
|
|
6252
|
+
const resizeWrapper = "_resizeWrapper_1xguj_129";
|
|
6253
|
+
const poppedOut = "_poppedOut_1xguj_136";
|
|
6254
|
+
const container = "_container_1xguj_140";
|
|
6255
|
+
const chat = "_chat_1xguj_149";
|
|
6256
|
+
const logsContainer = "_logsContainer_1xguj_153";
|
|
6257
|
+
const overviewResizer = "_overviewResizer_1xguj_163";
|
|
6258
|
+
const logsOverview = "_logsOverview_1xguj_171";
|
|
6259
|
+
const logsDetails = "_logsDetails_1xguj_175";
|
|
6209
6260
|
const style0 = {
|
|
6261
|
+
popOutContent,
|
|
6210
6262
|
resizeWrapper,
|
|
6211
|
-
|
|
6263
|
+
poppedOut,
|
|
6212
6264
|
container,
|
|
6213
6265
|
chat,
|
|
6214
6266
|
logsContainer,
|