Allow DLC to have date_finished set
This commit is contained in:
parent
db4c635260
commit
5442926457
|
@ -2,7 +2,7 @@ import {
|
|||
syncSelectInputUntilChanged,
|
||||
getEl,
|
||||
disableElementsWhenTrue,
|
||||
disableElementsWhenFalse,
|
||||
disableElementsWhenValueNotEqual,
|
||||
} from "./utils.js";
|
||||
|
||||
let syncData = [
|
||||
|
@ -21,7 +21,11 @@ function setupElementHandlers() {
|
|||
"#id_name",
|
||||
"#id_related_purchase",
|
||||
]);
|
||||
disableElementsWhenFalse("#id_type", "game", ["#id_date_finished"]);
|
||||
disableElementsWhenValueNotEqual(
|
||||
"#id_type",
|
||||
["game", "dlc"],
|
||||
["#id_date_finished"]
|
||||
);
|
||||
}
|
||||
|
||||
document.addEventListener("DOMContentLoaded", setupElementHandlers);
|
||||
|
|
|
@ -138,16 +138,44 @@ function conditionalElementHandler(...configs) {
|
|||
});
|
||||
}
|
||||
|
||||
function disableElementsWhenFalse(targetSelect, targetValue, elementList) {
|
||||
function disableElementsWhenValueNotEqual(
|
||||
targetSelect,
|
||||
targetValue,
|
||||
elementList
|
||||
) {
|
||||
return conditionalElementHandler([
|
||||
() => {
|
||||
return getEl(targetSelect).value != targetValue;
|
||||
let target = getEl(targetSelect);
|
||||
console.debug(
|
||||
`${disableElementsWhenTrue.name}: triggered on ${target.id}`
|
||||
);
|
||||
console.debug(`
|
||||
${disableElementsWhenTrue.name}: matching against value(s): ${targetValue}`);
|
||||
if (targetValue instanceof Array) {
|
||||
if (targetValue.every((value) => target.value != value)) {
|
||||
console.debug(
|
||||
`${disableElementsWhenTrue.name}: none of the values is equal to ${target.value}, returning true.`
|
||||
);
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
console.debug(
|
||||
`${disableElementsWhenTrue.name}: none of the values is equal to ${target.value}, returning true.`
|
||||
);
|
||||
return target.value != targetValue;
|
||||
}
|
||||
},
|
||||
elementList,
|
||||
(el) => {
|
||||
console.debug(
|
||||
`${disableElementsWhenTrue.name}: evaluated true, disabling ${el.id}.`
|
||||
);
|
||||
el.disabled = "disabled";
|
||||
},
|
||||
(el) => {
|
||||
console.debug(
|
||||
`${disableElementsWhenTrue.name}: evaluated false, NOT disabling ${el.id}.`
|
||||
);
|
||||
el.disabled = "";
|
||||
},
|
||||
]);
|
||||
|
|
Loading…
Reference in New Issue