UNPKG

ontimize-web-ngx

Version:
59 lines 9.48 kB
import { ChangeDetectionStrategy, Component, forwardRef, Inject, Injector } from '@angular/core'; import { Subscription } from 'rxjs'; import { OTableComponent } from '../../../o-table.component'; import * as i0 from "@angular/core"; import * as i1 from "../../../o-table.component"; export const DEFAULT_TABLE_COLUMN_AGGREGATE = [ 'attr', 'title', 'aggregate', 'functionAggregate: function-aggregate' ]; export class OTableColumnAggregateComponent { constructor(table, injector) { this.injector = injector; this.title = ''; this.subscription = new Subscription(); this.table = table; } get functionAggregate() { return this._aggregateFunction; } set functionAggregate(val) { this._aggregateFunction = val; } getColumnData(attr) { let columnData = []; if (this.table.dataSource) { columnData = this.table.dataSource.getColumnData(attr); } return columnData; } ngOnInit() { if (!this.attr) { return; } const ocolumnaggregate = {}; ocolumnaggregate.attr = this.attr; if (this.title) { ocolumnaggregate.title = this.title; } ocolumnaggregate.operator = this.aggregate ? this.aggregate : (this.functionAggregate ? this.functionAggregate : OTableColumnAggregateComponent.DEFAULT_AGGREGATE); this.table.registerColumnAggregate(ocolumnaggregate); this.subscription.add(this.table.onReinitialize.subscribe(() => this.table.registerColumnAggregate(ocolumnaggregate))); } ngOnDestroy() { this.subscription.unsubscribe(); } } OTableColumnAggregateComponent.DEFAULT_AGGREGATE = 'SUM'; OTableColumnAggregateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableColumnAggregateComponent, deps: [{ token: forwardRef(() => OTableComponent) }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); OTableColumnAggregateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableColumnAggregateComponent, selector: "o-table-column-aggregate", inputs: { attr: "attr", title: "title", aggregate: "aggregate", functionAggregate: ["function-aggregate", "functionAggregate"] }, ngImport: i0, template: " <!--{{ functionAggregate(getColumnData(attr)) }}-->", changeDetection: i0.ChangeDetectionStrategy.OnPush }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableColumnAggregateComponent, decorators: [{ type: Component, args: [{ selector: 'o-table-column-aggregate', changeDetection: ChangeDetectionStrategy.OnPush, inputs: DEFAULT_TABLE_COLUMN_AGGREGATE, template: " <!--{{ functionAggregate(getColumnData(attr)) }}-->" }] }], ctorParameters: function () { return [{ type: i1.OTableComponent, decorators: [{ type: Inject, args: [forwardRef(() => OTableComponent)] }] }, { type: i0.Injector }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb2x1bW4tYWdncmVnYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2V4dGVuc2lvbnMvZm9vdGVyL2FnZ3JlZ2F0ZS9vLXRhYmxlLWNvbHVtbi1hZ2dyZWdhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9mb290ZXIvYWdncmVnYXRlL28tdGFibGUtY29sdW1uLWFnZ3JlZ2F0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXBDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRTdELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHO0lBRTVDLE1BQU07SUFHTixPQUFPO0lBR1AsV0FBVztJQUdYLHVDQUF1QztDQUN4QyxDQUFDO0FBUUYsTUFBTSxPQUFPLDhCQUE4QjtJQVd6QyxZQUM2QyxLQUFzQixFQUN2RCxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBUHZCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFHaEIsaUJBQVksR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUt4RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksaUJBQWlCLENBQUMsR0FBc0I7UUFDMUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztJQUNoQyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQUk7UUFDaEIsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDekIsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4RDtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPO1NBQ1I7UUFFRCxNQUFNLGdCQUFnQixHQUFxQixFQUFFLENBQUM7UUFDOUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDckM7UUFFRCxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsOEJBQThCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNuSyxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekgsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7O0FBbkRhLGdEQUFpQixHQUFHLEtBQUssQ0FBQzs0SEFEN0IsOEJBQThCLGtCQVkvQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dIQVpoQyw4QkFBOEIsa01DM0IzQyxzREFBb0Q7NEZEMkJ2Qyw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUVuQix1QkFBdUIsQ0FBQyxNQUFNLFVBQ3ZDLDhCQUE4Qjs7MEJBY25DLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIEluamVjdCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWdncmVnYXRlRnVuY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy9hZ2dyZWdhdGUtZnVuY3Rpb24udHlwZSc7XG5pbXBvcnQgeyBPQ29sdW1uQWdncmVnYXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvdGFibGUvby1jb2x1bW4tYWdncmVnYXRlLnR5cGUnO1xuaW1wb3J0IHsgT1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vby10YWJsZS5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9UQUJMRV9DT0xVTU5fQUdHUkVHQVRFID0gW1xuICAvLyBhdHRyIFtzdHJpbmddOiBjb2x1bW4gbmFtZS5cbiAgJ2F0dHInLFxuXG4gIC8vIHRpdGxlIFtzdHJpbmddOiBUaXRsZSBmb3IgdGhlIGhlYWRlciB0b3RhbCBjb2x1bW5cbiAgJ3RpdGxlJyxcblxuICAvLyBhZ2dyZWdhdGUgW3N1bSB8IGNvdW50IHwgYXZnIHwgbWluIHxtYXhdXG4gICdhZ2dyZWdhdGUnLFxuXG4gIC8vIGZ1bmN0aW9uLWFnZ3JlZ2F0ZSBbICh2YWx1ZTogYW55W10pID0+IG51bWJlcl0gRnVuY3Rpb24gdGhhdCBjYWxjdWxhdGVzIGEgdmFsdWUgb24gdGhlIHZhbHVlcyBvZiB0aGUgY29sdW1uICdhdHRyJ1xuICAnZnVuY3Rpb25BZ2dyZWdhdGU6IGZ1bmN0aW9uLWFnZ3JlZ2F0ZSdcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tdGFibGUtY29sdW1uLWFnZ3JlZ2F0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9vLXRhYmxlLWNvbHVtbi1hZ2dyZWdhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW5wdXRzOiBERUZBVUxUX1RBQkxFX0NPTFVNTl9BR0dSRUdBVEVcbn0pXG5leHBvcnQgY2xhc3MgT1RhYmxlQ29sdW1uQWdncmVnYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfQUdHUkVHQVRFID0gJ1NVTSc7XG5cbiAgcHVibGljIGF0dHI6IHN0cmluZztcbiAgcHVibGljIGFnZ3JlZ2F0ZTogc3RyaW5nO1xuICBwdWJsaWMgdGFibGU6IE9UYWJsZUNvbXBvbmVudDtcbiAgcHVibGljIHRpdGxlOiBzdHJpbmcgPSAnJztcbiAgcHJvdGVjdGVkIF9hZ2dyZWdhdGVGdW5jdGlvbjogQWdncmVnYXRlRnVuY3Rpb247XG5cbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPVGFibGVDb21wb25lbnQpKSB0YWJsZTogT1RhYmxlQ29tcG9uZW50LFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLnRhYmxlID0gdGFibGU7XG4gIH1cblxuICBnZXQgZnVuY3Rpb25BZ2dyZWdhdGUoKTogQWdncmVnYXRlRnVuY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl9hZ2dyZWdhdGVGdW5jdGlvbjtcbiAgfVxuXG4gIHNldCBmdW5jdGlvbkFnZ3JlZ2F0ZSh2YWw6IEFnZ3JlZ2F0ZUZ1bmN0aW9uKSB7XG4gICAgdGhpcy5fYWdncmVnYXRlRnVuY3Rpb24gPSB2YWw7XG4gIH1cblxuICBnZXRDb2x1bW5EYXRhKGF0dHIpIHtcbiAgICBsZXQgY29sdW1uRGF0YSA9IFtdO1xuICAgIGlmICh0aGlzLnRhYmxlLmRhdGFTb3VyY2UpIHtcbiAgICAgIGNvbHVtbkRhdGEgPSB0aGlzLnRhYmxlLmRhdGFTb3VyY2UuZ2V0Q29sdW1uRGF0YShhdHRyKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbkRhdGE7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuYXR0cikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9jb2x1bW5hZ2dyZWdhdGU6IE9Db2x1bW5BZ2dyZWdhdGUgPSB7fTtcbiAgICBvY29sdW1uYWdncmVnYXRlLmF0dHIgPSB0aGlzLmF0dHI7XG4gICAgaWYgKHRoaXMudGl0bGUpIHtcbiAgICAgIG9jb2x1bW5hZ2dyZWdhdGUudGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgIH1cblxuICAgIG9jb2x1bW5hZ2dyZWdhdGUub3BlcmF0b3IgPSB0aGlzLmFnZ3JlZ2F0ZSA/IHRoaXMuYWdncmVnYXRlIDogKHRoaXMuZnVuY3Rpb25BZ2dyZWdhdGUgPyB0aGlzLmZ1bmN0aW9uQWdncmVnYXRlIDogT1RhYmxlQ29sdW1uQWdncmVnYXRlQ29tcG9uZW50LkRFRkFVTFRfQUdHUkVHQVRFKTtcbiAgICB0aGlzLnRhYmxlLnJlZ2lzdGVyQ29sdW1uQWdncmVnYXRlKG9jb2x1bW5hZ2dyZWdhdGUpO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMudGFibGUub25SZWluaXRpYWxpemUuc3Vic2NyaWJlKCgpID0+IHRoaXMudGFibGUucmVnaXN0ZXJDb2x1bW5BZ2dyZWdhdGUob2NvbHVtbmFnZ3JlZ2F0ZSkpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxufVxuIiwiIDwhLS17eyBmdW5jdGlvbkFnZ3JlZ2F0ZShnZXRDb2x1bW5EYXRhKGF0dHIpKSB9fS0tPiJdfQ==