workflows in entity: twig call once vue component that list in modal with add button, or just display add button if none

This commit is contained in:
2022-01-30 11:26:04 +01:00
parent 932d0e86d9
commit d88207132b
4 changed files with 136 additions and 46 deletions

View File

@@ -1,49 +1,35 @@
import { createApp } from "vue";
import PickWorkflowVue from 'ChillMainAssets/vuejs/_components/EntityWorkflow/PickWorkflow.vue';
import ListWorkflowVue from 'ChillMainAssets/vuejs/_components/EntityWorkflow/ListWorkflow.vue';
import ListWorkflowModalVue from 'ChillMainAssets/vuejs/_components/EntityWorkflow/ListWorkflowModal.vue';
import { _createI18n } from "ChillMainAssets/vuejs/_js/i18n";
// pick workflow
document.querySelectorAll('[data-pick-workflow]')
.forEach(function(el) {
const i18n = _createI18n({});
// list workflow
document.querySelectorAll('[data-list-workflows]')
.forEach(function (el) {
console.log('allowCreate', el.dataset.allowCreate);
const app = {
components: {
PickWorkflowVue
ListWorkflowModalVue,
},
template:
'<pick-workflow-vue ' +
'<list-workflow-modal-vue ' +
':workflows="workflows" ' +
':allowCreate="allowCreate" ' +
':relatedEntityClass="relatedEntityClass" ' +
':relatedEntityId="relatedEntityId" ' +
':workflowsAvailables="workflowsAvailables" ' +
'></pick-workflow-vue>',
'></list-workflow-modal-vue>',
data() {
return {
workflows: JSON.parse(el.dataset.workflows),
allowCreate: el.dataset.allowCreate === "1",
relatedEntityClass: el.dataset.relatedEntityClass,
relatedEntityId: Number.parseInt(el.dataset.relatedEntityId),
workflowsAvailables: JSON.parse(el.dataset.workflowsAvailables),
}
}
};
createApp(app).mount(el);
})
;
// list workflow
document.querySelectorAll('[data-list-workflows]')
.forEach(function (el) {
const app = {
components: {
ListWorkflowVue,
},
template:
'<list-workflow-vue ' +
':workflows="workflows" ' +
'></list-workflow-vue>',
data() {
return {
workflows: JSON.parse(el.dataset.workflows),
}
}
};
createApp(app).mount(el);
createApp(app).use(i18n).mount(el);
})
;