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>
|
||||
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>
|
||||
Reference in New Issue
Block a user