n8n-editor-ui
Version:
Workflow Editor UI for n8n
60 lines (59 loc) • 2.35 kB
JavaScript
import { D as createElementBlock, P as defineComponent, Z as onMounted, et as openBlock } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
import { _t as useI18n } from "./_MapCache-ficiegRb.js";
import { v as useRoute, y as useRouter } from "./truncate-B1HVeveJ.js";
import { N as useWorkflowsStore, _r as useLoadingService, c as useTemplatesStore } from "./builder.store-sBTWwxRU.js";
import "./empty-BuGRxzl4.js";
import { Ro as VIEWS } from "./constants-BbpucWL4.js";
import "./merge-k8vSyyXH.js";
import "./_baseOrderBy-B_6CV8x6.js";
import "./dateformat-CM9k0--B.js";
import "./useDebounce-Bnb8W2LR.js";
var WorkflowOnboardingView_default = /* @__PURE__ */ defineComponent({
__name: "WorkflowOnboardingView",
setup(__props) {
const loadingService = useLoadingService();
const templateStore = useTemplatesStore();
const workflowsStore = useWorkflowsStore();
const router = useRouter();
const route = useRoute();
const i18n = useI18n();
const openWorkflowTemplate = async (templateId) => {
try {
loadingService.startLoading();
const template = await templateStore.getFixedWorkflowTemplate(templateId);
if (!template) throw new Error();
const name = i18n.baseText("onboarding.title", { interpolate: { name: template.name } });
const workflow = await workflowsStore.createNewWorkflow({
name,
connections: template.workflow.connections,
nodes: template.workflow.nodes.map(workflowsStore.convertTemplateNodeToNodeUi),
pinData: template.workflow.pinData,
settings: template.workflow.settings,
meta: { onboardingId: templateId }
});
await router.replace({
name: VIEWS.WORKFLOW,
params: { name: workflow.id },
query: { onboardingId: templateId }
});
loadingService.stopLoading();
} catch (e) {
await router.replace({ name: VIEWS.NEW_WORKFLOW });
loadingService.stopLoading();
throw new Error(`Could not load onboarding template ${templateId}`);
}
};
onMounted(async () => {
const templateId = route.params.id;
if (!templateId || typeof templateId !== "string") {
await router.replace({ name: VIEWS.NEW_WORKFLOW });
return;
}
await openWorkflowTemplate(templateId);
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div");
};
}
});
export { WorkflowOnboardingView_default as default };