@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
JavaScript
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