n8n-editor-ui 2.3.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/node-popularity.json +1920 -1916
- package/dist/assets/{AddDataTableModal-DnW0v2OC.js → AddDataTableModal-Y13E7Akf.js} +18 -22
- package/dist/assets/{AgentEditorModal-CnYw6elM.css → AgentEditorModal-9v5_7c4M.css} +11 -7
- package/dist/assets/{AgentEditorModal-Djnq_0FY.js → AgentEditorModal-BrMkCIu5.js} +34 -38
- package/dist/assets/{Alert-KBN7v2aB.js → Alert-C0sX2MmC.js} +9 -9
- package/dist/assets/AnimatedSpinner-B25lpnvb.js +15 -0
- package/dist/assets/{AnnotationTagsDropdown.ee-QStDN6Th.js → AnnotationTagsDropdown.ee-D52VzZRF.js} +6 -6
- package/dist/assets/{MainHeader-D7esq2FA.js → AppHeader-BMRzlZ88.js} +359 -529
- package/dist/assets/{MainHeader-CSaAWCWj.css → AppHeader-CiEVBSe4.css} +42 -160
- package/dist/assets/{MainSidebar-BehIhk7J.js → AppSidebar-B88OkpG6.js} +107 -84
- package/dist/assets/{MainSidebar-CEsQ8o1Y.css → AppSidebar-qYnACKTG.css} +13 -4
- package/dist/assets/{AuthView-8nC1kvaA.js → AuthView-B28bjxIF.js} +12 -12
- package/dist/assets/{SettingsView-6sirGv9l.css → BottomMenu-CYgiV90C.css} +57 -37
- package/dist/assets/{BottomMenu-B-HQRX4l.js → BottomMenu-CfzAqh6J.js} +70 -168
- package/dist/assets/{useCanvasMapping-Cl6iFzZx.js → CanvasRunWorkflowButton-CLV9eJ9R.js} +268 -262
- package/dist/assets/{useCanvasMapping-CyDAqgNV.css → CanvasRunWorkflowButton-D_Rqnskj.css} +203 -203
- package/dist/assets/{ChangePasswordView-B4U_r0Av.js → ChangePasswordView-CXDHJS_U.js} +14 -19
- package/dist/assets/ChatAgentAvatar-BqR7_kd_.js +67 -0
- package/dist/assets/{ChatAgentAvatar-B68ZZ295.css → ChatAgentAvatar-D94COYC_.css} +10 -13
- package/dist/assets/{ChatFile-Dtf_b24Y.js → ChatFile-DGN9Z6P_.js} +17 -17
- package/dist/assets/{ChatLayout-CxM-3LAt.css → ChatLayout-C5Cltxb6.css} +1 -8
- package/dist/assets/{ChatLayout-BfWVFhWE.js → ChatLayout-IMyTW2P2.js} +11 -15
- package/dist/assets/{ChatPersonalAgentsView-DTF6JtUh.js → ChatPersonalAgentsView-PT_0eEaD.js} +19 -25
- package/dist/assets/{ChatSidebar-DU5x3UPL.js → ChatSidebar-CG-7B_hY.js} +56 -72
- package/dist/assets/{ChatSidebar-DcNxY7Pt.css → ChatSidebar-D-hWKn7w.css} +126 -0
- package/dist/assets/{ChatView-D8ScSRRr.js → ChatView-DaUB9Ecc.js} +113 -113
- package/dist/assets/{ChatView-DrZ9gYjI.css → ChatView-DjGNW1KJ.css} +58 -50
- package/dist/assets/{ChatWorkflowAgentsView-Kiqxl5Dz.js → ChatWorkflowAgentsView-Dv-lY297.js} +19 -25
- package/dist/assets/CollectionParameter-CEz9OjV2.js +42 -0
- package/dist/assets/{CommunityNodeUpdateInfo-DsR3DdTu.js → CommunityNodeUpdateInfo-CauvhKGq.js} +13 -13
- package/dist/assets/{CopyInput-DJ2yTciL.js → CopyInput-B4eaHdxj.js} +15 -15
- package/dist/assets/{CredentialIcon-DJybkA4h.js → CredentialIcon-BtjftPax.js} +6 -6
- package/dist/assets/{CredentialPicker-Bao3p-41.js → CredentialPicker-BFTsdquZ.js} +8 -8
- package/dist/assets/{CredentialSelectorModal-DaRU1zXR.js → CredentialSelectorModal-y04x0moO.js} +22 -27
- package/dist/assets/{CredentialsView-wSH7BheV.js → CredentialsView-CbhjEdy6.js} +46 -52
- package/dist/assets/{DataTableActions-BMf3BHPM.js → DataTableActions-V_mGpWNk.js} +6 -6
- package/dist/assets/{DataTableDetailsView-CSIqpXLA.js → DataTableDetailsView-BaCljaXy.js} +27 -31
- package/dist/assets/{DataTableView-Blgv7Ln8.js → DataTableView-DtSSvuD-.js} +31 -37
- package/dist/assets/DemoFooter-2XBpYf-9.js +53 -0
- package/dist/assets/{Draggable-DQjeTEFr.js → Draggable-uo-iesAL.js} +5 -5
- package/dist/assets/{EmptySharedSectionActionBox-CogY0uW5.js → EmptySharedSectionActionBox-BoSKCX6d.js} +5 -5
- package/dist/assets/{EnterpriseEdition.ee-CFcDsU4a.js → EnterpriseEdition.ee-CyI_U9yB.js} +2 -2
- package/dist/assets/{EntityNotFound-DmFtFwaH.js → EntityNotFound-qBJJDr9S.js} +9 -13
- package/dist/assets/{EntityUnAuthorised-CoFxjgq9.js → EntityUnAuthorised-Ci980jH0.js} +8 -12
- package/dist/assets/{ErrorView-fGVmNs6l.js → ErrorView-D33JJAX4.js} +13 -17
- package/dist/assets/{EvaluationsRootView-CnsgFQrF.js → EvaluationsRootView-B2SD_0sA.js} +34 -37
- package/dist/assets/{EvaluationsView-V0hiFoAc.js → EvaluationsView-D9anu-so.js} +28 -34
- package/dist/assets/{ExecutionsTime-SXIffRZe.js → ExecutionsTime-Co23FVKL.js} +16 -15
- package/dist/assets/{ExecutionsView-1YV6qmab.js → ExecutionsView-BYR0BCB9.js} +62 -66
- package/dist/assets/{ExternalSecretsProviderConnectionSwitch.ee-CwhFUTJx.js → ExternalSecretsProviderConnectionSwitch.ee-DaF1WXYB.js} +18 -17
- package/dist/assets/FixedCollectionParameter-COuGvpZ8.css +642 -0
- package/dist/assets/FixedCollectionParameter-DDwNWqZ8.js +1571 -0
- package/dist/assets/FolderBreadcrumbs-CqjobwTB.js +187 -0
- package/dist/assets/{SaveButton-Dc01Y2MA.css → FolderBreadcrumbs-eBFopiOp.css} +7 -14
- package/dist/assets/{ForgotMyPasswordView-Bgtqx-Pb.js → ForgotMyPasswordView-CcxGYqHh.js} +14 -19
- package/dist/assets/{InsightsChartAverageRuntime-gpxjFP2f.js → InsightsChartAverageRuntime-69U4sUmH.js} +10 -11
- package/dist/assets/{InsightsChartFailed-DBcygly6.js → InsightsChartFailed-Ct64T5GJ.js} +8 -9
- package/dist/assets/{InsightsChartFailureRate-CY3HP65L.js → InsightsChartFailureRate-BOdV-Q3d.js} +9 -11
- package/dist/assets/{InsightsChartTimeSaved-DAfnPiRJ.js → InsightsChartTimeSaved-B83s59mL.js} +9 -11
- package/dist/assets/{InsightsChartTotal-CLtcCYXo.js → InsightsChartTotal-1A5vqW4E.js} +7 -9
- package/dist/assets/{InsightsDashboard-D3vC4R1n.js → InsightsDashboard-BgxhoT5G.js} +37 -39
- package/dist/assets/{InsightsPaywall-0gL3KDRU.js → InsightsPaywall-DlLnPCl2.js} +15 -19
- package/dist/assets/{InsightsSummary-CnIu-BEq.js → InsightsSummary-BB8IwI5i.js} +11 -11
- package/dist/assets/{InsightsTableWorkflows-BIKybxql.js → InsightsTableWorkflows-Dnldlw-H.js} +22 -25
- package/dist/assets/{KeyboardShortcutTooltip-Bg_9TS__.js → KeyboardShortcutTooltip-Dwz4Hv8g.js} +6 -6
- package/dist/assets/LogsPanel-C9bshHRi.js +40 -0
- package/dist/assets/{LogsPanel-CeaPnpLp.js → LogsPanel-CfaRZWyh.js} +100 -100
- package/dist/assets/{MCPConnectWorkflowsModal-Td3mGUN9.js → MCPConnectWorkflowsModal-DgeHxB8D.js} +36 -42
- package/dist/assets/{MigrationRuleDetail-ChDD18D8.js → MigrationRuleDetail-CtWwVzUC.js} +23 -27
- package/dist/assets/{MigrationRules-Bx-faTM3.js → MigrationRules-Om8sz8NC.js} +21 -25
- package/dist/assets/{Modal-DbNRq20p.js → Modal-DDyUIg-j.js} +27 -26
- package/dist/assets/{ModelByIdSelectorModal-Zys7oCrF.js → ModelByIdSelectorModal-DOo5k-Da.js} +18 -23
- package/dist/assets/{NDVEmptyState-DLSJV_-K.js → NDVEmptyState-CJWa4Aka.js} +15 -12
- package/dist/assets/{NodeCreation-D-51ue5r.js → NodeCreation-ClTqHJhs.js} +30 -53
- package/dist/assets/{ItemsRenderer-DkobJF9f.css → NodeCreator-039HRrqJ.css} +1525 -6
- package/dist/assets/{NodeCreator-DNZlk7YI.js → NodeCreator-BHs8o7J3.js} +978 -88
- package/dist/assets/{NodeDetailsView-Bx2kED62.js → NodeDetailsView-Cr9dlkiW.js} +72 -87
- package/dist/assets/{NodeDetailsViewV2-Cs-DNkN8.js → NodeDetailsViewV2-D_UwwehT.js} +69 -86
- package/dist/assets/{NodeIcon-BbsF7HzQ.js → NodeIcon-CXamMxe5.js} +10 -10
- package/dist/assets/{NodeIcon-BDxr0f30.css → NodeIcon-zqTc5h-V.css} +1 -1
- package/dist/assets/{NodeSettings-CihRSGnT.js → NodeSettings-DiMGfIPh.js} +73 -73
- package/dist/assets/{NodeView-C6e9qYIb.js → NodeView-CqK4OOpZ.js} +171 -149
- package/dist/assets/{NodeView-AuBajxDh.css → NodeView-Xwcu11Wh.css} +11 -11
- package/dist/assets/{OAuthConsentView-DgEpMzqe.js → OAuthConsentView-D4rD7kPg.js} +14 -18
- package/dist/assets/{ParameterInputList-C1BdtAjc.css → ParameterInputList-BUZ33Aem.css} +717 -208
- package/dist/assets/{ParameterInputList-BdolYdHT.js → ParameterInputList-DlsnXTOE.js} +1864 -1039
- package/dist/assets/{ProjectBreadcrumb-C78U49qA.js → ProjectBreadcrumb-D9hS-MYJ.js} +8 -8
- package/dist/assets/{ProjectCardBadge-BJrdwkUy.js → ProjectCardBadge-BE0KUpWh.js} +10 -10
- package/dist/assets/{ProjectHeader-BWd_Jpki.js → ProjectHeader-C_C9sbjt.js} +14 -14
- package/dist/assets/{ProjectIcon-CNEqHlzp.js → ProjectIcon-gwTM9uPG.js} +8 -8
- package/dist/assets/{ProjectRoleView-DgDH-CAz.js → ProjectRoleView-Bf4zP3qm.js} +19 -23
- package/dist/assets/{ProjectRolesView-lS6Xs6d0.js → ProjectRolesView-DhAgSeyy.js} +18 -22
- package/dist/assets/{ProjectSettings-BBjtsGXK.js → ProjectSettings-C687D50w.js} +31 -34
- package/dist/assets/{ProjectSharing-BEcymROT.js → ProjectSharing-C8e9oK7q.js} +16 -16
- package/dist/assets/{ProjectVariables-BYbTctFU.js → ProjectVariables-Bjvk3j7l.js} +40 -46
- package/dist/assets/{ProviderSettingsModal-COAKwlLh.js → ProviderSettingsModal-D7PL4Ovf.js} +20 -26
- package/dist/assets/{PushConnectionTracker-CY-LPI6v.js → PushConnectionTracker-BLfijnvC.js} +4 -4
- package/dist/assets/{ResolversView-CxbdIBE2.js → ResolversView-wd5fu-tV.js} +20 -24
- package/dist/assets/{ResourceFiltersDropdown-BlSZzGLj.js → ResourceFiltersDropdown-B9N5y-vt.js} +12 -12
- package/dist/assets/{ResourcesListLayout-DLAMdJD5.css → ResourcesListLayout-BhnhvHiw.css} +140 -0
- package/dist/assets/{ResourcesListLayout-Ej5Hcdb7.js → ResourcesListLayout-O9_3CxcA.js} +32 -23
- package/dist/assets/{RunData-CSkVEMJc.js → RunData-BhqFCEeO.js} +20367 -28266
- package/dist/assets/{RunData-CGWkR8tE.css → RunData-xpRgLK8S.css} +2 -2
- package/dist/assets/{RunDataHtml-CS6G8R8Z.js → RunDataHtml-BMxc-zRm.js} +5 -5
- package/dist/assets/RunDataHtml-wQh8fACG.js +5 -0
- package/dist/assets/{RunDataJson-BoMj9Y4H.js → RunDataJson-DXh-JzHh.js} +31 -31
- package/dist/assets/{RunDataJsonActions-BYw5OJyd.js → RunDataJsonActions-jMhBcnZ4.js} +19 -23
- package/dist/assets/{RunDataParsedAiContent-Cci_idnL.js → RunDataParsedAiContent-BbTgNtPy.js} +15 -16
- package/dist/assets/RunDataParsedAiContent-CcCTmhG0.js +15 -0
- package/dist/assets/{RunDataSearch-Cl17NZ8f.js → RunDataSearch-BVW7uE4N.js} +10 -14
- package/dist/assets/{RunDataTable-ldjWmEyj.js → RunDataTable-DUJIxl0f.js} +32 -36
- package/dist/assets/{SamlOnboarding-B4udEOGL.js → SamlOnboarding-CxYoa2cp.js} +14 -19
- package/dist/assets/{SelectedItemsInfo-0qmaX5TI.js → SelectedItemsInfo-CKmcAObD.js} +5 -5
- package/dist/assets/{SettingsApiView-DWWkTI8H.js → SettingsApiView-D3gPC7wS.js} +24 -27
- package/dist/assets/{SettingsChatHubView-DdY-v1Oz.js → SettingsChatHubView-Dyl6agLq.js} +18 -24
- package/dist/assets/{SettingsCommunityNodesView-Bh_N6Npj.js → SettingsCommunityNodesView-esGDUBkV.js} +38 -42
- package/dist/assets/{SettingsExternalSecrets-D1ahXEoY.js → SettingsExternalSecrets-BRP-TFnF.js} +18 -22
- package/dist/assets/{SettingsLdapView-BDKazZKJ.js → SettingsLdapView-BiLAMZMp.js} +22 -26
- package/dist/assets/{SettingsLogStreamingView-Rq7vLTVL.js → SettingsLogStreamingView-ByUHLila.js} +21 -24
- package/dist/assets/{SettingsMCPView-DKx7RcRB.js → SettingsMCPView-ByBI3gAH.js} +42 -46
- package/dist/assets/{SettingsPersonalView-5d6_p-hw.js → SettingsPersonalView-PuPbUFF4.js} +15 -19
- package/dist/assets/SettingsSidebar-DWKnhzbu.js +58 -0
- package/dist/assets/{useCommandBar-eK4Fv9lH.css → SettingsSidebar-hr5ASDKX.css} +22 -24
- package/dist/assets/{SettingsSourceControl-CTzXIqE3.js → SettingsSourceControl-e3k-B-T-.js} +19 -23
- package/dist/assets/{SettingsSso-CUrz-7l8.js → SettingsSso-ELd6d7Cd.js} +26 -29
- package/dist/assets/{SettingsUsageAndPlan-R9q7LfRv.js → SettingsUsageAndPlan-DTbcjDth.js} +20 -23
- package/dist/assets/{SettingsUsersView-DcmC9oO-.js → SettingsUsersView-CLdVPGwv.js} +50 -28
- package/dist/assets/{SetupTemplateFormStep-C0bRvmcc.js → SetupTemplateFormStep-CRd1UZx9.js} +15 -15
- package/dist/assets/{SetupView-Bpj6SVkS.js → SetupView-BWvvVJ_i.js} +14 -19
- package/dist/assets/{SetupWorkflowCredentialsButton-CZpFSpx5.js → SetupWorkflowCredentialsButton-Dh4fkO6K.js} +21 -20
- package/dist/assets/{SetupWorkflowFromTemplateView-DhK63ZNL.js → SetupWorkflowFromTemplateView-C5i9N-Xc.js} +21 -25
- package/dist/assets/{SeverityTag-4JkejesH.js → SeverityTag-CO2h99Dy.js} +6 -6
- package/dist/assets/{SigninView-D3PBF8fA.js → SigninView-BU__AvOm.js} +16 -20
- package/dist/assets/{SignoutView-DZcfsILm.js → SignoutView-BOMbF2VO.js} +10 -10
- package/dist/assets/{SignupView-D2QARHWC.js → SignupView-Cqs9OeBV.js} +27 -27
- package/dist/assets/{SkeletonAgentCard-BhJ27v2W.js → SkeletonAgentCard-BKWUxHb9.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-8x1FnXzA.js → TagsDropdown-DGbottaK.js} +9 -9
- package/dist/assets/{TemplateCard-DxKAmiWm.js → TemplateCard-XTHKCDKs.js} +9 -9
- package/dist/assets/{TemplateDetails-bBAnDzfL.js → TemplateDetails-DSp01RKG.js} +20 -20
- package/dist/assets/{TemplateList-DxQ3fBxn.js → TemplateList-rOlAyX39.js} +44 -44
- package/dist/assets/{TemplatesCollectionView-DCJk2jwq.js → TemplatesCollectionView-BVfAAgHo.js} +22 -26
- package/dist/assets/{TemplatesSearchView-Bh8wuhTx.js → TemplatesSearchView-BRZPm62G.js} +49 -53
- package/dist/assets/{TemplatesView-w-y6NvIc.js → TemplatesView-B2WxZgCT.js} +6 -6
- package/dist/assets/{TemplatesWorkflowView-eo3ddDao.js → TemplatesWorkflowView-HRwmMyaL.js} +23 -27
- package/dist/assets/{TestRunDetailView-DGEhYj5_.js → TestRunDetailView-D5RXX1zN.js} +20 -25
- package/dist/assets/{TextWithHighlights-DjzuDrgO.js → TextWithHighlights-CH5Zsswa.js} +2 -2
- package/dist/assets/{TimeAgo-0Rdm0Kiq.js → TimeAgo-i_jQQBzo.js} +4 -4
- package/dist/assets/{ToolsSelectorModal-SnNw9Jip.js → ToolsSelectorModal-Cr50cu-v.js} +20 -24
- package/dist/assets/{TriggerPanel-ChJuzrpN.js → TriggerPanel-DsPiGMWb.js} +51 -51
- package/dist/assets/{VirtualSchema-wgdUJECR.js → VirtualSchema-DUQ68BrH.js} +60 -61
- package/dist/assets/{VirtualSchema-CwutU4vj.css → VirtualSchema-pdpcVEq9.css} +1 -1
- package/dist/assets/VirtualSchema-vD1WN6xC.js +28 -0
- package/dist/assets/{VueMarkdown-BRiaIhX9.js → VueMarkdown-D0Ufjusy.js} +3 -3
- package/dist/assets/{WorkerView-DPgZMV-u.js → WorkerView-tKUhJ5Dl.js} +38 -43
- package/dist/assets/{WorkflowExecutionsInfoAccordion-tLNnztlE.js → WorkflowExecutionsInfoAccordion-hO-vNiAf.js} +7 -7
- package/dist/assets/{WorkflowExecutionsLandingPage-DzSdsRSM.js → WorkflowExecutionsLandingPage-DzrSOo1F.js} +14 -18
- package/dist/assets/{WorkflowExecutionsPreview-DcRbTjpx.js → WorkflowExecutionsPreview-CizWQG9x.js} +44 -47
- package/dist/assets/{WorkflowExecutionsView-BvQhNwyi.js → WorkflowExecutionsView-DJ27bPYq.js} +60 -62
- package/dist/assets/{WorkflowHistory-C7k0u5n4.js → WorkflowHistory-CD8N5qTi.js} +198 -197
- package/dist/assets/{WorkflowHistory-BBHdNsOb.css → WorkflowHistory-dUpsKg3Z.css} +42 -75
- package/dist/assets/{WorkflowLocation-DU_oqOxw.js → WorkflowLocation-ChaEWxVS.js} +18 -18
- package/dist/assets/{WorkflowOnboardingView-DsT28Lna.js → WorkflowOnboardingView-COBDyXiZ.js} +10 -10
- package/dist/assets/{WorkflowPreview-Cv_yCx4J.js → WorkflowPreview-pbJ_UfWP.js} +9 -9
- package/dist/assets/{WorkflowTagsDropdown-BHpackqb.js → WorkflowTagsDropdown-C0g5t367.js} +6 -6
- package/dist/assets/{WorkflowsView-C-PD10oe.css → WorkflowsView-0_qNZeIx.css} +32 -42
- package/dist/assets/{WorkflowsView-CA_-v3jL.js → WorkflowsView-mroD5hze.js} +128 -239
- package/dist/assets/{_MapCache-ficiegRb.js → _MapCache-DkLivSSb.js} +46 -38
- package/dist/assets/{_baseOrderBy-UJkFlXQy.js → _baseOrderBy-DvuuRU7J.js} +8 -13
- package/dist/assets/{_initCloneObject-C3audwCb.js → _initCloneObject-DiO9tORE.js} +2 -2
- package/dist/assets/{aiTemplatesStarterCollection.store-BuNUUCwa.js → aiTemplatesStarterCollection.store-DUkMK-jk.js} +6 -6
- package/dist/assets/{apiKeys.store-DpzwcWGM.js → apiKeys.store-C0NHEBJ6.js} +4 -4
- package/dist/assets/{assistant.store-CiyiixCh.js → assistant.store-2i2uoZtV.js} +8 -8
- package/dist/assets/{auth.eventBus-B77G38R7.js → auth.eventBus-Ce2KL2L4.js} +1 -1
- package/dist/assets/{banners.store-D47aZI1r.js → banners.store-CxccIpTM.js} +7 -7
- package/dist/assets/{buttons.esm-CT4flsfB.js → buttons.esm-DHCtg4os.js} +0 -5
- package/dist/assets/canvas.utils-Dv0fD5Il.js +138 -0
- package/dist/assets/{chart-CE3HWIkr.js → chart-BpBZvUkM.js} +0 -6
- package/dist/assets/{chartjs.utils-CeXvwL6J.js → chartjs.utils-B8F_iMP1.js} +5 -5
- package/dist/assets/{chat.store-D1BqW7ao.js → chat.store-Crdaw-Cp.js} +34 -29
- package/dist/assets/{chatPanel.store-ChAzL_xE.js → chatPanel.store-oWfjNSnl.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-BbSwTk_d.js +287 -0
- package/dist/assets/{constants-DLTaaipl.js → constants-Bgby4me8.js} +12 -3
- package/dist/assets/{constants-DRIItkNt.js → constants-D48cSFnx.js} +921 -931
- package/dist/assets/core-CKLPLCBJ.js +4 -0
- package/dist/assets/{core-6W4wWNc1.js → core-DDiavqSm.js} +1 -1
- package/dist/assets/{dataTable.store-CkhtfeY0.js → dataTable.store-_wAVMcbO.js} +4 -4
- package/dist/assets/{date-picker-DsgFTiIp.js → date-picker-CutzRF4i.js} +13 -4
- package/dist/assets/{dateFormatter-DDfPHI9I.js → dateFormatter-BiQ9pMrA.js} +4 -4
- package/dist/assets/{dateformat-CM9k0--B.js → dateformat-BeHi9sF4.js} +2 -1
- package/dist/assets/{dialog-O4ZP7Mjj.js → dialog-D6bnhGrj.js} +4 -4
- package/dist/assets/{dist-DP_8je0B.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-DlTgUi2w.js → es-347rbIb-.js} +2 -2
- package/dist/assets/{evaluation.constants-DbxnAcTc.js → evaluation.constants-CSD02Lo1.js} +12 -15
- package/dist/assets/{executions.store-a5l7sYPn.js → executions.store-SHgwsnWe.js} +4 -4
- package/dist/assets/{exports-hpMZaOPT.js → exports-DwuuoPh-.js} +1 -3
- package/dist/assets/{externalSecrets.ee.store-HP2ldANj.js → externalSecrets.ee.store-Zyuqq2w2.js} +4 -4
- package/dist/assets/{folders.store-j6Xz9xvI.js → folders.store-D8rP_Hdz.js} +4 -4
- package/dist/assets/{index-B2rFJ2JV.js → index-BYX1_H81.js} +4327 -1865
- package/dist/assets/{index-U6fZiFvz.css → index-BhFfa3xu.css} +3083 -2437
- package/dist/assets/{insights.constants-C8GITe6H.js → insights.constants-98xWnZQu.js} +3 -3
- package/dist/assets/{insights.store-EBGeDNzp.js → insights.store-BtoZsG-U.js} +7 -7
- package/dist/assets/{insights.utils-B7OXsqrQ.js → insights.utils-B0txVt0Q.js} +6 -6
- package/dist/assets/{languageModules-D_uyjb6R.js → languageModules-DyQaii5v.js} +1 -1
- package/dist/assets/{logStreaming.store-C8IxWNZB.js → logStreaming.store-7BkB5s2r.js} +3 -3
- package/dist/assets/{mcp.store-BLq1CDNz.js → mcp.store-G7xff9jI.js} +4 -4
- package/dist/assets/{merge-k8vSyyXH.js → merge-B0-p153C.js} +2 -2
- package/dist/assets/{nodeCreator.store-DTc1zzIQ.js → nodeCreator.store-Dl91ajnd.js} +1932 -2216
- package/dist/assets/{nodeIcon-BWuZ9Qxh.js → nodeIcon-CUi9_d-e.js} +3 -3
- package/dist/assets/{nodeTransforms-A9ckRbW1.js → nodeTransforms-D71MPFbn.js} +2 -2
- package/dist/assets/{orderBy-BCjtsqzS.js → orderBy-zIIUzfE0.js} +3 -3
- package/dist/assets/{personalizedTemplatesV3.store-DBi4yorm.js → personalizedTemplatesV3.store-CwD8voN0.js} +4 -4
- package/dist/assets/{pickBy-1X5wiyPT.js → pickBy-BpQ_nS0j.js} +3 -3
- package/dist/assets/pushConnection.store-DEMBEciq.js +496 -0
- package/dist/assets/{radio-BeejvdFG.js → radio-I_Y35sEo.js} +2 -2
- package/dist/assets/{readyToRun.store-DfU30_Nq.js → readyToRun.store-D7MVH-Yc.js} +17 -8
- package/dist/assets/{readyToRunWorkflows.store-DgUOIs41.js → readyToRunWorkflows.store-CTCJvvBk.js} +6 -6
- package/dist/assets/{roles.store-W8yXuo53.js → roles.store-eBIJuaNR.js} +4 -4
- package/dist/assets/{router-RpMr830s.js → router-zEaOc-tq.js} +316 -304
- package/dist/assets/{sanitize-html-fRP2gWb9.js → sanitize-html-DeDnsMgc.js} +17 -18
- package/dist/assets/{semver-mGRAx708.js → semver-Bz8_abNa.js} +6 -8
- package/dist/assets/{sourceControl.eventBus-Bry8gLG7.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-XLGanEOK.js → src-DpZSuyLC.js} +5805 -2547
- package/dist/assets/{sso.store-B7JPsojt.js → sso.store-9EWHvrSy.js} +3 -3
- package/dist/assets/{table-Dl2CV3mu.js → table-C3aerURh.js} +5 -5
- package/dist/assets/{templateActions-CjSRb54_.js → templateActions-qowBM3Zz.js} +5 -5
- package/dist/assets/{templateTransforms-Cr1Vxjyo.js → templateTransforms-CU4zdmOp.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-7DVTEzLA.js → usage.store-BDZxETBd.js} +3 -3
- package/dist/assets/{useActions-BVMLDnB7.js → useActions-BItklJWS.js} +5 -5
- package/dist/assets/useBugReporting-Bi1700UJ.js +130 -0
- package/dist/assets/useCalloutHelpers-DSFmB8y4.js +80 -0
- package/dist/assets/{useCanvasOperations-DmDkQZsZ.js → useCanvasOperations-DVIzBTSq.js} +36 -32
- package/dist/assets/{useClipboard-DAKz3pSk.js → useClipboard-CTTDlv6b.js} +3 -3
- package/dist/assets/{useCredentialResolvers-Bib-mabw.js → useCredentialResolvers-0jZuH4WO.js} +5 -5
- package/dist/assets/useCustomAgent-CjjqdMoN.js +630 -0
- package/dist/assets/{useCustomAgent-tUoLIUar.css → useCustomAgent-D8Sw5vcC.css} +32 -9
- package/dist/assets/{useDebounce-Bnb8W2LR.js → useDebounce-C4ttil9E.js} +12 -12
- package/dist/assets/{useExecutionData-DWNDlbxK.js → useExecutionData-BLsmVbDx.js} +2 -2
- package/dist/assets/{useExecutionDebugging-C3LhPoKB.js → useExecutionDebugging-unzyZJSo.js} +7 -7
- package/dist/assets/{useExecutionHelpers-ZH8Lpu7H.js → useExecutionHelpers-VADBx6Yx.js} +5 -5
- package/dist/assets/useGlobalEntityCreation-5MrJOTFc.js +192 -0
- package/dist/assets/{useImportCurlCommand-UjbNISl9.js → useImportCurlCommand-I3o_giV2.js} +41 -37
- package/dist/assets/{useIntersectionObserver-DXKoRNFj.js → useIntersectionObserver-CGg561I6.js} +1 -1
- package/dist/assets/{useKeybindings-DDEBPDlo.js → useKeybindings-CKjI_jnI.js} +5 -5
- package/dist/assets/{useLogsTreeExpand-DBG-3__y.js → useLogsTreeExpand-BfExNgUz.js} +41 -41
- package/dist/assets/{useMcp-zjwReQ-Q.js → useMcp-BL9EJIG9.js} +2 -2
- package/dist/assets/{usePageRedirectionHelper-w7WYnki8.js → usePageRedirectionHelper--cm71zDE.js} +3 -3
- package/dist/assets/{usePinnedData-FgnIiWSJ.js → usePinnedData-D1DKG6vB.js} +6 -6
- package/dist/assets/{usePushConnection-DL83_AN-.js → usePushConnection-DbVAGHmZ.js} +12 -16
- package/dist/assets/{useRunWorkflow-DfbxLgl-.js → useRunWorkflow-CBEpMo-i.js} +106 -486
- package/dist/assets/{useSettingsItems-CNv2tIdk.js → useSettingsItems-DDLH7vvJ.js} +5 -5
- package/dist/assets/{useTelemetryContext-B3sCbxNK.js → useTelemetryContext-s869bjx6.js} +4 -4
- package/dist/assets/{useWorkflowsCache-BG2C8qik.js → useWorkflowsCache-Cwc7AaSS.js} +2 -2
- package/dist/assets/{userRoleProvisioning.store-6aoaalkv.js → userRoleProvisioning.store-r3gAhXvj.js} +3 -3
- package/dist/assets/{builder.store-D6GyopzN.js → users.store-Dh2O3NbU.js} +22801 -23949
- package/dist/assets/utils-5SA0VwN3.js +133 -0
- package/dist/assets/{versions.store-a3DCEQMP.js → versions.store-BIW6cbdc.js} +4 -4
- package/dist/assets/{vue-Dg_43WEg.js → vue-atn33zIp.js} +255 -213
- package/dist/assets/{vue-json-pretty-DGKuDe33.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 -120
- package/package.json +1 -1
- package/tsconfig.json +1 -1
- package/dist/assets/AnimatedSpinner-wiGFgffA.js +0 -15
- package/dist/assets/BottomMenu-CRVyIu-B.css +0 -474
- package/dist/assets/ChatAgentAvatar-DAg-f4vg.js +0 -67
- package/dist/assets/CollectionParameter-Y2KojQS6.js +0 -50
- package/dist/assets/DemoFooter-CySiu1O2.js +0 -63
- package/dist/assets/FixedCollectionParameter-B__avC2s.js +0 -494
- package/dist/assets/FixedCollectionParameter-DT3ELzS9.css +0 -202
- package/dist/assets/ItemsRenderer-B8E9eO9o.js +0 -922
- package/dist/assets/LogsPanel-Cei4fiyW.js +0 -50
- package/dist/assets/NodeCreator-OSIpRI6S.css +0 -1649
- package/dist/assets/PageViewLayout-BHSzOio1.js +0 -12
- package/dist/assets/PrebuiltAgentTemplatesView-C274fvLb.js +0 -152
- package/dist/assets/PrebuiltAgentTemplatesView-jF7HvWnL.css +0 -166
- package/dist/assets/RunDataHtml-CX8Hqg6s.js +0 -7
- package/dist/assets/RunDataParsedAiContent-C3de0i2J.js +0 -24
- package/dist/assets/SaveButton-DGuEjyOq.js +0 -89
- package/dist/assets/SettingsView-Clf40hKH.js +0 -88
- package/dist/assets/VirtualSchema-zUWStOer.js +0 -34
- package/dist/assets/WorkflowActivationErrorMessage-v37Lr_Ej.js +0 -17
- package/dist/assets/WorkflowActivator-BGcCOUCH.css +0 -391
- package/dist/assets/WorkflowActivator-DW5QJWKR.js +0 -362
- package/dist/assets/core-BbiIkN91.js +0 -4
- package/dist/assets/empty-DUjwPfU3.js +0 -2125
- package/dist/assets/en-DyO2pPiC.js +0 -2
- package/dist/assets/path-browserify-CJwRhuT8.js +0 -328
- package/dist/assets/schemaPreview.store-ngPsbwff.js +0 -113
- package/dist/assets/uniqBy-BInks7VO.js +0 -10
- package/dist/assets/useBeforeUnload-BNDKBmDK.js +0 -40
- package/dist/assets/useCommandBar-Ddao4vJv.js +0 -2425
- package/dist/assets/useCustomAgent-DA57piBT.js +0 -471
- package/dist/assets/useRecentResources-D-zHnbqB.js +0 -118
- package/dist/assets/useWorkflowActivate-Ct_BovMQ.js +0 -152
- package/dist/assets/utils-C2GPI2gK.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-D_SiS8no.js → fileUtils-C-Bxka0b.js} +0 -0
- /package/dist/assets/{mcp.constants-DQPD3Ntp.js → mcp.constants-Djm5lWYR.js} +0 -0
- /package/dist/assets/{preload-helper-CR0ecmWK.js → preload-helper-D8n1yiy9.js} +0 -0
- /package/dist/assets/{retry-dP46utx2.js → retry-BLsJRFf0.js} +0 -0
- /package/dist/assets/{smartDecimal-DK6-_VSq.js → smartDecimal-D3Shg2YQ.js} +0 -0
- /package/dist/assets/{sortByProperty-CV1aCzkS.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-B6veOr9z.js → xml-Cf0o4TxQ.js} +0 -0
|
@@ -1,64 +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 "./
|
|
25
|
-
import "./
|
|
26
|
-
import "./
|
|
27
|
-
import
|
|
28
|
-
import "./
|
|
29
|
-
import "./
|
|
30
|
-
import "./
|
|
31
|
-
import { t as
|
|
32
|
-
import { t as
|
|
33
|
-
import "./
|
|
34
|
-
import "./
|
|
35
|
-
import "./
|
|
36
|
-
import { t as
|
|
37
|
-
import
|
|
38
|
-
import "./
|
|
39
|
-
import
|
|
40
|
-
import
|
|
41
|
-
import "./
|
|
42
|
-
import { t as
|
|
43
|
-
import "./
|
|
44
|
-
import "./
|
|
45
|
-
import "./
|
|
46
|
-
import "./
|
|
47
|
-
import {
|
|
48
|
-
import "./
|
|
49
|
-
import "./
|
|
50
|
-
import
|
|
51
|
-
import { t as useWorkflowActivate } from "./useWorkflowActivate-Ct_BovMQ.js";
|
|
52
|
-
import "./WorkflowActivationErrorMessage-v37Lr_Ej.js";
|
|
53
|
-
import { i as getLastPublishedVersion, r as generateVersionName } from "./utils-C2GPI2gK.js";
|
|
54
|
-
import "./ProjectBreadcrumb-C78U49qA.js";
|
|
55
|
-
import { n as FolderBreadcrumbs_default, t as WorkflowActivator_default } from "./WorkflowActivator-DW5QJWKR.js";
|
|
56
|
-
import { t as PushConnectionTracker_default } from "./PushConnectionTracker-CY-LPI6v.js";
|
|
57
|
-
import { t as useWorkflowSettingsCache } from "./useWorkflowsCache-BG2C8qik.js";
|
|
58
|
-
import { t as useBeforeUnload } from "./useBeforeUnload-BNDKBmDK.js";
|
|
59
|
-
import { t as usePushConnection } from "./usePushConnection-DL83_AN-.js";
|
|
60
|
-
import "./aiTemplatesStarterCollection.store-BuNUUCwa.js";
|
|
61
|
-
import "./readyToRun.store-DfU30_Nq.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-Dh2O3NbU.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-D48cSFnx.js";
|
|
12
|
+
import "./merge-B0-p153C.js";
|
|
13
|
+
import { r as useRootStore } from "./_baseOrderBy-DvuuRU7J.js";
|
|
14
|
+
import { t as useBannersStore } from "./banners.store-CxccIpTM.js";
|
|
15
|
+
import "./dateformat-BeHi9sF4.js";
|
|
16
|
+
import { n as require_debounce, t as useDebounce } from "./useDebounce-C4ttil9E.js";
|
|
17
|
+
import "./versions.store-BIW6cbdc.js";
|
|
18
|
+
import "./dataTable.store-_wAVMcbO.js";
|
|
19
|
+
import { t as useExecutionsStore } from "./executions.store-SHgwsnWe.js";
|
|
20
|
+
import "./assistant.store-2i2uoZtV.js";
|
|
21
|
+
import "./usePinnedData-D1DKG6vB.js";
|
|
22
|
+
import "./nodeCreator.store-Dl91ajnd.js";
|
|
23
|
+
import "./canvas.utils-Dv0fD5Il.js";
|
|
24
|
+
import "./nodeIcon-CUi9_d-e.js";
|
|
25
|
+
import { r as canvasEventBus } from "./useCanvasOperations-DVIzBTSq.js";
|
|
26
|
+
import { t as useFoldersStore } from "./folders.store-D8rP_Hdz.js";
|
|
27
|
+
import "./ProjectIcon-gwTM9uPG.js";
|
|
28
|
+
import "./pushConnection.store-DEMBEciq.js";
|
|
29
|
+
import "./NodeIcon-CXamMxe5.js";
|
|
30
|
+
import "./useRunWorkflow-CBEpMo-i.js";
|
|
31
|
+
import { t as useCollaborationStore } from "./collaboration.store-BbSwTk_d.js";
|
|
32
|
+
import { t as TimeAgo_default } from "./TimeAgo-i_jQQBzo.js";
|
|
33
|
+
import "./roles.store-eBIJuaNR.js";
|
|
34
|
+
import { t as router_default } from "./router-zEaOc-tq.js";
|
|
35
|
+
import "./TagsDropdown-DGbottaK.js";
|
|
36
|
+
import { t as WorkflowTagsDropdown_default } from "./WorkflowTagsDropdown-C0g5t367.js";
|
|
37
|
+
import "./sso.store-9EWHvrSy.js";
|
|
38
|
+
import "./insights.store-BtoZsG-U.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-BL9EJIG9.js";
|
|
43
|
+
import { a as useWorkflowActivate, i as getLastPublishedVersion, r as generateVersionName } from "./utils-5SA0VwN3.js";
|
|
44
|
+
import "./ProjectBreadcrumb-D9hS-MYJ.js";
|
|
45
|
+
import { t as FolderBreadcrumbs_default } from "./FolderBreadcrumbs-CqjobwTB.js";
|
|
46
|
+
import { t as PushConnectionTracker_default } from "./PushConnectionTracker-BLfijnvC.js";
|
|
47
|
+
import { t as useWorkflowSettingsCache } from "./useWorkflowsCache-Cwc7AaSS.js";
|
|
48
|
+
import { t as usePushConnection } from "./usePushConnection-DbVAGHmZ.js";
|
|
49
|
+
import "./aiTemplatesStarterCollection.store-DUkMK-jk.js";
|
|
50
|
+
import "./readyToRun.store-D7MVH-Yc.js";
|
|
62
51
|
var TabBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
63
52
|
__name: "TabBar",
|
|
64
53
|
props: {
|
|
@@ -72,15 +61,15 @@ var TabBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
72
61
|
emit("update:modelValue", tab, event);
|
|
73
62
|
}
|
|
74
63
|
return (_ctx, _cache) => {
|
|
75
|
-
return
|
|
64
|
+
return __props.items ? (openBlock(), createElementBlock("div", {
|
|
76
65
|
key: 0,
|
|
77
66
|
class: normalizeClass({
|
|
78
67
|
[_ctx.$style.container]: true,
|
|
79
68
|
["tab-bar-container"]: true
|
|
80
69
|
})
|
|
81
70
|
}, [createVNode(unref(N8nRadioButtons_default), {
|
|
82
|
-
"model-value":
|
|
83
|
-
options:
|
|
71
|
+
"model-value": __props.modelValue,
|
|
72
|
+
options: __props.items,
|
|
84
73
|
"onUpdate:modelValue": onUpdateModelValue
|
|
85
74
|
}, null, 8, ["model-value", "options"])], 2)) : createCommentVNode("", true);
|
|
86
75
|
};
|
|
@@ -417,8 +406,8 @@ var IntersectionObserved_default = /* @__PURE__ */ defineComponent({
|
|
|
417
406
|
};
|
|
418
407
|
}
|
|
419
408
|
});
|
|
420
|
-
var import_debounce = /* @__PURE__ */ __toESM(require_debounce());
|
|
421
|
-
var _hoisted_1$
|
|
409
|
+
var import_debounce = /* @__PURE__ */ __toESM(require_debounce(), 1);
|
|
410
|
+
var _hoisted_1$3 = { class: "tags" };
|
|
422
411
|
var _hoisted_2$2 = ["onClick"];
|
|
423
412
|
var TagsContainer_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
424
413
|
__name: "TagsContainer",
|
|
@@ -500,11 +489,11 @@ var TagsContainer_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/
|
|
|
500
489
|
threshold: 1,
|
|
501
490
|
class: "tags-container",
|
|
502
491
|
style: normalizeStyle(style.value),
|
|
503
|
-
enabled:
|
|
492
|
+
enabled: __props.responsive,
|
|
504
493
|
"event-bus": unref(intersectionEventBus),
|
|
505
494
|
onObserved
|
|
506
495
|
}, {
|
|
507
|
-
default: withCtx(() => [createBaseVNode("span", _hoisted_1$
|
|
496
|
+
default: withCtx(() => [createBaseVNode("span", _hoisted_1$3, [(openBlock(true), createElementBlock(Fragment, null, renderList(tags.value, (tag) => {
|
|
508
497
|
return openBlock(), createElementBlock("span", {
|
|
509
498
|
key: tag.id,
|
|
510
499
|
class: normalizeClass({ clickable: !tag.hidden }),
|
|
@@ -519,13 +508,13 @@ var TagsContainer_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/
|
|
|
519
508
|
key: 1,
|
|
520
509
|
class: normalizeClass({ hideTag: tag.hidden }),
|
|
521
510
|
"data-id": tag.id,
|
|
522
|
-
enabled:
|
|
511
|
+
enabled: __props.responsive,
|
|
523
512
|
"event-bus": unref(intersectionEventBus)
|
|
524
513
|
}, {
|
|
525
514
|
default: withCtx(() => [createVNode(unref(N8nTag_default), {
|
|
526
515
|
title: tag.name,
|
|
527
516
|
text: tag.name,
|
|
528
|
-
clickable:
|
|
517
|
+
clickable: __props.clickable
|
|
529
518
|
}, null, 8, [
|
|
530
519
|
"title",
|
|
531
520
|
"text",
|
|
@@ -566,11 +555,11 @@ var WorkflowTagsContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
566
555
|
}
|
|
567
556
|
return (_ctx, _cache) => {
|
|
568
557
|
return openBlock(), createBlock(TagsContainer_default, {
|
|
569
|
-
"tag-ids":
|
|
558
|
+
"tag-ids": __props.tagIds,
|
|
570
559
|
"tags-by-id": tagsById.value,
|
|
571
|
-
limit:
|
|
572
|
-
clickable:
|
|
573
|
-
responsive:
|
|
560
|
+
limit: __props.limit,
|
|
561
|
+
clickable: __props.clickable,
|
|
562
|
+
responsive: __props.responsive,
|
|
574
563
|
onClick
|
|
575
564
|
}, null, 8, [
|
|
576
565
|
"tag-ids",
|
|
@@ -582,149 +571,6 @@ var WorkflowTagsContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
582
571
|
};
|
|
583
572
|
}
|
|
584
573
|
});
|
|
585
|
-
var HEARTBEAT_INTERVAL = 5 * TIME.MINUTE;
|
|
586
|
-
const useCollaborationStore = defineStore(STORES.COLLABORATION, () => {
|
|
587
|
-
const pushStore = usePushConnectionStore();
|
|
588
|
-
const workflowsStore = useWorkflowsStore();
|
|
589
|
-
const usersStore = useUsersStore();
|
|
590
|
-
const uiStore = useUIStore();
|
|
591
|
-
const { addBeforeUnloadEventBindings, removeBeforeUnloadEventBindings, addBeforeUnloadHandler } = useBeforeUnload({ route: useRoute() });
|
|
592
|
-
const unloadTimeout = ref(null);
|
|
593
|
-
addBeforeUnloadHandler(() => {
|
|
594
|
-
notifyWorkflowClosed();
|
|
595
|
-
if (uiStore.stateIsDirty) unloadTimeout.value = setTimeout(() => notifyWorkflowOpened, 5 * TIME.SECOND);
|
|
596
|
-
});
|
|
597
|
-
const collaborators = ref([]);
|
|
598
|
-
const heartbeatTimer = ref(null);
|
|
599
|
-
const startHeartbeat = () => {
|
|
600
|
-
stopHeartbeat();
|
|
601
|
-
heartbeatTimer.value = window.setInterval(notifyWorkflowOpened, HEARTBEAT_INTERVAL);
|
|
602
|
-
};
|
|
603
|
-
const stopHeartbeat = () => {
|
|
604
|
-
if (heartbeatTimer.value !== null) {
|
|
605
|
-
clearInterval(heartbeatTimer.value);
|
|
606
|
-
heartbeatTimer.value = null;
|
|
607
|
-
}
|
|
608
|
-
};
|
|
609
|
-
const pushStoreEventListenerRemovalFn = ref(null);
|
|
610
|
-
function initialize() {
|
|
611
|
-
if (pushStoreEventListenerRemovalFn.value) return;
|
|
612
|
-
pushStoreEventListenerRemovalFn.value = pushStore.addEventListener((event) => {
|
|
613
|
-
if (event.type === "collaboratorsChanged" && event.data.workflowId === workflowsStore.workflowId) collaborators.value = event.data.collaborators;
|
|
614
|
-
});
|
|
615
|
-
addBeforeUnloadEventBindings();
|
|
616
|
-
notifyWorkflowOpened();
|
|
617
|
-
startHeartbeat();
|
|
618
|
-
}
|
|
619
|
-
function terminate() {
|
|
620
|
-
if (typeof pushStoreEventListenerRemovalFn.value === "function") {
|
|
621
|
-
pushStoreEventListenerRemovalFn.value();
|
|
622
|
-
pushStoreEventListenerRemovalFn.value = null;
|
|
623
|
-
}
|
|
624
|
-
notifyWorkflowClosed();
|
|
625
|
-
stopHeartbeat();
|
|
626
|
-
pushStore.clearQueue();
|
|
627
|
-
removeBeforeUnloadEventBindings();
|
|
628
|
-
if (unloadTimeout.value) clearTimeout(unloadTimeout.value);
|
|
629
|
-
}
|
|
630
|
-
function notifyWorkflowOpened() {
|
|
631
|
-
if (!workflowsStore.isWorkflowSaved[workflowsStore.workflowId]) return;
|
|
632
|
-
pushStore.send({
|
|
633
|
-
type: "workflowOpened",
|
|
634
|
-
workflowId: workflowsStore.workflowId
|
|
635
|
-
});
|
|
636
|
-
}
|
|
637
|
-
function notifyWorkflowClosed() {
|
|
638
|
-
if (!workflowsStore.isWorkflowSaved[workflowsStore.workflowId]) return;
|
|
639
|
-
pushStore.send({
|
|
640
|
-
type: "workflowClosed",
|
|
641
|
-
workflowId: workflowsStore.workflowId
|
|
642
|
-
});
|
|
643
|
-
collaborators.value = collaborators.value.filter(({ user }) => user.id !== usersStore.currentUserId);
|
|
644
|
-
}
|
|
645
|
-
return {
|
|
646
|
-
collaborators,
|
|
647
|
-
initialize,
|
|
648
|
-
terminate,
|
|
649
|
-
startHeartbeat,
|
|
650
|
-
stopHeartbeat
|
|
651
|
-
};
|
|
652
|
-
});
|
|
653
|
-
var CollaborationPane_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
654
|
-
__name: "CollaborationPane",
|
|
655
|
-
setup(__props) {
|
|
656
|
-
const collaborationStore = useCollaborationStore();
|
|
657
|
-
const usersStore = useUsersStore();
|
|
658
|
-
watch(useDocumentVisibility(), (visibilityState) => {
|
|
659
|
-
if (visibilityState === "hidden") collaborationStore.stopHeartbeat();
|
|
660
|
-
else collaborationStore.startHeartbeat();
|
|
661
|
-
});
|
|
662
|
-
const showUserStack = computed(() => collaborationStore.collaborators.length > 1);
|
|
663
|
-
const collaboratorsSorted = computed(() => {
|
|
664
|
-
const users = collaborationStore.collaborators.map(({ user }) => user);
|
|
665
|
-
const index = users.findIndex((user) => user.id === usersStore.currentUser?.id);
|
|
666
|
-
if (index < 1) return { defaultGroup: users };
|
|
667
|
-
const [currentUser] = users.splice(index, 1);
|
|
668
|
-
return { defaultGroup: [currentUser, ...users] };
|
|
669
|
-
});
|
|
670
|
-
const currentUserEmail = computed(() => usersStore.currentUser?.email);
|
|
671
|
-
onMounted(() => {
|
|
672
|
-
collaborationStore.initialize();
|
|
673
|
-
});
|
|
674
|
-
onBeforeUnmount(() => {
|
|
675
|
-
collaborationStore.terminate();
|
|
676
|
-
});
|
|
677
|
-
return (_ctx, _cache) => {
|
|
678
|
-
return showUserStack.value ? (openBlock(), createElementBlock("div", {
|
|
679
|
-
key: 0,
|
|
680
|
-
class: normalizeClass(`collaboration-pane-container ${_ctx.$style.container}`),
|
|
681
|
-
"data-test-id": "collaboration-pane"
|
|
682
|
-
}, [createVNode(unref(N8nUserStack_default), {
|
|
683
|
-
users: collaboratorsSorted.value,
|
|
684
|
-
"current-user-email": currentUserEmail.value
|
|
685
|
-
}, null, 8, ["users", "current-user-email"])], 2)) : createCommentVNode("", true);
|
|
686
|
-
};
|
|
687
|
-
}
|
|
688
|
-
});
|
|
689
|
-
var CollaborationPane_vue_vue_type_style_index_0_lang_module_default = { container: "_container_dsr9f_123" };
|
|
690
|
-
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 }]]);
|
|
691
|
-
var _hoisted_1$1 = { key: 0 };
|
|
692
|
-
var _hoisted_2$1 = { key: 1 };
|
|
693
|
-
var WorkflowHistoryButton_default = /* @__PURE__ */ defineComponent({
|
|
694
|
-
__name: "WorkflowHistoryButton",
|
|
695
|
-
props: {
|
|
696
|
-
workflowId: {},
|
|
697
|
-
isNewWorkflow: { type: Boolean }
|
|
698
|
-
},
|
|
699
|
-
setup(__props) {
|
|
700
|
-
const locale = useI18n();
|
|
701
|
-
const props = __props;
|
|
702
|
-
const workflowHistoryRoute = computed(() => ({
|
|
703
|
-
name: VIEWS.WORKFLOW_HISTORY,
|
|
704
|
-
params: { workflowId: props.workflowId }
|
|
705
|
-
}));
|
|
706
|
-
return (_ctx, _cache) => {
|
|
707
|
-
const _component_RouterLink = resolveComponent("RouterLink");
|
|
708
|
-
return _ctx.workflowId ? (openBlock(), createBlock(unref(N8nTooltip_default), {
|
|
709
|
-
key: 0,
|
|
710
|
-
placement: "bottom"
|
|
711
|
-
}, {
|
|
712
|
-
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))]),
|
|
713
|
-
default: withCtx(() => [createVNode(_component_RouterLink, { to: workflowHistoryRoute.value }, {
|
|
714
|
-
default: withCtx(() => [createVNode(unref(N8nIconButton_default), {
|
|
715
|
-
disabled: _ctx.isNewWorkflow,
|
|
716
|
-
"data-test-id": "workflow-history-button",
|
|
717
|
-
type: "highlight",
|
|
718
|
-
icon: "history",
|
|
719
|
-
size: "medium"
|
|
720
|
-
}, null, 8, ["disabled"])]),
|
|
721
|
-
_: 1
|
|
722
|
-
}, 8, ["to"])]),
|
|
723
|
-
_: 1
|
|
724
|
-
})) : createCommentVNode("", true);
|
|
725
|
-
};
|
|
726
|
-
}
|
|
727
|
-
});
|
|
728
574
|
var INVALID_CHARS_REGEX = /[<>:"/\\|?*\u0000-\u001F\u007F-\u009F]/g;
|
|
729
575
|
var ZERO_WIDTH_CHARS_REGEX = /[\u200B-\u200D\u2060\uFEFF]/g;
|
|
730
576
|
var UNICODE_SPACES_REGEX = /[\u00A0\u2000-\u200A]/g;
|
|
@@ -763,7 +609,7 @@ var sanitizeFilename = (filename, maxLength = MAX_FILENAME_LENGTH) => {
|
|
|
763
609
|
if (baseName.length > maxLength) baseName = baseName.slice(0, maxLength);
|
|
764
610
|
return baseName;
|
|
765
611
|
};
|
|
766
|
-
var import_FileSaver_min = /* @__PURE__ */ __toESM(require_FileSaver_min());
|
|
612
|
+
var import_FileSaver_min = /* @__PURE__ */ __toESM(require_FileSaver_min(), 1);
|
|
767
613
|
const getWorkflowId = (propId, routeName) => {
|
|
768
614
|
return propId ?? (typeof routeName === "string" ? routeName : void 0);
|
|
769
615
|
};
|
|
@@ -780,10 +626,8 @@ var ActionsDropdownMenu_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
780
626
|
currentFolder: {},
|
|
781
627
|
meta: {}
|
|
782
628
|
},
|
|
783
|
-
|
|
784
|
-
setup(__props, { expose: __expose, emit: __emit }) {
|
|
629
|
+
setup(__props, { expose: __expose }) {
|
|
785
630
|
const props = __props;
|
|
786
|
-
const emit = __emit;
|
|
787
631
|
const importFileRef = ref();
|
|
788
632
|
const toast = useToast();
|
|
789
633
|
const locale = useI18n();
|
|
@@ -973,7 +817,7 @@ var ActionsDropdownMenu_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
973
817
|
break;
|
|
974
818
|
case WORKFLOW_MENU_ACTIONS.DOWNLOAD: {
|
|
975
819
|
const workflowData = await workflowHelpers.getWorkflowDataToSave();
|
|
976
|
-
const { tags
|
|
820
|
+
const { tags, ...data } = workflowData;
|
|
977
821
|
const exportData = {
|
|
978
822
|
...data,
|
|
979
823
|
meta: {
|
|
@@ -981,7 +825,7 @@ var ActionsDropdownMenu_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
981
825
|
instanceId: rootStore.instanceId
|
|
982
826
|
},
|
|
983
827
|
tags: (tags ?? []).map((tagId) => {
|
|
984
|
-
const { usageCount
|
|
828
|
+
const { usageCount, ...tag } = tagsStore.tagsById[tagId];
|
|
985
829
|
return tag;
|
|
986
830
|
})
|
|
987
831
|
};
|
|
@@ -1000,7 +844,6 @@ var ActionsDropdownMenu_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
1000
844
|
break;
|
|
1001
845
|
case WORKFLOW_MENU_ACTIONS.PUSH:
|
|
1002
846
|
try {
|
|
1003
|
-
emit("workflow:saved");
|
|
1004
847
|
router_default.push({ query: {
|
|
1005
848
|
...route.query,
|
|
1006
849
|
sourceControl: "push"
|
|
@@ -1090,153 +933,97 @@ var ActionsDropdownMenu_vue_vue_type_style_index_0_lang_module_default = {
|
|
|
1090
933
|
hiddenInput: "_hiddenInput_ntqfl_132"
|
|
1091
934
|
};
|
|
1092
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 }]]);
|
|
1093
|
-
var
|
|
1094
|
-
|
|
936
|
+
var _hoisted_1$2 = { key: 0 };
|
|
937
|
+
var _hoisted_2$1 = { key: 1 };
|
|
938
|
+
var WorkflowHistoryButton_default = /* @__PURE__ */ defineComponent({
|
|
939
|
+
__name: "WorkflowHistoryButton",
|
|
1095
940
|
props: {
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
tags: {},
|
|
1099
|
-
name: {},
|
|
1100
|
-
meta: {},
|
|
1101
|
-
active: { type: Boolean },
|
|
1102
|
-
currentFolder: {},
|
|
1103
|
-
isArchived: { type: Boolean },
|
|
1104
|
-
isNewWorkflow: { type: Boolean },
|
|
1105
|
-
workflowPermissions: {}
|
|
941
|
+
workflowId: {},
|
|
942
|
+
isNewWorkflow: { type: Boolean }
|
|
1106
943
|
},
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
const i18n = useI18n();
|
|
1110
|
-
const uiStore = useUIStore();
|
|
1111
|
-
const telemetry$1 = useTelemetry();
|
|
1112
|
-
const usersStore = useUsersStore();
|
|
1113
|
-
const route = useRoute();
|
|
1114
|
-
const pageRedirectionHelper = usePageRedirectionHelper();
|
|
1115
|
-
const $style = useCssModule();
|
|
944
|
+
setup(__props) {
|
|
945
|
+
const locale = useI18n();
|
|
1116
946
|
const props = __props;
|
|
1117
|
-
const
|
|
1118
|
-
const isWorkflowSaving =
|
|
1119
|
-
|
|
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
|
|
1120
955
|
});
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
data: { id: props.id }
|
|
1130
|
-
});
|
|
1131
|
-
telemetry$1.track("User opened sharing modal", {
|
|
1132
|
-
workflow_id: props.id,
|
|
1133
|
-
user_id_sharer: usersStore.currentUser?.id,
|
|
1134
|
-
sub_view: route.name === VIEWS.WORKFLOWS ? "Workflows listing" : "Workflow editor"
|
|
1135
|
-
});
|
|
1136
|
-
}
|
|
1137
|
-
function goToUpgrade() {
|
|
1138
|
-
pageRedirectionHelper.goToUpgrade("workflow_sharing", "upgrade-workflow-sharing");
|
|
1139
|
-
}
|
|
1140
|
-
__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
|
+
}));
|
|
1141
964
|
return (_ctx, _cache) => {
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
keypath: unref(uiStore).contextBasedTranslationKeys.workflows.sharing.unavailable.description.tooltip,
|
|
1159
|
-
tag: "span",
|
|
1160
|
-
scope: "global"
|
|
1161
|
-
}, {
|
|
1162
|
-
action: withCtx(() => [createBaseVNode("a", { onClick: goToUpgrade }, toDisplayString(unref(i18n).baseText(unref(uiStore).contextBasedTranslationKeys.workflows.sharing.unavailable.button)), 1)]),
|
|
1163
|
-
_: 1
|
|
1164
|
-
}, 8, ["keypath"])]),
|
|
1165
|
-
default: withCtx(() => [createVNode(unref(N8nButton_default), {
|
|
1166
|
-
type: "secondary",
|
|
1167
|
-
class: normalizeClass(["mr-2xs", unref($style).disabledShareButton])
|
|
1168
|
-
}, {
|
|
1169
|
-
default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("workflowDetails.share")), 1)]),
|
|
1170
|
-
_: 1
|
|
1171
|
-
}, 8, ["class"])]),
|
|
1172
|
-
_: 1
|
|
1173
|
-
})]),
|
|
1174
|
-
default: withCtx(() => [createBaseVNode("div", { class: normalizeClass(unref($style).group) }, [!_ctx.isNewWorkflow ? (openBlock(), createBlock(CollaborationPane_default, { key: 0 })) : createCommentVNode("", true), createVNode(unref(N8nButton_default), {
|
|
1175
|
-
type: "secondary",
|
|
1176
|
-
"data-test-id": "workflow-share-button",
|
|
1177
|
-
onClick: onShareButtonClick
|
|
1178
|
-
}, {
|
|
1179
|
-
default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("workflowDetails.share")), 1)]),
|
|
1180
|
-
_: 1
|
|
1181
|
-
})], 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"])]),
|
|
1182
981
|
_: 1
|
|
1183
|
-
}, 8, ["
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
type: "primary",
|
|
1187
|
-
saved: !unref(uiStore).stateIsDirty && !_ctx.isNewWorkflow,
|
|
1188
|
-
disabled: isWorkflowSaving.value || _ctx.readOnly || _ctx.isArchived || !_ctx.isNewWorkflow && !_ctx.workflowPermissions.update,
|
|
1189
|
-
"is-saving": isWorkflowSaving.value,
|
|
1190
|
-
"with-shortcut": !_ctx.readOnly && !_ctx.isArchived && _ctx.workflowPermissions.update,
|
|
1191
|
-
"shortcut-tooltip": unref(i18n).baseText("saveWorkflowButton.hint"),
|
|
1192
|
-
"data-test-id": "workflow-save-button",
|
|
1193
|
-
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("workflow:saved"))
|
|
1194
|
-
}, null, 8, [
|
|
1195
|
-
"saved",
|
|
1196
|
-
"disabled",
|
|
1197
|
-
"is-saving",
|
|
1198
|
-
"with-shortcut",
|
|
1199
|
-
"shortcut-tooltip"
|
|
1200
|
-
]),
|
|
1201
|
-
createVNode(WorkflowHistoryButton_default, {
|
|
1202
|
-
"workflow-id": props.id,
|
|
1203
|
-
"is-new-workflow": _ctx.isNewWorkflow
|
|
1204
|
-
}, null, 8, ["workflow-id", "is-new-workflow"]),
|
|
1205
|
-
createVNode(ActionsDropdownMenu_default, {
|
|
1206
|
-
id: _ctx.id,
|
|
1207
|
-
ref: "actionsMenu",
|
|
1208
|
-
"workflow-permissions": _ctx.workflowPermissions,
|
|
1209
|
-
"is-new-workflow": _ctx.isNewWorkflow,
|
|
1210
|
-
"read-only": _ctx.readOnly,
|
|
1211
|
-
"is-archived": _ctx.isArchived,
|
|
1212
|
-
name: _ctx.name,
|
|
1213
|
-
tags: _ctx.tags,
|
|
1214
|
-
"current-folder": _ctx.currentFolder,
|
|
1215
|
-
meta: _ctx.meta,
|
|
1216
|
-
"onWorkflow:saved": _cache[1] || (_cache[1] = ($event) => _ctx.$emit("workflow:saved"))
|
|
1217
|
-
}, null, 8, [
|
|
1218
|
-
"id",
|
|
1219
|
-
"workflow-permissions",
|
|
1220
|
-
"is-new-workflow",
|
|
1221
|
-
"read-only",
|
|
1222
|
-
"is-archived",
|
|
1223
|
-
"name",
|
|
1224
|
-
"tags",
|
|
1225
|
-
"current-folder",
|
|
1226
|
-
"meta"
|
|
1227
|
-
])
|
|
1228
|
-
], 2)
|
|
1229
|
-
], 2);
|
|
982
|
+
}, 8, ["to"])]),
|
|
983
|
+
_: 1
|
|
984
|
+
})) : createCommentVNode("", true);
|
|
1230
985
|
};
|
|
1231
986
|
}
|
|
1232
987
|
});
|
|
1233
|
-
var
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
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" };
|
|
1240
1027
|
var WorkflowHeaderDraftPublishActions_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
1241
1028
|
__name: "WorkflowHeaderDraftPublishActions",
|
|
1242
1029
|
props: {
|
|
@@ -1250,60 +1037,144 @@ var WorkflowHeaderDraftPublishActions_vue_vue_type_script_setup_true_lang_defaul
|
|
|
1250
1037
|
isNewWorkflow: { type: Boolean },
|
|
1251
1038
|
workflowPermissions: {}
|
|
1252
1039
|
},
|
|
1253
|
-
emits: ["workflow:saved"],
|
|
1254
1040
|
setup(__props, { expose: __expose }) {
|
|
1255
1041
|
const props = __props;
|
|
1256
1042
|
const actionsMenuRef = useTemplateRef("actionsMenu");
|
|
1257
|
-
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
|
+
});
|
|
1258
1050
|
const uiStore = useUIStore();
|
|
1259
1051
|
const workflowsStore = useWorkflowsStore();
|
|
1260
1052
|
const i18n = useI18n();
|
|
1261
|
-
const
|
|
1053
|
+
const router = useRouter();
|
|
1054
|
+
const autosaveStore = useWorkflowAutosaveStore();
|
|
1055
|
+
const { saveCurrentWorkflow, cancelAutoSave } = useWorkflowSaving({ router });
|
|
1262
1056
|
const autoSaveForPublish = ref(false);
|
|
1263
|
-
const isWorkflowSaving = computed(() => {
|
|
1264
|
-
return uiStore.isActionActive.workflowSaving && !autoSaveForPublish.value;
|
|
1265
|
-
});
|
|
1266
1057
|
const importFileRef = computed(() => actionsMenuRef.value?.importFileRef);
|
|
1267
|
-
const
|
|
1268
|
-
|
|
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) {
|
|
1269
1082
|
autoSaveForPublish.value = true;
|
|
1270
|
-
|
|
1083
|
+
saved = await saveCurrentWorkflow({}, true);
|
|
1271
1084
|
autoSaveForPublish.value = false;
|
|
1272
|
-
|
|
1085
|
+
}
|
|
1086
|
+
return saved;
|
|
1087
|
+
};
|
|
1088
|
+
const onPublishButtonClick = async () => {
|
|
1089
|
+
if (uiStore.stateIsDirty || props.isNewWorkflow) {
|
|
1090
|
+
if (!await saveBeforePublish()) return;
|
|
1273
1091
|
}
|
|
1274
1092
|
uiStore.openModalWithData({
|
|
1275
1093
|
name: WORKFLOW_PUBLISH_MODAL_KEY,
|
|
1276
1094
|
data: {}
|
|
1277
1095
|
});
|
|
1278
1096
|
};
|
|
1279
|
-
const
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
if (
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
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];
|
|
1302
1173
|
});
|
|
1303
1174
|
const activeVersion = computed(() => workflowsStore.workflow.activeVersion);
|
|
1304
1175
|
const activeVersionName = computed(() => {
|
|
1305
1176
|
if (!activeVersion.value) return "";
|
|
1306
|
-
return activeVersion.value.name
|
|
1177
|
+
return activeVersion.value.name ?? generateVersionName(activeVersion.value.versionId);
|
|
1307
1178
|
});
|
|
1308
1179
|
const latestPublishDate = computed(() => {
|
|
1309
1180
|
return getLastPublishedVersion(activeVersion.value?.workflowPublishHistory ?? [])?.createdAt;
|
|
@@ -1317,78 +1188,58 @@ var WorkflowHeaderDraftPublishActions_vue_vue_type_script_setup_true_lang_defaul
|
|
|
1317
1188
|
__expose({ importFileRef });
|
|
1318
1189
|
return (_ctx, _cache) => {
|
|
1319
1190
|
return openBlock(), createElementBlock("div", { class: normalizeClass(_ctx.$style.container) }, [
|
|
1320
|
-
!
|
|
1321
|
-
|
|
1191
|
+
!__props.isNewWorkflow ? (openBlock(), createBlock(CollaborationPane_default, { key: 0 })) : createCommentVNode("", true),
|
|
1192
|
+
!shouldHidePublishButton.value ? (openBlock(), createElementBlock("div", {
|
|
1322
1193
|
key: 1,
|
|
1323
|
-
class: normalizeClass(_ctx.$style.
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
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)),
|
|
1329
1202
|
createTextVNode(toDisplayString(unref(i18n).baseText("workflowHistory.item.active")) + " ", 1),
|
|
1330
1203
|
latestPublishDate.value ? (openBlock(), createBlock(TimeAgo_default, {
|
|
1331
1204
|
key: 0,
|
|
1332
1205
|
date: latestPublishDate.value
|
|
1333
1206
|
}, null, 8, ["date"])) : createCommentVNode("", true)
|
|
1334
|
-
]),
|
|
1335
|
-
default: withCtx(() => [createVNode(unref(N8nIcon_default), {
|
|
1336
|
-
icon: "circle-check",
|
|
1337
|
-
color: "success",
|
|
1338
|
-
size: "xlarge",
|
|
1339
|
-
class: normalizeClass(_ctx.$style.icon)
|
|
1340
|
-
}, null, 8, ["class"])]),
|
|
1341
|
-
_: 1
|
|
1342
|
-
})], 2)) : createCommentVNode("", true),
|
|
1343
|
-
!_ctx.isArchived && (_ctx.workflowPermissions.update || _ctx.workflowPermissions.publish) ? (openBlock(), createElementBlock("div", {
|
|
1344
|
-
key: 2,
|
|
1345
|
-
class: normalizeClass(_ctx.$style.publishButtonWrapper)
|
|
1346
|
-
}, [createVNode(unref(N8nTooltip_default), { disabled: !publishTooltipText.value }, {
|
|
1347
|
-
content: withCtx(() => [createTextVNode(toDisplayString(publishTooltipText.value), 1)]),
|
|
1207
|
+
], 64)) : createCommentVNode("", true)])]),
|
|
1348
1208
|
default: withCtx(() => [createVNode(unref(N8nButton_default), {
|
|
1349
1209
|
loading: autoSaveForPublish.value,
|
|
1350
|
-
disabled: !
|
|
1210
|
+
disabled: !publishButtonConfig.value.enabled || readOnlyForPublish.value,
|
|
1351
1211
|
type: "secondary",
|
|
1352
1212
|
"data-test-id": "workflow-open-publish-modal-button",
|
|
1353
1213
|
onClick: onPublishButtonClick
|
|
1354
1214
|
}, {
|
|
1355
|
-
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)]),
|
|
1356
1224
|
_: 1
|
|
1357
1225
|
}, 8, ["loading", "disabled"])]),
|
|
1358
1226
|
_: 1
|
|
1359
1227
|
}, 8, ["disabled"])], 2)) : createCommentVNode("", true),
|
|
1360
|
-
createVNode(SaveButton_default, {
|
|
1361
|
-
type: "primary",
|
|
1362
|
-
saved: isWorkflowSaved.value,
|
|
1363
|
-
disabled: isWorkflowSaving.value || _ctx.readOnly || _ctx.isArchived || !_ctx.isNewWorkflow && !_ctx.workflowPermissions.update,
|
|
1364
|
-
"is-saving": isWorkflowSaving.value,
|
|
1365
|
-
"with-shortcut": !_ctx.readOnly && !_ctx.isArchived && _ctx.workflowPermissions.update,
|
|
1366
|
-
"shortcut-tooltip": unref(i18n).baseText("saveWorkflowButton.hint"),
|
|
1367
|
-
"data-test-id": "workflow-save-button",
|
|
1368
|
-
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("workflow:saved"))
|
|
1369
|
-
}, null, 8, [
|
|
1370
|
-
"saved",
|
|
1371
|
-
"disabled",
|
|
1372
|
-
"is-saving",
|
|
1373
|
-
"with-shortcut",
|
|
1374
|
-
"shortcut-tooltip"
|
|
1375
|
-
]),
|
|
1376
1228
|
createVNode(WorkflowHistoryButton_default, {
|
|
1377
1229
|
"workflow-id": props.id,
|
|
1378
|
-
"is-new-workflow":
|
|
1230
|
+
"is-new-workflow": __props.isNewWorkflow
|
|
1379
1231
|
}, null, 8, ["workflow-id", "is-new-workflow"]),
|
|
1380
1232
|
createVNode(ActionsDropdownMenu_default, {
|
|
1381
|
-
id:
|
|
1233
|
+
id: __props.id,
|
|
1382
1234
|
ref: "actionsMenu",
|
|
1383
|
-
"workflow-permissions":
|
|
1384
|
-
"is-new-workflow":
|
|
1385
|
-
"read-only":
|
|
1386
|
-
"is-archived":
|
|
1387
|
-
name:
|
|
1388
|
-
tags:
|
|
1389
|
-
"current-folder":
|
|
1390
|
-
meta:
|
|
1391
|
-
"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
|
|
1392
1243
|
}, null, 8, [
|
|
1393
1244
|
"id",
|
|
1394
1245
|
"workflow-permissions",
|
|
@@ -1405,10 +1256,16 @@ var WorkflowHeaderDraftPublishActions_vue_vue_type_script_setup_true_lang_defaul
|
|
|
1405
1256
|
}
|
|
1406
1257
|
});
|
|
1407
1258
|
var WorkflowHeaderDraftPublishActions_vue_vue_type_style_index_0_lang_module_default = {
|
|
1408
|
-
container: "
|
|
1409
|
-
activeVersionIndicator: "
|
|
1410
|
-
icon: "
|
|
1411
|
-
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"
|
|
1412
1269
|
};
|
|
1413
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 }]]);
|
|
1414
1271
|
var _hoisted_1 = {
|
|
@@ -1430,8 +1287,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1430
1287
|
isArchived: { type: Boolean },
|
|
1431
1288
|
description: {}
|
|
1432
1289
|
},
|
|
1433
|
-
|
|
1434
|
-
setup(__props, { emit: __emit }) {
|
|
1290
|
+
setup(__props) {
|
|
1435
1291
|
const WORKFLOW_NAME_BP_TO_WIDTH = {
|
|
1436
1292
|
XS: 150,
|
|
1437
1293
|
SM: 200,
|
|
@@ -1440,14 +1296,13 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1440
1296
|
XL: 1e3
|
|
1441
1297
|
};
|
|
1442
1298
|
const props = __props;
|
|
1443
|
-
const emit = __emit;
|
|
1444
1299
|
const $style = useCssModule();
|
|
1445
1300
|
const settingsStore = useSettingsStore();
|
|
1446
1301
|
const uiStore = useUIStore();
|
|
1447
1302
|
const workflowsStore = useWorkflowsStore();
|
|
1448
1303
|
const projectsStore = useProjectsStore();
|
|
1304
|
+
const collaborationStore = useCollaborationStore();
|
|
1449
1305
|
const foldersStore = useFoldersStore();
|
|
1450
|
-
const npsSurveyStore = useNpsSurveyStore();
|
|
1451
1306
|
const i18n = useI18n();
|
|
1452
1307
|
const router = useRouter();
|
|
1453
1308
|
const route = useRoute();
|
|
@@ -1470,10 +1325,11 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1470
1325
|
const isNewWorkflow = computed(() => {
|
|
1471
1326
|
return !workflowsStore.isWorkflowSaved[props.id];
|
|
1472
1327
|
});
|
|
1473
|
-
const isWorkflowSaving = computed(() => {
|
|
1474
|
-
return uiStore.isActionActive.workflowSaving;
|
|
1475
|
-
});
|
|
1476
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
|
+
});
|
|
1477
1333
|
const workflowTagIds = computed(() => {
|
|
1478
1334
|
return (props.tags ?? []).map((tag) => typeof tag === "string" ? tag : tag.id);
|
|
1479
1335
|
});
|
|
@@ -1491,26 +1347,8 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1491
1347
|
isTagsEditEnabled.value = false;
|
|
1492
1348
|
renameInput.value?.forceCancel();
|
|
1493
1349
|
});
|
|
1494
|
-
async function onSaveButtonClick() {
|
|
1495
|
-
if (isWorkflowSaving.value) return;
|
|
1496
|
-
const id = getWorkflowId(props.id, route.params.name);
|
|
1497
|
-
const name = props.name;
|
|
1498
|
-
const tags = props.tags;
|
|
1499
|
-
const wasNewWorkflow = !workflowsStore.isWorkflowSaved[props.id];
|
|
1500
|
-
if (await workflowSaving.saveCurrentWorkflow({
|
|
1501
|
-
id,
|
|
1502
|
-
name,
|
|
1503
|
-
tags
|
|
1504
|
-
})) {
|
|
1505
|
-
showCreateWorkflowSuccessToast(id, wasNewWorkflow);
|
|
1506
|
-
await npsSurveyStore.fetchPromptsData();
|
|
1507
|
-
if (route.name === VIEWS.EXECUTION_DEBUG) await router.replace({
|
|
1508
|
-
name: VIEWS.WORKFLOW,
|
|
1509
|
-
params: { name: props.id }
|
|
1510
|
-
});
|
|
1511
|
-
}
|
|
1512
|
-
}
|
|
1513
1350
|
function onTagsEditEnable() {
|
|
1351
|
+
if (readOnlyActions.value) return;
|
|
1514
1352
|
appliedTagIds.value = props.tags ?? [];
|
|
1515
1353
|
isTagsEditEnabled.value = true;
|
|
1516
1354
|
setTimeout(() => {
|
|
@@ -1526,6 +1364,11 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1526
1364
|
return;
|
|
1527
1365
|
}
|
|
1528
1366
|
if (tagsSaving.value) return;
|
|
1367
|
+
if (readOnlyActions.value) {
|
|
1368
|
+
isTagsEditEnabled.value = false;
|
|
1369
|
+
return;
|
|
1370
|
+
}
|
|
1371
|
+
collaborationStore.requestWriteAccess();
|
|
1529
1372
|
tagsSaving.value = true;
|
|
1530
1373
|
const saved = await workflowSaving.saveCurrentWorkflow({ tags });
|
|
1531
1374
|
telemetry$1.track("User edited workflow tags", {
|
|
@@ -1581,7 +1424,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1581
1424
|
toast.showError(error, locale.baseText("generic.archiveWorkflowError"));
|
|
1582
1425
|
return;
|
|
1583
1426
|
}
|
|
1584
|
-
uiStore.
|
|
1427
|
+
uiStore.markStateClean();
|
|
1585
1428
|
toast.showMessage({
|
|
1586
1429
|
title: locale.baseText("mainSidebar.showMessage.handleArchive.title", { interpolate: { workflowName: props.name } }),
|
|
1587
1430
|
type: "success"
|
|
@@ -1614,7 +1457,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1614
1457
|
toast.showError(error, locale.baseText("generic.deleteWorkflowError"));
|
|
1615
1458
|
return;
|
|
1616
1459
|
}
|
|
1617
|
-
uiStore.
|
|
1460
|
+
uiStore.markStateClean();
|
|
1618
1461
|
documentTitle.reset();
|
|
1619
1462
|
toast.showMessage({
|
|
1620
1463
|
title: locale.baseText("mainSidebar.showMessage.handleSelect1.title", { interpolate: { workflowName: props.name } }),
|
|
@@ -1670,6 +1513,9 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1670
1513
|
const handleImportWorkflowFromFile = () => {
|
|
1671
1514
|
if (workflowHeaderActionsRef.value?.importFileRef) workflowHeaderActionsRef.value.importFileRef.click();
|
|
1672
1515
|
};
|
|
1516
|
+
const handleWorkflowSaved = (data) => {
|
|
1517
|
+
if (data.isFirstSave) showCreateWorkflowSuccessToast(props.id, true);
|
|
1518
|
+
};
|
|
1673
1519
|
onMounted(() => {
|
|
1674
1520
|
nodeViewEventBus.on("importWorkflowFromFile", handleImportWorkflowFromFile);
|
|
1675
1521
|
nodeViewEventBus.on("archiveWorkflow", handleArchiveWorkflow);
|
|
@@ -1677,6 +1523,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1677
1523
|
nodeViewEventBus.on("deleteWorkflow", handleDeleteWorkflow);
|
|
1678
1524
|
nodeViewEventBus.on("renameWorkflow", onNameToggle);
|
|
1679
1525
|
nodeViewEventBus.on("addTag", onTagsEditEnable);
|
|
1526
|
+
canvasEventBus.on("saved:workflow", handleWorkflowSaved);
|
|
1680
1527
|
});
|
|
1681
1528
|
onBeforeUnmount(() => {
|
|
1682
1529
|
nodeViewEventBus.off("importWorkflowFromFile", handleImportWorkflowFromFile);
|
|
@@ -1685,6 +1532,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1685
1532
|
nodeViewEventBus.off("deleteWorkflow", handleDeleteWorkflow);
|
|
1686
1533
|
nodeViewEventBus.off("renameWorkflow", onNameToggle);
|
|
1687
1534
|
nodeViewEventBus.off("addTag", onTagsEditEnable);
|
|
1535
|
+
canvasEventBus.off("saved:workflow", handleWorkflowSaved);
|
|
1688
1536
|
});
|
|
1689
1537
|
return (_ctx, _cache) => {
|
|
1690
1538
|
return openBlock(), createElementBlock("div", { class: normalizeClass(unref($style).container) }, [
|
|
@@ -1706,15 +1554,15 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1706
1554
|
}, "/", 2)) : createCommentVNode("", true), (openBlock(), createBlock(unref(N8nInlineTextEdit_default), {
|
|
1707
1555
|
ref_key: "renameInput",
|
|
1708
1556
|
ref: renameInput,
|
|
1709
|
-
key:
|
|
1557
|
+
key: __props.id,
|
|
1710
1558
|
placeholder: "Workflow name",
|
|
1711
1559
|
"data-test-id": "workflow-name-input",
|
|
1712
1560
|
class: "name",
|
|
1713
|
-
"model-value":
|
|
1561
|
+
"model-value": __props.name,
|
|
1714
1562
|
"max-length": unref(128),
|
|
1715
1563
|
"max-width": WORKFLOW_NAME_BP_TO_WIDTH[bp],
|
|
1716
|
-
"read-only":
|
|
1717
|
-
disabled:
|
|
1564
|
+
"read-only": readOnlyActions.value,
|
|
1565
|
+
disabled: readOnlyActions.value,
|
|
1718
1566
|
"onUpdate:modelValue": onNameSubmit
|
|
1719
1567
|
}, null, 8, [
|
|
1720
1568
|
"model-value",
|
|
@@ -1727,7 +1575,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1727
1575
|
}, 1032, ["current-folder"])]),
|
|
1728
1576
|
_: 1
|
|
1729
1577
|
}),
|
|
1730
|
-
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, {
|
|
1731
1579
|
key: 0,
|
|
1732
1580
|
ref: "dropdown",
|
|
1733
1581
|
modelValue: appliedTagIds.value,
|
|
@@ -1742,18 +1590,18 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1742
1590
|
"modelValue",
|
|
1743
1591
|
"event-bus",
|
|
1744
1592
|
"placeholder"
|
|
1745
|
-
])) : (
|
|
1593
|
+
])) : (__props.tags ?? []).length === 0 && !readOnlyActions.value ? (openBlock(), createElementBlock("div", _hoisted_2, [createBaseVNode("span", {
|
|
1746
1594
|
class: "add-tag clickable",
|
|
1747
1595
|
"data-test-id": "new-tag-link",
|
|
1748
1596
|
onClick: onTagsEditEnable
|
|
1749
1597
|
}, " + " + toDisplayString(unref(i18n).baseText("workflowDetails.addTag")), 1)])) : (openBlock(), createBlock(WorkflowTagsContainer_default, {
|
|
1750
|
-
key:
|
|
1598
|
+
key: __props.id,
|
|
1751
1599
|
"tag-ids": workflowTagIds.value,
|
|
1752
1600
|
clickable: true,
|
|
1753
1601
|
responsive: true,
|
|
1754
1602
|
"data-test-id": "workflow-tags",
|
|
1755
1603
|
onClick: onTagsEditEnable
|
|
1756
|
-
}, 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), {
|
|
1757
1605
|
key: 0,
|
|
1758
1606
|
class: "ml-3xs",
|
|
1759
1607
|
theme: "tertiary",
|
|
@@ -1767,18 +1615,16 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1767
1615
|
default: withCtx(() => [!isNewWorkflow.value ? (openBlock(), createBlock(WorkflowProductionChecklist_default, {
|
|
1768
1616
|
key: 0,
|
|
1769
1617
|
workflow: unref(workflowsStore).workflow
|
|
1770
|
-
}, null, 8, ["workflow"])) : createCommentVNode("", true),
|
|
1771
|
-
|
|
1772
|
-
id: _ctx.id,
|
|
1618
|
+
}, null, 8, ["workflow"])) : createCommentVNode("", true), createVNode(WorkflowHeaderDraftPublishActions_default, {
|
|
1619
|
+
id: __props.id,
|
|
1773
1620
|
ref: "workflowHeaderActions",
|
|
1774
|
-
tags:
|
|
1775
|
-
name:
|
|
1776
|
-
meta:
|
|
1777
|
-
"read-only":
|
|
1778
|
-
"is-archived":
|
|
1621
|
+
tags: __props.tags,
|
|
1622
|
+
name: __props.name,
|
|
1623
|
+
meta: __props.meta,
|
|
1624
|
+
"read-only": props.readOnly,
|
|
1625
|
+
"is-archived": __props.isArchived,
|
|
1779
1626
|
"is-new-workflow": isNewWorkflow.value,
|
|
1780
|
-
"workflow-permissions": workflowPermissions.value
|
|
1781
|
-
"onWorkflow:saved": onSaveButtonClick
|
|
1627
|
+
"workflow-permissions": workflowPermissions.value
|
|
1782
1628
|
}, null, 8, [
|
|
1783
1629
|
"id",
|
|
1784
1630
|
"tags",
|
|
@@ -1788,33 +1634,7 @@ var WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
1788
1634
|
"is-archived",
|
|
1789
1635
|
"is-new-workflow",
|
|
1790
1636
|
"workflow-permissions"
|
|
1791
|
-
]))
|
|
1792
|
-
key: 2,
|
|
1793
|
-
id: _ctx.id,
|
|
1794
|
-
ref: "workflowHeaderActions",
|
|
1795
|
-
name: _ctx.name,
|
|
1796
|
-
tags: _ctx.tags,
|
|
1797
|
-
"current-folder": _ctx.currentFolder,
|
|
1798
|
-
meta: _ctx.meta,
|
|
1799
|
-
"read-only": _ctx.readOnly,
|
|
1800
|
-
"is-archived": _ctx.isArchived,
|
|
1801
|
-
active: _ctx.active,
|
|
1802
|
-
"is-new-workflow": isNewWorkflow.value,
|
|
1803
|
-
"workflow-permissions": workflowPermissions.value,
|
|
1804
|
-
"onWorkflow:saved": onSaveButtonClick,
|
|
1805
|
-
"onWorkflow:deactivated": _cache[1] || (_cache[1] = ($event) => emit("workflow:deactivated"))
|
|
1806
|
-
}, null, 8, [
|
|
1807
|
-
"id",
|
|
1808
|
-
"name",
|
|
1809
|
-
"tags",
|
|
1810
|
-
"current-folder",
|
|
1811
|
-
"meta",
|
|
1812
|
-
"read-only",
|
|
1813
|
-
"is-archived",
|
|
1814
|
-
"active",
|
|
1815
|
-
"is-new-workflow",
|
|
1816
|
-
"workflow-permissions"
|
|
1817
|
-
]))]),
|
|
1637
|
+
])]),
|
|
1818
1638
|
_: 1
|
|
1819
1639
|
})
|
|
1820
1640
|
], 2);
|
|
@@ -1829,7 +1649,7 @@ var WorkflowDetails_vue_vue_type_style_index_1_lang_module_default = {
|
|
|
1829
1649
|
closeNodeViewDiscovery,
|
|
1830
1650
|
"header-controls": "_header-controls_7bao3_145"
|
|
1831
1651
|
};
|
|
1832
|
-
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"]]);
|
|
1833
1653
|
init_shared_esm_bundler();
|
|
1834
1654
|
var vue_github_button_default = defineComponent({
|
|
1835
1655
|
name: "github-button",
|
|
@@ -1867,7 +1687,7 @@ var vue_github_button_default = defineComponent({
|
|
|
1867
1687
|
const _this = this;
|
|
1868
1688
|
__vitePreload(() => import(
|
|
1869
1689
|
/* webpackMode: "eager" */
|
|
1870
|
-
"./buttons.esm-
|
|
1690
|
+
"./buttons.esm-DHCtg4os.js"
|
|
1871
1691
|
), []).then(function(module) {
|
|
1872
1692
|
if (_this.$el.lastChild !== _) return;
|
|
1873
1693
|
module.render(_.appendChild(_this.$refs._), function(el) {
|
|
@@ -1893,6 +1713,7 @@ var MainHeader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
1893
1713
|
const ndvStore = useNDVStore();
|
|
1894
1714
|
const uiStore = useUIStore();
|
|
1895
1715
|
const sourceControlStore = useSourceControlStore();
|
|
1716
|
+
const collaborationStore = useCollaborationStore();
|
|
1896
1717
|
const workflowsStore = useWorkflowsStore();
|
|
1897
1718
|
const executionsStore = useExecutionsStore();
|
|
1898
1719
|
const settingsStore = useSettingsStore();
|
|
@@ -1933,7 +1754,7 @@ var MainHeader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
1933
1754
|
const workflow = computed(() => workflowsStore.workflow);
|
|
1934
1755
|
const workflowId = computed(() => String(route.params.name || workflowsStore.workflowId));
|
|
1935
1756
|
const onWorkflowPage = computed(() => !!(route.meta.nodeView || route.meta.keepWorkflowAlive));
|
|
1936
|
-
const readOnly = computed(() => sourceControlStore.preferences.branchReadOnly);
|
|
1757
|
+
const readOnly = computed(() => sourceControlStore.preferences.branchReadOnly || collaborationStore.shouldBeReadOnly);
|
|
1937
1758
|
const isEnterprise = computed(() => settingsStore.isQueueModeEnabled && settingsStore.isWorkerViewAvailable);
|
|
1938
1759
|
const isTelemetryEnabled = computed(() => {
|
|
1939
1760
|
return settingsStore.isTelemetryEnabled;
|
|
@@ -2019,7 +1840,8 @@ var MainHeader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
2019
1840
|
const { href } = router.resolve(routeToNavigateTo);
|
|
2020
1841
|
window.open(href, "_blank");
|
|
2021
1842
|
} else if (route.name !== routeToNavigateTo.name) {
|
|
2022
|
-
if (route.name === VIEWS.NEW_WORKFLOW)
|
|
1843
|
+
if (route.name === VIEWS.NEW_WORKFLOW) if (dirtyState.value) uiStore.markStateDirty();
|
|
1844
|
+
else uiStore.markStateClean();
|
|
2023
1845
|
activeHeaderTab.value = MAIN_HEADER_TABS.WORKFLOW;
|
|
2024
1846
|
await router.push(routeToNavigateTo);
|
|
2025
1847
|
}
|
|
@@ -2147,4 +1969,12 @@ var MainHeader_vue_vue_type_style_index_0_lang_module_default = {
|
|
|
2147
1969
|
"github-button-container": "_github-button-container_4ekmy_173"
|
|
2148
1970
|
};
|
|
2149
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 }]]);
|
|
2150
|
-
|
|
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 };
|