UNPKG

@neocomplexx/ngx-neo-completer-mat

Version:
49 lines 5.74 kB
import { __extends } from "tslib"; import { EventEmitter } from '@angular/core'; import { Observable } from 'rxjs'; import { catchError } from 'rxjs/operators'; import { CompleterBaseData } from './completer-base-data'; var LocalData = /** @class */ (function (_super) { __extends(LocalData, _super); function LocalData() { var _this = _super.call(this) || this; _this.dataSourceChange = new EventEmitter(); return _this; } LocalData.prototype.data = function (data) { var _this = this; if (data instanceof Observable) { var data$ = data; data$ .pipe(catchError(function () { return []; })) .subscribe(function (res) { _this._data = res; if (_this.savedTerm) { _this.search(_this.savedTerm); } _this.dataSourceChange.emit(); }); } else { this._data = data; } this.dataSourceChange.emit(); return this; }; LocalData.prototype.search = function (term) { if (!this._data) { this.savedTerm = term; } else { this.savedTerm = null; var matches = this.extractMatches(this._data, term); this.next(this.processResults(matches)); } }; LocalData.prototype.convertToItem = function (data) { return _super.prototype.convertToItem.call(this, data); }; return LocalData; }(CompleterBaseData)); export { LocalData }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZW9jb21wbGV4eC9uZ3gtbmVvLWNvbXBsZXRlci1tYXQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbG9jYWwtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRDtJQUErQiw2QkFBaUI7SUFPNUM7UUFBQSxZQUNJLGlCQUFPLFNBQ1Y7UUFQTSxzQkFBZ0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQzs7SUFPdkUsQ0FBQztJQUVNLHdCQUFJLEdBQVgsVUFBWSxJQUErQjtRQUEzQyxpQkFtQkM7UUFsQkcsSUFBSSxJQUFJLFlBQVksVUFBVSxFQUFFO1lBQzVCLElBQU0sS0FBSyxHQUFHLElBQXlCLENBQUM7WUFDeEMsS0FBSztpQkFDQSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQU0sT0FBQSxFQUFFLEVBQUYsQ0FBRSxDQUFDLENBQUM7aUJBQzFCLFNBQVMsQ0FBQyxVQUFDLEdBQUc7Z0JBQ1gsS0FBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7Z0JBQ2pCLElBQUksS0FBSSxDQUFDLFNBQVMsRUFBRTtvQkFDaEIsS0FBSSxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQy9CO2dCQUNELEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztTQUNWO2FBQU07WUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNyQjtRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUU3QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sMEJBQU0sR0FBYixVQUFjLElBQVk7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN6QjthQUFNO1lBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBTSxPQUFPLEdBQVUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzNDO0lBQ0wsQ0FBQztJQUVNLGlDQUFhLEdBQXBCLFVBQXFCLElBQVM7UUFDMUIsT0FBTyxpQkFBTSxhQUFhLFlBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNMLGdCQUFDO0FBQUQsQ0FBQyxBQTdDRCxDQUErQixpQkFBaUIsR0E2Qy9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IENvbXBsZXRlckJhc2VEYXRhIH0gZnJvbSAnLi9jb21wbGV0ZXItYmFzZS1kYXRhJztcclxuaW1wb3J0IHsgQ29tcGxldGVySXRlbSB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29tcGxldGVyLWl0ZW0nO1xyXG5cclxuZXhwb3J0IGNsYXNzIExvY2FsRGF0YSBleHRlbmRzIENvbXBsZXRlckJhc2VEYXRhIHtcclxuXHJcbiAgICBwdWJsaWMgZGF0YVNvdXJjZUNoYW5nZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIHByb3RlY3RlZCBfZGF0YTogYW55W107XHJcbiAgICBwcm90ZWN0ZWQgc2F2ZWRUZXJtOiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRhdGEoZGF0YTogYW55W10gfCBPYnNlcnZhYmxlPGFueVtdPikge1xyXG4gICAgICAgIGlmIChkYXRhIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhJCA9IGRhdGEgYXMgT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgICAgICAgICAgIGRhdGEkXHJcbiAgICAgICAgICAgICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IFtdKSlcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2RhdGEgPSByZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2F2ZWRUZXJtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoKHRoaXMuc2F2ZWRUZXJtKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlQ2hhbmdlLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlQ2hhbmdlLmVtaXQoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNlYXJjaCh0ZXJtOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2RhdGEpIHtcclxuICAgICAgICAgICAgdGhpcy5zYXZlZFRlcm0gPSB0ZXJtO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2F2ZWRUZXJtID0gbnVsbDtcclxuICAgICAgICAgICAgY29uc3QgbWF0Y2hlczogYW55W10gPSB0aGlzLmV4dHJhY3RNYXRjaGVzKHRoaXMuX2RhdGEsIHRlcm0pO1xyXG4gICAgICAgICAgICB0aGlzLm5leHQodGhpcy5wcm9jZXNzUmVzdWx0cyhtYXRjaGVzKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjb252ZXJ0VG9JdGVtKGRhdGE6IGFueSk6IENvbXBsZXRlckl0ZW0gfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuY29udmVydFRvSXRlbShkYXRhKTtcclxuICAgIH1cclxufVxyXG4iXX0=