UNPKG

ornamentum

Version:
167 lines 12.5 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, EventEmitter, Input } from '@angular/core'; import { Subject } from 'rxjs'; import { debounceTime } from 'rxjs/operators'; import { DataFetchMode } from '../../models/data-fetch-mode.enum'; import { DataTableConfigService } from '../../services/data-table-config.service'; import { DataTableEventStateService } from '../../services/data-table-event.service'; /** * Data table column filter header component. Apply columns associated data filtering. */ var DataTableColumnFilterHeaderComponent = /** @class */ (function () { function DataTableColumnFilterHeaderComponent(config, eventStateService) { this.config = config; this.eventStateService = eventStateService; this.columnFilterStream = new Subject(); this.customFilterStream = new EventEmitter(); } /** * Component initialize lifecycle event handler. */ /** * Component initialize lifecycle event handler. * @return {?} */ DataTableColumnFilterHeaderComponent.prototype.ngOnInit = /** * Component initialize lifecycle event handler. * @return {?} */ function () { this.initCustomFilterEvent(); this.initDebounceDefaultFilterEvent(); }; /** * Component destroy lifecycle event handler. */ /** * Component destroy lifecycle event handler. * @return {?} */ DataTableColumnFilterHeaderComponent.prototype.ngOnDestroy = /** * Component destroy lifecycle event handler. * @return {?} */ function () { if (this.customFilterSubscription) { this.customFilterSubscription.unsubscribe(); } if (this.columnFilterSubscription) { this.columnFilterSubscription.unsubscribe(); } }; /** * Initialize custom filter event. */ /** * Initialize custom filter event. * @private * @return {?} */ DataTableColumnFilterHeaderComponent.prototype.initCustomFilterEvent = /** * Initialize custom filter event. * @private * @return {?} */ function () { var _this = this; this.customFilterSubscription = this.customFilterStream.subscribe((/** * @param {?} filterEventArgs * @return {?} */ function (filterEventArgs) { filterEventArgs.column.filter = filterEventArgs.filter; _this.onFilter(); })); }; /** * Initialize debounce default filtering logic. */ /** * Initialize debounce default filtering logic. * @private * @return {?} */ DataTableColumnFilterHeaderComponent.prototype.initDebounceDefaultFilterEvent = /** * Initialize debounce default filtering logic. * @private * @return {?} */ function () { var _this = this; this.columnFilterSubscription = this.columnFilterStream.pipe(debounceTime(this.config.filterDebounceTime)).subscribe((/** * @return {?} */ function () { _this.eventStateService.dataFetchStream.next(DataFetchMode.SOFT_LOAD); })); }; /** * Filter event handler. */ /** * Filter event handler. * @return {?} */ DataTableColumnFilterHeaderComponent.prototype.onFilter = /** * Filter event handler. * @return {?} */ function () { if (this.config.filterDebounce) { this.columnFilterStream.next(); } else { this.eventStateService.dataFetchStream.next(DataFetchMode.SOFT_LOAD); } }; DataTableColumnFilterHeaderComponent.decorators = [ { type: Component, args: [{ exportAs: 'ngDataTableColumnFilterHeader', // tslint:disable-next-line selector: '[ngDataTableColumnFilterHeader]', template: "<th *ngIf=\"config.expandableRows\" class=\"ng-data-table-expand-column-header\"></th>\n<th *ngIf=\"config.showIndexColumn\" class=\"ng-data-table-index-column-header\"></th>\n<th *ngIf=\"config.showRowSelectCheckboxColumn\" class=\"ng-data-table-select-column-header\"></th>\n<ng-container *ngFor=\"let column of columns; index as i;\">\n <th *ngIf=\"column.visible\">\n <ng-data-table-column-filter-template [column]=\"column\"\n [customFilterStream]=\"customFilterStream\"\n [index]=\"i\"\n (filter)=\"onFilter()\">\n </ng-data-table-column-filter-template>\n </th>\n</ng-container>\n" }] } ]; /** @nocollapse */ DataTableColumnFilterHeaderComponent.ctorParameters = function () { return [ { type: DataTableConfigService }, { type: DataTableEventStateService } ]; }; DataTableColumnFilterHeaderComponent.propDecorators = { columns: [{ type: Input }] }; return DataTableColumnFilterHeaderComponent; }()); export { DataTableColumnFilterHeaderComponent }; if (false) { /** * @type {?} * @private */ DataTableColumnFilterHeaderComponent.prototype.columnFilterStream; /** * @type {?} * @private */ DataTableColumnFilterHeaderComponent.prototype.customFilterSubscription; /** * @type {?} * @private */ DataTableColumnFilterHeaderComponent.prototype.columnFilterSubscription; /** @type {?} */ DataTableColumnFilterHeaderComponent.prototype.customFilterStream; /** @type {?} */ DataTableColumnFilterHeaderComponent.prototype.columns; /** @type {?} */ DataTableColumnFilterHeaderComponent.prototype.config; /** * @type {?} * @private */ DataTableColumnFilterHeaderComponent.prototype.eventStateService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb2x1bW4tZmlsdGVyLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9vcm5hbWVudHVtLyIsInNvdXJjZXMiOlsiZGF0YS10YWJsZS9jb21wb25lbnRzL2RhdGEtdGFibGUtY29sdW1uLWZpbHRlci1oZWFkZXIvZGF0YS10YWJsZS1jb2x1bW4tZmlsdGVyLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFnQixPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUlsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7OztBQUtyRjtJQWlCRSw4Q0FBbUIsTUFBOEIsRUFBVSxpQkFBNkM7UUFBckYsV0FBTSxHQUFOLE1BQU0sQ0FBd0I7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO1FBVmhHLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFLcEMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7SUFLa0MsQ0FBQztJQUU1Rzs7T0FFRzs7Ozs7SUFDSSx1REFBUTs7OztJQUFmO1FBQ0UsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHOzs7OztJQUNJLDBEQUFXOzs7O0lBQWxCO1FBQ0UsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDakMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzdDO1FBRUQsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDakMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVEOztPQUVHOzs7Ozs7SUFDSyxvRUFBcUI7Ozs7O0lBQTdCO1FBQUEsaUJBS0M7UUFKQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVM7Ozs7UUFBQyxVQUFDLGVBQXlDO1lBQzFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDdkQsS0FBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHOzs7Ozs7SUFDSyw2RUFBOEI7Ozs7O0lBQXRDO1FBQUEsaUJBSUM7UUFIQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUzs7O1FBQUM7WUFDbkgsS0FBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHOzs7OztJQUNJLHVEQUFROzs7O0lBQWY7UUFDRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFO1lBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNoQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3RFO0lBQ0gsQ0FBQzs7Z0JBcEVGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCOztvQkFFekMsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsMHRCQUErRDtpQkFDaEU7Ozs7Z0JBWFEsc0JBQXNCO2dCQUN0QiwwQkFBMEI7OzswQkFtQmhDLEtBQUs7O0lBdURSLDJDQUFDO0NBQUEsQUFyRUQsSUFxRUM7U0EvRFksb0NBQW9DOzs7Ozs7SUFDL0Msa0VBQTJDOzs7OztJQUUzQyx3RUFBK0M7Ozs7O0lBQy9DLHdFQUErQzs7SUFFL0Msa0VBQXlFOztJQUV6RSx1REFDMkM7O0lBRS9CLHNEQUFxQzs7Ozs7SUFBRSxpRUFBcUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXJFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0YS10YWJsZS1maWx0ZXItZXZlbnQtYXJncy5tb2RlbCc7XG5cbmltcG9ydCB7IERhdGFGZXRjaE1vZGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0YS1mZXRjaC1tb2RlLmVudW0nO1xuXG5pbXBvcnQgeyBEYXRhVGFibGVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi9kYXRhLXRhYmxlLWNvbHVtbi9kYXRhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBEYXRhVGFibGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS10YWJsZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhVGFibGVFdmVudFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGEtdGFibGUtZXZlbnQuc2VydmljZSc7XG5cbi8qKlxuICogRGF0YSB0YWJsZSBjb2x1bW4gZmlsdGVyIGhlYWRlciBjb21wb25lbnQuIEFwcGx5IGNvbHVtbnMgYXNzb2NpYXRlZCBkYXRhIGZpbHRlcmluZy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIGV4cG9ydEFzOiAnbmdEYXRhVGFibGVDb2x1bW5GaWx0ZXJIZWFkZXInLFxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgc2VsZWN0b3I6ICdbbmdEYXRhVGFibGVDb2x1bW5GaWx0ZXJIZWFkZXJdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdGFibGUtY29sdW1uLWZpbHRlci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUNvbHVtbkZpbHRlckhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBjb2x1bW5GaWx0ZXJTdHJlYW0gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgY3VzdG9tRmlsdGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgY29sdW1uRmlsdGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIGN1c3RvbUZpbHRlclN0cmVhbSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YVRhYmxlRmlsdGVyRXZlbnRBcmdzPigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb2x1bW5zOiBEYXRhVGFibGVDb2x1bW5Db21wb25lbnRbXTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBEYXRhVGFibGVDb25maWdTZXJ2aWNlLCBwcml2YXRlIGV2ZW50U3RhdGVTZXJ2aWNlOiBEYXRhVGFibGVFdmVudFN0YXRlU2VydmljZSkge31cblxuICAvKipcbiAgICogQ29tcG9uZW50IGluaXRpYWxpemUgbGlmZWN5Y2xlIGV2ZW50IGhhbmRsZXIuXG4gICAqL1xuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Q3VzdG9tRmlsdGVyRXZlbnQoKTtcbiAgICB0aGlzLmluaXREZWJvdW5jZURlZmF1bHRGaWx0ZXJFdmVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBvbmVudCBkZXN0cm95IGxpZmVjeWNsZSBldmVudCBoYW5kbGVyLlxuICAgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmN1c3RvbUZpbHRlclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jdXN0b21GaWx0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb2x1bW5GaWx0ZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY29sdW1uRmlsdGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgY3VzdG9tIGZpbHRlciBldmVudC5cbiAgICovXG4gIHByaXZhdGUgaW5pdEN1c3RvbUZpbHRlckV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuY3VzdG9tRmlsdGVyU3Vic2NyaXB0aW9uID0gdGhpcy5jdXN0b21GaWx0ZXJTdHJlYW0uc3Vic2NyaWJlKChmaWx0ZXJFdmVudEFyZ3M6IERhdGFUYWJsZUZpbHRlckV2ZW50QXJncykgPT4ge1xuICAgICAgZmlsdGVyRXZlbnRBcmdzLmNvbHVtbi5maWx0ZXIgPSBmaWx0ZXJFdmVudEFyZ3MuZmlsdGVyO1xuICAgICAgdGhpcy5vbkZpbHRlcigpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgZGVib3VuY2UgZGVmYXVsdCBmaWx0ZXJpbmcgbG9naWMuXG4gICAqL1xuICBwcml2YXRlIGluaXREZWJvdW5jZURlZmF1bHRGaWx0ZXJFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbkZpbHRlclN1YnNjcmlwdGlvbiA9IHRoaXMuY29sdW1uRmlsdGVyU3RyZWFtLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuY29uZmlnLmZpbHRlckRlYm91bmNlVGltZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmV2ZW50U3RhdGVTZXJ2aWNlLmRhdGFGZXRjaFN0cmVhbS5uZXh0KERhdGFGZXRjaE1vZGUuU09GVF9MT0FEKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgZXZlbnQgaGFuZGxlci5cbiAgICovXG4gIHB1YmxpYyBvbkZpbHRlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcuZmlsdGVyRGVib3VuY2UpIHtcbiAgICAgIHRoaXMuY29sdW1uRmlsdGVyU3RyZWFtLm5leHQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ldmVudFN0YXRlU2VydmljZS5kYXRhRmV0Y2hTdHJlYW0ubmV4dChEYXRhRmV0Y2hNb2RlLlNPRlRfTE9BRCk7XG4gICAgfVxuICB9XG59XG4iXX0=