Skip page autoreloads on transitions between temporary and permanent presets of the same kind.

This commit is contained in:
hackademix 2019-05-26 00:07:55 +02:00
parent f11d4243bc
commit 78a5600d47
1 changed files with 14 additions and 12 deletions

View File

@ -372,7 +372,7 @@ var UI = (() => {
let customizer = target.closest(".customizer");
let row = customizer ? customizer.parentNode.querySelector("tr.customizing") : target.closest("tr.site");
if (!row) return;
row.temp2perm = false;
let isTemp = target.matches("input.temp");
let preset = target.matches("input.preset") ? target
: customizer || isTemp ? row.querySelector("input.preset:checked")
@ -392,23 +392,25 @@ var UI = (() => {
return;
}
let policy = UI.policy;
let {siteMatch, contextMatch, perms} = row;
let presetValue = preset.value;
let policyPreset = presetValue.startsWith("T_") ? policy[presetValue.substring(2)].tempTwin : policy[presetValue];
if (policyPreset) {
if (row.perms !== policyPreset) {
row.temp2perm = row.perms && policyPreset.tempTwin === row.perms;
row.perms = policyPreset;
}
}
let isCap = customizer && target.matches(".cap");
let tempToggle = preset.parentNode.querySelector("input.temp");
if (ev.type === "change") {
row.temp2perm = false;
let policy = UI.policy;
let presetValue = preset.value;
let policyPreset = presetValue.startsWith("T_") ? policy[presetValue.substring(2)].tempTwin : policy[presetValue];
if (policyPreset) {
if (row.perms !== policyPreset) {
row.temp2perm = row.perms &&
(policyPreset.tempTwin === row.perms || policyPreset === row.perms._tempTwin);
row.perms = policyPreset;
}
}
if (preset.checked) {
row.dataset.preset = preset.value;
}