@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
JavaScript
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