diff --git a/public/src/client/category/tools.js b/public/src/client/category/tools.js index a69908ccc8..3d95a87e27 100644 --- a/public/src/client/category/tools.js +++ b/public/src/client/category/tools.js @@ -17,6 +17,10 @@ define('forum/category/tools', [ handlePinnedTopicSort(); + $('[component="category/topic"]').each((index, el) => { + threadTools.observeTopicLabels($(el).find('[component="topic/labels"]')); + }); + components.get('topic/delete').on('click', function () { categoryCommand('del', '/state', 'delete', onDeletePurgeComplete); return false; diff --git a/public/src/client/topic/threadTools.js b/public/src/client/topic/threadTools.js index 323bf16995..4a44418273 100644 --- a/public/src/client/topic/threadTools.js +++ b/public/src/client/topic/threadTools.js @@ -22,7 +22,7 @@ define('forum/topic/threadTools', [ animation: false, }); - observeTopicLabels(); + ThreadTools.observeTopicLabels($('[component="topic/labels"]')); // function topicCommand(method, path, command, onComplete) { topicContainer.on('click', '[component="topic/delete"]', function () { @@ -188,9 +188,8 @@ define('forum/topic/threadTools', [ } }; - function observeTopicLabels() { + ThreadTools.observeTopicLabels = function (labels) { // show or hide topic/labels container depending on children visibility - const labels = $('[component="topic/labels"]'); const mut = new MutationObserver(function (mutations) { const first = mutations[0]; if (first && first.attributeName === 'class') { @@ -202,7 +201,7 @@ define('forum/topic/threadTools', [ labels.children().each((index, el) => { mut.observe(el, { attributes: true }); }); - } + }; function renderMenu(container) { container = container.get(0); diff --git a/public/src/modules/topicSelect.js b/public/src/modules/topicSelect.js index 446989d5b8..20dfffd21f 100644 --- a/public/src/modules/topicSelect.js +++ b/public/src/modules/topicSelect.js @@ -61,6 +61,7 @@ define('topicSelect', ['components'], function (components) { if (topicsContainer) { topicsContainer.find('[component="category/topic"].selected').removeClass('selected'); topicsContainer.find('[component="topic/select"]').toggleClass('fa-check-square-o', false).toggleClass('fa-square-o', true); + updateSelectedBadgeCount(); } };