UNPKG

e5core-angular-ui

Version:

e5 Anywhere Angular UI

72 lines 7.3 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ // tslint:disable:max-line-length import { Injectable } from '@angular/core'; import { ListSearchService } from 'e5core-angular-services'; import { BehaviorSubject } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "e5core-angular-services"; export class CachedListSearchService { /** * @param {?} listService */ constructor(listService) { this.listService = listService; this.cache = []; } /** * @param {?} listId * @param {?} options * @return {?} */ search(listId, options) { /** @type {?} */ let subject$ = new BehaviorSubject([]); /** @type {?} */ var cacheKey = listId; if (options !== undefined) cacheKey = cacheKey + options.parentListItemId; /** @type {?} */ var cachedItem = this.cache.filter(f => f.key == cacheKey); if (cachedItem.length > 0) { subject$.next(cachedItem[0].value); return (subject$); } this.listService.search(listId, options).subscribe(list => { // TODO : Add "field.isSystemProperty" if (listId != "Category1_Id" && listId != "Category2_Id" && listId != "Category3_Id" && listId != "Status_Id") { list.unshift((/** @type {?} */ ({ id: "-2", code: "", label: "(no value)" }))); list.unshift((/** @type {?} */ ({ id: "-1", code: "", label: "(any value)" }))); } list.unshift((/** @type {?} */ ({ id: "0", code: "", label: "" }))); this.cache.push({ key: cacheKey, value: list }); subject$.next(list); }, error => { console.error(error); subject$.error(error); }); return (subject$); } } CachedListSearchService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ CachedListSearchService.ctorParameters = () => [ { type: ListSearchService } ]; /** @nocollapse */ CachedListSearchService.ngInjectableDef = i0.defineInjectable({ factory: function CachedListSearchService_Factory() { return new CachedListSearchService(i0.inject(i1.ListSearchService)); }, token: CachedListSearchService, providedIn: "root" }); if (false) { /** @type {?} */ CachedListSearchService.prototype.cache; /** * @type {?} * @private */ CachedListSearchService.prototype.listService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkLWxpc3Qtc2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9lNWNvcmUtYW5ndWxhci11aS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9jYWNoZWQtbGlzdC1zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBRTNFLE9BQU8sRUFBa0IsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFLdkQsTUFBTSxPQUFPLHVCQUF1Qjs7OztJQUluQyxZQUFvQixXQUE4QjtRQUE5QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFGbEQsVUFBSyxHQUFtQixFQUFFLENBQUM7SUFHM0IsQ0FBQzs7Ozs7O0lBRU0sTUFBTSxDQUFDLE1BQVcsRUFBRSxPQUFZOztZQUNsQyxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQWtCLEVBQUUsQ0FBQzs7WUFFbkQsUUFBUSxHQUFHLE1BQU07UUFDckIsSUFBSSxPQUFPLEtBQUssU0FBUztZQUN4QixRQUFRLEdBQUcsUUFBUSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQzs7WUFFNUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUM7UUFDMUQsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEI7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUNqRCxJQUFJLENBQUMsRUFBRTtZQUNOLHNDQUFzQztZQUN0QyxJQUFHLE1BQU0sSUFBSSxjQUFjLElBQUksTUFBTSxJQUFJLGNBQWMsSUFBSSxNQUFNLElBQUksY0FBYyxJQUFJLE1BQU0sSUFBSSxXQUFXLEVBQUU7Z0JBQzdHLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQWUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUcsS0FBSyxFQUFFLFlBQVksRUFBQyxFQUFBLENBQUMsQ0FBRTtnQkFDMUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBZSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRyxLQUFLLEVBQUUsYUFBYSxFQUFDLEVBQUEsQ0FBQyxDQUFFO2FBQzNFO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBZSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRyxLQUFLLEVBQUUsRUFBRSxFQUFDLEVBQUEsQ0FBQyxDQUFFO1lBRS9ELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUM5QyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JCLENBQUMsRUFDRCxLQUFLLENBQUMsRUFBRTtZQUNQLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQ0QsQ0FBQztRQUNGLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuQixDQUFDOzs7WUF6Q0QsVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBTk0saUJBQWlCOzs7OztJQVN6Qix3Q0FBMkI7Ozs7O0lBRWYsOENBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6bWF4LWxpbmUtbGVuZ3RoXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaXN0U2VhcmNoU2VydmljZSwgTGlzdEl0ZW1Nb2RlbCB9IGZyb20gJ2U1Y29yZS1hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IEtleVZhbHVlUGFpciB9IGZyb20gJy4uL3V0aWwva2V5LXZhbHVlLXBhaXInO1xuaW1wb3J0IHsgb2YsIE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG5leHBvcnQgY2xhc3MgQ2FjaGVkTGlzdFNlYXJjaFNlcnZpY2Uge1xuXG5cdGNhY2hlOiBLZXlWYWx1ZVBhaXJbXSA9IFtdO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgbGlzdFNlcnZpY2U6IExpc3RTZWFyY2hTZXJ2aWNlKSB7XG5cdH1cblxuXHRwdWJsaWMgc2VhcmNoKGxpc3RJZDogYW55LCBvcHRpb25zOiBhbnkpOiBCZWhhdmlvclN1YmplY3Q8TGlzdEl0ZW1Nb2RlbFtdPiB7XG5cdFx0bGV0IHN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaXN0SXRlbU1vZGVsW10+KFtdKSA7XG5cblx0XHR2YXIgY2FjaGVLZXkgPSBsaXN0SWQ7XG5cdFx0aWYgKG9wdGlvbnMgIT09IHVuZGVmaW5lZClcblx0XHRcdGNhY2hlS2V5ID0gY2FjaGVLZXkgKyBvcHRpb25zLnBhcmVudExpc3RJdGVtSWQ7XG5cblx0XHR2YXIgY2FjaGVkSXRlbSA9IHRoaXMuY2FjaGUuZmlsdGVyKGYgPT4gZi5rZXkgPT0gY2FjaGVLZXkpO1xuXHRcdGlmIChjYWNoZWRJdGVtLmxlbmd0aCA+IDApIHtcblx0XHRcdHN1YmplY3QkLm5leHQoY2FjaGVkSXRlbVswXS52YWx1ZSk7XG5cdFx0XHRyZXR1cm4gKHN1YmplY3QkKTtcblx0XHR9XG5cblx0XHR0aGlzLmxpc3RTZXJ2aWNlLnNlYXJjaChsaXN0SWQsIG9wdGlvbnMpLnN1YnNjcmliZShcblx0XHRcdGxpc3QgPT4ge1xuXHRcdFx0XHQvLyBUT0RPIDogQWRkIFwiZmllbGQuaXNTeXN0ZW1Qcm9wZXJ0eVwiXG5cdFx0XHRcdGlmKGxpc3RJZCAhPSBcIkNhdGVnb3J5MV9JZFwiICYmIGxpc3RJZCAhPSBcIkNhdGVnb3J5Ml9JZFwiICYmIGxpc3RJZCAhPSBcIkNhdGVnb3J5M19JZFwiICYmIGxpc3RJZCAhPSBcIlN0YXR1c19JZFwiKSB7XG5cdFx0XHRcdFx0bGlzdC51bnNoaWZ0KDxMaXN0SXRlbU1vZGVsPnsgaWQ6IFwiLTJcIiwgY29kZTogXCJcIiwgIGxhYmVsOiBcIihubyB2YWx1ZSlcIn0pIDtcdFxuXHRcdFx0XHRcdGxpc3QudW5zaGlmdCg8TGlzdEl0ZW1Nb2RlbD57IGlkOiBcIi0xXCIsIGNvZGU6IFwiXCIsICBsYWJlbDogXCIoYW55IHZhbHVlKVwifSkgO1x0XG5cdFx0XHRcdH1cblx0XHRcdFx0bGlzdC51bnNoaWZ0KDxMaXN0SXRlbU1vZGVsPnsgaWQ6IFwiMFwiLCBjb2RlOiBcIlwiLCAgbGFiZWw6IFwiXCJ9KSA7XHRcblxuXHRcdFx0XHR0aGlzLmNhY2hlLnB1c2goe2tleTogY2FjaGVLZXksIHZhbHVlOiBsaXN0fSk7XG5cdFx0XHRcdHN1YmplY3QkLm5leHQobGlzdCk7XG5cdFx0XHR9LFxuXHRcdFx0ZXJyb3IgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmVycm9yKGVycm9yKTtcblx0XHRcdFx0c3ViamVjdCQuZXJyb3IoZXJyb3IpO1xuXHRcdFx0fVxuXHRcdCk7XG5cdFx0cmV0dXJuIChzdWJqZWN0JCk7XG5cdH1cbn0iXX0=