n8n-editor-ui 1.92.0 → 1.94.0
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/{AnimatedSpinner-CtKKeDrz.js → AnimatedSpinner-CY5xYI5m.js} +1 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DR6h_xsK.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BOrzkwPH.js} +1 -1
- package/dist/assets/{AuthView-mKkzBRxh.js → AuthView-BTzGYAnY.js} +2 -2
- package/dist/assets/{CanvasChatSwitch-Bu2VD2kp.js → CanvasChatSwitch-CwpjFCL0.js} +17 -18
- package/dist/assets/{ChangePasswordView-D5UI1v-J.js → ChangePasswordView-BKR2UFVI.js} +3 -3
- package/dist/assets/CollectionParameter-BJtiV9En.js +4 -0
- package/dist/assets/{CredentialsView-B78eNJO5.js → CredentialsView-DVgxfnNi.js} +26 -11
- package/dist/assets/{DemoFooter-DP26HpCu.js → DemoFooter-C1T3Q0NX.js} +7 -8
- package/dist/assets/{ErrorView-C3fvEdCg.js → ErrorView-Cf2Yb8Ea.js} +1 -1
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-BBpwYdHY.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-DUu0UMcW.js} +2 -2
- package/dist/assets/{ExecutionsView-BvlDZwIs.js → ExecutionsView-DjNkfnDh.js} +20 -18
- package/dist/assets/{FileSaver.min-BzAtcQXX.js → FileSaver.min-C1p9Eies.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-CS5zXMAh.js → FixedCollectionParameter-DN_uJhpe.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-CVQ7pcIG.js → ForgotMyPasswordView-BMQBDIrq.js} +3 -3
- package/dist/assets/{InsightsChartAverageRuntime-Boh0SMb3.js → InsightsChartAverageRuntime-JzBkV6Rc.js} +4 -4
- package/dist/assets/{InsightsChartFailed-IZ-KYOU9.js → InsightsChartFailed-DMD3c7zM.js} +4 -4
- package/dist/assets/{InsightsChartFailureRate-2fWw3p0L.js → InsightsChartFailureRate-D_qeZo4f.js} +4 -4
- package/dist/assets/{InsightsChartTimeSaved-B2pLVys1.js → InsightsChartTimeSaved-Cw2T-Wvp.js} +4 -4
- package/dist/assets/{InsightsChartTotal-2QD4wPLR.js → InsightsChartTotal-DlF47gob.js} +4 -4
- package/dist/assets/{InsightsDashboard-Bx4vx9gz.css → InsightsDashboard-BSrakbzr.css} +42 -8
- package/dist/assets/{InsightsDashboard-CbiFbJ8w.js → InsightsDashboard-CxQ9H296.js} +40 -41
- package/dist/assets/{InsightsPaywall-5d-cSdiS.js → InsightsPaywall-hRkAfeHz.js} +1 -1
- package/dist/assets/InsightsSummary-BcXd-3nU.js +209 -0
- package/dist/assets/{InsightsSummary-CdlaUpAt.css → InsightsSummary-DzGQpM5h.css} +27 -24
- package/dist/assets/{InsightsTableWorkflows-Blv_GPUj.css → InsightsTableWorkflows-DfTZQkWL.css} +3 -4
- package/dist/assets/{InsightsTableWorkflows-_eTCUNCX.js → InsightsTableWorkflows-ybloXdDn.js} +5 -6
- package/dist/assets/{Logo-Dl2xVRIu.js → Logo-BGe7-2Vd.js} +1 -1
- package/dist/assets/{LogsPanel-JnYirDqa.js → LogsPanel-DtTp6kY0.js} +334 -338
- package/dist/assets/{MainHeader-CEPLiR-5.css → MainHeader-Y95RcfHb.css} +24 -17
- package/dist/assets/{MainHeader-Bk29pgmL.js → MainHeader-h2DV-VuD.js} +148 -82
- package/dist/assets/{MainSidebar-BM5ku_wM.js → MainSidebar-AAHHRXFA.js} +28 -11
- package/dist/assets/{MainSidebar-zZpP3qQ0.css → MainSidebar-D1_1YFQZ.css} +2 -2
- package/dist/assets/{NodeCreation-BEjdAYc_.js → NodeCreation-nHiG-Lhi.js} +9 -5
- package/dist/assets/{NodeCreator-D9fmPdS2.css → NodeCreator-D18StsVZ.css} +1021 -174
- package/dist/assets/{NodeCreator-cEUgbAI9.js → NodeCreator-weAzsmlU.js} +862 -418
- package/dist/assets/{NodeDetailsView-D4O9dKTA.js → NodeDetailsView-BsXbcyfb.js} +22 -15
- package/dist/assets/{NodeDetailsView-DsFLtbxi.css → NodeDetailsView-DpO8nTmN.css} +16 -16
- package/dist/assets/{NodeView-DDSOUm8E.js → NodeView-BY1O3wWl.js} +104 -50
- package/dist/assets/{ProjectCardBadge-BNn2hiMe.js → ProjectCardBadge-3xpk5Z4e.js} +38 -2
- package/dist/assets/{ProjectHeader-CaEZ2OPj.js → ProjectHeader-CpoOisjf.js} +106 -64
- package/dist/assets/{ProjectSettings-otA8E-yW.js → ProjectSettings-B__3XaPY.js} +14 -3
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-C3JbZMCk.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DaoPdG_5.js} +1 -1
- package/dist/assets/{ResourcesListLayout-1d9Ic6VX.js → ResourcesListLayout-DAxou314.js} +156 -53
- package/dist/assets/{ResourcesListLayout-CtGME7aU.css → ResourcesListLayout-DuNjbsMn.css} +8 -8
- package/dist/assets/{RunData-BjlZgIyx.css → RunData-CE5FsU6k.css} +2 -2
- package/dist/assets/{RunData-Bx47sNQp.js → RunData-fnd-jejc.js} +257 -99
- package/dist/assets/{RunDataAi-DOac7nwD.js → RunDataAi-Ck3VGKP_.js} +3 -4
- package/dist/assets/{RunDataJson-Pev6yNEV.js → RunDataJson-B80Z4URL.js} +7 -7
- package/dist/assets/{RunDataJsonActions-Co4xgmVq.js → RunDataJsonActions-CdZi1Qul.js} +1 -1
- package/dist/assets/{RunDataParsedAiContent-D6MNLmT3.js → RunDataParsedAiContent-BczxQ63H.js} +5 -5
- package/dist/assets/{RunDataSearch-C8orcAlP.js → RunDataSearch-C4KmCz4c.js} +1 -1
- package/dist/assets/{RunDataTable-oi_l8dhA.js → RunDataTable-CsLCZIWp.js} +3 -3
- package/dist/assets/{SamlOnboarding-CT5J6dx0.js → SamlOnboarding-DkhjCrPa.js} +3 -3
- package/dist/assets/{SettingsApiView-CupjcI9v.js → SettingsApiView-Ci2-rEpm.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-B5K2VLyJ.js → SettingsCommunityNodesView-_UOppuqS.js} +24 -11
- package/dist/assets/{SettingsExternalSecrets-BidJCf_t.js → SettingsExternalSecrets-DHIkKr53.js} +1 -1
- package/dist/assets/{SettingsLdapView-Cva6akhW.js → SettingsLdapView-B8ezgdqP.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-Cy-rAKUO.js → SettingsLogStreamingView-YP6Xy7Fe.js} +1 -1
- package/dist/assets/{SettingsPersonalView-ZJ1Syok2.js → SettingsPersonalView-BmbFyWPb.js} +1 -1
- package/dist/assets/{SettingsSourceControl-CMtqqlkO.js → SettingsSourceControl-DwaOdDke.js} +1 -1
- package/dist/assets/{SettingsSso-Bi3OpykL.js → SettingsSso-DOC-P2wt.js} +14 -1
- package/dist/assets/{SettingsUsageAndPlan-C5TbwZhP.js → SettingsUsageAndPlan-DVOLlEkG.js} +1 -1
- package/dist/assets/{SettingsUsersView-BHuP5k0A.js → SettingsUsersView-CN_KLeIm.js} +1 -1
- package/dist/assets/{SettingsView-DPIIqaKN.js → SettingsView-DiAhLyco.js} +1 -1
- package/dist/assets/{SetupView-C4V9j6sh.js → SetupView-OE_yCNOU.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-BZ9ILQUp.js → SetupWorkflowCredentialsButton-Dx1IkZgW.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-3uV3zSU2.js → SetupWorkflowFromTemplateView-lQXKgIuL.js} +3 -3
- package/dist/assets/{SigninView-DWZHdCjG.js → SigninView-BWSrzbF7.js} +3 -3
- package/dist/assets/{SignoutView-DbduXAir.js → SignoutView-DxGgFxt2.js} +1 -1
- package/dist/assets/{SignupView-DWq6VACk.js → SignupView-Dtu5bMqF.js} +3 -3
- package/dist/assets/{TemplateDetails-BckqE6GK.js → TemplateDetails-CQ7TYqsP.js} +1 -1
- package/dist/assets/{TemplateList-Bw0JeBMP.js → TemplateList-Cxmv-0p-.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-CAKT-mpV.js → TemplatesCollectionView-xvV6FXib.js} +5 -5
- package/dist/assets/{TemplatesSearchView-I2a5us58.js → TemplatesSearchView-CsECyZ52.js} +3 -3
- package/dist/assets/{TemplatesView-6EwGFFJK.js → TemplatesView-DrEKpZTU.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-C8xYMhwu.js → TemplatesWorkflowView-iSAL_yol.js} +5 -5
- package/dist/assets/{TestDefinitionEditView-CNd3Cuzq.js → TestDefinitionEditView-C3ohfu_r.js} +6 -7
- package/dist/assets/{TestDefinitionListView-BwTWIaAM.js → TestDefinitionListView-Dwto0jxH.js} +1 -1
- package/dist/assets/{TestDefinitionNewView-BQas0_G1.js → TestDefinitionNewView-9xVUm2ZJ.js} +2 -2
- package/dist/assets/{TestDefinitionRootView-D971MFye.js → TestDefinitionRootView-DLurQ4xl.js} +1 -1
- package/dist/assets/{VariablesView-DcBBuFxh.js → VariablesView-Cg2WSt_e.js} +4 -3
- package/dist/assets/{WorkerView-DSgBNIeb.js → WorkerView-BG-Dl0Ej.js} +6 -6
- package/dist/assets/{WorkflowActivator-DAyH7N29.css → WorkflowActivator-DrMTmuTZ.css} +2 -2
- package/dist/assets/{WorkflowActivator-CPCbgb_n.js → WorkflowActivator-e7wvW1kJ.js} +17 -11
- package/dist/assets/{WorkflowExecutionsInfoAccordion-Bc6vzAZu.js → WorkflowExecutionsInfoAccordion-CijtfO0l.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-BPPS4V9i.js → WorkflowExecutionsLandingPage-Do4y1yOx.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-Bbb5MB8Z.js → WorkflowExecutionsPreview-Bqo_3PXl.js} +6 -6
- package/dist/assets/{WorkflowExecutionsView-Pz-7iHJY.js → WorkflowExecutionsView-C1gS45nc.js} +10 -10
- package/dist/assets/{WorkflowHistory-Czo9IuI6.js → WorkflowHistory-CypQw7rC.js} +37 -19
- package/dist/assets/{WorkflowOnboardingView-B8DdkfJ5.js → WorkflowOnboardingView-DoKXpaNj.js} +1 -1
- package/dist/assets/{WorkflowPreview-eVlO1itk.js → WorkflowPreview-Bxs5XzBX.js} +1 -1
- package/dist/assets/{WorkflowsView-Cr2D0vym.js → WorkflowsView-BlvgD3xI.js} +299 -157
- package/dist/assets/{WorkflowsView-B2_HJCJ5.css → WorkflowsView-CQvTAWQ0.css} +24 -13
- package/dist/assets/{chartjs.utils-Dk1WO3Mr.js → chartjs.utils-CuWcgqCr.js} +2 -2
- package/dist/assets/{dateFormatter-C8N5khiG.js → dateFormatter-LbucaaRt.js} +1 -1
- package/dist/assets/{easyAiWorkflowUtils-CLqHnasO.js → easyAiWorkflowUtils-_kvYb5hw.js} +1 -1
- package/dist/assets/{global-link-actions-BvoZh8u9.js → global-link-actions-DG0SjhQE.js} +1 -1
- package/dist/assets/{import-curl-BpxkGYMX.js → import-curl-DQ6uPzZ1.js} +1 -1
- package/dist/assets/{index-DCpy4nCU.css → index-BA8d2DN9.css} +311 -515
- package/dist/assets/{index-B6eunbxp.js → index-hdsPF3tl.js} +61611 -57550
- package/dist/assets/{index-Br8T1Gn6.js → index-vIybYvt3.js} +1 -1
- package/dist/assets/{pickBy-8Urz9lDY.js → pickBy-DmKUpB7M.js} +1 -1
- package/dist/assets/{polyfills-CLZ4X0Ad.js → polyfills-J2x06Gdp.js} +157 -224
- package/dist/assets/{templateActions-DzjysjbQ.js → templateActions-DxoxchKp.js} +1 -1
- package/dist/assets/{typescript.worker-BsxN2afA.js → typescript.worker-B1loTpxy.js} +1 -1
- package/dist/assets/{useBeforeUnload-DxrN8vOO.js → useBeforeUnload-B7JAQiE8.js} +1 -1
- package/dist/assets/{useCanvasMapping-cuXLM-h-.css → useCanvasMapping-CFf4cwnq.css} +6 -5
- package/dist/assets/{useCanvasMapping-C2BQB9QB.js → useCanvasMapping-CvcOHj5p.js} +94 -50
- package/dist/assets/{useClearExecutionButtonVisible-BV-jMf2m.js → useClearExecutionButtonVisible-DFNEJves.js} +1 -2
- package/dist/assets/{useExecutionDebugging-0pPCimcw.js → useExecutionDebugging-DsRIfE0y.js} +1 -1
- package/dist/assets/{useExecutionHelpers-DIvhViMz.js → useExecutionHelpers-CEOL8_vt.js} +3 -3
- package/dist/assets/{useImportCurlCommand-BWf4R83s.js → useImportCurlCommand-DdIN4YaF.js} +2 -2
- package/dist/assets/useProjectPages-OGc-GAxb.js +17 -0
- package/dist/assets/{usePushConnection-Pobjq0U9.js → usePushConnection-DNGIaS0A.js} +29 -127
- package/dist/assets/{useTestDefinitionForm-BA3IS_2B.js → useTestDefinitionForm-Bi6EgFVm.js} +1 -1
- package/dist/assets/{useWorkflowActivate-DFqvrpj6.js → useWorkflowActivate-CJ1hLmv2.js} +1 -1
- package/dist/assets/{useWorkflowSaving-BACesUoL.js → useWorkflowSaving-BuokdhTC.js} +2 -2
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/tsconfig.json +1 -0
- package/vite.config.mts +4 -0
- package/dist/assets/CollectionParameter-BeCTpZ-q.js +0 -4
- package/dist/assets/InsightsSummary-gldDQ9rg.js +0 -207
- package/dist/assets/useCanvasOperations-DaP5jKbH.js +0 -3183
|
@@ -1,31 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-
|
|
3
|
-
import { g as globalLinkActionsEventBus } from "./global-link-actions-
|
|
4
|
-
const _hoisted_1 = { "data-test-id": "sanitized-error-message" };
|
|
5
|
-
const _hoisted_2 = ["data-action-parameter-node"];
|
|
6
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
7
|
-
__name: "NodeExecutionErrorMessage",
|
|
8
|
-
props: {
|
|
9
|
-
nodeName: {},
|
|
10
|
-
errorMessage: {}
|
|
11
|
-
},
|
|
12
|
-
setup(__props) {
|
|
13
|
-
const i18n = useI18n();
|
|
14
|
-
return (_ctx, _cache) => {
|
|
15
|
-
const _directive_n8n_html = resolveDirective("n8n-html");
|
|
16
|
-
return openBlock(), createElementBlock("div", null, [
|
|
17
|
-
withDirectives(createBaseVNode("span", _hoisted_1, null, 512), [
|
|
18
|
-
[_directive_n8n_html, _ctx.errorMessage]
|
|
19
|
-
]),
|
|
20
|
-
_cache[0] || (_cache[0] = createBaseVNode("br", null, null, -1)),
|
|
21
|
-
createBaseVNode("a", {
|
|
22
|
-
"data-action": "openNodeDetail",
|
|
23
|
-
"data-action-parameter-node": _ctx.nodeName
|
|
24
|
-
}, toDisplayString(unref(i18n).baseText("node.executionError.openNode")), 9, _hoisted_2)
|
|
25
|
-
]);
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
});
|
|
1
|
+
import { Q as useWorkflowsStore, H as useUIStore, dD as clearPopupWindowState, ag as useTelemetry, bP as parse, dE as hasTrimmedItem, p as useSettingsStore, a5 as useWorkflowHelpers, ak as WORKFLOW_SETTINGS_MODAL_KEY, a as useToast, dF as generateNodesGraph, c as useI18n, dG as getExecutionErrorToastConfiguration, bz as useNodeTypesStore, dH as getTriggerNodeServiceName, bA as useNodeHelpers, dI as hasTrimmedData, aP as useExternalHooks, dJ as codeNodeEditorEventBus, dK as getExecutionErrorMessage, bU as useCredentialsStore, dL as useAssistantStore, dM as useSchemaPreviewStore, dN as isCommunityPackageName, dO as makeRestApiRequest, O as defineStore, Z as useRootStore, P as usePushConnectionStore, r as ref } from "./index-hdsPF3tl.js";
|
|
2
|
+
import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-_kvYb5hw.js";
|
|
3
|
+
import { g as globalLinkActionsEventBus } from "./global-link-actions-DG0SjhQE.js";
|
|
29
4
|
async function executionFinished({ data }, options) {
|
|
30
5
|
const workflowsStore = useWorkflowsStore();
|
|
31
6
|
const uiStore = useUIStore();
|
|
@@ -52,8 +27,9 @@ async function executionFinished({ data }, options) {
|
|
|
52
27
|
let successToastAlreadyShown = false;
|
|
53
28
|
let execution;
|
|
54
29
|
if (data.rawData) {
|
|
55
|
-
const { workflowId, status, rawData } = data;
|
|
30
|
+
const { executionId, workflowId, status, rawData } = data;
|
|
56
31
|
execution = {
|
|
32
|
+
id: executionId,
|
|
57
33
|
workflowId,
|
|
58
34
|
workflowData: workflowsStore.workflow,
|
|
59
35
|
data: parse(rawData),
|
|
@@ -91,6 +67,7 @@ async function fetchExecutionData(executionId) {
|
|
|
91
67
|
return;
|
|
92
68
|
}
|
|
93
69
|
return {
|
|
70
|
+
id: executionId,
|
|
94
71
|
workflowId: executionResponse.workflowId,
|
|
95
72
|
workflowData: workflowsStore.workflow,
|
|
96
73
|
data: parse(executionResponse.data),
|
|
@@ -120,35 +97,6 @@ function getRunExecutionData(execution) {
|
|
|
120
97
|
}
|
|
121
98
|
return runExecutionData;
|
|
122
99
|
}
|
|
123
|
-
function getExecutionError(execution) {
|
|
124
|
-
const error = execution.data?.resultData.error;
|
|
125
|
-
const i18n = useI18n();
|
|
126
|
-
let errorMessage;
|
|
127
|
-
if (execution.data?.resultData.lastNodeExecuted && error) {
|
|
128
|
-
errorMessage = error.message ?? error.description ?? "";
|
|
129
|
-
} else {
|
|
130
|
-
errorMessage = i18n.baseText("pushConnection.executionError", {
|
|
131
|
-
interpolate: { error: "!" }
|
|
132
|
-
});
|
|
133
|
-
if (error?.message) {
|
|
134
|
-
let nodeName;
|
|
135
|
-
if ("node" in error) {
|
|
136
|
-
nodeName = typeof error.node === "string" ? error.node : error.node.name;
|
|
137
|
-
}
|
|
138
|
-
const receivedError = nodeName ? `${nodeName}: ${error.message}` : error.message;
|
|
139
|
-
errorMessage = i18n.baseText("pushConnection.executionError", {
|
|
140
|
-
interpolate: {
|
|
141
|
-
error: `.${i18n.baseText("pushConnection.executionError.details", {
|
|
142
|
-
interpolate: {
|
|
143
|
-
details: receivedError
|
|
144
|
-
}
|
|
145
|
-
})}`
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return errorMessage;
|
|
151
|
-
}
|
|
152
100
|
function getRunDataExecutedErrorMessage(execution) {
|
|
153
101
|
const i18n = useI18n();
|
|
154
102
|
if (execution.status === "crashed") {
|
|
@@ -159,7 +107,10 @@ function getRunDataExecutedErrorMessage(execution) {
|
|
|
159
107
|
interpolate: { activeExecutionId: workflowsStore.activeExecutionId ?? "" }
|
|
160
108
|
});
|
|
161
109
|
}
|
|
162
|
-
return
|
|
110
|
+
return getExecutionErrorMessage({
|
|
111
|
+
error: execution.data?.resultData.error,
|
|
112
|
+
lastNodeExecuted: execution.data?.resultData.lastNodeExecuted
|
|
113
|
+
});
|
|
163
114
|
}
|
|
164
115
|
function handleExecutionFinishedWithWaitTill(options) {
|
|
165
116
|
const workflowsStore = useWorkflowsStore();
|
|
@@ -187,7 +138,6 @@ function handleExecutionFinishedWithErrorOrCanceled(execution, runExecutionData,
|
|
|
187
138
|
const workflowsStore = useWorkflowsStore();
|
|
188
139
|
const workflowHelpers = useWorkflowHelpers(options);
|
|
189
140
|
const workflowObject = workflowsStore.getCurrentWorkflow();
|
|
190
|
-
const runDataExecutedErrorMessage = getRunDataExecutedErrorMessage(execution);
|
|
191
141
|
workflowHelpers.setDocumentTitle(workflowObject.name, "ERROR");
|
|
192
142
|
if (runExecutionData.resultData.error?.name === "ExpressionError" && runExecutionData.resultData.error.functionality === "pairedItem") {
|
|
193
143
|
const error = runExecutionData.resultData.error;
|
|
@@ -220,52 +170,17 @@ function handleExecutionFinishedWithErrorOrCanceled(execution, runExecutionData,
|
|
|
220
170
|
});
|
|
221
171
|
});
|
|
222
172
|
}
|
|
223
|
-
if (
|
|
224
|
-
const error = runExecutionData.resultData.error;
|
|
225
|
-
workflowsStore.subWorkflowExecutionError = error;
|
|
173
|
+
if (execution.status === "canceled") {
|
|
226
174
|
toast.showMessage({
|
|
227
|
-
title:
|
|
228
|
-
|
|
229
|
-
type: "error",
|
|
230
|
-
duration: 0
|
|
175
|
+
title: i18n.baseText("nodeView.showMessage.stopExecutionTry.title"),
|
|
176
|
+
type: "success"
|
|
231
177
|
});
|
|
232
|
-
} else if (
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
title = `Error in sub-node ‘${nodeError.node.name}‘`;
|
|
237
|
-
} else {
|
|
238
|
-
title = "Problem executing workflow";
|
|
239
|
-
}
|
|
240
|
-
toast.showMessage({
|
|
241
|
-
title,
|
|
242
|
-
message: h(_sfc_main, {
|
|
243
|
-
errorMessage: nodeError?.description ?? runDataExecutedErrorMessage,
|
|
244
|
-
nodeName: nodeError.node.name
|
|
245
|
-
}),
|
|
246
|
-
type: "error",
|
|
247
|
-
duration: 0
|
|
178
|
+
} else if (execution.data?.resultData.error) {
|
|
179
|
+
const { message, title } = getExecutionErrorToastConfiguration({
|
|
180
|
+
error: execution.data.resultData.error,
|
|
181
|
+
lastNodeExecuted: execution.data?.resultData.lastNodeExecuted
|
|
248
182
|
});
|
|
249
|
-
|
|
250
|
-
if (execution.status === "canceled") {
|
|
251
|
-
toast.showMessage({
|
|
252
|
-
title: i18n.baseText("nodeView.showMessage.stopExecutionTry.title"),
|
|
253
|
-
type: "success"
|
|
254
|
-
});
|
|
255
|
-
} else {
|
|
256
|
-
let title;
|
|
257
|
-
if (runExecutionData.resultData.lastNodeExecuted) {
|
|
258
|
-
title = `Problem in node ‘${runExecutionData.resultData.lastNodeExecuted}‘`;
|
|
259
|
-
} else {
|
|
260
|
-
title = "Problem executing workflow";
|
|
261
|
-
}
|
|
262
|
-
toast.showMessage({
|
|
263
|
-
title,
|
|
264
|
-
message: runDataExecutedErrorMessage,
|
|
265
|
-
type: "error",
|
|
266
|
-
duration: 0
|
|
267
|
-
});
|
|
268
|
-
}
|
|
183
|
+
toast.showMessage({ title, message, type: "error", duration: 0 });
|
|
269
184
|
}
|
|
270
185
|
}
|
|
271
186
|
function handleExecutionFinishedSuccessfully(workflowId, options) {
|
|
@@ -320,7 +235,7 @@ function handleExecutionFinishedWithOther(successToastAlreadyShown, options) {
|
|
|
320
235
|
});
|
|
321
236
|
}
|
|
322
237
|
}
|
|
323
|
-
function setRunExecutionData(execution, runExecutionData
|
|
238
|
+
function setRunExecutionData(execution, runExecutionData) {
|
|
324
239
|
const workflowsStore = useWorkflowsStore();
|
|
325
240
|
const nodeHelpers = useNodeHelpers();
|
|
326
241
|
const runDataExecutedErrorMessage = getRunDataExecutedErrorMessage(execution);
|
|
@@ -329,10 +244,12 @@ function setRunExecutionData(execution, runExecutionData, normalize = true) {
|
|
|
329
244
|
runExecutionData.resultData.runData = workflowsStore.getWorkflowRunData;
|
|
330
245
|
}
|
|
331
246
|
workflowsStore.executingNode.length = 0;
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
247
|
+
workflowsStore.setWorkflowExecutionData({
|
|
248
|
+
...workflowExecution,
|
|
249
|
+
status: execution.status,
|
|
250
|
+
id: execution.id,
|
|
251
|
+
stoppedAt: execution.stoppedAt
|
|
252
|
+
});
|
|
336
253
|
workflowsStore.setWorkflowExecutionRunData(runExecutionData);
|
|
337
254
|
workflowsStore.setActiveExecutionId(void 0);
|
|
338
255
|
nodeHelpers.updateNodesExecutionIssues();
|
|
@@ -352,22 +269,6 @@ function setRunExecutionData(execution, runExecutionData, normalize = true) {
|
|
|
352
269
|
const lineNumber = runExecutionData.resultData?.error?.lineNumber;
|
|
353
270
|
codeNodeEditorEventBus.emit("highlightLine", lineNumber ?? "last");
|
|
354
271
|
}
|
|
355
|
-
function removeRunningTaskData(execution) {
|
|
356
|
-
if (execution.data) {
|
|
357
|
-
execution.data = {
|
|
358
|
-
...execution.data,
|
|
359
|
-
resultData: {
|
|
360
|
-
...execution.data.resultData,
|
|
361
|
-
runData: Object.fromEntries(
|
|
362
|
-
Object.entries(execution.data.resultData.runData).map(([nodeName, runs]) => [
|
|
363
|
-
nodeName,
|
|
364
|
-
runs.filter((run) => run.executionStatus !== "running")
|
|
365
|
-
]).filter(([, runs]) => runs.length > 0)
|
|
366
|
-
)
|
|
367
|
-
}
|
|
368
|
-
};
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
272
|
async function executionRecovered({ data }, options) {
|
|
372
273
|
const workflowsStore = useWorkflowsStore();
|
|
373
274
|
const uiStore = useUIStore();
|
|
@@ -389,7 +290,7 @@ async function executionRecovered({ data }, options) {
|
|
|
389
290
|
} else {
|
|
390
291
|
handleExecutionFinishedWithOther(false, options);
|
|
391
292
|
}
|
|
392
|
-
setRunExecutionData(execution, runExecutionData
|
|
293
|
+
setRunExecutionData(execution, runExecutionData);
|
|
393
294
|
}
|
|
394
295
|
async function executionStarted({ data }) {
|
|
395
296
|
const workflowsStore = useWorkflowsStore();
|
|
@@ -425,12 +326,13 @@ async function nodeExecuteAfter({ data: pushData }) {
|
|
|
425
326
|
async function nodeExecuteBefore({ data }) {
|
|
426
327
|
const workflowsStore = useWorkflowsStore();
|
|
427
328
|
workflowsStore.addExecutingNode(data.nodeName);
|
|
428
|
-
workflowsStore.
|
|
329
|
+
workflowsStore.addNodeExecutionStartedData(data);
|
|
429
330
|
}
|
|
430
331
|
async function reloadNodeType({ data }) {
|
|
431
332
|
const nodeTypesStore = useNodeTypesStore();
|
|
432
333
|
await nodeTypesStore.getNodeTypes();
|
|
433
|
-
|
|
334
|
+
const isCommunityNode = isCommunityPackageName(data.name);
|
|
335
|
+
await nodeTypesStore.getFullNodesProperties([data], !isCommunityNode);
|
|
434
336
|
}
|
|
435
337
|
async function removeNodeType({ data }) {
|
|
436
338
|
const nodeTypesStore = useNodeTypesStore();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { fJ as useTestDefinitionStore, r as ref, q as computed } from "./index-hdsPF3tl.js";
|
|
2
2
|
function useTestDefinitionForm() {
|
|
3
3
|
const evaluationsStore = useTestDefinitionStore();
|
|
4
4
|
const state = ref({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as ref, b as useRouter, a5 as useWorkflowHelpers, Q as useWorkflowsStore, H as useUIStore, a as useToast, a3 as useNpsSurveyStore, S as PLACEHOLDER_EMPTY_WORKFLOW_ID, ag as useTelemetry, aP as useExternalHooks, c as useI18n, aJ as useStorage,
|
|
1
|
+
import { r as ref, b as useRouter, a5 as useWorkflowHelpers, Q as useWorkflowsStore, H as useUIStore, a as useToast, a3 as useNpsSurveyStore, S as PLACEHOLDER_EMPTY_WORKFLOW_ID, ag as useTelemetry, aP as useExternalHooks, c as useI18n, aJ as useStorage, dV as LOCAL_STORAGE_ACTIVATION_FLAG, dW as WORKFLOW_ACTIVE_MODAL_KEY } from "./index-hdsPF3tl.js";
|
|
2
2
|
function useWorkflowActivate() {
|
|
3
3
|
const updatingWorkflowActivation = ref(false);
|
|
4
4
|
const router = useRouter();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { H as useUIStore, a3 as useNpsSurveyStore, Q as useWorkflowsStore, a5 as useWorkflowHelpers, ai as useMessage, c as useI18n,
|
|
1
|
+
import { H as useUIStore, a3 as useNpsSurveyStore, Q as useWorkflowsStore, a5 as useWorkflowHelpers, ai as useMessage, c as useI18n, cr as MODAL_CLOSE, S as PLACEHOLDER_EMPTY_WORKFLOW_ID, cs as MODAL_CANCEL, aj as MODAL_CONFIRM, V as VIEWS } from "./index-hdsPF3tl.js";
|
|
2
2
|
function useWorkflowSaving({ router }) {
|
|
3
3
|
const uiStore = useUIStore();
|
|
4
4
|
const npsSurveyStore = useNpsSurveyStore();
|
|
@@ -11,7 +11,7 @@ function useWorkflowSaving({ router }) {
|
|
|
11
11
|
cancel = async () => {
|
|
12
12
|
}
|
|
13
13
|
} = {}) {
|
|
14
|
-
if (!uiStore.stateIsDirty) {
|
|
14
|
+
if (!uiStore.stateIsDirty || workflowsStore.workflow.isArchived) {
|
|
15
15
|
next();
|
|
16
16
|
return;
|
|
17
17
|
}
|
package/dist/index.html
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
|
-
<script type="module" crossorigin src="/{{BASE_PATH}}/assets/polyfills-
|
|
4
|
+
<script type="module" crossorigin src="/{{BASE_PATH}}/assets/polyfills-J2x06Gdp.js"></script>
|
|
5
5
|
|
|
6
6
|
<meta charset="utf-8" />
|
|
7
7
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
<script>!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled getFeatureFlag onFeatureFlags reloadFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[])</script>
|
|
17
17
|
|
|
18
18
|
<title>n8n.io - Workflow Automation</title>
|
|
19
|
-
<script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-
|
|
20
|
-
<link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-
|
|
19
|
+
<script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-hdsPF3tl.js"></script>
|
|
20
|
+
<link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-BA8d2DN9.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
23
23
|
<noscript>
|
package/package.json
CHANGED
package/tsconfig.json
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"@n8n/composables*": ["../@n8n/composables/src*"],
|
|
15
15
|
"@n8n/chat*": ["../@n8n/chat/src*"],
|
|
16
16
|
"@n8n/design-system*": ["../@n8n/design-system/src*"],
|
|
17
|
+
"@n8n/stores*": ["../@n8n/stores/src*"],
|
|
17
18
|
"@n8n/api-types*": ["../../@n8n/api-types/src*"],
|
|
18
19
|
"@n8n/utils*": ["../../@n8n/utils/src*"]
|
|
19
20
|
},
|
package/vite.config.mts
CHANGED
|
@@ -35,6 +35,10 @@ const alias = [
|
|
|
35
35
|
find: /^@n8n\/design-system(.+)$/,
|
|
36
36
|
replacement: resolve(packagesDir, 'frontend', '@n8n', 'design-system', 'src$1'),
|
|
37
37
|
},
|
|
38
|
+
{
|
|
39
|
+
find: /^@n8n\/stores(.+)$/,
|
|
40
|
+
replacement: resolve(packagesDir, 'frontend', '@n8n', 'stores', 'src$1'),
|
|
41
|
+
},
|
|
38
42
|
{
|
|
39
43
|
find: /^@n8n\/utils(.+)$/,
|
|
40
44
|
replacement: resolve(packagesDir, '@n8n', 'utils', 'src$1'),
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
import { d as defineComponent, R as useRoute, Y as useCssModule, q as computed, c as useI18n, V as VIEWS, h as resolveComponent, i as createElementBlock, g as openBlock, k as createBaseVNode, e as createBlock, n as normalizeClass, m as unref, F as Fragment, D as renderList, j as createVNode, w as withCtx, l as createTextVNode, t as toDisplayString, h9 as TIME_RANGE_LABELS, f as createCommentVNode, ha as INSIGHT_IMPACT_TYPES, hb as INSIGHTS_UNIT_IMPACT_MAPPING, ag as useTelemetry, _ as _export_sfc } from "./index-B6eunbxp.js";
|
|
2
|
-
const smartDecimal = (value, decimals = 2) => {
|
|
3
|
-
if (Number.isInteger(value)) {
|
|
4
|
-
return value;
|
|
5
|
-
}
|
|
6
|
-
if (value.toString().split(".")[1].length <= decimals) {
|
|
7
|
-
return value;
|
|
8
|
-
}
|
|
9
|
-
return Number(value.toFixed(decimals));
|
|
10
|
-
};
|
|
11
|
-
const _hoisted_1 = { "data-test-id": "insights-summary-tabs" };
|
|
12
|
-
const _hoisted_2 = ["data-test-id"];
|
|
13
|
-
const _hoisted_3 = { key: 2 };
|
|
14
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
15
|
-
__name: "InsightsSummary",
|
|
16
|
-
props: {
|
|
17
|
-
summary: {},
|
|
18
|
-
timeRange: {},
|
|
19
|
-
loading: { type: Boolean }
|
|
20
|
-
},
|
|
21
|
-
setup(__props) {
|
|
22
|
-
const props = __props;
|
|
23
|
-
const i18n = useI18n();
|
|
24
|
-
const route = useRoute();
|
|
25
|
-
const $style = useCssModule();
|
|
26
|
-
const telemetry = useTelemetry();
|
|
27
|
-
const summaryTitles = computed(() => ({
|
|
28
|
-
total: i18n.baseText("insights.banner.title.total"),
|
|
29
|
-
failed: i18n.baseText("insights.banner.title.failed"),
|
|
30
|
-
failureRate: i18n.baseText("insights.banner.title.failureRate"),
|
|
31
|
-
timeSaved: i18n.baseText("insights.banner.title.timeSaved"),
|
|
32
|
-
averageRunTime: i18n.baseText("insights.banner.title.averageRunTime")
|
|
33
|
-
}));
|
|
34
|
-
const summaryHasNoData = computed(() => {
|
|
35
|
-
const summaryValues = Object.values(props.summary);
|
|
36
|
-
return summaryValues.length > 0 && summaryValues.every((summary) => !summary.value);
|
|
37
|
-
});
|
|
38
|
-
const summaryWithRouteLocations = computed(
|
|
39
|
-
() => props.summary.map((s) => ({
|
|
40
|
-
...s,
|
|
41
|
-
to: { name: VIEWS.INSIGHTS, params: { insightType: s.id }, query: route.query }
|
|
42
|
-
}))
|
|
43
|
-
);
|
|
44
|
-
const getImpactStyle = (id, value) => {
|
|
45
|
-
const impact = INSIGHTS_UNIT_IMPACT_MAPPING[id];
|
|
46
|
-
if (value === 0 || impact === INSIGHT_IMPACT_TYPES.NEUTRAL) {
|
|
47
|
-
return $style.neutral;
|
|
48
|
-
}
|
|
49
|
-
if (impact === INSIGHT_IMPACT_TYPES.POSITIVE) {
|
|
50
|
-
return value > 0 ? $style.positive : $style.negative;
|
|
51
|
-
}
|
|
52
|
-
if (impact === INSIGHT_IMPACT_TYPES.NEGATIVE) {
|
|
53
|
-
return value < 0 ? $style.positive : $style.negative;
|
|
54
|
-
}
|
|
55
|
-
return $style.neutral;
|
|
56
|
-
};
|
|
57
|
-
const trackTabClick = (insightType) => {
|
|
58
|
-
telemetry.track(`User clicked ${summaryTitles.value[insightType]}`, {
|
|
59
|
-
referrer: route.name === VIEWS.INSIGHTS ? "Dashboard" : "Overview"
|
|
60
|
-
});
|
|
61
|
-
};
|
|
62
|
-
return (_ctx, _cache) => {
|
|
63
|
-
const _component_N8nLoading = resolveComponent("N8nLoading");
|
|
64
|
-
const _component_N8nTooltip = resolveComponent("N8nTooltip");
|
|
65
|
-
const _component_i18n_t = resolveComponent("i18n-t");
|
|
66
|
-
const _component_N8nIcon = resolveComponent("N8nIcon");
|
|
67
|
-
const _component_router_link = resolveComponent("router-link");
|
|
68
|
-
return openBlock(), createElementBlock("div", {
|
|
69
|
-
class: normalizeClass(unref($style).insights)
|
|
70
|
-
}, [
|
|
71
|
-
createBaseVNode("ul", _hoisted_1, [
|
|
72
|
-
_ctx.loading ? (openBlock(), createBlock(_component_N8nLoading, {
|
|
73
|
-
key: 0,
|
|
74
|
-
class: normalizeClass(unref($style).loading),
|
|
75
|
-
cols: 5
|
|
76
|
-
}, null, 8, ["class"])) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(summaryWithRouteLocations.value, ({ id, value, deviation, deviationUnit, unit, to }) => {
|
|
77
|
-
return openBlock(), createElementBlock("li", {
|
|
78
|
-
key: id,
|
|
79
|
-
"data-test-id": `insights-summary-tab-${id}`
|
|
80
|
-
}, [
|
|
81
|
-
createVNode(_component_router_link, {
|
|
82
|
-
to,
|
|
83
|
-
"exact-active-class": unref($style).activeTab,
|
|
84
|
-
onClick: ($event) => trackTabClick(id)
|
|
85
|
-
}, {
|
|
86
|
-
default: withCtx(() => [
|
|
87
|
-
createBaseVNode("strong", null, [
|
|
88
|
-
createVNode(_component_N8nTooltip, {
|
|
89
|
-
placement: "bottom",
|
|
90
|
-
disabled: id !== "timeSaved"
|
|
91
|
-
}, {
|
|
92
|
-
content: withCtx(() => [
|
|
93
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("insights.banner.title.timeSaved.tooltip")), 1)
|
|
94
|
-
]),
|
|
95
|
-
default: withCtx(() => [
|
|
96
|
-
createTextVNode(" " + toDisplayString(summaryTitles.value[id]), 1)
|
|
97
|
-
]),
|
|
98
|
-
_: 2
|
|
99
|
-
}, 1032, ["disabled"])
|
|
100
|
-
]),
|
|
101
|
-
createBaseVNode("small", {
|
|
102
|
-
class: normalizeClass(unref($style).days)
|
|
103
|
-
}, toDisplayString(unref(TIME_RANGE_LABELS)[_ctx.timeRange]), 3),
|
|
104
|
-
summaryHasNoData.value ? (openBlock(), createElementBlock("span", {
|
|
105
|
-
key: 0,
|
|
106
|
-
class: normalizeClass(unref($style).noData)
|
|
107
|
-
}, [
|
|
108
|
-
createVNode(_component_N8nTooltip, { placement: "bottom" }, {
|
|
109
|
-
content: withCtx(() => [
|
|
110
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("insights.banner.noData.tooltip")), 1)
|
|
111
|
-
]),
|
|
112
|
-
default: withCtx(() => [
|
|
113
|
-
createBaseVNode("em", null, toDisplayString(unref(i18n).baseText("insights.banner.noData")), 1)
|
|
114
|
-
]),
|
|
115
|
-
_: 1
|
|
116
|
-
})
|
|
117
|
-
], 2)) : value === 0 && id === "timeSaved" ? (openBlock(), createElementBlock("span", {
|
|
118
|
-
key: 1,
|
|
119
|
-
class: normalizeClass(unref($style).empty)
|
|
120
|
-
}, [
|
|
121
|
-
_cache[0] || (_cache[0] = createBaseVNode("em", null, "--", -1)),
|
|
122
|
-
createBaseVNode("small", null, [
|
|
123
|
-
createVNode(_component_N8nTooltip, { placement: "bottom" }, {
|
|
124
|
-
content: withCtx(() => [
|
|
125
|
-
createVNode(_component_i18n_t, { keypath: "insights.banner.timeSaved.tooltip" }, {
|
|
126
|
-
link: withCtx(() => [
|
|
127
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("insights.banner.timeSaved.tooltip.link.text")), 1)
|
|
128
|
-
]),
|
|
129
|
-
_: 1
|
|
130
|
-
})
|
|
131
|
-
]),
|
|
132
|
-
default: withCtx(() => [
|
|
133
|
-
createVNode(_component_N8nIcon, {
|
|
134
|
-
class: normalizeClass(unref($style).icon),
|
|
135
|
-
icon: "info-circle"
|
|
136
|
-
}, null, 8, ["class"])
|
|
137
|
-
]),
|
|
138
|
-
_: 1
|
|
139
|
-
})
|
|
140
|
-
])
|
|
141
|
-
], 2)) : (openBlock(), createElementBlock("span", _hoisted_3, [
|
|
142
|
-
createBaseVNode("em", null, [
|
|
143
|
-
createTextVNode(toDisplayString(unref(smartDecimal)(value).toLocaleString("en-US")) + " ", 1),
|
|
144
|
-
createBaseVNode("i", null, toDisplayString(unit), 1)
|
|
145
|
-
]),
|
|
146
|
-
deviation !== null ? (openBlock(), createElementBlock("small", {
|
|
147
|
-
key: 0,
|
|
148
|
-
class: normalizeClass(getImpactStyle(id, deviation))
|
|
149
|
-
}, [
|
|
150
|
-
createVNode(_component_N8nIcon, {
|
|
151
|
-
class: normalizeClass([unref($style).icon, getImpactStyle(id, deviation)]),
|
|
152
|
-
icon: deviation === 0 ? "caret-right" : deviation > 0 ? "caret-up" : "caret-down"
|
|
153
|
-
}, null, 8, ["class", "icon"]),
|
|
154
|
-
createVNode(_component_N8nTooltip, {
|
|
155
|
-
placement: "bottom",
|
|
156
|
-
disabled: id !== "failureRate"
|
|
157
|
-
}, {
|
|
158
|
-
content: withCtx(() => [
|
|
159
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("insights.banner.failureRate.deviation.tooltip")), 1)
|
|
160
|
-
]),
|
|
161
|
-
default: withCtx(() => [
|
|
162
|
-
createTextVNode(" " + toDisplayString(unref(smartDecimal)(Math.abs(deviation)).toLocaleString("en-US")) + toDisplayString(deviationUnit), 1)
|
|
163
|
-
]),
|
|
164
|
-
_: 2
|
|
165
|
-
}, 1032, ["disabled"])
|
|
166
|
-
], 2)) : createCommentVNode("", true)
|
|
167
|
-
]))
|
|
168
|
-
]),
|
|
169
|
-
_: 2
|
|
170
|
-
}, 1032, ["to", "exact-active-class", "onClick"])
|
|
171
|
-
], 8, _hoisted_2);
|
|
172
|
-
}), 128))
|
|
173
|
-
])
|
|
174
|
-
], 2);
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
const insights = "_insights_syjwy_123";
|
|
179
|
-
const activeTab = "_activeTab_syjwy_161";
|
|
180
|
-
const days = "_days_syjwy_174";
|
|
181
|
-
const empty = "_empty_syjwy_185";
|
|
182
|
-
const icon = "_icon_syjwy_193";
|
|
183
|
-
const noData = "_noData_syjwy_225";
|
|
184
|
-
const positive = "_positive_syjwy_230";
|
|
185
|
-
const negative = "_negative_syjwy_234";
|
|
186
|
-
const neutral = "_neutral_syjwy_238";
|
|
187
|
-
const loading = "_loading_syjwy_253";
|
|
188
|
-
const style0 = {
|
|
189
|
-
insights,
|
|
190
|
-
activeTab,
|
|
191
|
-
days,
|
|
192
|
-
empty,
|
|
193
|
-
icon,
|
|
194
|
-
noData,
|
|
195
|
-
positive,
|
|
196
|
-
negative,
|
|
197
|
-
neutral,
|
|
198
|
-
loading
|
|
199
|
-
};
|
|
200
|
-
const cssModules = {
|
|
201
|
-
"$style": style0
|
|
202
|
-
};
|
|
203
|
-
const InsightsSummary = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
|
|
204
|
-
export {
|
|
205
|
-
InsightsSummary as I,
|
|
206
|
-
smartDecimal as s
|
|
207
|
-
};
|