From 7148be2fd1ab002ae9b173b14f10821bcf2db747 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 15 Sep 2020 16:05:45 -0400 Subject: [PATCH] feat: allow passing in container to threadTools --- public/src/client/topic.js | 2 +- public/src/client/topic/threadTools.js | 10 ++++------ public/src/modules/sort.js | 22 ++++++++++++---------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/public/src/client/topic.js b/public/src/client/topic.js index 073cb393b128..9b0e0d062100 100644 --- a/public/src/client/topic.js +++ b/public/src/client/topic.js @@ -46,7 +46,7 @@ define('forum/topic', [ posts.onTopicPageLoad(components.get('post')); postTools.init(tid); - threadTools.init(tid); + threadTools.init(tid, $('.topic')); events.init(); sort.handleSort('topicPostSort', 'user.setTopicSort', 'topic/' + ajaxify.data.slug); diff --git a/public/src/client/topic/threadTools.js b/public/src/client/topic/threadTools.js index e2ad31dc89c5..b3d72e83b36d 100644 --- a/public/src/client/topic/threadTools.js +++ b/public/src/client/topic/threadTools.js @@ -7,10 +7,8 @@ define('forum/topic/threadTools', [ ], function (components, translator) { var ThreadTools = {}; - ThreadTools.init = function (tid) { - renderMenu(); - - var topicContainer = $('.topic'); + ThreadTools.init = function (tid, topicContainer) { + renderMenu(topicContainer); topicContainer.on('click', '[component="topic/delete"]', function () { topicCommand('delete', tid); @@ -139,8 +137,8 @@ define('forum/topic/threadTools', [ } }; - function renderMenu() { - $('.topic').on('show.bs.dropdown', '.thread-tools', function () { + function renderMenu(container) { + container.on('show.bs.dropdown', '.thread-tools', function () { var $this = $(this); var dropdownMenu = $this.find('.dropdown-menu'); if (dropdownMenu.html()) { diff --git a/public/src/modules/sort.js b/public/src/modules/sort.js index 8497e52806f2..14b8dd2429f8 100644 --- a/public/src/modules/sort.js +++ b/public/src/modules/sort.js @@ -10,17 +10,19 @@ define('sort', ['components'], function (components) { var currentSetting = threadSort.find('a[data-sort="' + config[field] + '"]'); currentSetting.find('i').addClass('fa-check'); - $('.category, .topic').on('click', '[component="thread/sort"] a', function () { - var newSetting = $(this).attr('data-sort'); - socket.emit(method, newSetting, function (err) { - if (err) { - return app.alertError(err.message); - } - config[field] = newSetting; - var qs = decodeURIComponent($.param(utils.params())); - ajaxify.go(gotoOnSave + (qs ? '?' + qs : '')); + $('body') + .off('click', '[component="thread/sort"] a') + .on('click', '[component="thread/sort"] a', function () { + var newSetting = $(this).attr('data-sort'); + socket.emit(method, newSetting, function (err) { + if (err) { + return app.alertError(err.message); + } + config[field] = newSetting; + var qs = decodeURIComponent($.param(utils.params())); + ajaxify.go(gotoOnSave + (qs ? '?' + qs : '')); + }); }); - }); }; return module;