From e0b1daa96d071cc52ece98dae9e001bbc8b68a6f Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Wed, 7 Oct 2020 02:47:20 -0700 Subject: [PATCH] eslint: Fix unicorn/prefer-add-event-listener. Signed-off-by: Anders Kaseorg --- frontend_tests/node_tests/billing_helpers.js | 7 ++++++- static/js/billing/helpers.js | 13 +++++++++---- static/js/emojisets.js | 4 ++-- static/js/lightbox_canvas.js | 6 +++--- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/frontend_tests/node_tests/billing_helpers.js b/frontend_tests/node_tests/billing_helpers.js index cb439fbf0a..54ee1b43eb 100644 --- a/frontend_tests/node_tests/billing_helpers.js +++ b/frontend_tests/node_tests/billing_helpers.js @@ -264,6 +264,12 @@ run_test("set_tab", () => { assert.equal(val, 0); }; + let hash_change_handler; + window.addEventListener = (event, handler) => { + assert.equal(event, "hashchange"); + hash_change_handler = handler; + }; + helpers.set_tab("upgrade"); assert.equal(state.show_tab_billing, 1); assert.equal(state.scrollTop, 1); @@ -272,7 +278,6 @@ run_test("set_tab", () => { click_handler.call({hash: "#payment-method"}); assert.equal(location.hash, "#payment-method"); - const hash_change_handler = window.onhashchange; hash_change_handler(); assert.equal(state.show_tab_payment_method, 1); assert.equal(state.scrollTop, 2); diff --git a/static/js/billing/helpers.js b/static/js/billing/helpers.js index 0368b0320d..2435844620 100644 --- a/static/js/billing/helpers.js +++ b/static/js/billing/helpers.js @@ -109,6 +109,13 @@ exports.show_license_section = function (license) { $(input_id).prop("disabled", false); }; +let current_page; + +function handle_hashchange() { + $("#" + current_page + '-tabs.nav a[href="' + location.hash + '"]').tab("show"); + $("html").scrollTop(0); +} + exports.set_tab = function (page) { const hash = location.hash; if (hash) { @@ -120,10 +127,8 @@ exports.set_tab = function (page) { location.hash = this.hash; }); - window.onhashchange = function () { - $("#" + page + '-tabs.nav a[href="' + location.hash + '"]').tab("show"); - $("html").scrollTop(0); - }; + current_page = page; + window.addEventListener("hashchange", handle_hashchange); }; exports.is_valid_input = function (elem) { diff --git a/static/js/emojisets.js b/static/js/emojisets.js index 94459aa939..a0d7803ea2 100644 --- a/static/js/emojisets.js +++ b/static/js/emojisets.js @@ -27,8 +27,8 @@ export async function select(name) { } await new Promise((resolve, reject) => { const sheet = new Image(); - sheet.onload = resolve; - sheet.onerror = reject; + sheet.addEventListener("load", resolve); + sheet.addEventListener("error", reject); sheet.src = new_emojiset.sheet; }); if (current_emojiset) { diff --git a/static/js/lightbox_canvas.js b/static/js/lightbox_canvas.js index 8aaa4ae740..476b1b635c 100644 --- a/static/js/lightbox_canvas.js +++ b/static/js/lightbox_canvas.js @@ -179,8 +179,8 @@ const funcs = { return; } - if (typeof meta.onresize === "function") { - meta.onresize(canvas); + if (typeof meta.resize_handler === "function") { + meta.resize_handler(canvas); } const parent = { @@ -267,7 +267,7 @@ class LightboxCanvas { } resize(callback) { - this.meta.onresize = callback; + this.meta.resize_handler = callback; } }