n8n-editor-ui 2.3.3 → 2.4.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/data/node-popularity.json +1920 -1916
- package/dist/assets/{AddDataTableModal-BYsEOjtf.js → AddDataTableModal-BWxuL_U1.js} +18 -21
- package/dist/assets/{AgentEditorModal-CnYw6elM.css → AgentEditorModal-9v5_7c4M.css} +11 -7
- package/dist/assets/{AgentEditorModal-CdUKcN7b.js → AgentEditorModal-ClIVB6be.js} +34 -37
- package/dist/assets/{Alert-BSiQ7W4W.js → Alert-C0sX2MmC.js} +9 -9
- package/dist/assets/AnimatedSpinner-B25lpnvb.js +15 -0
- package/dist/assets/{AnnotationTagsDropdown.ee-CPHqM0oA.js → AnnotationTagsDropdown.ee-bqrzcFvD.js} +6 -6
- package/dist/assets/{MainHeader-KNrtVK1m.js → AppHeader-Bk2_Gkdr.js} +359 -528
- package/dist/assets/{MainHeader-CSaAWCWj.css → AppHeader-CiEVBSe4.css} +42 -160
- package/dist/assets/{MainSidebar-BvZcZjNQ.js → AppSidebar-DVQtWhNG.js} +107 -83
- package/dist/assets/{MainSidebar-CEsQ8o1Y.css → AppSidebar-qYnACKTG.css} +13 -4
- package/dist/assets/{AuthView-DBipI9XX.js → AuthView-B70yKQIj.js} +12 -12
- package/dist/assets/{SettingsView-6sirGv9l.css → BottomMenu-CYgiV90C.css} +57 -37
- package/dist/assets/{BottomMenu-n6wDMblT.js → BottomMenu-Zsty8SFw.js} +70 -168
- package/dist/assets/{useCanvasMapping-BLB5IFnL.js → CanvasRunWorkflowButton-D05EeNT9.js} +268 -262
- package/dist/assets/{useCanvasMapping-CyDAqgNV.css → CanvasRunWorkflowButton-D_Rqnskj.css} +203 -203
- package/dist/assets/{ChangePasswordView-N8tRCxXS.js → ChangePasswordView-B5SZMMPu.js} +14 -18
- package/dist/assets/{ChatAgentAvatar-B68ZZ295.css → ChatAgentAvatar-D94COYC_.css} +10 -13
- package/dist/assets/ChatAgentAvatar-lJduQjSM.js +67 -0
- package/dist/assets/{ChatFile-B6hcldJk.js → ChatFile-DGN9Z6P_.js} +17 -17
- package/dist/assets/{ChatLayout-ZIIWLYox.js → ChatLayout-B3HCEtmF.js} +11 -15
- package/dist/assets/{ChatLayout-CxM-3LAt.css → ChatLayout-C5Cltxb6.css} +1 -8
- package/dist/assets/{ChatPersonalAgentsView-CHjVJlH9.js → ChatPersonalAgentsView-CfuU16Wx.js} +19 -24
- package/dist/assets/{ChatSidebar-DcNxY7Pt.css → ChatSidebar-D-hWKn7w.css} +126 -0
- package/dist/assets/{ChatSidebar-D1wzPLte.js → ChatSidebar-DxXP8jvn.js} +56 -71
- package/dist/assets/{ChatView-CEdaGOiq.js → ChatView-DGO5M0-j.js} +113 -112
- package/dist/assets/{ChatView-DrZ9gYjI.css → ChatView-DjGNW1KJ.css} +58 -50
- package/dist/assets/{ChatWorkflowAgentsView-DDoSKFjL.js → ChatWorkflowAgentsView-BDUzYR0a.js} +19 -24
- package/dist/assets/CollectionParameter-CX0d0ppe.js +42 -0
- package/dist/assets/{CommunityNodeUpdateInfo-D_fpxg7T.js → CommunityNodeUpdateInfo-BzF3To7U.js} +13 -13
- package/dist/assets/{CopyInput-CkRSExvb.js → CopyInput-B3eGtGOr.js} +15 -15
- package/dist/assets/{CredentialIcon-CsmA8n5q.js → CredentialIcon-Co-DgDkv.js} +6 -6
- package/dist/assets/{CredentialPicker-Dc9_fQqB.js → CredentialPicker-xUgsLzd_.js} +8 -8
- package/dist/assets/{CredentialSelectorModal-CrHTSX3D.js → CredentialSelectorModal-te4cxLHY.js} +22 -26
- package/dist/assets/{CredentialsView-BHjKX7p7.js → CredentialsView-CSMNv5Qi.js} +46 -51
- package/dist/assets/{DataTableActions-Baa_gpFk.js → DataTableActions-BkI1G_w4.js} +6 -6
- package/dist/assets/{DataTableDetailsView-Csre5EoG.js → DataTableDetailsView-D5XYBEVr.js} +27 -30
- package/dist/assets/{DataTableView-DvZt7cVh.js → DataTableView-U-FAWXix.js} +31 -36
- package/dist/assets/DemoFooter-uIyuy9UT.js +53 -0
- package/dist/assets/{Draggable-wlu-YKYh.js → Draggable-0gyx_CsY.js} +5 -5
- package/dist/assets/{EmptySharedSectionActionBox-BoAVktyy.js → EmptySharedSectionActionBox-DtGMtVsp.js} +5 -5
- package/dist/assets/{EnterpriseEdition.ee-CvUo0Y3B.js → EnterpriseEdition.ee-UhVkBS4f.js} +2 -2
- package/dist/assets/{EntityNotFound-Dk9s3CwF.js → EntityNotFound-qBJJDr9S.js} +9 -12
- package/dist/assets/{EntityUnAuthorised-h6YriaK9.js → EntityUnAuthorised-Ci980jH0.js} +8 -11
- package/dist/assets/{ErrorView-BGXVjv22.js → ErrorView-CPQg7TDd.js} +13 -16
- package/dist/assets/{EvaluationsRootView-CEJYrCEy.js → EvaluationsRootView-CzP9JGh2.js} +34 -36
- package/dist/assets/{EvaluationsView-DmaEZ7wK.js → EvaluationsView-ikx3LyQf.js} +28 -33
- package/dist/assets/{ExecutionsTime-K-nIEY55.js → ExecutionsTime-D5RuLFMY.js} +16 -15
- package/dist/assets/{ExecutionsView-BC4uwKPS.js → ExecutionsView-cMwfmY4W.js} +62 -65
- package/dist/assets/{ExternalSecretsProviderConnectionSwitch.ee-DYabADwO.js → ExternalSecretsProviderConnectionSwitch.ee-BglbvOQG.js} +18 -17
- package/dist/assets/FixedCollectionParameter-COuGvpZ8.css +642 -0
- package/dist/assets/FixedCollectionParameter-rO9blroR.js +1571 -0
- package/dist/assets/FolderBreadcrumbs-DegmC04u.js +187 -0
- package/dist/assets/{SaveButton-Dc01Y2MA.css → FolderBreadcrumbs-eBFopiOp.css} +7 -14
- package/dist/assets/{ForgotMyPasswordView-BxFjt7yf.js → ForgotMyPasswordView-CKDZcZP9.js} +14 -18
- package/dist/assets/{InsightsChartAverageRuntime-mcy8IMaN.js → InsightsChartAverageRuntime-69U4sUmH.js} +10 -11
- package/dist/assets/{InsightsChartFailed-iXvqlU_7.js → InsightsChartFailed-Ct64T5GJ.js} +8 -9
- package/dist/assets/{InsightsChartFailureRate-DzWy07B4.js → InsightsChartFailureRate-BOdV-Q3d.js} +9 -11
- package/dist/assets/{InsightsChartTimeSaved-Db1u-o2U.js → InsightsChartTimeSaved-B83s59mL.js} +9 -11
- package/dist/assets/{InsightsChartTotal-Bge4JSj-.js → InsightsChartTotal-1A5vqW4E.js} +7 -9
- package/dist/assets/{InsightsDashboard-BgxCUZWd.js → InsightsDashboard-Dpwy8q6a.js} +37 -38
- package/dist/assets/{InsightsPaywall-DJIAsFUW.js → InsightsPaywall-iaN7Yt1s.js} +15 -18
- package/dist/assets/{InsightsSummary-uZyetR3b.js → InsightsSummary-UGkz-k9w.js} +11 -11
- package/dist/assets/{InsightsTableWorkflows-9h4pU1WK.js → InsightsTableWorkflows-AP6ddx9D.js} +22 -24
- package/dist/assets/{KeyboardShortcutTooltip-Bpb4SkjE.js → KeyboardShortcutTooltip-Dwz4Hv8g.js} +6 -6
- package/dist/assets/LogsPanel-Cz9qV0gc.js +40 -0
- package/dist/assets/{LogsPanel-BG48JZqa.js → LogsPanel-DuiKN1Na.js} +100 -100
- package/dist/assets/{MCPConnectWorkflowsModal-CWg0xros.js → MCPConnectWorkflowsModal-CrhdbX54.js} +36 -41
- package/dist/assets/{MigrationRuleDetail-Dj4iZ8em.js → MigrationRuleDetail-BXj7ghDO.js} +23 -26
- package/dist/assets/{MigrationRules-CMk4HuMV.js → MigrationRules-CWeHH-jb.js} +21 -24
- package/dist/assets/{Modal-BNJXVsfA.js → Modal-CLJXjbTN.js} +27 -26
- package/dist/assets/{ModelByIdSelectorModal-BwhmTdU4.js → ModelByIdSelectorModal-_Q2e43WD.js} +18 -22
- package/dist/assets/{NDVEmptyState-D9V46oIb.js → NDVEmptyState-CJWa4Aka.js} +15 -12
- package/dist/assets/{NodeCreation-DiAqT9SN.js → NodeCreation-BKxsZGAf.js} +30 -52
- package/dist/assets/{ItemsRenderer-DkobJF9f.css → NodeCreator-039HRrqJ.css} +1525 -6
- package/dist/assets/{NodeCreator-Bjt6BI9v.js → NodeCreator-CRhdWp9N.js} +978 -87
- package/dist/assets/{NodeDetailsView-Ct9i-rTh.js → NodeDetailsView-Cm52jG-U.js} +72 -86
- package/dist/assets/{NodeDetailsViewV2-Dh4gzwFe.js → NodeDetailsViewV2-CqGBXjHp.js} +69 -85
- package/dist/assets/{NodeIcon-t97i3ntx.js → NodeIcon-SaoWBT_U.js} +10 -10
- package/dist/assets/{NodeIcon-BDxr0f30.css → NodeIcon-zqTc5h-V.css} +1 -1
- package/dist/assets/{NodeSettings-Cz9vhjW-.js → NodeSettings-BWWEo77y.js} +73 -73
- package/dist/assets/{NodeView-AuBajxDh.css → NodeView-Xwcu11Wh.css} +11 -11
- package/dist/assets/{NodeView-3Y-9RowK.js → NodeView-xEYRJxA0.js} +171 -148
- package/dist/assets/{OAuthConsentView-Bg5-jLUL.js → OAuthConsentView-D6mfPIJI.js} +14 -17
- package/dist/assets/{ParameterInputList-C1BdtAjc.css → ParameterInputList-BUZ33Aem.css} +717 -208
- package/dist/assets/{ParameterInputList-D3pQ9DPD.js → ParameterInputList-Cb2_SQfz.js} +1864 -1039
- package/dist/assets/{ProjectBreadcrumb-CwG4u83J.js → ProjectBreadcrumb-2BEX5IDD.js} +8 -8
- package/dist/assets/{ProjectCardBadge-DEF5xaop.js → ProjectCardBadge-CTVSam44.js} +10 -10
- package/dist/assets/{ProjectHeader-Ftxgilbl.js → ProjectHeader-BagblRFt.js} +14 -14
- package/dist/assets/{ProjectIcon-CBV14vRK.js → ProjectIcon-gwTM9uPG.js} +8 -8
- package/dist/assets/{ProjectRoleView-DxR_UDnr.js → ProjectRoleView-B5mhpgJj.js} +19 -22
- package/dist/assets/{ProjectRolesView-D5UGjI0u.js → ProjectRolesView-CO-fdyVV.js} +18 -21
- package/dist/assets/{ProjectSettings-DjmRzWiu.js → ProjectSettings-CpdJ0QXS.js} +31 -33
- package/dist/assets/{ProjectSharing-CXtVcK-7.js → ProjectSharing-CgRKQQe4.js} +16 -16
- package/dist/assets/{ProjectVariables-xB0qVBxe.js → ProjectVariables-B7LU3SGS.js} +40 -45
- package/dist/assets/{ProviderSettingsModal-BqKcWfeR.js → ProviderSettingsModal-RmJC0Qwe.js} +20 -25
- package/dist/assets/{PushConnectionTracker-Cwk4a7eu.js → PushConnectionTracker-v1yU_xFk.js} +4 -4
- package/dist/assets/{ResolversView-CnNl-Auj.js → ResolversView-OeI_dYci.js} +20 -23
- package/dist/assets/{ResourceFiltersDropdown-CRkQSQvs.js → ResourceFiltersDropdown-bH--4wBS.js} +12 -12
- package/dist/assets/{ResourcesListLayout-DLAMdJD5.css → ResourcesListLayout-BhnhvHiw.css} +140 -0
- package/dist/assets/{ResourcesListLayout-CreZ1Su6.js → ResourcesListLayout-CS0nUJNt.js} +32 -23
- package/dist/assets/{RunData-Ti8dstr8.js → RunData-B_Vlvf1V.js} +20367 -28266
- package/dist/assets/{RunData-CGWkR8tE.css → RunData-xpRgLK8S.css} +2 -2
- package/dist/assets/{RunDataHtml-S_j2pLRX.js → RunDataHtml-BMxc-zRm.js} +5 -5
- package/dist/assets/RunDataHtml-wQh8fACG.js +5 -0
- package/dist/assets/{RunDataJson-C9RYDf3k.js → RunDataJson-D23jdsWY.js} +31 -31
- package/dist/assets/{RunDataJsonActions-CVkDV_4I.js → RunDataJsonActions-DFa7pezf.js} +19 -22
- package/dist/assets/{RunDataParsedAiContent-B6PgQw1V.js → RunDataParsedAiContent-BCprT0E8.js} +15 -16
- package/dist/assets/RunDataParsedAiContent-o_QkeE0L.js +15 -0
- package/dist/assets/{RunDataSearch-DHw36qjO.js → RunDataSearch-BU2qi4nP.js} +10 -13
- package/dist/assets/{RunDataTable-Co9VAMrg.js → RunDataTable-BDrFzGfU.js} +32 -35
- package/dist/assets/{SamlOnboarding-CpWUC0gl.js → SamlOnboarding-DPYTM0tb.js} +14 -18
- package/dist/assets/{SelectedItemsInfo-wq6nTjan.js → SelectedItemsInfo-CKmcAObD.js} +5 -5
- package/dist/assets/{SettingsApiView-eiQOdjgq.js → SettingsApiView-BowYRtTk.js} +24 -26
- package/dist/assets/{SettingsChatHubView-D4WEo9L3.js → SettingsChatHubView-CObWHU09.js} +18 -23
- package/dist/assets/{SettingsCommunityNodesView-C0AaNOEN.js → SettingsCommunityNodesView-wk9JxXqL.js} +38 -41
- package/dist/assets/{SettingsExternalSecrets-y47selKn.js → SettingsExternalSecrets-C41eND_Y.js} +18 -21
- package/dist/assets/{SettingsLdapView-YMVYMnzw.js → SettingsLdapView-D1L1iyvE.js} +22 -25
- package/dist/assets/{SettingsLogStreamingView-BSzLdWpE.js → SettingsLogStreamingView-BqlK3i3Z.js} +21 -23
- package/dist/assets/{SettingsMCPView-BU0f3ymz.js → SettingsMCPView-CoTmbtV_.js} +42 -45
- package/dist/assets/{SettingsPersonalView-BAfYDXor.js → SettingsPersonalView-BMGG66o5.js} +15 -18
- package/dist/assets/SettingsSidebar-RZssT7t8.js +58 -0
- package/dist/assets/{useCommandBar-eK4Fv9lH.css → SettingsSidebar-hr5ASDKX.css} +22 -24
- package/dist/assets/{SettingsSourceControl-DiTdqVc2.js → SettingsSourceControl-C_XOb728.js} +19 -22
- package/dist/assets/{SettingsSso-D9mWYb6m.js → SettingsSso-DkvVZOSA.js} +26 -28
- package/dist/assets/{SettingsUsageAndPlan-Bhhz0N_R.js → SettingsUsageAndPlan-Cnxx5J_k.js} +20 -22
- package/dist/assets/{SettingsUsersView-Cyv_ZTSa.js → SettingsUsersView-DRFHlEG_.js} +50 -27
- package/dist/assets/{SetupTemplateFormStep-B-OXuIEU.js → SetupTemplateFormStep-DTl-SQ5_.js} +15 -15
- package/dist/assets/{SetupView-BvYO_h_-.js → SetupView-BfCKw7tL.js} +14 -18
- package/dist/assets/{SetupWorkflowCredentialsButton-29sPlZ15.js → SetupWorkflowCredentialsButton-BDNBEpgH.js} +21 -19
- package/dist/assets/{SetupWorkflowFromTemplateView-wGZJlu_v.js → SetupWorkflowFromTemplateView-zNitmbxd.js} +21 -24
- package/dist/assets/{SeverityTag-DiRdnrHj.js → SeverityTag-R-mbBDWg.js} +6 -6
- package/dist/assets/{SigninView-CZmSlJU4.js → SigninView-CspSfYWl.js} +16 -19
- package/dist/assets/{SignoutView-BUsJauew.js → SignoutView-CbmvjLhS.js} +10 -10
- package/dist/assets/{SignupView-CBmZdEUa.js → SignupView-D088WMnK.js} +27 -26
- package/dist/assets/{SkeletonAgentCard-felAhV_j.js → SkeletonAgentCard-DNUy88vs.js} +12 -12
- package/dist/assets/{PageViewLayout-Cn6FD0Wt.css → SlideTransition-Bv5Vx35L.css} +6 -17
- package/dist/assets/SlideTransition-CWSKQ4XI.js +11 -0
- package/dist/assets/{TagsDropdown-B3TllM9L.js → TagsDropdown-998vpfi2.js} +9 -9
- package/dist/assets/{TemplateCard-SxL2lAcu.js → TemplateCard-OCtSSObW.js} +9 -9
- package/dist/assets/{TemplateDetails-joifuvuq.js → TemplateDetails-CExTaNmN.js} +20 -20
- package/dist/assets/{TemplateList-Cr8NzldM.js → TemplateList-CYVIQLBo.js} +44 -44
- package/dist/assets/{TemplatesCollectionView-KlTGNZvL.js → TemplatesCollectionView-J4-MsKaR.js} +22 -25
- package/dist/assets/{TemplatesSearchView-R9w7J_qa.js → TemplatesSearchView-FeOl_F9u.js} +49 -52
- package/dist/assets/{TemplatesView-Cva7ybP0.js → TemplatesView-B2WxZgCT.js} +6 -6
- package/dist/assets/{TemplatesWorkflowView-cZBhTHOi.js → TemplatesWorkflowView-pgmIBnml.js} +23 -26
- package/dist/assets/{TestRunDetailView-C1Pcw196.js → TestRunDetailView-We9DOF3E.js} +20 -24
- package/dist/assets/{TextWithHighlights-CgDEugGZ.js → TextWithHighlights-CH5Zsswa.js} +2 -2
- package/dist/assets/{TimeAgo-D971QnHO.js → TimeAgo-DbbBIULe.js} +4 -4
- package/dist/assets/{ToolsSelectorModal-D4oxUUCF.js → ToolsSelectorModal-D0fzbH8I.js} +20 -23
- package/dist/assets/{TriggerPanel-BkdktrEp.js → TriggerPanel-B3wcn8yr.js} +51 -51
- package/dist/assets/VirtualSchema-C4mYgt95.js +28 -0
- package/dist/assets/{VirtualSchema-Brq3RG-a.js → VirtualSchema-DTit75Ni.js} +60 -61
- package/dist/assets/{VirtualSchema-CwutU4vj.css → VirtualSchema-pdpcVEq9.css} +1 -1
- package/dist/assets/{VueMarkdown-BlVr51fL.js → VueMarkdown-D0Ufjusy.js} +3 -3
- package/dist/assets/{WorkerView-CT6vkOh0.js → WorkerView-BaJG1lYK.js} +38 -42
- package/dist/assets/{WorkflowExecutionsInfoAccordion-DSc_InaM.js → WorkflowExecutionsInfoAccordion-BAgAw-VZ.js} +7 -7
- package/dist/assets/{WorkflowExecutionsLandingPage-CuGCweH0.js → WorkflowExecutionsLandingPage-B5M2M_XO.js} +14 -17
- package/dist/assets/{WorkflowExecutionsPreview-DWGuXXJq.js → WorkflowExecutionsPreview-CGtRdwNt.js} +44 -46
- package/dist/assets/{WorkflowExecutionsView-B4v9ie53.js → WorkflowExecutionsView-R_7zX3VU.js} +60 -61
- package/dist/assets/{WorkflowHistory-BLC1cUoO.js → WorkflowHistory-BS71EB0y.js} +198 -196
- package/dist/assets/{WorkflowHistory-BBHdNsOb.css → WorkflowHistory-dUpsKg3Z.css} +42 -75
- package/dist/assets/{WorkflowLocation-X2ZVBc96.js → WorkflowLocation-CTPWi5M9.js} +18 -18
- package/dist/assets/{WorkflowOnboardingView-CmVI0XDf.js → WorkflowOnboardingView-BroupQUz.js} +10 -10
- package/dist/assets/{WorkflowPreview-CZAcz1Na.js → WorkflowPreview-DLbWDX-7.js} +9 -9
- package/dist/assets/{WorkflowTagsDropdown-DlKqZzjZ.js → WorkflowTagsDropdown-DMBpcKR1.js} +6 -6
- package/dist/assets/{WorkflowsView-C-PD10oe.css → WorkflowsView-0_qNZeIx.css} +32 -42
- package/dist/assets/{WorkflowsView-BDhK0stx.js → WorkflowsView-Bdslfqgx.js} +128 -238
- package/dist/assets/{_MapCache-ficiegRb.js → _MapCache-DkLivSSb.js} +46 -38
- package/dist/assets/{_baseOrderBy-DwurmLcj.js → _baseOrderBy-Cy5MGJv_.js} +8 -13
- package/dist/assets/{_initCloneObject-DPuE6hiH.js → _initCloneObject-DiO9tORE.js} +2 -2
- package/dist/assets/{aiTemplatesStarterCollection.store-B-exu89T.js → aiTemplatesStarterCollection.store-C5UvSRtb.js} +6 -6
- package/dist/assets/{apiKeys.store-DW3qN7-W.js → apiKeys.store-tF_8Mh4s.js} +4 -4
- package/dist/assets/{assistant.store-BWyMPD4R.js → assistant.store-BsyT2BFh.js} +8 -8
- package/dist/assets/{auth.eventBus-BQKtqsAd.js → auth.eventBus-Ce2KL2L4.js} +1 -1
- package/dist/assets/{banners.store-NV1mJdSo.js → banners.store-De4swlHn.js} +7 -7
- package/dist/assets/{buttons.esm-Euf82NbC.js → buttons.esm-DHCtg4os.js} +0 -5
- package/dist/assets/canvas.utils-6yT3qDz5.js +138 -0
- package/dist/assets/{chart-BI8B7UPV.js → chart-BpBZvUkM.js} +0 -6
- package/dist/assets/{chartjs.utils-CZqhhNLn.js → chartjs.utils-B8F_iMP1.js} +5 -5
- package/dist/assets/{chat.store-CIFGQpTZ.js → chat.store-DIrG4eKT.js} +34 -29
- package/dist/assets/{chatPanel.store-gj4bbTwF.js → chatPanel.store-XTtvoDW8.js} +6 -6
- package/dist/assets/{chunk-6z4oVpB-.js → chunk-r2Y0G7H8.js} +3 -2
- package/dist/assets/{col-Cd5kWzv_.js → col-gWKpvp-j.js} +2 -2
- package/dist/assets/collaboration.store-DuCY-6U-.js +287 -0
- package/dist/assets/{constants-vjryKFt3.js → constants-Bgby4me8.js} +12 -3
- package/dist/assets/{constants-B5yiZflE.js → constants-CRdXn3zB.js} +290 -301
- package/dist/assets/core-CKLPLCBJ.js +4 -0
- package/dist/assets/{core-BMwklDiH.js → core-DDiavqSm.js} +1 -1
- package/dist/assets/{dataTable.store-CigyhC-U.js → dataTable.store-DepEpEQf.js} +4 -4
- package/dist/assets/{date-picker-BjmPe_fb.js → date-picker-CutzRF4i.js} +13 -4
- package/dist/assets/{dateFormatter-DjYPheeb.js → dateFormatter-BiQ9pMrA.js} +4 -4
- package/dist/assets/{dateformat-BlfbK1ki.js → dateformat-BeHi9sF4.js} +2 -1
- package/dist/assets/{dialog-CFy8vuwh.js → dialog-ZxkAulrV.js} +4 -4
- package/dist/assets/{dist-BQ7E1jLN.js → dist-C4hPgTYg.js} +3 -3
- package/dist/assets/empty-nq5-pHAR.js +895 -0
- package/dist/assets/en-C4tPMX0d.js +2 -0
- package/dist/assets/{en-CF30SCh2.js → en-PrU4QUr7.js} +10 -2
- package/dist/assets/{es-C2DNxuAa.js → es-347rbIb-.js} +2 -2
- package/dist/assets/{evaluation.constants-CaU1Jek8.js → evaluation.constants-COHKT500.js} +12 -15
- package/dist/assets/{executions.store-BjQUzT_w.js → executions.store-D1BMCixf.js} +4 -4
- package/dist/assets/{exports-C5ncBo9h.js → exports-DwuuoPh-.js} +1 -3
- package/dist/assets/{externalSecrets.ee.store-DS-4lnXS.js → externalSecrets.ee.store-CClIdWWb.js} +4 -4
- package/dist/assets/{folders.store-BqKf5TBS.js → folders.store-DHmLGEYl.js} +4 -4
- package/dist/assets/{index-U6fZiFvz.css → index-BhFfa3xu.css} +3083 -2437
- package/dist/assets/{index-BFqYZQt_.js → index-CZ0ShzXs.js} +4327 -1864
- package/dist/assets/{insights.constants-D63-x9pu.js → insights.constants-98xWnZQu.js} +3 -3
- package/dist/assets/{insights.store-BwsFg9pQ.js → insights.store-B6MSLVpS.js} +7 -7
- package/dist/assets/{insights.utils-CWK5jWpE.js → insights.utils-B0txVt0Q.js} +6 -6
- package/dist/assets/{languageModules-DDJUl1h8.js → languageModules-DyQaii5v.js} +1 -1
- package/dist/assets/{logStreaming.store-BxM1T1ZK.js → logStreaming.store-3rdm0k17.js} +3 -3
- package/dist/assets/{mcp.store-ChjN6nuV.js → mcp.store--DVpfZPc.js} +4 -4
- package/dist/assets/{merge-DjI8TA-7.js → merge-B0-p153C.js} +2 -2
- package/dist/assets/{nodeCreator.store-CXJtK_5o.js → nodeCreator.store-BL_XgPCV.js} +1932 -2216
- package/dist/assets/{nodeIcon-CIlNGIQ6.js → nodeIcon-G45tSifH.js} +3 -3
- package/dist/assets/{nodeTransforms-yL73Ok-c.js → nodeTransforms-CjgwHZte.js} +2 -2
- package/dist/assets/{orderBy-DLgDRKnZ.js → orderBy-CI4ht8Wh.js} +3 -3
- package/dist/assets/{personalizedTemplatesV3.store-Bs_2J_OQ.js → personalizedTemplatesV3.store-EQdiv-tM.js} +4 -4
- package/dist/assets/{pickBy-DYW-ATsL.js → pickBy-CS854Y6u.js} +3 -3
- package/dist/assets/pushConnection.store-Rp8-mZo7.js +496 -0
- package/dist/assets/{radio-BeejvdFG.js → radio-I_Y35sEo.js} +2 -2
- package/dist/assets/{readyToRun.store-DX00OlhN.js → readyToRun.store-i9gaUDlh.js} +17 -8
- package/dist/assets/{readyToRunWorkflows.store-CR7Yn6At.js → readyToRunWorkflows.store-gcTSDf1M.js} +6 -6
- package/dist/assets/{roles.store-DeGSYcWL.js → roles.store-ByEYbWMb.js} +4 -4
- package/dist/assets/{router-CFnjpqoZ.js → router-CmCiJkA0.js} +316 -304
- package/dist/assets/{sanitize-html-BkT1y0bJ.js → sanitize-html-DeDnsMgc.js} +17 -17
- package/dist/assets/{semver-CjLBiqOi.js → semver-DkHAUe3T.js} +6 -8
- package/dist/assets/{sourceControl.eventBus-BlFJV1yj.js → sourceControl.eventBus-l-XuMGfW.js} +1 -1
- package/dist/assets/{sqlite3-worker1-bundler-friendly-BOYmhhGN.js → sqlite3-worker1-bundler-friendly-BvaOkVlV.js} +9 -2
- package/dist/assets/{src-CMoPZtHv.css → src-CUiJtOrW.css} +5070 -4059
- package/dist/assets/{src-BiuB4CZc.js → src-DpZSuyLC.js} +5805 -2547
- package/dist/assets/{sso.store-CgVzmGCn.js → sso.store-B0NxuXiJ.js} +3 -3
- package/dist/assets/{table-fp187Rky.js → table-C3aerURh.js} +5 -5
- package/dist/assets/{templateActions-Dn6PNjyj.js → templateActions-BGHev3SN.js} +5 -5
- package/dist/assets/{templateTransforms-BtbIlupE.js → templateTransforms-B0n1tACx.js} +1 -1
- package/dist/assets/{truncate-B1HVeveJ.js → truncate-BrM_9cme.js} +5 -5
- package/dist/assets/{typescript.worker-CYqLvLHh.js → typescript.worker-DZR6qltN.js} +224 -176
- package/dist/assets/{usage.store-DI2Rilu6.js → usage.store-3GYv6IW-.js} +3 -3
- package/dist/assets/{useActions-B3Tgqfk-.js → useActions-Buaifc4L.js} +5 -5
- package/dist/assets/useBugReporting-D6SXeO6B.js +130 -0
- package/dist/assets/useCalloutHelpers-Cwtyxtsm.js +80 -0
- package/dist/assets/{useCanvasOperations-BttAaAbZ.js → useCanvasOperations-DY9_Vcrs.js} +36 -32
- package/dist/assets/{useClipboard-CurFa2Dj.js → useClipboard-B8OKhRbY.js} +3 -3
- package/dist/assets/{useCredentialResolvers-CJPbKnJV.js → useCredentialResolvers-CCUEZ5V2.js} +5 -5
- package/dist/assets/{useCustomAgent-tUoLIUar.css → useCustomAgent-D8Sw5vcC.css} +32 -9
- package/dist/assets/useCustomAgent-h_FKujBQ.js +630 -0
- package/dist/assets/{useDebounce-BjcMkTu4.js → useDebounce-C4ttil9E.js} +12 -12
- package/dist/assets/{useExecutionData-B5c3pMYr.js → useExecutionData-CAzGOYWw.js} +2 -2
- package/dist/assets/{useExecutionDebugging-BAm9HytR.js → useExecutionDebugging-DQI5yARq.js} +7 -7
- package/dist/assets/{useExecutionHelpers-ClAdmv-B.js → useExecutionHelpers-DWZYR0dg.js} +5 -5
- package/dist/assets/useGlobalEntityCreation-BwX8UUSv.js +192 -0
- package/dist/assets/{useImportCurlCommand-L4oAG6dd.js → useImportCurlCommand-DRS2-Amm.js} +41 -36
- package/dist/assets/{useIntersectionObserver-Bb8gFEHX.js → useIntersectionObserver-CGg561I6.js} +1 -1
- package/dist/assets/{useKeybindings-30WRTvmG.js → useKeybindings-MR6cNtmK.js} +5 -5
- package/dist/assets/{useLogsTreeExpand-6_x7FouR.js → useLogsTreeExpand-CvDEwlbf.js} +41 -41
- package/dist/assets/{useMcp-T0ZvziGl.js → useMcp-BIeH6n02.js} +2 -2
- package/dist/assets/{usePageRedirectionHelper-BJH0h6XA.js → usePageRedirectionHelper-DPAtaAXY.js} +3 -3
- package/dist/assets/{usePinnedData-B88__knO.js → usePinnedData-BFTyeyJG.js} +6 -6
- package/dist/assets/{usePushConnection-O_Sg_NLA.js → usePushConnection-CcijHMYv.js} +12 -16
- package/dist/assets/{useRunWorkflow-BK9B9ALV.js → useRunWorkflow-wOjZEWNr.js} +106 -486
- package/dist/assets/{useSettingsItems-aqm5JSTf.js → useSettingsItems-CaNtH9v0.js} +5 -5
- package/dist/assets/{useTelemetryContext-DoX4HWmg.js → useTelemetryContext-CE5phjaX.js} +4 -4
- package/dist/assets/{useWorkflowsCache-CsbESieM.js → useWorkflowsCache-BBhvuqqB.js} +2 -2
- package/dist/assets/{userRoleProvisioning.store-CK7bojX8.js → userRoleProvisioning.store-COPddaUL.js} +3 -3
- package/dist/assets/{builder.store-CgMqPgnW.js → users.store-KBMG-745.js} +22801 -23949
- package/dist/assets/utils-BCX2a8sC.js +133 -0
- package/dist/assets/{versions.store-CzvzmERa.js → versions.store-BnGZ_WOG.js} +4 -4
- package/dist/assets/{vue-Dd77OcSb.js → vue-atn33zIp.js} +255 -213
- package/dist/assets/{vue-json-pretty-DF-vJpHf.js → vue-json-pretty-CTqCbq0T.js} +1 -1
- package/dist/assets/{vue.runtime.esm-bundler-tP5dCd7J.js → vue.runtime.esm-bundler-XtMkEjzB.js} +703 -538
- package/dist/assets/{worker-CIvWfg3a.js → worker-BnP12nj7.js} +10 -3
- package/dist/index.html +116 -119
- package/package.json +1 -1
- package/tsconfig.json +1 -1
- package/dist/assets/AnimatedSpinner-DBPcagVq.js +0 -15
- package/dist/assets/BottomMenu-CRVyIu-B.css +0 -474
- package/dist/assets/ChatAgentAvatar-DoN0Vr4x.js +0 -67
- package/dist/assets/CollectionParameter-ByVUPeYR.js +0 -49
- package/dist/assets/DemoFooter-u1dOP76h.js +0 -62
- package/dist/assets/FixedCollectionParameter-CkTQ2epJ.js +0 -493
- package/dist/assets/FixedCollectionParameter-DT3ELzS9.css +0 -202
- package/dist/assets/ItemsRenderer-z7cKER1f.js +0 -922
- package/dist/assets/LogsPanel-B9QiohHK.js +0 -49
- package/dist/assets/NodeCreator-OSIpRI6S.css +0 -1649
- package/dist/assets/PageViewLayout-XiCAnPXE.js +0 -12
- package/dist/assets/PrebuiltAgentTemplatesView-B7uXEamJ.js +0 -151
- package/dist/assets/PrebuiltAgentTemplatesView-jF7HvWnL.css +0 -166
- package/dist/assets/RunDataHtml-CMYh4fix.js +0 -6
- package/dist/assets/RunDataParsedAiContent-DI_kumKV.js +0 -23
- package/dist/assets/SaveButton-DFMQz4OO.js +0 -89
- package/dist/assets/SettingsView-Ccz6LsAi.js +0 -87
- package/dist/assets/VirtualSchema-BOm-odEw.js +0 -33
- package/dist/assets/WorkflowActivationErrorMessage-CkxW6ZtU.js +0 -17
- package/dist/assets/WorkflowActivator-BGcCOUCH.css +0 -391
- package/dist/assets/WorkflowActivator-CisdBXpp.js +0 -362
- package/dist/assets/core-DeR-PV8K.js +0 -4
- package/dist/assets/empty-BUjCyq3U.js +0 -2450
- package/dist/assets/en-DyO2pPiC.js +0 -2
- package/dist/assets/schemaPreview.store-Bs_OZUsM.js +0 -113
- package/dist/assets/uniqBy-6k_SZ3dM.js +0 -10
- package/dist/assets/useBeforeUnload-dAltrwFm.js +0 -40
- package/dist/assets/useCommandBar-CXSPJjOq.js +0 -2425
- package/dist/assets/useCustomAgent-CSvOuB6K.js +0 -471
- package/dist/assets/useRecentResources-Dy5vqIyg.js +0 -118
- package/dist/assets/useWorkflowActivate-i3WAlo0M.js +0 -152
- package/dist/assets/utils-CnShVJFh.js +0 -54
- /package/dist/assets/{CalendarDate-zWqgZMlk.js → CalendarDate-CogIFc4_.js} +0 -0
- /package/dist/assets/{_plugin-vue_export-helper-BwBpWJRZ.js → _plugin-vue_export-helper-fRq25RGE.js} +0 -0
- /package/dist/assets/{fileUtils-Bt1vr1SC.js → fileUtils-C-Bxka0b.js} +0 -0
- /package/dist/assets/{mcp.constants-1HQX33wO.js → mcp.constants-Djm5lWYR.js} +0 -0
- /package/dist/assets/{preload-helper-CR0ecmWK.js → preload-helper-D8n1yiy9.js} +0 -0
- /package/dist/assets/{retry-B-tGcWte.js → retry-BLsJRFf0.js} +0 -0
- /package/dist/assets/{smartDecimal-gA9wGEba.js → smartDecimal-D3Shg2YQ.js} +0 -0
- /package/dist/assets/{sortByProperty-C6sPingU.js → sortByProperty-Dip6DXbv.js} +0 -0
- /package/dist/assets/{sqlite3-opfs-async-proxy-vVtmDGHX.js → sqlite3-opfs-async-proxy-BrtqH9Si.js} +0 -0
- /package/dist/assets/{xml-DDfXMqo8.js → xml-Cf0o4TxQ.js} +0 -0
|
@@ -1,63 +1,53 @@
|
|
|
1
|
-
import { o as __toESM } from "./chunk-
|
|
2
|
-
import { $t as hasOwn, C as computed, Cn as toDisplayString, D as createElementBlock, E as createCommentVNode, G as nextTick, Gt as unref, It as ref, J as onBeforeUnmount, L as h, M as createVNode, P as defineComponent, T as createBlock, Z as onMounted, _ as Fragment, _t as watch, at as renderSlot, bn as normalizeStyle, bt as withCtx, c as useCssModule, en as hyphenate, et as openBlock, it as renderList, j as createTextVNode, mt as useTemplateRef, ot as resolveComponent, p as vShow, q as onBeforeMount, tn as init_shared_esm_bundler, vn as normalizeClass, w as createBaseVNode, xt as withDirectives } from "./vue.runtime.esm-bundler-
|
|
3
|
-
import { M as useLocalStorage, _t as useI18n,
|
|
4
|
-
import {
|
|
5
|
-
import "./
|
|
6
|
-
import { t as
|
|
7
|
-
import {
|
|
8
|
-
import { T as
|
|
9
|
-
import
|
|
10
|
-
import "./empty-
|
|
11
|
-
import "./
|
|
12
|
-
import "./
|
|
13
|
-
import {
|
|
14
|
-
import "./
|
|
15
|
-
import
|
|
16
|
-
import "./
|
|
17
|
-
import
|
|
18
|
-
import "./
|
|
19
|
-
import "./
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import "./
|
|
23
|
-
import "./
|
|
24
|
-
import "./nodeIcon-
|
|
25
|
-
import "./useCanvasOperations-
|
|
26
|
-
import { t as useFoldersStore } from "./folders.store-
|
|
27
|
-
import "./
|
|
28
|
-
import "./
|
|
29
|
-
import "./
|
|
30
|
-
import
|
|
31
|
-
import { t as
|
|
32
|
-
import "./
|
|
33
|
-
import "./
|
|
34
|
-
import "./
|
|
35
|
-
import
|
|
36
|
-
import { t as
|
|
37
|
-
import "./
|
|
38
|
-
import
|
|
39
|
-
import
|
|
40
|
-
import "./
|
|
41
|
-
import {
|
|
42
|
-
import "./
|
|
43
|
-
import "./
|
|
44
|
-
import "./
|
|
45
|
-
import "./
|
|
46
|
-
import {
|
|
47
|
-
import "./
|
|
48
|
-
import "./
|
|
49
|
-
import
|
|
50
|
-
import
|
|
51
|
-
import "./WorkflowActivationErrorMessage-CkxW6ZtU.js";
|
|
52
|
-
import { i as getLastPublishedVersion, r as generateVersionName } from "./utils-CnShVJFh.js";
|
|
53
|
-
import "./ProjectBreadcrumb-CwG4u83J.js";
|
|
54
|
-
import { n as FolderBreadcrumbs_default, t as WorkflowActivator_default } from "./WorkflowActivator-CisdBXpp.js";
|
|
55
|
-
import { t as PushConnectionTracker_default } from "./PushConnectionTracker-Cwk4a7eu.js";
|
|
56
|
-
import { t as useWorkflowSettingsCache } from "./useWorkflowsCache-CsbESieM.js";
|
|
57
|
-
import { t as useBeforeUnload } from "./useBeforeUnload-dAltrwFm.js";
|
|
58
|
-
import { t as usePushConnection } from "./usePushConnection-O_Sg_NLA.js";
|
|
59
|
-
import "./aiTemplatesStarterCollection.store-B-exu89T.js";
|
|
60
|
-
import "./readyToRun.store-DX00OlhN.js";
|
|
1
|
+
import { o as __toESM } from "./chunk-r2Y0G7H8.js";
|
|
2
|
+
import { $t as hasOwn, C as computed, Cn as toDisplayString, D as createElementBlock, E as createCommentVNode, G as nextTick, Gt as unref, It as ref, J as onBeforeUnmount, L as h, M as createVNode, P as defineComponent, T as createBlock, Z as onMounted, _ as Fragment, _t as watch, at as renderSlot, bn as normalizeStyle, bt as withCtx, c as useCssModule, en as hyphenate, et as openBlock, it as renderList, j as createTextVNode, mt as useTemplateRef, ot as resolveComponent, p as vShow, q as onBeforeMount, tn as init_shared_esm_bundler, vn as normalizeClass, w as createBaseVNode, xt as withDirectives } from "./vue.runtime.esm-bundler-XtMkEjzB.js";
|
|
3
|
+
import { M as useLocalStorage, _t as useI18n, w as useDocumentVisibility } from "./_MapCache-DkLivSSb.js";
|
|
4
|
+
import { E as N8nRadioButtons_default, Ot as N8nIconButton_default, S as N8nTag_default, St as N8nTooltip_default, ft as N8nActionDropdown_default, g as N8nUserStack_default, ht as N8nBadge_default, jn as N8nIcon_default, kn as N8nButton_default, l as N8nInlineTextEdit_default, x as SuggestedActions_default } from "./src-DpZSuyLC.js";
|
|
5
|
+
import { t as __vitePreload } from "./preload-helper-D8n1yiy9.js";
|
|
6
|
+
import { t as __plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-fRq25RGE.js";
|
|
7
|
+
import { T as createEventBus, v as useRoute, y as useRouter } from "./truncate-BrM_9cme.js";
|
|
8
|
+
import { Bt as ProjectTypes, C as useNodeTypesStore, Dt as useTagsStore, Ft as useNDVStore, Mt as useTelemetry, Pt as telemetry, T as useEvaluationStore, an as useDocumentTitle, bc as getBannerRowHeight, br as useToast, fi as ResourceType, gr as useMessage, hr as useSourceControlStore, ls as useSettingsStore, na as nodeViewEventBus, on as useWorkflowSaving, r as useUIStore, rr as hasPermission, s as useWorkflowsStore, sn as useWorkflowAutosaveStore, t as useUsersStore, va as PROJECT_MOVE_RESOURCE_MODAL, vi as getActivatableTriggerNodes, wt as useWorkflowHelpers, yr as require_FileSaver_min, zt as useProjectsStore } from "./users.store-KBMG-745.js";
|
|
9
|
+
import "./sanitize-html-DeDnsMgc.js";
|
|
10
|
+
import "./empty-nq5-pHAR.js";
|
|
11
|
+
import { $o as IMPORT_WORKFLOW_URL_MODAL_KEY, Cs as WORKFLOW_SHARE_MODAL_KEY, Ko as DUPLICATE_MODAL_KEY, Ms as LOCAL_STORAGE_HIDE_GITHUB_STAR_BUTTON, Ro as MAIN_HEADER_TABS, Ss as WORKFLOW_SETTINGS_MODAL_KEY, Wc as WORKFLOW_MENU_ACTIONS, bc as EnterpriseEditionFeature, bs as WORKFLOW_HISTORY_VERSION_UNPUBLISH, fr as TIME_SAVED_NODE_TYPE, g as EVALUATIONS_DOCS_URL, h as ERROR_WORKFLOW_DOCS_URL, hs as WORKFLOW_DESCRIPTION_MODAL_KEY, is as MODAL_CONFIRM, ko as getResourcePermissions, ms as WORKFLOW_ACTIVE_MODAL_KEY, o as MAX_WORKFLOW_NAME_LENGTH, sr as STICKY_NODE_TYPE, t as AutoSaveState, v as N8N_MAIN_GITHUB_REPO_URL, w as TIME_SAVED_DOCS_URL, wc as LOADING_ANIMATION_MIN_DURATION, xs as WORKFLOW_PUBLISH_MODAL_KEY, zo as VIEWS } from "./constants-CRdXn3zB.js";
|
|
12
|
+
import "./merge-B0-p153C.js";
|
|
13
|
+
import { r as useRootStore } from "./_baseOrderBy-Cy5MGJv_.js";
|
|
14
|
+
import { t as useBannersStore } from "./banners.store-De4swlHn.js";
|
|
15
|
+
import "./dateformat-BeHi9sF4.js";
|
|
16
|
+
import { n as require_debounce, t as useDebounce } from "./useDebounce-C4ttil9E.js";
|
|
17
|
+
import "./versions.store-BnGZ_WOG.js";
|
|
18
|
+
import "./dataTable.store-DepEpEQf.js";
|
|
19
|
+
import { t as useExecutionsStore } from "./executions.store-D1BMCixf.js";
|
|
20
|
+
import "./assistant.store-BsyT2BFh.js";
|
|
21
|
+
import "./usePinnedData-BFTyeyJG.js";
|
|
22
|
+
import "./nodeCreator.store-BL_XgPCV.js";
|
|
23
|
+
import "./canvas.utils-6yT3qDz5.js";
|
|
24
|
+
import "./nodeIcon-G45tSifH.js";
|
|
25
|
+
import { r as canvasEventBus } from "./useCanvasOperations-DY9_Vcrs.js";
|
|
26
|
+
import { t as useFoldersStore } from "./folders.store-DHmLGEYl.js";
|
|
27
|
+
import "./ProjectIcon-gwTM9uPG.js";
|
|
28
|
+
import "./pushConnection.store-Rp8-mZo7.js";
|
|
29
|
+
import "./NodeIcon-SaoWBT_U.js";
|
|
30
|
+
import "./useRunWorkflow-wOjZEWNr.js";
|
|
31
|
+
import { t as useCollaborationStore } from "./collaboration.store-DuCY-6U-.js";
|
|
32
|
+
import { t as TimeAgo_default } from "./TimeAgo-DbbBIULe.js";
|
|
33
|
+
import "./roles.store-ByEYbWMb.js";
|
|
34
|
+
import { t as router_default } from "./router-CmCiJkA0.js";
|
|
35
|
+
import "./TagsDropdown-998vpfi2.js";
|
|
36
|
+
import { t as WorkflowTagsDropdown_default } from "./WorkflowTagsDropdown-DMBpcKR1.js";
|
|
37
|
+
import "./sso.store-B0NxuXiJ.js";
|
|
38
|
+
import "./insights.store-B6MSLVpS.js";
|
|
39
|
+
import "./insights.constants-98xWnZQu.js";
|
|
40
|
+
import "./insights.utils-B0txVt0Q.js";
|
|
41
|
+
import { a as MCP_DOCS_PAGE_URL, s as MCP_SETTINGS_VIEW } from "./mcp.constants-Djm5lWYR.js";
|
|
42
|
+
import { t as useMcp } from "./useMcp-BIeH6n02.js";
|
|
43
|
+
import { a as useWorkflowActivate, i as getLastPublishedVersion, r as generateVersionName } from "./utils-BCX2a8sC.js";
|
|
44
|
+
import "./ProjectBreadcrumb-2BEX5IDD.js";
|
|
45
|
+
import { t as FolderBreadcrumbs_default } from "./FolderBreadcrumbs-DegmC04u.js";
|
|
46
|
+
import { t as PushConnectionTracker_default } from "./PushConnectionTracker-v1yU_xFk.js";
|
|
47
|
+
import { t as useWorkflowSettingsCache } from "./useWorkflowsCache-BBhvuqqB.js";
|
|
48
|
+
import { t as usePushConnection } from "./usePushConnection-CcijHMYv.js";
|
|
49
|
+
import "./aiTemplatesStarterCollection.store-C5UvSRtb.js";
|
|
50
|
+
import "./readyToRun.store-i9gaUDlh.js";
|
|
61
51
|
var TabBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
62
52
|
__name: "TabBar",
|
|
63
53
|
props: {
|
|
@@ -71,15 +61,15 @@ var TabBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
71
61
|
emit("update:modelValue", tab, event);
|
|
72
62
|
}
|
|
73
63
|
return (_ctx, _cache) => {
|
|
74
|
-
return
|
|
64
|
+
return __props.items ? (openBlock(), createElementBlock("div", {
|
|
75
65
|
key: 0,
|
|
76
66
|
class: normalizeClass({
|
|
77
67
|
[_ctx.$style.container]: true,
|
|
78
68
|
["tab-bar-container"]: true
|
|
79
69
|
})
|
|
80
70
|
}, [createVNode(unref(N8nRadioButtons_default), {
|
|
81
|
-
"model-value":
|
|
82
|
-
options:
|
|
71
|
+
"model-value": __props.modelValue,
|
|
72
|
+
options: __props.items,
|
|
83
73
|
"onUpdate:modelValue": onUpdateModelValue
|
|
84
74
|
}, null, 8, ["model-value", "options"])], 2)) : createCommentVNode("", true);
|
|
85
75
|
};
|
|
@@ -416,8 +406,8 @@ var IntersectionObserved_default = /* @__PURE__ */ defineComponent({
|
|
|
416
406
|
};
|
|
417
407
|
}
|
|
418
408
|
});
|
|
419
|
-
var import_debounce = /* @__PURE__ */ __toESM(require_debounce());
|
|
420
|
-
var _hoisted_1$
|
|
409
|
+
var import_debounce = /* @__PURE__ */ __toESM(require_debounce(), 1);
|
|
410
|
+
var _hoisted_1$3 = { class: "tags" };
|
|
421
411
|
var _hoisted_2$2 = ["onClick"];
|
|
422
412
|
var TagsContainer_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
423
413
|
__name: "TagsContainer",
|
|
@@ -499,11 +489,11 @@ var TagsContainer_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/
|
|
|
499
489
|
threshold: 1,
|
|
500
490
|
class: "tags-container",
|
|
501
491
|
style: normalizeStyle(style.value),
|
|
502
|
-
enabled:
|
|
492
|
+
enabled: __props.responsive,
|
|
503
493
|
"event-bus": unref(intersectionEventBus),
|
|
504
494
|
onObserved
|
|
505
495
|
}, {
|
|
506
|
-
default: withCtx(() => [createBaseVNode("span", _hoisted_1$
|
|
496
|
+
default: withCtx(() => [createBaseVNode("span", _hoisted_1$3, [(openBlock(true), createElementBlock(Fragment, null, renderList(tags.value, (tag) => {
|
|
507
497
|
return openBlock(), createElementBlock("span", {
|
|
508
498
|
key: tag.id,
|
|
509
499
|
class: normalizeClass({ clickable: !tag.hidden }),
|
|
@@ -518,13 +508,13 @@ var TagsContainer_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/
|
|
|
518
508
|
key: 1,
|
|
519
509
|
class: normalizeClass({ hideTag: tag.hidden }),
|
|
520
510
|
"data-id": tag.id,
|
|
521
|
-
enabled:
|
|
511
|
+
enabled: __props.responsive,
|
|
522
512
|
"event-bus": unref(intersectionEventBus)
|
|
523
513
|
}, {
|
|
524
514
|
default: withCtx(() => [createVNode(unref(N8nTag_default), {
|
|
525
515
|
title: tag.name,
|
|
526
516
|
text: tag.name,
|
|
527
|
-
clickable:
|
|
517
|
+
clickable: __props.clickable
|
|
528
518
|
}, null, 8, [
|
|
529
519
|
"title",
|
|
530
520
|
"text",
|
|
@@ -565,11 +555,11 @@ var WorkflowTagsContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
565
555
|
}
|
|
566
556
|
return (_ctx, _cache) => {
|
|
567
557
|
return openBlock(), createBlock(TagsContainer_default, {
|
|
568
|
-
"tag-ids":
|
|
558
|
+
"tag-ids": __props.tagIds,
|
|
569
559
|
"tags-by-id": tagsById.value,
|
|
570
|
-
limit:
|
|
571
|
-
clickable:
|
|
572
|
-
responsive:
|
|
560
|
+
limit: __props.limit,
|
|
561
|
+
clickable: __props.clickable,
|
|
562
|
+
responsive: __props.responsive,
|
|
573
563
|
onClick
|
|
574
564
|
}, null, 8, [
|
|
575
565
|
"tag-ids",
|
|
@@ -581,149 +571,6 @@ var WorkflowTagsContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
581
571
|
};
|
|
582
572
|
}
|
|
583
573
|
});
|
|
584
|
-
var HEARTBEAT_INTERVAL = 5 * TIME.MINUTE;
|
|
585
|
-
const useCollaborationStore = defineStore(STORES.COLLABORATION, () => {
|
|
586
|
-
const pushStore = usePushConnectionStore();
|
|
587
|
-
const workflowsStore = useWorkflowsStore();
|
|
588
|
-
const usersStore = useUsersStore();
|
|
589
|
-
const uiStore = useUIStore();
|
|
590
|
-
const { addBeforeUnloadEventBindings, removeBeforeUnloadEventBindings, addBeforeUnloadHandler } = useBeforeUnload({ route: useRoute() });
|
|
591
|
-
const unloadTimeout = ref(null);
|
|
592
|
-
addBeforeUnloadHandler(() => {
|
|
593
|
-
notifyWorkflowClosed();
|
|
594
|
-
if (uiStore.stateIsDirty) unloadTimeout.value = setTimeout(() => notifyWorkflowOpened, 5 * TIME.SECOND);
|
|
595
|
-
});
|
|
596
|
-
const collaborators = ref([]);
|
|
597
|
-
const heartbeatTimer = ref(null);
|
|
598
|
-
const startHeartbeat = () => {
|
|
599
|
-
stopHeartbeat();
|
|
600
|
-
heartbeatTimer.value = window.setInterval(notifyWorkflowOpened, HEARTBEAT_INTERVAL);
|
|
601
|
-
};
|
|
602
|
-
const stopHeartbeat = () => {
|
|
603
|
-
if (heartbeatTimer.value !== null) {
|
|
604
|
-
clearInterval(heartbeatTimer.value);
|
|
605
|
-
heartbeatTimer.value = null;
|
|
606
|
-
}
|
|
607
|
-
};
|
|
608
|
-
const pushStoreEventListenerRemovalFn = ref(null);
|
|
609
|
-
function initialize() {
|
|
610
|
-
if (pushStoreEventListenerRemovalFn.value) return;
|
|
611
|
-
pushStoreEventListenerRemovalFn.value = pushStore.addEventListener((event) => {
|
|
612
|
-
if (event.type === "collaboratorsChanged" && event.data.workflowId === workflowsStore.workflowId) collaborators.value = event.data.collaborators;
|
|
613
|
-
});
|
|
614
|
-
addBeforeUnloadEventBindings();
|
|
615
|
-
notifyWorkflowOpened();
|
|
616
|
-
startHeartbeat();
|
|
617
|
-
}
|
|
618
|
-
function terminate() {
|
|
619
|
-
if (typeof pushStoreEventListenerRemovalFn.value === "function") {
|
|
620
|
-
pushStoreEventListenerRemovalFn.value();
|
|
621
|
-
pushStoreEventListenerRemovalFn.value = null;
|
|
622
|
-
}
|
|
623
|
-
notifyWorkflowClosed();
|
|
624
|
-
stopHeartbeat();
|
|
625
|
-
pushStore.clearQueue();
|
|
626
|
-
removeBeforeUnloadEventBindings();
|
|
627
|
-
if (unloadTimeout.value) clearTimeout(unloadTimeout.value);
|
|
628
|
-
}
|
|
629
|
-
function notifyWorkflowOpened() {
|
|
630
|
-
if (!workflowsStore.isWorkflowSaved[workflowsStore.workflowId]) return;
|
|
631
|
-
pushStore.send({
|
|
632
|
-
type: "workflowOpened",
|
|
633
|
-
workflowId: workflowsStore.workflowId
|
|
634
|
-
});
|
|
635
|
-
}
|
|
636
|
-
function notifyWorkflowClosed() {
|
|
637
|
-
if (!workflowsStore.isWorkflowSaved[workflowsStore.workflowId]) return;
|
|
638
|
-
pushStore.send({
|
|
639
|
-
type: "workflowClosed",
|
|
640
|
-
workflowId: workflowsStore.workflowId
|
|
641
|
-
});
|
|
642
|
-
collaborators.value = collaborators.value.filter(({ user }) => user.id !== usersStore.currentUserId);
|
|
643
|
-
}
|
|
644
|
-
return {
|
|
645
|
-
collaborators,
|
|
646
|
-
initialize,
|
|
647
|
-
terminate,
|
|
648
|
-
startHeartbeat,
|
|
649
|
-
stopHeartbeat
|
|
650
|
-
};
|
|
651
|
-
});
|
|
652
|
-
var CollaborationPane_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
653
|
-
__name: "CollaborationPane",
|
|
654
|
-
setup(__props) {
|
|
655
|
-
const collaborationStore = useCollaborationStore();
|
|
656
|
-
const usersStore = useUsersStore();
|
|
657
|
-
watch(useDocumentVisibility(), (visibilityState) => {
|
|
658
|
-
if (visibilityState === "hidden") collaborationStore.stopHeartbeat();
|
|
659
|
-
else collaborationStore.startHeartbeat();
|
|
660
|
-
});
|
|
661
|
-
const showUserStack = computed(() => collaborationStore.collaborators.length > 1);
|
|
662
|
-
const collaboratorsSorted = computed(() => {
|
|
663
|
-
const users = collaborationStore.collaborators.map(({ user }) => user);
|
|
664
|
-
const index = users.findIndex((user) => user.id === usersStore.currentUser?.id);
|
|
665
|
-
if (index < 1) return { defaultGroup: users };
|
|
666
|
-
const [currentUser] = users.splice(index, 1);
|
|
667
|
-
return { defaultGroup: [currentUser, ...users] };
|
|
668
|
-
});
|
|
669
|
-
const currentUserEmail = computed(() => usersStore.currentUser?.email);
|
|
670
|
-
onMounted(() => {
|
|
671
|
-
collaborationStore.initialize();
|
|
672
|
-
});
|
|
673
|
-
onBeforeUnmount(() => {
|
|
674
|
-
collaborationStore.terminate();
|
|
675
|
-
});
|
|
676
|
-
return (_ctx, _cache) => {
|
|
677
|
-
return showUserStack.value ? (openBlock(), createElementBlock("div", {
|
|
678
|
-
key: 0,
|
|
679
|
-
class: normalizeClass(`collaboration-pane-container ${_ctx.$style.container}`),
|
|
680
|
-
"data-test-id": "collaboration-pane"
|
|
681
|
-
}, [createVNode(unref(N8nUserStack_default), {
|
|
682
|
-
users: collaboratorsSorted.value,
|
|
683
|
-
"current-user-email": currentUserEmail.value
|
|
684
|
-
}, null, 8, ["users", "current-user-email"])], 2)) : createCommentVNode("", true);
|
|
685
|
-
};
|
|
686
|
-
}
|
|
687
|
-
});
|
|
688
|
-
var CollaborationPane_vue_vue_type_style_index_0_lang_module_default = { container: "_container_dsr9f_123" };
|
|
689
|
-
var CollaborationPane_default = /* @__PURE__ */ __plugin_vue_export_helper_default(CollaborationPane_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": CollaborationPane_vue_vue_type_style_index_0_lang_module_default }]]);
|
|
690
|
-
var _hoisted_1$1 = { key: 0 };
|
|
691
|
-
var _hoisted_2$1 = { key: 1 };
|
|
692
|
-
var WorkflowHistoryButton_default = /* @__PURE__ */ defineComponent({
|
|
693
|
-
__name: "WorkflowHistoryButton",
|
|
694
|
-
props: {
|
|
695
|
-
workflowId: {},
|
|
696
|
-
isNewWorkflow: { type: Boolean }
|
|
697
|
-
},
|
|
698
|
-
setup(__props) {
|
|
699
|
-
const locale = useI18n();
|
|
700
|
-
const props = __props;
|
|
701
|
-
const workflowHistoryRoute = computed(() => ({
|
|
702
|
-
name: VIEWS.WORKFLOW_HISTORY,
|
|
703
|
-
params: { workflowId: props.workflowId }
|
|
704
|
-
}));
|
|
705
|
-
return (_ctx, _cache) => {
|
|
706
|
-
const _component_RouterLink = resolveComponent("RouterLink");
|
|
707
|
-
return _ctx.workflowId ? (openBlock(), createBlock(unref(N8nTooltip_default), {
|
|
708
|
-
key: 0,
|
|
709
|
-
placement: "bottom"
|
|
710
|
-
}, {
|
|
711
|
-
content: withCtx(() => [_ctx.isNewWorkflow ? (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString(unref(locale).baseText("workflowHistory.button.tooltip.empty")), 1)) : (openBlock(), createElementBlock("span", _hoisted_2$1, toDisplayString(unref(locale).baseText("workflowHistory.button.tooltip")), 1))]),
|
|
712
|
-
default: withCtx(() => [createVNode(_component_RouterLink, { to: workflowHistoryRoute.value }, {
|
|
713
|
-
default: withCtx(() => [createVNode(unref(N8nIconButton_default), {
|
|
714
|
-
disabled: _ctx.isNewWorkflow,
|
|
715
|
-
"data-test-id": "workflow-history-button",
|
|
716
|
-
type: "highlight",
|
|
717
|
-
icon: "history",
|
|
718
|
-
size: "medium"
|
|
719
|
-
}, null, 8, ["disabled"])]),
|
|
720
|
-
_: 1
|
|
721
|
-
}, 8, ["to"])]),
|
|
722
|
-
_: 1
|
|
723
|
-
})) : createCommentVNode("", true);
|
|
724
|
-
};
|
|
725
|
-
}
|
|
726
|
-
});
|
|
727
574
|
var INVALID_CHARS_REGEX = /[<>:"/\\|?*\u0000-\u001F\u007F-\u009F]/g;
|
|
728
575
|
var ZERO_WIDTH_CHARS_REGEX = /[\u200B-\u200D\u2060\uFEFF]/g;
|
|
729
576
|
var UNICODE_SPACES_REGEX = /[\u00A0\u2000-\u200A]/g;
|
|
@@ -762,7 +609,7 @@ var sanitizeFilename = (filename, maxLength = MAX_FILENAME_LENGTH) => {
|
|
|
762
609
|
if (baseName.length > maxLength) baseName = baseName.slice(0, maxLength);
|
|
763
610
|
return baseName;
|
|
764
611
|
};
|
|
765
|
-
var import_FileSaver_min = /* @__PURE__ */ __toESM(require_FileSaver_min());
|
|
612
|
+
var import_FileSaver_min = /* @__PURE__ */ __toESM(require_FileSaver_min(), 1);
|
|
766
613
|
const getWorkflowId = (propId, routeName) => {
|
|
767
614
|
return propId ?? (typeof routeName === "string" ? routeName : void 0);
|
|
768
615
|
};
|
|
@@ -779,10 +626,8 @@ var ActionsDropdownMenu_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
779
626
|
currentFolder: {},
|
|
780
627
|
meta: {}
|
|
781
628
|
},
|
|
782
|
-
|
|
783
|
-
setup(__props, { expose: __expose, emit: __emit }) {
|
|
629
|
+
setup(__props, { expose: __expose }) {
|
|
784
630
|
const props = __props;
|
|
785
|
-
const emit = __emit;
|
|
786
631
|
const importFileRef = ref();
|
|
787
632
|
const toast = useToast();
|
|
788
633
|
const locale = useI18n();
|
|
@@ -972,7 +817,7 @@ var ActionsDropdownMenu_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
972
817
|
break;
|
|
973
818
|
case WORKFLOW_MENU_ACTIONS.DOWNLOAD: {
|
|
974
819
|
const workflowData = await workflowHelpers.getWorkflowDataToSave();
|
|
975
|
-
const { tags
|
|
820
|
+
const { tags, ...data } = workflowData;
|
|
976
821
|
const exportData = {
|
|
977
822
|
...data,
|
|
978
823
|
meta: {
|
|
@@ -980,7 +825,7 @@ var ActionsDropdownMenu_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
980
825
|
instanceId: rootStore.instanceId
|
|
981
826
|
},
|
|
982
827
|
tags: (tags ?? []).map((tagId) => {
|
|
983
|
-
const { usageCount
|
|
828
|
+
const { usageCount, ...tag } = tagsStore.tagsById[tagId];
|
|
984
829
|
return tag;
|
|
985
830
|
})
|
|
986
831
|
};
|
|
@@ -999,7 +844,6 @@ var ActionsDropdownMenu_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
999
844
|
break;
|
|
1000
845
|
case WORKFLOW_MENU_ACTIONS.PUSH:
|
|
1001
846
|
try {
|
|
1002
|
-
emit("workflow:saved");
|
|
1003
847
|
router_default.push({ query: {
|
|
1004
848
|
...route.query,
|
|
1005
849
|
sourceControl: "push"
|
|
@@ -1089,153 +933,97 @@ var ActionsDropdownMenu_vue_vue_type_style_index_0_lang_module_default = {
|
|
|
1089
933
|
hiddenInput: "_hiddenInput_ntqfl_132"
|
|
1090
934
|
};
|
|
1091
935
|
var ActionsDropdownMenu_default = /* @__PURE__ */ __plugin_vue_export_helper_default(ActionsDropdownMenu_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": ActionsDropdownMenu_vue_vue_type_style_index_0_lang_module_default }]]);
|
|
1092
|
-
var
|
|
1093
|
-
|
|
936
|
+
var _hoisted_1$2 = { key: 0 };
|
|
937
|
+
var _hoisted_2$1 = { key: 1 };
|
|
938
|
+
var WorkflowHistoryButton_default = /* @__PURE__ */ defineComponent({
|
|
939
|
+
__name: "WorkflowHistoryButton",
|
|
1094
940
|
props: {
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
tags: {},
|
|
1098
|
-
name: {},
|
|
1099
|
-
meta: {},
|
|
1100
|
-
active: { type: Boolean },
|
|
1101
|
-
currentFolder: {},
|
|
1102
|
-
isArchived: { type: Boolean },
|
|
1103
|
-
isNewWorkflow: { type: Boolean },
|
|
1104
|
-
workflowPermissions: {}
|
|
941
|
+
workflowId: {},
|
|
942
|
+
isNewWorkflow: { type: Boolean }
|
|
1105
943
|
},
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
const i18n = useI18n();
|
|
1109
|
-
const uiStore = useUIStore();
|
|
1110
|
-
const telemetry$1 = useTelemetry();
|
|
1111
|
-
const usersStore = useUsersStore();
|
|
1112
|
-
const route = useRoute();
|
|
1113
|
-
const pageRedirectionHelper = usePageRedirectionHelper();
|
|
1114
|
-
const $style = useCssModule();
|
|
944
|
+
setup(__props) {
|
|
945
|
+
const locale = useI18n();
|
|
1115
946
|
const props = __props;
|
|
1116
|
-
const
|
|
1117
|
-
const isWorkflowSaving =
|
|
1118
|
-
|
|
947
|
+
const uiStore = useUIStore();
|
|
948
|
+
const isWorkflowSaving = ref(false);
|
|
949
|
+
const { debounce: debounce$1 } = useDebounce();
|
|
950
|
+
const debouncedRemoveSaveIndicator = debounce$1(() => {
|
|
951
|
+
isWorkflowSaving.value = false;
|
|
952
|
+
}, {
|
|
953
|
+
debounceTime: LOADING_ANIMATION_MIN_DURATION,
|
|
954
|
+
trailing: true
|
|
1119
955
|
});
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
data: { id: props.id }
|
|
1129
|
-
});
|
|
1130
|
-
telemetry$1.track("User opened sharing modal", {
|
|
1131
|
-
workflow_id: props.id,
|
|
1132
|
-
user_id_sharer: usersStore.currentUser?.id,
|
|
1133
|
-
sub_view: route.name === VIEWS.WORKFLOWS ? "Workflows listing" : "Workflow editor"
|
|
1134
|
-
});
|
|
1135
|
-
}
|
|
1136
|
-
function goToUpgrade() {
|
|
1137
|
-
pageRedirectionHelper.goToUpgrade("workflow_sharing", "upgrade-workflow-sharing");
|
|
1138
|
-
}
|
|
1139
|
-
__expose({ importFileRef });
|
|
956
|
+
watch(() => uiStore.isActionActive.workflowSaving, (value) => {
|
|
957
|
+
if (value) isWorkflowSaving.value = true;
|
|
958
|
+
else debouncedRemoveSaveIndicator();
|
|
959
|
+
});
|
|
960
|
+
const workflowHistoryRoute = computed(() => ({
|
|
961
|
+
name: VIEWS.WORKFLOW_HISTORY,
|
|
962
|
+
params: { workflowId: props.workflowId }
|
|
963
|
+
}));
|
|
1140
964
|
return (_ctx, _cache) => {
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
keypath: unref(uiStore).contextBasedTranslationKeys.workflows.sharing.unavailable.description.tooltip,
|
|
1158
|
-
tag: "span",
|
|
1159
|
-
scope: "global"
|
|
1160
|
-
}, {
|
|
1161
|
-
action: withCtx(() => [createBaseVNode("a", { onClick: goToUpgrade }, toDisplayString(unref(i18n).baseText(unref(uiStore).contextBasedTranslationKeys.workflows.sharing.unavailable.button)), 1)]),
|
|
1162
|
-
_: 1
|
|
1163
|
-
}, 8, ["keypath"])]),
|
|
1164
|
-
default: withCtx(() => [createVNode(unref(N8nButton_default), {
|
|
1165
|
-
type: "secondary",
|
|
1166
|
-
class: normalizeClass(["mr-2xs", unref($style).disabledShareButton])
|
|
1167
|
-
}, {
|
|
1168
|
-
default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("workflowDetails.share")), 1)]),
|
|
1169
|
-
_: 1
|
|
1170
|
-
}, 8, ["class"])]),
|
|
1171
|
-
_: 1
|
|
1172
|
-
})]),
|
|
1173
|
-
default: withCtx(() => [createBaseVNode("div", { class: normalizeClass(unref($style).group) }, [!_ctx.isNewWorkflow ? (openBlock(), createBlock(CollaborationPane_default, { key: 0 })) : createCommentVNode("", true), createVNode(unref(N8nButton_default), {
|
|
1174
|
-
type: "secondary",
|
|
1175
|
-
"data-test-id": "workflow-share-button",
|
|
1176
|
-
onClick: onShareButtonClick
|
|
1177
|
-
}, {
|
|
1178
|
-
default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("workflowDetails.share")), 1)]),
|
|
1179
|
-
_: 1
|
|
1180
|
-
})], 2)]),
|
|
965
|
+
const _component_RouterLink = resolveComponent("RouterLink");
|
|
966
|
+
return __props.workflowId ? (openBlock(), createBlock(unref(N8nTooltip_default), {
|
|
967
|
+
key: 0,
|
|
968
|
+
placement: "bottom",
|
|
969
|
+
"show-after": 300
|
|
970
|
+
}, {
|
|
971
|
+
content: withCtx(() => [__props.isNewWorkflow ? (openBlock(), createElementBlock("span", _hoisted_1$2, toDisplayString(unref(locale).baseText("workflowHistory.button.tooltip.empty")), 1)) : (openBlock(), createElementBlock("span", _hoisted_2$1, toDisplayString(unref(locale).baseText("workflowHistory.button.tooltip")), 1))]),
|
|
972
|
+
default: withCtx(() => [createVNode(_component_RouterLink, { to: workflowHistoryRoute.value }, {
|
|
973
|
+
default: withCtx(() => [createVNode(unref(N8nIconButton_default), {
|
|
974
|
+
disabled: __props.isNewWorkflow,
|
|
975
|
+
loading: isWorkflowSaving.value,
|
|
976
|
+
"data-test-id": "workflow-history-button",
|
|
977
|
+
type: "highlight",
|
|
978
|
+
icon: "history",
|
|
979
|
+
size: "medium"
|
|
980
|
+
}, null, 8, ["disabled", "loading"])]),
|
|
1181
981
|
_: 1
|
|
1182
|
-
}, 8, ["
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
type: "primary",
|
|
1186
|
-
saved: !unref(uiStore).stateIsDirty && !_ctx.isNewWorkflow,
|
|
1187
|
-
disabled: isWorkflowSaving.value || _ctx.readOnly || _ctx.isArchived || !_ctx.isNewWorkflow && !_ctx.workflowPermissions.update,
|
|
1188
|
-
"is-saving": isWorkflowSaving.value,
|
|
1189
|
-
"with-shortcut": !_ctx.readOnly && !_ctx.isArchived && _ctx.workflowPermissions.update,
|
|
1190
|
-
"shortcut-tooltip": unref(i18n).baseText("saveWorkflowButton.hint"),
|
|
1191
|
-
"data-test-id": "workflow-save-button",
|
|
1192
|
-
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("workflow:saved"))
|
|
1193
|
-
}, null, 8, [
|
|
1194
|
-
"saved",
|
|
1195
|
-
"disabled",
|
|
1196
|
-
"is-saving",
|
|
1197
|
-
"with-shortcut",
|
|
1198
|
-
"shortcut-tooltip"
|
|
1199
|
-
]),
|
|
1200
|
-
createVNode(WorkflowHistoryButton_default, {
|
|
1201
|
-
"workflow-id": props.id,
|
|
1202
|
-
"is-new-workflow": _ctx.isNewWorkflow
|
|
1203
|
-
}, null, 8, ["workflow-id", "is-new-workflow"]),
|
|
1204
|
-
createVNode(ActionsDropdownMenu_default, {
|
|
1205
|
-
id: _ctx.id,
|
|
1206
|
-
ref: "actionsMenu",
|
|
1207
|
-
"workflow-permissions": _ctx.workflowPermissions,
|
|
1208
|
-
"is-new-workflow": _ctx.isNewWorkflow,
|
|
1209
|
-
"read-only": _ctx.readOnly,
|
|
1210
|
-
"is-archived": _ctx.isArchived,
|
|
1211
|
-
name: _ctx.name,
|
|
1212
|
-
tags: _ctx.tags,
|
|
1213
|
-
"current-folder": _ctx.currentFolder,
|
|
1214
|
-
meta: _ctx.meta,
|
|
1215
|
-
"onWorkflow:saved": _cache[1] || (_cache[1] = ($event) => _ctx.$emit("workflow:saved"))
|
|
1216
|
-
}, null, 8, [
|
|
1217
|
-
"id",
|
|
1218
|
-
"workflow-permissions",
|
|
1219
|
-
"is-new-workflow",
|
|
1220
|
-
"read-only",
|
|
1221
|
-
"is-archived",
|
|
1222
|
-
"name",
|
|
1223
|
-
"tags",
|
|
1224
|
-
"current-folder",
|
|
1225
|
-
"meta"
|
|
1226
|
-
])
|
|
1227
|
-
], 2)
|
|
1228
|
-
], 2);
|
|
982
|
+
}, 8, ["to"])]),
|
|
983
|
+
_: 1
|
|
984
|
+
})) : createCommentVNode("", true);
|
|
1229
985
|
};
|
|
1230
986
|
}
|
|
1231
987
|
});
|
|
1232
|
-
var
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
988
|
+
var CollaborationPane_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
989
|
+
__name: "CollaborationPane",
|
|
990
|
+
setup(__props) {
|
|
991
|
+
const collaborationStore = useCollaborationStore();
|
|
992
|
+
const usersStore = useUsersStore();
|
|
993
|
+
watch(useDocumentVisibility(), (visibilityState) => {
|
|
994
|
+
if (visibilityState === "hidden") collaborationStore.stopHeartbeat();
|
|
995
|
+
else collaborationStore.startHeartbeat();
|
|
996
|
+
});
|
|
997
|
+
const showUserStack = computed(() => collaborationStore.collaborators.length > 1);
|
|
998
|
+
const collaboratorsSorted = computed(() => {
|
|
999
|
+
const users = collaborationStore.collaborators.map(({ user }) => user);
|
|
1000
|
+
const index = users.findIndex((user) => user.id === usersStore.currentUser?.id);
|
|
1001
|
+
if (index < 1) return { defaultGroup: users };
|
|
1002
|
+
const [currentUser] = users.splice(index, 1);
|
|
1003
|
+
return { defaultGroup: [currentUser, ...users] };
|
|
1004
|
+
});
|
|
1005
|
+
const currentUserEmail = computed(() => usersStore.currentUser?.email);
|
|
1006
|
+
onMounted(() => {
|
|
1007
|
+
collaborationStore.initialize();
|
|
1008
|
+
});
|
|
1009
|
+
onBeforeUnmount(() => {
|
|
1010
|
+
collaborationStore.terminate();
|
|
1011
|
+
});
|
|
1012
|
+
return (_ctx, _cache) => {
|
|
1013
|
+
return showUserStack.value ? (openBlock(), createElementBlock("div", {
|
|
1014
|
+
key: 0,
|
|
1015
|
+
class: normalizeClass(`collaboration-pane-container ${_ctx.$style.container}`),
|
|
1016
|
+
"data-test-id": "collaboration-pane"
|
|
1017
|
+
}, [createVNode(unref(N8nUserStack_default), {
|
|
1018
|
+
users: collaboratorsSorted.value,
|
|
1019
|
+
"current-user-email": currentUserEmail.value
|
|
1020
|
+
}, null, 8, ["users", "current-user-email"])], 2)) : createCommentVNode("", true);
|
|
1021
|
+
};
|
|
1022
|
+
}
|
|
1023
|
+
});
|
|
1024
|
+
var CollaborationPane_vue_vue_type_style_index_0_lang_module_default = { container: "_container_dsr9f_123" };
|
|
1025
|
+
var CollaborationPane_default = /* @__PURE__ */ __plugin_vue_export_helper_default(CollaborationPane_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": CollaborationPane_vue_vue_type_style_index_0_lang_module_default }]]);
|
|
1026
|
+
var _hoisted_1$1 = { "data-test-id": "workflow-active-version-indicator" };
|
|
1239
1027
|
var WorkflowHeaderDraftPublishActions_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
1240
1028
|
__name: "WorkflowHeaderDraftPublishActions",
|
|
1241
1029
|
props: {
|
|
@@ -1249,60 +1037,144 @@ var WorkflowHeaderDraftPublishActions_vue_vue_type_script_setup_true_lang_defaul
|
|
|
1249
1037
|
isNewWorkflow: { type: Boolean },
|
|
1250
1038
|
workflowPermissions: {}
|
|
1251
1039
|
},
|
|
1252
|
-
emits: ["workflow:saved"],
|
|
1253
1040
|
setup(__props, { expose: __expose }) {
|
|
1254
1041
|
const props = __props;
|
|
1255
1042
|
const actionsMenuRef = useTemplateRef("actionsMenu");
|
|
1256
|
-
const
|
|
1043
|
+
const readOnlyForPublish = computed(() => {
|
|
1044
|
+
if (props.isNewWorkflow) return props.readOnly;
|
|
1045
|
+
return props.readOnly || props.isArchived || !props.workflowPermissions.update || !props.workflowPermissions.publish;
|
|
1046
|
+
});
|
|
1047
|
+
const shouldHidePublishButton = computed(() => {
|
|
1048
|
+
return props.readOnly || props.isArchived || !props.workflowPermissions.update;
|
|
1049
|
+
});
|
|
1257
1050
|
const uiStore = useUIStore();
|
|
1258
1051
|
const workflowsStore = useWorkflowsStore();
|
|
1259
1052
|
const i18n = useI18n();
|
|
1260
|
-
const
|
|
1053
|
+
const router = useRouter();
|
|
1054
|
+
const autosaveStore = useWorkflowAutosaveStore();
|
|
1055
|
+
const { saveCurrentWorkflow, cancelAutoSave } = useWorkflowSaving({ router });
|
|
1261
1056
|
const autoSaveForPublish = ref(false);
|
|
1262
|
-
const isWorkflowSaving = computed(() => {
|
|
1263
|
-
return uiStore.isActionActive.workflowSaving && !autoSaveForPublish.value;
|
|
1264
|
-
});
|
|
1265
1057
|
const importFileRef = computed(() => actionsMenuRef.value?.importFileRef);
|
|
1266
|
-
const
|
|
1267
|
-
|
|
1058
|
+
const foundTriggers = computed(() => getActivatableTriggerNodes(workflowsStore.workflowTriggerNodes));
|
|
1059
|
+
const containsTrigger = computed(() => {
|
|
1060
|
+
return foundTriggers.value.length > 0;
|
|
1061
|
+
});
|
|
1062
|
+
const workflowPublishState = computed(() => {
|
|
1063
|
+
const hasBeenPublished = !!workflowsStore.workflow.activeVersion;
|
|
1064
|
+
const hasChanges = workflowsStore.workflow.versionId !== workflowsStore.workflow.activeVersion?.versionId || uiStore.stateIsDirty;
|
|
1065
|
+
if (!hasBeenPublished) return containsTrigger.value && !workflowsStore.nodesIssuesExist ? "not-published-eligible" : "not-published-not-eligible";
|
|
1066
|
+
if (!containsTrigger.value) return "published-invalid-trigger";
|
|
1067
|
+
if (workflowsStore.nodesIssuesExist) return "published-node-issues";
|
|
1068
|
+
return hasChanges ? "published-with-changes" : "published-no-changes";
|
|
1069
|
+
});
|
|
1070
|
+
const saveBeforePublish = async () => {
|
|
1071
|
+
let saved = false;
|
|
1072
|
+
if (autosaveStore.autoSaveState === AutoSaveState.InProgress && autosaveStore.pendingAutoSave) {
|
|
1073
|
+
autoSaveForPublish.value = true;
|
|
1074
|
+
try {
|
|
1075
|
+
await autosaveStore.pendingAutoSave;
|
|
1076
|
+
saved = true;
|
|
1077
|
+
} catch {} finally {
|
|
1078
|
+
autoSaveForPublish.value = false;
|
|
1079
|
+
}
|
|
1080
|
+
} else if (autosaveStore.autoSaveState === AutoSaveState.Scheduled) cancelAutoSave();
|
|
1081
|
+
if (!saved || uiStore.stateIsDirty || props.isNewWorkflow) {
|
|
1268
1082
|
autoSaveForPublish.value = true;
|
|
1269
|
-
|
|
1083
|
+
saved = await saveCurrentWorkflow({}, true);
|
|
1270
1084
|
autoSaveForPublish.value = false;
|
|
1271
|
-
|
|
1085
|
+
}
|
|
1086
|
+
return saved;
|
|
1087
|
+
};
|
|
1088
|
+
const onPublishButtonClick = async () => {
|
|
1089
|
+
if (uiStore.stateIsDirty || props.isNewWorkflow) {
|
|
1090
|
+
if (!await saveBeforePublish()) return;
|
|
1272
1091
|
}
|
|
1273
1092
|
uiStore.openModalWithData({
|
|
1274
1093
|
name: WORKFLOW_PUBLISH_MODAL_KEY,
|
|
1275
1094
|
data: {}
|
|
1276
1095
|
});
|
|
1277
1096
|
};
|
|
1278
|
-
const
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
if (
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1097
|
+
const publishButtonConfig = computed(() => {
|
|
1098
|
+
if (!props.workflowPermissions.publish) return {
|
|
1099
|
+
text: i18n.baseText("workflows.publish"),
|
|
1100
|
+
enabled: false,
|
|
1101
|
+
showIndicator: false,
|
|
1102
|
+
indicatorClass: "",
|
|
1103
|
+
tooltip: i18n.baseText("workflows.publish.permissionDenied"),
|
|
1104
|
+
showVersionInfo: false
|
|
1105
|
+
};
|
|
1106
|
+
if (props.isNewWorkflow) return {
|
|
1107
|
+
text: i18n.baseText("workflows.publish"),
|
|
1108
|
+
enabled: containsTrigger.value && !workflowsStore.nodesIssuesExist,
|
|
1109
|
+
showIndicator: false,
|
|
1110
|
+
indicatorClass: "",
|
|
1111
|
+
tooltip: !containsTrigger.value ? i18n.baseText("workflows.publishModal.noTriggerMessage") : workflowsStore.nodesIssuesExist ? i18n.baseText("workflowActivator.showMessage.activeChangedNodesIssuesExistTrue.title", {
|
|
1112
|
+
interpolate: { count: workflowsStore.nodesWithIssues.length },
|
|
1113
|
+
adjustToNumber: workflowsStore.nodesWithIssues.length
|
|
1114
|
+
}) : "",
|
|
1115
|
+
showVersionInfo: false
|
|
1116
|
+
};
|
|
1117
|
+
return {
|
|
1118
|
+
"not-published-not-eligible": {
|
|
1119
|
+
text: i18n.baseText("workflows.publish"),
|
|
1120
|
+
enabled: false,
|
|
1121
|
+
showIndicator: false,
|
|
1122
|
+
indicatorClass: "",
|
|
1123
|
+
tooltip: !containsTrigger.value ? i18n.baseText("workflows.publishModal.noTriggerMessage") : i18n.baseText("workflowActivator.showMessage.activeChangedNodesIssuesExistTrue.title", {
|
|
1124
|
+
interpolate: { count: workflowsStore.nodesWithIssues.length },
|
|
1125
|
+
adjustToNumber: workflowsStore.nodesWithIssues.length
|
|
1126
|
+
}),
|
|
1127
|
+
showVersionInfo: false
|
|
1128
|
+
},
|
|
1129
|
+
"not-published-eligible": {
|
|
1130
|
+
text: i18n.baseText("workflows.publish"),
|
|
1131
|
+
enabled: true,
|
|
1132
|
+
showIndicator: false,
|
|
1133
|
+
indicatorClass: "",
|
|
1134
|
+
tooltip: "",
|
|
1135
|
+
showVersionInfo: false
|
|
1136
|
+
},
|
|
1137
|
+
"published-no-changes": {
|
|
1138
|
+
text: i18n.baseText("generic.published"),
|
|
1139
|
+
enabled: false,
|
|
1140
|
+
showIndicator: true,
|
|
1141
|
+
indicatorClass: "published",
|
|
1142
|
+
tooltip: "",
|
|
1143
|
+
showVersionInfo: true
|
|
1144
|
+
},
|
|
1145
|
+
"published-with-changes": {
|
|
1146
|
+
text: i18n.baseText("workflows.publish"),
|
|
1147
|
+
enabled: true,
|
|
1148
|
+
showIndicator: true,
|
|
1149
|
+
indicatorClass: "changes",
|
|
1150
|
+
tooltip: i18n.baseText("workflows.publishModal.changes"),
|
|
1151
|
+
showVersionInfo: false
|
|
1152
|
+
},
|
|
1153
|
+
"published-node-issues": {
|
|
1154
|
+
text: i18n.baseText("workflows.publish"),
|
|
1155
|
+
enabled: false,
|
|
1156
|
+
showIndicator: true,
|
|
1157
|
+
indicatorClass: "error",
|
|
1158
|
+
tooltip: i18n.baseText("workflowActivator.showMessage.activeChangedNodesIssuesExistTrue.title", {
|
|
1159
|
+
interpolate: { count: workflowsStore.nodesWithIssues.length },
|
|
1160
|
+
adjustToNumber: workflowsStore.nodesWithIssues.length
|
|
1161
|
+
}),
|
|
1162
|
+
showVersionInfo: true
|
|
1163
|
+
},
|
|
1164
|
+
"published-invalid-trigger": {
|
|
1165
|
+
text: i18n.baseText("workflows.publish"),
|
|
1166
|
+
enabled: false,
|
|
1167
|
+
showIndicator: true,
|
|
1168
|
+
indicatorClass: "changes",
|
|
1169
|
+
tooltip: i18n.baseText("workflows.publishModal.noTriggerMessage"),
|
|
1170
|
+
showVersionInfo: true
|
|
1171
|
+
}
|
|
1172
|
+
}[workflowPublishState.value];
|
|
1301
1173
|
});
|
|
1302
1174
|
const activeVersion = computed(() => workflowsStore.workflow.activeVersion);
|
|
1303
1175
|
const activeVersionName = computed(() => {
|
|
1304
1176
|
if (!activeVersion.value) return "";
|
|
1305
|
-
return activeVersion.value.name
|
|
1177
|
+
return activeVersion.value.name ?? generateVersionName(activeVersion.value.versionId);
|
|
1306
1178
|
});
|
|
1307
1179
|
const latestPublishDate = computed(() => {
|
|
1308
1180
|
return getLastPublishedVersion(activeVersion.value?.workflowPublishHistory ?? [])?.createdAt;
|
|
@@ -1316,78 +1188,58 @@ var WorkflowHeaderDraftPublishActions_vue_vue_type_script_setup_true_lang_defaul
|
|
|
1316
1188
|
__expose({ importFileRef });
|
|
1317
1189
|
return (_ctx, _cache) => {
|
|
1318
1190
|
return openBlock(), createElementBlock("div", { class: normalizeClass(_ctx.$style.container) }, [
|
|
1319
|
-
!
|
|
1320
|
-
|
|
1191
|
+
!__props.isNewWorkflow ? (openBlock(), createBlock(CollaborationPane_default, { key: 0 })) : createCommentVNode("", true),
|
|
1192
|
+
!shouldHidePublishButton.value ? (openBlock(), createElementBlock("div", {
|
|
1321
1193
|
key: 1,
|
|
1322
|
-
class: normalizeClass(_ctx.$style.
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1194
|
+
class: normalizeClass(_ctx.$style.publishButtonWrapper)
|
|
1195
|
+
}, [createVNode(unref(N8nTooltip_default), {
|
|
1196
|
+
disabled: workflowPublishState.value === "not-published-eligible" && props.workflowPermissions.publish,
|
|
1197
|
+
"show-after": 300
|
|
1198
|
+
}, {
|
|
1199
|
+
content: withCtx(() => [createBaseVNode("div", null, [publishButtonConfig.value.tooltip ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(publishButtonConfig.value.tooltip) + " ", 1), _cache[0] || (_cache[0] = createBaseVNode("br", null, null, -1))], 64)) : createCommentVNode("", true), activeVersion.value && publishButtonConfig.value.showVersionInfo ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
1200
|
+
createBaseVNode("span", _hoisted_1$1, toDisplayString(activeVersionName.value), 1),
|
|
1201
|
+
_cache[1] || (_cache[1] = createBaseVNode("br", null, null, -1)),
|
|
1328
1202
|
createTextVNode(toDisplayString(unref(i18n).baseText("workflowHistory.item.active")) + " ", 1),
|
|
1329
1203
|
latestPublishDate.value ? (openBlock(), createBlock(TimeAgo_default, {
|
|
1330
1204
|
key: 0,
|
|
1331
1205
|
date: latestPublishDate.value
|
|
1332
1206
|
}, null, 8, ["date"])) : createCommentVNode("", true)
|
|
1333
|
-
]),
|
|
1334
|
-
default: withCtx(() => [createVNode(unref(N8nIcon_default), {
|
|
1335
|
-
icon: "circle-check",
|
|
1336
|
-
color: "success",
|
|
1337
|
-
size: "xlarge",
|
|
1338
|
-
class: normalizeClass(_ctx.$style.icon)
|
|
1339
|
-
}, null, 8, ["class"])]),
|
|
1340
|
-
_: 1
|
|
1341
|
-
})], 2)) : createCommentVNode("", true),
|
|
1342
|
-
!_ctx.isArchived && (_ctx.workflowPermissions.update || _ctx.workflowPermissions.publish) ? (openBlock(), createElementBlock("div", {
|
|
1343
|
-
key: 2,
|
|
1344
|
-
class: normalizeClass(_ctx.$style.publishButtonWrapper)
|
|
1345
|
-
}, [createVNode(unref(N8nTooltip_default), { disabled: !publishTooltipText.value }, {
|
|
1346
|
-
content: withCtx(() => [createTextVNode(toDisplayString(publishTooltipText.value), 1)]),
|
|
1207
|
+
], 64)) : createCommentVNode("", true)])]),
|
|
1347
1208
|
default: withCtx(() => [createVNode(unref(N8nButton_default), {
|
|
1348
1209
|
loading: autoSaveForPublish.value,
|
|
1349
|
-
disabled: !
|
|
1210
|
+
disabled: !publishButtonConfig.value.enabled || readOnlyForPublish.value,
|
|
1350
1211
|
type: "secondary",
|
|
1351
1212
|
"data-test-id": "workflow-open-publish-modal-button",
|
|
1352
1213
|
onClick: onPublishButtonClick
|
|
1353
1214
|
}, {
|
|
1354
|
-
default: withCtx(() => [
|
|
1215
|
+
default: withCtx(() => [createBaseVNode("div", { class: normalizeClass([_ctx.$style.flex]) }, [publishButtonConfig.value.showIndicator ? (openBlock(), createElementBlock("span", {
|
|
1216
|
+
key: 0,
|
|
1217
|
+
class: normalizeClass({
|
|
1218
|
+
[_ctx.$style.indicatorDot]: true,
|
|
1219
|
+
[_ctx.$style.indicatorPublished]: publishButtonConfig.value.indicatorClass === "published",
|
|
1220
|
+
[_ctx.$style.indicatorChanges]: publishButtonConfig.value.indicatorClass === "changes",
|
|
1221
|
+
[_ctx.$style.indicatorIssues]: publishButtonConfig.value.indicatorClass === "error"
|
|
1222
|
+
})
|
|
1223
|
+
}, null, 2)) : createCommentVNode("", true), createBaseVNode("span", { class: normalizeClass([workflowPublishState.value === "published-no-changes" && _ctx.$style.indicatorPublishedText]) }, toDisplayString(publishButtonConfig.value.text), 3)], 2)]),
|
|
1355
1224
|
_: 1
|
|
1356
1225
|
}, 8, ["loading", "disabled"])]),
|
|
1357
1226
|
_: 1
|
|
1358
1227
|
}, 8, ["disabled"])], 2)) : createCommentVNode("", true),
|
|
1359
|
-
createVNode(SaveButton_default, {
|
|
1360
|
-
type: "primary",
|
|
1361
|
-
saved: isWorkflowSaved.value,
|
|
1362
|
-
disabled: isWorkflowSaving.value || _ctx.readOnly || _ctx.isArchived || !_ctx.isNewWorkflow && !_ctx.workflowPermissions.update,
|
|
1363
|
-
"is-saving": isWorkflowSaving.value,
|
|
1364
|
-
"with-shortcut": !_ctx.readOnly && !_ctx.isArchived && _ctx.workflowPermissions.update,
|
|
1365
|
-
"shortcut-tooltip": unref(i18n).baseText("saveWorkflowButton.hint"),
|
|
1366
|
-
"data-test-id": "workflow-save-button",
|
|
1367
|
-
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("workflow:saved"))
|
|
1368
|
-
}, null, 8, [
|
|
1369
|
-
"saved",
|
|
1370
|
-
"disabled",
|
|
1371
|
-
"is-saving",
|
|
1372
|
-
"with-shortcut",
|
|
1373
|
-
"shortcut-tooltip"
|
|
1374
|
-
]),
|
|
1375
1228
|
createVNode(WorkflowHistoryButton_default, {
|
|
1376
1229
|
"workflow-id": props.id,
|
|
1377
|
-
"is-new-workflow":
|
|
1230
|
+
"is-new-workflow": __props.isNewWorkflow
|
|
1378
1231
|
}, null, 8, ["workflow-id", "is-new-workflow"]),
|
|
1379
1232
|
createVNode(ActionsDropdownMenu_default, {
|
|
1380
|
-
id:
|
|
1233
|
+
id: __props.id,
|
|
1381
1234
|
ref: "actionsMenu",
|
|
1382
|
-
"workflow-permissions":
|
|
1383
|
-
"is-new-workflow":
|
|
1384
|
-
"read-only":
|
|
1385
|
-
"is-archived":
|
|
1386
|
-
name:
|
|
1387
|
-
tags:
|
|
1388
|
-
"current-folder":
|
|
1389
|
-
meta:
|
|
1390
|
-
"onWorkflow:saved": _cache[1] || (_cache[1] = ($event) => _ctx.$emit("workflow:saved"))
|
|
1235
|
+
"workflow-permissions": __props.workflowPermissions,
|
|
1236
|
+
"is-new-workflow": __props.isNewWorkflow,
|
|
1237
|
+
"read-only": props.readOnly,
|
|
1238
|
+
"is-archived": __props.isArchived,
|
|
1239
|
+
name: __props.name,
|
|
1240
|
+
tags: __props.tags,
|
|
1241
|
+
"current-folder": __props.currentFolder,
|
|
1242
|
+
meta: __props.meta
|
|
1391
1243
|
}, null, 8, [
|
|
1392
1244
|
"id",
|
|
1393
1245
|
"workflow-permissions",
|
|
@@ -1404,10 +1256,16 @@ var WorkflowHeaderDraftPublishActions_vue_vue_type_script_setup_true_lang_defaul
|
|
|
1404
1256
|
}
|
|
1405
1257
|
});
|
|
1406
1258
|
var WorkflowHeaderDraftPublishActions_vue_vue_type_style_index_0_lang_module_default = {
|
|
1407
|
-
container: "
|
|
1408
|
-
activeVersionIndicator: "
|
|
1409
|
-
icon: "
|
|
1410
|
-
publishButtonWrapper: "
|
|
1259
|
+
container: "_container_1kudh_123",
|
|
1260
|
+
activeVersionIndicator: "_activeVersionIndicator_1kudh_127",
|
|
1261
|
+
icon: "_icon_1kudh_131",
|
|
1262
|
+
publishButtonWrapper: "_publishButtonWrapper_1kudh_135",
|
|
1263
|
+
indicatorDot: "_indicatorDot_1kudh_140",
|
|
1264
|
+
indicatorPublished: "_indicatorPublished_1kudh_148",
|
|
1265
|
+
indicatorPublishedText: "_indicatorPublishedText_1kudh_152",
|
|
1266
|
+
indicatorChanges: "_indicatorChanges_1kudh_156",
|
|
1267
|
+
indicatorIssues: "_indicatorIssues_1kudh_160",
|
|
1268
|
+
flex: "_flex_1kudh_164"
|
|
1411
1269
|
};
|
|
1412
1270
|
var WorkflowHeaderDraftPublishActions_default = /* @__PURE__ */ __plugin_vue_export_helper_default(WorkflowHeaderDraftPublishActions_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": WorkflowHeaderDraftPublishActions_vue_vue_type_style_index_0_lang_module_default }]]);
|
|
1413
1271
|
var _hoisted_1 = {
|
|
@@ -1429,8 +1287,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1429
1287
|
isArchived: { type: Boolean },
|
|
1430
1288
|
description: {}
|
|
1431
1289
|
},
|
|
1432
|
-
|
|
1433
|
-
setup(__props, { emit: __emit }) {
|
|
1290
|
+
setup(__props) {
|
|
1434
1291
|
const WORKFLOW_NAME_BP_TO_WIDTH = {
|
|
1435
1292
|
XS: 150,
|
|
1436
1293
|
SM: 200,
|
|
@@ -1439,14 +1296,13 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1439
1296
|
XL: 1e3
|
|
1440
1297
|
};
|
|
1441
1298
|
const props = __props;
|
|
1442
|
-
const emit = __emit;
|
|
1443
1299
|
const $style = useCssModule();
|
|
1444
1300
|
const settingsStore = useSettingsStore();
|
|
1445
1301
|
const uiStore = useUIStore();
|
|
1446
1302
|
const workflowsStore = useWorkflowsStore();
|
|
1447
1303
|
const projectsStore = useProjectsStore();
|
|
1304
|
+
const collaborationStore = useCollaborationStore();
|
|
1448
1305
|
const foldersStore = useFoldersStore();
|
|
1449
|
-
const npsSurveyStore = useNpsSurveyStore();
|
|
1450
1306
|
const i18n = useI18n();
|
|
1451
1307
|
const router = useRouter();
|
|
1452
1308
|
const route = useRoute();
|
|
@@ -1469,10 +1325,11 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1469
1325
|
const isNewWorkflow = computed(() => {
|
|
1470
1326
|
return !workflowsStore.isWorkflowSaved[props.id];
|
|
1471
1327
|
});
|
|
1472
|
-
const isWorkflowSaving = computed(() => {
|
|
1473
|
-
return uiStore.isActionActive.workflowSaving;
|
|
1474
|
-
});
|
|
1475
1328
|
const workflowPermissions = computed(() => getResourcePermissions(props.scopes).workflow);
|
|
1329
|
+
const readOnlyActions = computed(() => {
|
|
1330
|
+
if (isNewWorkflow.value) return props.readOnly;
|
|
1331
|
+
return props.readOnly || props.isArchived || !workflowPermissions.value.update;
|
|
1332
|
+
});
|
|
1476
1333
|
const workflowTagIds = computed(() => {
|
|
1477
1334
|
return (props.tags ?? []).map((tag) => typeof tag === "string" ? tag : tag.id);
|
|
1478
1335
|
});
|
|
@@ -1490,26 +1347,8 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1490
1347
|
isTagsEditEnabled.value = false;
|
|
1491
1348
|
renameInput.value?.forceCancel();
|
|
1492
1349
|
});
|
|
1493
|
-
async function onSaveButtonClick() {
|
|
1494
|
-
if (isWorkflowSaving.value) return;
|
|
1495
|
-
const id = getWorkflowId(props.id, route.params.name);
|
|
1496
|
-
const name = props.name;
|
|
1497
|
-
const tags = props.tags;
|
|
1498
|
-
const wasNewWorkflow = !workflowsStore.isWorkflowSaved[props.id];
|
|
1499
|
-
if (await workflowSaving.saveCurrentWorkflow({
|
|
1500
|
-
id,
|
|
1501
|
-
name,
|
|
1502
|
-
tags
|
|
1503
|
-
})) {
|
|
1504
|
-
showCreateWorkflowSuccessToast(id, wasNewWorkflow);
|
|
1505
|
-
await npsSurveyStore.fetchPromptsData();
|
|
1506
|
-
if (route.name === VIEWS.EXECUTION_DEBUG) await router.replace({
|
|
1507
|
-
name: VIEWS.WORKFLOW,
|
|
1508
|
-
params: { name: props.id }
|
|
1509
|
-
});
|
|
1510
|
-
}
|
|
1511
|
-
}
|
|
1512
1350
|
function onTagsEditEnable() {
|
|
1351
|
+
if (readOnlyActions.value) return;
|
|
1513
1352
|
appliedTagIds.value = props.tags ?? [];
|
|
1514
1353
|
isTagsEditEnabled.value = true;
|
|
1515
1354
|
setTimeout(() => {
|
|
@@ -1525,6 +1364,11 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1525
1364
|
return;
|
|
1526
1365
|
}
|
|
1527
1366
|
if (tagsSaving.value) return;
|
|
1367
|
+
if (readOnlyActions.value) {
|
|
1368
|
+
isTagsEditEnabled.value = false;
|
|
1369
|
+
return;
|
|
1370
|
+
}
|
|
1371
|
+
collaborationStore.requestWriteAccess();
|
|
1528
1372
|
tagsSaving.value = true;
|
|
1529
1373
|
const saved = await workflowSaving.saveCurrentWorkflow({ tags });
|
|
1530
1374
|
telemetry$1.track("User edited workflow tags", {
|
|
@@ -1580,7 +1424,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1580
1424
|
toast.showError(error, locale.baseText("generic.archiveWorkflowError"));
|
|
1581
1425
|
return;
|
|
1582
1426
|
}
|
|
1583
|
-
uiStore.
|
|
1427
|
+
uiStore.markStateClean();
|
|
1584
1428
|
toast.showMessage({
|
|
1585
1429
|
title: locale.baseText("mainSidebar.showMessage.handleArchive.title", { interpolate: { workflowName: props.name } }),
|
|
1586
1430
|
type: "success"
|
|
@@ -1613,7 +1457,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1613
1457
|
toast.showError(error, locale.baseText("generic.deleteWorkflowError"));
|
|
1614
1458
|
return;
|
|
1615
1459
|
}
|
|
1616
|
-
uiStore.
|
|
1460
|
+
uiStore.markStateClean();
|
|
1617
1461
|
documentTitle.reset();
|
|
1618
1462
|
toast.showMessage({
|
|
1619
1463
|
title: locale.baseText("mainSidebar.showMessage.handleSelect1.title", { interpolate: { workflowName: props.name } }),
|
|
@@ -1669,6 +1513,9 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1669
1513
|
const handleImportWorkflowFromFile = () => {
|
|
1670
1514
|
if (workflowHeaderActionsRef.value?.importFileRef) workflowHeaderActionsRef.value.importFileRef.click();
|
|
1671
1515
|
};
|
|
1516
|
+
const handleWorkflowSaved = (data) => {
|
|
1517
|
+
if (data.isFirstSave) showCreateWorkflowSuccessToast(props.id, true);
|
|
1518
|
+
};
|
|
1672
1519
|
onMounted(() => {
|
|
1673
1520
|
nodeViewEventBus.on("importWorkflowFromFile", handleImportWorkflowFromFile);
|
|
1674
1521
|
nodeViewEventBus.on("archiveWorkflow", handleArchiveWorkflow);
|
|
@@ -1676,6 +1523,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1676
1523
|
nodeViewEventBus.on("deleteWorkflow", handleDeleteWorkflow);
|
|
1677
1524
|
nodeViewEventBus.on("renameWorkflow", onNameToggle);
|
|
1678
1525
|
nodeViewEventBus.on("addTag", onTagsEditEnable);
|
|
1526
|
+
canvasEventBus.on("saved:workflow", handleWorkflowSaved);
|
|
1679
1527
|
});
|
|
1680
1528
|
onBeforeUnmount(() => {
|
|
1681
1529
|
nodeViewEventBus.off("importWorkflowFromFile", handleImportWorkflowFromFile);
|
|
@@ -1684,6 +1532,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1684
1532
|
nodeViewEventBus.off("deleteWorkflow", handleDeleteWorkflow);
|
|
1685
1533
|
nodeViewEventBus.off("renameWorkflow", onNameToggle);
|
|
1686
1534
|
nodeViewEventBus.off("addTag", onTagsEditEnable);
|
|
1535
|
+
canvasEventBus.off("saved:workflow", handleWorkflowSaved);
|
|
1687
1536
|
});
|
|
1688
1537
|
return (_ctx, _cache) => {
|
|
1689
1538
|
return openBlock(), createElementBlock("div", { class: normalizeClass(unref($style).container) }, [
|
|
@@ -1705,15 +1554,15 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1705
1554
|
}, "/", 2)) : createCommentVNode("", true), (openBlock(), createBlock(unref(N8nInlineTextEdit_default), {
|
|
1706
1555
|
ref_key: "renameInput",
|
|
1707
1556
|
ref: renameInput,
|
|
1708
|
-
key:
|
|
1557
|
+
key: __props.id,
|
|
1709
1558
|
placeholder: "Workflow name",
|
|
1710
1559
|
"data-test-id": "workflow-name-input",
|
|
1711
1560
|
class: "name",
|
|
1712
|
-
"model-value":
|
|
1561
|
+
"model-value": __props.name,
|
|
1713
1562
|
"max-length": unref(128),
|
|
1714
1563
|
"max-width": WORKFLOW_NAME_BP_TO_WIDTH[bp],
|
|
1715
|
-
"read-only":
|
|
1716
|
-
disabled:
|
|
1564
|
+
"read-only": readOnlyActions.value,
|
|
1565
|
+
disabled: readOnlyActions.value,
|
|
1717
1566
|
"onUpdate:modelValue": onNameSubmit
|
|
1718
1567
|
}, null, 8, [
|
|
1719
1568
|
"model-value",
|
|
@@ -1726,7 +1575,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1726
1575
|
}, 1032, ["current-folder"])]),
|
|
1727
1576
|
_: 1
|
|
1728
1577
|
}),
|
|
1729
|
-
createBaseVNode("span", _hoisted_1, [unref(settingsStore).areTagsEnabled ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [isTagsEditEnabled.value && !
|
|
1578
|
+
createBaseVNode("span", _hoisted_1, [unref(settingsStore).areTagsEnabled ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [isTagsEditEnabled.value && !readOnlyActions.value ? (openBlock(), createBlock(WorkflowTagsDropdown_default, {
|
|
1730
1579
|
key: 0,
|
|
1731
1580
|
ref: "dropdown",
|
|
1732
1581
|
modelValue: appliedTagIds.value,
|
|
@@ -1741,18 +1590,18 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1741
1590
|
"modelValue",
|
|
1742
1591
|
"event-bus",
|
|
1743
1592
|
"placeholder"
|
|
1744
|
-
])) : (
|
|
1593
|
+
])) : (__props.tags ?? []).length === 0 && !readOnlyActions.value ? (openBlock(), createElementBlock("div", _hoisted_2, [createBaseVNode("span", {
|
|
1745
1594
|
class: "add-tag clickable",
|
|
1746
1595
|
"data-test-id": "new-tag-link",
|
|
1747
1596
|
onClick: onTagsEditEnable
|
|
1748
1597
|
}, " + " + toDisplayString(unref(i18n).baseText("workflowDetails.addTag")), 1)])) : (openBlock(), createBlock(WorkflowTagsContainer_default, {
|
|
1749
|
-
key:
|
|
1598
|
+
key: __props.id,
|
|
1750
1599
|
"tag-ids": workflowTagIds.value,
|
|
1751
1600
|
clickable: true,
|
|
1752
1601
|
responsive: true,
|
|
1753
1602
|
"data-test-id": "workflow-tags",
|
|
1754
1603
|
onClick: onTagsEditEnable
|
|
1755
|
-
}, null, 8, ["tag-ids"]))], 64)) : createCommentVNode("", true), createBaseVNode("span", { class: normalizeClass(unref($style)["header-controls"]) }, [
|
|
1604
|
+
}, null, 8, ["tag-ids"]))], 64)) : createCommentVNode("", true), createBaseVNode("span", { class: normalizeClass(unref($style)["header-controls"]) }, [__props.isArchived ? (openBlock(), createBlock(unref(N8nBadge_default), {
|
|
1756
1605
|
key: 0,
|
|
1757
1606
|
class: "ml-3xs",
|
|
1758
1607
|
theme: "tertiary",
|
|
@@ -1766,18 +1615,16 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1766
1615
|
default: withCtx(() => [!isNewWorkflow.value ? (openBlock(), createBlock(WorkflowProductionChecklist_default, {
|
|
1767
1616
|
key: 0,
|
|
1768
1617
|
workflow: unref(workflowsStore).workflow
|
|
1769
|
-
}, null, 8, ["workflow"])) : createCommentVNode("", true),
|
|
1770
|
-
|
|
1771
|
-
id: _ctx.id,
|
|
1618
|
+
}, null, 8, ["workflow"])) : createCommentVNode("", true), createVNode(WorkflowHeaderDraftPublishActions_default, {
|
|
1619
|
+
id: __props.id,
|
|
1772
1620
|
ref: "workflowHeaderActions",
|
|
1773
|
-
tags:
|
|
1774
|
-
name:
|
|
1775
|
-
meta:
|
|
1776
|
-
"read-only":
|
|
1777
|
-
"is-archived":
|
|
1621
|
+
tags: __props.tags,
|
|
1622
|
+
name: __props.name,
|
|
1623
|
+
meta: __props.meta,
|
|
1624
|
+
"read-only": props.readOnly,
|
|
1625
|
+
"is-archived": __props.isArchived,
|
|
1778
1626
|
"is-new-workflow": isNewWorkflow.value,
|
|
1779
|
-
"workflow-permissions": workflowPermissions.value
|
|
1780
|
-
"onWorkflow:saved": onSaveButtonClick
|
|
1627
|
+
"workflow-permissions": workflowPermissions.value
|
|
1781
1628
|
}, null, 8, [
|
|
1782
1629
|
"id",
|
|
1783
1630
|
"tags",
|
|
@@ -1787,33 +1634,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1787
1634
|
"is-archived",
|
|
1788
1635
|
"is-new-workflow",
|
|
1789
1636
|
"workflow-permissions"
|
|
1790
|
-
]))
|
|
1791
|
-
key: 2,
|
|
1792
|
-
id: _ctx.id,
|
|
1793
|
-
ref: "workflowHeaderActions",
|
|
1794
|
-
name: _ctx.name,
|
|
1795
|
-
tags: _ctx.tags,
|
|
1796
|
-
"current-folder": _ctx.currentFolder,
|
|
1797
|
-
meta: _ctx.meta,
|
|
1798
|
-
"read-only": _ctx.readOnly,
|
|
1799
|
-
"is-archived": _ctx.isArchived,
|
|
1800
|
-
active: _ctx.active,
|
|
1801
|
-
"is-new-workflow": isNewWorkflow.value,
|
|
1802
|
-
"workflow-permissions": workflowPermissions.value,
|
|
1803
|
-
"onWorkflow:saved": onSaveButtonClick,
|
|
1804
|
-
"onWorkflow:deactivated": _cache[1] || (_cache[1] = ($event) => emit("workflow:deactivated"))
|
|
1805
|
-
}, null, 8, [
|
|
1806
|
-
"id",
|
|
1807
|
-
"name",
|
|
1808
|
-
"tags",
|
|
1809
|
-
"current-folder",
|
|
1810
|
-
"meta",
|
|
1811
|
-
"read-only",
|
|
1812
|
-
"is-archived",
|
|
1813
|
-
"active",
|
|
1814
|
-
"is-new-workflow",
|
|
1815
|
-
"workflow-permissions"
|
|
1816
|
-
]))]),
|
|
1637
|
+
])]),
|
|
1817
1638
|
_: 1
|
|
1818
1639
|
})
|
|
1819
1640
|
], 2);
|
|
@@ -1828,7 +1649,7 @@ var WorkflowDetails_vue_vue_type_style_index_1_lang_module_default = {
|
|
|
1828
1649
|
closeNodeViewDiscovery,
|
|
1829
1650
|
"header-controls": "_header-controls_7bao3_145"
|
|
1830
1651
|
};
|
|
1831
|
-
var WorkflowDetails_default = /* @__PURE__ */ __plugin_vue_export_helper_default(WorkflowDetails_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": WorkflowDetails_vue_vue_type_style_index_1_lang_module_default }], ["__scopeId", "data-v-
|
|
1652
|
+
var WorkflowDetails_default = /* @__PURE__ */ __plugin_vue_export_helper_default(WorkflowDetails_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": WorkflowDetails_vue_vue_type_style_index_1_lang_module_default }], ["__scopeId", "data-v-d5e5e93f"]]);
|
|
1832
1653
|
init_shared_esm_bundler();
|
|
1833
1654
|
var vue_github_button_default = defineComponent({
|
|
1834
1655
|
name: "github-button",
|
|
@@ -1866,7 +1687,7 @@ var vue_github_button_default = defineComponent({
|
|
|
1866
1687
|
const _this = this;
|
|
1867
1688
|
__vitePreload(() => import(
|
|
1868
1689
|
/* webpackMode: "eager" */
|
|
1869
|
-
"./buttons.esm-
|
|
1690
|
+
"./buttons.esm-DHCtg4os.js"
|
|
1870
1691
|
), []).then(function(module) {
|
|
1871
1692
|
if (_this.$el.lastChild !== _) return;
|
|
1872
1693
|
module.render(_.appendChild(_this.$refs._), function(el) {
|
|
@@ -1892,6 +1713,7 @@ var MainHeader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
1892
1713
|
const ndvStore = useNDVStore();
|
|
1893
1714
|
const uiStore = useUIStore();
|
|
1894
1715
|
const sourceControlStore = useSourceControlStore();
|
|
1716
|
+
const collaborationStore = useCollaborationStore();
|
|
1895
1717
|
const workflowsStore = useWorkflowsStore();
|
|
1896
1718
|
const executionsStore = useExecutionsStore();
|
|
1897
1719
|
const settingsStore = useSettingsStore();
|
|
@@ -1932,7 +1754,7 @@ var MainHeader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
1932
1754
|
const workflow = computed(() => workflowsStore.workflow);
|
|
1933
1755
|
const workflowId = computed(() => String(route.params.name || workflowsStore.workflowId));
|
|
1934
1756
|
const onWorkflowPage = computed(() => !!(route.meta.nodeView || route.meta.keepWorkflowAlive));
|
|
1935
|
-
const readOnly = computed(() => sourceControlStore.preferences.branchReadOnly);
|
|
1757
|
+
const readOnly = computed(() => sourceControlStore.preferences.branchReadOnly || collaborationStore.shouldBeReadOnly);
|
|
1936
1758
|
const isEnterprise = computed(() => settingsStore.isQueueModeEnabled && settingsStore.isWorkerViewAvailable);
|
|
1937
1759
|
const isTelemetryEnabled = computed(() => {
|
|
1938
1760
|
return settingsStore.isTelemetryEnabled;
|
|
@@ -2018,7 +1840,8 @@ var MainHeader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
2018
1840
|
const { href } = router.resolve(routeToNavigateTo);
|
|
2019
1841
|
window.open(href, "_blank");
|
|
2020
1842
|
} else if (route.name !== routeToNavigateTo.name) {
|
|
2021
|
-
if (route.name === VIEWS.NEW_WORKFLOW)
|
|
1843
|
+
if (route.name === VIEWS.NEW_WORKFLOW) if (dirtyState.value) uiStore.markStateDirty();
|
|
1844
|
+
else uiStore.markStateClean();
|
|
2022
1845
|
activeHeaderTab.value = MAIN_HEADER_TABS.WORKFLOW;
|
|
2023
1846
|
await router.push(routeToNavigateTo);
|
|
2024
1847
|
}
|
|
@@ -2146,4 +1969,12 @@ var MainHeader_vue_vue_type_style_index_0_lang_module_default = {
|
|
|
2146
1969
|
"github-button-container": "_github-button-container_4ekmy_173"
|
|
2147
1970
|
};
|
|
2148
1971
|
var MainHeader_default = /* @__PURE__ */ __plugin_vue_export_helper_default(MainHeader_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": MainHeader_vue_vue_type_style_index_0_lang_module_default }]]);
|
|
2149
|
-
|
|
1972
|
+
var AppHeader_default = /* @__PURE__ */ defineComponent({
|
|
1973
|
+
__name: "AppHeader",
|
|
1974
|
+
setup(__props) {
|
|
1975
|
+
return (_ctx, _cache) => {
|
|
1976
|
+
return openBlock(), createBlock(MainHeader_default);
|
|
1977
|
+
};
|
|
1978
|
+
}
|
|
1979
|
+
});
|
|
1980
|
+
export { AppHeader_default as default };
|