UNPKG

@neocomplexx/ngx-neo-completer

Version:

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.0.5.

49 lines 5.54 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZW9jb21wbGV4eC9uZ3gtbmVvLWNvbXBsZXRlci8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9sb2NhbC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFEO0lBQStCLDZCQUFpQjtJQU81QztRQUFBLFlBQ0ksaUJBQU8sU0FDVjtRQVBNLHNCQUFnQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDOztJQU92RSxDQUFDO0lBRU0sd0JBQUksR0FBWCxVQUFZLElBQStCO1FBQTNDLGlCQW1CQztRQWxCRyxJQUFJLElBQUksWUFBWSxVQUFVLEVBQUU7WUFDNUIsSUFBTSxLQUFLLEdBQUcsSUFBeUIsQ0FBQztZQUN4QyxLQUFLO2lCQUNBLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBTSxPQUFBLEVBQUUsRUFBRixDQUFFLENBQUMsQ0FBQztpQkFDMUIsU0FBUyxDQUFDLFVBQUMsR0FBRztnQkFDWCxLQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztnQkFDakIsSUFBSSxLQUFJLENBQUMsU0FBUyxFQUFFO29CQUNoQixLQUFJLENBQUMsTUFBTSxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDL0I7Z0JBQ0QsS0FBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1NBQ1Y7YUFBTTtZQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBRTdCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSwwQkFBTSxHQUFiLFVBQWMsSUFBWTtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO2FBQU07WUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFNLE9BQU8sR0FBVSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDM0M7SUFDTCxDQUFDO0lBRU0saUNBQWEsR0FBcEIsVUFBcUIsSUFBUztRQUMxQixPQUFPLGlCQUFNLGFBQWEsWUFBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0wsZ0JBQUM7QUFBRCxDQUFDLEFBN0NELENBQStCLGlCQUFpQixHQTZDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENvbXBsZXRlckJhc2VEYXRhIH0gZnJvbSAnLi9jb21wbGV0ZXItYmFzZS1kYXRhJztcbmltcG9ydCB7IENvbXBsZXRlckl0ZW0gfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbXBsZXRlci1pdGVtJztcblxuZXhwb3J0IGNsYXNzIExvY2FsRGF0YSBleHRlbmRzIENvbXBsZXRlckJhc2VEYXRhIHtcblxuICAgIHB1YmxpYyBkYXRhU291cmNlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBwcm90ZWN0ZWQgX2RhdGE6IGFueVtdO1xuICAgIHByb3RlY3RlZCBzYXZlZFRlcm06IHN0cmluZyB8IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGF0YShkYXRhOiBhbnlbXSB8IE9ic2VydmFibGU8YW55W10+KSB7XG4gICAgICAgIGlmIChkYXRhIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgY29uc3QgZGF0YSQgPSBkYXRhIGFzIE9ic2VydmFibGU8YW55W10+O1xuICAgICAgICAgICAgZGF0YSRcbiAgICAgICAgICAgICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IFtdKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZGF0YSA9IHJlcztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2F2ZWRUZXJtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaCh0aGlzLnNhdmVkVGVybSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kYXRhU291cmNlQ2hhbmdlLmVtaXQoKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VhcmNoKHRlcm06IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2RhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZWRUZXJtID0gdGVybTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZWRUZXJtID0gbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZXM6IGFueVtdID0gdGhpcy5leHRyYWN0TWF0Y2hlcyh0aGlzLl9kYXRhLCB0ZXJtKTtcbiAgICAgICAgICAgIHRoaXMubmV4dCh0aGlzLnByb2Nlc3NSZXN1bHRzKG1hdGNoZXMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjb252ZXJ0VG9JdGVtKGRhdGE6IGFueSk6IENvbXBsZXRlckl0ZW0gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNvbnZlcnRUb0l0ZW0oZGF0YSk7XG4gICAgfVxufVxuIl19