const themes = ["light", "dark"]; themes.forEach(v => $('#themeList').append(``)); addListener(updateView); changeTheme(localStorage.getItem('theme')) function changeTheme(theme) { console.log(theme); if (theme === null) { theme = 'light'; } $('body').attr('data-style', theme); localStorage.setItem('theme', theme); } function updateView() { if (structure) { let {out: sourceOut, component: $component} = generateSourceAndView(table, structure); $('#structure').removeClass('d-none').html(''); $('#descriptionSpan').attr('data-i18n', structure.description); $('title').attr('data-i18n', structure.title); $('#structure').append($component); if (i18next.isInitialized) { $('html').localize(); } $('#source').val(JSON.stringify(sourceOut, null, indentation)); } } function generateSourceAndView(data, struct) { if (struct.id === 'loot-table') { $('#lootTableToolbar').removeClass('d-none'); $('#structure').attr('data-index', 'pools'); return generateTable(data, struct); } else { let {out: sourceOut, component: $component} = generateObject(data, struct); $component.removeClass('mt-3'); return {out: sourceOut, component: $component}; } } function generateTable(data, struct) { let out = {}; let $el = $('
'); let type = struct.fields.find(e => e.id === 'type'); if (type) { $('.table-type').removeClass('d-none'); $('#tableType').html(''); for (let option of type.values) { $('#tableType').append(setValueAndName($('