added JSDoc comments

This commit is contained in:
CroogQT 2022-05-06 11:43:18 -07:00
parent 491a4e7d78
commit 9c5355a300

View File

@ -4,10 +4,20 @@ import { previousPkCheckState } from '../stores';
type PreviousPkCheckState = { element: Nullable<HTMLInputElement> }; type PreviousPkCheckState = { element: Nullable<HTMLInputElement> };
/**
* If there is a text selection, removes it.
*/
function removeTextSelection(): void { function removeTextSelection(): void {
window.getSelection()?.removeAllRanges(); window.getSelection()?.removeAllRanges();
} }
/**
* Sets the state object passed in to the eventTargetElement object passed in.
*
* @param eventTargetElement HTML Input Element, retrieved from getting the target of the
* event passed in from handlePkCheck()
* @param state PreviousPkCheckState object.
*/
function updatePreviousPkCheckState( function updatePreviousPkCheckState(
eventTargetElement: HTMLInputElement, eventTargetElement: HTMLInputElement,
state: StateManager<PreviousPkCheckState>, state: StateManager<PreviousPkCheckState>,
@ -15,6 +25,14 @@ function updatePreviousPkCheckState(
state.set('element', eventTargetElement); state.set('element', eventTargetElement);
} }
/**
* For all checkboxes between eventTargetElement and previousStateElement in elementList, toggle
* "checked" value to eventTargetElement.checked
*
* @param eventTargetElement HTML Input Element, retrieved from getting the target of the
* event passed in from handlePkCheck()
* @param state PreviousPkCheckState object.
*/
function toggleCheckboxRange( function toggleCheckboxRange(
eventTargetElement: HTMLInputElement, eventTargetElement: HTMLInputElement,
previousStateElement: HTMLInputElement, previousStateElement: HTMLInputElement,
@ -47,6 +65,14 @@ function toggleCheckboxRange(
} }
} }
/**
* IF the shift key is pressed and there is state is not null, toggleCheckboxRange between the
* event target element and the state element.
*
* @param event Mouse event.
* @param state PreviousPkCheckState object.
*/
function handlePkCheck(event: MouseEvent, state: StateManager<PreviousPkCheckState>): void { function handlePkCheck(event: MouseEvent, state: StateManager<PreviousPkCheckState>): void {
const eventTargetElement = event.target as HTMLInputElement; const eventTargetElement = event.target as HTMLInputElement;
const previousStateElement = state.get('element'); const previousStateElement = state.get('element');
@ -64,6 +90,9 @@ function handlePkCheck(event: MouseEvent, state: StateManager<PreviousPkCheckSta
toggleCheckboxRange(eventTargetElement, previousStateElement, checkboxList); toggleCheckboxRange(eventTargetElement, previousStateElement, checkboxList);
} }
/**
* Initialize table select all elements.
*/
export function initSelectMultiple(): void { export function initSelectMultiple(): void {
const checkboxElements = getElements<HTMLInputElement>('input[type="checkbox"][name="pk"]'); const checkboxElements = getElements<HTMLInputElement>('input[type="checkbox"][name="pk"]');
for (const element of checkboxElements) { for (const element of checkboxElements) {