ngx-mat-multi-sort-fork
Version:
An extension for the angular material table to support multi-sorting.
42 lines • 4.85 kB
JavaScript
export class Settings {
constructor(key) {
this._key = key;
this._columns = [];
this._sortParams = [];
this._sortDirs = [];
}
load() {
const value = JSON.parse(localStorage.getItem(this._key));
if (value) {
this._columns = value._columns || [];
this._sortDirs = value._sortDirs || [];
this._sortParams = value._sortParams || [];
}
}
save() {
const settingsString = JSON.stringify(this);
localStorage.setItem(this._key, settingsString);
}
get columns() {
return this._columns;
}
get sortParams() {
return this._sortParams;
}
get sortDirs() {
return this._sortDirs;
}
get key() {
return this._key;
}
set columns(columns) {
this._columns = columns;
}
set sortParams(sortParams) {
this._sortParams = sortParams;
}
set sortDirs(sortDirs) {
this._sortDirs = sortDirs;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXQtbXVsdGktc29ydC9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxRQUFRO0lBTWpCLFlBQVksR0FBVztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sSUFBSTtRQUNQLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBQztRQUMzRCxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1NBQzlDO0lBQ0wsQ0FBQztJQUVNLElBQUk7UUFDUCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsR0FBRztRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxPQUFPLENBQUMsT0FBZ0U7UUFDL0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsVUFBVSxDQUFDLFVBQW9CO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLFFBQVEsQ0FBQyxRQUFrQjtRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU2V0dGluZ3Mge1xyXG4gICAgcHJpdmF0ZSBfY29sdW1uczogQXJyYXk8eyBpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIGlzQWN0aXZlPzogYm9vbGVhbiB9PjtcclxuICAgIHByaXZhdGUgX3NvcnRQYXJhbXM6IHN0cmluZ1tdO1xyXG4gICAgcHJpdmF0ZSBfc29ydERpcnM6IHN0cmluZ1tdO1xyXG4gICAgcHJpdmF0ZSBfa2V5OiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3Ioa2V5OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9rZXkgPSBrZXk7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyA9IFtdO1xyXG4gICAgICAgIHRoaXMuX3NvcnRQYXJhbXMgPSBbXTtcclxuICAgICAgICB0aGlzLl9zb3J0RGlycyA9IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBsb2FkKCkge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLl9rZXkpISk7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbHVtbnMgPSB2YWx1ZS5fY29sdW1ucyB8fCBbXTtcclxuICAgICAgICAgICAgdGhpcy5fc29ydERpcnMgPSB2YWx1ZS5fc29ydERpcnMgfHwgW107XHJcbiAgICAgICAgICAgIHRoaXMuX3NvcnRQYXJhbXMgPSB2YWx1ZS5fc29ydFBhcmFtcyB8fCBbXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNhdmUoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc2V0dGluZ3NTdHJpbmcgPSBKU09OLnN0cmluZ2lmeSh0aGlzKTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLl9rZXksIHNldHRpbmdzU3RyaW5nKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGNvbHVtbnMoKTogQXJyYXk8eyBpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIGlzQWN0aXZlPzogYm9vbGVhbiB9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbnM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBzb3J0UGFyYW1zKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc29ydFBhcmFtcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHNvcnREaXJzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc29ydERpcnM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBrZXkoKTogU3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fa2V5O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXQgY29sdW1ucyhjb2x1bW5zOiBBcnJheTx7IGlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgaXNBY3RpdmU/OiBib29sZWFuIH0+KSB7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyA9IGNvbHVtbnM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBzb3J0UGFyYW1zKHNvcnRQYXJhbXM6IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgdGhpcy5fc29ydFBhcmFtcyA9IHNvcnRQYXJhbXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBzb3J0RGlycyhzb3J0RGlyczogc3RyaW5nW10pIHtcclxuICAgICAgICB0aGlzLl9zb3J0RGlycyA9IHNvcnREaXJzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==