diff --git a/src/utils/utilities.ts b/src/utils/utilities.ts index 04e7b783..1e68f9c6 100644 --- a/src/utils/utilities.ts +++ b/src/utils/utilities.ts @@ -654,6 +654,17 @@ export function getPathValue>(obj: T, path: P): PathValue; } +export type ModifyElementAction = "add" | "remove"; +export type ElementClassPair = { className: string; selector: string }; +export function modifyElementClassList(action: ModifyElementAction, elementPair: ElementClassPair) { + const { className, selector } = elementPair; + const element = document.querySelector(selector); + if (!element) return; + element.classList[action](className); +} +export function modifyElementsClassList(action: ModifyElementAction, elements: ElementClassPair[]) { + elements.forEach((element) => modifyElementClassList(action, element)); +} export function findKeyByValue(value: Exclude) { for (const [key, values] of featureToMultiButtonsMap.entries()) { if (values.includes(value)) {