UNPKG

systelab-components

Version:

systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.

50 lines 7.55 kB
import { Directive } from '@angular/core'; import { AbstractGrid } from './abstract-grid.component'; import * as i0 from "@angular/core"; import * as i1 from "systelab-preferences"; import * as i2 from "systelab-translate"; import * as i3 from "../modal/dialog/dialog.service"; export class AbstractApiGrid extends AbstractGrid { constructor(preferencesService, i18nService, dialogService) { super(preferencesService, i18nService, dialogService); this.preferencesService = preferencesService; this.i18nService = i18nService; this.dialogService = dialogService; } getInitialGridOptions() { const options = super.getInitialGridOptions(); options.rowModelType = 'infinite'; options.paginationPageSize = 50; options.cacheBlockSize = 50; options.cacheOverflowSize = 2; options.maxConcurrentDatasourceRequests = 4; options.maxBlocksInCache = 15; options.infiniteInitialRowCount = 0; options.datasource = this; return options; } getRows(params) { this.gridOptions.api.showLoadingOverlay(); this.getData(params.endRow / this.gridOptions.paginationPageSize, this.gridOptions.paginationPageSize) .subscribe({ next: (page) => this.putPage(page, this.getTotalItems(), params), error: () => this.putPage([], 0, params) }); } putPage(page, totalItems, params) { this.gridOptions.api.hideOverlay(); params.successCallback(page, totalItems); if (page.length === 0) { this.gridOptions.api.showNoRowsOverlay(); } } refresh() { this.gridOptions.api.setDatasource(this); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AbstractApiGrid, deps: [{ token: i1.PreferencesService }, { token: i2.I18nService }, { token: i3.DialogService }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: AbstractApiGrid, usesInheritance: true, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AbstractApiGrid, decorators: [{ type: Directive }], ctorParameters: () => [{ type: i1.PreferencesService }, { type: i2.I18nService }, { type: i3.DialogService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYXBpLWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3lzdGVsYWItY29tcG9uZW50cy9zcmMvbGliL2dyaWQvYWJzdHJhY3QtYXBpLWdyaWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQVF6RCxNQUFNLE9BQWdCLGVBQW1CLFNBQVEsWUFBZTtJQUUvRCxZQUErQixrQkFBc0MsRUFBcUIsV0FBd0IsRUFDNUYsYUFBNEI7UUFDakQsS0FBSyxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUZ4Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQXFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQzVGLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBRWxELENBQUM7SUFFa0IscUJBQXFCO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDaEMsT0FBTyxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDNUIsT0FBTyxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztRQUM5QixPQUFPLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDOUIsT0FBTyxDQUFDLHVCQUF1QixHQUFHLENBQUMsQ0FBQztRQUNwQyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUMxQixPQUFPLE9BQU8sQ0FBQztJQUNoQixDQUFDO0lBTU0sT0FBTyxDQUFDLE1BQXNCO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQzthQUNwRyxTQUFTLENBQUM7WUFDVixJQUFJLEVBQUcsQ0FBQyxJQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLENBQUM7WUFDM0UsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUM7U0FDeEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLE9BQU8sQ0FBQyxJQUFjLEVBQUUsVUFBa0IsRUFBRSxNQUFzQjtRQUMzRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDekM7SUFDRixDQUFDO0lBRU0sT0FBTztRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQTNDb0IsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQURwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0R3JpZCB9IGZyb20gJy4vYWJzdHJhY3QtZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR3JpZE9wdGlvbnMsIElEYXRhc291cmNlLCBJR2V0Um93c1BhcmFtcyB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJ3N5c3RlbGFiLXByZWZlcmVuY2VzJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnc3lzdGVsYWItdHJhbnNsYXRlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9tb2RhbC9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEFwaUdyaWQ8VD4gZXh0ZW5kcyBBYnN0cmFjdEdyaWQ8VD4gaW1wbGVtZW50cyBJRGF0YXNvdXJjZSwgT25Jbml0IHtcblxuXHRjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3ZlcnJpZGUgcHJlZmVyZW5jZXNTZXJ2aWNlOiBQcmVmZXJlbmNlc1NlcnZpY2UsIHByb3RlY3RlZCBvdmVycmlkZSBpMThuU2VydmljZTogSTE4blNlcnZpY2UsXG5cdFx0XHRcdHByb3RlY3RlZCBvdmVycmlkZSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7XG5cdFx0c3VwZXIocHJlZmVyZW5jZXNTZXJ2aWNlLCBpMThuU2VydmljZSwgZGlhbG9nU2VydmljZSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0SW5pdGlhbEdyaWRPcHRpb25zKCk6IEdyaWRPcHRpb25zIHtcblx0XHRjb25zdCBvcHRpb25zID0gc3VwZXIuZ2V0SW5pdGlhbEdyaWRPcHRpb25zKCk7XG5cdFx0b3B0aW9ucy5yb3dNb2RlbFR5cGUgPSAnaW5maW5pdGUnO1xuXHRcdG9wdGlvbnMucGFnaW5hdGlvblBhZ2VTaXplID0gNTA7XG5cdFx0b3B0aW9ucy5jYWNoZUJsb2NrU2l6ZSA9IDUwO1xuXHRcdG9wdGlvbnMuY2FjaGVPdmVyZmxvd1NpemUgPSAyO1xuXHRcdG9wdGlvbnMubWF4Q29uY3VycmVudERhdGFzb3VyY2VSZXF1ZXN0cyA9IDQ7XG5cdFx0b3B0aW9ucy5tYXhCbG9ja3NJbkNhY2hlID0gMTU7XG5cdFx0b3B0aW9ucy5pbmZpbml0ZUluaXRpYWxSb3dDb3VudCA9IDA7XG5cdFx0b3B0aW9ucy5kYXRhc291cmNlID0gdGhpcztcblx0XHRyZXR1cm4gb3B0aW9ucztcblx0fVxuXG5cdHB1YmxpYyBhYnN0cmFjdCBnZXRUb3RhbEl0ZW1zKCk6IG51bWJlcjtcblxuXHRwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0RGF0YShwYWdlOiBudW1iZXIsIGl0ZW1zUGVyUGFnZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxBcnJheTxUPj47XG5cblx0cHVibGljIGdldFJvd3MocGFyYW1zOiBJR2V0Um93c1BhcmFtcyk6IHZvaWQge1xuXHRcdHRoaXMuZ3JpZE9wdGlvbnMuYXBpLnNob3dMb2FkaW5nT3ZlcmxheSgpO1xuXHRcdHRoaXMuZ2V0RGF0YShwYXJhbXMuZW5kUm93IC8gdGhpcy5ncmlkT3B0aW9ucy5wYWdpbmF0aW9uUGFnZVNpemUsIHRoaXMuZ3JpZE9wdGlvbnMucGFnaW5hdGlvblBhZ2VTaXplKVxuXHRcdFx0LnN1YnNjcmliZSh7XG5cdFx0XHRcdG5leHQ6ICAocGFnZTogQXJyYXk8VD4pID0+IHRoaXMucHV0UGFnZShwYWdlLCB0aGlzLmdldFRvdGFsSXRlbXMoKSwgcGFyYW1zKSxcblx0XHRcdFx0ZXJyb3I6ICgpID0+IHRoaXMucHV0UGFnZShbXSwgMCwgcGFyYW1zKVxuXHRcdFx0fSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgcHV0UGFnZShwYWdlOiBBcnJheTxUPiwgdG90YWxJdGVtczogbnVtYmVyLCBwYXJhbXM6IElHZXRSb3dzUGFyYW1zKTogdm9pZCB7XG5cdFx0dGhpcy5ncmlkT3B0aW9ucy5hcGkuaGlkZU92ZXJsYXkoKTtcblx0XHRwYXJhbXMuc3VjY2Vzc0NhbGxiYWNrKHBhZ2UsIHRvdGFsSXRlbXMpO1xuXHRcdGlmIChwYWdlLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0dGhpcy5ncmlkT3B0aW9ucy5hcGkuc2hvd05vUm93c092ZXJsYXkoKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcblx0XHR0aGlzLmdyaWRPcHRpb25zLmFwaS5zZXREYXRhc291cmNlKHRoaXMpO1xuXHR9XG59XG4iXX0=