// Get the spell json based on choosen language defaultLanguage var jsonsource = "".concat( "../data/spells/spells-grimoire-", $.defaultLanguage.slice(0, 2), ".json" ); var alldata; // Fetch data from server fetch(jsonsource) .then((response) => response.json()) .then((data) => { // load fetched data into grid alldata = data.spell; console.log(alldata); //document.getElementById("spell-list") var grid = $("#spell-list").w2grid({ name: "Spells", box: "#spellgrid", show: { header: false, toolbar: true, footer: false, selectColumn: true, }, multiSelect: true, liveSearch: true, multiSearch: true, fixedBody: false, records: alldata, columns: [ { field: "name", text: "Name", sortable: true, resizable: true,searchable: { operator: 'contains' }, }, { field: "desc", text: "Description", size: "500%", style: "test", resizable: true, searchable: { operator: 'contains' }, render(record, extra) { return ( '' + extra.value + "" ); }, }, { field: "source", text: "Source", sortable: true, tooltip: 'Which book is this from ?',searchable: { operator: 'contains' } }, { field: "page", text: "Page", sortable: true }, { field: "level", text: "Level", sortable: true, size: 65 }, { field: "school", text: "School", sortable: true }, { field: "components", text: "Components", render(record) { var v = (record.components.v) ? 'V' : '' var s = (record.components.s) ? 'S' : '' var m = (record.components.m) ? record.components.m : '' return v.concat() if (record.components.v = true) { console.log(record.components) } } }, { field: "duration", text: "Duration" }, ], async onSelect(event) { await event.complete; console.log("select", event.detail, this.getSelection()); }, onClick(event) { let record = this.get(event.detail.recid); //grid2.clear() /*grid2.add([ { recid: 0, name: 'ID:', value: record.recid }, { recid: 1, name: 'First Name:', value: record.fname }, { recid: 2, name: 'Last Name:', value: record.lname }, { recid: 3, name: 'Email:', value: record.email }, { recid: 4, name: 'Date:', value: record.sdate } ])*/ console.log(record); }, onRender(event) { // TODO: find the event after grid generate the html end signal and apply loc event.done(function(){ console.log('object '+ this.name + ' is rendered'); $("[data-localize]").localize("main", { pathPrefix: "lang" }); }) } }) });