From 60c38ab83c429d9e4853dbd4ea9fa06eb8f9efa6 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sat, 30 Jan 2021 19:47:16 -0500 Subject: Modal refactor (#1335) * Rename modal-container to modal * Update how modal IDs are handled * Fix invalid modal check * Update modal IDs --- ext/bg/js/settings/modal-controller.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'ext/bg/js/settings/modal-controller.js') diff --git a/ext/bg/js/settings/modal-controller.js b/ext/bg/js/settings/modal-controller.js index 832ea437..fe4f911b 100644 --- a/ext/bg/js/settings/modal-controller.js +++ b/ext/bg/js/settings/modal-controller.js @@ -26,17 +26,25 @@ class ModalController { } prepare() { - for (const node of document.querySelectorAll('.modal,.modal-container')) { - const {id} = node; + const idSuffix = '-modal'; + for (const node of document.querySelectorAll('.modal')) { + let {id} = node; + if (typeof id !== 'string') { continue; } + + if (id.endsWith(idSuffix)) { + id = id.substring(0, id.length - idSuffix.length); + } + const modal = new Modal(node); modal.prepare(); this._modalMap.set(id, modal); + this._modalMap.set(node, modal); this._modals.push(modal); } } - getModal(name) { - const modal = this._modalMap.get(name); + getModal(nameOrNode) { + const modal = this._modalMap.get(nameOrNode); return (typeof modal !== 'undefined' ? modal : null); } -- cgit v1.2.3