diff --git a/macrovision.js b/macrovision.js index ce9fd9ab..3f56f4b4 100644 --- a/macrovision.js +++ b/macrovision.js @@ -1290,6 +1290,7 @@ function makeEntity(info, views, sizes, forms = {}) { ) this.formViews = {}; + this.formSizes = {} Object.entries(views).forEach(([key, value]) => { if (value.default) { @@ -1303,6 +1304,19 @@ function makeEntity(info, views, sizes, forms = {}) { } }); + this.sizes.forEach(size => { + if (size.default) { + this.formSizes[size.form] = size; + } + }) + + this.sizes.forEach(size => { + if (this.formSizes[size.form] === undefined) { + this.formSizes[size.form] = size; + } + }); + + delete this.init; return this; } @@ -3343,6 +3357,8 @@ document.addEventListener("DOMContentLoaded", () => { const entity = entities[selected.dataset.key]; entity.form = e.target.value; entity.view = entity.formViews[entity.form]; + if (Object.keys(entity.form).length > 0) + entity.views[entity.view].height = entity.formSizes[entity.form].height; preloadViews(entity); @@ -3360,6 +3376,13 @@ document.addEventListener("DOMContentLoaded", () => { } else { selected.querySelector(".entity-image").style.setProperty("--offset", ((-1) * 100) + "%") } + + if (config.autoFitSize) { + let targets = {}; + targets[selected.dataset.key] = entities[selected.dataset.key]; + fitEntities(targets); + } + configSizeList(entity); updateSizes(); updateEntityOptions(entities[selected.dataset.key], e.target.value);