Fixes #18619: shift-select selects hidden items

This also fixes the inverse, when a range is unselected via shift-click,
previously checked checkboxes that are hidden are not changed.
This commit is contained in:
Jason Novinger 2025-02-18 10:03:49 -06:00 committed by Jeremy Stretch
parent b5bc0bad38
commit ed79e3bbf4
3 changed files with 6 additions and 2 deletions

Binary file not shown.

Binary file not shown.

View File

@ -43,7 +43,9 @@ function toggleCheckboxRange(
const typedElement = element as HTMLInputElement;
//Change loop's current checkbox state to eventTargetElement checkbox state
if (changePkCheckboxState === true) {
typedElement.checked = eventTargetElement.checked;
if (!typedElement.closest('tr')?.classList.contains('d-none')) {
typedElement.checked = eventTargetElement.checked;
}
}
//The previously clicked checkbox was above the shift clicked checkbox
if (element === previousStateElement) {
@ -52,7 +54,9 @@ function toggleCheckboxRange(
return;
}
changePkCheckboxState = true;
typedElement.checked = eventTargetElement.checked;
if (!typedElement.closest('tr')?.classList.contains('d-none')) {
typedElement.checked = eventTargetElement.checked;
}
}
//The previously clicked checkbox was below the shift clicked checkbox
if (element === eventTargetElement) {