fix: topic selection in merge

if merge was started from inside the topic
This commit is contained in:
Barış Soner Uşaklı
2024-04-22 10:58:42 -04:00
parent ce03680f04
commit f28923858e

View File

@@ -66,11 +66,7 @@ define('forum/topic/merge', ['search', 'alerts', 'api'], function (search, alert
callback = callback || function () {}; callback = callback || function () {};
api.get(`/topics/${tid}`, {}).then(function (topicData) { api.get(`/topics/${tid}`, {}).then(function (topicData) {
const title = topicData ? topicData.title : 'No title'; const title = topicData ? topicData.title : 'No title';
if (selectedTids[tid]) { selectedTids[tid] = title;
delete selectedTids[tid];
} else {
selectedTids[tid] = title;
}
checkButtonEnable(); checkButtonEnable();
showTopicsSelected(); showTopicsSelected();
callback(); callback();
@@ -89,8 +85,14 @@ define('forum/topic/merge', ['search', 'alerts', 'api'], function (search, alert
if (!modal) { if (!modal) {
return; return;
} }
const tid = $(this).parents('[component="category/topic"]').attr('data-tid'); const topicEl = $(this).parents('[component="category/topic"]');
Merge.addTopic(tid); const isSelected = topicEl.hasClass('selected');
const tid = topicEl.attr('data-tid');
if (isSelected) {
Merge.addTopic(tid);
} else {
Merge.removeTopic(tid);
}
ev.preventDefault(); ev.preventDefault();
ev.stopPropagation(); ev.stopPropagation();