Phase 12B.1: Continuity Explorer Filter Usability Improvements.

This commit is contained in:
Nick Beckley 2026-06-14 19:26:54 +01:00
parent e7aabe8b41
commit 1420c43310

View File

@ -298,3 +298,45 @@ else
}
</section>
}
<script>
(() => {
const setDisabled = (id, disabled) => {
const element = document.getElementById(id);
if (element) {
element.disabled = disabled;
}
};
const selectedRadioValue = name => {
const selected = document.querySelector(`input[name="${name}"]:checked`);
return selected ? selected.value : "";
};
const isEntityChecked = value => {
const checkbox = document.querySelector(`input[name="EntityTypes"][value="${value}"]`);
return checkbox ? checkbox.checked : false;
};
const updateContinuityFilterControls = () => {
setDisabled("CharacterIDs", !isEntityChecked("Characters"));
setDisabled("AssetIDs", !isEntityChecked("Assets"));
setDisabled("LocationIDs", !isEntityChecked("Locations"));
const sceneRangeMode = selectedRadioValue("SceneRangeMode");
setDisabled("BookID", sceneRangeMode === "EntireProject");
setDisabled("ChapterID", sceneRangeMode !== "Chapter");
setDisabled("StartSceneID", sceneRangeMode !== "Custom");
setDisabled("EndSceneID", sceneRangeMode !== "Custom");
setDisabled("SelectedSceneID", selectedRadioValue("DisplayMode") !== "StoryState");
};
document.addEventListener("DOMContentLoaded", () => {
document.querySelectorAll('input[name="EntityTypes"], input[name="SceneRangeMode"], input[name="DisplayMode"]')
.forEach(input => input.addEventListener("change", updateContinuityFilterControls));
updateContinuityFilterControls();
});
})();
</script>