experimental: adapt for using rollupjs bundler

This commit is contained in:
Harald Bamberger
2024-04-08 16:30:18 +02:00
parent c04d51c1c0
commit 3b1a752068
3 changed files with 19 additions and 8 deletions
+3 -2
View File
@@ -1,3 +1,4 @@
import { markRaw, defineAsyncComponent } from 'vue';
import {CoreRESTClient} from '../RESTClient.js'; import {CoreRESTClient} from '../RESTClient.js';
import accessibility from "../directives/accessibility.js"; import accessibility from "../directives/accessibility.js";
@@ -70,7 +71,7 @@ export default {
return console.error('Component missing for ' + key); return console.error('Component missing for ' + key);
tabs[key] = { tabs[key] = {
component: Vue.markRaw(Vue.defineAsyncComponent(() => import(item.component))), component: markRaw(defineAsyncComponent(() => import(item.component))),
title: item.title || key, title: item.title || key,
config: item.config, config: item.config,
key key
@@ -82,7 +83,7 @@ export default {
return console.error('Component missing for ' + key); return console.error('Component missing for ' + key);
tabs[key] = { tabs[key] = {
component: Vue.markRaw(Vue.defineAsyncComponent(() => import(item.component))), component: markRaw(defineAsyncComponent(() => import(item.component))),
title: item.title || key, title: item.title || key,
config: item.config, config: item.config,
key key
+7 -5
View File
@@ -1,3 +1,5 @@
import { ref, unref, triggerRef } from 'vue';
const categories = {}; const categories = {};
const loadingModules = {}; const loadingModules = {};
@@ -12,8 +14,8 @@ function reloadRefs(category) {
while (loadingModules[category].length) { while (loadingModules[category].length) {
var v = loadingModules[category].pop(); var v = loadingModules[category].pop();
v[0].value = getValueForLoadedPhrase(category, v[1], v[2]); v[0].value = getValueForLoadedPhrase(category, v[1], v[2]);
Vue.triggerRef(v[0]); triggerRef(v[0]);
/*Vue.unref(v);*/ /*unref(v);*/
} }
} }
function loadLazy(category, val, phrase, params) { function loadLazy(category, val, phrase, params) {
@@ -70,16 +72,16 @@ const phrasen = {
if (!categories[category] || Object.keys(categories[category]).length === 0) { if (!categories[category] || Object.keys(categories[category]).length === 0) {
categories[category] = undefined; categories[category] = undefined;
let val = Vue.ref(initialval); let val = ref(initialval);
loadLazy(category, val, phrase, params); loadLazy(category, val, phrase, params);
return val; return val;
} }
} }
var result = getValueForLoadedPhrase(category, phrase, params); var result = getValueForLoadedPhrase(category, phrase, params);
return Vue.ref(result); return ref(result);
}, },
t(category, phrase, params) { t(category, phrase, params) {
return Vue.unref(this.t_ref(category, phrase, params)); return unref(this.t_ref(category, phrase, params));
} }
}; };
+9 -1
View File
@@ -92,16 +92,24 @@
* @param mixed message * @param mixed message
* @return void * @return void
*/ */
/*
import PvConfig from "../../../index.ci.php/public/js/components/primevue/config/config.esm.min.js"; import PvConfig from "../../../index.ci.php/public/js/components/primevue/config/config.esm.min.js";
import PvToast from "../../../index.ci.php/public/js/components/primevue/toast/toast.esm.min.js"; import PvToast from "../../../index.ci.php/public/js/components/primevue/toast/toast.esm.min.js";
import PvConfirm from "../../../index.ci.php/public/js/components/primevue/confirmdialog/confirmdialog.esm.min.js"; import PvConfirm from "../../../index.ci.php/public/js/components/primevue/confirmdialog/confirmdialog.esm.min.js";
import PvConfirmationService from "../../../index.ci.php/public/js/components/primevue/confirmationservice/confirmationservice.esm.min.js"; import PvConfirmationService from "../../../index.ci.php/public/js/components/primevue/confirmationservice/confirmationservice.esm.min.js";
*/
import { createApp } from 'vue';
import PvConfig from 'primevue/config';
import PvToast from 'primevue/toast';
import PvConfirm from 'primevue/confirmdialog';
import PvConfirmationService from 'primevue/confirmationservice';
import {CoreRESTClient} from '../RESTClient.js'; import {CoreRESTClient} from '../RESTClient.js';
const helperAppContainer = document.createElement('div'); const helperAppContainer = document.createElement('div');
const helperApp = Vue.createApp({ const helperApp = createApp({
components: { components: {
PvToast, PvToast,
PvConfirm PvConfirm