Phase 12B.1: Continuity Explorer Filter Usability Improvements.
This commit is contained in:
parent
e7aabe8b41
commit
1420c43310
@ -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>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user