UNPKG

@formio-tmt/angular

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.1.4.

90 lines 9.63 kB
import { Input, Output, EventEmitter, ViewChild, TemplateRef, Component } from '@angular/core'; import { each, clone } from 'lodash'; import * as i0 from "@angular/core"; import * as i1 from "./grid.service"; class GridBodyComponent { service; header; actionAllowed; rowSelect; rowAction; template; rows; loading; firstItem = 0; lastItem = 0; skip = 0; limit = 0; total = 0; constructor(service) { this.service = service; this.rowSelect = new EventEmitter(); this.rowAction = new EventEmitter(); this.loading = true; } load(formio, query) { return formio.loadForm(query); } onRowSelect(event, row) { event.preventDefault(); this.rowSelect.emit(row); } onRowAction(event, row, action) { event.preventDefault(); this.rowAction.emit({ row, action }); } /** * Set the rows for this Grid body. * * @param query * @param items * @return any */ setRows(query, items) { this.rows = []; if (typeof items !== 'object') { this.firstItem = 0; this.lastItem = 0; this.total = 0; this.skip = 0; this.loading = false; this.service.setRows(this.rows); return this.rows; } this.firstItem = query.skip + 1; this.lastItem = this.firstItem + items.length - 1; if (this.lastItem === 0) { this.firstItem = 0; } this.total = items.serverCount; this.limit = query.limit; this.skip = Math.floor(items.skip / query.limit) + 1; this.loading = false; each(items, (item) => { this.rows.push(clone(item)); }); this.service.setRows(this.rows); return this.rows; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: GridBodyComponent, deps: [{ token: i1.GridService }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: GridBodyComponent, selector: "ng-component", inputs: { header: "header", actionAllowed: "actionAllowed" }, outputs: { rowSelect: "rowSelect", rowAction: "rowAction" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: '', isInline: true }); } export { GridBodyComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: GridBodyComponent, decorators: [{ type: Component, args: [{ template: '' }] }], ctorParameters: function () { return [{ type: i1.GridService }]; }, propDecorators: { header: [{ type: Input }], actionAllowed: [{ type: Input }], rowSelect: [{ type: Output }], rowAction: [{ type: Output }], template: [{ type: ViewChild, args: [TemplateRef, { static: true }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JpZEJvZHlDb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9ncmlkL3NyYy9HcmlkQm9keUNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQUtyQyxNQUdhLGlCQUFpQjtJQWFUO0lBWlYsTUFBTSxDQUFzQjtJQUM1QixhQUFhLENBQU07SUFDbEIsU0FBUyxDQUFvQjtJQUM3QixTQUFTLENBQW9CO0lBQ0MsUUFBUSxDQUFtQjtJQUM1RCxJQUFJLENBQWE7SUFDakIsT0FBTyxDQUFVO0lBQ2pCLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDZCxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULEtBQUssR0FBRyxDQUFDLENBQUM7SUFDVixLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLFlBQW1CLE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQTRCLEVBQUUsS0FBVztRQUM1QyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRztRQUNwQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU07UUFDNUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE9BQU8sQ0FBQyxLQUFVLEVBQUUsS0FBVTtRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVmLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7WUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztTQUNwQjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7dUdBckVVLGlCQUFpQjsyRkFBakIsaUJBQWlCLHlOQUtqQixXQUFXLDhEQVBaLEVBQUU7O1NBRUQsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7a0dBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNpQyxRQUFRO3NCQUEvQyxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBlYWNoLCBjbG9uZSB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEdyaWRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL0dyaWRIZWFkZXJDb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHcmlkU2VydmljZSB9IGZyb20gJy4vZ3JpZC5zZXJ2aWNlJztcclxuaW1wb3J0IHtGb3JtaW9Qcm9taXNlU2VydmljZX0gZnJvbSAnQGZvcm1pby10bXQvYW5ndWxhcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyaWRCb2R5Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSBoZWFkZXI6IEdyaWRIZWFkZXJDb21wb25lbnQ7XHJcbiAgQElucHV0KCkgYWN0aW9uQWxsb3dlZDogYW55O1xyXG4gIEBPdXRwdXQoKSByb3dTZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG4gIEBPdXRwdXQoKSByb3dBY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHtzdGF0aWM6IHRydWV9KSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBwdWJsaWMgcm93czogQXJyYXk8YW55PjtcclxuICBwdWJsaWMgbG9hZGluZzogQm9vbGVhbjtcclxuICBwdWJsaWMgZmlyc3RJdGVtID0gMDtcclxuICBwdWJsaWMgbGFzdEl0ZW0gPSAwO1xyXG4gIHB1YmxpYyBza2lwID0gMDtcclxuICBwdWJsaWMgbGltaXQgPSAwO1xyXG4gIHB1YmxpYyB0b3RhbCA9IDA7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IEdyaWRTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnJvd1NlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIHRoaXMucm93QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGxvYWQoZm9ybWlvOiBGb3JtaW9Qcm9taXNlU2VydmljZSwgcXVlcnk/OiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZvcm1pby5sb2FkRm9ybShxdWVyeSk7XHJcbiAgfVxyXG5cclxuICBvblJvd1NlbGVjdChldmVudCwgcm93KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5yb3dTZWxlY3QuZW1pdChyb3cpO1xyXG4gIH1cclxuXHJcbiAgb25Sb3dBY3Rpb24oZXZlbnQsIHJvdywgYWN0aW9uKSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5yb3dBY3Rpb24uZW1pdCh7IHJvdywgYWN0aW9uIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSByb3dzIGZvciB0aGlzIEdyaWQgYm9keS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBxdWVyeVxyXG4gICAqIEBwYXJhbSBpdGVtc1xyXG4gICAqIEByZXR1cm4gYW55XHJcbiAgICovXHJcbiAgc2V0Um93cyhxdWVyeTogYW55LCBpdGVtczogYW55KSB7XHJcbiAgICB0aGlzLnJvd3MgPSBbXTtcclxuXHJcbiAgICBpZiAodHlwZW9mIGl0ZW1zICE9PSAnb2JqZWN0Jykge1xyXG4gICAgICB0aGlzLmZpcnN0SXRlbSA9IDA7XHJcbiAgICAgIHRoaXMubGFzdEl0ZW0gPSAwO1xyXG4gICAgICB0aGlzLnRvdGFsID0gMDtcclxuICAgICAgdGhpcy5za2lwID0gMDtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2VydmljZS5zZXRSb3dzKHRoaXMucm93cyk7XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5yb3dzO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmlyc3RJdGVtID0gcXVlcnkuc2tpcCArIDE7XHJcbiAgICB0aGlzLmxhc3RJdGVtID0gdGhpcy5maXJzdEl0ZW0gKyBpdGVtcy5sZW5ndGggLSAxO1xyXG4gICAgaWYgKHRoaXMubGFzdEl0ZW0gPT09IDApIHtcclxuICAgICAgdGhpcy5maXJzdEl0ZW0gPSAwO1xyXG4gICAgfVxyXG4gICAgdGhpcy50b3RhbCA9IGl0ZW1zLnNlcnZlckNvdW50O1xyXG4gICAgdGhpcy5saW1pdCA9IHF1ZXJ5LmxpbWl0O1xyXG4gICAgdGhpcy5za2lwID0gTWF0aC5mbG9vcihpdGVtcy5za2lwIC8gcXVlcnkubGltaXQpICsgMTtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgZWFjaChpdGVtcywgKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnJvd3MucHVzaChjbG9uZShpdGVtKSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VydmljZS5zZXRSb3dzKHRoaXMucm93cyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucm93cztcclxuICB9XHJcbn1cclxuIl19