diff --git a/js/model.js b/js/model.js
index 9b4eb2b0..35e131be 100644
--- a/js/model.js
+++ b/js/model.js
@@ -33,22 +33,24 @@ function loadGenerator(generator) {
if (!generator) return;
const versions = generators[generator] || [];
versions.forEach(v => {
- $('#versionList').append(`${v}`)
+ $('#versionList').append(`${v}`)
});
const promises = [initShared(), initLng(), loadVersion(generator, '1.15')];
Promise.all(promises).then(() => {
if (params.has('q')) {
$('#source').val(atob(params.get('q')));
updateSource();
+ } else {
+ table = structure.default;
}
invalidated()
});
}
function loadVersion(generator, version) {
+ console.warn(generator, version);
return $.getJSON('../schemas/' + version + '.json', json => {
- structure = json.roots.find(e => e.id === generator);
- table = structure.default;
+ structure = json.root || json.roots.find(e => e.id === generator);
components = json.components;
collections = json.collections;
}).fail((jqXHR, textStatus, errorThrown) => {
@@ -60,6 +62,12 @@ function loadVersion(generator, version) {
});
}
+function changeVersion(generator, version) {
+ loadVersion(generator, version).then(() => {
+ invalidated();
+ });
+}
+
async function initShared() {
const components = await fetch('../components.html').then(r => r.text());
const shared = await fetch('../shared.html').then(r => r.text());