From 0428912c6d5c626b078469d856bdd7d9cfbef660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 9 Nov 2021 13:34:59 -0500 Subject: [PATCH] refactor: deprecate app.alert functions user alerts module directly --- public/src/app.js | 44 ++++++++++++------------------------ public/src/modules/alerts.js | 36 +++++++++++++++++++++++++---- 2 files changed, 47 insertions(+), 33 deletions(-) diff --git a/public/src/app.js b/public/src/app.js index f486c8f804..f1118e3505 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -14,11 +14,6 @@ app.flags = {}; app.cacheBuster = config['cache-buster']; - let hooks; - require(['hooks'], function (_hooks) { - hooks = _hooks; - }); - $(document).ready(function () { ajaxify.parseData(); app.load(); @@ -92,8 +87,9 @@ app.flags = {}; 'search', 'forum/unread', 'forum/header', + 'hooks', 'timeago/jquery.timeago', - ], function (taskbar, helpers, pagination, translator, messages, search, unread, header) { + ], function (taskbar, helpers, pagination, translator, messages, search, unread, header, hooks) { header.prepareDOM(); translator.prepareDOM(); taskbar.init(); @@ -140,42 +136,30 @@ app.flags = {}; }; app.alert = function (params) { + console.warn('[deprecated] app.alert is deprecated, please use alerts.alert'); require(['alerts'], function (alerts) { alerts.alert(params); }); }; app.removeAlert = function (id) { + console.warn('[deprecated] app.removeAlert is deprecated, please use alerts.remove'); require(['alerts'], function (alerts) { alerts.remove(id); }); }; app.alertSuccess = function (message, timeout) { - app.alert({ - alert_id: utils.generateUUID(), - title: '[[global:alert.success]]', - message: message, - type: 'success', - timeout: timeout || 5000, + console.warn('[deprecated] app.alertSuccess is deprecated, please use alerts.success'); + require(['alerts'], function (alerts) { + alerts.success(message, timeout); }); }; app.alertError = function (message, timeout) { - message = (message && message.message) || message; - - if (message === '[[error:revalidate-failure]]') { - socket.disconnect(); - app.reconnect(); - return; - } - - app.alert({ - alert_id: utils.generateUUID(), - title: '[[global:alert.error]]', - message: message, - type: 'danger', - timeout: timeout || 10000, + console.warn('[deprecated] app.alertError is deprecated, please use alerts.error'); + require(['alerts'], function (alerts) { + alerts.error(message, timeout); }); }; @@ -322,9 +306,11 @@ app.flags = {}; }; app.newTopic = function (cid, tags) { - hooks.fire('action:composer.topic.new', { - cid: cid || ajaxify.data.cid || 0, - tags: tags || (ajaxify.data.tag ? [ajaxify.data.tag] : []), + require(['hooks'], function (hooks) { + hooks.fire('action:composer.topic.new', { + cid: cid || ajaxify.data.cid || 0, + tags: tags || (ajaxify.data.tag ? [ajaxify.data.tag] : []), + }); }); }; diff --git a/public/src/modules/alerts.js b/public/src/modules/alerts.js index 5bbd40bf3c..da0fc006e7 100644 --- a/public/src/modules/alerts.js +++ b/public/src/modules/alerts.js @@ -18,6 +18,38 @@ define('alerts', ['translator', 'components', 'hooks'], function (translator, co } }; + module.success = function (message, timeout) { + module.alert({ + alert_id: utils.generateUUID(), + title: '[[global:alert.success]]', + message: message, + type: 'success', + timeout: timeout || 5000, + }); + }; + + module.error = function (message, timeout) { + message = (message && message.message) || message; + + if (message === '[[error:revalidate-failure]]') { + socket.disconnect(); + app.reconnect(); + return; + } + + module.alert({ + alert_id: utils.generateUUID(), + title: '[[global:alert.error]]', + message: message, + type: 'danger', + timeout: timeout || 10000, + }); + }; + + module.remove = function (id) { + $('#alert_button_' + id).remove(); + }; + function createNew(params) { app.parseAndTranslate('alert', params, function (html) { let alert = $('#' + params.alert_id); @@ -56,10 +88,6 @@ define('alerts', ['translator', 'components', 'hooks'], function (translator, co }); } - module.remove = function (id) { - $('#alert_button_' + id).remove(); - }; - function updateAlert(alert, params) { alert.find('strong').html(params.title); alert.find('p').html(params.message);