mirror of
https://github.com/chylex/Discord-History-Tracker.git
synced 2025-06-14 14:22:32 +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 STATE = (function(){
|
||||||
var stateChangedEvents = [];
|
var stateChangedEvents = [];
|
||||||
|
|
||||||
var triggerStateChanged = function(){
|
var triggerStateChanged = function(changeType, changeDetail){
|
||||||
for(var callback of stateChangedEvents){
|
for(var callback of stateChangedEvents){
|
||||||
callback();
|
callback(changeType, changeDetail);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ var STATE = (function(){
|
|||||||
CLS.prototype.resetState = function(){
|
CLS.prototype.resetState = function(){
|
||||||
this._savefile = null;
|
this._savefile = null;
|
||||||
this._isTracking = false;
|
this._isTracking = false;
|
||||||
triggerStateChanged();
|
triggerStateChanged("data", "reset");
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -53,7 +53,7 @@ var STATE = (function(){
|
|||||||
*/
|
*/
|
||||||
CLS.prototype.toggleTracking = function(){
|
CLS.prototype.toggleTracking = function(){
|
||||||
this._isTracking = !this._isTracking;
|
this._isTracking = !this._isTracking;
|
||||||
triggerStateChanged();
|
triggerStateChanged("tracking", this._isTracking);
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -61,7 +61,7 @@ var STATE = (function(){
|
|||||||
*/
|
*/
|
||||||
CLS.prototype.uploadSavefile = function(readFile){
|
CLS.prototype.uploadSavefile = function(readFile){
|
||||||
this.getSavefile().combineWith(readFile);
|
this.getSavefile().combineWith(readFile);
|
||||||
triggerStateChanged();
|
triggerStateChanged("data", "upload");
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -80,7 +80,7 @@ var STATE = (function(){
|
|||||||
var serverIndex = this.getSavefile().findOrRegisterServer(serverName, serverType);
|
var serverIndex = this.getSavefile().findOrRegisterServer(serverName, serverType);
|
||||||
|
|
||||||
if (this.getSavefile().tryRegisterChannel(serverIndex, channelId, channelName) === true){
|
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){
|
CLS.prototype.addDiscordMessages = function(channelId, discordMessageArray){
|
||||||
if (this.getSavefile().addMessagesFromDiscord(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.
|
* 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){
|
CLS.prototype.onStateChanged = function(callback, trigger){
|
||||||
stateChangedEvents.push(callback);
|
stateChangedEvents.push(callback);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user