@fakel/rest-admin
Version:
An application that makes it easier to work with your API
39 lines (38 loc) • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FiltersStore = void 0;
var mobx_1 = require("mobx");
var FiltersStore = /** @class */ (function () {
function FiltersStore() {
var _this = this;
this.filters = [];
this.displayFilters = [];
this.pushDisplayFilter = function (filter) {
_this.displayFilters.push(filter);
};
mobx_1.makeObservable(this, {
filters: mobx_1.observable,
displayFilters: mobx_1.observable,
});
}
FiltersStore.prototype.pushFilter = function (filter) {
if (!this.isFilterRegistred(filter.source)) {
this.filters.push(filter);
}
};
FiltersStore.prototype.getFilter = function (source) {
return this.filters.find(function (filter) { return filter.source === source; });
};
FiltersStore.prototype.isFilterRegistred = function (source) {
return !!this.getFilter(source);
};
FiltersStore.prototype.setFilterValue = function (source, value) {
if (!this.isFilterRegistred(source)) {
throw new Error('Filter not registred!');
}
var filter = this.getFilter(source);
filter.value = value;
};
return FiltersStore;
}());
exports.FiltersStore = FiltersStore;