@colijnit/transaction 12.1.175 → 12.1.176
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-transaction.umd.js +2499 -1873
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +529 -522
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +530 -523
- package/esm2015/lib/cache/service/transaction-business-object-cache-manager.service.js +157 -0
- package/esm2015/lib/cache/service/transaction-select-multiple-cache.service.js +38 -0
- package/esm2015/lib/cache/service/transaction-select-multiple-parameterized-cache.service.js +47 -0
- package/esm2015/lib/cache/service/transaction-select-single-cache.service.js +33 -0
- package/esm2015/lib/cache/service/transaction-select-single-parameterized-cache.service.js +47 -0
- package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +119 -214
- package/esm2015/lib/component/checkout/checkout.module.js +4 -2
- package/esm2015/lib/component/core/base/transaction-payment-base.component.js +257 -0
- package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +7 -2
- package/esm2015/lib/component/payment/payment.component.js +5 -238
- package/esm2015/lib/component/relation/relation-address/relation-address.component.js +1 -7
- package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +2 -1
- package/esm2015/lib/component/relation/suggestions-sidebar/suggestions-sidebar.component.js +151 -0
- package/esm2015/lib/component/relation/suggestions-sidebar/suggestions-sidebar.module.js +25 -0
- package/esm2015/lib/component/transaction/transaction.component.js +2 -2
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/transaction-cash-register-link-relation.component.js +2 -5
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.js +26 -25
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.module.js +8 -2
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.component.js +103 -65
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.module.js +4 -2
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +8 -6
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +2 -2
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-base.component.js +13 -5
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-relation.component.js +72 -7
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +40 -25
- package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +12 -4
- package/esm2015/lib/component/transaction-internal/transaction-internal.module.js +4 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat-button.component.js +2 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +2 -2
- package/esm2015/lib/component/transaction-line-purchase-receive-goods/transaction-line-purchase-receive-goods.component.js +2 -2
- package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +1 -1
- package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/transaction-lines-side-panel.component.js +70 -0
- package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/transaction-lines-side-panel.module.js +21 -0
- package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/transaction-lines-side-panel-cash-desk.component.js +109 -0
- package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/transaction-lines-side-panel-cash-desk.module.js +29 -0
- package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +5 -3
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-pos-grid/transaction-search-pos-grid.component.js +84 -0
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-pos-grid/transaction-search-pos-grid.module.js +24 -0
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.js +5 -1
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-pos-order-tile/transaction-search-pos-order-tile.component.js +102 -0
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-pos-order-tile/transaction-search-pos-order-tile.module.js +30 -0
- package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
- package/esm2015/lib/service/article.service.js +5 -5
- package/esm2015/lib/service/payment.service.js +8 -8
- package/esm2015/lib/service/relation-suggestions.service.js +69 -0
- package/esm2015/lib/service/relation.service.js +29 -30
- package/esm2015/lib/service/transaction-base.service.js +15 -4
- package/esm2015/lib/service/transaction-connector-adapter.service.js +9 -9
- package/esm2015/lib/service/transaction-connector.service.js +14 -14
- package/esm2015/lib/service/transaction-mapping.service.js +16 -3
- package/esm2015/lib/service/transaction.service.js +3 -3
- package/esm2015/lib/transaction-version.js +3 -3
- package/esm2015/public_api.js +6 -1
- package/fesm2015/colijnit-transaction.js +2250 -1518
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/cache/service/{business-object-cache-manager.service.d.ts → transaction-business-object-cache-manager.service.d.ts} +1 -2
- package/lib/cache/service/{select-multiple-cache.service.d.ts → transaction-select-multiple-cache.service.d.ts} +3 -3
- package/lib/cache/service/{select-multiple-parameterized-cache.service.d.ts → transaction-select-multiple-parameterized-cache.service.d.ts} +3 -3
- package/lib/cache/service/{select-single-cache.service.d.ts → transaction-select-single-cache.service.d.ts} +3 -3
- package/lib/cache/service/{select-single-parameterized-cache.service.d.ts → transaction-select-single-parameterized-cache.service.d.ts} +3 -3
- package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +3 -10
- package/lib/component/checkout/checkout-overview-relation-edit/style/_layout.scss +0 -31
- package/lib/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +0 -15
- package/lib/component/core/base/transaction-payment-base.component.d.ts +68 -0
- package/lib/component/payment/payment.component.d.ts +2 -63
- package/lib/component/relation/suggestions-sidebar/style/_layout.scss +37 -0
- package/lib/component/relation/suggestions-sidebar/style/_material-definition.scss +15 -0
- package/lib/component/relation/suggestions-sidebar/style/_theme.scss +4 -0
- package/lib/component/relation/suggestions-sidebar/style/material.scss +4 -0
- package/lib/component/relation/suggestions-sidebar/suggestions-sidebar.component.d.ts +29 -0
- package/lib/component/relation/suggestions-sidebar/suggestions-sidebar.module.d.ts +2 -0
- package/lib/component/transaction-cash-register-order/style/_layout.scss +1 -1
- package/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/transaction-cash-register-link-relation.component.d.ts +0 -1
- package/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.d.ts +2 -4
- package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/style/_layout.scss +28 -6
- package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/style/_material-definition.scss +3 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.component.d.ts +15 -12
- package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-base.component.d.ts +2 -2
- package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-relation.component.d.ts +28 -1
- package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +1 -0
- package/lib/component/transaction-internal/style/_layout.scss +4 -1
- package/lib/component/transaction-internal/transaction-internal.component.d.ts +3 -1
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/style/_layout.scss +6 -0
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/style/_material-definition.scss +2 -0
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/style/_theme.scss +4 -0
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/style/material.scss +5 -0
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/transaction-lines-side-panel.component.d.ts +20 -0
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/transaction-lines-side-panel.module.d.ts +2 -0
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/style/_layout.scss +31 -0
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/style/_theme.scss +4 -0
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/style/material.scss +4 -0
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/transaction-lines-side-panel-cash-desk.component.d.ts +33 -0
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/transaction-lines-side-panel-cash-desk.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-pos-grid/style/_layout.scss +4 -0
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-pos-grid/style/_material-definition.scss +0 -0
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-pos-grid/style/_theme.scss +4 -0
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-pos-grid/transaction-search-pos-grid.component.d.ts +7 -0
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-pos-grid/transaction-search-pos-grid.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-pos-order-tile/style/_layout.scss +4 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-pos-order-tile/style/_material-definition.scss +0 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-pos-order-tile/style/_theme.scss +4 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-pos-order-tile/style/material.scss +4 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-pos-order-tile/transaction-search-pos-order-tile.component.d.ts +9 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-pos-order-tile/transaction-search-pos-order-tile.module.d.ts +2 -0
- package/lib/res/dictionary/dictionaries.d.ts +2 -0
- package/lib/service/article.service.d.ts +2 -2
- package/lib/service/payment.service.d.ts +3 -3
- package/lib/service/relation-suggestions.service.d.ts +22 -0
- package/lib/service/relation.service.d.ts +4 -4
- package/lib/service/transaction-connector-adapter.service.d.ts +3 -3
- package/lib/service/transaction-connector.service.d.ts +5 -5
- package/lib/service/transaction-mapping.service.d.ts +2 -0
- package/package.json +1 -1
- package/public_api.d.ts +5 -0
- package/esm2015/lib/cache/service/business-object-cache-manager.service.js +0 -156
- package/esm2015/lib/cache/service/select-multiple-cache.service.js +0 -38
- package/esm2015/lib/cache/service/select-multiple-parameterized-cache.service.js +0 -47
- package/esm2015/lib/cache/service/select-single-cache.service.js +0 -33
- package/esm2015/lib/cache/service/select-single-parameterized-cache.service.js +0 -47
- package/lib/component/cash-register-order-wrapper.ts/style/_layout.scss +0 -4
- package/lib/component/cash-register-order-wrapper.ts/style/_theme.scss +0 -4
- /package/lib/component/{cash-register-order-wrapper.ts → transaction-lines-side-panel/transaction-lines-side-panel-cash-desk}/style/_material-definition.scss +0 -0
- /package/lib/component/{cash-register-order-wrapper.ts → transaction-search/transaction-search-grid/transaction-search-pos-grid}/style/material.scss +0 -0
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { CacheField } from '../cache-field';
|
|
4
|
-
import { ParameterCacheField } from '../parameter-cache-field';
|
|
5
|
-
import { ObjectUtils } from '@colijnit/ioneconnector/build/utils/object-utils';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* App-wide, top-level, 'dumb' BO cache manager service. It stores and returns simple and parameterized business object cache items.
|
|
9
|
-
*
|
|
10
|
-
* Several other services register cache items onto this manager, such as repositories or the more generic SelectMultipleSimpleCacheService.
|
|
11
|
-
*
|
|
12
|
-
* This is a dumb cache manager. It just functions as a point to add and retrieve generic cache items, but does not know how to actually
|
|
13
|
-
* LOAD these cache items from the database, or what exact types the items are.
|
|
14
|
-
*
|
|
15
|
-
* All caches are reset when the user logs out.
|
|
16
|
-
*/
|
|
17
|
-
export class BusinessObjectCacheManagerService {
|
|
18
|
-
constructor() {
|
|
19
|
-
// emits after this BO cache manager has been reset (e.g. after user logs out)
|
|
20
|
-
this.reset = new Subject();
|
|
21
|
-
// key: global cache id's, e.g. a model classe or any other arbitrary key for cache items
|
|
22
|
-
this._selectMultipleCache = new Map();
|
|
23
|
-
// key: global cache id's, e.g. a model classe or any other arbitrary key for cache items
|
|
24
|
-
this._selectMultipleParameterizedCache = new Map();
|
|
25
|
-
this._selectSingleCache = new Map();
|
|
26
|
-
this._selectSingleParameterizedCache = new Map();
|
|
27
|
-
}
|
|
28
|
-
// constructor(private _transactionService: TransactionService) {
|
|
29
|
-
// this._logoutSub = this._transactionService.logout.subscribe(() => {
|
|
30
|
-
// this._reset();
|
|
31
|
-
// });
|
|
32
|
-
// }
|
|
33
|
-
ngOnDestroy() {
|
|
34
|
-
this._logoutSub.unsubscribe();
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Creates and adds a new simple cache item for the given key with the given load function.
|
|
38
|
-
* @param key
|
|
39
|
-
* @param loadFunction e.g. () => { return this._dataService.selectMultiple(Color); }
|
|
40
|
-
* @param overrideOld Whether to allow an old cache item with the same key to become override by this newly created cache item.
|
|
41
|
-
* @returns The newly created cache item.
|
|
42
|
-
*/
|
|
43
|
-
addNewSelectMultipleCacheItem(key, loadFunction, overrideOld = false) {
|
|
44
|
-
if (!overrideOld && this._selectMultipleCache.has(key)) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const newCacheItem = new CacheField();
|
|
48
|
-
newCacheItem.loadFunction = loadFunction;
|
|
49
|
-
this._selectMultipleCache.set(key, newCacheItem);
|
|
50
|
-
return newCacheItem;
|
|
51
|
-
}
|
|
52
|
-
addNewSelectSingleCacheItem(key, id = BusinessObjectCacheManagerService._NullBoId, loadFunction, overrideOld = false) {
|
|
53
|
-
const cacheId = id.toString();
|
|
54
|
-
if (!overrideOld && this.hasSingleCacheItem(key, id)) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
if (!this._selectSingleCache.has(key)) {
|
|
58
|
-
this._selectSingleCache.set(key, {});
|
|
59
|
-
}
|
|
60
|
-
const newCacheItem = new CacheField();
|
|
61
|
-
newCacheItem.loadFunction = loadFunction;
|
|
62
|
-
this._selectSingleCache.get(key)[cacheId] = newCacheItem;
|
|
63
|
-
return newCacheItem;
|
|
64
|
-
}
|
|
65
|
-
addNewSelectSingleParameterizedCacheItem(key, loadFunction, overrideOld = false) {
|
|
66
|
-
if (!overrideOld && this._selectSingleParameterizedCache.has(key)) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
const newCacheItem = new ParameterCacheField();
|
|
70
|
-
newCacheItem.loadFunction = loadFunction;
|
|
71
|
-
this._selectSingleParameterizedCache.set(key, newCacheItem);
|
|
72
|
-
return newCacheItem;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Creates and adds a new parameterized cache item for the given key with the given load function.
|
|
76
|
-
* @param key
|
|
77
|
-
* @param loadFunction e.g. (category: ArticleCategory) => { return this._dataService.selectMultiple(TurnoverGroupImage, category); }
|
|
78
|
-
* @param overrideOld Whether to allow an old cache item with the same key to become override by this newly created cache item.
|
|
79
|
-
*/
|
|
80
|
-
addNewSelectMultipleParameterizedCacheItem(key, loadFunction, overrideOld = false) {
|
|
81
|
-
if (!overrideOld && this._selectMultipleParameterizedCache.has(key)) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
const newCacheItem = new ParameterCacheField();
|
|
85
|
-
newCacheItem.loadFunction = loadFunction;
|
|
86
|
-
this._selectMultipleParameterizedCache.set(key, newCacheItem);
|
|
87
|
-
return newCacheItem;
|
|
88
|
-
}
|
|
89
|
-
hasSelectMultipleCacheItem(key) {
|
|
90
|
-
return this._selectMultipleCache.has(key);
|
|
91
|
-
}
|
|
92
|
-
hasSingleCacheItem(key, id = BusinessObjectCacheManagerService._NullBoId) {
|
|
93
|
-
const cacheId = id.toString();
|
|
94
|
-
return this._selectSingleCache.has(key) && !!this._selectSingleCache.get(key)[cacheId];
|
|
95
|
-
}
|
|
96
|
-
hasSelectMultipleParameterizedCacheItem(key) {
|
|
97
|
-
return this._selectMultipleParameterizedCache.has(key);
|
|
98
|
-
}
|
|
99
|
-
hasSelectSingleParameterizedCacheItem(key) {
|
|
100
|
-
return this._selectSingleParameterizedCache.has(key);
|
|
101
|
-
}
|
|
102
|
-
// Returns the simple cache item with the given key. T is the type of the cache value items requested, e.g. Color.
|
|
103
|
-
getSelectMultipleCacheItem(key) {
|
|
104
|
-
return this._selectMultipleCache.get(key);
|
|
105
|
-
}
|
|
106
|
-
getSingleCacheItem(key, id = BusinessObjectCacheManagerService._NullBoId) {
|
|
107
|
-
const cacheId = id.toString();
|
|
108
|
-
return this._selectSingleCache.has(key) && this._selectSingleCache.get(key)[cacheId];
|
|
109
|
-
}
|
|
110
|
-
deleteSingleCacheItem(key, id = BusinessObjectCacheManagerService._NullBoId) {
|
|
111
|
-
const cacheId = id.toString();
|
|
112
|
-
if (this._selectSingleCache.has(key)) {
|
|
113
|
-
this._selectSingleCache.delete(key);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
// Returns the parameterized cache item with the given key. T is the type of the cache value items requested, e.g. Color.
|
|
117
|
-
getSelectMultipleParameterCacheItem(key) {
|
|
118
|
-
return this._selectMultipleParameterizedCache.get(key);
|
|
119
|
-
}
|
|
120
|
-
getSelectSingleParameterCacheItem(key) {
|
|
121
|
-
return this._selectSingleParameterizedCache.get(key);
|
|
122
|
-
}
|
|
123
|
-
_reset() {
|
|
124
|
-
this._selectMultipleCache.forEach((cacheItem) => {
|
|
125
|
-
if (cacheItem) {
|
|
126
|
-
cacheItem.reset();
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
this._selectSingleCache.forEach((cache) => {
|
|
130
|
-
if (cache) {
|
|
131
|
-
ObjectUtils.ForOwnProperty(cache, (cacheField) => {
|
|
132
|
-
cacheField.reset();
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
this._selectSingleParameterizedCache.forEach((selSinParamCacheItem) => {
|
|
137
|
-
if (selSinParamCacheItem) {
|
|
138
|
-
selSinParamCacheItem.reset();
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
this._selectMultipleParameterizedCache.forEach((selMulParamCacheItem) => {
|
|
142
|
-
if (selMulParamCacheItem) {
|
|
143
|
-
selMulParamCacheItem.reset();
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
this.reset.next();
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
BusinessObjectCacheManagerService._NullBoId = -1;
|
|
150
|
-
BusinessObjectCacheManagerService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BusinessObjectCacheManagerService_Factory() { return new BusinessObjectCacheManagerService(); }, token: BusinessObjectCacheManagerService, providedIn: "root" });
|
|
151
|
-
BusinessObjectCacheManagerService.decorators = [
|
|
152
|
-
{ type: Injectable, args: [{
|
|
153
|
-
providedIn: "root"
|
|
154
|
-
},] }
|
|
155
|
-
];
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3Mtb2JqZWN0LWNhY2hlLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY2FjaGUvc2VydmljZS9idXNpbmVzcy1vYmplY3QtY2FjaGUtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFN0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtEQUFrRCxDQUFDOztBQUc3RTs7Ozs7Ozs7O0dBU0c7QUFLSCxNQUFNLE9BQU8saUNBQWlDO0lBSjlDO1FBS0UsOEVBQThFO1FBQzlELFVBQUssR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUkzRCx5RkFBeUY7UUFDakYseUJBQW9CLEdBQTJDLElBQUksR0FBRyxFQUFFLENBQUM7UUFFakYseUZBQXlGO1FBQ2pGLHNDQUFpQyxHQUNyQyxJQUFJLEdBQUcsRUFBOEMsQ0FBQztRQUVsRCx1QkFBa0IsR0FBaUYsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3RyxvQ0FBK0IsR0FDbkMsSUFBSSxHQUFHLEVBQW9DLENBQUM7S0FtS2pEO0lBL0pDLGlFQUFpRTtJQUNqRSx3RUFBd0U7SUFDeEUscUJBQXFCO0lBQ3JCLFFBQVE7SUFDUixJQUFJO0lBRUosV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDZCQUE2QixDQUNsQyxHQUFRLEVBQ1IsWUFBZ0MsRUFDaEMsY0FBdUIsS0FBSztRQUU1QixJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEQsT0FBTztTQUNSO1FBRUQsTUFBTSxZQUFZLEdBQW9CLElBQUksVUFBVSxFQUFPLENBQUM7UUFDNUQsWUFBWSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDekMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDakQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVNLDJCQUEyQixDQUNoQyxHQUFpQixFQUNqQixLQUEyQixpQ0FBaUMsQ0FBQyxTQUFTLEVBQ3RFLFlBQThCLEVBQzlCLGNBQXVCLEtBQUs7UUFFNUIsTUFBTSxPQUFPLEdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUNwRCxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN0QztRQUNELE1BQU0sWUFBWSxHQUFrQixJQUFJLFVBQVUsRUFBSyxDQUFDO1FBQ3hELFlBQVksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsWUFBWSxDQUFDO1FBQ3pELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTSx3Q0FBd0MsQ0FDN0MsR0FBUSxFQUNSLFlBQTBDLEVBQzFDLGNBQXVCLEtBQUs7UUFFNUIsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsK0JBQStCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pFLE9BQU87U0FDUjtRQUVELE1BQU0sWUFBWSxHQUEyQixJQUFJLG1CQUFtQixFQUFLLENBQUM7UUFDMUUsWUFBWSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDekMsSUFBSSxDQUFDLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDNUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksMENBQTBDLENBQy9DLEdBQVEsRUFDUixZQUE0QyxFQUM1QyxjQUF1QixLQUFLO1FBRTVCLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGlDQUFpQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNuRSxPQUFPO1NBQ1I7UUFFRCxNQUFNLFlBQVksR0FBNkIsSUFBSSxtQkFBbUIsRUFBTyxDQUFDO1FBQzlFLFlBQVksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTSwwQkFBMEIsQ0FBQyxHQUFRO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sa0JBQWtCLENBQTJCLEdBQWlCLEVBQUUsS0FBMkIsaUNBQWlDLENBQUMsU0FBUztRQUMzSSxNQUFNLE9BQU8sR0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFTSx1Q0FBdUMsQ0FBQyxHQUFRO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0scUNBQXFDLENBQUMsR0FBUTtRQUNuRCxPQUFPLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGtIQUFrSDtJQUMzRywwQkFBMEIsQ0FBMkIsR0FBUTtRQUNsRSxPQUF3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxrQkFBa0IsQ0FBMkIsR0FBaUIsRUFBRSxLQUEyQixpQ0FBaUMsQ0FBQyxTQUFTO1FBQzNJLE1BQU0sT0FBTyxHQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQWtCLENBQUM7SUFDeEcsQ0FBQztJQUVNLHFCQUFxQixDQUEyQixHQUFpQixFQUFFLEtBQTJCLGlDQUFpQyxDQUFDLFNBQVM7UUFDOUksTUFBTSxPQUFPLEdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVELHlIQUF5SDtJQUNsSCxtQ0FBbUMsQ0FBMkIsR0FBUTtRQUMzRSxPQUFpQyxJQUFJLENBQUMsaUNBQWlDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTSxpQ0FBaUMsQ0FBSSxHQUFRO1FBQ2xELE9BQStCLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBdUMsRUFBRSxFQUFFO1lBQzVFLElBQUksU0FBUyxFQUFFO2dCQUNiLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNuQjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWtELEVBQUUsRUFBRTtZQUNyRixJQUFJLEtBQUssRUFBRTtnQkFDVCxXQUFXLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQXNDLEVBQUUsRUFBRTtvQkFDM0UsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNyQixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsK0JBQStCLENBQUMsT0FBTyxDQUFDLENBQUMsb0JBQXlELEVBQUUsRUFBRTtZQUN6RyxJQUFJLG9CQUFvQixFQUFFO2dCQUN4QixvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUM5QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUEyRCxFQUFFLEVBQUU7WUFDN0csSUFBSSxvQkFBb0IsRUFBRTtnQkFDeEIsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7QUE3S2MsMkNBQVMsR0FBVyxDQUFDLENBQUMsQ0FBQzs7O1lBUnZDLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0NhY2hlRmllbGR9IGZyb20gJy4uL2NhY2hlLWZpZWxkJztcclxuaW1wb3J0IHtQYXJhbWV0ZXJDYWNoZUZpZWxkfSBmcm9tICcuLi9wYXJhbWV0ZXItY2FjaGUtZmllbGQnO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0fSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9idXNpbmVzcy1vYmplY3QnO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC91dGlscy9vYmplY3QtdXRpbHMnO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0SURUeXBlfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC90eXBlL2J1c2luZXNzLW9iamVjdC1pZC10eXBlJztcclxuXHJcbi8qKlxyXG4gKiBBcHAtd2lkZSwgdG9wLWxldmVsLCAnZHVtYicgQk8gY2FjaGUgbWFuYWdlciBzZXJ2aWNlLiBJdCBzdG9yZXMgYW5kIHJldHVybnMgc2ltcGxlIGFuZCBwYXJhbWV0ZXJpemVkIGJ1c2luZXNzIG9iamVjdCBjYWNoZSBpdGVtcy5cclxuICpcclxuICogU2V2ZXJhbCBvdGhlciBzZXJ2aWNlcyByZWdpc3RlciBjYWNoZSBpdGVtcyBvbnRvIHRoaXMgbWFuYWdlciwgc3VjaCBhcyByZXBvc2l0b3JpZXMgb3IgdGhlIG1vcmUgZ2VuZXJpYyBTZWxlY3RNdWx0aXBsZVNpbXBsZUNhY2hlU2VydmljZS5cclxuICpcclxuICogVGhpcyBpcyBhIGR1bWIgY2FjaGUgbWFuYWdlci4gSXQganVzdCBmdW5jdGlvbnMgYXMgYSBwb2ludCB0byBhZGQgYW5kIHJldHJpZXZlIGdlbmVyaWMgY2FjaGUgaXRlbXMsIGJ1dCBkb2VzIG5vdCBrbm93IGhvdyB0byBhY3R1YWxseVxyXG4gKiBMT0FEIHRoZXNlIGNhY2hlIGl0ZW1zIGZyb20gdGhlIGRhdGFiYXNlLCBvciB3aGF0IGV4YWN0IHR5cGVzIHRoZSBpdGVtcyBhcmUuXHJcbiAqXHJcbiAqIEFsbCBjYWNoZXMgYXJlIHJlc2V0IHdoZW4gdGhlIHVzZXIgbG9ncyBvdXQuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG4gIH1cclxuKVxyXG5leHBvcnQgY2xhc3MgQnVzaW5lc3NPYmplY3RDYWNoZU1hbmFnZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvLyBlbWl0cyBhZnRlciB0aGlzIEJPIGNhY2hlIG1hbmFnZXIgaGFzIGJlZW4gcmVzZXQgKGUuZy4gYWZ0ZXIgdXNlciBsb2dzIG91dClcclxuICBwdWJsaWMgcmVhZG9ubHkgcmVzZXQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBfTnVsbEJvSWQ6IG51bWJlciA9IC0xO1xyXG5cclxuICAvLyBrZXk6IGdsb2JhbCBjYWNoZSBpZCdzLCBlLmcuIGEgbW9kZWwgY2xhc3NlIG9yIGFueSBvdGhlciBhcmJpdHJhcnkga2V5IGZvciBjYWNoZSBpdGVtc1xyXG4gIHByaXZhdGUgX3NlbGVjdE11bHRpcGxlQ2FjaGU6IE1hcDxhbnksIENhY2hlRmllbGQ8QnVzaW5lc3NPYmplY3RbXT4+ID0gbmV3IE1hcCgpO1xyXG5cclxuICAvLyBrZXk6IGdsb2JhbCBjYWNoZSBpZCdzLCBlLmcuIGEgbW9kZWwgY2xhc3NlIG9yIGFueSBvdGhlciBhcmJpdHJhcnkga2V5IGZvciBjYWNoZSBpdGVtc1xyXG4gIHByaXZhdGUgX3NlbGVjdE11bHRpcGxlUGFyYW1ldGVyaXplZENhY2hlOiBNYXA8YW55LCBQYXJhbWV0ZXJDYWNoZUZpZWxkPEJ1c2luZXNzT2JqZWN0W10+PlxyXG4gICAgPSBuZXcgTWFwPGFueSwgUGFyYW1ldGVyQ2FjaGVGaWVsZDxCdXNpbmVzc09iamVjdFtdPj4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfc2VsZWN0U2luZ2xlQ2FjaGU6IE1hcDx7IG5ldygpOiBCdXNpbmVzc09iamVjdCB9LCB7IFtpZDogc3RyaW5nXTogQ2FjaGVGaWVsZDxCdXNpbmVzc09iamVjdD4gfT4gPSBuZXcgTWFwKCk7XHJcbiAgcHJpdmF0ZSBfc2VsZWN0U2luZ2xlUGFyYW1ldGVyaXplZENhY2hlOiBNYXA8YW55LCBQYXJhbWV0ZXJDYWNoZUZpZWxkPE9iamVjdD4+XHJcbiAgICA9IG5ldyBNYXA8YW55LCBQYXJhbWV0ZXJDYWNoZUZpZWxkPE9iamVjdD4+KCk7XHJcblxyXG4gIHByaXZhdGUgX2xvZ291dFN1YjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvLyBjb25zdHJ1Y3Rvcihwcml2YXRlIF90cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSkge1xyXG4gIC8vICAgdGhpcy5fbG9nb3V0U3ViID0gdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmxvZ291dC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gIC8vICAgICB0aGlzLl9yZXNldCgpO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xvZ291dFN1Yi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhbmQgYWRkcyBhIG5ldyBzaW1wbGUgY2FjaGUgaXRlbSBmb3IgdGhlIGdpdmVuIGtleSB3aXRoIHRoZSBnaXZlbiBsb2FkIGZ1bmN0aW9uLlxyXG4gICAqIEBwYXJhbSBrZXlcclxuICAgKiBAcGFyYW0gbG9hZEZ1bmN0aW9uIGUuZy4gKCkgPT4geyByZXR1cm4gdGhpcy5fZGF0YVNlcnZpY2Uuc2VsZWN0TXVsdGlwbGUoQ29sb3IpOyB9XHJcbiAgICogQHBhcmFtIG92ZXJyaWRlT2xkIFdoZXRoZXIgdG8gYWxsb3cgYW4gb2xkIGNhY2hlIGl0ZW0gd2l0aCB0aGUgc2FtZSBrZXkgdG8gYmVjb21lIG92ZXJyaWRlIGJ5IHRoaXMgbmV3bHkgY3JlYXRlZCBjYWNoZSBpdGVtLlxyXG4gICAqIEByZXR1cm5zIFRoZSBuZXdseSBjcmVhdGVkIGNhY2hlIGl0ZW0uXHJcbiAgICovXHJcbiAgcHVibGljIGFkZE5ld1NlbGVjdE11bHRpcGxlQ2FjaGVJdGVtPFQgZXh0ZW5kcyBCdXNpbmVzc09iamVjdD4oXHJcbiAgICBrZXk6IGFueSxcclxuICAgIGxvYWRGdW5jdGlvbjogKCkgPT4gUHJvbWlzZTxUW10+LFxyXG4gICAgb3ZlcnJpZGVPbGQ6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICk6IENhY2hlRmllbGQ8VFtdPiB7XHJcbiAgICBpZiAoIW92ZXJyaWRlT2xkICYmIHRoaXMuX3NlbGVjdE11bHRpcGxlQ2FjaGUuaGFzKGtleSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5ld0NhY2hlSXRlbTogQ2FjaGVGaWVsZDxUW10+ID0gbmV3IENhY2hlRmllbGQ8VFtdPigpO1xyXG4gICAgbmV3Q2FjaGVJdGVtLmxvYWRGdW5jdGlvbiA9IGxvYWRGdW5jdGlvbjtcclxuICAgIHRoaXMuX3NlbGVjdE11bHRpcGxlQ2FjaGUuc2V0KGtleSwgbmV3Q2FjaGVJdGVtKTtcclxuICAgIHJldHVybiBuZXdDYWNoZUl0ZW07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkTmV3U2VsZWN0U2luZ2xlQ2FjaGVJdGVtPFQgZXh0ZW5kcyBCdXNpbmVzc09iamVjdD4oXHJcbiAgICBrZXk6IHsgbmV3KCk6IFQgfSxcclxuICAgIGlkOiBCdXNpbmVzc09iamVjdElEVHlwZSA9IEJ1c2luZXNzT2JqZWN0Q2FjaGVNYW5hZ2VyU2VydmljZS5fTnVsbEJvSWQsXHJcbiAgICBsb2FkRnVuY3Rpb246ICgpID0+IFByb21pc2U8VD4sXHJcbiAgICBvdmVycmlkZU9sZDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgKTogQ2FjaGVGaWVsZDxUPiB7XHJcbiAgICBjb25zdCBjYWNoZUlkOiBzdHJpbmcgPSBpZC50b1N0cmluZygpO1xyXG4gICAgaWYgKCFvdmVycmlkZU9sZCAmJiB0aGlzLmhhc1NpbmdsZUNhY2hlSXRlbShrZXksIGlkKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuX3NlbGVjdFNpbmdsZUNhY2hlLmhhcyhrZXkpKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdFNpbmdsZUNhY2hlLnNldChrZXksIHt9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IG5ld0NhY2hlSXRlbTogQ2FjaGVGaWVsZDxUPiA9IG5ldyBDYWNoZUZpZWxkPFQ+KCk7XHJcbiAgICBuZXdDYWNoZUl0ZW0ubG9hZEZ1bmN0aW9uID0gbG9hZEZ1bmN0aW9uO1xyXG4gICAgdGhpcy5fc2VsZWN0U2luZ2xlQ2FjaGUuZ2V0KGtleSlbY2FjaGVJZF0gPSBuZXdDYWNoZUl0ZW07XHJcbiAgICByZXR1cm4gbmV3Q2FjaGVJdGVtO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZE5ld1NlbGVjdFNpbmdsZVBhcmFtZXRlcml6ZWRDYWNoZUl0ZW08VCBleHRlbmRzIE9iamVjdD4oXHJcbiAgICBrZXk6IGFueSxcclxuICAgIGxvYWRGdW5jdGlvbjogKHBhcmFtcz86IGFueSkgPT4gUHJvbWlzZTxUPixcclxuICAgIG92ZXJyaWRlT2xkOiBib29sZWFuID0gZmFsc2VcclxuICApOiBQYXJhbWV0ZXJDYWNoZUZpZWxkPFQ+IHtcclxuICAgIGlmICghb3ZlcnJpZGVPbGQgJiYgdGhpcy5fc2VsZWN0U2luZ2xlUGFyYW1ldGVyaXplZENhY2hlLmhhcyhrZXkpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXdDYWNoZUl0ZW06IFBhcmFtZXRlckNhY2hlRmllbGQ8VD4gPSBuZXcgUGFyYW1ldGVyQ2FjaGVGaWVsZDxUPigpO1xyXG4gICAgbmV3Q2FjaGVJdGVtLmxvYWRGdW5jdGlvbiA9IGxvYWRGdW5jdGlvbjtcclxuICAgIHRoaXMuX3NlbGVjdFNpbmdsZVBhcmFtZXRlcml6ZWRDYWNoZS5zZXQoa2V5LCBuZXdDYWNoZUl0ZW0pO1xyXG4gICAgcmV0dXJuIG5ld0NhY2hlSXRlbTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYW5kIGFkZHMgYSBuZXcgcGFyYW1ldGVyaXplZCBjYWNoZSBpdGVtIGZvciB0aGUgZ2l2ZW4ga2V5IHdpdGggdGhlIGdpdmVuIGxvYWQgZnVuY3Rpb24uXHJcbiAgICogQHBhcmFtIGtleVxyXG4gICAqIEBwYXJhbSBsb2FkRnVuY3Rpb24gZS5nLiAoY2F0ZWdvcnk6IEFydGljbGVDYXRlZ29yeSkgPT4geyByZXR1cm4gdGhpcy5fZGF0YVNlcnZpY2Uuc2VsZWN0TXVsdGlwbGUoVHVybm92ZXJHcm91cEltYWdlLCBjYXRlZ29yeSk7IH1cclxuICAgKiBAcGFyYW0gb3ZlcnJpZGVPbGQgV2hldGhlciB0byBhbGxvdyBhbiBvbGQgY2FjaGUgaXRlbSB3aXRoIHRoZSBzYW1lIGtleSB0byBiZWNvbWUgb3ZlcnJpZGUgYnkgdGhpcyBuZXdseSBjcmVhdGVkIGNhY2hlIGl0ZW0uXHJcbiAgICovXHJcbiAgcHVibGljIGFkZE5ld1NlbGVjdE11bHRpcGxlUGFyYW1ldGVyaXplZENhY2hlSXRlbTxUIGV4dGVuZHMgQnVzaW5lc3NPYmplY3Q+KFxyXG4gICAga2V5OiBhbnksXHJcbiAgICBsb2FkRnVuY3Rpb246IChwYXJhbXM/OiBhbnkpID0+IFByb21pc2U8VFtdPixcclxuICAgIG92ZXJyaWRlT2xkOiBib29sZWFuID0gZmFsc2VcclxuICApOiBQYXJhbWV0ZXJDYWNoZUZpZWxkPFRbXT4ge1xyXG4gICAgaWYgKCFvdmVycmlkZU9sZCAmJiB0aGlzLl9zZWxlY3RNdWx0aXBsZVBhcmFtZXRlcml6ZWRDYWNoZS5oYXMoa2V5KSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbmV3Q2FjaGVJdGVtOiBQYXJhbWV0ZXJDYWNoZUZpZWxkPFRbXT4gPSBuZXcgUGFyYW1ldGVyQ2FjaGVGaWVsZDxUW10+KCk7XHJcbiAgICBuZXdDYWNoZUl0ZW0ubG9hZEZ1bmN0aW9uID0gbG9hZEZ1bmN0aW9uO1xyXG4gICAgdGhpcy5fc2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJpemVkQ2FjaGUuc2V0KGtleSwgbmV3Q2FjaGVJdGVtKTtcclxuICAgIHJldHVybiBuZXdDYWNoZUl0ZW07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFzU2VsZWN0TXVsdGlwbGVDYWNoZUl0ZW0oa2V5OiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RNdWx0aXBsZUNhY2hlLmhhcyhrZXkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhc1NpbmdsZUNhY2hlSXRlbTxUIGV4dGVuZHMgQnVzaW5lc3NPYmplY3Q+KGtleTogeyBuZXcoKTogVCB9LCBpZDogQnVzaW5lc3NPYmplY3RJRFR5cGUgPSBCdXNpbmVzc09iamVjdENhY2hlTWFuYWdlclNlcnZpY2UuX051bGxCb0lkKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBjYWNoZUlkOiBzdHJpbmcgPSBpZC50b1N0cmluZygpO1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFNpbmdsZUNhY2hlLmhhcyhrZXkpICYmICEhdGhpcy5fc2VsZWN0U2luZ2xlQ2FjaGUuZ2V0KGtleSlbY2FjaGVJZF07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFzU2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJpemVkQ2FjaGVJdGVtKGtleTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJpemVkQ2FjaGUuaGFzKGtleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFzU2VsZWN0U2luZ2xlUGFyYW1ldGVyaXplZENhY2hlSXRlbShrZXk6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFNpbmdsZVBhcmFtZXRlcml6ZWRDYWNoZS5oYXMoa2V5KTtcclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgdGhlIHNpbXBsZSBjYWNoZSBpdGVtIHdpdGggdGhlIGdpdmVuIGtleS4gVCBpcyB0aGUgdHlwZSBvZiB0aGUgY2FjaGUgdmFsdWUgaXRlbXMgcmVxdWVzdGVkLCBlLmcuIENvbG9yLlxyXG4gIHB1YmxpYyBnZXRTZWxlY3RNdWx0aXBsZUNhY2hlSXRlbTxUIGV4dGVuZHMgQnVzaW5lc3NPYmplY3Q+KGtleTogYW55KTogQ2FjaGVGaWVsZDxUW10+IHtcclxuICAgIHJldHVybiA8Q2FjaGVGaWVsZDxUW10+PnRoaXMuX3NlbGVjdE11bHRpcGxlQ2FjaGUuZ2V0KGtleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U2luZ2xlQ2FjaGVJdGVtPFQgZXh0ZW5kcyBCdXNpbmVzc09iamVjdD4oa2V5OiB7IG5ldygpOiBUIH0sIGlkOiBCdXNpbmVzc09iamVjdElEVHlwZSA9IEJ1c2luZXNzT2JqZWN0Q2FjaGVNYW5hZ2VyU2VydmljZS5fTnVsbEJvSWQpOiBDYWNoZUZpZWxkPFQ+IHtcclxuICAgIGNvbnN0IGNhY2hlSWQ6IHN0cmluZyA9IGlkLnRvU3RyaW5nKCk7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0U2luZ2xlQ2FjaGUuaGFzKGtleSkgJiYgdGhpcy5fc2VsZWN0U2luZ2xlQ2FjaGUuZ2V0KGtleSlbY2FjaGVJZF0gYXMgQ2FjaGVGaWVsZDxUPjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxldGVTaW5nbGVDYWNoZUl0ZW08VCBleHRlbmRzIEJ1c2luZXNzT2JqZWN0PihrZXk6IHsgbmV3KCk6IFQgfSwgaWQ6IEJ1c2luZXNzT2JqZWN0SURUeXBlID0gQnVzaW5lc3NPYmplY3RDYWNoZU1hbmFnZXJTZXJ2aWNlLl9OdWxsQm9JZCk6IHZvaWQge1xyXG4gICAgY29uc3QgY2FjaGVJZDogc3RyaW5nID0gaWQudG9TdHJpbmcoKTtcclxuICAgIGlmICh0aGlzLl9zZWxlY3RTaW5nbGVDYWNoZS5oYXMoa2V5KSkge1xyXG4gICAgICB0aGlzLl9zZWxlY3RTaW5nbGVDYWNoZS5kZWxldGUoa2V5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgdGhlIHBhcmFtZXRlcml6ZWQgY2FjaGUgaXRlbSB3aXRoIHRoZSBnaXZlbiBrZXkuIFQgaXMgdGhlIHR5cGUgb2YgdGhlIGNhY2hlIHZhbHVlIGl0ZW1zIHJlcXVlc3RlZCwgZS5nLiBDb2xvci5cclxuICBwdWJsaWMgZ2V0U2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJDYWNoZUl0ZW08VCBleHRlbmRzIEJ1c2luZXNzT2JqZWN0PihrZXk6IGFueSk6IFBhcmFtZXRlckNhY2hlRmllbGQ8VFtdPiB7XHJcbiAgICByZXR1cm4gPFBhcmFtZXRlckNhY2hlRmllbGQ8VFtdPj50aGlzLl9zZWxlY3RNdWx0aXBsZVBhcmFtZXRlcml6ZWRDYWNoZS5nZXQoa2V5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTZWxlY3RTaW5nbGVQYXJhbWV0ZXJDYWNoZUl0ZW08VD4oa2V5OiBhbnkpOiBQYXJhbWV0ZXJDYWNoZUZpZWxkPFQ+IHtcclxuICAgIHJldHVybiA8UGFyYW1ldGVyQ2FjaGVGaWVsZDxUPj50aGlzLl9zZWxlY3RTaW5nbGVQYXJhbWV0ZXJpemVkQ2FjaGUuZ2V0KGtleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZXNldCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NlbGVjdE11bHRpcGxlQ2FjaGUuZm9yRWFjaCgoY2FjaGVJdGVtOiBDYWNoZUZpZWxkPEJ1c2luZXNzT2JqZWN0W10+KSA9PiB7XHJcbiAgICAgIGlmIChjYWNoZUl0ZW0pIHtcclxuICAgICAgICBjYWNoZUl0ZW0ucmVzZXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fc2VsZWN0U2luZ2xlQ2FjaGUuZm9yRWFjaCgoY2FjaGU6IHsgW3A6IHN0cmluZ106IENhY2hlRmllbGQ8QnVzaW5lc3NPYmplY3Q+IH0pID0+IHtcclxuICAgICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgICAgT2JqZWN0VXRpbHMuRm9yT3duUHJvcGVydHkoY2FjaGUsIChjYWNoZUZpZWxkOiBDYWNoZUZpZWxkPEJ1c2luZXNzT2JqZWN0PikgPT4ge1xyXG4gICAgICAgICAgY2FjaGVGaWVsZC5yZXNldCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9zZWxlY3RTaW5nbGVQYXJhbWV0ZXJpemVkQ2FjaGUuZm9yRWFjaCgoc2VsU2luUGFyYW1DYWNoZUl0ZW06IFBhcmFtZXRlckNhY2hlRmllbGQ8QnVzaW5lc3NPYmplY3Q+KSA9PiB7XHJcbiAgICAgIGlmIChzZWxTaW5QYXJhbUNhY2hlSXRlbSkge1xyXG4gICAgICAgIHNlbFNpblBhcmFtQ2FjaGVJdGVtLnJlc2V0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX3NlbGVjdE11bHRpcGxlUGFyYW1ldGVyaXplZENhY2hlLmZvckVhY2goKHNlbE11bFBhcmFtQ2FjaGVJdGVtOiBQYXJhbWV0ZXJDYWNoZUZpZWxkPEJ1c2luZXNzT2JqZWN0W10+KSA9PiB7XHJcbiAgICAgIGlmIChzZWxNdWxQYXJhbUNhY2hlSXRlbSkge1xyXG4gICAgICAgIHNlbE11bFBhcmFtQ2FjaGVJdGVtLnJlc2V0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMucmVzZXQubmV4dCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { BusinessObjectCacheManagerService } from "./business-object-cache-manager.service";
|
|
3
|
-
import { CacheField } from "../cache-field";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./business-object-cache-manager.service";
|
|
6
|
-
export class SelectMultipleCacheService {
|
|
7
|
-
constructor(_boCacheManager) {
|
|
8
|
-
this._boCacheManager = _boCacheManager;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Returns the global cache item for the select multiple of the given business object class. Creates a new cache item if not yet exists.
|
|
12
|
-
* @param clazz The BO class, e.g. CustomerFullObject
|
|
13
|
-
* @returns {CacheField<T[]>}
|
|
14
|
-
*/
|
|
15
|
-
requestCache(clazz, loadFunction) {
|
|
16
|
-
if (!this._boCacheManager.hasSelectMultipleCacheItem(clazz)) {
|
|
17
|
-
this._createCacheItem(clazz, loadFunction);
|
|
18
|
-
}
|
|
19
|
-
// noinspection TypeScriptValidateTypes
|
|
20
|
-
return this._boCacheManager.getSelectMultipleCacheItem(clazz);
|
|
21
|
-
}
|
|
22
|
-
// Creates and returns a new select multiple cache item into the global business object cache manager for given business object class.
|
|
23
|
-
_createCacheItem(clazz, loadFunction) {
|
|
24
|
-
// noinspection TypeScriptValidateTypes
|
|
25
|
-
return this._boCacheManager.addNewSelectMultipleCacheItem(clazz, loadFunction);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
SelectMultipleCacheService._NullCache = new CacheField();
|
|
29
|
-
SelectMultipleCacheService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SelectMultipleCacheService_Factory() { return new SelectMultipleCacheService(i0.ɵɵinject(i1.BusinessObjectCacheManagerService)); }, token: SelectMultipleCacheService, providedIn: "root" });
|
|
30
|
-
SelectMultipleCacheService.decorators = [
|
|
31
|
-
{ type: Injectable, args: [{
|
|
32
|
-
providedIn: "root"
|
|
33
|
-
},] }
|
|
34
|
-
];
|
|
35
|
-
SelectMultipleCacheService.ctorParameters = () => [
|
|
36
|
-
{ type: BusinessObjectCacheManagerService }
|
|
37
|
-
];
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW11bHRpcGxlLWNhY2hlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NhY2hlL3NlcnZpY2Uvc2VsZWN0LW11bHRpcGxlLWNhY2hlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQU0xQyxNQUFNLE9BQU8sMEJBQTBCO0lBR3JDLFlBQ1UsZUFBa0Q7UUFBbEQsb0JBQWUsR0FBZixlQUFlLENBQW1DO0lBRTVELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWSxDQUEyQixLQUE0QixFQUFFLFlBQWdDO1FBQzFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBSSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDL0M7UUFFRCx1Q0FBdUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLDBCQUEwQixDQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxzSUFBc0k7SUFDOUgsZ0JBQWdCLENBQTJCLEtBQTRCLEVBQUUsWUFBZ0M7UUFDL0csdUNBQXVDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyw2QkFBNkIsQ0FBSSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDcEYsQ0FBQzs7QUF6QmMscUNBQVUsR0FBb0IsSUFBSSxVQUFVLEVBQU8sQ0FBQzs7O1lBSnBFLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBTk8saUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0Q2FjaGVNYW5hZ2VyU2VydmljZX0gZnJvbSBcIi4vYnVzaW5lc3Mtb2JqZWN0LWNhY2hlLW1hbmFnZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge0NhY2hlRmllbGR9IGZyb20gXCIuLi9jYWNoZS1maWVsZFwiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvYnVzaW5lc3Mtb2JqZWN0XCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdE11bHRpcGxlQ2FjaGVTZXJ2aWNlIHtcclxuICBwcml2YXRlIHN0YXRpYyBfTnVsbENhY2hlOiBDYWNoZUZpZWxkPGFueT4gPSBuZXcgQ2FjaGVGaWVsZDxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfYm9DYWNoZU1hbmFnZXI6IEJ1c2luZXNzT2JqZWN0Q2FjaGVNYW5hZ2VyU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgZ2xvYmFsIGNhY2hlIGl0ZW0gZm9yIHRoZSBzZWxlY3QgbXVsdGlwbGUgb2YgdGhlIGdpdmVuIGJ1c2luZXNzIG9iamVjdCBjbGFzcy4gQ3JlYXRlcyBhIG5ldyBjYWNoZSBpdGVtIGlmIG5vdCB5ZXQgZXhpc3RzLlxyXG4gICAqIEBwYXJhbSBjbGF6eiBUaGUgQk8gY2xhc3MsIGUuZy4gQ3VzdG9tZXJGdWxsT2JqZWN0XHJcbiAgICogQHJldHVybnMge0NhY2hlRmllbGQ8VFtdPn1cclxuICAgKi9cclxuICBwdWJsaWMgcmVxdWVzdENhY2hlPFQgZXh0ZW5kcyBCdXNpbmVzc09iamVjdD4oY2xheno6IHR5cGVvZiBCdXNpbmVzc09iamVjdCwgbG9hZEZ1bmN0aW9uOiAoKSA9PiBQcm9taXNlPFRbXT4pOiBDYWNoZUZpZWxkPFRbXT4ge1xyXG4gICAgaWYgKCF0aGlzLl9ib0NhY2hlTWFuYWdlci5oYXNTZWxlY3RNdWx0aXBsZUNhY2hlSXRlbShjbGF6eikpIHtcclxuICAgICAgdGhpcy5fY3JlYXRlQ2FjaGVJdGVtPFQ+KGNsYXp6LCBsb2FkRnVuY3Rpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIG5vaW5zcGVjdGlvbiBUeXBlU2NyaXB0VmFsaWRhdGVUeXBlc1xyXG4gICAgcmV0dXJuIHRoaXMuX2JvQ2FjaGVNYW5hZ2VyLmdldFNlbGVjdE11bHRpcGxlQ2FjaGVJdGVtPFQ+KGNsYXp6KTtcclxuICB9XHJcblxyXG4gIC8vIENyZWF0ZXMgYW5kIHJldHVybnMgYSBuZXcgc2VsZWN0IG11bHRpcGxlIGNhY2hlIGl0ZW0gaW50byB0aGUgZ2xvYmFsIGJ1c2luZXNzIG9iamVjdCBjYWNoZSBtYW5hZ2VyIGZvciBnaXZlbiBidXNpbmVzcyBvYmplY3QgY2xhc3MuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlQ2FjaGVJdGVtPFQgZXh0ZW5kcyBCdXNpbmVzc09iamVjdD4oY2xheno6IHR5cGVvZiBCdXNpbmVzc09iamVjdCwgbG9hZEZ1bmN0aW9uOiAoKSA9PiBQcm9taXNlPFRbXT4pOiBDYWNoZUZpZWxkPFRbXT4ge1xyXG4gICAgLy8gbm9pbnNwZWN0aW9uIFR5cGVTY3JpcHRWYWxpZGF0ZVR5cGVzXHJcbiAgICByZXR1cm4gdGhpcy5fYm9DYWNoZU1hbmFnZXIuYWRkTmV3U2VsZWN0TXVsdGlwbGVDYWNoZUl0ZW08VD4oY2xhenosIGxvYWRGdW5jdGlvbik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { Subject } from "rxjs";
|
|
3
|
-
import { BusinessObjectCacheManagerService } from "./business-object-cache-manager.service";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./business-object-cache-manager.service";
|
|
6
|
-
// service resonsible for filling the global BO cache manager service with parameterized select multiple cache items
|
|
7
|
-
export class SelectMultipleParameterizedCacheService {
|
|
8
|
-
constructor(_boCacheManager) {
|
|
9
|
-
this._boCacheManager = _boCacheManager;
|
|
10
|
-
// emits after this select multiple parameterized cache service has been reset (e.g. after user logs out)
|
|
11
|
-
this.reset = new Subject();
|
|
12
|
-
this._subs = [];
|
|
13
|
-
this._subs.push(this._boCacheManager.reset.subscribe(() => {
|
|
14
|
-
this.reset.next();
|
|
15
|
-
}));
|
|
16
|
-
}
|
|
17
|
-
ngOnDestroy() {
|
|
18
|
-
this._subs.forEach(sub => sub.unsubscribe());
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Returns the global cache item for the parameterized select multiple of the given business object class. Creates a new cache item if not yet exists.
|
|
22
|
-
* @param clazz The BO class, used for undeflying dataService.selectMultiple(clazz) call.
|
|
23
|
-
* @returns {CacheField<T[]>}
|
|
24
|
-
*/
|
|
25
|
-
requestCache(clazz, loadFunction) {
|
|
26
|
-
if (!this._boCacheManager.hasSelectMultipleParameterizedCacheItem(clazz)) {
|
|
27
|
-
this._createParameterizedCacheItem(clazz, loadFunction);
|
|
28
|
-
}
|
|
29
|
-
// noinspection TypeScriptValidateTypes
|
|
30
|
-
return this._boCacheManager.getSelectMultipleParameterCacheItem(clazz);
|
|
31
|
-
}
|
|
32
|
-
// Creates and returns a new parameterized select multiple cache item into the global business object cache manager for given business object class.
|
|
33
|
-
_createParameterizedCacheItem(clazz, loadFunction) {
|
|
34
|
-
// noinspection TypeScriptValidateTypes
|
|
35
|
-
return this._boCacheManager.addNewSelectMultipleParameterizedCacheItem(clazz, loadFunction);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
SelectMultipleParameterizedCacheService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SelectMultipleParameterizedCacheService_Factory() { return new SelectMultipleParameterizedCacheService(i0.ɵɵinject(i1.BusinessObjectCacheManagerService)); }, token: SelectMultipleParameterizedCacheService, providedIn: "root" });
|
|
39
|
-
SelectMultipleParameterizedCacheService.decorators = [
|
|
40
|
-
{ type: Injectable, args: [{
|
|
41
|
-
providedIn: "root"
|
|
42
|
-
},] }
|
|
43
|
-
];
|
|
44
|
-
SelectMultipleParameterizedCacheService.ctorParameters = () => [
|
|
45
|
-
{ type: BusinessObjectCacheManagerService }
|
|
46
|
-
];
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW11bHRpcGxlLXBhcmFtZXRlcml6ZWQtY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY2FjaGUvc2VydmljZS9zZWxlY3QtbXVsdGlwbGUtcGFyYW1ldGVyaXplZC1jYWNoZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBSTFGLG9IQUFvSDtBQUlwSCxNQUFNLE9BQU8sdUNBQXVDO0lBTWxELFlBQW9CLGVBQWtEO1FBQWxELG9CQUFlLEdBQWYsZUFBZSxDQUFtQztRQUx0RSx5R0FBeUc7UUFDekYsVUFBSyxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRW5ELFVBQUssR0FBbUIsRUFBRSxDQUFDO1FBR2pDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWSxDQUEyQixLQUE0QixFQUFFLFlBQThDO1FBQ3hILElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLHVDQUF1QyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hFLElBQUksQ0FBQyw2QkFBNkIsQ0FBSSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDNUQ7UUFFRCx1Q0FBdUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLG1DQUFtQyxDQUFJLEtBQUssQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxxSkFBcUo7SUFDN0ksNkJBQTZCLENBQTJCLEtBQTRCLEVBQUUsWUFBOEM7UUFDMUksdUNBQXVDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQywwQ0FBMEMsQ0FBSSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDakcsQ0FBQzs7OztZQXJDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVBPLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdENhY2hlTWFuYWdlclNlcnZpY2V9IGZyb20gXCIuL2J1c2luZXNzLW9iamVjdC1jYWNoZS1tYW5hZ2VyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdH0gZnJvbSBcIkBjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL2J1c2luZXNzLW9iamVjdFwiO1xyXG5pbXBvcnQge1BhcmFtZXRlckNhY2hlRmllbGR9IGZyb20gXCIuLi9wYXJhbWV0ZXItY2FjaGUtZmllbGRcIjtcclxuXHJcbi8vIHNlcnZpY2UgcmVzb25zaWJsZSBmb3IgZmlsbGluZyB0aGUgZ2xvYmFsIEJPIGNhY2hlIG1hbmFnZXIgc2VydmljZSB3aXRoIHBhcmFtZXRlcml6ZWQgc2VsZWN0IG11bHRpcGxlIGNhY2hlIGl0ZW1zXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJpemVkQ2FjaGVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvLyBlbWl0cyBhZnRlciB0aGlzIHNlbGVjdCBtdWx0aXBsZSBwYXJhbWV0ZXJpemVkIGNhY2hlIHNlcnZpY2UgaGFzIGJlZW4gcmVzZXQgKGUuZy4gYWZ0ZXIgdXNlciBsb2dzIG91dClcclxuICBwdWJsaWMgcmVhZG9ubHkgcmVzZXQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ib0NhY2hlTWFuYWdlcjogQnVzaW5lc3NPYmplY3RDYWNoZU1hbmFnZXJTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2godGhpcy5fYm9DYWNoZU1hbmFnZXIucmVzZXQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5yZXNldC5uZXh0KCk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgZ2xvYmFsIGNhY2hlIGl0ZW0gZm9yIHRoZSBwYXJhbWV0ZXJpemVkIHNlbGVjdCBtdWx0aXBsZSBvZiB0aGUgZ2l2ZW4gYnVzaW5lc3Mgb2JqZWN0IGNsYXNzLiBDcmVhdGVzIGEgbmV3IGNhY2hlIGl0ZW0gaWYgbm90IHlldCBleGlzdHMuXHJcbiAgICogQHBhcmFtIGNsYXp6IFRoZSBCTyBjbGFzcywgdXNlZCBmb3IgdW5kZWZseWluZyBkYXRhU2VydmljZS5zZWxlY3RNdWx0aXBsZShjbGF6eikgY2FsbC5cclxuICAgKiBAcmV0dXJucyB7Q2FjaGVGaWVsZDxUW10+fVxyXG4gICAqL1xyXG4gIHB1YmxpYyByZXF1ZXN0Q2FjaGU8VCBleHRlbmRzIEJ1c2luZXNzT2JqZWN0PihjbGF6ejogdHlwZW9mIEJ1c2luZXNzT2JqZWN0LCBsb2FkRnVuY3Rpb246ICguLi5wYXJhbXM6IGFueSkgPT4gUHJvbWlzZTxUW10+KTogUGFyYW1ldGVyQ2FjaGVGaWVsZDxUW10+IHtcclxuICAgIGlmICghdGhpcy5fYm9DYWNoZU1hbmFnZXIuaGFzU2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJpemVkQ2FjaGVJdGVtKGNsYXp6KSkge1xyXG4gICAgICB0aGlzLl9jcmVhdGVQYXJhbWV0ZXJpemVkQ2FjaGVJdGVtPFQ+KGNsYXp6LCBsb2FkRnVuY3Rpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIG5vaW5zcGVjdGlvbiBUeXBlU2NyaXB0VmFsaWRhdGVUeXBlc1xyXG4gICAgcmV0dXJuIHRoaXMuX2JvQ2FjaGVNYW5hZ2VyLmdldFNlbGVjdE11bHRpcGxlUGFyYW1ldGVyQ2FjaGVJdGVtPFQ+KGNsYXp6KTtcclxuICB9XHJcblxyXG4gIC8vIENyZWF0ZXMgYW5kIHJldHVybnMgYSBuZXcgIHBhcmFtZXRlcml6ZWQgc2VsZWN0IG11bHRpcGxlIGNhY2hlIGl0ZW0gaW50byB0aGUgZ2xvYmFsIGJ1c2luZXNzIG9iamVjdCBjYWNoZSBtYW5hZ2VyIGZvciBnaXZlbiBidXNpbmVzcyBvYmplY3QgY2xhc3MuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlUGFyYW1ldGVyaXplZENhY2hlSXRlbTxUIGV4dGVuZHMgQnVzaW5lc3NPYmplY3Q+KGNsYXp6OiB0eXBlb2YgQnVzaW5lc3NPYmplY3QsIGxvYWRGdW5jdGlvbjogKC4uLnBhcmFtczogYW55KSA9PiBQcm9taXNlPFRbXT4pOiBQYXJhbWV0ZXJDYWNoZUZpZWxkPFRbXT4ge1xyXG4gICAgLy8gbm9pbnNwZWN0aW9uIFR5cGVTY3JpcHRWYWxpZGF0ZVR5cGVzXHJcbiAgICByZXR1cm4gdGhpcy5fYm9DYWNoZU1hbmFnZXIuYWRkTmV3U2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJpemVkQ2FjaGVJdGVtPFQ+KGNsYXp6LCBsb2FkRnVuY3Rpb24pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BusinessObjectCacheManagerService } from './business-object-cache-manager.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./business-object-cache-manager.service";
|
|
5
|
-
export class SelectSingleCacheService {
|
|
6
|
-
constructor(_boCacheManager) {
|
|
7
|
-
this._boCacheManager = _boCacheManager;
|
|
8
|
-
}
|
|
9
|
-
requestCache(clazz, sourceId, loadFunction, reload = false) {
|
|
10
|
-
if (reload) {
|
|
11
|
-
this._boCacheManager.deleteSingleCacheItem(clazz, sourceId);
|
|
12
|
-
}
|
|
13
|
-
if (!this._boCacheManager.hasSingleCacheItem(clazz, sourceId)) {
|
|
14
|
-
this._createCacheItem(clazz, sourceId, loadFunction);
|
|
15
|
-
}
|
|
16
|
-
// noinspection TypeScriptValidateTypes
|
|
17
|
-
return this._boCacheManager.getSingleCacheItem(clazz, sourceId);
|
|
18
|
-
}
|
|
19
|
-
_createCacheItem(clazz, sourceId, loadFunction) {
|
|
20
|
-
// noinspection TypeScriptValidateTypes
|
|
21
|
-
return this._boCacheManager.addNewSelectSingleCacheItem(clazz, sourceId, loadFunction);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
SelectSingleCacheService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SelectSingleCacheService_Factory() { return new SelectSingleCacheService(i0.ɵɵinject(i1.BusinessObjectCacheManagerService)); }, token: SelectSingleCacheService, providedIn: "root" });
|
|
25
|
-
SelectSingleCacheService.decorators = [
|
|
26
|
-
{ type: Injectable, args: [{
|
|
27
|
-
providedIn: "root"
|
|
28
|
-
},] }
|
|
29
|
-
];
|
|
30
|
-
SelectSingleCacheService.ctorParameters = () => [
|
|
31
|
-
{ type: BusinessObjectCacheManagerService }
|
|
32
|
-
];
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNpbmdsZS1jYWNoZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jYWNoZS9zZXJ2aWNlL3NlbGVjdC1zaW5nbGUtY2FjaGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHlDQUF5QyxDQUFDOzs7QUFRMUYsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxZQUFvQixlQUFrRDtRQUFsRCxvQkFBZSxHQUFmLGVBQWUsQ0FBbUM7SUFDdEUsQ0FBQztJQUVNLFlBQVksQ0FBMkIsS0FBbUIsRUFBRSxRQUE4QixFQUFFLFlBQThCLEVBQUUsU0FBa0IsS0FBSztRQUN4SixJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUksS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUksS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQ2hFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBSSxLQUFLLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQ3pEO1FBRUQsdUNBQXVDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBSSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGdCQUFnQixDQUEyQixLQUFtQixFQUFFLFFBQThCLEVBQUUsWUFBOEI7UUFDcEksdUNBQXVDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBSSxLQUFLLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzVGLENBQUM7Ozs7WUF2QkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFQTyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0Q2FjaGVNYW5hZ2VyU2VydmljZX0gZnJvbSAnLi9idXNpbmVzcy1vYmplY3QtY2FjaGUtbWFuYWdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdH0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvYnVzaW5lc3Mtb2JqZWN0JztcclxuaW1wb3J0IHtDYWNoZUZpZWxkfSBmcm9tICcuLi9jYWNoZS1maWVsZCc7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RJRFR5cGV9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3R5cGUvYnVzaW5lc3Mtb2JqZWN0LWlkLXR5cGUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RTaW5nbGVDYWNoZVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ib0NhY2hlTWFuYWdlcjogQnVzaW5lc3NPYmplY3RDYWNoZU1hbmFnZXJTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVxdWVzdENhY2hlPFQgZXh0ZW5kcyBCdXNpbmVzc09iamVjdD4oY2xheno6IHsgbmV3KCk6IFQgfSwgc291cmNlSWQ6IEJ1c2luZXNzT2JqZWN0SURUeXBlLCBsb2FkRnVuY3Rpb246ICgpID0+IFByb21pc2U8VD4sIHJlbG9hZDogYm9vbGVhbiA9IGZhbHNlKTogQ2FjaGVGaWVsZDxUPiB7XHJcbiAgICBpZiAocmVsb2FkKSB7XHJcbiAgICAgIHRoaXMuX2JvQ2FjaGVNYW5hZ2VyLmRlbGV0ZVNpbmdsZUNhY2hlSXRlbTxUPihjbGF6eiwgc291cmNlSWQpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLl9ib0NhY2hlTWFuYWdlci5oYXNTaW5nbGVDYWNoZUl0ZW08VD4oY2xhenosIHNvdXJjZUlkKSkge1xyXG4gICAgICB0aGlzLl9jcmVhdGVDYWNoZUl0ZW08VD4oY2xhenosIHNvdXJjZUlkLCBsb2FkRnVuY3Rpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIG5vaW5zcGVjdGlvbiBUeXBlU2NyaXB0VmFsaWRhdGVUeXBlc1xyXG4gICAgcmV0dXJuIHRoaXMuX2JvQ2FjaGVNYW5hZ2VyLmdldFNpbmdsZUNhY2hlSXRlbTxUPihjbGF6eiwgc291cmNlSWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlQ2FjaGVJdGVtPFQgZXh0ZW5kcyBCdXNpbmVzc09iamVjdD4oY2xheno6IHsgbmV3KCk6IFQgfSwgc291cmNlSWQ6IEJ1c2luZXNzT2JqZWN0SURUeXBlLCBsb2FkRnVuY3Rpb246ICgpID0+IFByb21pc2U8VD4pOiBDYWNoZUZpZWxkPFQ+IHtcclxuICAgIC8vIG5vaW5zcGVjdGlvbiBUeXBlU2NyaXB0VmFsaWRhdGVUeXBlc1xyXG4gICAgcmV0dXJuIHRoaXMuX2JvQ2FjaGVNYW5hZ2VyLmFkZE5ld1NlbGVjdFNpbmdsZUNhY2hlSXRlbTxUPihjbGF6eiwgc291cmNlSWQsIGxvYWRGdW5jdGlvbik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { BusinessObjectCacheManagerService } from './business-object-cache-manager.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./business-object-cache-manager.service";
|
|
6
|
-
// service resonsible for filling the global BO cache manager service with parameterized select single cache items
|
|
7
|
-
export class SelectSingleParameterizedCacheService {
|
|
8
|
-
constructor(_boCacheManager) {
|
|
9
|
-
this._boCacheManager = _boCacheManager;
|
|
10
|
-
// emits after this select single parameterized cache service has been reset (e.g. after user logs out)
|
|
11
|
-
this.reset = new Subject();
|
|
12
|
-
this._subs = [];
|
|
13
|
-
this._subs.push(this._boCacheManager.reset.subscribe(() => {
|
|
14
|
-
this.reset.next();
|
|
15
|
-
}));
|
|
16
|
-
}
|
|
17
|
-
ngOnDestroy() {
|
|
18
|
-
this._subs.forEach(sub => sub.unsubscribe());
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Returns the global cache item for the parameterized select single of the given business object class. Creates a new cache item if not yet exists.
|
|
22
|
-
* @param clazz The BO class, used for undeflying dataService.selectSingle(clazz) call.
|
|
23
|
-
* @returns {CacheField<T>}
|
|
24
|
-
*/
|
|
25
|
-
requestCache(clazz, loadFunction) {
|
|
26
|
-
if (!this._boCacheManager.hasSelectSingleParameterizedCacheItem(clazz)) {
|
|
27
|
-
this._createParameterizedCacheItem(clazz, loadFunction);
|
|
28
|
-
}
|
|
29
|
-
// noinspection TypeScriptValidateTypes
|
|
30
|
-
return this._boCacheManager.getSelectSingleParameterCacheItem(clazz);
|
|
31
|
-
}
|
|
32
|
-
// Creates and returns a new parameterized select single cache item into the global business object cache manager for given business object class.
|
|
33
|
-
_createParameterizedCacheItem(clazz, loadFunction) {
|
|
34
|
-
// noinspection TypeScriptValidateTypes
|
|
35
|
-
return this._boCacheManager.addNewSelectSingleParameterizedCacheItem(clazz, loadFunction);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
SelectSingleParameterizedCacheService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SelectSingleParameterizedCacheService_Factory() { return new SelectSingleParameterizedCacheService(i0.ɵɵinject(i1.BusinessObjectCacheManagerService)); }, token: SelectSingleParameterizedCacheService, providedIn: "root" });
|
|
39
|
-
SelectSingleParameterizedCacheService.decorators = [
|
|
40
|
-
{ type: Injectable, args: [{
|
|
41
|
-
providedIn: "root"
|
|
42
|
-
},] }
|
|
43
|
-
];
|
|
44
|
-
SelectSingleParameterizedCacheService.ctorParameters = () => [
|
|
45
|
-
{ type: BusinessObjectCacheManagerService }
|
|
46
|
-
];
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNpbmdsZS1wYXJhbWV0ZXJpemVkLWNhY2hlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NhY2hlL3NlcnZpY2Uvc2VsZWN0LXNpbmdsZS1wYXJhbWV0ZXJpemVkLWNhY2hlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHlDQUF5QyxDQUFDOzs7QUFLMUYsa0hBQWtIO0FBSWxILE1BQU0sT0FBTyxxQ0FBcUM7SUFNaEQsWUFBb0IsZUFBa0Q7UUFBbEQsb0JBQWUsR0FBZixlQUFlLENBQW1DO1FBTHRFLHVHQUF1RztRQUN2RixVQUFLLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFbkQsVUFBSyxHQUFtQixFQUFFLENBQUM7UUFHakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZLENBQUksS0FBVSxFQUFFLFlBQWtEO1FBQ25GLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLHFDQUFxQyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RFLElBQUksQ0FBQyw2QkFBNkIsQ0FBSSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDNUQ7UUFFRCx1Q0FBdUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGlDQUFpQyxDQUFJLEtBQUssQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxtSkFBbUo7SUFDM0ksNkJBQTZCLENBQUksS0FBVSxFQUFFLFlBQTRDO1FBQy9GLHVDQUF1QztRQUN2QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsd0NBQXdDLENBQUksS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQy9GLENBQUM7Ozs7WUFyQ0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFSTyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdENhY2hlTWFuYWdlclNlcnZpY2V9IGZyb20gJy4vYnVzaW5lc3Mtb2JqZWN0LWNhY2hlLW1hbmFnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7UGFyYW1ldGVyQ2FjaGVGaWVsZH0gZnJvbSAnLi4vcGFyYW1ldGVyLWNhY2hlLWZpZWxkJztcclxuaW1wb3J0IHtUfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQge0ludGVybmFsUGFyYW19IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vaW50ZXJuYWwtcGFyYW0uZW51bSc7XHJcblxyXG4vLyBzZXJ2aWNlIHJlc29uc2libGUgZm9yIGZpbGxpbmcgdGhlIGdsb2JhbCBCTyBjYWNoZSBtYW5hZ2VyIHNlcnZpY2Ugd2l0aCBwYXJhbWV0ZXJpemVkIHNlbGVjdCBzaW5nbGUgY2FjaGUgaXRlbXNcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RTaW5nbGVQYXJhbWV0ZXJpemVkQ2FjaGVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvLyBlbWl0cyBhZnRlciB0aGlzIHNlbGVjdCBzaW5nbGUgcGFyYW1ldGVyaXplZCBjYWNoZSBzZXJ2aWNlIGhhcyBiZWVuIHJlc2V0IChlLmcuIGFmdGVyIHVzZXIgbG9ncyBvdXQpXHJcbiAgcHVibGljIHJlYWRvbmx5IHJlc2V0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfYm9DYWNoZU1hbmFnZXI6IEJ1c2luZXNzT2JqZWN0Q2FjaGVNYW5hZ2VyU2VydmljZSkge1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKHRoaXMuX2JvQ2FjaGVNYW5hZ2VyLnJlc2V0LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVzZXQubmV4dCgpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIGdsb2JhbCBjYWNoZSBpdGVtIGZvciB0aGUgcGFyYW1ldGVyaXplZCBzZWxlY3Qgc2luZ2xlIG9mIHRoZSBnaXZlbiBidXNpbmVzcyBvYmplY3QgY2xhc3MuIENyZWF0ZXMgYSBuZXcgY2FjaGUgaXRlbSBpZiBub3QgeWV0IGV4aXN0cy5cclxuICAgKiBAcGFyYW0gY2xhenogVGhlIEJPIGNsYXNzLCB1c2VkIGZvciB1bmRlZmx5aW5nIGRhdGFTZXJ2aWNlLnNlbGVjdFNpbmdsZShjbGF6eikgY2FsbC5cclxuICAgKiBAcmV0dXJucyB7Q2FjaGVGaWVsZDxUPn1cclxuICAgKi9cclxuICBwdWJsaWMgcmVxdWVzdENhY2hlPFQ+KGNsYXp6OiBhbnksIGxvYWRGdW5jdGlvbjogKHBhcmFtOiBJbnRlcm5hbFBhcmFtKSA9PiBQcm9taXNlPFQ+KTogUGFyYW1ldGVyQ2FjaGVGaWVsZDxUPiB7XHJcbiAgICBpZiAoIXRoaXMuX2JvQ2FjaGVNYW5hZ2VyLmhhc1NlbGVjdFNpbmdsZVBhcmFtZXRlcml6ZWRDYWNoZUl0ZW0oY2xhenopKSB7XHJcbiAgICAgIHRoaXMuX2NyZWF0ZVBhcmFtZXRlcml6ZWRDYWNoZUl0ZW08VD4oY2xhenosIGxvYWRGdW5jdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gbm9pbnNwZWN0aW9uIFR5cGVTY3JpcHRWYWxpZGF0ZVR5cGVzXHJcbiAgICByZXR1cm4gdGhpcy5fYm9DYWNoZU1hbmFnZXIuZ2V0U2VsZWN0U2luZ2xlUGFyYW1ldGVyQ2FjaGVJdGVtPFQ+KGNsYXp6KTtcclxuICB9XHJcblxyXG4gIC8vIENyZWF0ZXMgYW5kIHJldHVybnMgYSBuZXcgIHBhcmFtZXRlcml6ZWQgc2VsZWN0IHNpbmdsZSBjYWNoZSBpdGVtIGludG8gdGhlIGdsb2JhbCBidXNpbmVzcyBvYmplY3QgY2FjaGUgbWFuYWdlciBmb3IgZ2l2ZW4gYnVzaW5lc3Mgb2JqZWN0IGNsYXNzLlxyXG4gIHByaXZhdGUgX2NyZWF0ZVBhcmFtZXRlcml6ZWRDYWNoZUl0ZW08VD4oY2xheno6IGFueSwgbG9hZEZ1bmN0aW9uOiAoLi4ucGFyYW1zOiBhbnkpID0+IFByb21pc2U8VD4pOiBQYXJhbWV0ZXJDYWNoZUZpZWxkPFQ+IHtcclxuICAgIC8vIG5vaW5zcGVjdGlvbiBUeXBlU2NyaXB0VmFsaWRhdGVUeXBlc1xyXG4gICAgcmV0dXJuIHRoaXMuX2JvQ2FjaGVNYW5hZ2VyLmFkZE5ld1NlbGVjdFNpbmdsZVBhcmFtZXRlcml6ZWRDYWNoZUl0ZW08VD4oY2xhenosIGxvYWRGdW5jdGlvbik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
File without changes
|