60 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| import { d as defineComponent, a1 as useWorkflowsStore, ad as useNodeTypesStore, Q as useUIStore, x as computed, hS as doesNodeHaveAllCredentialsFilled, a7 as watch, W as onBeforeUnmount, hT as SETUP_CREDENTIALS_MODAL_KEY, e as createBlock, f as createCommentVNode, g as openBlock, l as unref, c as useI18n, q as N8nButton } from "./index--OJ5nhDf.js";
 | |
| const _sfc_main = /* @__PURE__ */ defineComponent({
 | |
|   __name: "SetupWorkflowCredentialsButton",
 | |
|   setup(__props) {
 | |
|     const workflowsStore = useWorkflowsStore();
 | |
|     const nodeTypesStore = useNodeTypesStore();
 | |
|     const uiStore = useUIStore();
 | |
|     const i18n = useI18n();
 | |
|     const isTemplateSetupCompleted = computed(() => {
 | |
|       return !!workflowsStore.workflow?.meta?.templateCredsSetupCompleted;
 | |
|     });
 | |
|     const allCredentialsFilled = computed(() => {
 | |
|       if (isTemplateSetupCompleted.value) {
 | |
|         return true;
 | |
|       }
 | |
|       const nodes = workflowsStore.getNodes();
 | |
|       if (!nodes.length) {
 | |
|         return true;
 | |
|       }
 | |
|       return nodes.every((node) => doesNodeHaveAllCredentialsFilled(nodeTypesStore, node));
 | |
|     });
 | |
|     const showButton = computed(() => {
 | |
|       const isCreatedFromTemplate = !!workflowsStore.workflow?.meta?.templateId;
 | |
|       if (!isCreatedFromTemplate || isTemplateSetupCompleted.value) {
 | |
|         return false;
 | |
|       }
 | |
|       return !allCredentialsFilled.value;
 | |
|     });
 | |
|     const unsubscribe = watch(allCredentialsFilled, (newValue) => {
 | |
|       if (newValue) {
 | |
|         workflowsStore.addToWorkflowMetadata({
 | |
|           templateCredsSetupCompleted: true
 | |
|         });
 | |
|         unsubscribe();
 | |
|       }
 | |
|     });
 | |
|     const handleClick = () => {
 | |
|       uiStore.openModal(SETUP_CREDENTIALS_MODAL_KEY);
 | |
|     };
 | |
|     onBeforeUnmount(() => {
 | |
|       uiStore.closeModal(SETUP_CREDENTIALS_MODAL_KEY);
 | |
|     });
 | |
|     return (_ctx, _cache) => {
 | |
|       const _component_n8n_button = N8nButton;
 | |
|       return showButton.value ? (openBlock(), createBlock(_component_n8n_button, {
 | |
|         key: 0,
 | |
|         label: unref(i18n).baseText("nodeView.setupTemplate"),
 | |
|         "data-test-id": "setup-credentials-button",
 | |
|         size: "large",
 | |
|         icon: "package-open",
 | |
|         type: "secondary",
 | |
|         onClick: _cache[0] || (_cache[0] = ($event) => handleClick())
 | |
|       }, null, 8, ["label"])) : createCommentVNode("", true);
 | |
|     };
 | |
|   }
 | |
| });
 | |
| export {
 | |
|   _sfc_main as default
 | |
| };
 |