import { createApp } from "vue"; import { _createI18n } from "ChillMainAssets/vuejs/_js/i18n"; import { activityMessages } from "./i18n"; import store from "./store"; import PickTemplate from "ChillDocGeneratorAssets/vuejs/_components/PickTemplate.vue"; import { fetchTemplates } from "ChillDocGeneratorAssets/api/pickTemplate.js"; import App from "./App.vue"; const i18n = _createI18n(activityMessages); // app for activity const hasSocialIssues = document.querySelector("#social-issues-acc") !== null; const hasLocation = document.querySelector("#location") !== null; const hasPerson = document.querySelector("#add-persons") !== null; const app = createApp({ template: ``, data() { return { hasSocialIssues, hasLocation, hasPerson, }; }, }) .use(store) .use(i18n) .component("app", App) .mount("#activity"); // app for picking template const i18nGendoc = _createI18n({}); document.querySelectorAll("div[data-docgen-template-picker]").forEach((el) => { fetchTemplates(el.dataset.entityClass).then((templates) => { const picker = { template: '', components: { PickTemplate, }, data() { return { templates: templates, entityId: el.dataset.entityId, }; }, methods: { generateDoc({ event, link, template }) { console.log("generateDoc"); console.log("link", link); console.log("template", template); let hiddenInput = document.querySelector("input[data-template-id]"); if (hiddenInput === null) { console.error("hidden input not found"); return; } hiddenInput.value = template; let form = document.querySelector( 'form[name="chill_activitybundle_activity"', ); if (form === null) { console.error("form not found"); return; } form.submit(); }, }, }; createApp(picker).use(i18nGendoc).mount(el); }); });