EmoteList live reconfig support

This commit is contained in:
Xaekai 2022-01-20 20:23:26 -08:00
parent 46fcec8d14
commit af6e7bed0c

View file

@ -2891,18 +2891,37 @@ function formatScriptAccessPrefs() {
});
}
function EmoteList(selector, emoteClickCallback) {
class EmoteList {
constructor(selector, emoteClickCallback){
this._cols = 5;
this._itemsPerPage = 25;
this.elem = $(selector);
this.initSearch();
this.initSortOption();
this.table = this.elem.find(".emotelist-table")[0];
this.paginatorContainer = this.elem.find(".emotelist-paginator-container");
this.cols = 5;
this.itemsPerPage = 25;
this.emotes = [];
this.page = 0;
this.emoteClickCallback = emoteClickCallback || function(){};
}
set itemsPerPage(val) {
this.page = 0;
this._itemsPerPage = val;
this.handleChange();
}
get itemsPerPage() {
return this._itemsPerPage;
}
set cols(val) {
this.page = 0;
this._cols = val;
this.handleChange();
}
get cols() {
return this._cols;
}
}
EmoteList.prototype.initSearch = function () {
this.searchbar = this.elem.find(".emotelist-search");
@ -3019,11 +3038,11 @@ function onEmoteClicked(emote) {
window.EMOTELIST = new EmoteList("#emotelist", onEmoteClicked);
window.EMOTELIST.sortAlphabetical = USEROPTS.emotelist_sort;
function CSEmoteList(selector) {
EmoteList.call(this, selector);
class CSEmoteList extends EmoteList {
constructor(selector) {
super(selector);
}
}
CSEmoteList.prototype = Object.create(EmoteList.prototype);
CSEmoteList.prototype.loadPage = function (page) {
var tbody = this.table.children[1];