Files
lcbp3.np-dms.work/n8n-cache/n8n/public/assets/TemplatesCollectionView-4dKgKAQR.js
2025-09-21 20:29:15 +07:00

212 lines
8.2 KiB
JavaScript
Executable File

import { d as defineComponent, bk as useTemplatesStore, ad as useNodeTypesStore, a2 as useRoute, b as useRouter, ax as useDocumentTitle, r as ref, x as computed, a7 as watch, o as onMounted, e as createBlock, g as openBlock, br as createSlots, w as withCtx, j as createBaseVNode, n as normalizeClass, h as createElementBlock, f as createCommentVNode, i as createVNode, l as unref, eG as isFullTemplatesCollection, eH as N8nMarkdown, c as useI18n, m as N8nHeading, k as createTextVNode, t as toDisplayString, p as N8nText, dK as N8nLoading, V as VIEWS, al as useTelemetry, bp as useExternalHooks, _ as _export_sfc } from "./index--OJ5nhDf.js";
import { _ as __unplugin_components_6 } from "./TemplateDetails-BxvljQA3.js";
import { T as TemplateList } from "./TemplateList-CV9csLUI.js";
import { T as TemplatesView } from "./TemplatesView-CXSlz1M1.js";
import { u as useTemplateWorkflow } from "./templateActions-B4GEcBXU.js";
import "./Tags-CdXa3Xx9.js";
import "./Tag-BQAJRKFE.js";
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "TemplatesCollectionView",
setup(__props) {
const externalHooks = useExternalHooks();
const templatesStore = useTemplatesStore();
const nodeTypesStore = useNodeTypesStore();
const route = useRoute();
const router = useRouter();
const telemetry = useTelemetry();
const i18n = useI18n();
const documentTitle = useDocumentTitle();
const loading = ref(true);
const notFoundError = ref(false);
const collectionId = computed(() => {
const { id } = route.params;
return Array.isArray(id) ? id[0] : id;
});
const collection = computed(() => templatesStore.getCollectionById[collectionId.value]);
const collectionWorkflows = computed(() => {
if (!collection.value || loading.value) {
return [];
}
return collection.value.workflows.map(({ id }) => templatesStore.getTemplatesById(id.toString())).filter((workflow) => !!workflow);
});
const scrollToTop = () => {
setTimeout(() => {
const contentArea = document.getElementById("content");
if (contentArea) {
contentArea.scrollTo({
top: 0,
behavior: "smooth"
});
}
}, 50);
};
const onOpenTemplate = ({ event, id }) => {
navigateTo(event, VIEWS.TEMPLATE, `${id}`);
};
const onUseWorkflow = async ({ event, id }) => {
await useTemplateWorkflow({
router,
templateId: `${id}`,
inNewBrowserTab: event.metaKey || event.ctrlKey,
templatesStore,
externalHooks,
nodeTypesStore,
telemetry,
source: "template_list"
});
};
const navigateTo = (e, page, id) => {
if (e.metaKey || e.ctrlKey) {
const { href } = router.resolve({ name: page, params: { id } });
window.open(href, "_blank");
return;
} else {
void router.push({ name: page, params: { id } });
}
};
watch(
() => collection.value,
() => {
if (collection.value && "full" in collection.value && collection.value.full) {
documentTitle.set(`Template collection: ${collection.value.name}`);
} else {
documentTitle.set("Templates");
}
}
);
onMounted(async () => {
scrollToTop();
if (collection.value && "full" in collection.value && collection.value.full) {
loading.value = false;
return;
}
try {
await templatesStore.fetchCollectionById(collectionId.value);
} catch (e) {
notFoundError.value = true;
}
loading.value = false;
});
return (_ctx, _cache) => {
const _component_n8n_heading = N8nHeading;
const _component_n8n_text = N8nText;
const _component_n8n_loading = N8nLoading;
const _component_n8n_markdown = N8nMarkdown;
return openBlock(), createBlock(TemplatesView, { "go-back-enabled": true }, createSlots({
header: withCtx(() => [
!notFoundError.value ? (openBlock(), createElementBlock("div", {
key: 0,
class: normalizeClass(_ctx.$style.wrapper)
}, [
createBaseVNode("div", {
class: normalizeClass(_ctx.$style.title)
}, [
collection.value && collection.value.name ? (openBlock(), createBlock(_component_n8n_heading, {
key: 0,
tag: "h1",
size: "2xlarge"
}, {
default: withCtx(() => [
createTextVNode(toDisplayString(collection.value.name), 1)
]),
_: 1
})) : createCommentVNode("", true),
collection.value && collection.value.name ? (openBlock(), createBlock(_component_n8n_text, {
key: 1,
color: "text-base",
size: "small"
}, {
default: withCtx(() => [
createTextVNode(toDisplayString(unref(i18n).baseText("templates.collection")), 1)
]),
_: 1
})) : createCommentVNode("", true),
createVNode(_component_n8n_loading, {
loading: !collection.value || !collection.value.name,
rows: 2,
variant: "h1"
}, null, 8, ["loading"])
], 2)
], 2)) : (openBlock(), createElementBlock("div", {
key: 1,
class: normalizeClass(_ctx.$style.notFound)
}, [
createVNode(_component_n8n_text, { color: "text-base" }, {
default: withCtx(() => [
createTextVNode(toDisplayString(unref(i18n).baseText("templates.collectionsNotFound")), 1)
]),
_: 1
})
], 2))
]),
_: 2
}, [
!notFoundError.value ? {
name: "content",
fn: withCtx(() => [
createBaseVNode("div", {
class: normalizeClass(_ctx.$style.wrapper)
}, [
createBaseVNode("div", {
class: normalizeClass(_ctx.$style.mainContent)
}, [
loading.value || unref(isFullTemplatesCollection)(collection.value) ? (openBlock(), createElementBlock("div", {
key: 0,
class: normalizeClass(_ctx.$style.markdown)
}, [
createVNode(_component_n8n_markdown, {
content: unref(isFullTemplatesCollection)(collection.value) && collection.value.description ? collection.value.description : "",
images: unref(isFullTemplatesCollection)(collection.value) && collection.value.image ? collection.value.image : void 0,
loading: loading.value
}, null, 8, ["content", "images", "loading"])
], 2)) : createCommentVNode("", true),
createVNode(TemplateList, {
"infinite-scroll-enabled": false,
loading: loading.value,
"use-workflow-button": true,
workflows: collectionWorkflows.value,
onUseWorkflow,
onOpenTemplate
}, null, 8, ["loading", "workflows"])
], 2),
createBaseVNode("div", {
class: normalizeClass(_ctx.$style.details)
}, [
createVNode(__unplugin_components_6, {
"block-title": unref(i18n).baseText("template.details.appsInTheCollection"),
loading: loading.value,
template: collection.value
}, null, 8, ["block-title", "loading", "template"])
], 2)
], 2)
]),
key: "0"
} : void 0
]), 1024);
};
}
});
const wrapper = "_wrapper_17kne_123";
const notFound = "_notFound_17kne_133";
const title = "_title_17kne_137";
const button = "_button_17kne_141";
const mainContent = "_mainContent_17kne_145";
const markdown = "_markdown_17kne_156";
const details = "_details_17kne_160";
const style0 = {
wrapper,
notFound,
title,
button,
mainContent,
markdown,
details
};
const cssModules = {
"$style": style0
};
const TemplatesCollectionView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
export {
TemplatesCollectionView as default
};