found a solution to lazy-load the spreadsheet js and css

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2026-03-20 09:13:41 +01:00
parent a2e2643020
commit 1eaff233d6

View File

@@ -1,16 +1,8 @@
<script>
import { onMount } from 'svelte';
import jspreadsheet from "jspreadsheet-ce";
import "jspreadsheet-ce/dist/jspreadsheet.css";
var spreadsheet = null;
function update(instance, cell, x, y, value) {
console.log({instance,cell,x,y,value});
console.log(spreadsheet[0].getData());
}
const config = {
worksheets: [{
data: [
@@ -30,11 +22,37 @@
onchange: update
};
function load(){
spreadsheet = jspreadsheet(document.getElementById('spreadsheet'), config);
function update(instance, cell, x, y, value) {
console.log({instance,cell,x,y,value});
console.log(spreadsheet[0].getData());
}
let loading = true;
async function load(){
try {
const module = await import('jspreadsheet-ce'); // path or package name
await import('jspreadsheet-ce/dist/jspreadsheet.css');
let jspreadsheet = module.default ?? module;
let element = document.getElementById('spreadsheet');
console.log(element);
spreadsheet = jspreadsheet(element, config);
} catch (e) {
console.log(e);
} finally {
loading = false;
}
}
onMount(load);
</script>
<div id="spreadsheet"></div>
{#if loading}
Loading…
{:else}
{/if}
<div id="spreadsheet">Spreadsheet loading…</div>