mCaptcha/templates/panel/sitekey/add/ts/removeLevelButton/updateDom/updateLabel.ts

49 lines
1.8 KiB
TypeScript
Raw Normal View History

2021-05-03 23:16:00 +05:30
/*
* Copyright (C) 2021 Aravinth Manivannan <realaravinth@batsense.net>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
2021-05-07 17:55:42 +05:30
import CONST from '../../const';
import log from '../../../../../../logger';
2021-05-03 23:16:00 +05:30
2021-05-07 21:14:15 +05:30
/** update level lables to match new level */
2021-05-07 18:37:44 +05:30
const updateLabels = (levelGroup: Element, newLevel: number) => {
2021-05-07 17:55:42 +05:30
// rename labels
const labels = <NodeListOf<HTMLLabelElement>>(
2021-05-07 18:37:44 +05:30
levelGroup.querySelectorAll(`label`)
2021-05-07 17:55:42 +05:30
);
log.log(labels);
labels.forEach(label => {
log.log(`${label.htmlFor}`);
2021-05-07 18:37:44 +05:30
const currentFor = label.htmlFor;
if (currentFor.includes(CONST.VISITOR_WITHOUT_LEVEL)) {
2021-05-07 17:55:42 +05:30
label.htmlFor = `${CONST.VISITOR_WITHOUT_LEVEL}${newLevel}`;
2021-05-07 18:37:44 +05:30
} else if (currentFor.includes(CONST.DIFFICULTY_WITHOUT_LEVEL)) {
2021-05-07 17:55:42 +05:30
label.htmlFor = `${CONST.DIFFICULTY_WITHOUT_LEVEL}${newLevel}`;
2021-05-07 18:37:44 +05:30
} else if (
currentFor.includes(CONST.REMOVE_LEVEL_BUTTON_ID_WITHOUT_LEVEL)
) {
label.htmlFor = `${CONST.REMOVE_LEVEL_BUTTON_ID_WITHOUT_LEVEL}${newLevel}`;
} else {
if (currentFor != 'add') {
throw new Error(
`Did you add an extra label to DOM? Found label with for: ${currentFor}`,
);
}
2021-05-07 17:55:42 +05:30
}
});
};
2021-05-07 18:37:44 +05:30
export default updateLabels;