n8n-editor-ui 1.109.2 → 1.110.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-uXL5uFdf.js → AddDataStoreModal-BXMe2_Yo.js} +2 -2
- package/dist/assets/{AnimatedSpinner-Boagztc5.js → AnimatedSpinner-CxbOZIWM.js} +1 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-Dwq22y10.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-D-tU5Nsg.js} +1 -1
- package/dist/assets/{AuthView-CQFbJe0h.js → AuthView-ty01eojq.js} +2 -2
- package/dist/assets/{ChangePasswordView-CBkVzb39.js → ChangePasswordView-nmwMP1GF.js} +3 -3
- package/dist/assets/CollectionParameter-CQji5w8u.js +4 -0
- package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-DfVZTSuh.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CSmXlf80.js} +1 -1
- package/dist/assets/{CredentialsView-CCg2_s6G.js → CredentialsView-IHneFweR.js} +9 -8
- package/dist/assets/{DataStoreActions.vue_vue_type_script_setup_true_lang-DLTdZ7Ze.js → DataStoreActions.vue_vue_type_script_setup_true_lang-Dug6Q9SH.js} +2 -2
- package/dist/assets/{DataStoreDetailsView-BzaPADj6.js → DataStoreDetailsView-BZ7cLl6L.js} +1574 -227
- package/dist/assets/{DataStoreDetailsView-BxDmY87S.css → DataStoreDetailsView-DSpK3R_L.css} +294 -71
- package/dist/assets/{DataStoreView-pwOfUlSA.js → DataStoreView-CzuM5UmJ.js} +26 -39
- package/dist/assets/{DataStoreView-bZrewhaR.css → DataStoreView-D0R0E_jH.css} +9 -10
- package/dist/assets/{DemoFooter-BGbvJOnc.js → DemoFooter-CTFaju55.js} +6 -6
- package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-CHWBnByP.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-DirQeoxa.js} +1 -1
- package/dist/assets/{EntityNotFound-usJAYj1D.js → EntityNotFound-SgHEB5Zx.js} +1 -1
- package/dist/assets/{EntityUnAuthorised-yPCryEik.js → EntityUnAuthorised-Ba1UjrRW.js} +1 -1
- package/dist/assets/{ErrorView-C27mVZu1.js → ErrorView-DR_boVdR.js} +1 -1
- package/dist/assets/{EvaluationsRootView-BwLSDGVp.js → EvaluationsRootView-DutxuCnH.js} +1 -1
- package/dist/assets/{EvaluationsView-Z8XLaPWl.js → EvaluationsView-ClUUTcAC.js} +3 -3
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-Ke2qqrxm.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-_0D6TWFX.js} +2 -2
- package/dist/assets/{ExecutionsView-BHBePl1_.css → ExecutionsView-DpVZbkhT.css} +5 -22
- package/dist/assets/{ExecutionsView-COI1S8Yf.js → ExecutionsView-gF8JMKIq.js} +19 -37
- package/dist/assets/{FixedCollectionParameter-B_SGODND.js → FixedCollectionParameter-D9zye2vX.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-DAd6lpBF.js → ForgotMyPasswordView-EkWEVktJ.js} +3 -3
- package/dist/assets/{InfoAccordion-BHvbx6nt.js → InfoAccordion-u7XlbH6a.js} +1 -1
- package/dist/assets/{InsightsChartAverageRuntime-L1tp64l4.js → InsightsChartAverageRuntime-CoBgniUR.js} +4 -4
- package/dist/assets/{InsightsChartFailed-DDz6H6Hb.js → InsightsChartFailed-Dn6SuM16.js} +4 -4
- package/dist/assets/{InsightsChartFailureRate-CYIxGqMo.js → InsightsChartFailureRate-CJl1j0ob.js} +4 -4
- package/dist/assets/{InsightsChartTimeSaved-BnXbon7j.js → InsightsChartTimeSaved-B5DjojXI.js} +4 -4
- package/dist/assets/{InsightsChartTotal-SpC19AWs.js → InsightsChartTotal-T1SFp7S-.js} +4 -4
- package/dist/assets/{InsightsDashboard-BFYQJXlU.js → InsightsDashboard-CCDahAm5.js} +10 -10
- package/dist/assets/{InsightsPaywall-D70_tWkc.js → InsightsPaywall-Cp82bMTp.js} +1 -1
- package/dist/assets/{InsightsSummary-Bypgyn1_.js → InsightsSummary-I5vKNG0I.js} +1 -1
- package/dist/assets/{InsightsTableWorkflows-B8PrM_XF.js → InsightsTableWorkflows-D1U89HJ4.js} +4 -4
- package/dist/assets/{Logo-NH0xUQnC.js → Logo-DHG_oEvt.js} +1 -1
- package/dist/assets/{LogsPanel-ICU1Y6Hy.js → LogsPanel-CvmnM4bL.js} +32 -20
- package/dist/assets/{MainHeader-BgYgvS2s.js → MainHeader-CTxGLJsC.js} +19 -14
- package/dist/assets/{MainHeader-BofAi8wS.css → MainHeader-pDg5KXTB.css} +16 -16
- package/dist/assets/{MainSidebar-8V8yR1hZ.js → MainSidebar-D_xwIVsL.js} +25 -14
- package/dist/assets/{MainSidebar-D74VZmM5.css → MainSidebar-a73tcV9E.css} +2 -2
- package/dist/assets/{NodeCreation-CxN6JIS_.css → NodeCreation-C4gQlPqI.css} +6 -3
- package/dist/assets/{NodeCreation-BOXv2AR2.js → NodeCreation-iNUuiza-.js} +21 -12
- package/dist/assets/NodeCreator-COTYfPaK.css +1637 -0
- package/dist/assets/{NodeCreator-CbADkgNL.js → NodeCreator-DMpMHPcz.js} +28 -1227
- package/dist/assets/{NodeDetailsView-_1v8ors-.js → NodeDetailsView-BKEGFeZ7.js} +18 -16
- package/dist/assets/{NodeDetailsViewV2-BCBKcayW.js → NodeDetailsViewV2-XPdbzrLu.js} +19 -16
- package/dist/assets/{NodeView-CiaJbQtZ.css → NodeView-BRa11kAq.css} +177 -50
- package/dist/assets/{NodeView-75dKKlK2.js → NodeView-Bj14aKtm.js} +270 -147
- package/dist/assets/PageViewLayout--7SkYsc9.js +27 -0
- package/dist/assets/PageViewLayout-CJlzbuVj.css +141 -0
- package/dist/assets/PrebuiltAgentTemplatesView-B7fK6krA.js +196 -0
- package/dist/assets/PrebuiltAgentTemplatesView-COxu7Iih.css +166 -0
- package/dist/assets/{ProjectBreadcrumb-CcYMzyYS.js → ProjectBreadcrumb-BxMwihEP.js} +1 -1
- package/dist/assets/{ProjectHeader-BGjOBBZs.js → ProjectHeader-CVfPUZNI.js} +39 -5
- package/dist/assets/{ProjectSettings-D8_RWwH6.js → ProjectSettings-t9C-Ly49.js} +10 -10
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CX6d3I0M.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-zVio8c2n.js} +1 -1
- package/dist/assets/{ResourcesListLayout-C1JgyGhX.css → ResourcesListLayout-B5eMf4SI.css} +27 -164
- package/dist/assets/{ResourcesListLayout-CHxMfd0o.js → ResourcesListLayout-O-Z59wTE.js} +25 -45
- package/dist/assets/{RunDataJson-C3t3ZjPB.js → RunDataJson-0J6_FxmM.js} +5 -3
- package/dist/assets/{RunDataJsonActions-B7XqfLFu.js → RunDataJsonActions-ZbUSwg32.js} +1 -1
- package/dist/assets/{RunDataParsedAiContent-C9jVQbY-.js → RunDataParsedAiContent-Byf4f3hM.js} +2 -2
- package/dist/assets/{RunDataSearch-BOte45cu.js → RunDataSearch-CyCbN9Nc.js} +1 -1
- package/dist/assets/{RunDataTable-n918b-Qv.css → RunDataTable-BZzteeuj.css} +54 -53
- package/dist/assets/{RunDataTable-hdfF2k3k.js → RunDataTable-Rj0zhULj.js} +34 -32
- package/dist/assets/{SamlOnboarding-Ba_I74m9.js → SamlOnboarding-UDfF4zGH.js} +3 -3
- package/dist/assets/SelectedItemsInfo-64VntNmH.js +60 -0
- package/dist/assets/SelectedItemsInfo-CfUb0ZrI.css +139 -0
- package/dist/assets/{SettingsApiView-DkWdzJZU.js → SettingsApiView-BMYiuOCY.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-DHJIRIQE.js → SettingsCommunityNodesView-BULfnkhp.js} +4 -4
- package/dist/assets/{SettingsExternalSecrets-L_l-1Oj-.js → SettingsExternalSecrets-DgYPNKtM.js} +1 -1
- package/dist/assets/{SettingsLdapView-BPUQw21m.js → SettingsLdapView-B64PusRO.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-CXFUdTy7.js → SettingsLogStreamingView-DiDxOEmg.js} +1 -1
- package/dist/assets/{SettingsPersonalView-CkOwN5kp.js → SettingsPersonalView-TP__Drcl.js} +1 -1
- package/dist/assets/{SettingsSourceControl-Chxs8lyZ.js → SettingsSourceControl-FiqxT6qx.js} +1 -1
- package/dist/assets/{SettingsSso-CzgNGbQk.js → SettingsSso-e5ntwax1.js} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-CpAkwOo_.js → SettingsUsageAndPlan-BiNhzaI3.js} +1 -1
- package/dist/assets/{SettingsUsersView-C-W3bAek.js → SettingsUsersView-g3odVDFj.js} +1 -1
- package/dist/assets/{SettingsView-CN8rNrUi.js → SettingsView-5M3uETdg.js} +1 -1
- package/dist/assets/{SetupView-DTCdkpy-.js → SetupView-DOX9lfRU.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-pgSHNct2.js → SetupWorkflowCredentialsButton-DMIEMB5C.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-C5u6X-e-.js → SetupWorkflowFromTemplateView-DEJsN9PM.js} +3 -3
- package/dist/assets/{SigninView-XbODXHI6.js → SigninView-FKXG_00n.js} +26 -9
- package/dist/assets/{SignoutView-3SLJrRw6.js → SignoutView-ppJ6lbCU.js} +1 -1
- package/dist/assets/{SignupView-B88aZsHB.js → SignupView-CmcH1BYL.js} +3 -3
- package/dist/assets/{TableBase-DmNxoh-V.js → TableBase-DBeBHkOY.js} +1 -1
- package/dist/assets/{Tag-ZyDcgFEj.js → Tag-BQAJRKFE.js} +1 -1
- package/dist/assets/{Tags-DxSdhB5Q.js → Tags-CdXa3Xx9.js} +2 -2
- package/dist/assets/{TemplateDetails-CFhSg1pL.js → TemplateDetails-BxvljQA3.js} +2 -2
- package/dist/assets/{TemplateList-DgekHTSl.js → TemplateList-CV9csLUI.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-p1JacG9j.js → TemplatesCollectionView-4dKgKAQR.js} +7 -7
- package/dist/assets/{TemplatesSearchView-DkEwSWgX.js → TemplatesSearchView-taSkU7cY.js} +3 -3
- package/dist/assets/{TemplatesView-kwADW1e_.js → TemplatesView-CXSlz1M1.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-BVzxbwUl.js → TemplatesWorkflowView-C-x3Aov1.js} +7 -7
- package/dist/assets/{TriggerPanel-DT2Pi3Ln.js → TriggerPanel-C-c5cPsc.js} +7 -7
- package/dist/assets/{TriggerPanel-BFPMKijE.css → TriggerPanel-DiD8pi0I.css} +4 -4
- package/dist/assets/{VariablesView-Ad8vS5nb.js → VariablesView-C3mX49G9.js} +6 -5
- package/dist/assets/{WorkerView-CbfVnz4y.js → WorkerView-DYK4TcTw.js} +6 -6
- package/dist/assets/{WorkflowActivator-BxX80zGr.js → WorkflowActivator-DZIgVvgL.js} +3 -3
- package/dist/assets/{WorkflowExecutionsInfoAccordion-BZHHQFcf.js → WorkflowExecutionsInfoAccordion-CivRIQhL.js} +2 -2
- package/dist/assets/{WorkflowExecutionsLandingPage-zeaUSp7T.js → WorkflowExecutionsLandingPage-kBAMGqy2.js} +3 -3
- package/dist/assets/{WorkflowExecutionsPreview-CPQUCKk6.js → WorkflowExecutionsPreview-Bnd5-B-d.js} +4 -4
- package/dist/assets/{WorkflowExecutionsView-B7x5IRu_.js → WorkflowExecutionsView-CIfisPDk.js} +7 -7
- package/dist/assets/{WorkflowHistory-DoFfKRnt.js → WorkflowHistory-JXOUdJnK.js} +2 -2
- package/dist/assets/{WorkflowOnboardingView-D8gjC-Ng.js → WorkflowOnboardingView-Dc1KYhGC.js} +1 -1
- package/dist/assets/{WorkflowPreview-BZs8Di_n.js → WorkflowPreview-BF9SI0vn.js} +1 -1
- package/dist/assets/{WorkflowsView-QnB5kP-h.js → WorkflowsView-CTnvp65F.js} +113 -30
- package/dist/assets/{canvas-X-1icOh2.js → canvas-DbK7UyVG.js} +1 -1
- package/dist/assets/{chartjs.utils-DvIjPJm3.js → chartjs.utils-DIRvJRrn.js} +2 -2
- package/dist/assets/{core-CZWe7osv.js → core-Br-UFy15.js} +1 -1
- package/dist/assets/{dataStore.store-XMarLJy8.js → dataStore.store-HuymAG46.js} +49 -29
- package/dist/assets/{en-CLskxc5n.js → en-DdNgUrpa.js} +25 -8
- package/dist/assets/{global-link-actions-C5l8bN84.js → global-link-actions--TiC75iP.js} +1 -1
- package/dist/assets/{index-CeNA_ukL.js → index--OJ5nhDf.js} +16541 -14421
- package/dist/assets/{index-CaZY86md.js → index-D2apwRup.js} +1 -1
- package/dist/assets/{index-Am8RmnT4.css → index-DXNU_2Fk.css} +3613 -1439
- package/dist/assets/{pickBy-DpEqvEPR.js → pickBy-BljOBsPy.js} +1 -1
- package/dist/assets/{readyToRunWorkflows.store-DGBtTmGX.js → readyToRunWorkflows.store-Dhb8bhvk.js} +1 -1
- package/dist/assets/{templateActions-D45UELiN.js → templateActions-B4GEcBXU.js} +1 -1
- package/dist/assets/{useBeforeUnload-DGets1eb.js → useBeforeUnload-ZtUpNFCu.js} +1 -1
- package/dist/assets/{useExecutionDebugging-DDy8bilm.js → useExecutionDebugging-Bve-aaKO.js} +12 -8
- package/dist/assets/{useImportCurlCommand-Dl6INy3z.js → useImportCurlCommand-CAuor9Pu.js} +1 -1
- package/dist/assets/{useProjectPages-xv6Eq2Y5.js → useProjectPages-CH519D2j.js} +1 -1
- package/dist/assets/{usePushConnection-Brn1MCOr.js → usePushConnection-Db77V5LR.js} +8 -3
- package/dist/assets/{useWorkflowActivate-CuNKq-WZ.js → useWorkflowActivate-7Rw9KyzM.js} +1 -1
- package/dist/index.html +2 -2
- package/eslint.config.mjs +1 -0
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-BluoaZU_.js +0 -4
- package/dist/assets/NodeCreator-vQ-Sfr_5.css +0 -3568
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { d as defineComponent, a2 as useRoute, b as useRouter, av as useFoldersStore, r as ref, x as computed, c as useI18n, aF as ProjectTypes, V as VIEWS, a8 as resolveComponent, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, s as N8nCard, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, e as createBlock,
|
|
2
|
-
import { _ as _sfc_main$8 } from "./EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-
|
|
3
|
-
import { B as Breadcrumbs } from "./ProjectBreadcrumb-
|
|
4
|
-
import { W as WorkflowActivator, _ as __unplugin_components_0 } from "./WorkflowActivator-
|
|
5
|
-
import { R as ResourcesListLayout } from "./ResourcesListLayout-
|
|
6
|
-
import { P as ProjectHeader } from "./ProjectHeader-
|
|
7
|
-
import { T as Tags } from "./Tags-
|
|
8
|
-
import { u as useProjectPages } from "./useProjectPages-
|
|
9
|
-
import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-
|
|
10
|
-
import { I as InsightsSummary } from "./InsightsSummary-
|
|
11
|
-
import "./useWorkflowActivate-
|
|
12
|
-
import "./TableBase-
|
|
13
|
-
import "./
|
|
1
|
+
import { d as defineComponent, a2 as useRoute, b as useRouter, av as useFoldersStore, r as ref, x as computed, c as useI18n, aF as ProjectTypes, V as VIEWS, a8 as resolveComponent, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, s as N8nCard, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, e as createBlock, g5 as ProjectCardBadge, l as unref, aS as ResourceType, ed as N8nActionToggle, B as withModifiers, p as N8nText, k as createTextVNode, t as toDisplayString, eK as _sfc_main$7, m as N8nHeading, aK as N8nBadge, N as N8nIcon, _ as _export_sfc, a as useToast, v as useSettingsStore, Q as useUIStore, u as useUsersStore, a1 as useWorkflowsStore, au as useProjectsStore, aB as getResourcePermissions, fY as dateFormat, b2 as withDirectives, b3 as vShow, aN as WORKFLOW_SHARE_MODAL_KEY, al as useTelemetry, aR as DUPLICATE_MODAL_KEY, am as useMessage, an as MODAL_CONFIRM, aT as PROJECT_MOVE_RESOURCE_MODAL, g6 as FOLDER_NAME_ILLEGAL_CHARACTERS_REGEX, g7 as ILLEGAL_FOLDER_CHARACTERS, g8 as FOLDER_NAME_ONLY_DOTS_REGEX, g9 as FOLDER_NAME_MAX_LENGTH, $ as defineStore, dd as usePostHog, bb as useCloudPlanStore, bk as useTemplatesStore, bc as useStorage, ga as LOCAL_STORAGE_EXPERIMENTAL_DISMISSED_SUGGESTED_WORKFLOWS, dk as jsonParse, a7 as watch, fp as TEMPLATE_ONBOARDING_EXPERIMENT, a4 as STORES, z as N8nCallout, C as N8nLink, X as renderSlot, ad as useNodeTypesStore, bl as usePersonalizedTemplatesV2Store, o as onMounted, bX as NodeIcon, bv as EXPERIMENT_TEMPLATE_RECO_V2_KEY, F as Fragment, A as renderList, bm as useCalloutHelpers, af as useSourceControlStore, ar as useTagsStore, e$ as useUsageStore, gb as useInsightsStore, ax as useDocumentTitle, P as useDebounce, aE as EnterpriseEditionFeature, gc as isExtraTemplateLinksExperimentEnabled, aq as createEventBus, W as onBeforeUnmount, ao as debounce, gd as PROJECT_ROOT, aG as useTemplateRef, br as createSlots, a9 as Tooltip, q as N8nButton, cQ as InfoTip, dY as N8nActionBox, e5 as N8nInputLabel, aJ as _sfc_main$9, e8 as N8nSelect, e9 as _sfc_main$a, eZ as N8nCheckbox, ge as Draggable, dK as N8nLoading, aH as InlineRename, gf as DEFAULT_WORKFLOW_PAGE_SIZE, bw as trackTemplatesClick, bx as TemplateClickSource, gg as getEasyAiWorkflowJson, f1 as COMMUNITY_PLUS_ENROLLMENT_MODAL } from "./index--OJ5nhDf.js";
|
|
2
|
+
import { _ as _sfc_main$8 } from "./EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-DirQeoxa.js";
|
|
3
|
+
import { B as Breadcrumbs } from "./ProjectBreadcrumb-BxMwihEP.js";
|
|
4
|
+
import { W as WorkflowActivator, _ as __unplugin_components_0 } from "./WorkflowActivator-DZIgVvgL.js";
|
|
5
|
+
import { R as ResourcesListLayout } from "./ResourcesListLayout-O-Z59wTE.js";
|
|
6
|
+
import { P as ProjectHeader } from "./ProjectHeader-CVfPUZNI.js";
|
|
7
|
+
import { T as Tags } from "./Tags-CdXa3Xx9.js";
|
|
8
|
+
import { u as useProjectPages } from "./useProjectPages-CH519D2j.js";
|
|
9
|
+
import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-Dhb8bhvk.js";
|
|
10
|
+
import { I as InsightsSummary } from "./InsightsSummary-I5vKNG0I.js";
|
|
11
|
+
import "./useWorkflowActivate-7Rw9KyzM.js";
|
|
12
|
+
import "./TableBase-DBeBHkOY.js";
|
|
13
|
+
import "./PageViewLayout--7SkYsc9.js";
|
|
14
|
+
import "./Tag-BQAJRKFE.js";
|
|
14
15
|
const FOLDER_LIST_ITEM_ACTIONS = {
|
|
15
16
|
OPEN: "open",
|
|
16
17
|
CREATE: "create",
|
|
@@ -305,7 +306,7 @@ const style0$6 = {
|
|
|
305
306
|
const cssModules$6 = {
|
|
306
307
|
"$style": style0$6
|
|
307
308
|
};
|
|
308
|
-
const
|
|
309
|
+
const __unplugin_components_5 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__cssModules", cssModules$6]]);
|
|
309
310
|
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
310
311
|
__name: "WorkflowCard",
|
|
311
312
|
props: {
|
|
@@ -1302,6 +1303,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1302
1303
|
const message = useMessage();
|
|
1303
1304
|
const toast = useToast();
|
|
1304
1305
|
const folderHelpers = useFolders();
|
|
1306
|
+
const calloutHelpers = useCalloutHelpers();
|
|
1305
1307
|
const sourceControlStore = useSourceControlStore();
|
|
1306
1308
|
const usersStore = useUsersStore();
|
|
1307
1309
|
const workflowsStore = useWorkflowsStore();
|
|
@@ -1531,6 +1533,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1531
1533
|
// but also on the overview page
|
|
1532
1534
|
(projectPages.isOverviewSubPage || hasPermissionToCreateFolders.value && hasPermissionToCreateWorkflows.value);
|
|
1533
1535
|
});
|
|
1536
|
+
const showPrebuiltAgentsCallout = computed(() => {
|
|
1537
|
+
return !loading.value && calloutHelpers.isPreBuiltAgentsCalloutVisible.value && !calloutHelpers.isCalloutDismissed("preBuiltAgentsModalCallout") && !readOnlyEnv.value && // We want to show the callout only if the user has permissions to create folders and workflows
|
|
1538
|
+
// but also on the overview page
|
|
1539
|
+
(projectPages.isOverviewSubPage || hasPermissionToCreateFolders.value && hasPermissionToCreateWorkflows.value);
|
|
1540
|
+
});
|
|
1534
1541
|
const showPersonalizedTemplates = computed(
|
|
1535
1542
|
() => !loading.value && personalizedTemplatesStore.isFeatureEnabled()
|
|
1536
1543
|
);
|
|
@@ -1863,6 +1870,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1863
1870
|
return;
|
|
1864
1871
|
}
|
|
1865
1872
|
};
|
|
1873
|
+
const openPrebuiltAgentsModal = (source) => {
|
|
1874
|
+
void calloutHelpers.openPreBuiltAgentsModal(source);
|
|
1875
|
+
};
|
|
1866
1876
|
const handleCreateReadyToRunWorkflows = async (source) => {
|
|
1867
1877
|
try {
|
|
1868
1878
|
const projectId = projectPages.isOverviewSubPage ? personalProject.value?.id : route.params.projectId;
|
|
@@ -1904,6 +1914,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1904
1914
|
const dismissEasyAICallout = () => {
|
|
1905
1915
|
easyAICalloutVisible.value = false;
|
|
1906
1916
|
};
|
|
1917
|
+
const dismissPreBuiltAgentsCallout = () => {
|
|
1918
|
+
void calloutHelpers.dismissCallout("preBuiltAgentsModalCallout");
|
|
1919
|
+
};
|
|
1907
1920
|
const openAIWorkflow = async (source) => {
|
|
1908
1921
|
dismissEasyAICallout();
|
|
1909
1922
|
telemetry.track("User clicked test AI workflow", {
|
|
@@ -2541,19 +2554,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2541
2554
|
};
|
|
2542
2555
|
return (_ctx, _cache) => {
|
|
2543
2556
|
const _component_N8nTooltip = Tooltip;
|
|
2557
|
+
const _component_N8nLink = N8nLink;
|
|
2544
2558
|
const _component_N8nCallout = N8nCallout;
|
|
2545
2559
|
const _component_n8n_loading = N8nLoading;
|
|
2546
2560
|
const _component_FolderBreadcrumbs = __unplugin_components_0;
|
|
2547
|
-
const _component_FolderCard =
|
|
2561
|
+
const _component_FolderCard = __unplugin_components_5;
|
|
2548
2562
|
const _component_EmptySharedSectionActionBox = _sfc_main$8;
|
|
2549
2563
|
const _component_N8nCheckbox = N8nCheckbox;
|
|
2550
|
-
const _component_N8nLink = N8nLink;
|
|
2551
2564
|
const _component_N8nInfoTip = InfoTip;
|
|
2552
2565
|
const _component_N8nActionBox = N8nActionBox;
|
|
2553
2566
|
return openBlock(), createBlock(ResourcesListLayout, {
|
|
2554
2567
|
filters: filters.value,
|
|
2555
2568
|
"onUpdate:filters": [
|
|
2556
|
-
_cache[
|
|
2569
|
+
_cache[9] || (_cache[9] = ($event) => filters.value = $event),
|
|
2557
2570
|
onFiltersUpdated
|
|
2558
2571
|
],
|
|
2559
2572
|
"resource-key": "workflows",
|
|
@@ -2588,9 +2601,50 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2588
2601
|
})
|
|
2589
2602
|
]),
|
|
2590
2603
|
callout: withCtx(() => [
|
|
2591
|
-
|
|
2604
|
+
showPrebuiltAgentsCallout.value ? (openBlock(), createBlock(_component_N8nCallout, {
|
|
2592
2605
|
key: 0,
|
|
2593
2606
|
theme: "secondary",
|
|
2607
|
+
icon: "bot",
|
|
2608
|
+
"icon-size": "large",
|
|
2609
|
+
class: normalizeClass(_ctx.$style["easy-ai-workflow-callout"])
|
|
2610
|
+
}, {
|
|
2611
|
+
trailingContent: withCtx(() => [
|
|
2612
|
+
createBaseVNode("div", {
|
|
2613
|
+
class: normalizeClass(_ctx.$style["callout-trailing-content"])
|
|
2614
|
+
}, [
|
|
2615
|
+
createVNode(unref(N8nIcon), {
|
|
2616
|
+
size: "small",
|
|
2617
|
+
icon: "x",
|
|
2618
|
+
title: unref(i18n).baseText("generic.dismiss"),
|
|
2619
|
+
class: "clickable",
|
|
2620
|
+
onClick: _cache[1] || (_cache[1] = ($event) => dismissPreBuiltAgentsCallout())
|
|
2621
|
+
}, null, 8, ["title"])
|
|
2622
|
+
], 2)
|
|
2623
|
+
]),
|
|
2624
|
+
default: withCtx(() => [
|
|
2625
|
+
createVNode(unref(N8nText), { size: "small" }, {
|
|
2626
|
+
default: withCtx(() => [
|
|
2627
|
+
createTextVNode(toDisplayString(unref(i18n).baseText("workflows.preBuiltAgents.callout")) + " " + toDisplayString(" ") + " ", 1),
|
|
2628
|
+
createVNode(_component_N8nLink, {
|
|
2629
|
+
theme: "secondary",
|
|
2630
|
+
size: "small",
|
|
2631
|
+
bold: true,
|
|
2632
|
+
underline: true,
|
|
2633
|
+
onClick: _cache[0] || (_cache[0] = ($event) => openPrebuiltAgentsModal("workflowsEmptyState"))
|
|
2634
|
+
}, {
|
|
2635
|
+
default: withCtx(() => [
|
|
2636
|
+
createTextVNode(toDisplayString(unref(i18n).baseText("workflows.preBuiltAgents.linkText")), 1)
|
|
2637
|
+
]),
|
|
2638
|
+
_: 1
|
|
2639
|
+
})
|
|
2640
|
+
]),
|
|
2641
|
+
_: 1
|
|
2642
|
+
})
|
|
2643
|
+
]),
|
|
2644
|
+
_: 1
|
|
2645
|
+
}, 8, ["class"])) : showAIStarterCollectionCallout.value ? (openBlock(), createBlock(_component_N8nCallout, {
|
|
2646
|
+
key: 1,
|
|
2647
|
+
theme: "secondary",
|
|
2594
2648
|
icon: "gift",
|
|
2595
2649
|
class: normalizeClass(_ctx.$style["easy-ai-workflow-callout"])
|
|
2596
2650
|
}, {
|
|
@@ -2602,7 +2656,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2602
2656
|
"data-test-id": "easy-ai-button",
|
|
2603
2657
|
size: "small",
|
|
2604
2658
|
type: "secondary",
|
|
2605
|
-
onClick: _cache[
|
|
2659
|
+
onClick: _cache[2] || (_cache[2] = ($event) => createAIStarterWorkflows("callout"))
|
|
2606
2660
|
}, {
|
|
2607
2661
|
default: withCtx(() => [
|
|
2608
2662
|
createTextVNode(toDisplayString(unref(i18n).baseText("generic.startNow")), 1)
|
|
@@ -2622,7 +2676,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2622
2676
|
createTextVNode(toDisplayString(unref(i18n).baseText("workflows.ai.starter.collection.callout")) + " ", 1)
|
|
2623
2677
|
]),
|
|
2624
2678
|
_: 1
|
|
2625
|
-
}, 8, ["class"])) : showPersonalizedTemplates.value ? (openBlock(), createBlock(SuggestedWorkflows, { key:
|
|
2679
|
+
}, 8, ["class"])) : showPersonalizedTemplates.value ? (openBlock(), createBlock(SuggestedWorkflows, { key: 2 }, {
|
|
2626
2680
|
default: withCtx(() => [
|
|
2627
2681
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(personalizedTemplatesStore).suggestedWorkflows, (workflow) => {
|
|
2628
2682
|
return openBlock(), createBlock(SuggestedWorkflowCard, {
|
|
@@ -2638,7 +2692,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2638
2692
|
_: 1
|
|
2639
2693
|
})) : createCommentVNode("", true),
|
|
2640
2694
|
showReadyToRunWorkflowsCallout.value ? (openBlock(), createBlock(_component_N8nCallout, {
|
|
2641
|
-
key:
|
|
2695
|
+
key: 3,
|
|
2642
2696
|
theme: "secondary",
|
|
2643
2697
|
icon: "bolt-filled",
|
|
2644
2698
|
class: normalizeClass(_ctx.$style["easy-ai-workflow-callout"])
|
|
@@ -2651,7 +2705,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2651
2705
|
"data-test-id": "easy-ai-button",
|
|
2652
2706
|
size: "small",
|
|
2653
2707
|
type: "secondary",
|
|
2654
|
-
onClick: _cache[
|
|
2708
|
+
onClick: _cache[3] || (_cache[3] = ($event) => handleCreateReadyToRunWorkflows("callout"))
|
|
2655
2709
|
}, {
|
|
2656
2710
|
default: withCtx(() => [
|
|
2657
2711
|
createTextVNode(toDisplayString(unref(i18n).baseText("generic.startNow")), 1)
|
|
@@ -2813,7 +2867,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2813
2867
|
"onWorkflow:duplicated": fetchWorkflows,
|
|
2814
2868
|
"onWorkflow:activeToggle": onWorkflowActiveToggle,
|
|
2815
2869
|
"onAction:moveToFolder": moveWorkflowToFolder,
|
|
2816
|
-
onMouseenter: _cache[
|
|
2870
|
+
onMouseenter: _cache[4] || (_cache[4] = ($event) => isDragging.value ? unref(folderHelpers).resetDropTarget() : {})
|
|
2817
2871
|
}, null, 8, ["class", "data", "workflow-list-event-bus", "read-only", "data-resourceid", "data-resourcename", "show-ownership-badge"])
|
|
2818
2872
|
]),
|
|
2819
2873
|
_: 2
|
|
@@ -2881,12 +2935,41 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2881
2935
|
]),
|
|
2882
2936
|
_: 1
|
|
2883
2937
|
}, 8, ["class"]),
|
|
2884
|
-
|
|
2938
|
+
showPrebuiltAgentsCallout.value ? (openBlock(), createBlock(unref(N8nCard), {
|
|
2885
2939
|
key: 0,
|
|
2886
2940
|
class: normalizeClass(_ctx.$style.emptyStateCard),
|
|
2887
2941
|
hoverable: "",
|
|
2942
|
+
"data-test-id": "prebuilt-agents-card",
|
|
2943
|
+
onClick: _cache[5] || (_cache[5] = ($event) => openPrebuiltAgentsModal("workflowsList"))
|
|
2944
|
+
}, {
|
|
2945
|
+
default: withCtx(() => [
|
|
2946
|
+
createBaseVNode("div", {
|
|
2947
|
+
class: normalizeClass(_ctx.$style.emptyStateCardContent)
|
|
2948
|
+
}, [
|
|
2949
|
+
createVNode(unref(N8nIcon), {
|
|
2950
|
+
class: normalizeClass(_ctx.$style.emptyStateCardIcon),
|
|
2951
|
+
"stroke-width": 1.5,
|
|
2952
|
+
icon: "bot",
|
|
2953
|
+
color: "foreground-dark"
|
|
2954
|
+
}, null, 8, ["class"]),
|
|
2955
|
+
createVNode(unref(N8nText), {
|
|
2956
|
+
size: "large",
|
|
2957
|
+
class: "mt-xs pl-2xs pr-2xs"
|
|
2958
|
+
}, {
|
|
2959
|
+
default: withCtx(() => [
|
|
2960
|
+
createTextVNode(toDisplayString(unref(i18n).baseText("workflows.empty.preBuiltAgents")), 1)
|
|
2961
|
+
]),
|
|
2962
|
+
_: 1
|
|
2963
|
+
})
|
|
2964
|
+
], 2)
|
|
2965
|
+
]),
|
|
2966
|
+
_: 1
|
|
2967
|
+
}, 8, ["class"])) : showAIStarterCollectionCallout.value ? (openBlock(), createBlock(unref(N8nCard), {
|
|
2968
|
+
key: 1,
|
|
2969
|
+
class: normalizeClass(_ctx.$style.emptyStateCard),
|
|
2970
|
+
hoverable: "",
|
|
2888
2971
|
"data-test-id": "easy-ai-workflow-card",
|
|
2889
|
-
onClick: _cache[
|
|
2972
|
+
onClick: _cache[6] || (_cache[6] = ($event) => createAIStarterWorkflows("card"))
|
|
2890
2973
|
}, {
|
|
2891
2974
|
default: withCtx(() => [
|
|
2892
2975
|
createBaseVNode("div", {
|
|
@@ -2911,11 +2994,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2911
2994
|
]),
|
|
2912
2995
|
_: 1
|
|
2913
2996
|
}, 8, ["class"])) : showEasyAIWorkflowCallout.value ? (openBlock(), createBlock(unref(N8nCard), {
|
|
2914
|
-
key:
|
|
2997
|
+
key: 2,
|
|
2915
2998
|
class: normalizeClass(_ctx.$style.emptyStateCard),
|
|
2916
2999
|
hoverable: "",
|
|
2917
3000
|
"data-test-id": "easy-ai-workflow-card",
|
|
2918
|
-
onClick: _cache[
|
|
3001
|
+
onClick: _cache[7] || (_cache[7] = ($event) => openAIWorkflow("empty"))
|
|
2919
3002
|
}, {
|
|
2920
3003
|
default: withCtx(() => [
|
|
2921
3004
|
createBaseVNode("div", {
|
|
@@ -2941,11 +3024,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2941
3024
|
_: 1
|
|
2942
3025
|
}, 8, ["class"])) : createCommentVNode("", true),
|
|
2943
3026
|
showReadyToRunWorkflowsCallout.value ? (openBlock(), createBlock(unref(N8nCard), {
|
|
2944
|
-
key:
|
|
3027
|
+
key: 3,
|
|
2945
3028
|
class: normalizeClass(_ctx.$style.emptyStateCard),
|
|
2946
3029
|
hoverable: "",
|
|
2947
3030
|
"data-test-id": "ready-to-run-workflows-card",
|
|
2948
|
-
onClick: _cache[
|
|
3031
|
+
onClick: _cache[8] || (_cache[8] = ($event) => handleCreateReadyToRunWorkflows("card"))
|
|
2949
3032
|
}, {
|
|
2950
3033
|
default: withCtx(() => [
|
|
2951
3034
|
createBaseVNode("div", {
|
|
@@ -2971,7 +3054,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2971
3054
|
_: 1
|
|
2972
3055
|
}, 8, ["class"])) : createCommentVNode("", true),
|
|
2973
3056
|
templatesCardEnabled.value ? (openBlock(), createBlock(unref(N8nCard), {
|
|
2974
|
-
key:
|
|
3057
|
+
key: 4,
|
|
2975
3058
|
class: normalizeClass(_ctx.$style.emptyStateCard),
|
|
2976
3059
|
hoverable: "",
|
|
2977
3060
|
"data-test-id": "new-workflow-from-template-card",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { s as smartDecimal } from "./InsightsSummary-
|
|
1
|
+
import { f$ as useCssVar, hV as merge } from "./index--OJ5nhDf.js";
|
|
2
|
+
import { s as smartDecimal } from "./InsightsSummary-I5vKNG0I.js";
|
|
3
3
|
const generateLinearGradient = (ctx, height) => {
|
|
4
4
|
const gradient = ctx.createLinearGradient(0, 0, 0, height);
|
|
5
5
|
gradient.addColorStop(0, "rgba(255, 111,92, 1)");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as defineComponent, r as ref,
|
|
1
|
+
import { d as defineComponent, r as ref, fv as MarkdownIt, x as computed, aW as h, bS as getDefaultExportFromCjs } from "./index--OJ5nhDf.js";
|
|
2
2
|
const VueMarkdown = defineComponent({
|
|
3
3
|
name: "VueMarkdown",
|
|
4
4
|
props: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { f6 as makeRestApiRequest, $ as defineStore, at as useRootStore, au as useProjectsStore, r as ref, gG as DATA_STORE_STORE } from "./index--OJ5nhDf.js";
|
|
2
2
|
const fetchDataStoresApi = async (context, projectId, options, filter) => {
|
|
3
|
-
const apiEndpoint = projectId ? `/projects/${projectId}/data-
|
|
3
|
+
const apiEndpoint = projectId ? `/projects/${projectId}/data-tables` : "/data-tables-global";
|
|
4
4
|
return await makeRestApiRequest(
|
|
5
5
|
context,
|
|
6
6
|
"GET",
|
|
@@ -15,7 +15,7 @@ const createDataStoreApi = async (context, name, projectId, columns) => {
|
|
|
15
15
|
return await makeRestApiRequest(
|
|
16
16
|
context,
|
|
17
17
|
"POST",
|
|
18
|
-
`/projects/${projectId}/data-
|
|
18
|
+
`/projects/${projectId}/data-tables`,
|
|
19
19
|
{
|
|
20
20
|
name,
|
|
21
21
|
columns: []
|
|
@@ -26,7 +26,7 @@ const deleteDataStoreApi = async (context, dataStoreId, projectId) => {
|
|
|
26
26
|
return await makeRestApiRequest(
|
|
27
27
|
context,
|
|
28
28
|
"DELETE",
|
|
29
|
-
`/projects/${projectId}/data-
|
|
29
|
+
`/projects/${projectId}/data-tables/${dataStoreId}`,
|
|
30
30
|
{
|
|
31
31
|
dataStoreId,
|
|
32
32
|
projectId
|
|
@@ -37,7 +37,7 @@ const updateDataStoreApi = async (context, dataStoreId, name, projectId) => {
|
|
|
37
37
|
return await makeRestApiRequest(
|
|
38
38
|
context,
|
|
39
39
|
"PATCH",
|
|
40
|
-
`/projects/${projectId}/data-
|
|
40
|
+
`/projects/${projectId}/data-tables/${dataStoreId}`,
|
|
41
41
|
{
|
|
42
42
|
name
|
|
43
43
|
}
|
|
@@ -47,7 +47,7 @@ const addDataStoreColumnApi = async (context, dataStoreId, projectId, column) =>
|
|
|
47
47
|
return await makeRestApiRequest(
|
|
48
48
|
context,
|
|
49
49
|
"POST",
|
|
50
|
-
`/projects/${projectId}/data-
|
|
50
|
+
`/projects/${projectId}/data-tables/${dataStoreId}/columns`,
|
|
51
51
|
{
|
|
52
52
|
...column
|
|
53
53
|
}
|
|
@@ -57,21 +57,21 @@ const deleteDataStoreColumnApi = async (context, dataStoreId, projectId, columnI
|
|
|
57
57
|
return await makeRestApiRequest(
|
|
58
58
|
context,
|
|
59
59
|
"DELETE",
|
|
60
|
-
`/projects/${projectId}/data-
|
|
60
|
+
`/projects/${projectId}/data-tables/${dataStoreId}/columns/${columnId}`
|
|
61
61
|
);
|
|
62
62
|
};
|
|
63
63
|
const moveDataStoreColumnApi = async (context, dataStoreId, projectId, columnId, targetIndex) => {
|
|
64
64
|
return await makeRestApiRequest(
|
|
65
65
|
context,
|
|
66
66
|
"PATCH",
|
|
67
|
-
`/projects/${projectId}/data-
|
|
67
|
+
`/projects/${projectId}/data-tables/${dataStoreId}/columns/${columnId}/move`,
|
|
68
68
|
{
|
|
69
69
|
targetIndex
|
|
70
70
|
}
|
|
71
71
|
);
|
|
72
72
|
};
|
|
73
73
|
const getDataStoreRowsApi = async (context, dataStoreId, projectId, options) => {
|
|
74
|
-
return await makeRestApiRequest(context, "GET", `/projects/${projectId}/data-
|
|
74
|
+
return await makeRestApiRequest(context, "GET", `/projects/${projectId}/data-tables/${dataStoreId}/rows`, {
|
|
75
75
|
...options ?? {}
|
|
76
76
|
});
|
|
77
77
|
};
|
|
@@ -79,8 +79,9 @@ const insertDataStoreRowApi = async (context, dataStoreId, row, projectId) => {
|
|
|
79
79
|
return await makeRestApiRequest(
|
|
80
80
|
context,
|
|
81
81
|
"POST",
|
|
82
|
-
`/projects/${projectId}/data-
|
|
82
|
+
`/projects/${projectId}/data-tables/${dataStoreId}/insert`,
|
|
83
83
|
{
|
|
84
|
+
returnData: true,
|
|
84
85
|
data: [row]
|
|
85
86
|
}
|
|
86
87
|
);
|
|
@@ -89,13 +90,35 @@ const updateDataStoreRowsApi = async (context, dataStoreId, rowId, rowData, proj
|
|
|
89
90
|
return await makeRestApiRequest(
|
|
90
91
|
context,
|
|
91
92
|
"PATCH",
|
|
92
|
-
`/projects/${projectId}/data-
|
|
93
|
+
`/projects/${projectId}/data-tables/${dataStoreId}/rows`,
|
|
93
94
|
{
|
|
94
95
|
filter: { id: rowId },
|
|
95
96
|
data: rowData
|
|
96
97
|
}
|
|
97
98
|
);
|
|
98
99
|
};
|
|
100
|
+
const deleteDataStoreRowsApi = async (context, dataStoreId, rowIds, projectId) => {
|
|
101
|
+
return await makeRestApiRequest(
|
|
102
|
+
context,
|
|
103
|
+
"DELETE",
|
|
104
|
+
`/projects/${projectId}/data-tables/${dataStoreId}/rows`,
|
|
105
|
+
{
|
|
106
|
+
ids: rowIds.join(",")
|
|
107
|
+
}
|
|
108
|
+
);
|
|
109
|
+
};
|
|
110
|
+
const reorderItem = (items, oldIndex, newIndex) => {
|
|
111
|
+
return items.map((item) => {
|
|
112
|
+
if (item.index === oldIndex) return { ...item, index: newIndex };
|
|
113
|
+
if (oldIndex < newIndex && item.index > oldIndex && item.index <= newIndex) {
|
|
114
|
+
return { ...item, index: item.index - 1 };
|
|
115
|
+
}
|
|
116
|
+
if (oldIndex > newIndex && item.index >= newIndex && item.index < oldIndex) {
|
|
117
|
+
return { ...item, index: item.index + 1 };
|
|
118
|
+
}
|
|
119
|
+
return item;
|
|
120
|
+
});
|
|
121
|
+
};
|
|
99
122
|
const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
|
|
100
123
|
const rootStore = useRootStore();
|
|
101
124
|
const projectStore = useProjectsStore();
|
|
@@ -205,34 +228,26 @@ const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
|
|
|
205
228
|
if (moved) {
|
|
206
229
|
const dsIndex = dataStores.value.findIndex((store) => store.id === datastoreId);
|
|
207
230
|
const fromIndex = dataStores.value[dsIndex].columns.findIndex((col) => col.id === columnId);
|
|
208
|
-
dataStores.value[dsIndex].columns =
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
if (fromIndex > targetIndex && col.index >= targetIndex && col.index < fromIndex) {
|
|
214
|
-
return { ...col, index: col.index + 1 };
|
|
215
|
-
}
|
|
216
|
-
return col;
|
|
217
|
-
});
|
|
231
|
+
dataStores.value[dsIndex].columns = reorderItem(
|
|
232
|
+
dataStores.value[dsIndex].columns,
|
|
233
|
+
fromIndex,
|
|
234
|
+
targetIndex
|
|
235
|
+
);
|
|
218
236
|
}
|
|
219
237
|
return moved;
|
|
220
238
|
};
|
|
221
|
-
const fetchDataStoreContent = async (datastoreId, projectId, page, pageSize) => {
|
|
239
|
+
const fetchDataStoreContent = async (datastoreId, projectId, page, pageSize, sortBy) => {
|
|
222
240
|
return await getDataStoreRowsApi(rootStore.restApiContext, datastoreId, projectId, {
|
|
223
241
|
skip: (page - 1) * pageSize,
|
|
224
|
-
take: pageSize
|
|
242
|
+
take: pageSize,
|
|
243
|
+
sortBy
|
|
225
244
|
});
|
|
226
245
|
};
|
|
227
246
|
const insertEmptyRow = async (dataStore) => {
|
|
228
|
-
const emptyRow = {};
|
|
229
|
-
dataStore.columns.forEach((column) => {
|
|
230
|
-
emptyRow[column.name] = null;
|
|
231
|
-
});
|
|
232
247
|
const inserted = await insertDataStoreRowApi(
|
|
233
248
|
rootStore.restApiContext,
|
|
234
249
|
dataStore.id,
|
|
235
|
-
|
|
250
|
+
{},
|
|
236
251
|
dataStore.projectId
|
|
237
252
|
);
|
|
238
253
|
return inserted[0];
|
|
@@ -246,6 +261,9 @@ const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
|
|
|
246
261
|
projectId
|
|
247
262
|
);
|
|
248
263
|
};
|
|
264
|
+
const deleteRows = async (dataStoreId, projectId, rowIds) => {
|
|
265
|
+
return await deleteDataStoreRowsApi(rootStore.restApiContext, dataStoreId, rowIds, projectId);
|
|
266
|
+
};
|
|
249
267
|
return {
|
|
250
268
|
dataStores,
|
|
251
269
|
totalCount,
|
|
@@ -260,9 +278,11 @@ const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
|
|
|
260
278
|
moveDataStoreColumn,
|
|
261
279
|
fetchDataStoreContent,
|
|
262
280
|
insertEmptyRow,
|
|
263
|
-
updateRow
|
|
281
|
+
updateRow,
|
|
282
|
+
deleteRows
|
|
264
283
|
};
|
|
265
284
|
});
|
|
266
285
|
export {
|
|
286
|
+
reorderItem as r,
|
|
267
287
|
useDataStoreStore as u
|
|
268
288
|
};
|
|
@@ -86,6 +86,8 @@ const en = {
|
|
|
86
86
|
"generic.unknownError": "An unknown error occurred",
|
|
87
87
|
"generic.upgradeToEnterprise": "Upgrade to Enterprise",
|
|
88
88
|
"generic.never": "Never",
|
|
89
|
+
"generic.list.clearSelection": "Clear selection",
|
|
90
|
+
"generic.list.selected": "{count} row selected: | {count} rows selected:",
|
|
89
91
|
"about.aboutN8n": "About n8n",
|
|
90
92
|
"about.close": "Close",
|
|
91
93
|
"about.license": "License",
|
|
@@ -97,6 +99,9 @@ const en = {
|
|
|
97
99
|
"about.debug.message": "Copy debug information",
|
|
98
100
|
"about.debug.toast.title": "Debug info",
|
|
99
101
|
"about.debug.toast.message": "Copied debug info to clipboard",
|
|
102
|
+
"about.thirdPartyLicenses": "Third-Party Licenses",
|
|
103
|
+
"about.thirdPartyLicensesLink": "View all third-party licenses",
|
|
104
|
+
"about.thirdPartyLicenses.downloadError": "Failed to download third-party licenses file",
|
|
100
105
|
"askAi.dialog.title": "'Ask AI' is almost ready",
|
|
101
106
|
"askAi.dialog.body": "We’re still applying the finishing touches. Soon, you will be able to <strong>automatically generate code from simple text prompts</strong>. Join the waitlist to get early access to this feature.",
|
|
102
107
|
"askAi.dialog.signup": "Join Waitlist",
|
|
@@ -170,6 +175,10 @@ const en = {
|
|
|
170
175
|
"aiAssistant.builder.canvasPrompt.startManually.title": "Start manually",
|
|
171
176
|
"aiAssistant.builder.canvasPrompt.startManually.subTitle": "Add the first node",
|
|
172
177
|
"aiAssistant.builder.streamAbortedMessage": "[Task aborted]",
|
|
178
|
+
"aiAssistant.builder.plan.intro": "Do you want to proceed with this plan?",
|
|
179
|
+
"aiAssistant.builder.plan.approve": "Approve Plan",
|
|
180
|
+
"aiAssistant.builder.plan.reject": "Request Changes",
|
|
181
|
+
"aiAssistant.builder.plan.whatToChange": "What would you like to change?",
|
|
173
182
|
"aiAssistant.assistant": "AI Assistant",
|
|
174
183
|
"aiAssistant.newSessionModal.title.part1": "Start new",
|
|
175
184
|
"aiAssistant.newSessionModal.title.part2": "session",
|
|
@@ -183,8 +192,6 @@ const en = {
|
|
|
183
192
|
"aiAssistant.codeUpdated.message.body2": "node to see the changes",
|
|
184
193
|
"aiAssistant.thinkingSteps.analyzingError": "Analyzing the error...",
|
|
185
194
|
"aiAssistant.thinkingSteps.thinking": "Thinking...",
|
|
186
|
-
"aiAssistant.thinkingSteps.runningTools": "Running tools...",
|
|
187
|
-
"aiAssistant.thinkingSteps.processingResults": "Processing results...",
|
|
188
195
|
"aiAssistant.prompts.currentView.workflowList": "The user is currently looking at the list of workflows.",
|
|
189
196
|
"aiAssistant.prompts.currentView.credentialsList": "The user is currently looking at the list of credentials.",
|
|
190
197
|
"aiAssistant.prompts.currentView.executionsView": "The user is currently looking at the list of executions for the currently open workflow.",
|
|
@@ -770,7 +777,6 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
|
|
|
770
777
|
"executionsList.confirmMessage.message": "Are you sure that you want to delete the {count} selected execution(s)?",
|
|
771
778
|
"executionsList.confirmMessage.annotationsNote": "By deleting these executions you will also remove the associated annotation data.",
|
|
772
779
|
"executionsList.confirmMessage.annotatedExecutionMessage": "By deleting this you will also remove the associated annotation data. Are you sure that you want to delete the selected execution?",
|
|
773
|
-
"executionsList.clearSelection": "Clear selection",
|
|
774
780
|
"executionsList.error": "Error",
|
|
775
781
|
"executionsList.filters": "Filters",
|
|
776
782
|
"executionsList.loadMore": "Load more",
|
|
@@ -793,7 +799,6 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
|
|
|
793
799
|
"executionsList.succeeded": "Succeeded",
|
|
794
800
|
"executionsList.selectStatus": "Select Status",
|
|
795
801
|
"executionsList.selectWorkflow": "Select Workflow",
|
|
796
|
-
"executionsList.selected": "{count} execution selected: | {count} executions selected:",
|
|
797
802
|
"executionsList.selectAll": "Select {count} finished execution | Select all {count} finished executions",
|
|
798
803
|
"executionsList.test": "Test execution",
|
|
799
804
|
"executionsList.evaluation": "Evaluation execution",
|
|
@@ -1834,8 +1839,8 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
|
|
|
1834
1839
|
"runData.openParentExecution": "View parent execution {id}",
|
|
1835
1840
|
"runData.emptyItemHint": "This is an item, but it's empty.",
|
|
1836
1841
|
"runData.emptyArray": "[empty array]",
|
|
1837
|
-
"runData.emptyString": "
|
|
1838
|
-
"runData.emptyObject": "
|
|
1842
|
+
"runData.emptyString": "empty",
|
|
1843
|
+
"runData.emptyObject": "{'{empty object}'}",
|
|
1839
1844
|
"runData.unnamedField": "[Unnamed field]",
|
|
1840
1845
|
"runData.switchToBinary.info": "This item only has",
|
|
1841
1846
|
"runData.switchToBinary.binary": "binary data",
|
|
@@ -2682,6 +2687,7 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
|
|
|
2682
2687
|
"workflows.empty.learnN8n": "Learn n8n",
|
|
2683
2688
|
"workflows.empty.button.disabled.tooltip": "Your current role in the project does not allow you to create workflows",
|
|
2684
2689
|
"workflows.empty.easyAI": "Test a simple AI Agent example",
|
|
2690
|
+
"workflows.empty.preBuiltAgents": "Try a pre-built agent",
|
|
2685
2691
|
"workflows.empty.shared-with-me": "No {resource} has been shared with you",
|
|
2686
2692
|
"workflows.empty.shared-with-me.link": '<a href="#">Back to Personal</a>',
|
|
2687
2693
|
"workflows.list.easyAI": "Test the power of AI in n8n with this simple AI Agent Workflow",
|
|
@@ -2732,6 +2738,8 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
|
|
|
2732
2738
|
"workflows.readyToRunWorkflows.error": "Error loading n8n collection. Please try again later.",
|
|
2733
2739
|
"workflows.archivedOnly.hint": "Archived workflows are hidden in this view. {link}",
|
|
2734
2740
|
"workflows.archivedOnly.hint.link": "Update filters",
|
|
2741
|
+
"workflows.preBuiltAgents.callout": "Get started faster with our",
|
|
2742
|
+
"workflows.preBuiltAgents.linkText": "pre-built agents",
|
|
2735
2743
|
"workflowSelectorParameterInput.createNewSubworkflow.name": "My Sub-Workflow",
|
|
2736
2744
|
"importCurlModal.title": "Import cURL command",
|
|
2737
2745
|
"importCurlModal.input.label": "cURL Command",
|
|
@@ -2811,7 +2819,7 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
|
|
|
2811
2819
|
"contextual.users.settings.unavailable.button.cloud": "Upgrade now",
|
|
2812
2820
|
"contextual.feature.unavailable.title": "Available on the Enterprise Plan",
|
|
2813
2821
|
"contextual.feature.unavailable.title.cloud": "Available on the Pro Plan",
|
|
2814
|
-
"dataStore.dataStores": "Data
|
|
2822
|
+
"dataStore.dataStores": "Data tables",
|
|
2815
2823
|
"dataStore.empty.label": "You don't have any data tables yet",
|
|
2816
2824
|
"dataStore.empty.description": "Once you create data tables for your projects, they will appear here",
|
|
2817
2825
|
"dataStore.empty.button.label": 'Create Data Table in "{projectName}"',
|
|
@@ -2854,6 +2862,10 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
|
|
|
2854
2862
|
"dataStore.addRow.label": "Add Row",
|
|
2855
2863
|
"dataStore.addRow.error": "Error adding row",
|
|
2856
2864
|
"dataStore.updateRow.error": "Error updating row",
|
|
2865
|
+
"dataStore.deleteRows.title": "Delete Rows",
|
|
2866
|
+
"dataStore.deleteRows.confirmation": "Are you sure you want to delete {count} row? | Are you sure you want to delete {count} rows?",
|
|
2867
|
+
"dataStore.deleteRows.success": "Rows deleted successfully",
|
|
2868
|
+
"dataStore.deleteRows.error": "Error deleting rows",
|
|
2857
2869
|
"settings.ldap": "LDAP",
|
|
2858
2870
|
"settings.ldap.note": "LDAP allows users to authenticate with their centralized account. It's compatible with services that provide an LDAP interface like Active Directory, Okta and Jumpcloud.",
|
|
2859
2871
|
"settings.ldap.infoTip": "Learn more about <a href='https://docs.n8n.io/user-management/ldap/' target='_blank'>LDAP in the Docs</a>",
|
|
@@ -2977,8 +2989,10 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
|
|
|
2977
2989
|
"settings.mfa.updateConfiguration": "MFA configuration updated",
|
|
2978
2990
|
"settings.mfa.invalidAuthenticatorCode": "Invalid authenticator code",
|
|
2979
2991
|
"projects.header.overview.subtitle": "All the workflows, credentials and executions you have access to",
|
|
2992
|
+
"projects.header.overview.subtitleWithDataTables": "All the workflows, credentials and data tables you have access to",
|
|
2980
2993
|
"projects.header.shared.title": "Shared with you",
|
|
2981
2994
|
"projects.header.personal.subtitle": "Workflows and credentials owned by you",
|
|
2995
|
+
"projects.header.personal.subtitleWithDataTables": "Workflows, credentials and data tables owned by you",
|
|
2982
2996
|
"projects.header.shared.subtitle": "Workflows and credentials other users have shared with you",
|
|
2983
2997
|
"projects.header.create.workflow": "Create Workflow",
|
|
2984
2998
|
"projects.header.create.credential": "Create Credential",
|
|
@@ -3409,7 +3423,10 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
|
|
|
3409
3423
|
"workflowDiff.deletedWorkflow.remote": "The workflow doesn't exist on remote",
|
|
3410
3424
|
"workflowDiff.newWorkflow": "New workflow",
|
|
3411
3425
|
"workflowDiff.newWorkflow.database": "The workflow will be created in the database",
|
|
3412
|
-
"workflowDiff.newWorkflow.remote": "The workflow will be created on remote"
|
|
3426
|
+
"workflowDiff.newWorkflow.remote": "The workflow will be created on remote",
|
|
3427
|
+
"preBuiltAgentTemplates.title": "Pre-built agents",
|
|
3428
|
+
"preBuiltAgentTemplates.tutorials": "Tutorial templates",
|
|
3429
|
+
"preBuiltAgentTemplates.viewAllLink": "View all templates"
|
|
3413
3430
|
};
|
|
3414
3431
|
export {
|
|
3415
3432
|
_reusableBaseText,
|