mirror of
https://github.com/chylex/Discord-History-Tracker.git
synced 2025-04-13 07:17:12 +03:00
Add more info to state.js state change event
This commit is contained in:
parent
83c8beac2d
commit
d9426f1f53
@ -1,9 +1,9 @@
|
||||
var STATE = (function(){
|
||||
var stateChangedEvents = [];
|
||||
|
||||
var triggerStateChanged = function(){
|
||||
var triggerStateChanged = function(changeType, changeDetail){
|
||||
for(var callback of stateChangedEvents){
|
||||
callback();
|
||||
callback(changeType, changeDetail);
|
||||
}
|
||||
};
|
||||
|
||||
@ -20,7 +20,7 @@ var STATE = (function(){
|
||||
CLS.prototype.resetState = function(){
|
||||
this._savefile = null;
|
||||
this._isTracking = false;
|
||||
triggerStateChanged();
|
||||
triggerStateChanged("data", "reset");
|
||||
};
|
||||
|
||||
/*
|
||||
@ -53,7 +53,7 @@ var STATE = (function(){
|
||||
*/
|
||||
CLS.prototype.toggleTracking = function(){
|
||||
this._isTracking = !this._isTracking;
|
||||
triggerStateChanged();
|
||||
triggerStateChanged("tracking", this._isTracking);
|
||||
};
|
||||
|
||||
/*
|
||||
@ -61,7 +61,7 @@ var STATE = (function(){
|
||||
*/
|
||||
CLS.prototype.uploadSavefile = function(readFile){
|
||||
this.getSavefile().combineWith(readFile);
|
||||
triggerStateChanged();
|
||||
triggerStateChanged("data", "upload");
|
||||
};
|
||||
|
||||
/*
|
||||
@ -80,7 +80,7 @@ var STATE = (function(){
|
||||
var serverIndex = this.getSavefile().findOrRegisterServer(serverName, serverType);
|
||||
|
||||
if (this.getSavefile().tryRegisterChannel(serverIndex, channelId, channelName) === true){
|
||||
triggerStateChanged();
|
||||
triggerStateChanged("data", "channel");
|
||||
}
|
||||
};
|
||||
|
||||
@ -89,12 +89,13 @@ var STATE = (function(){
|
||||
*/
|
||||
CLS.prototype.addDiscordMessages = function(channelId, discordMessageArray){
|
||||
if (this.getSavefile().addMessagesFromDiscord(channelId, discordMessageArray)){
|
||||
triggerStateChanged();
|
||||
triggerStateChanged("data", "messages");
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* Adds a listener that is called whenever the state changes. If trigger is true, the callback is ran after adding it to the listener list.
|
||||
* The callback is a function that takes subject (generic type) and detail (specific type or data).
|
||||
*/
|
||||
CLS.prototype.onStateChanged = function(callback, trigger){
|
||||
stateChangedEvents.push(callback);
|
||||
|
Loading…
x
Reference in New Issue
Block a user