mirror of
https://github.com/chylex/Discord-History-Tracker.git
synced 2025-04-13 15:27:16 +03:00
Add and implement an autoscroll setting
This commit is contained in:
parent
21f02b826a
commit
4bde931eca
@ -14,6 +14,10 @@ var GUI = (function(){
|
||||
controller.ui.btnToggleTracking.innerHTML = STATE.isTracking() ? "Pause Tracking" : "Start Tracking";
|
||||
}
|
||||
}
|
||||
|
||||
if (settings && type === "gui" && detail === "settings"){
|
||||
settings.ui.cbAutoscroll.checked = STATE.settings.autoscroll;
|
||||
}
|
||||
};
|
||||
|
||||
var registeredEvent = false;
|
||||
@ -155,9 +159,23 @@ var GUI = (function(){
|
||||
settings.ele = DOM.createElement("div", document.body);
|
||||
settings.ele.id = "dht-cfg";
|
||||
|
||||
settings.ele.innerHTML = [
|
||||
"<label><input id='dht-cfg-autoscroll' type='checkbox'> Autoscroll</label>"
|
||||
].join("");
|
||||
|
||||
// elements
|
||||
|
||||
settings.ui = {
|
||||
cbAutoscroll: DOM.id("dht-cfg-autoscroll")
|
||||
};
|
||||
|
||||
// events
|
||||
|
||||
stateChangedEvent("gui", "settings");
|
||||
settings.ui.cbAutoscroll.addEventListener("change", () => {
|
||||
STATE.settings.autoscroll = settings.ui.cbAutoscroll.checked;
|
||||
});
|
||||
|
||||
setupStateChanged("settings");
|
||||
},
|
||||
|
||||
hideSettings: function(){
|
||||
|
@ -23,6 +23,7 @@ var STATE = (function(){
|
||||
* Internal settings class constructor.
|
||||
*/
|
||||
var SETTINGS = function(){
|
||||
defineTriggeringProperty(this, "setting", "autoscroll");
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -5,9 +5,19 @@ DISCORD.setupMessageRequestHook((channel, messages) => {
|
||||
if (info.id == channel){ // Discord has a bug where the message request may be sent without switching channels
|
||||
STATE.addDiscordChannel(info.server, info.type, channel, info.channel);
|
||||
STATE.addDiscordMessages(channel, messages);
|
||||
|
||||
if (STATE.settings.autoscroll){
|
||||
DOM.setTimer(() => DISCORD.loadOlderMessages(), 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
STATE.onStateChanged((type, detail) => {
|
||||
if (type === "tracking" && detail && STATE.settings.autoscroll){
|
||||
DISCORD.loadOlderMessages();
|
||||
}
|
||||
});
|
||||
|
||||
GUI.showController();
|
||||
GUI.showSettings();
|
||||
|
Loading…
x
Reference in New Issue
Block a user