@firestitch/filter 18.2.39 → 18.2.41
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/app/components/filter/filter.component.d.ts +1 -0
- package/app/components/keyword-input/keyword-input.component.d.ts +0 -1
- package/app/helpers/create-filter-item.d.ts +1 -1
- package/app/interfaces/config.interface.d.ts +2 -1
- package/app/interfaces/items/index.d.ts +12 -0
- package/app/interfaces/items/keyword.interface.d.ts +4 -0
- package/app/models/items/index.d.ts +4 -0
- package/app/models/items/keyword-item.d.ts +17 -0
- package/app/services/keyword-controller.service.d.ts +7 -7
- package/esm2022/app/components/filter/filter.component.mjs +6 -3
- package/esm2022/app/components/filter-chips/filter-chips.component.mjs +3 -3
- package/esm2022/app/components/keyword-input/keyword-input.component.mjs +1 -3
- package/esm2022/app/helpers/create-filter-item.mjs +5 -2
- package/esm2022/app/interfaces/config.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/index.mjs +13 -0
- package/esm2022/app/interfaces/items/keyword.interface.mjs +2 -0
- package/esm2022/app/models/items/index.mjs +5 -1
- package/esm2022/app/models/items/keyword-item.mjs +39 -0
- package/esm2022/app/services/filter-controller.service.mjs +4 -4
- package/esm2022/app/services/keyword-controller.service.mjs +16 -7
- package/fesm2022/firestitch-filter.mjs +103 -52
- package/fesm2022/firestitch-filter.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdXR0b25TdHlsZSB9IGZyb20gJy4uL2VudW1zJztcblxuaW1wb3J0IHsgRnNGaWx0ZXJBY3Rpb24gfSBmcm9tICcuL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0tleXdvcmRJdGVtIH0gZnJvbSAnLi9pdGVtcyc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIH0gZnJvbSAnLi9pdGVtcy9hdXRvY29tcGxldGUtY2hpcHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi9pdGVtcy9hdXRvY29tcGxldGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdCYXNlSXRlbSB9IGZyb20gJy4vaXRlbXMvYmFzZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0NoZWNrYm94SXRlbSB9IGZyb20gJy4vaXRlbXMvY2hlY2tib3guaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdDaGlwc0l0ZW0gfSBmcm9tICcuL2l0ZW1zL2NoaXBzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnRGF0ZVJhbmdlSXRlbSB9IGZyb20gJy4vaXRlbXMvZGF0ZS1yYW5nZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0RhdGVJdGVtIH0gZnJvbSAnLi9pdGVtcy9kYXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnUmFuZ2VJdGVtIH0gZnJvbSAnLi9pdGVtcy9yYW5nZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW0gfSBmcm9tICcuL2l0ZW1zL3NlbGVjdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1RleHRJdGVtIH0gZnJvbSAnLi9pdGVtcy90ZXh0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnIH0gZnJvbSAnLi9zYXZlZC1maWx0ZXJzLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQ29uZmlnIHtcbiAgbG9hZD86IGJvb2xlYW47XG4gIGNoaXBzPzogYm9vbGVhbjtcbiAgYXV0b2ZvY3VzPzogYm9vbGVhbjtcbiAgcXVlcnlQYXJhbT86IGJvb2xlYW47XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgcGVyc2lzdD86IEZzRmlsdGVyUGVyc2lzdGFuY2U7XG4gIHJlbG9hZD86IENoYW5nZUZuO1xuICBjbGVhcj86IENoYW5nZUZuO1xuICBpdGVtcz86IElGaWx0ZXJDb25maWdJdGVtW107XG4gIGluaXQ/OiBDaGFuZ2VGbjtcbiAgY2hhbmdlPzogQ2hhbmdlRm47XG4gIHNvcnQ/OiBTb3J0O1xuICBzb3J0Q2hhbmdlPzogQ2hhbmdlRm47XG4gIHJlbG9hZFdoZW5Db25maWdDaGFuZ2VkPzogYm9vbGVhbjtcbiAgY2FzZT86ICdzbmFrZScgfCAnY2FtZWwnO1xuICBidXR0b24/OiBGaWx0ZXJCdXR0b247XG4gIGJ1dHRvblN0eWxlPzogQnV0dG9uU3R5bGU7XG4gIHNhdmVkRmlsdGVycz86IElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWc7XG4gIGFjdGlvbnM/OiBGc0ZpbHRlckFjdGlvbltdO1xuICBhdXRvUmVsb2FkPzogRnNGaWx0ZXJBdXRvUmVsb2FkOyAgXG4gIGhlYWRpbmc/OiBzdHJpbmc7XG4gIHN1YmhlYWRpbmc/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNGaWx0ZXJBdXRvUmVsb2FkIHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHNlY29uZHM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIElGaWx0ZXJDb25maWdJdGVtID1cbiAgKFxuICAgIElGaWx0ZXJDb25maWdCYXNlSXRlbVxuICAgIHwgSUZpbHRlckNvbmZpZ0NoZWNrYm94SXRlbVxuICAgIHwgSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdDaGlwc0l0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdUZXh0SXRlbVxuICAgIHwgSUZpbHRlckNvbmZpZ0tleXdvcmRJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnRGF0ZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnQXV0b2NvbXBsZXRlQ2hpcHNJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnUmFuZ2VJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnRGF0ZVJhbmdlSXRlbVxuICApO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRJdGVtIHtcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnQge1xuICBkaXJlY3Rpb24/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckJ1dHRvbiB7XG4gIHN0eWxlPzogQnV0dG9uU3R5bGU7XG4gIGNvbG9yPzogJ3ByaW1hcnknIHwgJ2RlZmF1bHQnLFxuICBpY29uPzogc3RyaW5nLFxuICBsYWJlbD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUZuIHtcbiAgKHF1ZXJ5PzogYW55LCBzb3J0PzogRmlsdGVyU29ydCB8IG51bGwpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlclNvcnQge1xuICB2YWx1ZTogc3RyaW5nO1xuICBkaXJlY3Rpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGc0ZpbHRlclBlcnNpc3RhbmNlQ29uZmlnIHtcbiAgbmFtZT86IHN0cmluZztcbiAgdGltZW91dD86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgRnNGaWx0ZXJQZXJzaXN0YW5jZSA9IGJvb2xlYW4gfCBGc0ZpbHRlclBlcnNpc3RhbmNlQ29uZmlnO1xuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './autocomplete-chips.interface';
|
|
2
|
+
export * from './autocomplete.interface';
|
|
3
|
+
export * from './base.interface';
|
|
4
|
+
export * from './checkbox.interface';
|
|
5
|
+
export * from './chips.interface';
|
|
6
|
+
export * from './date-range.interface';
|
|
7
|
+
export * from './date.interface';
|
|
8
|
+
export * from './keyword.interface';
|
|
9
|
+
export * from './range.interface';
|
|
10
|
+
export * from './select.interface';
|
|
11
|
+
export * from './text.interface';
|
|
12
|
+
export * from './week.interface';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvaXRlbXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dG9jb21wbGV0ZS1jaGlwcy5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGlwcy5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLXJhbmdlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4va2V5d29yZC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yYW5nZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWVrLmludGVyZmFjZSc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5d29yZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvaXRlbXMva2V5d29yZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElGaWx0ZXJDb25maWdUZXh0SXRlbSB9IGZyb20gJy4vdGV4dC5pbnRlcmZhY2UnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZpbHRlckNvbmZpZ0tleXdvcmRJdGVtIGV4dGVuZHMgSUZpbHRlckNvbmZpZ1RleHRJdGVtIHtcbiAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export * from './autocomplete-chips-item';
|
|
2
2
|
export * from './autocomplete-item';
|
|
3
|
+
export * from './base-autocomplete-item';
|
|
4
|
+
export * from './base-date-item';
|
|
5
|
+
export * from './base-date-range-item';
|
|
3
6
|
export * from './base-item';
|
|
4
7
|
export * from './checkbox-item';
|
|
5
8
|
export * from './chips-item';
|
|
@@ -7,8 +10,9 @@ export * from './date-item';
|
|
|
7
10
|
export * from './date-range-item';
|
|
8
11
|
export * from './date-time-item';
|
|
9
12
|
export * from './date-time-range-item';
|
|
13
|
+
export * from './keyword-item';
|
|
10
14
|
export * from './range-item';
|
|
11
15
|
export * from './select-item';
|
|
12
16
|
export * from './text-item';
|
|
13
17
|
export * from './week-item';
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUtY2hpcHMtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9jb21wbGV0ZS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1hdXRvY29tcGxldGUtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtZGF0ZS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1kYXRlLXJhbmdlLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vY2hpcHMtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtcmFuZ2UtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtdGltZS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS10aW1lLXJhbmdlLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9rZXl3b3JkLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9yYW5nZS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi93ZWVrLWl0ZW0nO1xuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { TextItem } from './text-item';
|
|
2
|
+
export class KeywordItem extends TextItem {
|
|
3
|
+
_additionalConfig;
|
|
4
|
+
_filter;
|
|
5
|
+
constructor(itemConfig, _additionalConfig, _filter) {
|
|
6
|
+
super(itemConfig, _additionalConfig, _filter);
|
|
7
|
+
this._additionalConfig = _additionalConfig;
|
|
8
|
+
this._filter = _filter;
|
|
9
|
+
this.fullWidth = itemConfig.fullWidth;
|
|
10
|
+
}
|
|
11
|
+
static create(config, filter) {
|
|
12
|
+
return new KeywordItem(config, null, filter);
|
|
13
|
+
}
|
|
14
|
+
get hasValue() {
|
|
15
|
+
return typeof this.value === 'string' && this.value.length > 0;
|
|
16
|
+
}
|
|
17
|
+
get query() {
|
|
18
|
+
if (!this.hasValue) {
|
|
19
|
+
return {};
|
|
20
|
+
}
|
|
21
|
+
const value = this.value;
|
|
22
|
+
const name = this.name;
|
|
23
|
+
const params = {};
|
|
24
|
+
params[name] = value;
|
|
25
|
+
return params;
|
|
26
|
+
}
|
|
27
|
+
get chips() {
|
|
28
|
+
if (!this.hasValue || this.isTypeKeyword) {
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
return [
|
|
32
|
+
{
|
|
33
|
+
value: this.value,
|
|
34
|
+
label: this.label,
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5d29yZC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMva2V5d29yZC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkMsTUFBTSxPQUFPLFdBQVksU0FBUSxRQUFRO0lBTTNCO0lBQ0E7SUFIWixZQUNFLFVBQW9DLEVBQzFCLGlCQUEwQixFQUMxQixPQUF3QjtRQUVsQyxLQUFLLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBSHBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUztRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUdsQyxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBZ0MsRUFBRSxNQUF1QjtRQUM1RSxPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUVyQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU87WUFDTDtnQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzthQUNsQjtTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB0eXBlIHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnS2V5d29yZEl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL2tleXdvcmQuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgVGV4dEl0ZW0gfSBmcm9tICcuL3RleHQtaXRlbSc7XG5cblxuZXhwb3J0IGNsYXNzIEtleXdvcmRJdGVtIGV4dGVuZHMgVGV4dEl0ZW0ge1xuXG4gIHB1YmxpYyBkZWNsYXJlIGZ1bGxXaWR0aDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpdGVtQ29uZmlnOiBJRmlsdGVyQ29uZmlnS2V5d29yZEl0ZW0sXG4gICAgcHJvdGVjdGVkIF9hZGRpdGlvbmFsQ29uZmlnOiB1bmtub3duLFxuICAgIHByb3RlY3RlZCBfZmlsdGVyOiBGaWx0ZXJDb21wb25lbnQsXG4gICkge1xuICAgIHN1cGVyKGl0ZW1Db25maWcsIF9hZGRpdGlvbmFsQ29uZmlnLCBfZmlsdGVyKTtcbiAgICB0aGlzLmZ1bGxXaWR0aCA9IGl0ZW1Db25maWcuZnVsbFdpZHRoO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjcmVhdGUoY29uZmlnOiBJRmlsdGVyQ29uZmlnS2V5d29yZEl0ZW0sIGZpbHRlcjogRmlsdGVyQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIG5ldyBLZXl3b3JkSXRlbShjb25maWcsIG51bGwsIGZpbHRlcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1ZhbHVlKCkge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycgJiYgdGhpcy52YWx1ZS5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeSgpIHtcbiAgICBpZighdGhpcy5oYXNWYWx1ZSkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lO1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuXG4gICAgcGFyYW1zW25hbWVdID0gdmFsdWU7XG5cbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlwcygpOiB7IG5hbWU/OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcgfVtdIHtcbiAgICBpZighdGhpcy5oYXNWYWx1ZSB8fCB0aGlzLmlzVHlwZUtleXdvcmQpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgbGFiZWw6IHRoaXMubGFiZWwsXG4gICAgICB9LFxuICAgIF07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, forkJoin, merge, of, Subject } from 'rxjs';
|
|
3
3
|
import { debounceTime, filter, finalize, map, switchMap, takeUntil, tap } from 'rxjs/operators';
|
|
4
|
-
import { ItemType } from '../enums/item-type.enum';
|
|
5
4
|
import { createFilterItem } from '../helpers/create-filter-item';
|
|
5
|
+
import { KeywordItem } from '../models/items';
|
|
6
6
|
import { KeywordController } from './keyword-controller.service';
|
|
7
7
|
import { PersistanceController } from './persistance-controller.service';
|
|
8
8
|
import { QueryParamController } from './query-param-controller.service';
|
|
@@ -55,7 +55,7 @@ export class FilterController {
|
|
|
55
55
|
init(config) {
|
|
56
56
|
this._config = config;
|
|
57
57
|
of(null)
|
|
58
|
-
.pipe(tap(() => this._addItems(this._config.items || [])), tap(() => this._keywordController.init(
|
|
58
|
+
.pipe(tap(() => this._addItems(this._config.items || [])), tap(() => this._keywordController.init()), tap(() => this._sortController.init(this)), switchMap(() => forkJoin({
|
|
59
59
|
savedFilters: this._savedFilterController.init(this),
|
|
60
60
|
persistance: this._persistanceController.init(this),
|
|
61
61
|
queryParams: this._queryParamController.init(this),
|
|
@@ -172,7 +172,7 @@ export class FilterController {
|
|
|
172
172
|
})
|
|
173
173
|
.map((item) => {
|
|
174
174
|
const filterItem = createFilterItem(item, {}, this.filter);
|
|
175
|
-
if (filterItem
|
|
175
|
+
if (filterItem instanceof KeywordItem) {
|
|
176
176
|
this._keywordController.keywordItem = filterItem;
|
|
177
177
|
}
|
|
178
178
|
this._items.set(item.name, filterItem);
|
|
@@ -204,4 +204,4 @@ export class FilterController {
|
|
|
204
204
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterController, decorators: [{
|
|
205
205
|
type: Injectable
|
|
206
206
|
}] });
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJaEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBUWpFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFJM0QsTUFBTSxPQUFPLGdCQUFnQjtJQUVwQixNQUFNLENBQWtCO0lBRXZCLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7SUFDeEQsT0FBTyxDQUFpQjtJQUN4QixLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUM1QixNQUFNLEdBQUcs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QUM7UUFDTCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7d0dBaFFVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuXG5pbXBvcnQgdHlwZSB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICcuLi9lbnVtcy9pdGVtLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBjcmVhdGVGaWx0ZXJJdGVtIH0gZnJvbSAnLi4vaGVscGVycy9jcmVhdGUtZmlsdGVyLWl0ZW0nO1xuaW1wb3J0IHtcbiAgSUZpbHRlckNvbmZpZ0l0ZW0sXG59IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXh0ZXJuYWwtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGc0ZpbHRlckNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9maWx0ZXItY29uZmlnJztcbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2l0ZW1zL2Jhc2UtaXRlbSc7XG5cbmltcG9ydCB7IEtleXdvcmRDb250cm9sbGVyIH0gZnJvbSAnLi9rZXl3b3JkLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQZXJzaXN0YW5jZUNvbnRyb2xsZXIgfSBmcm9tICcuL3BlcnNpc3RhbmNlLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBRdWVyeVBhcmFtQ29udHJvbGxlciB9IGZyb20gJy4vcXVlcnktcGFyYW0tY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNhdmVkRmlsdGVyQ29udHJvbGxlciB9IGZyb20gJy4vc2F2ZWQtZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTb3J0Q29udHJvbGxlciB9IGZyb20gJy4vc29ydC1jb250cm9sbGVyLnNlcnZpY2UnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGaWx0ZXJDb250cm9sbGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwdWJsaWMgZmlsdGVyOiBGaWx0ZXJDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBfcmVhZHkkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgX2l0ZW1zID0gbmV3IE1hcDxzdHJpbmcsIEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPj4oKTtcbiAgcHJpdmF0ZSBfY29uZmlnOiBGc0ZpbHRlckNvbmZpZztcbiAgcHJpdmF0ZSBfYWRkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2luaXQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfY2hhbmdlJCA9IG5ldyBTdWJqZWN0PEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPltdPigpO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX3BlcnNpc3RhbmNlQ29udHJvbGxlciA9IGluamVjdChQZXJzaXN0YW5jZUNvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9zYXZlZEZpbHRlckNvbnRyb2xsZXIgPSBpbmplY3QoU2F2ZWRGaWx0ZXJDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfcXVlcnlQYXJhbUNvbnRyb2xsZXIgPSBpbmplY3QoUXVlcnlQYXJhbUNvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9rZXl3b3JkQ29udHJvbGxlciA9IGluamVjdChLZXl3b3JkQ29udHJvbGxlcik7XG4gIHByaXZhdGUgX3NvcnRDb250cm9sbGVyID0gaW5qZWN0KFNvcnRDb250cm9sbGVyKTtcblxuICBwdWJsaWMgZ2V0IGl0ZW1zKCk6IEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9pdGVtcy52YWx1ZXMoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZW1OYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLm5hbWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb25maWcoKTogRnNGaWx0ZXJDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluaXQkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbml0JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWRkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgzMCksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZSgpIHtcbiAgICB0aGlzLl9jaGFuZ2UkLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWR5JCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZHkkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KGNvbmZpZzogRnNGaWx0ZXJDb25maWcpIHtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgb2YobnVsbClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fYWRkSXRlbXModGhpcy5fY29uZmlnLml0ZW1zIHx8IFtdKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9rZXl3b3JkQ29udHJvbGxlci5pbml0KHRoaXMpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX3NvcnRDb250cm9sbGVyLmluaXQodGhpcykpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gZm9ya0pvaW4oe1xuICAgICAgICAgIHNhdmVkRmlsdGVyczogdGhpcy5fc2F2ZWRGaWx0ZXJDb250cm9sbGVyLmluaXQodGhpcyksXG4gICAgICAgICAgcGVyc2lzdGFuY2U6IHRoaXMuX3BlcnNpc3RhbmNlQ29udHJvbGxlci5pbml0KHRoaXMpLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLl9xdWVyeVBhcmFtQ29udHJvbGxlci5pbml0KHRoaXMpLFxuICAgICAgICB9KSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9pbml0SXRlbXMoKSksICAgICAgICBcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2luaXRDaGFuZ2VzKCkpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2luaXQkLm5leHQoKTtcbiAgICAgICAgICBpZiAodGhpcy5fY29uZmlnLmluaXQpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5pbml0KHRoaXMucXVlcnksIHRoaXMuX3NvcnRDb250cm9sbGVyLmdldFNvcnQoKSwgdGhpcy5maWx0ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuX3JlYWR5JC5uZXh0KHRydWUpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJdGVtKG5hbWU6IHN0cmluZyk6IEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zLmdldChuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJzQ2xlYXIoKSB7XG4gICAgdGhpcy5pdGVtc1xuICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5jbGVhcmFibGUpXG4gICAgICAuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpdGVtLmNsZWFyKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX2tleXdvcmRDb250cm9sbGVyLmNsZWFyKCk7XG4gICAgdGhpcy5fc29ydENvbnRyb2xsZXIuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlQYXJhbSgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNcbiAgICAgIC5yZWR1Y2UoKGFjY3VtLCBpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgLi4uaXRlbS5xdWVyeVBhcmFtLFxuICAgICAgICB9O1xuICAgICAgfSwge30pO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeSgpOiBLZXlWYWx1ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuaXRlbXNcbiAgICAgICAgLnJlZHVjZSgoYWNjdW0sIGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgICAuLi5pdGVtLnF1ZXJ5LFxuICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIC4uLnRoaXMuX3NvcnRDb250cm9sbGVyLnF1ZXJ5KCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmFsdWVzKHZhbHVlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uc2V0VmFsdWUodmFsdWVzW2l0ZW0ubmFtZV0sIGZhbHNlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlcygpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNcbiAgICAgIC5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGl0ZW0udmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgYWNjW2l0ZW0ubmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSk7XG4gIH1cbiAgXG4gIHByaXZhdGUgX2dldEluaXRWYWx1ZXMoKTogS2V5VmFsdWUge1xuICAgIGxldCByZXN1bHQ6IEtleVZhbHVlID0ge307XG5cbiAgICBpZiAodGhpcy5fc2F2ZWRGaWx0ZXJDb250cm9sbGVyLmVuYWJsZWQgJiYgdGhpcy5fc2F2ZWRGaWx0ZXJDb250cm9sbGVyLmFjdGl2ZUZpbHRlcikge1xuICAgICAgY29uc3QgcXVlcnkgPSBPYmplY3Qua2V5cyhyZXN1bHQpXG4gICAgICAgIC5maWx0ZXIoKGtleSkgPT4gIXRoaXMuaXRlbU5hbWVzLmluY2x1ZGVzKGtleSkpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgIFtrZXldOiByZXN1bHRba2V5XSxcbiAgICAgICAgICB9O1xuICAgICAgICB9LCB7fSk7XG5cbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgLi4ucXVlcnksIFxuICAgICAgICAuLi50aGlzLl9zYXZlZEZpbHRlckNvbnRyb2xsZXIuYWN0aXZlRmlsdGVyRGF0YSxcbiAgICAgIH07XG5cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuX3BlcnNpc3RhbmNlQ29udHJvbGxlci5lbmFibGVkKSB7XG4gICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAuLi5yZXN1bHQsIFxuICAgICAgICAgIC4uLnRoaXMuX3BlcnNpc3RhbmNlQ29udHJvbGxlci5nZXRRdWVyeSgpLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgXG4gICAgICBpZiAodGhpcy5fY29uZmlnLnF1ZXJ5UGFyYW0pIHtcbiAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgIC4uLnJlc3VsdCwgXG4gICAgICAgICAgLi4udGhpcy5fcXVlcnlQYXJhbUNvbnRyb2xsZXIucGFyYW1zLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9pbml0SXRlbXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZighdGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5fZ2V0SW5pdFZhbHVlcygpO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKFxuICAgICAgdGhpcy5pdGVtc1xuICAgICAgICAubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW0uaW5pdCh2YWx1ZXNbaXRlbS5uYW1lXSk7XG4gICAgICAgIH0pLFxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgaXRlbS5pbml0Q2FsbGJhY2soaXRlbSwgdGhpcy5maWx0ZXIpO1xuICAgICAgICB9KSksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkSXRlbXMoaXRlbXM6IElGaWx0ZXJDb25maWdJdGVtW10pIHtcbiAgICB0aGlzLl9hZGQkLm5leHQoKTtcblxuICAgIHRoaXMuX2l0ZW1zID0gbmV3IE1hcChcbiAgICAgIGl0ZW1zICAgICAgXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5faXRlbXMuaGFzKGl0ZW0ubmFtZSkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdGaWx0ZXIgaW5pdCBlcnJvci4gSXRlbXMgbmFtZSBtdXN0IGJlIHVuaXF1ZS4nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSlcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbHRlckl0ZW0gPSBjcmVhdGVGaWx0ZXJJdGVtKGl0ZW0sIHsgfSwgdGhpcy5maWx0ZXIpO1xuXG4gICAgICAgICAgaWYgKGZpbHRlckl0ZW0udHlwZSA9PT0gSXRlbVR5cGUuS2V5d29yZCkge1xuICAgICAgICAgICAgdGhpcy5fa2V5d29yZENvbnRyb2xsZXIua2V5d29yZEl0ZW0gPSBmaWx0ZXJJdGVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuX2l0ZW1zLnNldChpdGVtLm5hbWUsIGZpbHRlckl0ZW0pO1xuXG4gICAgICAgICAgcmV0dXJuIFtpdGVtLm5hbWUsIGZpbHRlckl0ZW1dO1xuICAgICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENoYW5nZXMoKSB7XG4gICAgbWVyZ2UoXG4gICAgICAuLi50aGlzLml0ZW1zXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWVFdmVudCRcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LmVtaXRDaGFuZ2UpLFxuICAgICAgICAgICAgbWFwKCgpID0+IGl0ZW0pLFxuICAgICAgICAgICkpLFxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKGl0ZW0pID0+IHRoaXMuX2NoYW5nZSQubmV4dChbaXRlbV0pKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX2NoYW5nZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKGl0ZW1zOiBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT5bXSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9jb25maWcuY2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl9jb25maWcuY2hhbmdlKHRoaXMucXVlcnksIHRoaXMuX3NvcnRDb250cm9sbGVyLmdldFNvcnQoKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaXRlbXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmNoYW5nZUNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgIGl0ZW0uY2hhbmdlQ2FsbGJhY2soaXRlbSwgdGhpcy5maWx0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG59XG4iXX0=
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFJM0QsTUFBTSxPQUFPLGdCQUFnQjtJQUVwQixNQUFNLENBQWtCO0lBRXZCLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7SUFDeEQsT0FBTyxDQUFpQjtJQUN4QixLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUM1QixNQUFNLEdBQUcs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QUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7d0dBaFFVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuXG5pbXBvcnQgdHlwZSB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgY3JlYXRlRmlsdGVySXRlbSB9IGZyb20gJy4uL2hlbHBlcnMvY3JlYXRlLWZpbHRlci1pdGVtJztcbmltcG9ydCB7XG4gIElGaWx0ZXJDb25maWdJdGVtLFxufSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dGVybmFsLXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRnNGaWx0ZXJDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVyLWNvbmZpZyc7XG5pbXBvcnQgeyBLZXl3b3JkSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcyc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5pbXBvcnQgeyBLZXl3b3JkQ29udHJvbGxlciB9IGZyb20gJy4va2V5d29yZC1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVyc2lzdGFuY2VDb250cm9sbGVyIH0gZnJvbSAnLi9wZXJzaXN0YW5jZS1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUXVlcnlQYXJhbUNvbnRyb2xsZXIgfSBmcm9tICcuL3F1ZXJ5LXBhcmFtLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlZEZpbHRlckNvbnRyb2xsZXIgfSBmcm9tICcuL3NhdmVkLWZpbHRlci1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU29ydENvbnRyb2xsZXIgfSBmcm9tICcuL3NvcnQtY29udHJvbGxlci5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmlsdGVyQ29udHJvbGxlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGZpbHRlcjogRmlsdGVyQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgX3JlYWR5JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIF9pdGVtcyA9IG5ldyBNYXA8c3RyaW5nLCBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT4+KCk7XG4gIHByaXZhdGUgX2NvbmZpZzogRnNGaWx0ZXJDb25maWc7XG4gIHByaXZhdGUgX2FkZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9pbml0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2NoYW5nZSQgPSBuZXcgU3ViamVjdDxCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT5bXT4oKTtcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9wZXJzaXN0YW5jZUNvbnRyb2xsZXIgPSBpbmplY3QoUGVyc2lzdGFuY2VDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfc2F2ZWRGaWx0ZXJDb250cm9sbGVyID0gaW5qZWN0KFNhdmVkRmlsdGVyQ29udHJvbGxlcik7XG4gIHByaXZhdGUgX3F1ZXJ5UGFyYW1Db250cm9sbGVyID0gaW5qZWN0KFF1ZXJ5UGFyYW1Db250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfa2V5d29yZENvbnRyb2xsZXIgPSBpbmplY3QoS2V5d29yZENvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9zb3J0Q29udHJvbGxlciA9IGluamVjdChTb3J0Q29udHJvbGxlcik7XG5cbiAgcHVibGljIGdldCBpdGVtcygpOiBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5faXRlbXMudmFsdWVzKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBpdGVtTmFtZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5uYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29uZmlnKCk6IEZzRmlsdGVyQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgcHVibGljIGdldCBpbml0JCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5pdCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFkZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYW5nZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoYW5nZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMzApLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2UoKSB7XG4gICAgdGhpcy5fY2hhbmdlJC5uZXh0KG51bGwpO1xuICB9XG5cbiAgcHVibGljIGdldCByZWFkeSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWR5JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdChjb25maWc6IEZzRmlsdGVyQ29uZmlnKSB7XG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuICAgIG9mKG51bGwpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2FkZEl0ZW1zKHRoaXMuX2NvbmZpZy5pdGVtcyB8fCBbXSkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fa2V5d29yZENvbnRyb2xsZXIuaW5pdCgpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX3NvcnRDb250cm9sbGVyLmluaXQodGhpcykpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gZm9ya0pvaW4oe1xuICAgICAgICAgIHNhdmVkRmlsdGVyczogdGhpcy5fc2F2ZWRGaWx0ZXJDb250cm9sbGVyLmluaXQodGhpcyksXG4gICAgICAgICAgcGVyc2lzdGFuY2U6IHRoaXMuX3BlcnNpc3RhbmNlQ29udHJvbGxlci5pbml0KHRoaXMpLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLl9xdWVyeVBhcmFtQ29udHJvbGxlci5pbml0KHRoaXMpLFxuICAgICAgICB9KSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9pbml0SXRlbXMoKSksICAgICAgICBcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2luaXRDaGFuZ2VzKCkpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2luaXQkLm5leHQoKTtcbiAgICAgICAgICBpZiAodGhpcy5fY29uZmlnLmluaXQpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5pbml0KHRoaXMucXVlcnksIHRoaXMuX3NvcnRDb250cm9sbGVyLmdldFNvcnQoKSwgdGhpcy5maWx0ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuX3JlYWR5JC5uZXh0KHRydWUpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJdGVtKG5hbWU6IHN0cmluZyk6IEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zLmdldChuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJzQ2xlYXIoKSB7XG4gICAgdGhpcy5pdGVtc1xuICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5jbGVhcmFibGUpXG4gICAgICAuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpdGVtLmNsZWFyKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX2tleXdvcmRDb250cm9sbGVyLmNsZWFyKCk7XG4gICAgdGhpcy5fc29ydENvbnRyb2xsZXIuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlQYXJhbSgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNcbiAgICAgIC5yZWR1Y2UoKGFjY3VtLCBpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgLi4uaXRlbS5xdWVyeVBhcmFtLFxuICAgICAgICB9O1xuICAgICAgfSwge30pO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeSgpOiBLZXlWYWx1ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuaXRlbXNcbiAgICAgICAgLnJlZHVjZSgoYWNjdW0sIGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgICAuLi5pdGVtLnF1ZXJ5LFxuICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIC4uLnRoaXMuX3NvcnRDb250cm9sbGVyLnF1ZXJ5KCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmFsdWVzKHZhbHVlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uc2V0VmFsdWUodmFsdWVzW2l0ZW0ubmFtZV0sIGZhbHNlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlcygpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNcbiAgICAgIC5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGl0ZW0udmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgYWNjW2l0ZW0ubmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSk7XG4gIH1cbiAgXG4gIHByaXZhdGUgX2dldEluaXRWYWx1ZXMoKTogS2V5VmFsdWUge1xuICAgIGxldCByZXN1bHQ6IEtleVZhbHVlID0ge307XG5cbiAgICBpZiAodGhpcy5fc2F2ZWRGaWx0ZXJDb250cm9sbGVyLmVuYWJsZWQgJiYgdGhpcy5fc2F2ZWRGaWx0ZXJDb250cm9sbGVyLmFjdGl2ZUZpbHRlcikge1xuICAgICAgY29uc3QgcXVlcnkgPSBPYmplY3Qua2V5cyhyZXN1bHQpXG4gICAgICAgIC5maWx0ZXIoKGtleSkgPT4gIXRoaXMuaXRlbU5hbWVzLmluY2x1ZGVzKGtleSkpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgIFtrZXldOiByZXN1bHRba2V5XSxcbiAgICAgICAgICB9O1xuICAgICAgICB9LCB7fSk7XG5cbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgLi4ucXVlcnksIFxuICAgICAgICAuLi50aGlzLl9zYXZlZEZpbHRlckNvbnRyb2xsZXIuYWN0aXZlRmlsdGVyRGF0YSxcbiAgICAgIH07XG5cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuX3BlcnNpc3RhbmNlQ29udHJvbGxlci5lbmFibGVkKSB7XG4gICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAuLi5yZXN1bHQsIFxuICAgICAgICAgIC4uLnRoaXMuX3BlcnNpc3RhbmNlQ29udHJvbGxlci5nZXRRdWVyeSgpLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgXG4gICAgICBpZiAodGhpcy5fY29uZmlnLnF1ZXJ5UGFyYW0pIHtcbiAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgIC4uLnJlc3VsdCwgXG4gICAgICAgICAgLi4udGhpcy5fcXVlcnlQYXJhbUNvbnRyb2xsZXIucGFyYW1zLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9pbml0SXRlbXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZighdGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5fZ2V0SW5pdFZhbHVlcygpO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKFxuICAgICAgdGhpcy5pdGVtc1xuICAgICAgICAubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW0uaW5pdCh2YWx1ZXNbaXRlbS5uYW1lXSk7XG4gICAgICAgIH0pLFxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgaXRlbS5pbml0Q2FsbGJhY2soaXRlbSwgdGhpcy5maWx0ZXIpO1xuICAgICAgICB9KSksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkSXRlbXMoaXRlbXM6IElGaWx0ZXJDb25maWdJdGVtW10pIHtcbiAgICB0aGlzLl9hZGQkLm5leHQoKTtcblxuICAgIHRoaXMuX2l0ZW1zID0gbmV3IE1hcChcbiAgICAgIGl0ZW1zICAgICAgXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5faXRlbXMuaGFzKGl0ZW0ubmFtZSkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdGaWx0ZXIgaW5pdCBlcnJvci4gSXRlbXMgbmFtZSBtdXN0IGJlIHVuaXF1ZS4nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSlcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbHRlckl0ZW0gPSBjcmVhdGVGaWx0ZXJJdGVtKGl0ZW0sIHsgfSwgdGhpcy5maWx0ZXIpO1xuXG4gICAgICAgICAgaWYgKGZpbHRlckl0ZW0gaW5zdGFuY2VvZiBLZXl3b3JkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5fa2V5d29yZENvbnRyb2xsZXIua2V5d29yZEl0ZW0gPSBmaWx0ZXJJdGVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuX2l0ZW1zLnNldChpdGVtLm5hbWUsIGZpbHRlckl0ZW0pO1xuXG4gICAgICAgICAgcmV0dXJuIFtpdGVtLm5hbWUsIGZpbHRlckl0ZW1dO1xuICAgICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENoYW5nZXMoKSB7XG4gICAgbWVyZ2UoXG4gICAgICAuLi50aGlzLml0ZW1zXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWVFdmVudCRcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LmVtaXRDaGFuZ2UpLFxuICAgICAgICAgICAgbWFwKCgpID0+IGl0ZW0pLFxuICAgICAgICAgICkpLFxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKGl0ZW0pID0+IHRoaXMuX2NoYW5nZSQubmV4dChbaXRlbV0pKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX2NoYW5nZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKGl0ZW1zOiBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT5bXSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9jb25maWcuY2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl9jb25maWcuY2hhbmdlKHRoaXMucXVlcnksIHRoaXMuX3NvcnRDb250cm9sbGVyLmdldFNvcnQoKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaXRlbXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmNoYW5nZUNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgIGl0ZW0uY2hhbmdlQ2FsbGJhY2soaXRlbSwgdGhpcy5maWx0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
import { DestroyRef, inject, Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, distinctUntilChanged, of, switchMap } from 'rxjs';
|
|
2
|
+
import { BehaviorSubject, distinctUntilChanged, map, of, switchMap, tap } from 'rxjs';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class KeywordController {
|
|
6
6
|
_keywordItem$ = new BehaviorSubject(null);
|
|
7
7
|
_keywordVisible$ = new BehaviorSubject(null);
|
|
8
|
+
_keywordFullWidth$ = new BehaviorSubject(null);
|
|
8
9
|
_destroyRef = inject(DestroyRef);
|
|
9
|
-
|
|
10
|
-
init(filterController) {
|
|
11
|
-
this._filterController = filterController;
|
|
10
|
+
init() {
|
|
12
11
|
this._keywordItem$
|
|
13
12
|
.pipe(
|
|
14
13
|
// when item changes, unsubscribe from the previous visible$
|
|
15
14
|
switchMap((item) => item ? item.visible$ : of(false)),
|
|
16
15
|
// avoid redundant writes
|
|
17
|
-
distinctUntilChanged(),
|
|
16
|
+
distinctUntilChanged(), tap((visible) => this._keywordVisible$.next(visible)),
|
|
18
17
|
// clean up on destroy,
|
|
19
18
|
takeUntilDestroyed(this._destroyRef))
|
|
20
|
-
.subscribe(
|
|
19
|
+
.subscribe();
|
|
20
|
+
this._keywordItem$
|
|
21
|
+
.pipe(map((item) => !!item?.fullWidth),
|
|
22
|
+
// avoid redundant writes
|
|
23
|
+
distinctUntilChanged(), tap((fullWidth) => this._keywordFullWidth$.next(fullWidth)),
|
|
24
|
+
// clean up on destroy,
|
|
25
|
+
takeUntilDestroyed(this._destroyRef))
|
|
26
|
+
.subscribe();
|
|
21
27
|
}
|
|
22
28
|
get keywordItem$() {
|
|
23
29
|
return this._keywordItem$.asObservable();
|
|
@@ -40,10 +46,13 @@ export class KeywordController {
|
|
|
40
46
|
get keywordVisible$() {
|
|
41
47
|
return this._keywordVisible$.asObservable();
|
|
42
48
|
}
|
|
49
|
+
get keywordFullWidth$() {
|
|
50
|
+
return this._keywordFullWidth$.asObservable();
|
|
51
|
+
}
|
|
43
52
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeywordController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
44
53
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeywordController });
|
|
45
54
|
}
|
|
46
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeywordController, decorators: [{
|
|
47
56
|
type: Injectable
|
|
48
57
|
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5d29yZC1jb250cm9sbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2VzL2tleXdvcmQtY29udHJvbGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLGlCQUFpQjtJQUVwQixhQUFhLEdBQUcsSUFBSSxlQUFlLENBQWMsSUFBSSxDQUFDLENBQUM7SUFDdkQsZ0JBQWdCLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0Msa0JBQWtCLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVsQyxJQUFJO1FBQ1QsSUFBSSxDQUFDLGFBQWE7YUFDZixJQUFJO1FBQ0gsNERBQTREO1FBQzVELFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQseUJBQXlCO1FBQ3pCLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCx1QkFBdUI7UUFDdkIsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUNyQzthQUNBLFNBQVMsRUFBRSxDQUFDO1FBRWYsSUFBSSxDQUFDLGFBQWE7YUFDZixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztRQUNoQyx5QkFBeUI7UUFDekIsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNELHVCQUF1QjtRQUN2QixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ3JDO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLFdBQVcsQ0FBQyxJQUFpQjtRQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2hELENBQUM7d0dBOURVLGlCQUFpQjs0R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHsgS2V5d29yZEl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvaXRlbXMnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBLZXl3b3JkQ29udHJvbGxlciB7XG5cbiAgcHJpdmF0ZSBfa2V5d29yZEl0ZW0kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxLZXl3b3JkSXRlbT4obnVsbCk7XG4gIHByaXZhdGUgX2tleXdvcmRWaXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIHByaXZhdGUgX2tleXdvcmRGdWxsV2lkdGgkID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgcHJpdmF0ZSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwdWJsaWMgaW5pdCgpIHtcbiAgICB0aGlzLl9rZXl3b3JkSXRlbSRcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyB3aGVuIGl0ZW0gY2hhbmdlcywgdW5zdWJzY3JpYmUgZnJvbSB0aGUgcHJldmlvdXMgdmlzaWJsZSRcbiAgICAgICAgc3dpdGNoTWFwKChpdGVtKSA9PiBpdGVtID8gaXRlbS52aXNpYmxlJCA6IG9mKGZhbHNlKSksXG4gICAgICAgIC8vIGF2b2lkIHJlZHVuZGFudCB3cml0ZXNcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgdGFwKCh2aXNpYmxlKSA9PiB0aGlzLl9rZXl3b3JkVmlzaWJsZSQubmV4dCh2aXNpYmxlKSksXG4gICAgICAgIC8vIGNsZWFuIHVwIG9uIGRlc3Ryb3ksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgIFxuICAgIHRoaXMuX2tleXdvcmRJdGVtJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaXRlbSkgPT4gISFpdGVtPy5mdWxsV2lkdGgpLFxuICAgICAgICAvLyBhdm9pZCByZWR1bmRhbnQgd3JpdGVzXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHRhcCgoZnVsbFdpZHRoKSA9PiB0aGlzLl9rZXl3b3JkRnVsbFdpZHRoJC5uZXh0KGZ1bGxXaWR0aCkpLFxuICAgICAgICAvLyBjbGVhbiB1cCBvbiBkZXN0cm95LFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZiksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGtleXdvcmRJdGVtJCgpOiBPYnNlcnZhYmxlPEtleXdvcmRJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuX2tleXdvcmRJdGVtJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQga2V5d29yZEl0ZW0oKTogS2V5d29yZEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLl9rZXl3b3JkSXRlbSQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGtleXdvcmRJdGVtKGl0ZW06IEtleXdvcmRJdGVtKSB7XG4gICAgdGhpcy5fa2V5d29yZEl0ZW0kLm5leHQoaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKSB7XG4gICAgdGhpcy5rZXl3b3JkSXRlbS52YWx1ZSA9ICcnO1xuICB9XG5cbiAgcHVibGljIHNob3coKSB7XG4gICAgdGhpcy5rZXl3b3JkSXRlbT8uc2hvdygpO1xuICB9XG5cbiAgcHVibGljIGhpZGUoKSB7XG4gICAgdGhpcy5rZXl3b3JkSXRlbT8uaGlkZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBrZXl3b3JkVmlzaWJsZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2tleXdvcmRWaXNpYmxlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQga2V5d29yZEZ1bGxXaWR0aCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2tleXdvcmRGdWxsV2lkdGgkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbn1cblxuIl19
|