n8n-editor-ui 1.79.0 → 1.80.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/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DKtXGQ8b.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-HxDJGUtE.js} +1 -1
- package/dist/assets/{AuthView-DC9bB5r3.js → AuthView-1Ttsioyp.js} +2 -2
- package/dist/assets/{CanvasChat-D3lTBObM.js → CanvasChat-Dr5nHlH3.js} +5 -5
- package/dist/assets/{CanvasControls-3_c-idq1.js → CanvasControls-B_BXMBED.js} +1 -1
- package/dist/assets/{ChangePasswordView-hTCZFDsu.js → ChangePasswordView-D4RXBXA7.js} +3 -3
- package/dist/assets/CollectionParameter-MoTW3Wf1.js +4 -0
- package/dist/assets/{ConcurrentExecutionsHeader-SdaUSwM5.js → ConcurrentExecutionsHeader-BfwpFWPS.js} +2 -2
- package/dist/assets/{CredentialsView-s41qhyQi.js → CredentialsView-Dy_wyl7y.js} +23 -14
- package/dist/assets/{ErrorView-BPR4tLUF.js → ErrorView-Di2BOFlv.js} +1 -1
- package/dist/assets/{ExecutionsView-CTGQ4_xb.js → ExecutionsView-C3oFIgdV.js} +5 -5
- package/dist/assets/{FileSaver.min-BYPjeNsQ.js → FileSaver.min-BRpBjOSK.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-kIB2Fa5A.js → FixedCollectionParameter-CGAtcElH.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-2fgritvN.js → ForgotMyPasswordView-y2S4L_Qv.js} +3 -3
- package/dist/assets/{Logo-hPeyHcb-.js → Logo-Bkouvy_1.js} +1 -1
- package/dist/assets/{MainHeader-Box9TeIZ.js → MainHeader-DAJVzGfz.js} +10 -10
- package/dist/assets/{MainSidebar-B50zuWdl.js → MainSidebar-BMvCTHpo.js} +2 -2
- package/dist/assets/{NodeCreation-Ceo0bVoB.js → NodeCreation-RijXMQEI.js} +4 -4
- package/dist/assets/{NodeCreator-B2c_Rd6j.js → NodeCreator-DPcMScWo.js} +5 -5
- package/dist/assets/{NodeViewSwitcher-CzTWzm1u.js → NodeViewSwitcher-OANBinrW.js} +28 -33
- package/dist/assets/{ProjectCardBadge-COQxXr59.js → ProjectCardBadge-J4JiadWD.js} +1 -1
- package/dist/assets/{ProjectHeader-CE7TnWTW.js → ProjectHeader-1XMrORbM.js} +1 -1
- package/dist/assets/{ProjectSettings-MOBpI-14.js → ProjectSettings-DAi3BTpr.js} +2 -2
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-3s6oaYcd.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-BFoY0mfR.js} +2 -2
- package/dist/assets/{ResourcesListLayout-qO3XuEfV.js → ResourcesListLayout-D9faOv_l.js} +219 -99
- package/dist/assets/{ResourcesListLayout-CvrwoZYS.css → ResourcesListLayout-uz7NOpr0.css} +40 -16
- package/dist/assets/{RunDataAi-CH-Sjvla.js → RunDataAi-C3Gkhfg0.js} +3 -3
- package/dist/assets/{RunDataJson-B6NXnfu2.js → RunDataJson-tRUXhQ8S.js} +16 -16
- package/dist/assets/{RunDataJsonActions-CuA1XQyQ.js → RunDataJsonActions-CA6Z-ZGx.js} +3 -3
- package/dist/assets/{RunDataSearch-CUG23MTn.js → RunDataSearch-3I6ueGp8.js} +1 -1
- package/dist/assets/{RunDataTable-Bc0J9GkT.js → RunDataTable-DXtM72HW.js} +2 -2
- package/dist/assets/{SamlOnboarding-BJ9WtdP1.js → SamlOnboarding-XQAt1qyf.js} +3 -3
- package/dist/assets/{SettingsApiView-DBxgGFH0.js → SettingsApiView-BUCwQ023.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-BomJXH9c.js → SettingsCommunityNodesView-CO8Bnp-a.js} +5 -5
- package/dist/assets/{SettingsExternalSecrets-D4rqzyAM.js → SettingsExternalSecrets-Cqj1VwAC.js} +1 -1
- package/dist/assets/{SettingsLdapView-DiXHZhqV.js → SettingsLdapView-C5-rNRHJ.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-Bt-LEIIQ.js → SettingsLogStreamingView-CfzEG7ya.js} +1 -1
- package/dist/assets/{SettingsPersonalView-BvEc_axB.js → SettingsPersonalView-BZB75NCV.js} +1 -1
- package/dist/assets/{SettingsSourceControl-DPlmwsou.js → SettingsSourceControl-BCNGnerk.js} +1 -1
- package/dist/assets/{SettingsSso-zllqGFae.js → SettingsSso-BIDfLpvX.js} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-C-iqlwdT.js → SettingsUsageAndPlan-B3AoC5ui.js} +1 -1
- package/dist/assets/{SettingsUsersView-DPpywObQ.js → SettingsUsersView-Bd8u_dWP.js} +1 -1
- package/dist/assets/{SettingsView-Do0ZcFE1.js → SettingsView-BgUUmcYQ.js} +1 -1
- package/dist/assets/{SetupView-BSTPJreH.js → SetupView-DkcAeKcx.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-DiQzzioV.js → SetupWorkflowCredentialsButton-CgICpCKX.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-Dth4uXJ3.js → SetupWorkflowFromTemplateView-9kgsp5eR.js} +3 -3
- package/dist/assets/{SigninView-DU81K-a8.js → SigninView-p0p2Wsjx.js} +3 -3
- package/dist/assets/{SignoutView-NOUoiBhH.js → SignoutView-6qFcyBHO.js} +1 -1
- package/dist/assets/{SignupView-D06cun4d.js → SignupView-B9icrcu8.js} +3 -3
- package/dist/assets/{TemplateDetails-rk_My4uB.js → TemplateDetails-BOHIrTqk.js} +1 -1
- package/dist/assets/{TemplateList-BdriMiIx.js → TemplateList-73LLdbNJ.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-Bm07hQFM.js → TemplatesCollectionView-BqyOlCUu.js} +5 -5
- package/dist/assets/{TemplatesSearchView-Bf3SRbIa.js → TemplatesSearchView-nL4pBM1O.js} +3 -3
- package/dist/assets/{TemplatesView-DxMjsDBv.js → TemplatesView-C3n69lEL.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-CP1jwG6W.js → TemplatesWorkflowView-DJhhG1uU.js} +5 -5
- package/dist/assets/{TestDefinitionEditView-BntbT16p.js → TestDefinitionEditView-B7Yku4Yg.js} +11 -18
- package/dist/assets/{TestDefinitionListView-CLiFw2i4.js → TestDefinitionListView-xSYrBXDt.js} +1 -1
- package/dist/assets/{TestDefinitionRootView-Dq2vyM8t.js → TestDefinitionRootView-C_2OO4vg.js} +1 -1
- package/dist/assets/{VariablesView-CIfrpJdg.css → VariablesView-BFkUG61Z.css} +5 -5
- package/dist/assets/{VariablesView-C-mPkz2b.js → VariablesView-DzO7okYK.js} +21 -12
- package/dist/assets/{WorkerView-DOIKhi2W.js → WorkerView-B-GM2PnB.js} +6 -6
- package/dist/assets/{WorkflowActivator-CcQuszbk.js → WorkflowActivator-Bd_Lvcdj.js} +11 -5
- package/dist/assets/{WorkflowActivator-brtYjIty.css → WorkflowActivator-CE8UyVw2.css} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-AONJXhOM.js → WorkflowExecutionsInfoAccordion-CYpfdTlZ.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-C8XFRzTf.js → WorkflowExecutionsLandingPage-Ce03KsyM.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-CqgapiEE.js → WorkflowExecutionsPreview-S9QjNkrU.js} +5 -5
- package/dist/assets/{WorkflowExecutionsView-DLBbg4s6.js → WorkflowExecutionsView-IgYJKRy2.js} +5 -5
- package/dist/assets/{WorkflowHistory-Xzp1cgz9.js → WorkflowHistory-Clbhytld.js} +3 -3
- package/dist/assets/{WorkflowOnboardingView-CM5jKrBr.js → WorkflowOnboardingView-BfwDAozz.js} +1 -1
- package/dist/assets/{WorkflowPreview-CLrfHawQ.js → WorkflowPreview-CR_8gGVk.js} +1 -1
- package/dist/assets/{WorkflowsView-B8QO2U4z.js → WorkflowsView-DhJmVrpz.js} +206 -75
- package/dist/assets/{easyAiWorkflowUtils-BEjLgBYH.js → easyAiWorkflowUtils-DR9xMMTB.js} +1 -1
- package/dist/assets/{global-link-actions-CmKpJf6C.js → global-link-actions-BnYGl3Vl.js} +1 -1
- package/dist/assets/{import-curl-Dm0tXAal.js → import-curl-Bkz3KGtP.js} +1 -1
- package/dist/assets/{index-BgTszcKd.js → index-RIkMj045.js} +185 -112
- package/dist/assets/pickBy-L31B05hi.js +16 -0
- package/dist/assets/{pushConnection.store-Z13Buj1P.js → pushConnection.store-IZqFPTug.js} +1 -1
- package/dist/assets/{templateActions-BsBOWAkR.js → templateActions-Dxsd5OiK.js} +1 -1
- package/dist/assets/{useBeforeUnload-BzdqZUNR.js → useBeforeUnload-Bz5jh_QU.js} +1 -1
- package/dist/assets/{useCanvasMapping-Dj_ctboo.js → useCanvasMapping-eE1iPx8T.js} +18 -3
- package/dist/assets/{useExecutionDebugging-DV8arYl7.js → useExecutionDebugging-0CcRxVaH.js} +1 -1
- package/dist/assets/{useExecutionHelpers-OayET-Qz.js → useExecutionHelpers-DeMd4c8O.js} +1 -1
- package/dist/assets/{useImportCurlCommand-CKdAqJ54.js → useImportCurlCommand-CvS5FUhb.js} +2 -2
- package/dist/assets/{usePushConnection-DT6QRFOS.js → usePushConnection-PppTtKCd.js} +4 -4
- package/dist/assets/{useRunWorkflow-g6q3R4P4.js → useRunWorkflow-Bjok868-.js} +2 -2
- package/dist/assets/{useWorkflowActivate-B4fObrrf.js → useWorkflowActivate-DJ8wir2K.js} +6 -5
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-BJPPrJT6.js +0 -4
package/dist/assets/{WorkflowExecutionsView-DLBbg4s6.js → WorkflowExecutionsView-IgYJKRy2.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { d as defineComponent, U as useRoute, T as useWorkflowsStore, p as useSettingsStore, q as computed, o as onMounted, c as openBlock, h as createElementBlock, i as createVNode, w as withCtx, j as createBaseVNode, e as createBlock, k as createTextVNode, t as toDisplayString, l as unref, n as normalizeClass, f as createCommentVNode, V as VIEWS, g as useI18n, m as resolveComponent, a8 as EnterpriseEditionFeature, _ as _export_sfc, b as useRouter, at as useExecutionsStore, a5 as usePageRedirectionHelper, r as ref, H as watch, F as Fragment, A as renderList, f1 as TransitionGroup, f2 as isComponentPublicInstance, al as getResourcePermissions, a4 as useWorkflowHelpers, eV as onBeforeRouteLeave, dO as getNodeViewTab, an as MAIN_HEADER_TABS, bo as useNodeTypesStore, a as useToast, J as useDebounce, bp as useNodeHelpers, x as onBeforeUnmount, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, f3 as NO_NETWORK_ERROR_CODE, aj as useTelemetry, eQ as NEW_WORKFLOW_ID } from "./index-
|
|
2
|
-
import { _ as _sfc_main$4, C as ConcurrentExecutionsHeader, E as ExecutionsFilter } from "./ConcurrentExecutionsHeader-
|
|
3
|
-
import { u as useExecutionHelpers, t as toDayMonth, a as toTime } from "./useExecutionHelpers-
|
|
4
|
-
import { W as WorkflowExecutionsInfoAccordion } from "./WorkflowExecutionsInfoAccordion-
|
|
5
|
-
import "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import { d as defineComponent, U as useRoute, T as useWorkflowsStore, p as useSettingsStore, q as computed, o as onMounted, c as openBlock, h as createElementBlock, i as createVNode, w as withCtx, j as createBaseVNode, e as createBlock, k as createTextVNode, t as toDisplayString, l as unref, n as normalizeClass, f as createCommentVNode, V as VIEWS, g as useI18n, m as resolveComponent, a8 as EnterpriseEditionFeature, _ as _export_sfc, b as useRouter, at as useExecutionsStore, a5 as usePageRedirectionHelper, r as ref, H as watch, F as Fragment, A as renderList, f1 as TransitionGroup, f2 as isComponentPublicInstance, al as getResourcePermissions, a4 as useWorkflowHelpers, eV as onBeforeRouteLeave, dO as getNodeViewTab, an as MAIN_HEADER_TABS, bo as useNodeTypesStore, a as useToast, J as useDebounce, bp as useNodeHelpers, x as onBeforeUnmount, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, f3 as NO_NETWORK_ERROR_CODE, aj as useTelemetry, eQ as NEW_WORKFLOW_ID } from "./index-RIkMj045.js";
|
|
2
|
+
import { _ as _sfc_main$4, C as ConcurrentExecutionsHeader, E as ExecutionsFilter } from "./ConcurrentExecutionsHeader-BfwpFWPS.js";
|
|
3
|
+
import { u as useExecutionHelpers, t as toDayMonth, a as toTime } from "./useExecutionHelpers-DeMd4c8O.js";
|
|
4
|
+
import { W as WorkflowExecutionsInfoAccordion } from "./WorkflowExecutionsInfoAccordion-CYpfdTlZ.js";
|
|
5
|
+
import "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-HxDJGUtE.js";
|
|
6
6
|
const _hoisted_1$1 = { key: 2 };
|
|
7
7
|
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
8
8
|
__name: "WorkflowExecutionsCard",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { d as defineComponent, r as ref, q as computed, o as onMounted, c as openBlock, h as createElementBlock, s as renderSlot, j as createBaseVNode, t as toDisplayString, i as createVNode, w as withCtx, k as createTextVNode, e as createBlock, l as unref, f as createCommentVNode, n as normalizeClass, I as withModifiers, g as useI18n, m as resolveComponent, gs as dateformat, _ as _export_sfc, F as Fragment, A as renderList, aG as get, R as defineStore, Z as useRootStore, p as useSettingsStore, T as useWorkflowsStore, fJ as getNewWorkflow, U as useRoute, b as useRouter, a as useToast, a5 as usePageRedirectionHelper, K as useUIStore, aw as onBeforeMount, V as VIEWS, bn as watchEffect, f_ as telemetry, al as getResourcePermissions, ap as h, hZ as WORKFLOW_HISTORY_VERSION_RESTORE } from "./index-
|
|
2
|
-
import { W as WorkflowPreview } from "./WorkflowPreview-
|
|
3
|
-
import { F as FileSaver_minExports } from "./FileSaver.min-
|
|
1
|
+
import { d as defineComponent, r as ref, q as computed, o as onMounted, c as openBlock, h as createElementBlock, s as renderSlot, j as createBaseVNode, t as toDisplayString, i as createVNode, w as withCtx, k as createTextVNode, e as createBlock, l as unref, f as createCommentVNode, n as normalizeClass, I as withModifiers, g as useI18n, m as resolveComponent, gs as dateformat, _ as _export_sfc, F as Fragment, A as renderList, aG as get, R as defineStore, Z as useRootStore, p as useSettingsStore, T as useWorkflowsStore, fJ as getNewWorkflow, U as useRoute, b as useRouter, a as useToast, a5 as usePageRedirectionHelper, K as useUIStore, aw as onBeforeMount, V as VIEWS, bn as watchEffect, f_ as telemetry, al as getResourcePermissions, ap as h, hZ as WORKFLOW_HISTORY_VERSION_RESTORE } from "./index-RIkMj045.js";
|
|
2
|
+
import { W as WorkflowPreview } from "./WorkflowPreview-CR_8gGVk.js";
|
|
3
|
+
import { F as FileSaver_minExports } from "./FileSaver.min-BRpBjOSK.js";
|
|
4
4
|
const _hoisted_1$2 = ["datetime"];
|
|
5
5
|
const _hoisted_2$1 = ["value"];
|
|
6
6
|
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
package/dist/assets/{WorkflowOnboardingView-CM5jKrBr.js → WorkflowOnboardingView-BfwDAozz.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as defineComponent, aC as useLoadingService, aM as useTemplatesStore, T as useWorkflowsStore, b as useRouter, U as useRoute, o as onMounted, V as VIEWS, c as openBlock, h as createElementBlock, g as useI18n } from "./index-
|
|
1
|
+
import { d as defineComponent, aC as useLoadingService, aM as useTemplatesStore, T as useWorkflowsStore, b as useRouter, U as useRoute, o as onMounted, V as VIEWS, c as openBlock, h as createElementBlock, g as useI18n } from "./index-RIkMj045.js";
|
|
2
2
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
3
3
|
__name: "WorkflowOnboardingView",
|
|
4
4
|
setup(__props) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as defineComponent, a as useToast, at as useExecutionsStore, r as ref, q as computed, o as onMounted, x as onBeforeUnmount, H as watch, c as openBlock, h as createElementBlock, n as normalizeClass, i as createVNode, f as createCommentVNode, j as createBaseVNode, m as resolveComponent, g as useI18n, _ as _export_sfc } from "./index-
|
|
1
|
+
import { d as defineComponent, a as useToast, at as useExecutionsStore, r as ref, q as computed, o as onMounted, x as onBeforeUnmount, H as watch, c as openBlock, h as createElementBlock, n as normalizeClass, i as createVNode, f as createCommentVNode, j as createBaseVNode, m as resolveComponent, g as useI18n, _ as _export_sfc } from "./index-RIkMj045.js";
|
|
2
2
|
const _hoisted_1 = ["src"];
|
|
3
3
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
4
4
|
__name: "WorkflowPreview",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { R as ResourcesListLayout
|
|
2
|
-
import { d as defineComponent, a as useToast, b as useRouter, p as useSettingsStore, K as useUIStore, u as useUsersStore, T as useWorkflowsStore, a1 as useProjectsStore, q as computed, al as getResourcePermissions, gs as dateformat, m as resolveComponent, c as openBlock, e as createBlock, w as withCtx, i as createVNode, n as normalizeClass, k as createTextVNode, t as toDisplayString, l as unref, f as createCommentVNode, j as createBaseVNode, I as withModifiers, i6 as ResourceType, ax as withDirectives, fB as _sfc_main$2, ay as vShow, h as createElementBlock, g as useI18n, V as VIEWS, ab as WORKFLOW_SHARE_MODAL_KEY, ai as DUPLICATE_MODAL_KEY, ae as MODAL_CONFIRM, i7 as PROJECT_MOVE_RESOURCE_MODAL, ak as useMessage, aj as useTelemetry, _ as _export_sfc, U as useRoute, a0 as useSourceControlStore, au as usePostHog, D as useTagsStore, a3 as useDocumentTitle, r as ref, a8 as EnterpriseEditionFeature,
|
|
3
|
-
import { W as WorkflowActivator } from "./WorkflowActivator-
|
|
4
|
-
import { P as ProjectCardBadge } from "./ProjectCardBadge-
|
|
5
|
-
import { P as ProjectHeader } from "./ProjectHeader-
|
|
6
|
-
import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-
|
|
7
|
-
import "./useWorkflowActivate-
|
|
1
|
+
import { R as ResourcesListLayout } from "./ResourcesListLayout-D9faOv_l.js";
|
|
2
|
+
import { d as defineComponent, a as useToast, b as useRouter, p as useSettingsStore, K as useUIStore, u as useUsersStore, T as useWorkflowsStore, a1 as useProjectsStore, q as computed, al as getResourcePermissions, gs as dateformat, m as resolveComponent, c as openBlock, e as createBlock, w as withCtx, i as createVNode, n as normalizeClass, k as createTextVNode, t as toDisplayString, l as unref, f as createCommentVNode, j as createBaseVNode, I as withModifiers, i6 as ResourceType, ax as withDirectives, fB as _sfc_main$2, ay as vShow, h as createElementBlock, g as useI18n, V as VIEWS, ab as WORKFLOW_SHARE_MODAL_KEY, ai as DUPLICATE_MODAL_KEY, ae as MODAL_CONFIRM, i7 as PROJECT_MOVE_RESOURCE_MODAL, ak as useMessage, aj as useTelemetry, _ as _export_sfc, U as useRoute, a0 as useSourceControlStore, au as usePostHog, D as useTagsStore, a3 as useDocumentTitle, J as useDebounce, r as ref, i8 as DEFAULT_WORKFLOW_PAGE_SIZE, a8 as EnterpriseEditionFeature, i9 as EASY_AI_WORKFLOW_EXPERIMENT, H as watch, o as onMounted, x as onBeforeUnmount, ia as N8nIcon, fF as N8nHeading, ci as N8nText, ib as N8nCard, fT as N8nInputLabel, a7 as _sfc_main$3, cw as N8nSelect, F as Fragment, A as renderList, cC as _sfc_main$4, C as createEventBus, bU as AI_CREDITS_EXPERIMENT } from "./index-RIkMj045.js";
|
|
3
|
+
import { W as WorkflowActivator } from "./WorkflowActivator-Bd_Lvcdj.js";
|
|
4
|
+
import { P as ProjectCardBadge } from "./ProjectCardBadge-J4JiadWD.js";
|
|
5
|
+
import { P as ProjectHeader } from "./ProjectHeader-1XMrORbM.js";
|
|
6
|
+
import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-DR9xMMTB.js";
|
|
7
|
+
import "./useWorkflowActivate-DJ8wir2K.js";
|
|
8
8
|
const _hoisted_1$1 = { key: 0 };
|
|
9
9
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
10
10
|
__name: "WorkflowCard",
|
|
@@ -21,9 +21,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
21
21
|
homeProject: {},
|
|
22
22
|
versionId: ""
|
|
23
23
|
}) },
|
|
24
|
-
readOnly: { type: Boolean, default: false }
|
|
24
|
+
readOnly: { type: Boolean, default: false },
|
|
25
|
+
workflowListEventBus: { default: void 0 }
|
|
25
26
|
},
|
|
26
|
-
emits: ["expand:tags", "click:tag"],
|
|
27
|
+
emits: ["expand:tags", "click:tag", "workflow:deleted", "workflow:active-toggle"],
|
|
27
28
|
setup(__props, { emit: __emit }) {
|
|
28
29
|
const WORKFLOW_LIST_ITEM_ACTIONS = {
|
|
29
30
|
OPEN: "open",
|
|
@@ -119,7 +120,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
119
120
|
name: props.data.name,
|
|
120
121
|
tags: (props.data.tags ?? []).map(
|
|
121
122
|
(tag) => typeof tag !== "string" && "id" in tag ? tag.id : tag
|
|
122
|
-
)
|
|
123
|
+
),
|
|
124
|
+
externalEventBus: props.workflowListEventBus
|
|
123
125
|
}
|
|
124
126
|
});
|
|
125
127
|
break;
|
|
@@ -171,6 +173,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
171
173
|
title: locale.baseText("mainSidebar.showMessage.handleSelect1.title"),
|
|
172
174
|
type: "success"
|
|
173
175
|
});
|
|
176
|
+
emit("workflow:deleted");
|
|
174
177
|
}
|
|
175
178
|
function moveResource() {
|
|
176
179
|
uiStore.openModalWithData({
|
|
@@ -178,10 +181,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
178
181
|
data: {
|
|
179
182
|
resource: props.data,
|
|
180
183
|
resourceType: ResourceType.Workflow,
|
|
181
|
-
resourceTypeLabel: resourceTypeLabel.value
|
|
184
|
+
resourceTypeLabel: resourceTypeLabel.value,
|
|
185
|
+
eventBus: props.workflowListEventBus
|
|
182
186
|
}
|
|
183
187
|
});
|
|
184
188
|
}
|
|
189
|
+
const emitWorkflowActiveToggle = (value) => {
|
|
190
|
+
emit("workflow:active-toggle", value);
|
|
191
|
+
};
|
|
185
192
|
return (_ctx, _cache) => {
|
|
186
193
|
const _component_N8nBadge = resolveComponent("N8nBadge");
|
|
187
194
|
const _component_n8n_heading = resolveComponent("n8n-heading");
|
|
@@ -235,7 +242,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
235
242
|
"workflow-active": _ctx.data.active,
|
|
236
243
|
"workflow-id": _ctx.data.id,
|
|
237
244
|
"workflow-permissions": workflowPermissions.value,
|
|
238
|
-
"data-test-id": "workflow-card-activator"
|
|
245
|
+
"data-test-id": "workflow-card-activator",
|
|
246
|
+
"onUpdate:workflowActive": emitWorkflowActiveToggle
|
|
239
247
|
}, null, 8, ["workflow-active", "workflow-id", "workflow-permissions"]),
|
|
240
248
|
createVNode(_component_n8n_action_toggle, {
|
|
241
249
|
actions: actions.value,
|
|
@@ -313,6 +321,17 @@ const _hoisted_3 = { class: "mb-s" };
|
|
|
313
321
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
314
322
|
__name: "WorkflowsView",
|
|
315
323
|
setup(__props) {
|
|
324
|
+
const StatusFilter = {
|
|
325
|
+
ACTIVE: true,
|
|
326
|
+
DEACTIVATED: false,
|
|
327
|
+
ALL: ""
|
|
328
|
+
};
|
|
329
|
+
const WORKFLOWS_SORT_MAP = {
|
|
330
|
+
lastUpdated: "updatedAt:desc",
|
|
331
|
+
lastCreated: "createdAt:desc",
|
|
332
|
+
nameAsc: "name:asc",
|
|
333
|
+
nameDesc: "name:desc"
|
|
334
|
+
};
|
|
316
335
|
const i18n = useI18n();
|
|
317
336
|
const route = useRoute();
|
|
318
337
|
const router = useRouter();
|
|
@@ -326,11 +345,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
326
345
|
const uiStore = useUIStore();
|
|
327
346
|
const tagsStore = useTagsStore();
|
|
328
347
|
const documentTitle = useDocumentTitle();
|
|
329
|
-
const
|
|
330
|
-
ACTIVE: true,
|
|
331
|
-
DEACTIVATED: false,
|
|
332
|
-
ALL: ""
|
|
333
|
-
};
|
|
348
|
+
const { callDebounced } = useDebounce();
|
|
334
349
|
const loading = ref(false);
|
|
335
350
|
const filters = ref({
|
|
336
351
|
search: "",
|
|
@@ -338,13 +353,33 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
338
353
|
status: StatusFilter.ALL,
|
|
339
354
|
tags: []
|
|
340
355
|
});
|
|
356
|
+
const workflowListEventBus = createEventBus();
|
|
357
|
+
const workflows = ref([]);
|
|
341
358
|
const easyAICalloutVisible = ref(true);
|
|
359
|
+
const currentPage = ref(1);
|
|
360
|
+
const pageSize = ref(DEFAULT_WORKFLOW_PAGE_SIZE);
|
|
361
|
+
const currentSort = ref("updatedAt:desc");
|
|
342
362
|
const readOnlyEnv = computed(() => sourceControlStore.preferences.branchReadOnly);
|
|
343
363
|
const currentUser = computed(() => usersStore.currentUser ?? {});
|
|
344
|
-
const allWorkflows = computed(() => workflowsStore.allWorkflows);
|
|
345
364
|
const isShareable = computed(
|
|
346
365
|
() => settingsStore.isEnterpriseFeatureEnabled[EnterpriseEditionFeature.Sharing]
|
|
347
366
|
);
|
|
367
|
+
const workflowResources = computed(
|
|
368
|
+
() => workflows.value.map((workflow) => ({
|
|
369
|
+
id: workflow.id,
|
|
370
|
+
name: workflow.name,
|
|
371
|
+
value: "",
|
|
372
|
+
active: workflow.active,
|
|
373
|
+
updatedAt: workflow.updatedAt.toString(),
|
|
374
|
+
createdAt: workflow.createdAt.toString(),
|
|
375
|
+
homeProject: workflow.homeProject,
|
|
376
|
+
scopes: workflow.scopes,
|
|
377
|
+
type: "workflow",
|
|
378
|
+
sharedWithProjects: workflow.sharedWithProjects,
|
|
379
|
+
readOnly: !getResourcePermissions(workflow.scopes).workflow.update,
|
|
380
|
+
tags: workflow.tags
|
|
381
|
+
}))
|
|
382
|
+
);
|
|
348
383
|
const statusFilterOptions = computed(() => [
|
|
349
384
|
{
|
|
350
385
|
label: i18n.baseText("workflows.filters.status.all"),
|
|
@@ -378,22 +413,35 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
378
413
|
return i18n.baseText("workflows.empty.description");
|
|
379
414
|
}
|
|
380
415
|
});
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
(tag) => resource.tags?.find(
|
|
386
|
-
(resourceTag) => typeof resourceTag === "object" ? `${resourceTag.id}` === `${tag}` : `${resourceTag}` === `${tag}`
|
|
387
|
-
)
|
|
388
|
-
);
|
|
389
|
-
}
|
|
390
|
-
if (newFilters.status !== "") {
|
|
391
|
-
matches = matches && resource.active === newFilters.status;
|
|
416
|
+
watch(
|
|
417
|
+
() => route.params?.projectId,
|
|
418
|
+
async () => {
|
|
419
|
+
await initialize();
|
|
392
420
|
}
|
|
393
|
-
|
|
421
|
+
);
|
|
422
|
+
onMounted(async () => {
|
|
423
|
+
documentTitle.set(i18n.baseText("workflows.heading"));
|
|
424
|
+
void usersStore.showPersonalizationSurvey();
|
|
425
|
+
workflowListEventBus.on("resource-moved", fetchWorkflows);
|
|
426
|
+
workflowListEventBus.on("workflow-duplicated", fetchWorkflows);
|
|
427
|
+
});
|
|
428
|
+
onBeforeUnmount(() => {
|
|
429
|
+
workflowListEventBus.off("resource-moved", fetchWorkflows);
|
|
430
|
+
workflowListEventBus.off("workflow-duplicated", fetchWorkflows);
|
|
431
|
+
});
|
|
432
|
+
const onFiltersUpdated = async () => {
|
|
433
|
+
currentPage.value = 1;
|
|
434
|
+
saveFiltersOnQueryString();
|
|
435
|
+
await fetchWorkflows();
|
|
394
436
|
};
|
|
395
|
-
const
|
|
396
|
-
|
|
437
|
+
const onSearchUpdated = async (search) => {
|
|
438
|
+
currentPage.value = 1;
|
|
439
|
+
saveFiltersOnQueryString();
|
|
440
|
+
if (search) {
|
|
441
|
+
await callDebounced(fetchWorkflows, { debounceTime: 500, trailing: true });
|
|
442
|
+
} else {
|
|
443
|
+
await fetchWorkflows();
|
|
444
|
+
}
|
|
397
445
|
};
|
|
398
446
|
const addWorkflow = () => {
|
|
399
447
|
uiStore.nodeViewInitialized = false;
|
|
@@ -413,78 +461,132 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
413
461
|
};
|
|
414
462
|
const initialize = async () => {
|
|
415
463
|
loading.value = true;
|
|
416
|
-
await
|
|
464
|
+
await setFiltersFromQueryString();
|
|
465
|
+
const [, workflowsPage] = await Promise.all([
|
|
417
466
|
usersStore.fetchUsers(),
|
|
418
|
-
|
|
467
|
+
fetchWorkflows(),
|
|
419
468
|
workflowsStore.fetchActiveWorkflows()
|
|
420
469
|
]);
|
|
470
|
+
workflows.value = workflowsPage;
|
|
471
|
+
loading.value = false;
|
|
472
|
+
};
|
|
473
|
+
const setCurrentPage = async (page) => {
|
|
474
|
+
currentPage.value = page;
|
|
475
|
+
await fetchWorkflows();
|
|
476
|
+
};
|
|
477
|
+
const setPageSize = async (size) => {
|
|
478
|
+
pageSize.value = size;
|
|
479
|
+
await fetchWorkflows();
|
|
480
|
+
};
|
|
481
|
+
const fetchWorkflows = async () => {
|
|
482
|
+
loading.value = true;
|
|
483
|
+
const routeProjectId = route.params?.projectId;
|
|
484
|
+
const homeProjectFilter = filters.value.homeProject || void 0;
|
|
485
|
+
const fetchedWorkflows = await workflowsStore.fetchWorkflowsPage(
|
|
486
|
+
routeProjectId ?? homeProjectFilter,
|
|
487
|
+
currentPage.value,
|
|
488
|
+
pageSize.value,
|
|
489
|
+
currentSort.value,
|
|
490
|
+
{
|
|
491
|
+
name: filters.value.search || void 0,
|
|
492
|
+
active: filters.value.status ? Boolean(filters.value.status) : void 0,
|
|
493
|
+
tags: filters.value.tags.map((tagId) => tagsStore.tagsById[tagId]?.name)
|
|
494
|
+
}
|
|
495
|
+
);
|
|
496
|
+
workflows.value = fetchedWorkflows;
|
|
421
497
|
loading.value = false;
|
|
498
|
+
return fetchedWorkflows;
|
|
422
499
|
};
|
|
423
|
-
const onClickTag = (tagId) => {
|
|
500
|
+
const onClickTag = async (tagId) => {
|
|
424
501
|
if (!filters.value.tags.includes(tagId)) {
|
|
425
502
|
filters.value.tags.push(tagId);
|
|
503
|
+
currentPage.value = 1;
|
|
504
|
+
saveFiltersOnQueryString();
|
|
505
|
+
await fetchWorkflows();
|
|
426
506
|
}
|
|
427
507
|
};
|
|
428
508
|
const saveFiltersOnQueryString = () => {
|
|
429
|
-
const
|
|
509
|
+
const currentQuery = { ...route.query };
|
|
430
510
|
if (filters.value.search) {
|
|
431
|
-
|
|
511
|
+
currentQuery.search = filters.value.search;
|
|
512
|
+
} else {
|
|
513
|
+
delete currentQuery.search;
|
|
432
514
|
}
|
|
433
515
|
if (typeof filters.value.status !== "string") {
|
|
434
|
-
|
|
516
|
+
currentQuery.status = filters.value.status.toString();
|
|
517
|
+
} else {
|
|
518
|
+
delete currentQuery.status;
|
|
435
519
|
}
|
|
436
520
|
if (filters.value.tags.length) {
|
|
437
|
-
|
|
521
|
+
currentQuery.tags = filters.value.tags.join(",");
|
|
522
|
+
} else {
|
|
523
|
+
delete currentQuery.tags;
|
|
438
524
|
}
|
|
439
525
|
if (filters.value.homeProject) {
|
|
440
|
-
|
|
526
|
+
currentQuery.homeProject = filters.value.homeProject;
|
|
527
|
+
} else {
|
|
528
|
+
delete currentQuery.homeProject;
|
|
441
529
|
}
|
|
442
530
|
void router.replace({
|
|
443
|
-
query: Object.keys(
|
|
531
|
+
query: Object.keys(currentQuery).length ? currentQuery : void 0
|
|
444
532
|
});
|
|
445
533
|
};
|
|
446
534
|
function isValidProjectId(projectId) {
|
|
447
535
|
return projectsStore.availableProjects.some((project) => project.id === projectId);
|
|
448
536
|
}
|
|
449
537
|
const setFiltersFromQueryString = async () => {
|
|
450
|
-
const
|
|
451
|
-
const
|
|
452
|
-
|
|
538
|
+
const newQuery = { ...route.query };
|
|
539
|
+
const { tags, status, search, homeProject, sort } = route.query ?? {};
|
|
540
|
+
const isValidString = (value) => typeof value === "string" && value.trim().length > 0;
|
|
541
|
+
if (isValidString(homeProject)) {
|
|
453
542
|
await projectsStore.getAvailableProjects();
|
|
454
543
|
if (isValidProjectId(homeProject)) {
|
|
455
|
-
|
|
544
|
+
newQuery.homeProject = homeProject;
|
|
545
|
+
filters.value.homeProject = homeProject;
|
|
546
|
+
} else {
|
|
547
|
+
delete newQuery.homeProject;
|
|
456
548
|
}
|
|
549
|
+
} else {
|
|
550
|
+
delete newQuery.homeProject;
|
|
457
551
|
}
|
|
458
|
-
if (search
|
|
459
|
-
|
|
552
|
+
if (isValidString(search)) {
|
|
553
|
+
newQuery.search = search;
|
|
554
|
+
filters.value.search = search;
|
|
555
|
+
} else {
|
|
556
|
+
delete newQuery.search;
|
|
460
557
|
}
|
|
461
|
-
if (tags
|
|
558
|
+
if (isValidString(tags)) {
|
|
462
559
|
await tagsStore.fetchAll();
|
|
463
|
-
const
|
|
464
|
-
|
|
560
|
+
const validTags = tags.split(",").filter((tag) => tagsStore.allTags.map((t) => t.id).includes(tag));
|
|
561
|
+
if (validTags.length) {
|
|
562
|
+
newQuery.tags = validTags.join(",");
|
|
563
|
+
filters.value.tags = validTags;
|
|
564
|
+
} else {
|
|
565
|
+
delete newQuery.tags;
|
|
566
|
+
}
|
|
567
|
+
} else {
|
|
568
|
+
delete newQuery.tags;
|
|
465
569
|
}
|
|
466
|
-
|
|
467
|
-
|
|
570
|
+
const validStatusValues = [StatusFilter.ACTIVE.toString(), StatusFilter.DEACTIVATED.toString()];
|
|
571
|
+
if (isValidString(status) && validStatusValues.includes(status)) {
|
|
572
|
+
newQuery.status = status;
|
|
573
|
+
filters.value.status = status === "true";
|
|
574
|
+
} else {
|
|
575
|
+
delete newQuery.status;
|
|
468
576
|
}
|
|
469
|
-
if (
|
|
470
|
-
|
|
577
|
+
if (isValidString(sort)) {
|
|
578
|
+
const newSort = WORKFLOWS_SORT_MAP[sort] ?? "updatedAt:desc";
|
|
579
|
+
newQuery.sort = sort;
|
|
580
|
+
currentSort.value = newSort;
|
|
581
|
+
} else {
|
|
582
|
+
delete newQuery.sort;
|
|
471
583
|
}
|
|
472
|
-
void router.replace({ query:
|
|
584
|
+
void router.replace({ query: newQuery });
|
|
473
585
|
};
|
|
474
586
|
sourceControlStore.$onAction(({ name, after }) => {
|
|
475
587
|
if (name !== "pullWorkfolder") return;
|
|
476
588
|
after(async () => await initialize());
|
|
477
589
|
});
|
|
478
|
-
watch(filters, () => saveFiltersOnQueryString(), { deep: true });
|
|
479
|
-
watch(
|
|
480
|
-
() => route.params?.projectId,
|
|
481
|
-
async () => await initialize()
|
|
482
|
-
);
|
|
483
|
-
onMounted(async () => {
|
|
484
|
-
documentTitle.set(i18n.baseText("workflows.heading"));
|
|
485
|
-
await setFiltersFromQueryString();
|
|
486
|
-
void usersStore.showPersonalizationSurvey();
|
|
487
|
-
});
|
|
488
590
|
const openAIWorkflow = async (source) => {
|
|
489
591
|
dismissEasyAICallout();
|
|
490
592
|
telemetry.track(
|
|
@@ -508,21 +610,46 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
508
610
|
const dismissEasyAICallout = () => {
|
|
509
611
|
easyAICalloutVisible.value = false;
|
|
510
612
|
};
|
|
613
|
+
const onSortUpdated = async (sort) => {
|
|
614
|
+
currentSort.value = WORKFLOWS_SORT_MAP[sort] ?? "updatedAt:desc";
|
|
615
|
+
if (currentSort.value !== "updatedAt:desc") {
|
|
616
|
+
void router.replace({ query: { ...route.query, sort } });
|
|
617
|
+
} else {
|
|
618
|
+
void router.replace({ query: { ...route.query, sort: void 0 } });
|
|
619
|
+
}
|
|
620
|
+
await fetchWorkflows();
|
|
621
|
+
};
|
|
622
|
+
const onWorkflowActiveToggle = (data) => {
|
|
623
|
+
const workflow = workflows.value.find((w) => w.id === data.id);
|
|
624
|
+
if (!workflow) return;
|
|
625
|
+
workflow.active = data.active;
|
|
626
|
+
};
|
|
511
627
|
return (_ctx, _cache) => {
|
|
512
628
|
const _component_n8n_button = resolveComponent("n8n-button");
|
|
513
629
|
const _component_N8nCallout = resolveComponent("N8nCallout");
|
|
514
630
|
return openBlock(), createBlock(ResourcesListLayout, {
|
|
515
|
-
"resource-key": "workflows",
|
|
516
|
-
resources: allWorkflows.value,
|
|
517
631
|
filters: filters.value,
|
|
518
|
-
"
|
|
632
|
+
"onUpdate:filters": [
|
|
633
|
+
_cache[2] || (_cache[2] = ($event) => filters.value = $event),
|
|
634
|
+
onFiltersUpdated
|
|
635
|
+
],
|
|
636
|
+
"resource-key": "workflows",
|
|
637
|
+
type: "list-paginated",
|
|
638
|
+
resources: workflowResources.value,
|
|
519
639
|
"type-props": { itemSize: 80 },
|
|
520
640
|
shareable: isShareable.value,
|
|
521
641
|
initialize,
|
|
522
642
|
disabled: readOnlyEnv.value || !projectPermissions.value.workflow.create,
|
|
523
|
-
loading:
|
|
643
|
+
loading: false,
|
|
644
|
+
"resources-refreshing": loading.value,
|
|
645
|
+
"custom-page-size": 10,
|
|
646
|
+
"total-items": unref(workflowsStore).totalWorkflowCount,
|
|
647
|
+
"dont-perform-sorting-and-filtering": true,
|
|
524
648
|
"onClick:add": addWorkflow,
|
|
525
|
-
"onUpdate:
|
|
649
|
+
"onUpdate:search": onSearchUpdated,
|
|
650
|
+
"onUpdate:currentPage": setCurrentPage,
|
|
651
|
+
"onUpdate:pageSize": setPageSize,
|
|
652
|
+
onSort: onSortUpdated
|
|
526
653
|
}, {
|
|
527
654
|
header: withCtx(() => [
|
|
528
655
|
createVNode(ProjectHeader)
|
|
@@ -564,15 +691,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
564
691
|
_: 1
|
|
565
692
|
}, 8, ["class"])) : createCommentVNode("", true)
|
|
566
693
|
]),
|
|
567
|
-
|
|
694
|
+
item: withCtx(({ item: data }) => [
|
|
568
695
|
createVNode(WorkflowCard, {
|
|
569
696
|
"data-test-id": "resources-list-item",
|
|
570
697
|
class: "mb-2xs",
|
|
571
698
|
data,
|
|
699
|
+
"workflow-list-event-bus": unref(workflowListEventBus),
|
|
572
700
|
"read-only": readOnlyEnv.value,
|
|
573
|
-
"
|
|
574
|
-
"
|
|
575
|
-
|
|
701
|
+
"onClick:tag": onClickTag,
|
|
702
|
+
"onWorkflow:deleted": fetchWorkflows,
|
|
703
|
+
"onWorkflow:moved": fetchWorkflows,
|
|
704
|
+
"onWorkflow:duplicated": fetchWorkflows,
|
|
705
|
+
"onWorkflow:activeToggle": onWorkflowActiveToggle
|
|
706
|
+
}, null, 8, ["data", "workflow-list-event-bus", "read-only"])
|
|
576
707
|
]),
|
|
577
708
|
empty: withCtx(() => [
|
|
578
709
|
createBaseVNode("div", _hoisted_1, [
|
|
@@ -697,7 +828,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
697
828
|
])
|
|
698
829
|
]),
|
|
699
830
|
_: 1
|
|
700
|
-
}, 8, ["
|
|
831
|
+
}, 8, ["filters", "resources", "shareable", "disabled", "resources-refreshing", "total-items"]);
|
|
701
832
|
};
|
|
702
833
|
}
|
|
703
834
|
});
|