* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
*/
+import { wheneverFirstSeen } from "WoltLabSuite/Core/Helper/Selector";
import * as Ajax from "../../Ajax";
import * as Core from "../../Core";
import DomChangeListener from "../../Dom/Change/Listener";
class UserConsent {
private enableAll = false;
- private readonly knownButtons = new WeakSet();
constructor() {
if (window.sessionStorage.getItem(`${Core.getStoragePrefix()}user-consent`) === "all") {
if (this.enableAll) {
this.enableAllExternalMedia();
} else {
- document.querySelectorAll(".jsButtonMessageUserConsentEnable").forEach((button: HTMLAnchorElement) => {
- if (!this.knownButtons.has(button)) {
- this.knownButtons.add(button);
-
- button.addEventListener("click", (ev) => this.click(ev));
- }
+ wheneverFirstSeen(".jsButtonMessageUserConsentEnable", (button) => {
+ button.addEventListener("click", (event) => this.click(event));
});
}
}