From 1d77572117988054f58797eecc62f8d4874de029 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 26 Jan 2021 14:32:50 -0500 Subject: [PATCH] feat(hooks): update action:ajaxify.end to use new hooks module --- public/src/admin/admin.js | 12 +++++++----- public/src/ajaxify.js | 8 ++++++-- public/src/app.js | 12 +++++++----- public/src/modules/navigator.js | 4 ++-- 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/public/src/admin/admin.js b/public/src/admin/admin.js index 1e32ac9d35..8027a67da4 100644 --- a/public/src/admin/admin.js +++ b/public/src/admin/admin.js @@ -30,9 +30,11 @@ }, 3600000); } - $(window).on('action:ajaxify.end', function () { - showCorrectNavTab(); - startLogoutTimer(); + require(['hooks'], (hooks) => { + hooks.on('action:ajaxify.end', () => { + showCorrectNavTab(); + startLogoutTimer(); + }); }); function showCorrectNavTab() { @@ -66,12 +68,12 @@ }); function setupNProgress() { - require(['nprogress'], function (NProgress) { + require(['nprogress', 'hooks'], function (NProgress, hooks) { $(window).on('action:ajaxify.start', function () { NProgress.set(0.7); }); - $(window).on('action:ajaxify.end', function () { + hooks.on('action:ajaxify.end', function () { NProgress.done(); }); }); diff --git a/public/src/ajaxify.js b/public/src/ajaxify.js index a7c91aaffb..aebb9bacce 100644 --- a/public/src/ajaxify.js +++ b/public/src/ajaxify.js @@ -52,7 +52,9 @@ ajaxify = window.ajaxify || {}; // If any listeners alter url and set it to an empty string, abort the ajaxification if (url === null) { - $(window).trigger('action:ajaxify.end', { url: url, tpl_url: ajaxify.data.template.name, title: ajaxify.data.title }); + require(['hooks'], function (hooks) { + hooks.fire('action:ajaxify.end', { url: url, tpl_url: ajaxify.data.template.name, title: ajaxify.data.title }); + }); return false; } @@ -281,7 +283,9 @@ ajaxify = window.ajaxify || {}; window.scrollTo(0, 0); } ajaxify.loadScript(tpl_url, function done() { - $(window).trigger('action:ajaxify.end', { url: url, tpl_url: tpl_url, title: ajaxify.data.title }); + require(['hooks'], function (hooks) { + hooks.fire('action:ajaxify.end', { url: url, tpl_url: tpl_url, title: ajaxify.data.title }); + }); }); ajaxify.widgets.render(tpl_url); diff --git a/public/src/app.js b/public/src/app.js index ee1178e1b5..ee1cd30626 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -55,12 +55,14 @@ app.cacheBuster = null; } }; document.body.addEventListener('click', earlyClick); - $(window).on('action:ajaxify.end', function () { - document.body.removeEventListener('click', earlyClick); - earlyQueue.forEach(function (el) { - el.click(); + require(['hooks'], function (hooks) { + hooks.on('action:ajaxify.end', function () { + document.body.removeEventListener('click', earlyClick); + earlyQueue.forEach(function (el) { + el.click(); + }); + earlyQueue = []; }); - earlyQueue = []; }); } else { setTimeout(app.handleEarlyClicks, 50); diff --git a/public/src/modules/navigator.js b/public/src/modules/navigator.js index 934c1c581f..12922616d6 100644 --- a/public/src/modules/navigator.js +++ b/public/src/modules/navigator.js @@ -1,6 +1,6 @@ 'use strict'; -define('navigator', ['forum/pagination', 'components'], function (pagination, components) { +define('navigator', ['forum/pagination', 'components', 'hooks'], function (pagination, components, hooks) { var navigator = {}; var index = 0; var count = 0; @@ -142,7 +142,7 @@ define('navigator', ['forum/pagination', 'components'], function (pagination, co } var mouseDragging = false; - $(window).on('action:ajaxify.end', function () { + hooks.on('action:ajaxify.end', function () { renderPostIndex = null; }); $('.pagination-block .dropdown-menu').parent().on('shown.bs.dropdown', function () {