UNPKG

ontimize-web-ngx

Version:
53 lines 6.53 kB
import { Codes } from '../../../../../util/codes'; import { Util } from '../../../../../util/util'; export class OBaseTablePaginator { constructor() { this._pageIndex = 0; this._pageSize = 10; this._pageSizeOptions = Codes.PAGE_SIZE_OPTIONS; this.showFirstLastButtons = true; } get pageLenght() { return this._pageSize; } set pageLenght(value) { this._pageSize = value; } get pageIndex() { return this._pageIndex; } set pageIndex(value) { this._pageIndex = value; } get pageSizeOptions() { return this._pageSizeOptions; } set pageSizeOptions(value) { if (typeof value === 'string') { const opts = Util.parseArray(value, true); value = opts.map(o => parseInt(o, 10)).filter(o => !isNaN(o)); } this._pageSizeOptions = value; } get pageSize() { return this._pageSize; } set pageSize(value) { const parsedValue = parseInt(`${value}`, 10); if (isNaN(parsedValue) || parsedValue < 0) { this._pageSize = this._pageSizeOptions[0]; } else { this._pageSize = parsedValue; } const result = this.pageSizeOptions.find(option => option === this._pageSize); if (!result) { this._pageSizeOptions.push(this._pageSize); this._pageSizeOptions.sort((i, j) => i - j); } } isShowingAllRows(selectedLength) { return false; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1iYXNlLXRhYmxlLXBhZ2luYXRvci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2V4dGVuc2lvbnMvZm9vdGVyL3BhZ2luYXRvci9vLWJhc2UtdGFibGUtcGFnaW5hdG9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEQsTUFBTSxPQUFPLG1CQUFtQjtJQUFoQztRQUVZLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixxQkFBZ0IsR0FBYSxLQUFLLENBQUMsaUJBQWlCLENBQUM7UUFDL0QseUJBQW9CLEdBQVksSUFBSSxDQUFDO0lBc0R2QyxDQUFDO0lBcERDLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksZUFBZSxDQUFDLEtBQWU7UUFDakMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDMUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvRDtRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYTtRQUN4QixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNDO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztTQUM5QjtRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM3RDtJQUNILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxjQUFjO1FBR3BDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT1RhYmxlUGFnaW5hdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9vLXRhYmxlLXBhZ2luYXRvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL2NvZGVzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL3V0aWwnO1xuXG5leHBvcnQgY2xhc3MgT0Jhc2VUYWJsZVBhZ2luYXRvciBpbXBsZW1lbnRzIE9UYWJsZVBhZ2luYXRvciB7XG5cbiAgcHJvdGVjdGVkIF9wYWdlSW5kZXg6IG51bWJlciA9IDA7XG4gIHByb3RlY3RlZCBfcGFnZVNpemU6IG51bWJlciA9IDEwO1xuICBwcm90ZWN0ZWQgX3BhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBDb2Rlcy5QQUdFX1NJWkVfT1BUSU9OUztcbiAgc2hvd0ZpcnN0TGFzdEJ1dHRvbnM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGdldCBwYWdlTGVuZ2h0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplO1xuICB9XG5cbiAgc2V0IHBhZ2VMZW5naHQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3BhZ2VTaXplID0gdmFsdWU7XG4gIH1cblxuICBnZXQgcGFnZUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VJbmRleDtcbiAgfVxuXG4gIHNldCBwYWdlSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3BhZ2VJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHBhZ2VTaXplT3B0aW9ucygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplT3B0aW9ucztcbiAgfVxuXG4gIHNldCBwYWdlU2l6ZU9wdGlvbnModmFsdWU6IG51bWJlcltdKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IG9wdHMgPSBVdGlsLnBhcnNlQXJyYXkodmFsdWUsIHRydWUpO1xuICAgICAgdmFsdWUgPSBvcHRzLm1hcChvID0+IHBhcnNlSW50KG8sIDEwKSkuZmlsdGVyKG8gPT4gIWlzTmFOKG8pKTtcbiAgICB9XG4gICAgdGhpcy5fcGFnZVNpemVPcHRpb25zID0gdmFsdWU7XG4gIH1cblxuICBnZXQgcGFnZVNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZVNpemU7XG4gIH1cblxuICBzZXQgcGFnZVNpemUodmFsdWU6IG51bWJlcikge1xuICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gcGFyc2VJbnQoYCR7dmFsdWV9YCwgMTApO1xuICAgIGlmIChpc05hTihwYXJzZWRWYWx1ZSkgfHwgcGFyc2VkVmFsdWUgPCAwKSB7XG4gICAgICB0aGlzLl9wYWdlU2l6ZSA9IHRoaXMuX3BhZ2VTaXplT3B0aW9uc1swXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcGFnZVNpemUgPSBwYXJzZWRWYWx1ZTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5wYWdlU2l6ZU9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uID09PSB0aGlzLl9wYWdlU2l6ZSk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRoaXMuX3BhZ2VTaXplT3B0aW9ucy5wdXNoKHRoaXMuX3BhZ2VTaXplKTtcbiAgICAgIHRoaXMuX3BhZ2VTaXplT3B0aW9ucy5zb3J0KChpOiBudW1iZXIsIGo6IG51bWJlcikgPT4gaSAtIGopO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc1Nob3dpbmdBbGxSb3dzKHNlbGVjdGVkTGVuZ3RoKTogYm9vbGVhbiB7XG4gICAgLy8gcmV0dXJuIHRoaXMuX3BhZ2VTaXplT3B0aW9ucy5pbmRleE9mKHNlbGVjdGVkTGVuZ3RoKSA9PT0gKHRoaXMuX3BhZ2VTaXplT3B0aW9ucy5sZW5ndGggLSAxKTtcbiAgICAvLyB0ZW1wb3JhbCB3aGlsZSBub3QgaGF2aW5nIGFuIG9wdGlvbiBmb3Igc2hvd2luZyBhbGwgcmVjb3JkcyBpbiBwYWdpbmF0ZWQgdGFibGVzXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbn1cbiJdfQ==