UNPKG

ontimize-web-ngx

Version:
59 lines 9.54 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: aggregate-function' ]; 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.toLocaleLowerCase() : (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: ["aggregate-function", "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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb2x1bW4tYWdncmVnYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2V4dGVuc2lvbnMvZm9vdGVyL2FnZ3JlZ2F0ZS9vLXRhYmxlLWNvbHVtbi1hZ2dyZWdhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9mb290ZXIvYWdncmVnYXRlL28tdGFibGUtY29sdW1uLWFnZ3JlZ2F0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXBDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRTdELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHO0lBRTVDLE1BQU07SUFHTixPQUFPO0lBR1AsV0FBVztJQUdYLHVDQUF1QztDQUN4QyxDQUFDO0FBUUYsTUFBTSxPQUFPLDhCQUE4QjtJQVd6QyxZQUM2QyxLQUFzQixFQUN2RCxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBUHZCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFHaEIsaUJBQVksR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUt4RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksaUJBQWlCLENBQUMsR0FBc0I7UUFDMUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztJQUNoQyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQUk7UUFDaEIsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDekIsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4RDtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPO1NBQ1I7UUFFRCxNQUFNLGdCQUFnQixHQUFxQixFQUFFLENBQUM7UUFDOUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDckM7UUFFRCxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyw4QkFBOEIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZMLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7QUFuRGEsZ0RBQWlCLEdBQUcsS0FBSyxDQUFDOzRIQUQ3Qiw4QkFBOEIsa0JBWS9CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0hBWmhDLDhCQUE4QixrTUMzQjNDLHNEQUFvRDs0RkQyQnZDLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDRSwwQkFBMEIsbUJBRW5CLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsOEJBQThCOzswQkFjbkMsTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBZ2dyZWdhdGVGdW5jdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZ3JlZ2F0ZS1mdW5jdGlvbi50eXBlJztcbmltcG9ydCB7IE9Db2x1bW5BZ2dyZWdhdGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy90YWJsZS9vLWNvbHVtbi1hZ2dyZWdhdGUudHlwZSc7XG5pbXBvcnQgeyBPVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9vLXRhYmxlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RBQkxFX0NPTFVNTl9BR0dSRUdBVEUgPSBbXG4gIC8vIGF0dHIgW3N0cmluZ106IGNvbHVtbiBuYW1lLlxuICAnYXR0cicsXG5cbiAgLy8gdGl0bGUgW3N0cmluZ106IFRpdGxlIGZvciB0aGUgaGVhZGVyIHRvdGFsIGNvbHVtblxuICAndGl0bGUnLFxuXG4gIC8vIGFnZ3JlZ2F0ZSBbc3VtIHwgY291bnQgfCBhdmcgfCBtaW4gfG1heF1cbiAgJ2FnZ3JlZ2F0ZScsXG5cbiAgLy8gYWdncmVnYXRlLWZ1bmN0aW9uIFsgQWdncmVnYXRlRnVuY3Rpb24gXSBGdW5jdGlvbiB0aGF0IGNhbGN1bGF0ZXMgYSB2YWx1ZSBvbiB0aGUgdmFsdWVzIG9mIHRoZSBjb2x1bW4gJ2F0dHInXG4gICdmdW5jdGlvbkFnZ3JlZ2F0ZTogYWdncmVnYXRlLWZ1bmN0aW9uJ1xuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby10YWJsZS1jb2x1bW4tYWdncmVnYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tdGFibGUtY29sdW1uLWFnZ3JlZ2F0ZS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IERFRkFVTFRfVEFCTEVfQ09MVU1OX0FHR1JFR0FURVxufSlcbmV4cG9ydCBjbGFzcyBPVGFibGVDb2x1bW5BZ2dyZWdhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9BR0dSRUdBVEUgPSAnU1VNJztcblxuICBwdWJsaWMgYXR0cjogc3RyaW5nO1xuICBwdWJsaWMgYWdncmVnYXRlOiBzdHJpbmc7XG4gIHB1YmxpYyB0YWJsZTogT1RhYmxlQ29tcG9uZW50O1xuICBwdWJsaWMgdGl0bGU6IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgX2FnZ3JlZ2F0ZUZ1bmN0aW9uOiBBZ2dyZWdhdGVGdW5jdGlvbjtcblxuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE9UYWJsZUNvbXBvbmVudCkpIHRhYmxlOiBPVGFibGVDb21wb25lbnQsXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMudGFibGUgPSB0YWJsZTtcbiAgfVxuXG4gIGdldCBmdW5jdGlvbkFnZ3JlZ2F0ZSgpOiBBZ2dyZWdhdGVGdW5jdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FnZ3JlZ2F0ZUZ1bmN0aW9uO1xuICB9XG5cbiAgc2V0IGZ1bmN0aW9uQWdncmVnYXRlKHZhbDogQWdncmVnYXRlRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9hZ2dyZWdhdGVGdW5jdGlvbiA9IHZhbDtcbiAgfVxuXG4gIGdldENvbHVtbkRhdGEoYXR0cikge1xuICAgIGxldCBjb2x1bW5EYXRhID0gW107XG4gICAgaWYgKHRoaXMudGFibGUuZGF0YVNvdXJjZSkge1xuICAgICAgY29sdW1uRGF0YSA9IHRoaXMudGFibGUuZGF0YVNvdXJjZS5nZXRDb2x1bW5EYXRhKGF0dHIpO1xuICAgIH1cbiAgICByZXR1cm4gY29sdW1uRGF0YTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5hdHRyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2NvbHVtbmFnZ3JlZ2F0ZTogT0NvbHVtbkFnZ3JlZ2F0ZSA9IHt9O1xuICAgIG9jb2x1bW5hZ2dyZWdhdGUuYXR0ciA9IHRoaXMuYXR0cjtcbiAgICBpZiAodGhpcy50aXRsZSkge1xuICAgICAgb2NvbHVtbmFnZ3JlZ2F0ZS50aXRsZSA9IHRoaXMudGl0bGU7XG4gICAgfVxuXG4gICAgb2NvbHVtbmFnZ3JlZ2F0ZS5vcGVyYXRvciA9IHRoaXMuYWdncmVnYXRlID8gdGhpcy5hZ2dyZWdhdGUudG9Mb2NhbGVMb3dlckNhc2UoKSA6ICh0aGlzLmZ1bmN0aW9uQWdncmVnYXRlID8gdGhpcy5mdW5jdGlvbkFnZ3JlZ2F0ZSA6IE9UYWJsZUNvbHVtbkFnZ3JlZ2F0ZUNvbXBvbmVudC5ERUZBVUxUX0FHR1JFR0FURSk7XG4gICAgdGhpcy50YWJsZS5yZWdpc3RlckNvbHVtbkFnZ3JlZ2F0ZShvY29sdW1uYWdncmVnYXRlKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRhYmxlLm9uUmVpbml0aWFsaXplLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRhYmxlLnJlZ2lzdGVyQ29sdW1uQWdncmVnYXRlKG9jb2x1bW5hZ2dyZWdhdGUpKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbn1cbiIsIiA8IS0te3sgZnVuY3Rpb25BZ2dyZWdhdGUoZ2V0Q29sdW1uRGF0YShhdHRyKSkgfX0tLT4iXX0=