trigger column (cross-cutting) + move-mode; move relocates instead of copies (v1.9)

This commit is contained in:
2026-07-10 23:04:51 -03:00
parent 9b486970d3
commit fc1f38fb30
7 changed files with 115 additions and 5 deletions

View File

@@ -61,6 +61,23 @@
limit.disabled = checkbox.checked;
}
// Trigger column: it can never be the target, so hide+disable that option and reset to Any if it
// was selected; the invert checkbox only means something for a specific column.
function applyTrigger() {
var target = document.querySelector('select[name="recoreco_target_column"]');
var trigger = document.querySelector('select[name="recoreco_trigger_column"]');
var invert = document.querySelector('input[name="recoreco_trigger_invert"]');
if (!target || !trigger) { return; }
for (var i = 0; i < trigger.options.length; i++) {
var isTarget = trigger.options[i].value === target.value;
trigger.options[i].hidden = isTarget;
trigger.options[i].disabled = isTarget;
}
if (trigger.value === target.value) { trigger.value = "any"; }
if (invert) { invert.disabled = (trigger.value === "any"); }
}
document.addEventListener("change", function (e) {
if (e.target && e.target.name === "recoreco_frequency") {
apply(e.target);
@@ -68,6 +85,9 @@
if (e.target && e.target.name === "recoreco_follow_finance") {
applyFollow(e.target);
}
if (e.target && (e.target.name === "recoreco_target_column" || e.target.name === "recoreco_trigger_column")) {
applyTrigger();
}
});
if (window.MutationObserver) {
@@ -76,6 +96,7 @@
if (select) {
select.setAttribute("data-recoreco-init", "1");
apply(select);
applyTrigger();
}
}).observe(document.body, { childList: true, subtree: true });
}