UNPKG

ftable

Version:
147 lines 13.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, ViewChild, ComponentFactoryResolver } from '@angular/core'; import { EmptyFFilterComponent } from './filters/emptyffilter.component'; import { TextFFilterComponent } from './filters/textffilter.component'; import { NumberFFilterComponent } from './filters/numberffilter.component'; import { CheckBoxFFilterComponent } from './filters/checkboxffilter.component'; import { DateFFilterComponent } from './filters/dateffilter.component'; import { FFilterDirective } from './ffilter.directive'; import { EventEmitter } from '@angular/core'; import { Output } from '@angular/core'; import { debounceTime } from 'rxjs/operators'; var FFilterComponent = /** @class */ (function () { function FFilterComponent(componentFactoryResolver) { this.componentFactoryResolver = componentFactoryResolver; this.debounce = 500; // Other data needed to be passed to filter this.filter = new EventEmitter(); } /** * @return {?} */ FFilterComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.loadComponent(); }; /** * @return {?} */ FFilterComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { // clearInterval(this.interval); }; /** * @return {?} */ FFilterComponent.prototype.loadComponent = /** * @return {?} */ function () { var _this = this; // filter counter // Check if standard filters else load custom /** @type {?} */ var fftilter; if (this.filterType === 'string') { fftilter = TextFFilterComponent; } else if (this.filterType === 'number') { fftilter = NumberFFilterComponent; } else if (this.filterType === 'checkbox') { fftilter = CheckBoxFFilterComponent; } else if (this.filterType === 'date') { fftilter = DateFFilterComponent; } else if (typeof this.filterType !== 'string') { fftilter = this.filterType; } else { // No filter Filter fftilter = EmptyFFilterComponent; } /** @type {?} */ var componentFactory = this.componentFactoryResolver.resolveComponentFactory(fftilter); // get reference of insertion point through /** @type {?} */ var viewContainerRef = this.ffilterHost.viewContainerRef; viewContainerRef.clear(); // Create instance of component /** @type {?} */ var componentRef = viewContainerRef.createComponent(componentFactory); // Pass data to filters ((/** @type {?} */ (componentRef.instance))).columnName = this.columnName; ((/** @type {?} */ (componentRef.instance))).source = this.source; ((/** @type {?} */ (componentRef.instance))).otherData = this.otherData; // Bubble filter event ((/** @type {?} */ (componentRef.instance))).filter.pipe(debounceTime(this.debounce)).subscribe(function (event) { _this.filter.emit(event); }); this.filterr = ((/** @type {?} */ (componentRef.instance))); }; /** * @return {?} */ FFilterComponent.prototype.reset = /** * @return {?} */ function () { this.filterr.reset(); }; FFilterComponent.totalfilters = 0; FFilterComponent.decorators = [ { type: Component, args: [{ selector: 'ft-ffilter', template: "\n\n <ng-template ffilter-host></ng-template>\n " }] } ]; /** @nocollapse */ FFilterComponent.ctorParameters = function () { return [ { type: ComponentFactoryResolver } ]; }; FFilterComponent.propDecorators = { ffilterHost: [{ type: ViewChild, args: [FFilterDirective,] }], source: [{ type: Input }], columnName: [{ type: Input }], debounce: [{ type: Input }], filterType: [{ type: Input }], otherData: [{ type: Input }], filter: [{ type: Output }] }; return FFilterComponent; }()); export { FFilterComponent }; if (false) { /** @type {?} */ FFilterComponent.totalfilters; /** @type {?} */ FFilterComponent.prototype.ffilterHost; /** @type {?} */ FFilterComponent.prototype.source; /** @type {?} */ FFilterComponent.prototype.columnName; /** @type {?} */ FFilterComponent.prototype.debounce; /** @type {?} */ FFilterComponent.prototype.filterType; /** @type {?} */ FFilterComponent.prototype.otherData; /** @type {?} */ FFilterComponent.prototype.filter; /** @type {?} */ FFilterComponent.prototype.filterr; /** * @type {?} * @private */ FFilterComponent.prototype.componentFactoryResolver; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mdGFibGUvIiwic291cmNlcyI6WyJsaWIvZmZpbHRlci9mZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLHdCQUF3QixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUM7SUFzQkUsMEJBQW9CLHdCQUFrRDtRQUFsRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBVHRELGFBQVEsR0FBVyxHQUFHLENBQUM7O1FBSzdCLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUlZLENBQUM7Ozs7SUFFM0UsbUNBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Ozs7SUFFRCxzQ0FBVzs7O0lBQVg7UUFDRSxnQ0FBZ0M7SUFDbEMsQ0FBQzs7OztJQUVELHdDQUFhOzs7SUFBYjtRQUFBLGlCQW1DQzs7OztZQWhDTSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVEsRUFBRTtZQUM5QixRQUFRLEdBQUcsb0JBQW9CLENBQUM7U0FDbkM7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxFQUFFO1lBQ3JDLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQztTQUNyQzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7WUFDdkMsUUFBUSxHQUFHLHdCQUF3QixDQUFDO1NBQ3JDO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLE1BQU0sRUFBRTtZQUNyQyxRQUFRLEdBQUcsb0JBQW9CLENBQUM7U0FDbkM7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBTSxRQUFRLEVBQUU7WUFDN0MsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDOUI7YUFBTTtZQUNGLG1CQUFtQjtZQUNuQixRQUFRLEdBQUcscUJBQXFCLENBQUM7U0FDckM7O1lBRUssZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQzs7O1lBRWxGLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO1FBQzFELGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDOzs7WUFFbkIsWUFBWSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN2RSx1QkFBdUI7UUFDdkIsQ0FBQyxtQkFBYSxZQUFZLENBQUMsUUFBUSxFQUFBLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsRSxDQUFDLG1CQUFhLFlBQVksQ0FBQyxRQUFRLEVBQUEsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFELENBQUMsbUJBQWEsWUFBWSxDQUFDLFFBQVEsRUFBQSxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFaEUsc0JBQXNCO1FBQ3RCLENBQUMsbUJBQWEsWUFBWSxDQUFDLFFBQVEsRUFBQSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQUMsS0FBSztZQUN4RixLQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxtQkFBYSxZQUFZLENBQUMsUUFBUSxFQUFBLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs7O0lBRU0sZ0NBQUs7OztJQUFaO1FBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBbERNLDZCQUFZLEdBQUcsQ0FBQyxDQUFDOztnQkFyQnpCLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLDRFQUdDO2lCQUNaOzs7O2dCQW5CNkMsd0JBQXdCOzs7OEJBc0JuRSxTQUFTLFNBQUMsZ0JBQWdCO3lCQUMxQixLQUFLOzZCQUVMLEtBQUs7MkJBQ0wsS0FBSzs2QkFFTCxLQUFLOzRCQUNMLEtBQUs7eUJBRUwsTUFBTTs7SUF1RFQsdUJBQUM7Q0FBQSxBQXpFRCxJQXlFQztTQWxFWSxnQkFBZ0I7OztJQWMzQiw4QkFBd0I7O0lBWnhCLHVDQUEyRDs7SUFDM0Qsa0NBQStCOztJQUUvQixzQ0FBbUM7O0lBQ25DLG9DQUF1Qzs7SUFFdkMsc0NBQWdDOztJQUNoQyxxQ0FBK0I7O0lBRS9CLGtDQUE4RDs7SUFFOUQsbUNBQXFCOzs7OztJQUVULG9EQUEwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFbXB0eUZGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlcnMvZW1wdHlmZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRleHRGRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXJzL3RleHRmZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE51bWJlckZGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlcnMvbnVtYmVyZmZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja0JveEZGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlcnMvY2hlY2tib3hmZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVGRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXJzL2RhdGVmZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZGaWx0ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2ZmaWx0ZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRkZpbHRlckJhc2UgfSBmcm9tICcuL2ZpbHRlcnMvZmZpbHRlci5iYXNlJztcclxuXHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmdC1mZmlsdGVyJyxcclxuICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmZmlsdGVyLWhvc3Q+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRkZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQFZpZXdDaGlsZChGRmlsdGVyRGlyZWN0aXZlKSBmZmlsdGVySG9zdDogRkZpbHRlckRpcmVjdGl2ZTsgLy8gSGFuZGxlIHRvIHRlbXBsYXRlIHdoZXJlIHRvIGxvYWQgY3VzdG9tIGZpbHRlclxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzb3VyY2U6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGNvbHVtbk5hbWU6IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgZGVib3VuY2U6IG51bWJlciA9IDUwMDtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGZpbHRlclR5cGU6IGFueTsgLy8gVHlwZSBvZiBmaWx0ZXIgdG8gbG9hZCBvciBjdXN0b20uXHJcbiAgQElucHV0KCkgcHVibGljIG90aGVyRGF0YTogYW55OyAgLy8gT3RoZXIgZGF0YSBuZWVkZWQgdG8gYmUgcGFzc2VkIHRvIGZpbHRlclxyXG5cclxuICBAT3V0cHV0KCkgZmlsdGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIFxyXG4gIGZpbHRlcnI6IEZGaWx0ZXJCYXNlO1xyXG4gIHN0YXRpYyB0b3RhbGZpbHRlcnMgPSAwO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubG9hZENvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAvLyBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xyXG4gIH1cclxuXHJcbiAgbG9hZENvbXBvbmVudCgpIHtcclxuICAgIC8vIGZpbHRlciBjb3VudGVyXHJcbiAgICAvLyBDaGVjayBpZiBzdGFuZGFyZCBmaWx0ZXJzIGVsc2UgbG9hZCBjdXN0b21cclxuICAgIGxldCAgZmZ0aWx0ZXI7XHJcbiAgICBpZiAodGhpcy5maWx0ZXJUeXBlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIGZmdGlsdGVyID0gVGV4dEZGaWx0ZXJDb21wb25lbnQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICBmZnRpbHRlciA9IE51bWJlckZGaWx0ZXJDb21wb25lbnQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2NoZWNrYm94Jykge1xyXG4gICAgICAgIGZmdGlsdGVyID0gQ2hlY2tCb3hGRmlsdGVyQ29tcG9uZW50O1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgZmZ0aWx0ZXIgPSBEYXRlRkZpbHRlckNvbXBvbmVudDtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuZmlsdGVyVHlwZSAgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgZmZ0aWx0ZXIgPSB0aGlzLmZpbHRlclR5cGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgICAvLyBObyBmaWx0ZXIgRmlsdGVyXHJcbiAgICAgICAgIGZmdGlsdGVyID0gRW1wdHlGRmlsdGVyQ29tcG9uZW50O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShmZnRpbHRlcik7XHJcbiAgICAvLyBnZXQgcmVmZXJlbmNlIG9mIGluc2VydGlvbiBwb2ludCB0aHJvdWdoXHJcbiAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmID0gdGhpcy5mZmlsdGVySG9zdC52aWV3Q29udGFpbmVyUmVmO1xyXG4gICAgdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgLy8gQ3JlYXRlIGluc3RhbmNlIG9mIGNvbXBvbmVudFxyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSk7XHJcbiAgICAvLyBQYXNzIGRhdGEgdG8gZmlsdGVyc1xyXG4gICAgKDxGRmlsdGVyQmFzZT5jb21wb25lbnRSZWYuaW5zdGFuY2UpLmNvbHVtbk5hbWUgPSB0aGlzLmNvbHVtbk5hbWU7XHJcbiAgICAoPEZGaWx0ZXJCYXNlPmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuc291cmNlID0gdGhpcy5zb3VyY2U7XHJcbiAgICAoPEZGaWx0ZXJCYXNlPmNvbXBvbmVudFJlZi5pbnN0YW5jZSkub3RoZXJEYXRhID0gdGhpcy5vdGhlckRhdGE7XHJcblxyXG4gICAgLy8gQnViYmxlIGZpbHRlciBldmVudFxyXG4gICAgKDxGRmlsdGVyQmFzZT5jb21wb25lbnRSZWYuaW5zdGFuY2UpLmZpbHRlci5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXIuZW1pdChldmVudCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZmlsdGVyciA9ICg8RkZpbHRlckJhc2U+Y29tcG9uZW50UmVmLmluc3RhbmNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXNldCgpIHtcclxuICAgIHRoaXMuZmlsdGVyci5yZXNldCgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19