From bda5ad2ec9fa333c8200451496d6c251abbeee19 Mon Sep 17 00:00:00 2001 From: Paul Oliver Date: Sat, 21 Mar 2026 01:36:24 +0100 Subject: Adds data server (WIP) --- data/js/vue-app.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 data/js/vue-app.js (limited to 'data/js/vue-app.js') diff --git a/data/js/vue-app.js b/data/js/vue-app.js new file mode 100644 index 0000000..80a813f --- /dev/null +++ b/data/js/vue-app.js @@ -0,0 +1,24 @@ +const { createApp } = Vue +const { loadModule } = window['vue3-sfc-loader'] + +const addStyle = styleStr => { + const style = document.createElement('style') + const ref = document.head.getElementsByTagName('style')[0] || null + style.textContent = styleStr + document.head.insertBefore(style, ref) +} + +const getFile = url => fetch(url).then(resp => resp.ok ? resp.text() : Promise.reject(resp)) +const moduleCache = { vue: Vue } + +const options = { addStyle, getFile, moduleCache } + +const app = createApp({ + components: { + App: Vue.defineAsyncComponent(() => loadModule('vue/App.vue', options)), + Section: Vue.defineAsyncComponent(() => loadModule('vue/Section.vue', options)), + Plot: Vue.defineAsyncComponent(() => loadModule('vue/Plot.vue', options)), + }, +}) + +app.mount('#app') -- cgit v1.2.3-70-g09d2