ftable
Version:
Angular 6/7 Tables
83 lines • 7.05 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component } from '@angular/core';
import { EventEmitter } from '@angular/core';
import { Output } from '@angular/core';
import { Input } from '@angular/core';
export class TextFFilterComponent {
constructor() {
this.filter = new EventEmitter();
this.value = '';
}
/**
* @param {?} event
* @return {?}
*/
onKeyUp(event) {
if (this.source === 'frontend') {
/** @type {?} */
const fn = function (name, searchValue) {
return d => {
return ((/** @type {?} */ (d))).filter(x => String(x[name]).toLowerCase().indexOf(String(searchValue).toLowerCase()) !== -1);
};
};
this.filter.emit({ columnName: this.columnName, apply: fn(this.columnName, event.target.value) });
}
else {
/** @type {?} */
var result = { value: event.target.value };
this.filter.emit({ columnName: this.columnName, type: 'string', apply: result });
}
}
/**
* @return {?}
*/
reset() {
this.value = '';
this.filter.emit({ columnName: this.columnName, apply: null });
}
}
TextFFilterComponent.decorators = [
{ type: Component, args: [{
template: `
<table class='ft-ffilter-table'>
<tr class='ft-ffilter-column'>
<td class='ft-ffilter-row'>
<input class="ft-i ft-i-ffilter ft-i-ffilter-text" type='text' [(ngModel)]='value' (keyup)='onKeyUp($event)'/>
</td>
</tr>
</table>
<!--
<div class="ft-ffilter">
<div class="ft-div1-ffilter">
<input class="ft-i ft-i-ffilter ft-i-ffilter-text" type='text' [(ngModel)]='value' (keyup)='onKeyUp($event)'/>
</div>
</div>
-->
`,
styles: [`
:host { flex:1;
}`]
}] }
];
TextFFilterComponent.propDecorators = {
source: [{ type: Input }],
otherData: [{ type: Input }],
columnName: [{ type: Input }],
filter: [{ type: Output }]
};
if (false) {
/** @type {?} */
TextFFilterComponent.prototype.source;
/** @type {?} */
TextFFilterComponent.prototype.otherData;
/** @type {?} */
TextFFilterComponent.prototype.columnName;
/** @type {?} */
TextFFilterComponent.prototype.filter;
/** @type {?} */
TextFFilterComponent.prototype.value;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZmaWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vZnRhYmxlLyIsInNvdXJjZXMiOlsibGliL2ZmaWx0ZXIvZmlsdGVycy90ZXh0ZmZpbHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF5QnRDLE1BQU0sT0FBTyxvQkFBb0I7SUFyQmpDO1FBMEJZLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV2RCxVQUFLLEdBQUcsRUFBRSxDQUFDO0lBcUJwQixDQUFDOzs7OztJQW5CQyxPQUFPLENBQUMsS0FBSztRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxVQUFVLEVBQUU7O2tCQUMxQixFQUFFLEdBQUcsVUFBVSxJQUFJLEVBQUUsV0FBVztnQkFDcEMsT0FBTyxDQUFDLENBQUMsRUFBRTtvQkFDVCxPQUFPLENBQUMsbUJBQU8sQ0FBQyxFQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pILENBQUMsQ0FBQztZQUNKLENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNuRzthQUFJOztnQkFDQyxNQUFNLEdBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUM7WUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQ2hGO0lBQ0QsQ0FBQzs7OztJQUdDLEtBQUs7UUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7OztZQWhERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7R0FlVDt5QkFDUTs7SUFFUDthQUNIOzs7cUJBRUUsS0FBSzt3QkFDTCxLQUFLO3lCQUNMLEtBQUs7cUJBRUwsTUFBTTs7OztJQUpQLHNDQUErQjs7SUFDL0IseUNBQStCOztJQUMvQiwwQ0FBbUM7O0lBRW5DLHNDQUE4RDs7SUFFOUQscUNBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZGaWx0ZXJCYXNlIH0gZnJvbSAnLi9mZmlsdGVyLmJhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGBcclxuICA8dGFibGUgY2xhc3M9J2Z0LWZmaWx0ZXItdGFibGUnPlxyXG4gIDx0ciBjbGFzcz0nZnQtZmZpbHRlci1jb2x1bW4nPlxyXG4gICAgICA8dGQgY2xhc3M9J2Z0LWZmaWx0ZXItcm93Jz5cclxuICAgICAgPGlucHV0IGNsYXNzPVwiZnQtaSBmdC1pLWZmaWx0ZXIgZnQtaS1mZmlsdGVyLXRleHRcIiB0eXBlPSd0ZXh0JyBbKG5nTW9kZWwpXT0ndmFsdWUnIChrZXl1cCk9J29uS2V5VXAoJGV2ZW50KScvPlxyXG4gICAgICA8L3RkPlxyXG4gIDwvdHI+XHJcbjwvdGFibGU+XHJcbiAgPCEtLVxyXG4gIDxkaXYgY2xhc3M9XCJmdC1mZmlsdGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnQtZGl2MS1mZmlsdGVyXCI+XHJcbiAgICAgIDxpbnB1dCBjbGFzcz1cImZ0LWkgZnQtaS1mZmlsdGVyIGZ0LWktZmZpbHRlci10ZXh0XCIgdHlwZT0ndGV4dCcgWyhuZ01vZGVsKV09J3ZhbHVlJyAoa2V5dXApPSdvbktleVVwKCRldmVudCknLz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIC0tPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbYFxyXG4gIDpob3N0IHsgZmxleDoxO1xyXG4gIH1gXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dEZGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBGRmlsdGVyQmFzZSB7XHJcbiAgQElucHV0KCkgcHVibGljIHNvdXJjZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBvdGhlckRhdGE6IGFueTtcclxuICBASW5wdXQoKSBwdWJsaWMgY29sdW1uTmFtZTogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KCkgZmlsdGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBwdWJsaWMgdmFsdWUgPSAnJztcclxuXHJcbiAgb25LZXlVcChldmVudCkge1xyXG4gICAgaWYgKHRoaXMuc291cmNlID09PSAnZnJvbnRlbmQnKSB7XHJcbiAgICBjb25zdCBmbiA9IGZ1bmN0aW9uIChuYW1lLCBzZWFyY2hWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gZCA9PiB7XHJcbiAgICAgICAgcmV0dXJuICg8YW55W10+ZCkuZmlsdGVyKHggPT4gU3RyaW5nKHhbbmFtZV0pLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihTdHJpbmcoc2VhcmNoVmFsdWUpLnRvTG93ZXJDYXNlKCkpICE9PSAtMSk7XHJcbiAgICAgIH07XHJcbiAgICB9O1xyXG4gICAgdGhpcy5maWx0ZXIuZW1pdCh7IGNvbHVtbk5hbWU6IHRoaXMuY29sdW1uTmFtZSwgYXBwbHk6IGZuKHRoaXMuY29sdW1uTmFtZSwgZXZlbnQudGFyZ2V0LnZhbHVlKSB9KTtcclxuICB9ZWxzZXtcclxuICAgIHZhciByZXN1bHQgPSAge3ZhbHVlOmV2ZW50LnRhcmdldC52YWx1ZX07XHJcbiAgICB0aGlzLmZpbHRlci5lbWl0KHsgY29sdW1uTmFtZTogdGhpcy5jb2x1bW5OYW1lLHR5cGU6J3N0cmluZycsIGFwcGx5OiByZXN1bHQgfSk7XHJcbiAgfVxyXG4gIH1cclxuXHJcblxyXG4gICAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmZpbHRlci5lbWl0KHsgY29sdW1uTmFtZTogdGhpcy5jb2x1bW5OYW1lLCBhcHBseTogbnVsbCB9KTtcclxuICB9XHJcbn1cclxuIl19