core-cde
Version:
62 lines • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PageInfo = void 0;
const Events_module_1 = require("../../events/Events.module");
class PageInfo {
/**
* Конструктор. Не предназначен для использования внешним кодом.
* Следует использовать PageInfo.createNew()
*/
constructor() {
this._pageIndex = 0;
this._pageSize = -1;
this._onPropertyChanged = new Events_module_1.EventDispatcher();
}
static createNew(pageIndex, pageSize) {
const res = new PageInfo();
res._pageIndex = pageIndex;
res._pageSize = pageSize;
return res;
}
static fromJSON(json) {
if (typeof json === 'string') {
return PageInfo.fromJSON(JSON.parse(json));
}
else {
const pi = new PageInfo();
return Object.assign(pi, json, {});
}
}
toJSON() {
return Object.assign({}, null, {
pageIndex: this.pageIndex,
pageSize: this.pageSize
});
}
get onPropertyChanged() {
return this._onPropertyChanged;
}
get pageIndex() {
return this._pageIndex;
}
set pageIndex(value) {
if (this._pageIndex !== value) {
this._pageIndex = value;
this.raisePropertyChanged('pageIndex');
}
}
get pageSize() {
return this._pageSize;
}
set pageSize(value) {
if (this._pageSize !== value) {
this._pageSize = value;
this.raisePropertyChanged('pageSize');
}
}
raisePropertyChanged(propertyName) {
this.onPropertyChanged.dispatch(new Events_module_1.PropertyChangedArg(this, propertyName));
}
}
exports.PageInfo = PageInfo;
//# sourceMappingURL=PageInfo.js.map