@recursyve/nice-data-filter-kit 14.5.4 → 14.5.6
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/esm2020/lib/api/filter.api.mjs +24 -10
- package/esm2020/lib/components/base-list/providers/base-filter.service.mjs +5 -5
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/providers/async-typeahead.provider.mjs +3 -3
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.mjs +15 -11
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +4 -1
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +2 -2
- package/fesm2015/recursyve-nice-data-filter-kit.mjs +38 -31
- package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
- package/fesm2020/recursyve-nice-data-filter-kit.mjs +41 -22
- package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
- package/lib/api/filter.api.d.ts +4 -4
- package/lib/components/base-list/providers/base-filter.service.d.ts +3 -2
- package/lib/components/nice-filter-view/components/advanced-filters/providers/async-typeahead.provider.d.ts +1 -0
- package/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.d.ts +4 -0
- package/lib/components/nice-filter-view/store/nice-filter-view.query.d.ts +2 -0
- package/package.json +1 -1
|
@@ -22,14 +22,26 @@ export class NiceFilterApi {
|
|
|
22
22
|
getFilterConfig(option = {}) {
|
|
23
23
|
return this.http.get(this.url("filter/config"), option);
|
|
24
24
|
}
|
|
25
|
-
searchFilterValue(id, value) {
|
|
25
|
+
searchFilterValue(id, value, options) {
|
|
26
26
|
if (value === undefined) {
|
|
27
27
|
value = "";
|
|
28
28
|
}
|
|
29
|
-
return this.http.get(this.url(`filter/config/value
|
|
29
|
+
return this.http.get(this.url(`filter/config/value`), {
|
|
30
|
+
params: {
|
|
31
|
+
...options?.params,
|
|
32
|
+
id,
|
|
33
|
+
value
|
|
34
|
+
}
|
|
35
|
+
});
|
|
30
36
|
}
|
|
31
|
-
searchFilterResourceValue(id, resourceId) {
|
|
32
|
-
return this.http.get(this.url(`filter/config/id
|
|
37
|
+
searchFilterResourceValue(id, resourceId, options) {
|
|
38
|
+
return this.http.get(this.url(`filter/config/id`), {
|
|
39
|
+
params: {
|
|
40
|
+
...options?.params,
|
|
41
|
+
id,
|
|
42
|
+
resourceId
|
|
43
|
+
}
|
|
44
|
+
});
|
|
33
45
|
}
|
|
34
46
|
url(...args) {
|
|
35
47
|
const [route, queryParams] = this.transformUrlArgs(args);
|
|
@@ -53,6 +65,9 @@ export class NiceFilterApi {
|
|
|
53
65
|
export const mixinNiceFilterApi = (model) => {
|
|
54
66
|
return (base) => {
|
|
55
67
|
return class extends base {
|
|
68
|
+
constructor(...args) {
|
|
69
|
+
super(...args);
|
|
70
|
+
}
|
|
56
71
|
filter(queryModel, option = {}) {
|
|
57
72
|
return this.post("filter", queryModel, option).pipe(map(x => model ? ({
|
|
58
73
|
...x,
|
|
@@ -71,29 +86,28 @@ export const mixinNiceFilterApi = (model) => {
|
|
|
71
86
|
getFilterConfig(option = {}) {
|
|
72
87
|
return this.get("filter/config", option);
|
|
73
88
|
}
|
|
74
|
-
searchFilterValue(id, value) {
|
|
89
|
+
searchFilterValue(id, value, options) {
|
|
75
90
|
if (value === undefined) {
|
|
76
91
|
value = "";
|
|
77
92
|
}
|
|
78
93
|
return this.get("filter/config/value", {
|
|
79
94
|
params: {
|
|
95
|
+
...options?.params,
|
|
80
96
|
id,
|
|
81
97
|
value
|
|
82
98
|
}
|
|
83
99
|
});
|
|
84
100
|
}
|
|
85
|
-
searchFilterResourceValue(id, resourceId) {
|
|
101
|
+
searchFilterResourceValue(id, resourceId, options) {
|
|
86
102
|
return this.get("filter/config/id", {
|
|
87
103
|
params: {
|
|
104
|
+
...options?.params,
|
|
88
105
|
id,
|
|
89
106
|
resourceId
|
|
90
107
|
}
|
|
91
108
|
});
|
|
92
109
|
}
|
|
93
|
-
constructor(...args) {
|
|
94
|
-
super(...args);
|
|
95
|
-
}
|
|
96
110
|
};
|
|
97
111
|
};
|
|
98
112
|
};
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvYXBpL2ZpbHRlci5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9yQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQTRCL0QsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFBb0IsWUFBb0IsRUFBVSxJQUFZLEVBQVksSUFBZ0I7UUFBdEUsaUJBQVksR0FBWixZQUFZLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVksU0FBSSxHQUFKLElBQUksQ0FBWTtJQUMxRixDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQTRCLEVBQUUsU0FBMEIsRUFBRTtRQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF1QixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sV0FBVyxDQUFDLFVBQTRCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVksRUFBRSxVQUE0QjtRQUMxRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFTSxnQkFBZ0IsQ0FB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LCBIdHRwQ29udGV4dCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSHR0cE9wdGlvbnMsIE5pY2VIdHRwRXhjZXB0aW9uRmFjdG9yeSB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnN0cnVjdG9yLCBDb25zdHJ1Y3RvciB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyL2xpYi90eXBlcy9jb25zdHJ1Y3RvclwiO1xuaW1wb3J0IHsgcGxhaW5Ub0luc3RhbmNlIH0gZnJvbSBcImNsYXNzLXRyYW5zZm9ybWVyXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHtcbiAgICBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwsXG4gICAgRmlsdGVyUXVlcnlNb2RlbCxcbiAgICBGaWx0ZXJSZXN1bHRNb2RlbCxcbiAgICBTZWxlY3RGaWx0ZXJWYWx1ZVxufSBmcm9tIFwiLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgUXVlcnlQYXJhbXNVdGlscyB9IGZyb20gXCIuLi91dGlscy9xdWVyeS1wYXJhbXMudXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOaWNlSHR0cE9wdGlvbnMge1xuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcbiAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgfTtcbiAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcbiAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgUmVhZG9ubHlBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPjtcbiAgICB9O1xuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5UGFyYW1zIHtcbiAgICBbcGFyYW06IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbiB7XG4gICAgZmlsdGVyKHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwsIG9wdGlvbj86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxGaWx0ZXJSZXN1bHRNb2RlbD47XG4gICAgZmlsdGVyQ291bnQocXVlcnlNb2RlbDogRmlsdGVyUXVlcnlNb2RlbCk6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBkb3dubG9hZERhdGEodHlwZTogc3RyaW5nLCBxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxCbG9iPjtcbiAgICBnZXRQcmludGFibGVIdG1sKHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgZ2V0RmlsdGVyQ29uZmlnKG9wdGlvbj86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT47XG4gICAgc2VhcmNoRmlsdGVyVmFsdWUoaWQ6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IE9ic2VydmFibGU8U2VsZWN0RmlsdGVyVmFsdWVbXT47XG4gICAgc2VhcmNoRmlsdGVyUmVzb3VyY2VWYWx1ZShpZDogc3RyaW5nLCByZXNvdXJjZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNlbGVjdEZpbHRlclZhbHVlPjtcbn1cblxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJBcGk8VD4gaW1wbGVtZW50cyBOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbiB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWx0ZXJBcGlVcmw6IHN0cmluZywgcHJpdmF0ZSBwYXRoOiBzdHJpbmcsIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgfVxuXG4gICAgcHVibGljIGZpbHRlcihxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsLCBvcHRpb246IE5pY2VIdHRwT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxGaWx0ZXJSZXN1bHRNb2RlbDxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RmlsdGVyUmVzdWx0TW9kZWw8VD4+KHRoaXMudXJsKFwiZmlsdGVyXCIpLCBxdWVyeU1vZGVsLCBvcHRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaWx0ZXJDb3VudChxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bWJlcj4odGhpcy51cmwoXCJmaWx0ZXItY291bnRcIiksIHF1ZXJ5TW9kZWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkb3dubG9hZERhdGEodHlwZTogc3RyaW5nLCBxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnVybChgZG93bmxvYWQvJHt0eXBlfWApLCBxdWVyeU1vZGVsLCB7IHJlc3BvbnNlVHlwZTogXCJibG9iXCIgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFByaW50YWJsZUh0bWwocXVlcnlNb2RlbDogRmlsdGVyUXVlcnlNb2RlbCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnVybChgZG93bmxvYWQvaHRtbGApLCBxdWVyeU1vZGVsLCB7IHJlc3BvbnNlVHlwZTogXCJ0ZXh0XCIgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpbHRlckNvbmZpZyhvcHRpb246IE5pY2VIdHRwT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT4odGhpcy51cmwoXCJmaWx0ZXIvY29uZmlnXCIpLCBvcHRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2hGaWx0ZXJWYWx1ZShpZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTZWxlY3RGaWx0ZXJWYWx1ZVtdPiB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTZWxlY3RGaWx0ZXJWYWx1ZVtdPih0aGlzLnVybChgZmlsdGVyL2NvbmZpZy92YWx1ZT9pZD0ke2lkfSZ2YWx1ZT0ke3ZhbHVlfWApKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VhcmNoRmlsdGVyUmVzb3VyY2VWYWx1ZShpZDogc3RyaW5nLCByZXNvdXJjZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNlbGVjdEZpbHRlclZhbHVlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNlbGVjdEZpbHRlclZhbHVlPih0aGlzLnVybChgZmlsdGVyL2NvbmZpZy9pZD9pZD0ke2lkfSZyZXNvdXJjZUlkPSR7cmVzb3VyY2VJZH1gKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVybChyb3V0ZT86IHN0cmluZywgcXVlcnlQYXJhbXM/OiBvYmplY3QpOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIHVybChxdWVyeVBhcmFtczogb2JqZWN0KTogc3RyaW5nO1xuICAgIHByb3RlY3RlZCB1cmwoLi4uYXJnczogW3N0cmluZyB8IG9iamVjdCwgb2JqZWN0P10pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBbcm91dGUsIHF1ZXJ5UGFyYW1zXSA9IHRoaXMudHJhbnNmb3JtVXJsQXJncyhhcmdzKTtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gcXVlcnlQYXJhbXMgPyBgPyR7UXVlcnlQYXJhbXNVdGlscy5mcm9tT2JqZWN0KHF1ZXJ5UGFyYW1zKX1gIDogXCJcIjtcbiAgICAgICAgaWYgKHJvdXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5maWx0ZXJBcGlVcmx9LyR7dGhpcy5wYXRofS8ke3JvdXRlfSR7cGFyYW1zfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7dGhpcy5maWx0ZXJBcGlVcmx9LyR7dGhpcy5wYXRofSR7cGFyYW1zfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cmFuc2Zvcm1VcmxBcmdzKGFyZ3M6IFtzdHJpbmcgfCBvYmplY3QsIG9iamVjdD9dKTogW3JvdXRlOiBzdHJpbmcsIHF1ZXJ5UGFyYW1zPzogb2JqZWN0XSB7XG4gICAgICAgIGNvbnN0IFtyb3V0ZU9mUXVlcnlQYXJhbXMsIHF1ZXJ5XSA9IGFyZ3M7XG4gICAgICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByb3V0ZU9mUXVlcnlQYXJhbXMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW3JvdXRlT2ZRdWVyeVBhcmFtc107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBbXCJcIiwgcm91dGVPZlF1ZXJ5UGFyYW1zXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbKHJvdXRlT2ZRdWVyeVBhcmFtcyBhcyBzdHJpbmcpID8/IFwiXCIsIHF1ZXJ5XTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzTmljZUZpbHRlckFwaURlZmluaXRpb24ge1xuICAgIGV4Y2VwdGlvbkZhY3Rvcnk6IE5pY2VIdHRwRXhjZXB0aW9uRmFjdG9yeTtcbiAgICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50O1xuICAgIGFwaVVybDogc3RyaW5nO1xuICAgIHBhdGg6IHN0cmluZztcblxuICAgIHVybChyb3V0ZT86IHN0cmluZyk6IHN0cmluZztcbiAgICBkZWxldGU8VD4ocm91dGU/OiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8VD47XG4gICAgZ2V0PFQ+KHJvdXRlPzogc3RyaW5nLCBvcHRpb25zPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPFQ+O1xuICAgIHBhdGNoPFQ+KHJvdXRlPzogc3RyaW5nLCBib2R5PzogYW55LCBvcHRpb25zPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPFQ+O1xuICAgIHBvc3Q8VD4ocm91dGU/OiBzdHJpbmcsIGJvZHk/OiBhbnksIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8VD47XG4gICAgcHV0PFQ+KHJvdXRlPzogc3RyaW5nLCBib2R5PzogYW55LCBvcHRpb25zPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPFQ+O1xufVxuXG5leHBvcnQgdHlwZSBOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbkN0b3IgPSBDb25zdHJ1Y3RvcjxOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbj4gJiBBYnN0cmFjdENvbnN0cnVjdG9yPE5pY2VGaWx0ZXJBcGlEZWZpbml0aW9uPjtcblxuZXhwb3J0IGNvbnN0IG1peGluTmljZUZpbHRlckFwaSA9IDxUPihtb2RlbD86IFR5cGU8VD4pID0+IHtcbiAgICByZXR1cm4gPEMgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxIYXNOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbj4+KGJhc2U6IEMpOiBOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbkN0b3IgJiBDID0+IHtcbiAgICAgICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgYmFzZSB7XG4gICAgICAgICAgICBwdWJsaWMgZmlsdGVyKHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwsIG9wdGlvbjogTmljZUh0dHBPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPEZpbHRlclJlc3VsdE1vZGVsPFQ+PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9zdDxGaWx0ZXJSZXN1bHRNb2RlbD4oXCJmaWx0ZXJcIiwgcXVlcnlNb2RlbCwgb3B0aW9uKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoeCA9PiBtb2RlbCA/ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBwbGFpblRvSW5zdGFuY2UobW9kZWwsIHgudmFsdWVzKVxuICAgICAgICAgICAgICAgICAgICB9KSA6IHgpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHVibGljIGZpbHRlckNvdW50KHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnBvc3Q8bnVtYmVyPihcImZpbHRlci1jb3VudFwiLCBxdWVyeU1vZGVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHVibGljIGRvd25sb2FkRGF0YSh0eXBlOiBzdHJpbmcsIHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wb3N0KGBkb3dubG9hZC8ke3R5cGV9YCwgcXVlcnlNb2RlbCwgeyByZXNwb25zZVR5cGU6IFwiYmxvYlwiIH0gYXMgYW55KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHVibGljIGdldFByaW50YWJsZUh0bWwocXVlcnlNb2RlbDogRmlsdGVyUXVlcnlNb2RlbCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9zdChgZG93bmxvYWQvaHRtbGAsIHF1ZXJ5TW9kZWwsIHsgcmVzcG9uc2VUeXBlOiBcInRleHRcIiB9IGFzIGFueSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHB1YmxpYyBnZXRGaWx0ZXJDb25maWcob3B0aW9uOiBOaWNlSHR0cE9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8RmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsW10+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXQ8RmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsW10+KFwiZmlsdGVyL2NvbmZpZ1wiLCBvcHRpb24pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwdWJsaWMgc2VhcmNoRmlsdGVyVmFsdWUoaWQ6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IE9ic2VydmFibGU8U2VsZWN0RmlsdGVyVmFsdWVbXT4ge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gXCJcIjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXQ8U2VsZWN0RmlsdGVyVmFsdWVbXT4oXCJmaWx0ZXIvY29uZmlnL3ZhbHVlXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHVibGljIHNlYXJjaEZpbHRlclJlc291cmNlVmFsdWUoaWQ6IHN0cmluZywgcmVzb3VyY2VJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTZWxlY3RGaWx0ZXJWYWx1ZT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldDxTZWxlY3RGaWx0ZXJWYWx1ZT4oXCJmaWx0ZXIvY29uZmlnL2lkXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlSWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICAgICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG59O1xuIl19
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvYXBpL2ZpbHRlci5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQWtDL0QsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFBb0IsWUFBb0IsRUFBVSxJQUFZLEVBQVksSUFBZ0I7UUFBdEUsaUJBQVksR0FBWixZQUFZLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVksU0FBSSxHQUFKLElBQUksQ0FBWTtJQUMxRixDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQTRCLEVBQUUsU0FBMEIsRUFBRTtRQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF1QixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sV0FBVyxDQUFDLFVBQTRCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVksRUFBRSxVQUE0QjtRQUMxRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFTSxnQkFBZ0IsQ0FB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RixPQUFPLElBQUksQ0FBQyxHQUFHLENBQW9CLGtCQUFrQixFQUFFO29CQUNuRCxNQUFNLEVBQUU7d0JBQ0osR0FBRyxPQUFPLEVBQUUsTUFBTTt3QkFDbEIsRUFBRTt3QkFDRixVQUFVO3FCQUNiO2lCQUNKLENBQUMsQ0FBQztZQUNQLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cENvbnRleHQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEh0dHBPcHRpb25zLCBOaWNlSHR0cEV4Y2VwdGlvbkZhY3RvcnkgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uaWNlLXVpLWtpdC52MlwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb25zdHJ1Y3RvciwgQ29uc3RydWN0b3IgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uaWNlLXVpLWtpdC52Mi9saWIvdHlwZXMvY29uc3RydWN0b3JcIjtcbmltcG9ydCB7IHBsYWluVG9JbnN0YW5jZSB9IGZyb20gXCJjbGFzcy10cmFuc2Zvcm1lclwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCwgRmlsdGVyUXVlcnlNb2RlbCwgRmlsdGVyUmVzdWx0TW9kZWwsIFNlbGVjdEZpbHRlclZhbHVlIH0gZnJvbSBcIi4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zVXRpbHMgfSBmcm9tIFwiLi4vdXRpbHMvcXVlcnktcGFyYW1zLnV0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmljZUh0dHBPcHRpb25zIHtcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMgfCB7XG4gICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIH07XG4gICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7XG4gICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj47XG4gICAgfTtcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeVBhcmFtcyB7XG4gICAgW3BhcmFtOiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmljZUZpbHRlckFwaURlZmluaXRpb24ge1xuICAgIGZpbHRlcihxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsLCBvcHRpb24/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8RmlsdGVyUmVzdWx0TW9kZWw+O1xuXG4gICAgZmlsdGVyQ291bnQocXVlcnlNb2RlbDogRmlsdGVyUXVlcnlNb2RlbCk6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICAgIGRvd25sb2FkRGF0YSh0eXBlOiBzdHJpbmcsIHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPEJsb2I+O1xuXG4gICAgZ2V0UHJpbnRhYmxlSHRtbChxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgZ2V0RmlsdGVyQ29uZmlnKG9wdGlvbj86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT47XG5cbiAgICBzZWFyY2hGaWx0ZXJWYWx1ZShpZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBvcHRpb25zPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPFNlbGVjdEZpbHRlclZhbHVlW10+O1xuXG4gICAgc2VhcmNoRmlsdGVyUmVzb3VyY2VWYWx1ZShpZDogc3RyaW5nLCByZXNvdXJjZUlkOiBudW1iZXIsIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8U2VsZWN0RmlsdGVyVmFsdWU+O1xufVxuXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlckFwaTxUPiBpbXBsZW1lbnRzIE5pY2VGaWx0ZXJBcGlEZWZpbml0aW9uIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbHRlckFwaVVybDogc3RyaW5nLCBwcml2YXRlIHBhdGg6IHN0cmluZywgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlsdGVyKHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwsIG9wdGlvbjogTmljZUh0dHBPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPEZpbHRlclJlc3VsdE1vZGVsPFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGaWx0ZXJSZXN1bHRNb2RlbDxUPj4odGhpcy51cmwoXCJmaWx0ZXJcIiksIHF1ZXJ5TW9kZWwsIG9wdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIGZpbHRlckNvdW50KHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVtYmVyPih0aGlzLnVybChcImZpbHRlci1jb3VudFwiKSwgcXVlcnlNb2RlbCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRvd25sb2FkRGF0YSh0eXBlOiBzdHJpbmcsIHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMudXJsKGBkb3dubG9hZC8ke3R5cGV9YCksIHF1ZXJ5TW9kZWwsIHsgcmVzcG9uc2VUeXBlOiBcImJsb2JcIiB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UHJpbnRhYmxlSHRtbChxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMudXJsKGBkb3dubG9hZC9odG1sYCksIHF1ZXJ5TW9kZWwsIHsgcmVzcG9uc2VUeXBlOiBcInRleHRcIiB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmlsdGVyQ29uZmlnKG9wdGlvbjogTmljZUh0dHBPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbFtdPih0aGlzLnVybChcImZpbHRlci9jb25maWdcIiksIG9wdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIHNlYXJjaEZpbHRlclZhbHVlKGlkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8U2VsZWN0RmlsdGVyVmFsdWVbXT4ge1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdmFsdWUgPSBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2VsZWN0RmlsdGVyVmFsdWVbXT4odGhpcy51cmwoYGZpbHRlci9jb25maWcvdmFsdWVgKSwge1xuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgLi4ub3B0aW9ucz8ucGFyYW1zLFxuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2hGaWx0ZXJSZXNvdXJjZVZhbHVlKGlkOiBzdHJpbmcsIHJlc291cmNlSWQ6IG51bWJlciwgb3B0aW9ucz86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxTZWxlY3RGaWx0ZXJWYWx1ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTZWxlY3RGaWx0ZXJWYWx1ZT4odGhpcy51cmwoYGZpbHRlci9jb25maWcvaWRgKSwge1xuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgLi4ub3B0aW9ucz8ucGFyYW1zLFxuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIHJlc291cmNlSWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVybChyb3V0ZT86IHN0cmluZywgcXVlcnlQYXJhbXM/OiBvYmplY3QpOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIHVybChxdWVyeVBhcmFtczogb2JqZWN0KTogc3RyaW5nO1xuICAgIHByb3RlY3RlZCB1cmwoLi4uYXJnczogW3N0cmluZyB8IG9iamVjdCwgb2JqZWN0P10pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBbcm91dGUsIHF1ZXJ5UGFyYW1zXSA9IHRoaXMudHJhbnNmb3JtVXJsQXJncyhhcmdzKTtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gcXVlcnlQYXJhbXMgPyBgPyR7UXVlcnlQYXJhbXNVdGlscy5mcm9tT2JqZWN0KHF1ZXJ5UGFyYW1zKX1gIDogXCJcIjtcbiAgICAgICAgaWYgKHJvdXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5maWx0ZXJBcGlVcmx9LyR7dGhpcy5wYXRofS8ke3JvdXRlfSR7cGFyYW1zfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7dGhpcy5maWx0ZXJBcGlVcmx9LyR7dGhpcy5wYXRofSR7cGFyYW1zfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cmFuc2Zvcm1VcmxBcmdzKGFyZ3M6IFtzdHJpbmcgfCBvYmplY3QsIG9iamVjdD9dKTogW3JvdXRlOiBzdHJpbmcsIHF1ZXJ5UGFyYW1zPzogb2JqZWN0XSB7XG4gICAgICAgIGNvbnN0IFtyb3V0ZU9mUXVlcnlQYXJhbXMsIHF1ZXJ5XSA9IGFyZ3M7XG4gICAgICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByb3V0ZU9mUXVlcnlQYXJhbXMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW3JvdXRlT2ZRdWVyeVBhcmFtc107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBbXCJcIiwgcm91dGVPZlF1ZXJ5UGFyYW1zXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbKHJvdXRlT2ZRdWVyeVBhcmFtcyBhcyBzdHJpbmcpID8/IFwiXCIsIHF1ZXJ5XTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzTmljZUZpbHRlckFwaURlZmluaXRpb24ge1xuICAgIGV4Y2VwdGlvbkZhY3Rvcnk6IE5pY2VIdHRwRXhjZXB0aW9uRmFjdG9yeTtcbiAgICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50O1xuICAgIGFwaVVybDogc3RyaW5nO1xuICAgIHBhdGg6IHN0cmluZztcblxuICAgIHVybChyb3V0ZT86IHN0cmluZyk6IHN0cmluZztcblxuICAgIGRlbGV0ZTxUPihyb3V0ZT86IHN0cmluZywgb3B0aW9ucz86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxUPjtcblxuICAgIGdldDxUPihyb3V0ZT86IHN0cmluZywgb3B0aW9ucz86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxUPjtcblxuICAgIHBhdGNoPFQ+KHJvdXRlPzogc3RyaW5nLCBib2R5PzogYW55LCBvcHRpb25zPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPFQ+O1xuXG4gICAgcG9zdDxUPihyb3V0ZT86IHN0cmluZywgYm9keT86IGFueSwgb3B0aW9ucz86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxUPjtcblxuICAgIHB1dDxUPihyb3V0ZT86IHN0cmluZywgYm9keT86IGFueSwgb3B0aW9ucz86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxUPjtcbn1cblxuZXhwb3J0IHR5cGUgTmljZUZpbHRlckFwaURlZmluaXRpb25DdG9yID0gQ29uc3RydWN0b3I8TmljZUZpbHRlckFwaURlZmluaXRpb24+ICYgQWJzdHJhY3RDb25zdHJ1Y3RvcjxOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbj47XG5cbmV4cG9ydCBjb25zdCBtaXhpbk5pY2VGaWx0ZXJBcGkgPSA8VD4obW9kZWw/OiBUeXBlPFQ+KSA9PiB7XG4gICAgcmV0dXJuIDxDIGV4dGVuZHMgQ29uc3RydWN0b3I8SGFzTmljZUZpbHRlckFwaURlZmluaXRpb24+PihiYXNlOiBDKTogTmljZUZpbHRlckFwaURlZmluaXRpb25DdG9yICYgQyA9PiB7XG4gICAgICAgIHJldHVybiBjbGFzcyBleHRlbmRzIGJhc2Uge1xuICAgICAgICAgICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgICAgICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHVibGljIGZpbHRlcihxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsLCBvcHRpb246IE5pY2VIdHRwT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxGaWx0ZXJSZXN1bHRNb2RlbDxUPj4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnBvc3Q8RmlsdGVyUmVzdWx0TW9kZWw+KFwiZmlsdGVyXCIsIHF1ZXJ5TW9kZWwsIG9wdGlvbikucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKHggPT4gbW9kZWwgPyAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczogcGxhaW5Ub0luc3RhbmNlKG1vZGVsLCB4LnZhbHVlcylcbiAgICAgICAgICAgICAgICAgICAgfSkgOiB4KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHB1YmxpYyBmaWx0ZXJDb3VudChxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wb3N0PG51bWJlcj4oXCJmaWx0ZXItY291bnRcIiwgcXVlcnlNb2RlbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHB1YmxpYyBkb3dubG9hZERhdGEodHlwZTogc3RyaW5nLCBxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9zdChgZG93bmxvYWQvJHt0eXBlfWAsIHF1ZXJ5TW9kZWwsIHsgcmVzcG9uc2VUeXBlOiBcImJsb2JcIiB9IGFzIGFueSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHB1YmxpYyBnZXRQcmludGFibGVIdG1sKHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnBvc3QoYGRvd25sb2FkL2h0bWxgLCBxdWVyeU1vZGVsLCB7IHJlc3BvbnNlVHlwZTogXCJ0ZXh0XCIgfSBhcyBhbnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwdWJsaWMgZ2V0RmlsdGVyQ29uZmlnKG9wdGlvbjogTmljZUh0dHBPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbFtdPiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0PEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbFtdPihcImZpbHRlci9jb25maWdcIiwgb3B0aW9uKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHVibGljIHNlYXJjaEZpbHRlclZhbHVlKGlkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8U2VsZWN0RmlsdGVyVmFsdWVbXT4ge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gXCJcIjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXQ8U2VsZWN0RmlsdGVyVmFsdWVbXT4oXCJmaWx0ZXIvY29uZmlnL3ZhbHVlXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5vcHRpb25zPy5wYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHVibGljIHNlYXJjaEZpbHRlclJlc291cmNlVmFsdWUoaWQ6IHN0cmluZywgcmVzb3VyY2VJZDogbnVtYmVyLCBvcHRpb25zPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPFNlbGVjdEZpbHRlclZhbHVlPiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0PFNlbGVjdEZpbHRlclZhbHVlPihcImZpbHRlci9jb25maWcvaWRcIiwge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbnM/LnBhcmFtcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VJZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfTtcbn07XG4iXX0=
|
|
@@ -18,11 +18,11 @@ export class NiceFilterService {
|
|
|
18
18
|
getFilterConfig(option = {}) {
|
|
19
19
|
return this.api?.getFilterConfig(option);
|
|
20
20
|
}
|
|
21
|
-
searchFilterValue(filterConfig, value) {
|
|
22
|
-
return this.api?.searchFilterValue(filterConfig.id, value);
|
|
21
|
+
searchFilterValue(filterConfig, value, options) {
|
|
22
|
+
return this.api?.searchFilterValue(filterConfig.id, value, options);
|
|
23
23
|
}
|
|
24
|
-
searchFilterResourceValue(filterConfig, resourceId) {
|
|
25
|
-
return this.api?.searchFilterResourceValue(filterConfig.id, resourceId);
|
|
24
|
+
searchFilterResourceValue(filterConfig, resourceId, options) {
|
|
25
|
+
return this.api?.searchFilterResourceValue(filterConfig.id, resourceId, options);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
NiceFilterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterService, deps: [{ token: NiceFilterApi }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
33
33
|
type: Inject,
|
|
34
34
|
args: [NiceFilterApi]
|
|
35
35
|
}] }]; } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWx0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlLWxpc3QvcHJvdmlkZXJzL2Jhc2UtZmlsdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBNEMsTUFBTSx5QkFBeUIsQ0FBQztBQUVsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBYzFELE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFBNkMsR0FBNkI7UUFBN0IsUUFBRyxHQUFILEdBQUcsQ0FBMEI7SUFBRyxDQUFDO0lBRXZFLE1BQU0sQ0FBQyxNQUE2QixFQUFFLFNBQTBCLEVBQUU7UUFDckUsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFZLEVBQUUsVUFBaUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFVBQWlDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRU0sZUFBZSxDQUFDLFNBQTBCLEVBQUU7UUFDL0MsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0saUJBQWlCLENBQ3BCLFlBQXNDLEVBQ3RDLEtBQWEsRUFDYixPQUFxQjtRQUVyQixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLHlCQUF5QixDQUM1QixZQUFzQyxFQUN0QyxVQUFrQixFQUNsQixPQUFxQjtRQUVyQixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckYsQ0FBQzs7OEdBakNRLGlCQUFpQixrQkFDTixhQUFhO2tIQUR4QixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVTs7MEJBRU0sTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgTmljZUZpbHRlckFwaSwgTmljZUZpbHRlckFwaURlZmluaXRpb24sIE5pY2VIdHRwT3B0aW9ucyB9IGZyb20gXCIuLi8uLi8uLi9hcGkvZmlsdGVyLmFwaVwiO1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsLCBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwsIEZpbHRlclJlc3VsdE1vZGVsLCBTZWxlY3RGaWx0ZXJWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBGaWx0ZXJVdGlscyB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9maWx0ZXIudXRpbHNcIjtcbmltcG9ydCB7IEh0dHBPcHRpb25zIH0gZnJvbSBcIkByZWN1cnN5dmUvbmljZS11aS1raXQudjJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJTmljZUZpbHRlclNlcnZpY2U8VD4ge1xuICAgIGdldEZpbHRlckNvbmZpZyhvcHRpb246IE5pY2VIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8RmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsW10+O1xuXG4gICAgZmlsdGVyKHBhcmFtczogRmlsdGVyUGFyYW1ldGVyc01vZGVsLCBvcHRpb246IE5pY2VIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8RmlsdGVyUmVzdWx0TW9kZWw8VD4+O1xuXG4gICAgZ2V0RmlsZSh0eXBlOiBzdHJpbmcsIHBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IE9ic2VydmFibGU8QmxvYj47XG5cbiAgICBnZXRQcmludGFibGVIdG1sKHBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IE9ic2VydmFibGU8c3RyaW5nPjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJTZXJ2aWNlPFQ+IGltcGxlbWVudHMgSU5pY2VGaWx0ZXJTZXJ2aWNlPFQ+IHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KE5pY2VGaWx0ZXJBcGkpIHByb3RlY3RlZCBhcGk/OiBOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbikge31cblxuICAgIHB1YmxpYyBmaWx0ZXIocGFyYW1zOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwsIG9wdGlvbjogTmljZUh0dHBPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPEZpbHRlclJlc3VsdE1vZGVsPFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaT8uZmlsdGVyKEZpbHRlclV0aWxzLnBhcmFtZXRlcnNUb1JlcXVlc3QocGFyYW1zKSwgb3B0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmlsZSh0eXBlOiBzdHJpbmcsIHBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IE9ic2VydmFibGU8QmxvYj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGk/LmRvd25sb2FkRGF0YSh0eXBlLCBGaWx0ZXJVdGlscy5wYXJhbWV0ZXJzVG9SZXF1ZXN0KHBhcmFtZXRlcnMpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UHJpbnRhYmxlSHRtbChwYXJhbWV0ZXJzOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGk/LmdldFByaW50YWJsZUh0bWwoRmlsdGVyVXRpbHMucGFyYW1ldGVyc1RvUmVxdWVzdChwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpbHRlckNvbmZpZyhvcHRpb246IE5pY2VIdHRwT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGk/LmdldEZpbHRlckNvbmZpZyhvcHRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2hGaWx0ZXJWYWx1ZShcbiAgICAgICAgZmlsdGVyQ29uZmlnOiBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwsXG4gICAgICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgICAgIG9wdGlvbnM/OiBIdHRwT3B0aW9uc1xuICAgICk6IE9ic2VydmFibGU8U2VsZWN0RmlsdGVyVmFsdWVbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGk/LnNlYXJjaEZpbHRlclZhbHVlKGZpbHRlckNvbmZpZy5pZCwgdmFsdWUsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2hGaWx0ZXJSZXNvdXJjZVZhbHVlKFxuICAgICAgICBmaWx0ZXJDb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCxcbiAgICAgICAgcmVzb3VyY2VJZDogbnVtYmVyLFxuICAgICAgICBvcHRpb25zPzogSHR0cE9wdGlvbnNcbiAgICApOiBPYnNlcnZhYmxlPFNlbGVjdEZpbHRlclZhbHVlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaT8uc2VhcmNoRmlsdGVyUmVzb3VyY2VWYWx1ZShmaWx0ZXJDb25maWcuaWQsIHJlc291cmNlSWQsIG9wdGlvbnMpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -11,10 +11,10 @@ export class AdvancedFiltersAsyncTypeaheadProvider extends NiceAsyncTypeaheadPro
|
|
|
11
11
|
this.resource = "advancedFilter";
|
|
12
12
|
}
|
|
13
13
|
getById(id, options) {
|
|
14
|
-
return lastValueFrom(this.filterService.searchFilterResourceValue(options.filterConfig, id));
|
|
14
|
+
return lastValueFrom(this.filterService.searchFilterResourceValue(options.filterConfig, id, { params: options?.queryParams }));
|
|
15
15
|
}
|
|
16
16
|
async search(searchQuery, page, options) {
|
|
17
|
-
const res = await lastValueFrom(this.filterService.searchFilterValue(options.filterConfig, searchQuery));
|
|
17
|
+
const res = await lastValueFrom(this.filterService.searchFilterValue(options.filterConfig, searchQuery, { params: options?.queryParams }));
|
|
18
18
|
return {
|
|
19
19
|
items: res,
|
|
20
20
|
nextPage: null
|
|
@@ -29,4 +29,4 @@ AdvancedFiltersAsyncTypeaheadProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minV
|
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: AdvancedFiltersAsyncTypeaheadProvider, decorators: [{
|
|
30
30
|
type: Injectable
|
|
31
31
|
}], ctorParameters: function () { return [{ type: i1.NiceFilterService }]; } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdHlwZWFoZWFkLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXJzL3Byb3ZpZGVycy9hc3luYy10eXBlYWhlYWQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsMEJBQTBCLEVBQWtDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7O0FBUXhGLE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSwwQkFBNkM7SUFHcEcsWUFBb0IsYUFBcUM7UUFDckQsS0FBSyxFQUFFLENBQUM7UUFEUSxrQkFBYSxHQUFiLGFBQWEsQ0FBd0I7UUFGbEQsYUFBUSxHQUFHLGdCQUFnQixDQUFDO0lBSW5DLENBQUM7SUFFTSxPQUFPLENBQUMsRUFBVSxFQUFFLE9BQTZDO1FBQ3BFLE9BQU8sYUFBYSxDQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUN4QyxPQUFPLENBQUMsWUFBWSxFQUNwQixFQUFFLEVBQ0YsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUNuQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU0sQ0FDZixXQUFtQixFQUNuQixJQUFZLEVBQ1osT0FBNkM7UUFFN0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxhQUFhLENBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQ2hDLE9BQU8sQ0FBQyxZQUFZLEVBQ3BCLFdBQVcsRUFDWCxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQ25DLENBQ0osQ0FBQztRQUNGLE9BQU87WUFDSCxLQUFLLEVBQUUsR0FBRztZQUNWLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUM7SUFDTixDQUFDO0lBRU0sTUFBTSxDQUFDLElBQXVCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDOztrSUFyQ1EscUNBQXFDO3NJQUFyQyxxQ0FBcUM7MkZBQXJDLHFDQUFxQztrQkFEakQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTmljZUFzeW5jVHlwZWFoZWFkUHJvdmlkZXIsIE5pY2VBc3luY1R5cGVhaGVhZFNlYXJjaFJlc3VsdCB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCwgU2VsZWN0RmlsdGVyVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vYmFzZS1saXN0L3Byb3ZpZGVycy9iYXNlLWZpbHRlci5zZXJ2aWNlXCI7XG5cbmludGVyZmFjZSBBZHZhbmNlZEZpbHRlcnNBc3luY1R5cGVhaGVhZE9wdGlvbnMge1xuICAgIGZpbHRlckNvbmZpZzogRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsO1xuICAgIHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFkdmFuY2VkRmlsdGVyc0FzeW5jVHlwZWFoZWFkUHJvdmlkZXIgZXh0ZW5kcyBOaWNlQXN5bmNUeXBlYWhlYWRQcm92aWRlcjxTZWxlY3RGaWx0ZXJWYWx1ZT4ge1xuICAgIHB1YmxpYyByZXNvdXJjZSA9IFwiYWR2YW5jZWRGaWx0ZXJcIjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsdGVyU2VydmljZTogTmljZUZpbHRlclNlcnZpY2U8YW55Pikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRCeUlkKGlkOiBudW1iZXIsIG9wdGlvbnM6IEFkdmFuY2VkRmlsdGVyc0FzeW5jVHlwZWFoZWFkT3B0aW9ucyk6IFByb21pc2U8U2VsZWN0RmlsdGVyVmFsdWU+IHtcbiAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLmZpbHRlclNlcnZpY2Uuc2VhcmNoRmlsdGVyUmVzb3VyY2VWYWx1ZShcbiAgICAgICAgICAgICAgICBvcHRpb25zLmZpbHRlckNvbmZpZyxcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICB7IHBhcmFtczogb3B0aW9ucz8ucXVlcnlQYXJhbXMgfVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZWFyY2goXG4gICAgICAgIHNlYXJjaFF1ZXJ5OiBzdHJpbmcsXG4gICAgICAgIHBhZ2U6IG51bWJlcixcbiAgICAgICAgb3B0aW9uczogQWR2YW5jZWRGaWx0ZXJzQXN5bmNUeXBlYWhlYWRPcHRpb25zXG4gICAgKTogUHJvbWlzZTxOaWNlQXN5bmNUeXBlYWhlYWRTZWFyY2hSZXN1bHQ8U2VsZWN0RmlsdGVyVmFsdWU+PiB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGxhc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLmZpbHRlclNlcnZpY2Uuc2VhcmNoRmlsdGVyVmFsdWUoXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5maWx0ZXJDb25maWcsXG4gICAgICAgICAgICAgICAgc2VhcmNoUXVlcnksXG4gICAgICAgICAgICAgICAgeyBwYXJhbXM6IG9wdGlvbnM/LnF1ZXJ5UGFyYW1zIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGl0ZW1zOiByZXMsXG4gICAgICAgICAgICBuZXh0UGFnZTogbnVsbFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBmb3JtYXQoaXRlbTogU2VsZWN0RmlsdGVyVmFsdWUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaXRlbS5uYW1lO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { Component, forwardRef, Input, ViewEncapsulation } from "@angular/core";
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
3
|
import { FilterComponent } from "../filter.component";
|
|
4
|
+
import { NiceFilterViewQuery } from "../../../../../store/nice-filter-view.query";
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "
|
|
6
|
-
import * as i2 from "@angular/
|
|
7
|
-
import * as i3 from "@angular/
|
|
8
|
-
import * as i4 from "@
|
|
6
|
+
import * as i1 from "../../../../../store/nice-filter-view.query";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
import * as i3 from "@angular/forms";
|
|
9
|
+
import * as i4 from "@angular/material/form-field";
|
|
10
|
+
import * as i5 from "@recursyve/nice-ui-kit.v2";
|
|
9
11
|
export class NiceAdvancedSelectFilterComponent extends FilterComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(
|
|
12
|
+
constructor(filterViewQuery) {
|
|
13
|
+
super();
|
|
14
|
+
this.filterViewQuery = filterViewQuery;
|
|
12
15
|
this.values = [];
|
|
16
|
+
this.queryParams$ = this.filterViewQuery.selectQueryParams();
|
|
13
17
|
}
|
|
14
18
|
async ngOnInit() {
|
|
15
19
|
if (!this.filterConfig.lazyLoading) {
|
|
@@ -33,14 +37,14 @@ export class NiceAdvancedSelectFilterComponent extends FilterComponent {
|
|
|
33
37
|
super.writeValue(value);
|
|
34
38
|
}
|
|
35
39
|
}
|
|
36
|
-
NiceAdvancedSelectFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAdvancedSelectFilterComponent, deps:
|
|
40
|
+
NiceAdvancedSelectFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAdvancedSelectFilterComponent, deps: [{ token: i1.NiceFilterViewQuery }], target: i0.ɵɵFactoryTarget.Component });
|
|
37
41
|
NiceAdvancedSelectFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceAdvancedSelectFilterComponent, selector: "nice-advanced-select-filter", inputs: { filterConfig: "filterConfig" }, providers: [
|
|
38
42
|
{
|
|
39
43
|
provide: NG_VALUE_ACCESSOR,
|
|
40
44
|
useExisting: forwardRef(() => NiceAdvancedSelectFilterComponent),
|
|
41
45
|
multi: true
|
|
42
46
|
}
|
|
43
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <nice-typeahead\n *ngIf=\"!filterConfig.lazyLoading\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [items]=\"values\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></nice-typeahead>\n\n <nice-async-typeahead\n *ngIf=\"filterConfig.lazyLoading\"\n resource=\"advancedFilter\"\n [searchOptions]=\"{ filterConfig }\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n ></nice-async-typeahead>\n</mat-form-field>\n", dependencies: [{ kind: "directive", type:
|
|
47
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <nice-typeahead\n *ngIf=\"!filterConfig.lazyLoading\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [items]=\"values\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></nice-typeahead>\n\n <nice-async-typeahead\n *ngIf=\"filterConfig.lazyLoading\"\n resource=\"advancedFilter\"\n [searchOptions]=\"{ filterConfig, queryParams: queryParams$ | async }\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n ></nice-async-typeahead>\n</mat-form-field>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NiceTypeaheadComponent, selector: "nice-typeahead", inputs: ["items", "labelFormatFn", "required", "disabled", "placeholder", "emptyPlaceholder", "allowNotFoundItems", "panelClass", "bindValue", "bindLabel", "typeahead", "page$", "loading", "loadingPage", "searchFn", "optionTemplate"], outputs: ["change"] }, { kind: "component", type: i5.NiceAsyncTypeaheadComponent, selector: "nice-async-typeahead", inputs: ["resource", "searchOptions", "preloadResource", "allowNotFoundItems", "panelClass", "bindValue", "bindLabel", "placeholder", "emptyPlaceholder", "optionTemplate", "filterFn", "labelFormatFn", "disabled", "value", "required"], outputs: ["entityRemoved", "selected"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
44
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAdvancedSelectFilterComponent, decorators: [{
|
|
45
49
|
type: Component,
|
|
46
50
|
args: [{ selector: "nice-advanced-select-filter", encapsulation: ViewEncapsulation.None, providers: [
|
|
@@ -49,8 +53,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
49
53
|
useExisting: forwardRef(() => NiceAdvancedSelectFilterComponent),
|
|
50
54
|
multi: true
|
|
51
55
|
}
|
|
52
|
-
], template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <nice-typeahead\n *ngIf=\"!filterConfig.lazyLoading\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [items]=\"values\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></nice-typeahead>\n\n <nice-async-typeahead\n *ngIf=\"filterConfig.lazyLoading\"\n resource=\"advancedFilter\"\n [searchOptions]=\"{ filterConfig }\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n ></nice-async-typeahead>\n</mat-form-field>\n" }]
|
|
53
|
-
}], propDecorators: { filterConfig: [{
|
|
56
|
+
], template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <nice-typeahead\n *ngIf=\"!filterConfig.lazyLoading\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [items]=\"values\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></nice-typeahead>\n\n <nice-async-typeahead\n *ngIf=\"filterConfig.lazyLoading\"\n resource=\"advancedFilter\"\n [searchOptions]=\"{ filterConfig, queryParams: queryParams$ | async }\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n ></nice-async-typeahead>\n</mat-form-field>\n" }]
|
|
57
|
+
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewQuery }]; }, propDecorators: { filterConfig: [{
|
|
54
58
|
type: Input
|
|
55
59
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2FkdmFuY2VkLWZpbHRlcnMvcnVsZS9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9ydWxlL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC1maWx0ZXIudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQW9DLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7OztBQWNsRixNQUFNLE9BQU8saUNBQWtDLFNBQVEsZUFBd0I7SUFRM0UsWUFBb0IsZUFBb0M7UUFDcEQsS0FBSyxFQUFFLENBQUM7UUFEUSxvQkFBZSxHQUFmLGVBQWUsQ0FBcUI7UUFKakQsV0FBTSxHQUF3QixFQUFFLENBQUM7UUFFOUIsaUJBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFJbEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtZQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBNkIsQ0FBQztTQUNqRTtJQUNMLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDckMsSUFBSSxjQUFjLElBQUksT0FBTyxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQTZCLENBQUM7YUFDakU7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7YUFDcEI7U0FDSjtJQUNMLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYztRQUMvQixLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBYztRQUM1QixLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7OzhIQWxDUSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyxnR0FSL0I7UUFDUDtZQUNJLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztZQUNoRSxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osc0VDaEJMLDJuQkFrQkE7MkZEQWEsaUNBQWlDO2tCQVo3QyxTQUFTOytCQUNJLDZCQUE2QixpQkFFeEIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQ0FBa0MsQ0FBQzs0QkFDaEUsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7MEdBSU0sWUFBWTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsLCBTZWxlY3RGaWx0ZXJWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZmlsdGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdRdWVyeSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnF1ZXJ5XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtYWR2YW5jZWQtc2VsZWN0LWZpbHRlclwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInNlbGVjdC1maWx0ZXIudGVtcGxhdGUuaHRtbFwiLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmljZUFkdmFuY2VkU2VsZWN0RmlsdGVyQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VBZHZhbmNlZFNlbGVjdEZpbHRlckNvbXBvbmVudCBleHRlbmRzIEZpbHRlckNvbXBvbmVudDx1bmtub3duPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWx0ZXJDb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbDtcblxuICAgIHB1YmxpYyB2YWx1ZXM6IFNlbGVjdEZpbHRlclZhbHVlW10gPSBbXTtcblxuICAgIHByb3RlY3RlZCBxdWVyeVBhcmFtcyQgPSB0aGlzLmZpbHRlclZpZXdRdWVyeS5zZWxlY3RRdWVyeVBhcmFtcygpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWx0ZXJWaWV3UXVlcnk6IE5pY2VGaWx0ZXJWaWV3UXVlcnkpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5maWx0ZXJDb25maWcubGF6eUxvYWRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVzID0gdGhpcy5maWx0ZXJDb25maWcudmFsdWVzIGFzIFNlbGVjdEZpbHRlclZhbHVlW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoXCJmaWx0ZXJDb25maWdcIiBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZmlsdGVyQ29uZmlnLmxhenlMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSB0aGlzLmZpbHRlckNvbmZpZy52YWx1ZXMgYXMgU2VsZWN0RmlsdGVyVmFsdWVbXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm9uVmFsdWVDaGFuZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiZmxleC1hdXRvXCI+XG4gICAgPG5pY2UtdHlwZWFoZWFkXG4gICAgICAgICpuZ0lmPVwiIWZpbHRlckNvbmZpZy5sYXp5TG9hZGluZ1wiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2l0ZW1zXT1cInZhbHVlc1wiXG4gICAgICAgIGJpbmRWYWx1ZT1cImlkXCJcbiAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgPjwvbmljZS10eXBlYWhlYWQ+XG5cbiAgICA8bmljZS1hc3luYy10eXBlYWhlYWRcbiAgICAgICAgKm5nSWY9XCJmaWx0ZXJDb25maWcubGF6eUxvYWRpbmdcIlxuICAgICAgICByZXNvdXJjZT1cImFkdmFuY2VkRmlsdGVyXCJcbiAgICAgICAgW3NlYXJjaE9wdGlvbnNdPVwieyBmaWx0ZXJDb25maWcsIHF1ZXJ5UGFyYW1zOiBxdWVyeVBhcmFtcyQgfCBhc3luYyB9XCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID48L25pY2UtYXN5bmMtdHlwZWFoZWFkPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
@@ -23,6 +23,9 @@ export class NiceFilterViewQuery extends QueryEntity {
|
|
|
23
23
|
selectFilterResult() {
|
|
24
24
|
return this.select("filterResult");
|
|
25
25
|
}
|
|
26
|
+
selectQueryParams() {
|
|
27
|
+
return this.select("queryParams");
|
|
28
|
+
}
|
|
26
29
|
getParameters() {
|
|
27
30
|
return this.store.getParameters(this.store.getValue().filterParameters);
|
|
28
31
|
}
|
|
@@ -35,4 +38,4 @@ NiceFilterViewQuery.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
|
35
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewQuery, decorators: [{
|
|
36
39
|
type: Injectable
|
|
37
40
|
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewStore }]; } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L3N0b3JlL25pY2UtZmlsdGVyLXZpZXcucXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHOUMsT0FBTyxFQUF1QixtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFJcEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQWdDO0lBQ3JFLFlBQXNCLEtBQTBCO1FBQzVDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQURLLFVBQUssR0FBTCxLQUFLLENBQXFCO0lBRWhELENBQUM7SUFFTSxjQUFjLENBQUksSUFBWTtRQUNqQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0seUJBQXlCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxrQkFBa0I7UUFDckIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxzQkFBc0I7UUFDekIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLGtCQUFrQjtRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLGlCQUFpQjtRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLFdBQVcsQ0FBSSxJQUFZO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7Z0hBbkNRLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFF1ZXJ5RW50aXR5IH0gZnJvbSBcIkBkYXRvcmFtYS9ha2l0YVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwsIEZpbHRlclBhcmFtZXRlcnNNb2RlbCwgRmlsdGVyUmVzdWx0TW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdTdGF0ZSwgTmljZUZpbHRlclZpZXdTdG9yZSB9IGZyb20gXCIuL25pY2UtZmlsdGVyLXZpZXcuc3RvcmVcIjtcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uL2FwaS9maWx0ZXIuYXBpXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOaWNlRmlsdGVyVmlld1F1ZXJ5IGV4dGVuZHMgUXVlcnlFbnRpdHk8TmljZUZpbHRlclZpZXdTdGF0ZT4ge1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzdG9yZTogTmljZUZpbHRlclZpZXdTdG9yZSkge1xuICAgICAgICBzdXBlcihzdG9yZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdFN1YlN0YXRlPFQ+KG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5zdWJTdGF0ZXNbbmFtZV0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RGaWx0ZXJDb25maWdMb2FkaW5nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3QoXCJmaWx0ZXJDb25maWdMb2FkaW5nXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RGaWx0ZXJDb25maWcoKTogT2JzZXJ2YWJsZTxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3QoXCJmaWx0ZXJDb25maWdcIik7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdEZpbHRlclBhcmFtZXRlcnMoKTogT2JzZXJ2YWJsZTxGaWx0ZXJQYXJhbWV0ZXJzTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0KFwiZmlsdGVyUGFyYW1ldGVyc1wiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0RmlsdGVyUmVzdWx0KCk6IE9ic2VydmFibGU8RmlsdGVyUmVzdWx0TW9kZWwgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdChcImZpbHRlclJlc3VsdFwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0UXVlcnlQYXJhbXMoKTogT2JzZXJ2YWJsZTxRdWVyeVBhcmFtcz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3QoXCJxdWVyeVBhcmFtc1wiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGFyYW1ldGVycygpOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRQYXJhbWV0ZXJzKHRoaXMuc3RvcmUuZ2V0VmFsdWUoKS5maWx0ZXJQYXJhbWV0ZXJzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3ViU3RhdGU8VD4obmFtZTogc3RyaW5nKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLmdldFN1YlN0YXRlKG5hbWUpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -203,7 +203,7 @@ export class NiceFilterViewService {
|
|
|
203
203
|
removeRule(id) {
|
|
204
204
|
const { filterParameters } = this.store.getValue();
|
|
205
205
|
const currentQuery = filterParameters.rules?.[0];
|
|
206
|
-
const oldRule = currentQuery
|
|
206
|
+
const oldRule = currentQuery?.rules?.find((r) => r.id === id);
|
|
207
207
|
if (!oldRule) {
|
|
208
208
|
return;
|
|
209
209
|
}
|
|
@@ -259,4 +259,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
259
259
|
type: Inject,
|
|
260
260
|
args: [NiceFilterService]
|
|
261
261
|
}] }]; }, propDecorators: { resetResult: [] } });
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLG1CQUFtQixFQUF5QyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFHL0QsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUNZLEtBQTBCLEVBRWxCLGFBQXFCO1FBRjdCLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBRWxCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO0lBRXpDLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLGNBQWMsQ0FBSSxJQUFZLEVBQUUsS0FBUTtRQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMs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LFdBQVcsQ0FBQyxpQkFBMEI7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUNkLFlBQVksRUFBRSxJQUFJO2FBQ3JCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3RCO2FBQU07WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDZCxXQUFXLEVBQUUsSUFBSTthQUNwQixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7O2tIQW5SUSxxQkFBcUIscURBR2xCLGlCQUFpQjtzSEFIcEIscUJBQXFCOztJQXVRN0IsV0FBVyxFQUFFOzs7O3dEQVliOzJGQW5SUSxxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQUlGLE1BQU07MkJBQUMsaUJBQWlCOzRDQXFRdEIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyB0cmFuc2FjdGlvbiB9IGZyb20gXCJAZGF0b3JhbWEvYWtpdGFcIjtcbmltcG9ydCB7IEFkZEVudGl0aWVzT3B0aW9ucyB9IGZyb20gXCJAZGF0b3JhbWEvYWtpdGEvc3JjL2xpYi9hZGRFbnRpdGllc1wiO1xuaW1wb3J0IHsgRmlsZVV0aWxzIH0gZnJvbSBcIkByZWN1cnN5dmUvbmljZS11aS1raXQudjJcIjtcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uL2FwaS9maWx0ZXIuYXBpXCI7XG5pbXBvcnQgeyBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgRmlsdGVyT3BlcmF0b3JUeXBlcywgUXVlcnlNb2RlbCwgUXVlcnlSdWxlTW9kZWwsIFJ1bGVNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvcXVlcnkubW9kZWxcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2Jhc2UtbGlzdC9wcm92aWRlcnMvYmFzZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdTdG9yZSB9IGZyb20gXCIuL25pY2UtZmlsdGVyLXZpZXcuc3RvcmVcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJWaWV3U2VydmljZTxGaWx0ZXIgZXh0ZW5kcyBOaWNlRmlsdGVyU2VydmljZTxhbnk+ID0gTmljZUZpbHRlclNlcnZpY2U8YW55Pj4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHN0b3JlOiBOaWNlRmlsdGVyVmlld1N0b3JlLFxuICAgICAgICBASW5qZWN0KE5pY2VGaWx0ZXJTZXJ2aWNlKVxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVyU2VydmljZTogRmlsdGVyXG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRpc2FibGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVTdWJTdGF0ZTxUPihuYW1lOiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKChzdGF0ZSkgPT4gKHtcbiAgICAgICAgICAgIHN1YlN0YXRlczoge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLnN1YlN0YXRlcyxcbiAgICAgICAgICAgICAgICBbbmFtZV06IHZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICBkaXNhYmxlZDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEF1dG9Mb2FkKGF1dG9Mb2FkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHsgYXV0b0xvYWQgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNldExvYWRpbmcobG9hZGluZyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE1vZGUobW9kZTogXCJwYWdpbmF0ZWRcIiB8IFwiYWNjdW11bGF0ZWRcIik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7IG1vZGUgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxvYWRDb25maWcoY29uZmlnUXVlcnlQYXJhbXM6IFF1ZXJ5UGFyYW1zID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZXRGaWx0ZXJDb25maWdMb2FkaW5nKHRydWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyQ29uZmlnID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5maWx0ZXJTZXJ2aWNlLmdldEZpbHRlckNvbmZpZyh7IHBhcmFtczogY29uZmlnUXVlcnlQYXJhbXMgfSkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgICAgIGZpbHRlckNvbmZpZ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0RXJyb3IoZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldEZpbHRlckNvbmZpZ0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGZpbHRlcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbWV0ZXJzLCBkaXNhYmxlZCwgcXVlcnlQYXJhbXMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5nZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICB7IHBhcmFtczogcXVlcnlQYXJhbXMgfSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0UmVzdWx0KHJlc3VsdCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0RXJyb3IoZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGRvd25sb2FkRGF0YSh0eXBlOiBzdHJpbmcsIGRvd25sb2FkRmlsZU5hbWU6IHN0cmluZywgaWRzPzogbnVtYmVyW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbWV0ZXJzLCBkaXNhYmxlZCB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB7XG4gICAgICAgICAgICAuLi5maWx0ZXJQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgcnVsZXM6IGZpbHRlclBhcmFtZXRlcnM/LnJ1bGVzID8gWy4uLmZpbHRlclBhcmFtZXRlcnMucnVsZXNdIDogW11cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaWRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHBhcmFtZXRlcnMucnVsZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogXCJhbmRcIixcbiAgICAgICAgICAgICAgICAgICAgcnVsZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJpZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogRmlsdGVyT3BlcmF0b3JUeXBlcy5JbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaWRzXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuZmlsdGVyU2VydmljZS5nZXRGaWxlKHR5cGUsIHRoaXMuc3RvcmUuZ2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKSkpO1xuICAgICAgICAgICAgRmlsZVV0aWxzLmRvd25sb2FkRmlsZShgJHtkb3dubG9hZEZpbGVOYW1lfS4ke3R5cGV9YCwgcmVzdWx0KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRFcnJvcihlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcHJpbnREYXRhKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMsIGRpc2FibGVkIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuZmlsdGVyU2VydmljZS5nZXRQcmludGFibGVIdG1sKHRoaXMuc3RvcmUuZ2V0UGFyYW1ldGVycyhmaWx0ZXJQYXJhbWV0ZXJzKSkpO1xuICAgICAgICAgICAgRmlsZVV0aWxzLm9wZW5QcmludGFibGVXaW5kb3cocmVzdWx0KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRFcnJvcihlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCByZWxvYWQgc2hvdyBub3QgYmUgcGFzc2VkLCBhbmQgdGhlIGNhbGxlciBzaG91bGQgaW5zdGVhZCBjYWxsIGBmaWx0ZXIoKWAgYWZ0ZXIgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp1bmlmaWVkLXNpZ25hdHVyZXNcbiAgICBwdWJsaWMgc2V0UGFyYW1ldGVycyhmaWx0ZXJQYXJhbWV0ZXJzOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwsIHJlbG9hZDogYm9vbGVhbik6IHZvaWQ7XG4gICAgcHVibGljIHNldFBhcmFtZXRlcnMoZmlsdGVyUGFyYW1ldGVyczogRmlsdGVyUGFyYW1ldGVyc01vZGVsKTogdm9pZDtcbiAgICBwdWJsaWMgc2V0UGFyYW1ldGVycyhmaWx0ZXJQYXJhbWV0ZXJzOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwsIHJlbG9hZD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnMpO1xuICAgICAgICBpZiAocmVsb2FkKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0UGFnaW5nKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgdGhpcy5zZXRQYXJhbWV0ZXJzKHtcbiAgICAgICAgICAgIC4uLmZpbHRlclBhcmFtZXRlcnMsXG4gICAgICAgICAgICBzdGFydDogMFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJlc2V0UmVzdWx0KHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRRdWVyeVBhcmFtcyhxdWVyeVBhcmFtczogUXVlcnlQYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoeyBxdWVyeVBhcmFtcyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0QmFzZVJ1bGVzKHJ1bGU6IChRdWVyeVJ1bGVNb2RlbCB8IFF1ZXJ5TW9kZWwpW10sIHJlbG9hZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICBiYXNlUnVsZXM6IHJ1bGVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHJlbG9hZCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRSdWxlcyhydWxlczogUXVlcnlNb2RlbCB8IFF1ZXJ5TW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocnVsZXMpKSB7XG4gICAgICAgICAgICBydWxlcyA9IFtydWxlc107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgbmV3UnVsZXM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCA9IHtcbiAgICAgICAgICAgIG9yZGVyOiBmaWx0ZXJQYXJhbWV0ZXJzLm9yZGVyLFxuICAgICAgICAgICAgZmFsbGJhY2tPcmRlcjogZmlsdGVyUGFyYW1ldGVycy5mYWxsYmFja09yZGVyLFxuICAgICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgICBsZW5ndGg6IGZpbHRlclBhcmFtZXRlcnMubGVuZ3RoLFxuICAgICAgICAgICAgZGF0YTogZmlsdGVyUGFyYW1ldGVycy5kYXRhLFxuICAgICAgICAgICAgcnVsZXNcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnNldFBhcmFtZXRlcnMobmV3UnVsZXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cHNlcnRSdWxlKGlkOiBzdHJpbmcsIG5ld1J1bGU6IFJ1bGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFF1ZXJ5ID0gZmlsdGVyUGFyYW1ldGVycy5ydWxlcz8uWzBdO1xuICAgICAgICBjb25zdCBydWxlOiBRdWVyeVJ1bGVNb2RlbCA9IHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgLi4ubmV3UnVsZVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBxdWVyeTogUXVlcnlNb2RlbCA9IHsgcnVsZXM6IFtydWxlXSwgY29uZGl0aW9uOiBcImFuZFwiIH07XG4gICAgICAgIGlmICghY3VycmVudFF1ZXJ5IHx8IGN1cnJlbnRRdWVyeS5ydWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UnVsZXMocXVlcnkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2xkUnVsZSA9IGN1cnJlbnRRdWVyeS5ydWxlcy5maW5kKChyKSA9PiAociBhcyBRdWVyeVJ1bGVNb2RlbCkuaWQgPT09IGlkKSBhcyBRdWVyeVJ1bGVNb2RlbDtcbiAgICAgICAgbGV0IG5ld1J1bGVzID0gY3VycmVudFF1ZXJ5LnJ1bGVzO1xuICAgICAgICBpZiAob2xkUnVsZSkge1xuICAgICAgICAgICAgaWYgKG5ld1J1bGUpIHtcbiAgICAgICAgICAgICAgICAvLyBBcnJheSByZXBsYWNlXG4gICAgICAgICAgICAgICAgbmV3UnVsZXMgPSBbXG4gICAgICAgICAgICAgICAgICAgIC4uLmN1cnJlbnRRdWVyeS5ydWxlcy5zbGljZSgwLCBjdXJyZW50UXVlcnkucnVsZXMuaW5kZXhPZihvbGRSdWxlKSksXG4gICAgICAgICAgICAgICAgICAgIHJ1bGUsXG4gICAgICAgICAgICAgICAgICAgIC4uLmN1cnJlbnRRdWVyeS5ydWxlcy5zbGljZShjdXJyZW50UXVlcnkucnVsZXMuaW5kZXhPZihvbGRSdWxlKSArIDEsIGN1cnJlbnRRdWVyeS5ydWxlcy5sZW5ndGgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3UnVsZXMgPSBjdXJyZW50UXVlcnkucnVsZXMuZmlsdGVyKChyKSA9PiAociBhcyBRdWVyeVJ1bGVNb2RlbCkuaWQgIT09IGlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld1J1bGVzID0gWy4uLm5ld1J1bGVzLCBydWxlXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFJ1bGVzKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogY3VycmVudFF1ZXJ5LmNvbmRpdGlvbixcbiAgICAgICAgICAgIHJ1bGVzOiBuZXdSdWxlc1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlUnVsZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycyB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBjdXJyZW50UXVlcnkgPSBmaWx0ZXJQYXJhbWV0ZXJzLnJ1bGVzPy5bMF07XG4gICAgICAgIGNvbnN0IG9sZFJ1bGUgPSBjdXJyZW50UXVlcnkucnVsZXMuZmluZCgocikgPT4gKHIgYXMgUXVlcnlSdWxlTW9kZWwpLmlkID09PSBpZCkgYXMgUXVlcnlSdWxlTW9kZWw7XG4gICAgICAgIGlmICghb2xkUnVsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3UnVsZXMgPSBjdXJyZW50UXVlcnkucnVsZXMuZmlsdGVyKChyKSA9PiAociBhcyBRdWVyeVJ1bGVNb2RlbCkuaWQgIT09IGlkKTtcbiAgICAgICAgdGhpcy5zZXRSdWxlcyh7XG4gICAgICAgICAgICBjb25kaXRpb246IGN1cnJlbnRRdWVyeS5jb25kaXRpb24sXG4gICAgICAgICAgICBydWxlczogbmV3UnVsZXNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFZhbHVlKHZhbHVlOiBhbnksIG9wdHM/OiBBZGRFbnRpdGllc09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5hZGRWYWx1ZSh2YWx1ZSwgb3B0cyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFZhbHVlcyh2YWx1ZTogYW55W10sIG9wdHM/OiBBZGRFbnRpdGllc09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5hZGRWYWx1ZXModmFsdWUsIG9wdHMpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cHNlcnRWYWx1ZSh2YWx1ZTogYW55LCBrZXk/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS51cHNlcnRWYWx1ZSh2YWx1ZSwga2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBzZXJ0VmFsdWVzKHZhbHVlczogYW55W10sIGtleT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwc2VydFZhbHVlcyh2YWx1ZXMsIGtleSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZVZhbHVlKHZhbHVlOiBhbnksIGtleT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnJlbW92ZVZhbHVlKHZhbHVlLCBrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVWYWx1ZXModmFsdWVzOiBhbnlbXSwga2V5Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUucmVtb3ZlVmFsdWVzKHZhbHVlcywga2V5KTtcbiAgICB9XG5cbiAgICBAdHJhbnNhY3Rpb24oKVxuICAgIHB1YmxpYyByZXNldFJlc3VsdCh3YWl0Rm9yTmV4dEZpbHRlcjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIXdhaXRGb3JOZXh0RmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICAgICAgZmlsdGVyUmVzdWx0OiBudWxsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0KFtdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgICAgICByZXNldFJlc3VsdDogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLG1CQUFtQixFQUF5QyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFHL0QsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUNZLEtBQTBCLEVBRWxCLGFBQXFCO1FBRjdCLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBRWxCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO0lBRXpDLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLGNBQWMsQ0FBSSxJQUFZLEVBQUUsS0FBUTtRQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMs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LFdBQVcsQ0FBQyxpQkFBMEI7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUNkLFlBQVksRUFBRSxJQUFJO2FBQ3JCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3RCO2FBQU07WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDZCxXQUFXLEVBQUUsSUFBSTthQUNwQixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7O2tIQW5SUSxxQkFBcUIscURBR2xCLGlCQUFpQjtzSEFIcEIscUJBQXFCOztJQXVRN0IsV0FBVyxFQUFFOzs7O3dEQVliOzJGQW5SUSxxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQUlGLE1BQU07MkJBQUMsaUJBQWlCOzRDQXFRdEIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyB0cmFuc2FjdGlvbiB9IGZyb20gXCJAZGF0b3JhbWEvYWtpdGFcIjtcbmltcG9ydCB7IEFkZEVudGl0aWVzT3B0aW9ucyB9IGZyb20gXCJAZGF0b3JhbWEvYWtpdGEvc3JjL2xpYi9hZGRFbnRpdGllc1wiO1xuaW1wb3J0IHsgRmlsZVV0aWxzIH0gZnJvbSBcIkByZWN1cnN5dmUvbmljZS11aS1raXQudjJcIjtcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uL2FwaS9maWx0ZXIuYXBpXCI7XG5pbXBvcnQgeyBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgRmlsdGVyT3BlcmF0b3JUeXBlcywgUXVlcnlNb2RlbCwgUXVlcnlSdWxlTW9kZWwsIFJ1bGVNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvcXVlcnkubW9kZWxcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2Jhc2UtbGlzdC9wcm92aWRlcnMvYmFzZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdTdG9yZSB9IGZyb20gXCIuL25pY2UtZmlsdGVyLXZpZXcuc3RvcmVcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJWaWV3U2VydmljZTxGaWx0ZXIgZXh0ZW5kcyBOaWNlRmlsdGVyU2VydmljZTxhbnk+ID0gTmljZUZpbHRlclNlcnZpY2U8YW55Pj4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHN0b3JlOiBOaWNlRmlsdGVyVmlld1N0b3JlLFxuICAgICAgICBASW5qZWN0KE5pY2VGaWx0ZXJTZXJ2aWNlKVxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVyU2VydmljZTogRmlsdGVyXG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRpc2FibGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVTdWJTdGF0ZTxUPihuYW1lOiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKChzdGF0ZSkgPT4gKHtcbiAgICAgICAgICAgIHN1YlN0YXRlczoge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLnN1YlN0YXRlcyxcbiAgICAgICAgICAgICAgICBbbmFtZV06IHZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICBkaXNhYmxlZDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEF1dG9Mb2FkKGF1dG9Mb2FkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHsgYXV0b0xvYWQgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNldExvYWRpbmcobG9hZGluZyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE1vZGUobW9kZTogXCJwYWdpbmF0ZWRcIiB8IFwiYWNjdW11bGF0ZWRcIik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7IG1vZGUgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxvYWRDb25maWcoY29uZmlnUXVlcnlQYXJhbXM6IFF1ZXJ5UGFyYW1zID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZXRGaWx0ZXJDb25maWdMb2FkaW5nKHRydWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyQ29uZmlnID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5maWx0ZXJTZXJ2aWNlLmdldEZpbHRlckNvbmZpZyh7IHBhcmFtczogY29uZmlnUXVlcnlQYXJhbXMgfSkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgICAgIGZpbHRlckNvbmZpZ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0RXJyb3IoZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldEZpbHRlckNvbmZpZ0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGZpbHRlcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbWV0ZXJzLCBkaXNhYmxlZCwgcXVlcnlQYXJhbXMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5nZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICB7IHBhcmFtczogcXVlcnlQYXJhbXMgfSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0UmVzdWx0KHJlc3VsdCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0RXJyb3IoZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGRvd25sb2FkRGF0YSh0eXBlOiBzdHJpbmcsIGRvd25sb2FkRmlsZU5hbWU6IHN0cmluZywgaWRzPzogbnVtYmVyW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbWV0ZXJzLCBkaXNhYmxlZCB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB7XG4gICAgICAgICAgICAuLi5maWx0ZXJQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgcnVsZXM6IGZpbHRlclBhcmFtZXRlcnM/LnJ1bGVzID8gWy4uLmZpbHRlclBhcmFtZXRlcnMucnVsZXNdIDogW11cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaWRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHBhcmFtZXRlcnMucnVsZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogXCJhbmRcIixcbiAgICAgICAgICAgICAgICAgICAgcnVsZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJpZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogRmlsdGVyT3BlcmF0b3JUeXBlcy5JbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaWRzXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuZmlsdGVyU2VydmljZS5nZXRGaWxlKHR5cGUsIHRoaXMuc3RvcmUuZ2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKSkpO1xuICAgICAgICAgICAgRmlsZVV0aWxzLmRvd25sb2FkRmlsZShgJHtkb3dubG9hZEZpbGVOYW1lfS4ke3R5cGV9YCwgcmVzdWx0KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRFcnJvcihlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcHJpbnREYXRhKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMsIGRpc2FibGVkIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuZmlsdGVyU2VydmljZS5nZXRQcmludGFibGVIdG1sKHRoaXMuc3RvcmUuZ2V0UGFyYW1ldGVycyhmaWx0ZXJQYXJhbWV0ZXJzKSkpO1xuICAgICAgICAgICAgRmlsZVV0aWxzLm9wZW5QcmludGFibGVXaW5kb3cocmVzdWx0KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRFcnJvcihlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCByZWxvYWQgc2hvdyBub3QgYmUgcGFzc2VkLCBhbmQgdGhlIGNhbGxlciBzaG91bGQgaW5zdGVhZCBjYWxsIGBmaWx0ZXIoKWAgYWZ0ZXIgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp1bmlmaWVkLXNpZ25hdHVyZXNcbiAgICBwdWJsaWMgc2V0UGFyYW1ldGVycyhmaWx0ZXJQYXJhbWV0ZXJzOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwsIHJlbG9hZDogYm9vbGVhbik6IHZvaWQ7XG4gICAgcHVibGljIHNldFBhcmFtZXRlcnMoZmlsdGVyUGFyYW1ldGVyczogRmlsdGVyUGFyYW1ldGVyc01vZGVsKTogdm9pZDtcbiAgICBwdWJsaWMgc2V0UGFyYW1ldGVycyhmaWx0ZXJQYXJhbWV0ZXJzOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwsIHJlbG9hZD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnMpO1xuICAgICAgICBpZiAocmVsb2FkKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0UGFnaW5nKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgdGhpcy5zZXRQYXJhbWV0ZXJzKHtcbiAgICAgICAgICAgIC4uLmZpbHRlclBhcmFtZXRlcnMsXG4gICAgICAgICAgICBzdGFydDogMFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJlc2V0UmVzdWx0KHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRRdWVyeVBhcmFtcyhxdWVyeVBhcmFtczogUXVlcnlQYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoeyBxdWVyeVBhcmFtcyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0QmFzZVJ1bGVzKHJ1bGU6IChRdWVyeVJ1bGVNb2RlbCB8IFF1ZXJ5TW9kZWwpW10sIHJlbG9hZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICBiYXNlUnVsZXM6IHJ1bGVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHJlbG9hZCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRSdWxlcyhydWxlczogUXVlcnlNb2RlbCB8IFF1ZXJ5TW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocnVsZXMpKSB7XG4gICAgICAgICAgICBydWxlcyA9IFtydWxlc107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgbmV3UnVsZXM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCA9IHtcbiAgICAgICAgICAgIG9yZGVyOiBmaWx0ZXJQYXJhbWV0ZXJzLm9yZGVyLFxuICAgICAgICAgICAgZmFsbGJhY2tPcmRlcjogZmlsdGVyUGFyYW1ldGVycy5mYWxsYmFja09yZGVyLFxuICAgICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgICBsZW5ndGg6IGZpbHRlclBhcmFtZXRlcnMubGVuZ3RoLFxuICAgICAgICAgICAgZGF0YTogZmlsdGVyUGFyYW1ldGVycy5kYXRhLFxuICAgICAgICAgICAgcnVsZXNcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnNldFBhcmFtZXRlcnMobmV3UnVsZXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cHNlcnRSdWxlKGlkOiBzdHJpbmcsIG5ld1J1bGU6IFJ1bGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFF1ZXJ5ID0gZmlsdGVyUGFyYW1ldGVycy5ydWxlcz8uWzBdO1xuICAgICAgICBjb25zdCBydWxlOiBRdWVyeVJ1bGVNb2RlbCA9IHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgLi4ubmV3UnVsZVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBxdWVyeTogUXVlcnlNb2RlbCA9IHsgcnVsZXM6IFtydWxlXSwgY29uZGl0aW9uOiBcImFuZFwiIH07XG4gICAgICAgIGlmICghY3VycmVudFF1ZXJ5IHx8IGN1cnJlbnRRdWVyeS5ydWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UnVsZXMocXVlcnkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2xkUnVsZSA9IGN1cnJlbnRRdWVyeS5ydWxlcy5maW5kKChyKSA9PiAociBhcyBRdWVyeVJ1bGVNb2RlbCkuaWQgPT09IGlkKSBhcyBRdWVyeVJ1bGVNb2RlbDtcbiAgICAgICAgbGV0IG5ld1J1bGVzID0gY3VycmVudFF1ZXJ5LnJ1bGVzO1xuICAgICAgICBpZiAob2xkUnVsZSkge1xuICAgICAgICAgICAgaWYgKG5ld1J1bGUpIHtcbiAgICAgICAgICAgICAgICAvLyBBcnJheSByZXBsYWNlXG4gICAgICAgICAgICAgICAgbmV3UnVsZXMgPSBbXG4gICAgICAgICAgICAgICAgICAgIC4uLmN1cnJlbnRRdWVyeS5ydWxlcy5zbGljZSgwLCBjdXJyZW50UXVlcnkucnVsZXMuaW5kZXhPZihvbGRSdWxlKSksXG4gICAgICAgICAgICAgICAgICAgIHJ1bGUsXG4gICAgICAgICAgICAgICAgICAgIC4uLmN1cnJlbnRRdWVyeS5ydWxlcy5zbGljZShjdXJyZW50UXVlcnkucnVsZXMuaW5kZXhPZihvbGRSdWxlKSArIDEsIGN1cnJlbnRRdWVyeS5ydWxlcy5sZW5ndGgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3UnVsZXMgPSBjdXJyZW50UXVlcnkucnVsZXMuZmlsdGVyKChyKSA9PiAociBhcyBRdWVyeVJ1bGVNb2RlbCkuaWQgIT09IGlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld1J1bGVzID0gWy4uLm5ld1J1bGVzLCBydWxlXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFJ1bGVzKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogY3VycmVudFF1ZXJ5LmNvbmRpdGlvbixcbiAgICAgICAgICAgIHJ1bGVzOiBuZXdSdWxlc1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlUnVsZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycyB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBjdXJyZW50UXVlcnkgPSBmaWx0ZXJQYXJhbWV0ZXJzLnJ1bGVzPy5bMF07XG4gICAgICAgIGNvbnN0IG9sZFJ1bGUgPSBjdXJyZW50UXVlcnk/LnJ1bGVzPy5maW5kKChyKSA9PiAociBhcyBRdWVyeVJ1bGVNb2RlbCkuaWQgPT09IGlkKSBhcyBRdWVyeVJ1bGVNb2RlbDtcbiAgICAgICAgaWYgKCFvbGRSdWxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdSdWxlcyA9IGN1cnJlbnRRdWVyeS5ydWxlcy5maWx0ZXIoKHIpID0+IChyIGFzIFF1ZXJ5UnVsZU1vZGVsKS5pZCAhPT0gaWQpO1xuICAgICAgICB0aGlzLnNldFJ1bGVzKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogY3VycmVudFF1ZXJ5LmNvbmRpdGlvbixcbiAgICAgICAgICAgIHJ1bGVzOiBuZXdSdWxlc1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkVmFsdWUodmFsdWU6IGFueSwgb3B0cz86IEFkZEVudGl0aWVzT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmFkZFZhbHVlKHZhbHVlLCBvcHRzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkVmFsdWVzKHZhbHVlOiBhbnlbXSwgb3B0cz86IEFkZEVudGl0aWVzT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmFkZFZhbHVlcyh2YWx1ZSwgb3B0cyk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwc2VydFZhbHVlKHZhbHVlOiBhbnksIGtleT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwc2VydFZhbHVlKHZhbHVlLCBrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cHNlcnRWYWx1ZXModmFsdWVzOiBhbnlbXSwga2V5Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBzZXJ0VmFsdWVzKHZhbHVlcywga2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlVmFsdWUodmFsdWU6IGFueSwga2V5Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUucmVtb3ZlVmFsdWUodmFsdWUsIGtleSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZVZhbHVlcyh2YWx1ZXM6IGFueVtdLCBrZXk/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5yZW1vdmVWYWx1ZXModmFsdWVzLCBrZXkpO1xuICAgIH1cblxuICAgIEB0cmFuc2FjdGlvbigpXG4gICAgcHVibGljIHJlc2V0UmVzdWx0KHdhaXRGb3JOZXh0RmlsdGVyOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghd2FpdEZvck5leHRGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJSZXN1bHQ6IG51bGxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXQoW10pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgICAgIHJlc2V0UmVzdWx0OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|