Fixed first popup row not showing the initial site active preset.

This commit is contained in:
hackademix 2018-07-12 16:01:26 +02:00
parent 54dd9fa754
commit 8f6574661d
1 changed files with 30 additions and 30 deletions

View File

@ -214,6 +214,9 @@ var UI = (() => {
}
if (!UI.mobile) {
UI.Sites.correctSize(presets);
}
}
@ -246,42 +249,40 @@ var UI = (() => {
return row;
}
correctSize() {
if (!(UI.mobile || document.getElementById("presets-sizer"))) {
// adapt button to label if needed
let presets = document.querySelector(".presets");
let sizer = document.createElement("div");
sizer.id = "presets-sizer";
sizer.appendChild(presets.cloneNode(true));
document.body.appendChild(sizer);
setTimeout(async () => {
let presetWidth = sizer.querySelector("input.preset").offsetWidth;
let labelWidth = 0;
for (let l of sizer.querySelectorAll("label.preset")) {
let lw = l.offsetWidth;
debug("lw", l.textContent, lw);
if (lw > labelWidth) labelWidth = lw;
}
static correctSize(presets) {
// adapt button to label if needed
let sizer = document.createElement("div");
sizer.id = "presets-sizer";
sizer.appendChild(presets.cloneNode(true));
document.body.appendChild(sizer);
setTimeout(async () => {
let presetWidth = sizer.querySelector("input.preset").offsetWidth;
let labelWidth = 0;
for (let l of sizer.querySelectorAll("label.preset")) {
let lw = l.offsetWidth;
debug("lw", l.textContent, lw);
if (lw > labelWidth) labelWidth = lw;
}
debug(`Preset: %s Label: %s`, presetWidth, labelWidth);
labelWidth += 16;
if (presetWidth < labelWidth) {
for (let ss of document.styleSheets) {
if (ss.href.endsWith("/ui.css")) {
for (let r of ss.cssRules) {
if (/input\.preset:checked.*min-width:/.test(r.cssText)) {
r.style.minWidth = (labelWidth) + "px";
break;
}
debug(`Preset: %s Label: %s`, presetWidth, labelWidth);
labelWidth += 16;
if (presetWidth < labelWidth) {
for (let ss of document.styleSheets) {
if (ss.href.endsWith("/ui.css")) {
for (let r of ss.cssRules) {
if (/input\.preset:checked.*min-width:/.test(r.cssText)) {
r.style.minWidth = (labelWidth) + "px";
break;
}
}
}
}
}
sizer.style.display = "none";
sizer.remove();
}, 100);
}
}, 100);
UI.Sites.correctSize = () => {}; // just once, please!
}
allSiteRows() {
@ -446,7 +447,6 @@ var UI = (() => {
root.addEventListener("change", this, true);
root.wiredBy = this;
}
this.correctSize();
return root;
}