UNPKG

ftable

Version:
129 lines (127 loc) 12.3 kB
/** * @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'; import { ViewChild, ElementRef } from '@angular/core'; export class NumberFFilterComponent { constructor() { this.filter = new EventEmitter(); // Hold Inputted Values this.min = null; this.max = null; } /** * @param {?} mode * @param {?} event * @return {?} */ numberKeyUp(mode, event) { if (event.keyCode !== 8 && event.keyCode !== 46) { this[mode] = event.target.value; // Move focus for UX if (mode === 'min' && event.keyCode === 39) { this._elMaxRef.nativeElement.focus(); } else if (mode === 'max' && event.keyCode === 39) { this._elMinRef.nativeElement.focus(); } } if (this.source === 'frontend') { /** @type {?} */ const fn = function (name, searchMin, searchMax) { return d => { return ((/** @type {?} */ (d))).filter(x => (searchMin ? searchMin <= Number(x[name]) : true) && (searchMax ? searchMax >= Number(x[name]) : true)); }; }; this.filter.emit({ columnName: this.columnName, apply: fn(this.columnName, this.min, this.max) }); } else { /** @type {?} */ var result = { min: this.min, max: this.max }; this.filter.emit({ columnName: this.columnName, type: 'number', apply: result }); } } /** * @return {?} */ reset() { this.min = null; this.max = null; this.filter.emit({ columnName: this.columnName, apply: null }); } } NumberFFilterComponent.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-min" type="number" placeholder='>=' [(ngModel)]='min' (keyup)='numberKeyUp("min",$event)' #minRef > </td> </tr> <tr class='ft-ffilter-column'> <td class='ft-ffilter-row'> <input class="ft-i ft-i-ffilter ft-i-max" type="number" placeholder='<=' [(ngModel)]='max' (keyup)='numberKeyUp("max",$event)' #maxRef > </td> </tr> </table> <!-- <div class="ft-ffilter"> <div class="ft-div1-ffilter"> <div class="ft-ffilter-prepend"> <span class="ft-ffilter-text">&gt;=</span> </div> <input class="ft-i ft-i-ffilter ft-i-min" type="number" [(ngModel)]='min' (keyup)='numberKeyUp("min",$event)' #minRef > <div class="ft-ffilter-append"> <span class="ft-ffilter-text">&lt;=</span> </div> </div> <div class="ft-div2-ffilter"> <div class="ft-ffilter-prepend"> <span class="ft-filter-text">&lt;=</span> </div> <input class="ft-i ft-i-filter ft-i-max" type="number" [(ngModel)]='max' (keyup)='numberKeyUp("max",$event)' #maxRef > <div class="ft-ffilter-append"> <span class="ft-filter-text">&gt;=</span> </div> </div> </div> --> `, styles: [` :host { flex:1; }`] }] } ]; NumberFFilterComponent.propDecorators = { _elMinRef: [{ type: ViewChild, args: ["minRef",] }], _elMaxRef: [{ type: ViewChild, args: ["maxRef",] }], source: [{ type: Input }], otherData: [{ type: Input }], columnName: [{ type: Input }], filter: [{ type: Output }] }; if (false) { /** @type {?} */ NumberFFilterComponent.prototype._elMinRef; /** @type {?} */ NumberFFilterComponent.prototype._elMaxRef; /** @type {?} */ NumberFFilterComponent.prototype.source; /** @type {?} */ NumberFFilterComponent.prototype.otherData; /** @type {?} */ NumberFFilterComponent.prototype.columnName; /** @type {?} */ NumberFFilterComponent.prototype.filter; /** @type {?} */ NumberFFilterComponent.prototype.min; /** @type {?} */ NumberFFilterComponent.prototype.max; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyZmZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mdGFibGUvIiwic291cmNlcyI6WyJsaWIvZmZpbHRlci9maWx0ZXJzL251bWJlcmZmaWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZ0R0RCxNQUFNLE9BQU8sc0JBQXNCO0lBM0NuQztRQW1EWSxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7O1FBR3ZELFFBQUcsR0FBVyxJQUFJLENBQUM7UUFDbkIsUUFBRyxHQUFXLElBQUksQ0FBQztJQW9DNUIsQ0FBQzs7Ozs7O0lBbENDLFdBQVcsQ0FBQyxJQUFZLEVBQUUsS0FBSztRQUM3QixJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUVoQyxvQkFBb0I7WUFDcEIsSUFBSSxJQUFJLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUFFO2dCQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUN0QztpQkFDSSxJQUFJLElBQUksS0FBSyxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxFQUFFLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3RDO1NBQ0Y7UUFFQyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFOztrQkFDeEIsRUFBRSxHQUFHLFVBQVUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTO2dCQUM3QyxPQUFPLENBQUMsQ0FBQyxFQUFFO29CQUNULE9BQU8sQ0FBQyxtQkFBTyxDQUFDLEVBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUMzQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO3dCQUNqRCxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ2xELENBQUM7Z0JBQ0osQ0FBQyxDQUFDO1lBQ0osQ0FBQztZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNuRzthQUFNOztnQkFDRCxNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDbEY7SUFDTCxDQUFDOzs7O0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQzs7O1lBMUZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1Q7eUJBQ1E7O0lBRVA7YUFDSDs7O3dCQUVFLFNBQVMsU0FBQyxRQUFRO3dCQUNsQixTQUFTLFNBQUMsUUFBUTtxQkFFbEIsS0FBSzt3QkFDTCxLQUFLO3lCQUNMLEtBQUs7cUJBRUwsTUFBTTs7OztJQVBQLDJDQUEyQzs7SUFDM0MsMkNBQTJDOztJQUUzQyx3Q0FBK0I7O0lBQy9CLDJDQUErQjs7SUFDL0IsNENBQW1DOztJQUVuQyx3Q0FBOEQ7O0lBRzlELHFDQUEwQjs7SUFDMUIscUNBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGRmlsdGVyQmFzZSB9IGZyb20gJy4vZmZpbHRlci5iYXNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYFxyXG4gIDx0YWJsZSBjbGFzcz0nZnQtZmZpbHRlci10YWJsZSc+XHJcbiAgPHRyIGNsYXNzPSdmdC1mZmlsdGVyLWNvbHVtbic+XHJcbiAgICAgIDx0ZCBjbGFzcz0nZnQtZmZpbHRlci1yb3cnPlxyXG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZnQtaSBmdC1pLWZmaWx0ZXIgZnQtaS1taW5cIiB0eXBlPVwibnVtYmVyXCIgIHBsYWNlaG9sZGVyPSc+PScgWyhuZ01vZGVsKV09J21pbicgKGtleXVwKT0nbnVtYmVyS2V5VXAoXCJtaW5cIiwkZXZlbnQpJyAjbWluUmVmID5cclxuICAgICAgPC90ZD5cclxuICA8L3RyPlxyXG4gIDx0ciBjbGFzcz0nZnQtZmZpbHRlci1jb2x1bW4nPlxyXG4gICAgICA8dGQgY2xhc3M9J2Z0LWZmaWx0ZXItcm93Jz5cclxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZ0LWkgZnQtaS1mZmlsdGVyIGZ0LWktbWF4XCIgdHlwZT1cIm51bWJlclwiICBwbGFjZWhvbGRlcj0nPD0nIFsobmdNb2RlbCldPSdtYXgnIChrZXl1cCk9J251bWJlcktleVVwKFwibWF4XCIsJGV2ZW50KScgI21heFJlZiA+XHJcbiAgICAgIDwvdGQ+XHJcbiAgPC90cj5cclxuPC90YWJsZT5cclxuXHJcbiAgPCEtLVxyXG4gIDxkaXYgY2xhc3M9XCJmdC1mZmlsdGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnQtZGl2MS1mZmlsdGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmdC1mZmlsdGVyLXByZXBlbmRcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnQtZmZpbHRlci10ZXh0XCI+Jmd0Oz08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aW5wdXQgY2xhc3M9XCJmdC1pIGZ0LWktZmZpbHRlciBmdC1pLW1pblwiIHR5cGU9XCJudW1iZXJcIiAgWyhuZ01vZGVsKV09J21pbicgKGtleXVwKT0nbnVtYmVyS2V5VXAoXCJtaW5cIiwkZXZlbnQpJyAjbWluUmVmID5cclxuICAgICAgPGRpdiBjbGFzcz1cImZ0LWZmaWx0ZXItYXBwZW5kXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ0LWZmaWx0ZXItdGV4dFwiPiZsdDs9PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmdC1kaXYyLWZmaWx0ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZ0LWZmaWx0ZXItcHJlcGVuZFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZnQtZmlsdGVyLXRleHRcIj4mbHQ7PTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpbnB1dCBjbGFzcz1cImZ0LWkgZnQtaS1maWx0ZXIgZnQtaS1tYXhcIiB0eXBlPVwibnVtYmVyXCIgIFsobmdNb2RlbCldPSdtYXgnIChrZXl1cCk9J251bWJlcktleVVwKFwibWF4XCIsJGV2ZW50KScgI21heFJlZiA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmdC1mZmlsdGVyLWFwcGVuZFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZnQtZmlsdGVyLXRleHRcIj4mZ3Q7PTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICAtLT5cclxuICBgLFxyXG4gIHN0eWxlczogW2BcclxuICA6aG9zdCB7IGZsZXg6MTtcclxuICB9YF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE51bWJlckZGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBGRmlsdGVyQmFzZSB7XHJcbiAgQFZpZXdDaGlsZChcIm1pblJlZlwiKSBfZWxNaW5SZWY6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZChcIm1heFJlZlwiKSBfZWxNYXhSZWY6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzb3VyY2U6IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgb3RoZXJEYXRhOiBhbnk7XHJcbiAgQElucHV0KCkgcHVibGljIGNvbHVtbk5hbWU6IHN0cmluZztcclxuXHJcbiAgQE91dHB1dCgpIGZpbHRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLy8gSG9sZCBJbnB1dHRlZCBWYWx1ZXNcclxuICBwdWJsaWMgbWluOiBudW1iZXIgPSBudWxsO1xyXG4gIHB1YmxpYyBtYXg6IG51bWJlciA9IG51bGw7XHJcblxyXG4gIG51bWJlcktleVVwKG1vZGU6IHN0cmluZywgZXZlbnQpIHtcclxuICAgIGlmIChldmVudC5rZXlDb2RlICE9PSA4ICYmIGV2ZW50LmtleUNvZGUgIT09IDQ2KSB7XHJcbiAgICAgIHRoaXNbbW9kZV0gPSBldmVudC50YXJnZXQudmFsdWU7XHJcblxyXG4gICAgICAvLyBNb3ZlIGZvY3VzIGZvciBVWFxyXG4gICAgICBpZiAobW9kZSA9PT0gJ21pbicgJiYgZXZlbnQua2V5Q29kZSA9PT0gMzkpIHtcclxuICAgICAgICB0aGlzLl9lbE1heFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAobW9kZSA9PT0gJ21heCcgJiYgZXZlbnQua2V5Q29kZSA9PT0gMzkpIHtcclxuICAgICAgICB0aGlzLl9lbE1pblJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLnNvdXJjZSA9PT0gJ2Zyb250ZW5kJykge1xyXG4gICAgICAgIGNvbnN0IGZuID0gZnVuY3Rpb24gKG5hbWUsIHNlYXJjaE1pbiwgc2VhcmNoTWF4KSB7XHJcbiAgICAgICAgICByZXR1cm4gZCA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoPGFueVtdPmQpLmZpbHRlcih4ID0+XHJcbiAgICAgICAgICAgICAgKHNlYXJjaE1pbiA/IHNlYXJjaE1pbiA8PSBOdW1iZXIoeFtuYW1lXSkgOiB0cnVlKSAmJlxyXG4gICAgICAgICAgICAgIChzZWFyY2hNYXggPyBzZWFyY2hNYXggPj0gTnVtYmVyKHhbbmFtZV0pIDogdHJ1ZSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmZpbHRlci5lbWl0KHsgY29sdW1uTmFtZTogdGhpcy5jb2x1bW5OYW1lLCBhcHBseTogZm4odGhpcy5jb2x1bW5OYW1lLCB0aGlzLm1pbiwgdGhpcy5tYXgpIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHZhciByZXN1bHQgPSB7IG1pbjogdGhpcy5taW4sIG1heDogdGhpcy5tYXggfTtcclxuICAgICAgICB0aGlzLmZpbHRlci5lbWl0KHsgY29sdW1uTmFtZTogdGhpcy5jb2x1bW5OYW1lLCB0eXBlOiAnbnVtYmVyJywgYXBwbHk6IHJlc3VsdCB9KTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLm1pbiA9IG51bGw7XHJcbiAgICB0aGlzLm1heCA9IG51bGw7XHJcbiAgICB0aGlzLmZpbHRlci5lbWl0KHsgY29sdW1uTmFtZTogdGhpcy5jb2x1bW5OYW1lLCBhcHBseTogbnVsbCB9KTtcclxuICB9XHJcbn1cclxuIl19