mirror of
https://github.com/chylex/Discord-History-Tracker.git
synced 2025-04-15 16:10:32 +03:00
Fix deselecting channel when changing filter & not deselecting on upload
This commit is contained in:
parent
226b3702de
commit
fe065a50d8
@ -53,8 +53,8 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
GUI.updateUserList(users);
|
||||
});
|
||||
|
||||
STATE.onChannelsRefreshed(channels => {
|
||||
GUI.updateChannelList(channels, STATE.selectChannel);
|
||||
STATE.onChannelsRefreshed((channels, selected) => {
|
||||
GUI.updateChannelList(channels, selected, STATE.selectChannel);
|
||||
});
|
||||
|
||||
STATE.onMessagesRefreshed(messages => {
|
||||
|
@ -193,7 +193,7 @@ var GUI = (function(){
|
||||
/*
|
||||
* Updates the channel list and sets up their click events. The callback is triggered whenever a channel is selected, and takes the channel ID as its argument.
|
||||
*/
|
||||
updateChannelList: function(channels, callback){
|
||||
updateChannelList: function(channels, selected, callback){
|
||||
var eleChannels = DOM.id("channels");
|
||||
|
||||
if (!channels){
|
||||
@ -218,6 +218,11 @@ var GUI = (function(){
|
||||
callback(ele.getAttribute("data-channel"));
|
||||
});
|
||||
});
|
||||
|
||||
if (selected){
|
||||
var activeChannel = eleChannels.querySelector("[data-channel='"+selected+"']");
|
||||
activeChannel && activeChannel.classList.add("active");
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -21,8 +21,8 @@ var STATE = (function(){
|
||||
var eventOnMessagesRefreshed;
|
||||
var eventOnUsersRefreshed;
|
||||
|
||||
var triggerChannelsRefreshed = function(){
|
||||
eventOnChannelsRefreshed && eventOnChannelsRefreshed(ROOT.getChannelList());
|
||||
var triggerChannelsRefreshed = function(selectedChannel){
|
||||
eventOnChannelsRefreshed && eventOnChannelsRefreshed(ROOT.getChannelList(), selectedChannel);
|
||||
};
|
||||
|
||||
var triggerMessagesRefreshed = function(){
|
||||
@ -52,6 +52,8 @@ var STATE = (function(){
|
||||
ROOT.uploadFile = function(file){
|
||||
FILE = file;
|
||||
MSGS = null;
|
||||
|
||||
selectedChannel = null;
|
||||
currentPage = 1;
|
||||
|
||||
triggerUsersRefreshed();
|
||||
@ -83,6 +85,10 @@ var STATE = (function(){
|
||||
};
|
||||
|
||||
ROOT.getChannelList = function(){
|
||||
if (!FILE){
|
||||
return [];
|
||||
}
|
||||
|
||||
var channels = FILE.getChannels();
|
||||
|
||||
return Object.keys(channels).map(key => ({
|
||||
@ -146,8 +152,11 @@ var STATE = (function(){
|
||||
break;
|
||||
}
|
||||
|
||||
triggerChannelsRefreshed();
|
||||
ROOT.selectChannel(selectedChannel); // resets current page and updates messages
|
||||
triggerChannelsRefreshed(selectedChannel);
|
||||
|
||||
if (selectedChannel){
|
||||
ROOT.selectChannel(selectedChannel); // resets current page and updates messages
|
||||
}
|
||||
};
|
||||
|
||||
// -----
|
||||
|
Loading…
x
Reference in New Issue
Block a user