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:
@@ -1,16 +1,8 @@
|
|||||||
<script>
|
<script>
|
||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
import jspreadsheet from "jspreadsheet-ce";
|
|
||||||
import "jspreadsheet-ce/dist/jspreadsheet.css";
|
|
||||||
|
|
||||||
var spreadsheet = null;
|
var spreadsheet = null;
|
||||||
|
|
||||||
function update(instance, cell, x, y, value) {
|
|
||||||
console.log({instance,cell,x,y,value});
|
|
||||||
console.log(spreadsheet[0].getData());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
worksheets: [{
|
worksheets: [{
|
||||||
data: [
|
data: [
|
||||||
@@ -30,11 +22,37 @@
|
|||||||
onchange: update
|
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);
|
onMount(load);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div id="spreadsheet"></div>
|
{#if loading}
|
||||||
|
Loading…
|
||||||
|
{:else}
|
||||||
|
|
||||||
|
{/if}
|
||||||
|
<div id="spreadsheet">Spreadsheet loading…</div>
|
||||||
Reference in New Issue
Block a user