65 lines
1.8 KiB
JavaScript
65 lines
1.8 KiB
JavaScript
const { loadModule } = window['vue3-sfc-loader'];
|
|
|
|
const options = {
|
|
moduleCache: {
|
|
vue: Vue,
|
|
},
|
|
getFile(url) {
|
|
return fetch(url).then((resp) =>
|
|
resp.ok ? resp.text() : Promise.reject(resp)
|
|
);
|
|
},
|
|
addStyle(styleStr) {
|
|
const style = document.createElement('style');
|
|
style.textContent = styleStr;
|
|
const ref = document.head.getElementsByTagName('style')[0] || null;
|
|
document.head.insertBefore(style, ref);
|
|
},
|
|
};
|
|
|
|
var vueApp = Vue.createApp({
|
|
data() {
|
|
return {
|
|
modeEdit: false,
|
|
elements: [{
|
|
id: '234bi23b4ikj',
|
|
type: 'jumbotron',
|
|
title: 'my super awesome title',
|
|
text: 'there is nothing better on this planet'
|
|
},
|
|
{
|
|
id: '234bi23b4ikj',
|
|
type: 'grid',
|
|
title: 'Group 1',
|
|
columns: 2,
|
|
elements: [{
|
|
id: '234bi23b4ikj',
|
|
type: 'link',
|
|
link: 'https://google.com/',
|
|
title: 'Tisoware',
|
|
description: 'Elektronische Arbeitszeiterfassung'
|
|
},
|
|
{
|
|
id: '234bi23b4ikj',
|
|
type: 'link',
|
|
link: 'https://google.com/',
|
|
title: 'IT Helpdesk',
|
|
description: 'Helpdesk der operativen IT für Supportanfragen'
|
|
}]
|
|
}]
|
|
}
|
|
},
|
|
methods: {
|
|
toggleEditor()
|
|
{
|
|
this.modeEdit = !this.modeEdit;
|
|
}
|
|
},
|
|
components: {
|
|
DynamicRoot: Vue.defineAsyncComponent(() =>
|
|
loadModule('/vue/root.vue', options)
|
|
),
|
|
},
|
|
}).mount('#app');
|
|
|
|
|