@pepperi-addons/ngx-lib 0.4.2-beta.249 → 0.4.2-beta.250
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/select/select.component.mjs +5 -2
- package/esm2020/side-bar/side-bar.component.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs +4 -1
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs +4 -1
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/package.json +1 -1
- package/select/select.component.d.ts +1 -0
|
@@ -70,7 +70,7 @@ export class PepSelectComponent {
|
|
|
70
70
|
if (!value) {
|
|
71
71
|
value = [];
|
|
72
72
|
}
|
|
73
|
-
this._options = value;
|
|
73
|
+
this._options = this.sortOptions(value);
|
|
74
74
|
}
|
|
75
75
|
get options() {
|
|
76
76
|
return this._options;
|
|
@@ -95,6 +95,9 @@ export class PepSelectComponent {
|
|
|
95
95
|
get emptyOption() {
|
|
96
96
|
return this._emptyOption;
|
|
97
97
|
}
|
|
98
|
+
sortOptions(options) {
|
|
99
|
+
return options.sort((n1, n2) => n1.value > n2.value ? 1 : n1.value < n2.value ? -1 : 0);
|
|
100
|
+
}
|
|
98
101
|
addOptionsIfNeeded() {
|
|
99
102
|
if (this.addValueToOptionsIfNotExist) {
|
|
100
103
|
if (this.isMulti) {
|
|
@@ -287,4 +290,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
287
290
|
type: ViewChild,
|
|
288
291
|
args: ['select']
|
|
289
292
|
}] } });
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFHVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBRVQsdUJBQXVCLEdBRzFCLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsNEJBQTRCLEVBRTVCLGNBQWMsR0FFakIsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRakMsTUFBTSxPQUFPLGtCQUFrQjtJQTZHM0IsWUFDWSxTQUEyQixFQUMzQixvQkFBNkMsRUFDN0MsUUFBbUIsRUFDbkIsT0FBbUI7UUFIbkIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFoSHRCLFFBQUcsR0FBRyxFQUFFLENBQUM7UUFFVixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBYVgsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFNBQUksR0FBdUIsUUFBUSxDQUFDO1FBQ3BDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBMkIsNEJBQTRCLENBQUM7UUFDbEUsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUViLGlCQUFZLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBVXZCLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQUU5Qixh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LElBQUksRUFBRSxDQUFDO1FBQ3ZCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNWLENBQUM7OytHQTNSUSxrQkFBa0I7bUdBQWxCLGtCQUFrQixzeUJDaEMvQixtMktBbUZlOzJGRG5ERixrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNOzhMQUd0QyxHQUFHO3NCQUFYLEtBQUs7Z0JBSUYsS0FBSztzQkFEUixLQUFLO2dCQVlHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0YsV0FBVztzQkFEZCxLQUFLO2dCQVNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFJRixPQUFPO3NCQURWLEtBQUs7Z0JBY0YsT0FBTztzQkFEVixLQUFLO2dCQXFCRixXQUFXO3NCQURkLEtBQUs7Z0JBYUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBRUcsMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUdOLFdBQVc7c0JBRFYsTUFBTTtnQkFLYyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgT25EZXN0cm95LFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQZXBMYXlvdXRUeXBlLFxuICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgIFBlcEhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVCxcbiAgICBQZXBTZWxlY3RGaWVsZFR5cGUsXG4gICAgUGVwU2VsZWN0RmllbGQsXG4gICAgSVBlcE9wdGlvbixcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcycsICcuL3NlbGVjdC5jb21wb25lbnQudGhlbWUuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBrZXkgPSAnJztcbiAgICBcbiAgICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgICBASW5wdXQoKSB0eXBlOiBQZXBTZWxlY3RGaWVsZFR5cGUgPSAnc2VsZWN0JztcbiAgICBASW5wdXQoKSBtYW5kYXRvcnkgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgeEFsaWdubWVudDogUGVwSG9yaXpvbnRhbEFsaWdubWVudCA9IERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQ7XG4gICAgQElucHV0KCkgcm93U3BhbiA9IDE7XG4gICAgXG4gICAgcHJpdmF0ZSBfcGxhY2Vob2xkZXIgPSAnJ1xuICAgIHByaXZhdGUgX3BsYWNlaG9sZGVyU2V0ID0gZmFsc2U7XG4gICAgQElucHV0KCkgXG4gICAgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcGxhY2Vob2xkZXIgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fcGxhY2Vob2xkZXJTZXQgPSB0cnVlO1xuICAgIH1cbiAgICBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xuICAgIH1cbiAgICBcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcldoZW5EaXNhYmxlZCA9ICcnO1xuXG4gICAgcHJpdmF0ZSBfb3B0aW9uczogQXJyYXk8SVBlcE9wdGlvbj4gPSBbXTtcbiAgICBASW5wdXQoKSBcbiAgICBzZXQgb3B0aW9ucyh2YWx1ZTogQXJyYXk8SVBlcE9wdGlvbj4pIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgb3B0aW9ucygpOiBBcnJheTxJUGVwT3B0aW9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Zpc2libGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZpc2libGUodmlzaWJsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl92aXNpYmxlID0gdmlzaWJsZTtcbiAgICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ2hpZGRlbi1lbGVtZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ2hpZGRlbi1lbGVtZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZW1wdHlPcHRpb24gPSB0cnVlO1xuICAgIEBJbnB1dCgpIFxuICAgIHNldCBlbXB0eU9wdGlvbih2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9lbXB0eU9wdGlvbiA9IHZhbDtcbiAgICAgICAgfSAgICAgICAgXG4gICAgfSBcbiAgICBnZXQgZW1wdHlPcHRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbXB0eU9wdGlvbjtcbiAgICB9XG5cbiAgICBjb250cm9sVHlwZSA9ICdzZWxlY3QnO1xuXG4gICAgLy8gQElucHV0KCkgZmllbGQ6IFBlcEZpZWxkQmFzZTtcbiAgICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXAgPSBudWxsO1xuICAgIEBJbnB1dCgpIGxheW91dFR5cGU6IFBlcExheW91dFR5cGUgPSAnZm9ybSc7XG4gICAgQElucHV0KCkgcGFyZW50RmllbGRLZXk6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgaXNBY3RpdmUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlOyAgXG5cbiAgICBASW5wdXQoKSByZW5kZXJUaXRsZSA9IHRydWU7XG4gICAgQElucHV0KCkgdHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCA9IDEwMDA7XG4gICAgXG4gICAgQElucHV0KCkgYWRkVmFsdWVUb09wdGlvbnNJZk5vdEV4aXN0ID0gdHJ1ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIC8vIEBPdXRwdXQoKVxuICAgIC8vIGZvcm1WYWxpZGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdzZWxlY3QnKSBzZWxlY3Q6IE1hdFNlbGVjdDtcblxuICAgIHN0YW5kQWxvbmUgPSBmYWxzZTtcbiAgICBpc0luRWRpdE1vZGUgPSBmYWxzZTtcbiAgICBpc011bHRpID0gZmFsc2U7XG4gICAgc2VsZWN0ZWRWYWx1ZXNNb2RlbDogc3RyaW5nW107XG4gICAgc2VsZWN0ZWRWYWx1ZU1vZGVsOiBzdHJpbmc7XG4gICAgZmllbGRGb3JtYXR0ZWRWYWx1ZSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGN1c3RvbWl6YXRpb25TZXJ2aWNlOiBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWZcbiAgICApIHsgfVxuXG4gICAgcHJpdmF0ZSBhZGRPcHRpb25zSWZOZWVkZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFkZFZhbHVlVG9PcHRpb25zSWZOb3RFeGlzdCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNNdWx0aSkge1xuICAgICAgICAgICAgICAgIC8vIEdvIGdvciBhbGwgc2VsZWN0ZWQgYW5kIGFkZCB0byBvcHRpb25zIGlmIG5vdCBleGlzdFxuICAgICAgICAgICAgICAgIC8vIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zZWxlY3RlZFZhbHVlc01vZGVsLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RlZFZhbHVlIG9mIHRoaXMuc2VsZWN0ZWRWYWx1ZXNNb2RlbCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWVOb3RFeGlzdCA9IGZhbHNlO1xuICAgIFxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQua2V5ID09PSBzZWxlY3RlZFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlTm90RXhpc3QgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgIC8vIEFkZCBpdCB0byBvcHRpb25zLlxuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWVOb3RFeGlzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogc2VsZWN0ZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc2VsZWN0ZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zICYmXG4gICAgICAgICAgICAgICAgICAgICF0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQua2V5ID09PSB0aGlzLnZhbHVlKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMucHVzaCh7IGtleTogdGhpcy52YWx1ZSwgdmFsdWU6IHRoaXMudmFsdWUgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRGaWVsZEZvcm1hdHRlZFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZXNNb2RlbC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZEZvcm1hdHRlZFZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlc01vZGVsXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LmtleSA9PT0gdmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPy52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGRGb3JtYXR0ZWRWYWx1ZSA9ICcnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0aGlzLmZpZWxkRm9ybWF0dGVkVmFsdWUgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gdmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKCc7JywgJ2cnKSwgJywgJykgOiAnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0ID0gdGhpcy5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LmtleSA9PT0gdmFsdWUpO1xuXG4gICAgICAgICAgICAvLyBmaXggREktMTkzNzEgLSBjYW4ndCBzZWxlY3Qgbm9uZSBhcyBvcHRpb24gOiBhdm5lclxuICAgICAgICAgICAgdGhpcy5maWVsZEZvcm1hdHRlZFZhbHVlID0gc2VsZWN0ZWRPcHQgPyBzZWxlY3RlZE9wdC52YWx1ZSA6ICcnO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRGb3JtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwZXBGaWVsZCA9IG5ldyBQZXBTZWxlY3RGaWVsZCh7XG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBtYW5kYXRvcnk6IHRoaXMubWFuZGF0b3J5LFxuICAgICAgICAgICAgcmVhZG9ubHk6IHRoaXMucmVhZG9ubHksXG4gICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UuZ2V0RGVmYXVsdEZyb21Hcm91cChwZXBGaWVsZCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhbmRBbG9uZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RBTkRfQUxPTkVfRklFTERfQ0xBU1NfTkFNRVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLnJlbmRlclRpdGxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX05PX1NQQUNJTkdfQ0xBU1NfTkFNRVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgZGVmYXVsdCBwbGFjZWhvbGRlciBpZiBub3Qgc2V0LlxuICAgICAgICBpZiAoIXRoaXMuX3BsYWNlaG9sZGVyU2V0KSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ1NFTEVDVC5ISU5UJykuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gcmVzO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhbmRBbG9uZSkge1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc011bHRpID0gdGhpcy50eXBlID09PSAnbXVsdGknO1xuICAgICAgICBpZiAodGhpcy5pc011bHRpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzTW9kZWwgPVxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUubGVuZ3RoID4gMCA/IHRoaXMudmFsdWUuc3BsaXQoJzsnKSA6IFtdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlTW9kZWwgPSB0aGlzLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hZGRPcHRpb25zSWZOZWVkZWQoKTtcbiAgICAgICAgdGhpcy5zZXRGaWVsZEZvcm1hdHRlZFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHNlbGVjdGlvbkNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc011bHRpKSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZVZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZU1vZGVsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5lZENoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIC8vIE9ubHkgb24gY2xvc2UuXG4gICAgICAgIGlmICghZXZlbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTXVsdGkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZXNNb2RlbC5qb2luKCc7JykpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5pc0luRWRpdE1vZGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzSW5FZGl0TW9kZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hhbmdlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEZpZWxkRm9ybWF0dGVkVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLnVwZGF0ZUZvcm1GaWVsZFZhbHVlKFxuICAgICAgICAgICAgdGhpcy5mb3JtLFxuICAgICAgICAgICAgdGhpcy5rZXksXG4gICAgICAgICAgICAvLyB2YWx1ZSxcbiAgICAgICAgICAgIHRoaXMuZmllbGRGb3JtYXR0ZWRWYWx1ZSxcbiAgICAgICAgICAgIHRoaXMucGFyZW50RmllbGRLZXlcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy5tYW5kYXRvcnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkQ29udHJvbCA9IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLmtleV07XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBmaWVsZENvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmaWVsZENvbnRyb2wuc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgICAgc2VydmVyRXJyb3I6ICdSZXF1aXJlZCcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB0aGlzLmZvcm1WYWxpZGF0aW9uQ2hhbmdlLmVtaXQodGhpcy5mb3JtLnZhbGlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgY2FyZFRlbXBsYXRlQ2xpY2tlZChldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNJbkVkaXRNb2RlID0gdHJ1ZTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Lm9wZW4oKTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8bmctdGVtcGxhdGUgI3BlcFRlbXBsYXRlPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PSAnbXVsdGknOyB0aGVuIG11bHRpU2VsZWN0QmxvY2s7IGVsc2UgcmVndWxhclNlbGVjdEJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVndWxhclNlbGVjdEJsb2NrPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgZGlyPVwie3sgeEFsaWdubWVudCA9PT0gJ3JpZ2h0JyA/ICdydGwnIDogJ2x0cicgfX1cIiAoY2xpY2spPVwic2VsZWN0Lm9wZW4oKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICNzZWxlY3QgW3JlcXVpcmVkXT1cIm1hbmRhdG9yeSA/IG1hbmRhdG9yeSA6IHVuZGVmaW5lZFwiIGRpc2FibGVPcHRpb25DZW50ZXJpbmdcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJib2R5LXNtIHRleHQtYWxpZ24te3sgeEFsaWdubWVudCB9fVwiIFtpZF09XCJrZXlcIiBbdHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbF09XCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydyaWdodC1hbGlnbm1lbnQnOiB4QWxpZ25tZW50ID09PSAncmlnaHQnfVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkaXNhYmxlZCB8fCByZWFkb25seSA/IHBsYWNlaG9sZGVyV2hlbkRpc2FibGVkIDogcGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVmFsdWVNb2RlbFwiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCIgKG9wZW5lZENoYW5nZSk9XCJvcGVuZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgZmllbGRGb3JtYXR0ZWRWYWx1ZSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImVtcHR5T3B0aW9uXCIgdmFsdWU9XCJcIiBbdGl0bGVdPVwiJ0xJU1QuTk9ORScgfCB0cmFuc2xhdGVcIj57eyAnTElTVC5OT05FJyB8XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24ua2V5XCIgW3RpdGxlXT1cIm9wdGlvbi52YWx1ZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24udmFsdWUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm9keS14c1wiIFt0aXRsZV09XCInTUVTU0FHRVMuRVJST1JfSVNfUkVRVUlSRUQnIHwgdHJhbnNsYXRlOiB7ZmllbGQ6IGxhYmVsfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJUZXh0XT1cIidNRVNTQUdFUy5FUlJPUl9JU19SRVFVSVJFRCcgfCB0cmFuc2xhdGU6IHtmaWVsZDogbGFiZWx9XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNtdWx0aVNlbGVjdEJsb2NrPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgZGlyPVwie3sgeEFsaWdubWVudCA9PT0gJ3JpZ2h0JyA/ICdydGwnIDogJ2x0cicgfX1cIiAoY2xpY2spPVwic2VsZWN0Lm9wZW4oKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICNzZWxlY3QgbXVsdGlwbGUgW3JlcXVpcmVkXT1cIm1hbmRhdG9yeSA/IG1hbmRhdG9yeSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVPcHRpb25DZW50ZXJpbmcgY2xhc3M9XCJib2R5LXNtIHRleHQtYWxpZ24te3sgeEFsaWdubWVudCB9fVwiIFtpZF09XCJrZXlcIiBbdHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbF09XCJ0eXBlYWhlYWREZWJvdW5jZUludGVydmFsXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydyaWdodC1hbGlnbm1lbnQnOiB4QWxpZ25tZW50ID09PSAncmlnaHQnfVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkaXNhYmxlZCB8fCByZWFkb25seSA/IHBsYWNlaG9sZGVyV2hlbkRpc2FibGVkIDogcGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVmFsdWVzTW9kZWxcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgKG9wZW5lZENoYW5nZSk9XCJvcGVuZWRDaGFuZ2UoJGV2ZW50KVwiIHRpdGxlPVwie3sgZmllbGRGb3JtYXR0ZWRWYWx1ZSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uLmtleVwiIFt0aXRsZV09XCJvcHRpb24udmFsdWVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uLnZhbHVlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yPjxzcGFuIGNsYXNzPVwiYm9keS14c1wiIFt0aXRsZV09XCInTUVTU0FHRVMuRVJST1JfSVNfUkVRVUlSRUQnIHwgdHJhbnNsYXRlOiB7ZmllbGQ6IGxhYmVsfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJUZXh0XT1cIidNRVNTQUdFUy5FUlJPUl9JU19SRVFVSVJFRCcgfCB0cmFuc2xhdGU6IHtmaWVsZDogbGFiZWx9XCI+IDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRUeXBlID09PSAnZm9ybSdcIj5cbiAgICAgICAgPHBlcC1maWVsZC10aXRsZSAqbmdJZj1cIiFwYXJlbnRGaWVsZEtleSAmJiByZW5kZXJUaXRsZVwiIFtsYWJlbF09XCJsYWJlbFwiIFttYW5kYXRvcnldPVwibWFuZGF0b3J5XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt4QWxpZ25tZW50XT1cInhBbGlnbm1lbnRcIiBbc2hvd1RpdGxlXT1cInNob3dUaXRsZVwiPlxuICAgICAgICA8L3BlcC1maWVsZC10aXRsZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGF5b3V0VHlwZSA9PT0gJ2NhcmQnXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0luRWRpdE1vZGU7IHRoZW4gZWRpdEJsb2NrOyBlbHNlIHJlYWRPbmx5QmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0QmxvY2s+XG4gICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnb25lLXJvdyc6IHJvd1NwYW4gPT09IDF9XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNyZWFkT25seUJsb2NrPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcC1jYXJkLWlucHV0IGNhcmQtZmxleC1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb25lLXJvdyc6IHJvd1NwYW4gPT09IDEsICdwZXAtYnV0dG9uIHdlYWsnOiBpc0FjdGl2ZSAmJiAhZGlzYWJsZWR9XCJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiJ3RleHQtYWxpZ24tJyArIHhBbGlnbm1lbnRcIiAoY2xpY2spPVwiIWRpc2FibGVkID8gY2FyZFRlbXBsYXRlQ2xpY2tlZCgkZXZlbnQpIDogJydcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dUaXRsZSAmJiBsYWJlbCAhPSAnJ1wiIGNsYXNzPVwiYm9keS14cyB0aXRsZVwiIHRpdGxlPVwie3sgbGFiZWwgfX1cIj57eyBsYWJlbFxuICAgICAgICAgICAgICAgICAgICB9fSZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBbaWRdPVwia2V5XCIgdGl0bGU9XCJ7eyBmaWVsZEZvcm1hdHRlZFZhbHVlIH19XCIgY2xhc3M9XCJib2R5LXNtIHZhbHVlXCI+e3sgZmllbGRGb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaXNBY3RpdmUgJiYgIWRpc2FibGVkXCIgY2xhc3M9XCJwZXAtYnV0dG9uIHdlYWsgY2FyZC1lZGl0LWJ1dHRvblwiIG1hdC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX2VkaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRUeXBlID09PSAndGFibGUnXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0FjdGl2ZSAmJiAhZGlzYWJsZWQ7IHRoZW4gc2VsZWN0ZWRCbG9jazsgZWxzZSBub3RTZWxlY3RlZEJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VsZWN0ZWRCbG9jaz5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwZXBUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI25vdFNlbGVjdGVkQmxvY2s+XG4gICAgICAgICAgICA8c3BhbiBbaWRdPVwia2V5XCIgY2xhc3M9XCJib2R5LXNtIHBlcC1yZXBvcnQtaW5wdXRcIiBbbmdDbGFzc109XCJ7cmVhZG9ubHk6IGRpc2FibGVkfVwiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBmaWVsZEZvcm1hdHRlZFZhbHVlIH19XCI+e3sgZmllbGRGb3JtYXR0ZWRWYWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFHVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBRVQsdUJBQXVCLEdBRzFCLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsNEJBQTRCLEVBRTVCLGNBQWMsR0FFakIsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRakMsTUFBTSxPQUFPLGtCQUFrQjtJQTZHM0IsWUFDWSxTQUEyQixFQUMzQixvQkFBNkMsRUFDN0MsUUFBbUIsRUFDbkIsT0FBbUI7UUFIbkIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFoSHRCLFFBQUcsR0FBRyxFQUFFLENBQUM7UUFFVixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBYVgsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFNBQUksR0FBdUIsUUFBUSxDQUFDO1FBQ3BDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBMkIsNEJBQTRCLENBQUM7UUFDbEUsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUViLGlCQUFZLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBVXZCLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQUU5Qixh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O2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFFRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBR04sV0FBVztzQkFEVixNQUFNO2dCQUtjLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBWaWV3Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICAgIFBlcExheW91dFR5cGUsXG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwSG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5ULFxuICAgIFBlcFNlbGVjdEZpZWxkVHlwZSxcbiAgICBQZXBTZWxlY3RGaWVsZCxcbiAgICBJUGVwT3B0aW9uLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLXNlbGVjdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJywgJy4vc2VsZWN0LmNvbXBvbmVudC50aGVtZS5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBlcFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGtleSA9ICcnO1xuICAgIFxuICAgIHByaXZhdGUgX3ZhbHVlID0gJyc7XG4gICAgQElucHV0KClcbiAgICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICAgIEBJbnB1dCgpIHR5cGU6IFBlcFNlbGVjdEZpZWxkVHlwZSA9ICdzZWxlY3QnO1xuICAgIEBJbnB1dCgpIG1hbmRhdG9yeSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB4QWxpZ25tZW50OiBQZXBIb3Jpem9udGFsQWxpZ25tZW50ID0gREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVDtcbiAgICBASW5wdXQoKSByb3dTcGFuID0gMTtcbiAgICBcbiAgICBwcml2YXRlIF9wbGFjZWhvbGRlciA9ICcnXG4gICAgcHJpdmF0ZSBfcGxhY2Vob2xkZXJTZXQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBcbiAgICBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9wbGFjZWhvbGRlclNldCA9IHRydWU7XG4gICAgfVxuICAgIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XG4gICAgfVxuICAgIFxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyV2hlbkRpc2FibGVkID0gJyc7XG5cbiAgICBwcml2YXRlIF9vcHRpb25zOiBBcnJheTxJUGVwT3B0aW9uPiA9IFtdO1xuICAgIEBJbnB1dCgpIFxuICAgIHNldCBvcHRpb25zKHZhbHVlOiBBcnJheTxJUGVwT3B0aW9uPikge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB0aGlzLl9vcHRpb25zID0gdGhpcy5zb3J0T3B0aW9ucyh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBvcHRpb25zKCk6IEFycmF5PElQZXBPcHRpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBzZXQgdmlzaWJsZSh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9lbXB0eU9wdGlvbiA9IHRydWU7XG4gICAgQElucHV0KCkgXG4gICAgc2V0IGVtcHR5T3B0aW9uKHZhbDogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2VtcHR5T3B0aW9uID0gdmFsO1xuICAgICAgICB9ICAgICAgICBcbiAgICB9IFxuICAgIGdldCBlbXB0eU9wdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VtcHR5T3B0aW9uO1xuICAgIH1cblxuICAgIGNvbnRyb2xUeXBlID0gJ3NlbGVjdCc7XG5cbiAgICAvLyBASW5wdXQoKSBmaWVsZDogUGVwRmllbGRCYXNlO1xuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG51bGw7XG4gICAgQElucHV0KCkgbGF5b3V0VHlwZTogUGVwTGF5b3V0VHlwZSA9ICdmb3JtJztcbiAgICBASW5wdXQoKSBwYXJlbnRGaWVsZEtleTogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBpc0FjdGl2ZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNob3dUaXRsZSA9IHRydWU7ICBcblxuICAgIEBJbnB1dCgpIHJlbmRlclRpdGxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSB0eXBlYWhlYWREZWJvdW5jZUludGVydmFsID0gMTAwMDtcbiAgICBcbiAgICBASW5wdXQoKSBhZGRWYWx1ZVRvT3B0aW9uc0lmTm90RXhpc3QgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgLy8gQE91dHB1dCgpXG4gICAgLy8gZm9ybVZhbGlkYXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3NlbGVjdCcpIHNlbGVjdDogTWF0U2VsZWN0O1xuXG4gICAgc3RhbmRBbG9uZSA9IGZhbHNlO1xuICAgIGlzSW5FZGl0TW9kZSA9IGZhbHNlO1xuICAgIGlzTXVsdGkgPSBmYWxzZTtcbiAgICBzZWxlY3RlZFZhbHVlc01vZGVsOiBzdHJpbmdbXTtcbiAgICBzZWxlY3RlZFZhbHVlTW9kZWw6IHN0cmluZztcbiAgICBmaWVsZEZvcm1hdHRlZFZhbHVlID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZlxuICAgICkgeyB9XG5cbiAgICBwcml2YXRlIHNvcnRPcHRpb25zKG9wdGlvbnM6IEFycmF5PElQZXBPcHRpb24+KTogQXJyYXk8SVBlcE9wdGlvbj4ge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5zb3J0KChuMSwgbjIpID0+XG4gICAgICAgICAgICBuMS52YWx1ZSA+IG4yLnZhbHVlID8gMSA6IG4xLnZhbHVlIDwgbjIudmFsdWUgPyAtMSA6IDBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZE9wdGlvbnNJZk5lZWRlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWRkVmFsdWVUb09wdGlvbnNJZk5vdEV4aXN0KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc011bHRpKSB7XG4gICAgICAgICAgICAgICAgLy8gR28gZ29yIGFsbCBzZWxlY3RlZCBhbmQgYWRkIHRvIG9wdGlvbnMgaWYgbm90IGV4aXN0XG4gICAgICAgICAgICAgICAgLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnNlbGVjdGVkVmFsdWVzTW9kZWwubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNlbGVjdGVkVmFsdWUgb2YgdGhpcy5zZWxlY3RlZFZhbHVlc01vZGVsKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZU5vdEV4aXN0ID0gZmFsc2U7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5rZXkgPT09IHNlbGVjdGVkVmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVOb3RFeGlzdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgLy8gQWRkIGl0IHRvIG9wdGlvbnMuXG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZU5vdEV4aXN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBzZWxlY3RlZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlICE9PSAnJyAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgJiZcbiAgICAgICAgICAgICAgICAgICAgIXRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5rZXkgPT09IHRoaXMudmFsdWUpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5wdXNoKHsga2V5OiB0aGlzLnZhbHVlLCB2YWx1ZTogdGhpcy52YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZpZWxkRm9ybWF0dGVkVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc011bHRpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlc01vZGVsLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkRm9ybWF0dGVkVmFsdWUgPSB0aGlzLnNlbGVjdGVkVmFsdWVzTW9kZWxcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQua2V5ID09PSB2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuam9pbignLCAnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZEZvcm1hdHRlZFZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRoaXMuZmllbGRGb3JtYXR0ZWRWYWx1ZSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoJzsnLCAnZycpLCAnLCAnKSA6ICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHQgPSB0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQua2V5ID09PSB2YWx1ZSk7XG5cbiAgICAgICAgICAgIC8vIGZpeCBESS0xOTM3MSAtIGNhbid0IHNlbGVjdCBub25lIGFzIG9wdGlvbiA6IGF2bmVyXG4gICAgICAgICAgICB0aGlzLmZpZWxkRm9ybWF0dGVkVmFsdWUgPSBzZWxlY3RlZE9wdCA/IHNlbGVjdGVkT3B0LnZhbHVlIDogJyc7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdEZvcm0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBlcEZpZWxkID0gbmV3IFBlcFNlbGVjdEZpZWxkKHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIG1hbmRhdG9yeTogdGhpcy5tYW5kYXRvcnksXG4gICAgICAgICAgICByZWFkb25seTogdGhpcy5yZWFkb25seSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5nZXREZWZhdWx0RnJvbUdyb3VwKHBlcEZpZWxkKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEZvcm0oKTtcblxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZS5TVEFORF9BTE9ORV9GSUVMRF9DTEFTU19OQU1FXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMucmVuZGVyVGl0bGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RBTkRfQUxPTkVfRklFTERfTk9fU1BBQ0lOR19DTEFTU19OQU1FXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCBkZWZhdWx0IHBsYWNlaG9sZGVyIGlmIG5vdCBzZXQuXG4gICAgICAgIGlmICghdGhpcy5fcGxhY2Vob2xkZXJTZXQpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnU0VMRUNULkhJTlQnKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSByZXM7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdGFuZEFsb25lKSB7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzTXVsdGkgPSB0aGlzLnR5cGUgPT09ICdtdWx0aSc7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNNb2RlbCA9XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZS5sZW5ndGggPiAwID8gdGhpcy52YWx1ZS5zcGxpdCgnOycpIDogW107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVNb2RlbCA9IHRoaXMudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFkZE9wdGlvbnNJZk5lZWRlZCgpO1xuICAgICAgICB0aGlzLnNldEZpZWxkRm9ybWF0dGVkVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgc2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTXVsdGkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlVmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlTW9kZWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbmVkQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gT25seSBvbiBjbG9zZS5cbiAgICAgICAgaWYgKCFldmVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNNdWx0aSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlVmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlc01vZGVsLmpvaW4oJzsnKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzSW5FZGl0TW9kZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNJbkVkaXRNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RmllbGRGb3JtYXR0ZWRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UudXBkYXRlRm9ybUZpZWxkVmFsdWUoXG4gICAgICAgICAgICB0aGlzLmZvcm0sXG4gICAgICAgICAgICB0aGlzLmtleSxcbiAgICAgICAgICAgIC8vIHZhbHVlLFxuICAgICAgICAgICAgdGhpcy5maWVsZEZvcm1hdHRlZFZhbHVlLFxuICAgICAgICAgICAgdGhpcy5wYXJlbnRGaWVsZEtleVxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0aGlzLm1hbmRhdG9yeSkge1xuICAgICAgICAgICAgY29uc3QgZmllbGRDb250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMua2V5XTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGZpZWxkQ29udHJvbC5zZXRFcnJvcnMobnVsbCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZpZWxkQ29udHJvbC5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJFcnJvcjogJ1JlcXVpcmVkJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHRoaXMuZm9ybVZhbGlkYXRpb25DaGFuZ2UuZW1pdCh0aGlzLmZvcm0udmFsaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBjYXJkVGVtcGxhdGVDbGlja2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0luRWRpdE1vZGUgPSB0cnVlO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Qub3BlbigpO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjcGVwVGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09ICdtdWx0aSc7IHRoZW4gbXVsdGlTZWxlY3RCbG9jazsgZWxzZSByZWd1bGFyU2VsZWN0QmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNyZWd1bGFyU2VsZWN0QmxvY2s+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBkaXI9XCJ7eyB4QWxpZ25tZW50ID09PSAncmlnaHQnID8gJ3J0bCcgOiAnbHRyJyB9fVwiIChjbGljayk9XCJzZWxlY3Qub3BlbigpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgI3NlbGVjdCBbcmVxdWlyZWRdPVwibWFuZGF0b3J5ID8gbWFuZGF0b3J5IDogdW5kZWZpbmVkXCIgZGlzYWJsZU9wdGlvbkNlbnRlcmluZ1xuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJvZHktc20gdGV4dC1hbGlnbi17eyB4QWxpZ25tZW50IH19XCIgW2lkXT1cImtleVwiIFt0eXBlYWhlYWREZWJvdW5jZUludGVydmFsXT1cInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWxcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3JpZ2h0LWFsaWdubWVudCc6IHhBbGlnbm1lbnQgPT09ICdyaWdodCd9XCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5ID8gcGxhY2Vob2xkZXJXaGVuRGlzYWJsZWQgOiBwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRWYWx1ZU1vZGVsXCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIiAob3BlbmVkQ2hhbmdlKT1cIm9wZW5lZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBmaWVsZEZvcm1hdHRlZFZhbHVlIH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZW1wdHlPcHRpb25cIiB2YWx1ZT1cIlwiIFt0aXRsZV09XCInTElTVC5OT05FJyB8IHRyYW5zbGF0ZVwiPnt7ICdMSVNULk5PTkUnIHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvbi5rZXlcIiBbdGl0bGVdPVwib3B0aW9uLnZhbHVlXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbi52YWx1ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib2R5LXhzXCIgW3RpdGxlXT1cIidNRVNTQUdFUy5FUlJPUl9JU19SRVFVSVJFRCcgfCB0cmFuc2xhdGU6IHtmaWVsZDogbGFiZWx9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lclRleHRdPVwiJ01FU1NBR0VTLkVSUk9SX0lTX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZToge2ZpZWxkOiBsYWJlbH1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI211bHRpU2VsZWN0QmxvY2s+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBkaXI9XCJ7eyB4QWxpZ25tZW50ID09PSAncmlnaHQnID8gJ3J0bCcgOiAnbHRyJyB9fVwiIChjbGljayk9XCJzZWxlY3Qub3BlbigpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgI3NlbGVjdCBtdWx0aXBsZSBbcmVxdWlyZWRdPVwibWFuZGF0b3J5ID8gbWFuZGF0b3J5IDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZU9wdGlvbkNlbnRlcmluZyBjbGFzcz1cImJvZHktc20gdGV4dC1hbGlnbi17eyB4QWxpZ25tZW50IH19XCIgW2lkXT1cImtleVwiIFt0eXBlYWhlYWREZWJvdW5jZUludGVydmFsXT1cInR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWxcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3JpZ2h0LWFsaWdubWVudCc6IHhBbGlnbm1lbnQgPT09ICdyaWdodCd9XCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5ID8gcGxhY2Vob2xkZXJXaGVuRGlzYWJsZWQgOiBwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRWYWx1ZXNNb2RlbFwiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAob3BlbmVkQ2hhbmdlKT1cIm9wZW5lZENoYW5nZSgkZXZlbnQpXCIgdGl0bGU9XCJ7eyBmaWVsZEZvcm1hdHRlZFZhbHVlIH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24ua2V5XCIgW3RpdGxlXT1cIm9wdGlvbi52YWx1ZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24udmFsdWUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+PHNwYW4gY2xhc3M9XCJib2R5LXhzXCIgW3RpdGxlXT1cIidNRVNTQUdFUy5FUlJPUl9JU19SRVFVSVJFRCcgfCB0cmFuc2xhdGU6IHtmaWVsZDogbGFiZWx9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lclRleHRdPVwiJ01FU1NBR0VTLkVSUk9SX0lTX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZToge2ZpZWxkOiBsYWJlbH1cIj4gPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICdmb3JtJ1wiPlxuICAgICAgICA8cGVwLWZpZWxkLXRpdGxlICpuZ0lmPVwiIXBhcmVudEZpZWxkS2V5ICYmIHJlbmRlclRpdGxlXCIgW2xhYmVsXT1cImxhYmVsXCIgW21hbmRhdG9yeV09XCJtYW5kYXRvcnlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3hBbGlnbm1lbnRdPVwieEFsaWdubWVudFwiIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCI+XG4gICAgICAgIDwvcGVwLWZpZWxkLXRpdGxlPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVwVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRUeXBlID09PSAnY2FyZCdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzSW5FZGl0TW9kZTsgdGhlbiBlZGl0QmxvY2s7IGVsc2UgcmVhZE9ubHlCbG9ja1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRCbG9jaz5cbiAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydvbmUtcm93Jzogcm93U3BhbiA9PT0gMX1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVwVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3JlYWRPbmx5QmxvY2s+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVwLWNhcmQtaW5wdXQgY2FyZC1mbGV4LWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydvbmUtcm93Jzogcm93U3BhbiA9PT0gMSwgJ3BlcC1idXR0b24gd2Vhayc6IGlzQWN0aXZlICYmICFkaXNhYmxlZH1cIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCIndGV4dC1hbGlnbi0nICsgeEFsaWdubWVudFwiIChjbGljayk9XCIhZGlzYWJsZWQgPyBjYXJkVGVtcGxhdGVDbGlja2VkKCRldmVudCkgOiAnJ1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd1RpdGxlICYmIGxhYmVsICE9ICcnXCIgY2xhc3M9XCJib2R5LXhzIHRpdGxlXCIgdGl0bGU9XCJ7eyBsYWJlbCB9fVwiPnt7IGxhYmVsXG4gICAgICAgICAgICAgICAgICAgIH19Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpZF09XCJrZXlcIiB0aXRsZT1cInt7IGZpZWxkRm9ybWF0dGVkVmFsdWUgfX1cIiBjbGFzcz1cImJvZHktc20gdmFsdWVcIj57eyBmaWVsZEZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJpc0FjdGl2ZSAmJiAhZGlzYWJsZWRcIiBjbGFzcz1cInBlcC1idXR0b24gd2VhayBjYXJkLWVkaXQtYnV0dG9uXCIgbWF0LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fZWRpdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICd0YWJsZSdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQWN0aXZlICYmICFkaXNhYmxlZDsgdGhlbiBzZWxlY3RlZEJsb2NrOyBlbHNlIG5vdFNlbGVjdGVkQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNzZWxlY3RlZEJsb2NrPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90U2VsZWN0ZWRCbG9jaz5cbiAgICAgICAgICAgIDxzcGFuIFtpZF09XCJrZXlcIiBjbGFzcz1cImJvZHktc20gcGVwLXJlcG9ydC1pbnB1dFwiIFtuZ0NsYXNzXT1cIntyZWFkb25seTogZGlzYWJsZWR9XCJcbiAgICAgICAgICAgICAgICB0aXRsZT1cInt7IGZpZWxkRm9ybWF0dGVkVmFsdWUgfX1cIj57eyBmaWVsZEZvcm1hdHRlZFZhbHVlIH19PC9zcGFuPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+Il19
|
|
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
133
133
|
type: ViewChild,
|
|
134
134
|
args: ['sidenav']
|
|
135
135
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9zaWRlLWJhci9zaWRlLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NpZGUtYmFyL3NpZGUtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsR0FHWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBR0gsaUJBQWlCLEdBQ3BCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7QUFRbkYsTUFBTSxPQUFPLG1CQUFtQjtJQWlENUIsWUFDWSxXQUF1QixFQUN2QixRQUFtQixFQUNwQixhQUErQjtRQUY5QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ3BCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQWpEakMsYUFBUSxHQUFvQixPQUFPLENBQUM7UUFDcEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFbkIsZUFBVSxHQUFvQyxTQUFTLENBQUM7UUFZeEQsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsR0FBRyxDQUFDLENBQUMsZ0JBQWdCO1FBRXZELFVBQUssR0FBd0IsTUFBTSxDQUFDO1FBQ3BDLDBCQUFxQixHQUFXLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUN2RCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQWFyQixnQkFBVyxH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Z0JBSUYsU0FBUztzQkFEWixLQUFLO2dCQW1CRixpQkFBaUI7c0JBRHBCLEtBQUs7Z0JBV04sV0FBVztzQkFEVixNQUFNO2dCQUdlLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBJbmplY3RhYmxlLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7XG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwTGF5b3V0U2VydmljZSxcbiAgICBQZXBTY3JlZW5TaXplVHlwZSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgSVBlcFNpZGVCYXJTdGF0ZUNoYW5nZUV2ZW50LCBQZXBTaWRlQmFyU3RhdGVUeXBlIH0gZnJvbSAnLi9zaWRlLWJhci5tb2RlbCc7XG5pbXBvcnQgeyBwZXBJY29uQXJyb3dMZWZ0LCBwZXBJY29uQXJyb3dSaWdodCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1zaWRlLWJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaWRlLWJhci5jb21wb25lbnQuc2NzcycsICcuL3NpZGUtYmFyLmNvbXBvbmVudC50aGVtZS5zY3NzJ11cbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVwU2lkZUJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgc3RhdGljIE9ORV9NVUxUSV9CWV9ESVJfS0VZID0gJy0tcGVwLW9uZS1tdWx0aS1ieS1kaXInO1xuXG4gICAgQElucHV0KCkgcG9zaXRpb246ICdzdGFydCcgfCAnZW5kJyA9ICdzdGFydCc7XG4gICAgQElucHV0KCkgaWdub3JlUmVzaXplID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd0hlYWRlciA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd0Zvb3RlciA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNob3dUb2dnbGUgPSB0cnVlO1xuICAgIFxuICAgIHByaXZhdGUgX3N0YXRlVHlwZTogUGVwU2lkZUJhclN0YXRlVHlwZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBcbiAgICBzZXQgc3RhdGVUeXBlKHZhbHVlOiBQZXBTaWRlQmFyU3RhdGVUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZVR5cGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmKHZhbHVlKXtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHN0YXRlVHlwZSgpOiBQZXBTaWRlQmFyU3RhdGVUeXBlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlVHlwZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF91c2VBc1dlYkNvbXBvbmVudCA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FuaW1hdGlvblRpbWUgPSAzNTA7IC8vIG1pbGxpc2Vjb25kcy5cblxuICAgIHN0YXRlOiBQZXBTaWRlQmFyU3RhdGVUeXBlID0gJ29wZW4nO1xuICAgIHRvZ2dsZUJ1dHRvbkFycm93TmFtZTogc3RyaW5nID0gcGVwSWNvbkFycm93UmlnaHQubmFtZTtcbiAgICBpc0xhcmdlU2NyZWVuID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHVzZUFzV2ViQ29tcG9uZW50KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5leHBvcnRGdW5jdGlvbnNPbkhvc3RFbGVtZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHVzZUFzV2ViQ29tcG9uZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdXNlQXNXZWJDb21wb25lbnQ7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgc3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUGVwU2lkZUJhclN0YXRlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwU2lkZUJhclN0YXRlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdzaWRlbmF2Jykgc2lkZW5hdjogTWF0U2lkZW5hdjtcblxuICAgIGlzTW91c2VJbiA9IGZhbHNlO1xuICAgIHNpZGVCYXJIZWlnaHQgPSAnMTAwJSc7XG5cbiAgICBzY3JlZW5TaXplOiBQZXBTY3JlZW5TaXplVHlwZTtcbiAgICBQZXBTY3JlZW5TaXplVHlwZSA9IFBlcFNjcmVlblNpemVUeXBlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHVibGljIGxheW91dFNlcnZpY2U6IFBlcExheW91dFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLm9uUmVzaXplJC5zdWJzY3JpYmUoKHNpemU6IFBlcFNjcmVlblNpemVUeXBlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcmVlblNpemUgPSBzaXplO1xuICAgICAgICAgICAgdGhpcy5pc0xhcmdlU2NyZWVuID0gc2l6ZSA8IFBlcFNjcmVlblNpemVUeXBlLk1EO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cG9ydEZ1bmN0aW9uc09uSG9zdEVsZW1lbnQoKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgZm9yIHdlYiBjb21wb25lbnQgdXNhZ2UgZm9yIHVzZSB0aG9zZSBmdW5jdGlvbnMuXG4gICAgICAgIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5vcGVuID0gdGhpcy5vcGVuLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5jbG9zZSA9IHRoaXMuY2xvc2UuYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFN0YXRlKHN0YXRlOiBQZXBTaWRlQmFyU3RhdGVUeXBlKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgdGhpcy50b2dnbGVCdXR0b25BcnJvd05hbWUgPVxuICAgICAgICAgICAgLy8gc3RhdGUgPT09ICdvcGVuJyA/XG4gICAgICAgICAgICAvLyAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzUnRsKCkgPyBwZXBJY29uQXJyb3dSaWdodC5uYW1lIDogcGVwSWNvbkFycm93TGVmdC5uYW1lKSA6XG4gICAgICAgICAgICAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzUnRsKCkgfHwgdGhpcy5wb3NpdGlvbiA9PT0gJ2VuZCcgPyBwZXBJY29uQXJyb3dMZWZ0Lm5hbWUgOiBwZXBJY29uQXJyb3dSaWdodC5uYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZVN0YXRlKCkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHRoaXMuc3RhdGUgPT09ICdjbG9zZScgPyAnb3BlbicgOiAnY2xvc2UnKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFBlcFNpZGVCYXJDb21wb25lbnQuT05FX01VTFRJX0JZX0RJUl9LRVksIHRoaXMubGF5b3V0U2VydmljZS5pc1J0bCgpID8gJzEnIDogJy0xJyk7XG4gICAgICAgIGlmKCF0aGlzLnN0YXRlVHlwZSl7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHRoaXMuaXNMYXJnZVNjcmVlbiA/ICdvcGVuJyA6ICdjbG9zZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbigpIHtcbiAgICAgICAgaWYgKHRoaXMuc2lkZW5hdikge1xuICAgICAgICAgICAgdGhpcy5zaWRlbmF2Lm9wZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdGUgPSAnb3Blbic7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICh0aGlzLnNpZGVuYXYpIHtcbiAgICAgICAgICAgIHRoaXMuc2lkZW5hdi5jbG9zZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdGF0ZSA9ICdjbG9zZSc7XG4gICAgfVxuXG4gICAgdG9nZ2xlKCkge1xuICAgICAgICBpZiAodGhpcy5zaWRlbmF2KSB7XG4gICAgICAgICAgICAvLyBjb25zdCBpc09wZW4gPSB0aGlzLnNpZGVuYXYub3BlbmVkO1xuICAgICAgICAgICAgdGhpcy5zaWRlbmF2LnRvZ2dsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50b2dnbGVTdGF0ZSgpO1xuICAgIH1cblxuICAgIHRvZ2dsZVNpZGVXcmFwcGVyKCkge1xuICAgICAgICB0aGlzLnRvZ2dsZVN0YXRlKCk7XG4gICAgICAgIC8vIFJhaXNlIGV2ZW50IGFmdGVyIGFuaW1hdGlvbiBmaW5pc2guXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHsgc3RhdGU6IHRoaXMuc3RhdGUgfSk7XG4gICAgICAgIH0sIHRoaXMuX2FuaW1hdGlvblRpbWUpO1xuICAgIH1cblxuICAgIHRvZ2dsZVNpZGVuYXYoaXNPcGVuOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoaXNPcGVuID8gJ29wZW4nIDogJ2Nsb3NlJyk7XG4gICAgICAgIC8vIFJhaXNlIGV2ZW50IGFmdGVyIGFuaW1hdGlvbiBmaW5pc2guXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHsgc3RhdGU6IHRoaXMuc3RhdGUgfSk7XG4gICAgICAgIH0sIHRoaXMuX2FuaW1hdGlvblRpbWUpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwZXAtc2lkZS1iYXItY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGFyZ2VTY3JlZW4gfHwgaWdub3JlUmVzaXplOyB0aGVuIGxhcmdlU2NyZWVuc0Jsb2NrOyBlbHNlIG5vdExhcmdlU2NyZWVuc0Jsb2NrXCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNsYXJnZVNjcmVlbnNCbG9jaz5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRvZ2dsZS1zaWRlLWJhci1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7ICdpcy1vcGVuLXN0YXRlJzogIXNob3dUb2dnbGUgfHwgc3RhdGUgPT09ICdvcGVuJ31cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaWRlTGF5b3V0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0b2dnbGVCdXR0b25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm90TGFyZ2VTY3JlZW5zQmxvY2s+XG4gICAgICAgIDxtYXQtc2lkZW5hdi1jb250YWluZXIgW2hhc0JhY2tkcm9wXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxtYXQtc2lkZW5hdiAjc2lkZW5hdiBbcG9zaXRpb25dPVwicG9zaXRpb25cIiBtb2RlPVwib3ZlclwiIGF1dG9Gb2N1cz1cImZhbHNlXCIgZml4ZWRJblZpZXdwb3J0PVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIChvcGVuZWRDaGFuZ2UpPVwidG9nZ2xlU2lkZW5hdigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNpZGVMYXlvdXRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9tYXQtc2lkZW5hdj5cbiAgICAgICAgPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3RvZ2dsZUJ1dHRvblRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJ0b2dnbGUtYnV0dG9uLWJvcmRlclwiPjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cInNob3dUb2dnbGVcIiBjbGFzcz1cInRvZ2dsZS1idXR0b24gcGVwLWJ1dHRvbiB4cyByZWd1bGFyIGljb24tYnV0dG9uIFwiIChjbGljayk9XCJ0b2dnbGVTaWRlV3JhcHBlcigpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgIDxwZXAtaWNvbiBbbmFtZV09XCJ0b2dnbGVCdXR0b25BcnJvd05hbWVcIj5cbiAgICAgICAgICAgIDwvcGVwLWljb24+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NpZGVMYXlvdXRUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwic2lkZS1sYXlvdXRcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInNob3dIZWFkZXJcIiBjbGFzcz1cImhlYWRlci1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudCBwZXAtYm9yZGVyLWJvdHRvbSBib2R5LWxnIGVsbGlwc2lzXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0YXJ0Q29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpbHRlcnNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzbWFydEZpbHRlcnNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW5kQ29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaG93Rm9vdGVyXCIgY2xhc3M9XCJmb290ZXItY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQgcGVwLWJvcmRlci10b3AgYm9keS1sZyBlbGxpcHNpc1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuXG48bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltoZWFkZXItY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3N0YXJ0Q29udGVudFRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzdGFydC1jb250ZW50XVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZW5kQ29udGVudFRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlbmQtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ZpbHRlcnNUZW1wbGF0ZT5cblxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzbWFydEZpbHRlcnNUZW1wbGF0ZT5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwZXAtc21hcnQtZmlsdGVyc1wiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlci1jb250ZW50XVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+Il19
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9zaWRlLWJhci9zaWRlLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NpZGUtYmFyL3NpZGUtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsR0FHWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBR0gsaUJBQWlCLEdBQ3BCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7QUFRbkYsTUFBTSxPQUFPLG1CQUFtQjtJQWlENUIsWUFDWSxXQUF1QixFQUN2QixRQUFtQixFQUNwQixhQUErQjtRQUY5QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ3BCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQWpEakMsYUFBUSxHQUFvQixPQUFPLENBQUM7UUFDcEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFbkIsZUFBVSxHQUFvQyxTQUFTLENBQUM7UUFZeEQsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsR0FBRyxDQUFDLENBQUMsZ0JBQWdCO1FBRXZELFVBQUssR0FBd0IsTUFBTSxDQUFDO1FBQ3BDLDBCQUFxQixHQUFXLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUN2RCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQWFyQixnQkFBVyxH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Z0JBSUYsU0FBUztzQkFEWixLQUFLO2dCQW1CRixpQkFBaUI7c0JBRHBCLEtBQUs7Z0JBV04sV0FBVztzQkFEVixNQUFNO2dCQUdlLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBJbmplY3RhYmxlLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7XG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwTGF5b3V0U2VydmljZSxcbiAgICBQZXBTY3JlZW5TaXplVHlwZSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgSVBlcFNpZGVCYXJTdGF0ZUNoYW5nZUV2ZW50LCBQZXBTaWRlQmFyU3RhdGVUeXBlIH0gZnJvbSAnLi9zaWRlLWJhci5tb2RlbCc7XG5pbXBvcnQgeyBwZXBJY29uQXJyb3dMZWZ0LCBwZXBJY29uQXJyb3dSaWdodCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1zaWRlLWJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaWRlLWJhci5jb21wb25lbnQuc2NzcycsICcuL3NpZGUtYmFyLmNvbXBvbmVudC50aGVtZS5zY3NzJ11cbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVwU2lkZUJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgc3RhdGljIE9ORV9NVUxUSV9CWV9ESVJfS0VZID0gJy0tcGVwLW9uZS1tdWx0aS1ieS1kaXInO1xuXG4gICAgQElucHV0KCkgcG9zaXRpb246ICdzdGFydCcgfCAnZW5kJyA9ICdzdGFydCc7XG4gICAgQElucHV0KCkgaWdub3JlUmVzaXplID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd0hlYWRlciA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd0Zvb3RlciA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNob3dUb2dnbGUgPSB0cnVlO1xuICAgIFxuICAgIHByaXZhdGUgX3N0YXRlVHlwZTogUGVwU2lkZUJhclN0YXRlVHlwZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBcbiAgICBzZXQgc3RhdGVUeXBlKHZhbHVlOiBQZXBTaWRlQmFyU3RhdGVUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZVR5cGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmKHZhbHVlKXtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHN0YXRlVHlwZSgpOiBQZXBTaWRlQmFyU3RhdGVUeXBlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlVHlwZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF91c2VBc1dlYkNvbXBvbmVudCA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FuaW1hdGlvblRpbWUgPSAzNTA7IC8vIG1pbGxpc2Vjb25kcy5cblxuICAgIHN0YXRlOiBQZXBTaWRlQmFyU3RhdGVUeXBlID0gJ29wZW4nO1xuICAgIHRvZ2dsZUJ1dHRvbkFycm93TmFtZTogc3RyaW5nID0gcGVwSWNvbkFycm93UmlnaHQubmFtZTtcbiAgICBpc0xhcmdlU2NyZWVuID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHVzZUFzV2ViQ29tcG9uZW50KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5leHBvcnRGdW5jdGlvbnNPbkhvc3RFbGVtZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHVzZUFzV2ViQ29tcG9uZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdXNlQXNXZWJDb21wb25lbnQ7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgc3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUGVwU2lkZUJhclN0YXRlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwU2lkZUJhclN0YXRlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdzaWRlbmF2Jykgc2lkZW5hdjogTWF0U2lkZW5hdjtcblxuICAgIGlzTW91c2VJbiA9IGZhbHNlO1xuICAgIHNpZGVCYXJIZWlnaHQgPSAnMTAwJSc7XG5cbiAgICBzY3JlZW5TaXplOiBQZXBTY3JlZW5TaXplVHlwZTtcbiAgICBQZXBTY3JlZW5TaXplVHlwZSA9IFBlcFNjcmVlblNpemVUeXBlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHVibGljIGxheW91dFNlcnZpY2U6IFBlcExheW91dFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLm9uUmVzaXplJC5zdWJzY3JpYmUoKHNpemU6IFBlcFNjcmVlblNpemVUeXBlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcmVlblNpemUgPSBzaXplO1xuICAgICAgICAgICAgdGhpcy5pc0xhcmdlU2NyZWVuID0gc2l6ZSA8IFBlcFNjcmVlblNpemVUeXBlLk1EO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cG9ydEZ1bmN0aW9uc09uSG9zdEVsZW1lbnQoKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgZm9yIHdlYiBjb21wb25lbnQgdXNhZ2UgZm9yIHVzZSB0aG9zZSBmdW5jdGlvbnMuXG4gICAgICAgIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5vcGVuID0gdGhpcy5vcGVuLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5jbG9zZSA9IHRoaXMuY2xvc2UuYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFN0YXRlKHN0YXRlOiBQZXBTaWRlQmFyU3RhdGVUeXBlKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgdGhpcy50b2dnbGVCdXR0b25BcnJvd05hbWUgPVxuICAgICAgICAgICAgLy8gc3RhdGUgPT09ICdvcGVuJyA/XG4gICAgICAgICAgICAvLyAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzUnRsKCkgPyBwZXBJY29uQXJyb3dSaWdodC5uYW1lIDogcGVwSWNvbkFycm93TGVmdC5uYW1lKSA6XG4gICAgICAgICAgICAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzUnRsKCkgfHwgdGhpcy5wb3NpdGlvbiA9PT0gJ2VuZCcgPyBwZXBJY29uQXJyb3dMZWZ0Lm5hbWUgOiBwZXBJY29uQXJyb3dSaWdodC5uYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZVN0YXRlKCkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHRoaXMuc3RhdGUgPT09ICdjbG9zZScgPyAnb3BlbicgOiAnY2xvc2UnKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFBlcFNpZGVCYXJDb21wb25lbnQuT05FX01VTFRJX0JZX0RJUl9LRVksIHRoaXMubGF5b3V0U2VydmljZS5pc1J0bCgpID8gJzEnIDogJy0xJyk7XG4gICAgICAgIGlmKCF0aGlzLnN0YXRlVHlwZSl7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHRoaXMuaXNMYXJnZVNjcmVlbiA/ICdvcGVuJyA6ICdjbG9zZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbigpIHtcbiAgICAgICAgaWYgKHRoaXMuc2lkZW5hdikge1xuICAgICAgICAgICAgdGhpcy5zaWRlbmF2Lm9wZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdGUgPSAnb3Blbic7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICh0aGlzLnNpZGVuYXYpIHtcbiAgICAgICAgICAgIHRoaXMuc2lkZW5hdi5jbG9zZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdGF0ZSA9ICdjbG9zZSc7XG4gICAgfVxuXG4gICAgdG9nZ2xlKCkge1xuICAgICAgICBpZiAodGhpcy5zaWRlbmF2KSB7XG4gICAgICAgICAgICAvLyBjb25zdCBpc09wZW4gPSB0aGlzLnNpZGVuYXYub3BlbmVkO1xuICAgICAgICAgICAgdGhpcy5zaWRlbmF2LnRvZ2dsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50b2dnbGVTdGF0ZSgpO1xuICAgIH1cblxuICAgIHRvZ2dsZVNpZGVXcmFwcGVyKCkge1xuICAgICAgICB0aGlzLnRvZ2dsZVN0YXRlKCk7XG4gICAgICAgIC8vIFJhaXNlIGV2ZW50IGFmdGVyIGFuaW1hdGlvbiBmaW5pc2guXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyBcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh7IHN0YXRlOiB0aGlzLnN0YXRlIH0pO1xuICAgICAgICB9LCB0aGlzLl9hbmltYXRpb25UaW1lKTtcbiAgICB9XG5cbiAgICB0b2dnbGVTaWRlbmF2KGlzT3BlbjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldFN0YXRlKGlzT3BlbiA/ICdvcGVuJyA6ICdjbG9zZScpO1xuICAgICAgICAvLyBSYWlzZSBldmVudCBhZnRlciBhbmltYXRpb24gZmluaXNoLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh7IHN0YXRlOiB0aGlzLnN0YXRlIH0pO1xuICAgICAgICB9LCB0aGlzLl9hbmltYXRpb25UaW1lKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGVwLXNpZGUtYmFyLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xhcmdlU2NyZWVuIHx8IGlnbm9yZVJlc2l6ZTsgdGhlbiBsYXJnZVNjcmVlbnNCbG9jazsgZWxzZSBub3RMYXJnZVNjcmVlbnNCbG9ja1wiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbGFyZ2VTY3JlZW5zQmxvY2s+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b2dnbGUtc2lkZS1iYXItY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyAnaXMtb3Blbi1zdGF0ZSc6ICFzaG93VG9nZ2xlIHx8IHN0YXRlID09PSAnb3Blbid9XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2lkZUxheW91dFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9nZ2xlQnV0dG9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI25vdExhcmdlU2NyZWVuc0Jsb2NrPlxuICAgICAgICA8bWF0LXNpZGVuYXYtY29udGFpbmVyIFtoYXNCYWNrZHJvcF09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bWF0LXNpZGVuYXYgI3NpZGVuYXYgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCIgbW9kZT1cIm92ZXJcIiBhdXRvRm9jdXM9XCJmYWxzZVwiIGZpeGVkSW5WaWV3cG9ydD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAob3BlbmVkQ2hhbmdlKT1cInRvZ2dsZVNpZGVuYXYoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaWRlTGF5b3V0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbWF0LXNpZGVuYXY+XG4gICAgICAgIDwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN0b2dnbGVCdXR0b25UZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwidG9nZ2xlLWJ1dHRvbi1ib3JkZXJcIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCJzaG93VG9nZ2xlXCIgY2xhc3M9XCJ0b2dnbGUtYnV0dG9uIHBlcC1idXR0b24geHMgcmVndWxhciBpY29uLWJ1dHRvbiBcIiAoY2xpY2spPVwidG9nZ2xlU2lkZVdyYXBwZXIoKVwiPlxuICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICA8cGVwLWljb24gW25hbWVdPVwidG9nZ2xlQnV0dG9uQXJyb3dOYW1lXCI+XG4gICAgICAgICAgICA8L3BlcC1pY29uPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzaWRlTGF5b3V0VGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cInNpZGUtbGF5b3V0XCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaG93SGVhZGVyXCIgY2xhc3M9XCJoZWFkZXItY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQgcGVwLWJvcmRlci1ib3R0b20gYm9keS1sZyBlbGxpcHNpc1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdGFydENvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWx0ZXJzVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic21hcnRGaWx0ZXJzVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVuZENvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0Zvb3RlclwiIGNsYXNzPVwiZm9vdGVyLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50IHBlcC1ib3JkZXItdG9wIGJvZHktbGcgZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cblxuPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaGVhZGVyLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzdGFydENvbnRlbnRUZW1wbGF0ZT5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc3RhcnQtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2VuZENvbnRlbnRUZW1wbGF0ZT5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZW5kLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmaWx0ZXJzVGVtcGxhdGU+XG5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc21hcnRGaWx0ZXJzVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicGVwLXNtYXJ0LWZpbHRlcnNcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXItY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -80,7 +80,7 @@ class PepSelectComponent {
|
|
|
80
80
|
if (!value) {
|
|
81
81
|
value = [];
|
|
82
82
|
}
|
|
83
|
-
this._options = value;
|
|
83
|
+
this._options = this.sortOptions(value);
|
|
84
84
|
}
|
|
85
85
|
get options() {
|
|
86
86
|
return this._options;
|
|
@@ -105,6 +105,9 @@ class PepSelectComponent {
|
|
|
105
105
|
get emptyOption() {
|
|
106
106
|
return this._emptyOption;
|
|
107
107
|
}
|
|
108
|
+
sortOptions(options) {
|
|
109
|
+
return options.sort((n1, n2) => n1.value > n2.value ? 1 : n1.value < n2.value ? -1 : 0);
|
|
110
|
+
}
|
|
108
111
|
addOptionsIfNeeded() {
|
|
109
112
|
if (this.addValueToOptionsIfNotExist) {
|
|
110
113
|
if (this.isMulti) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-lib-select.mjs","sources":["../../../projects/ngx-lib/select/select.component.ts","../../../projects/ngx-lib/select/select.component.html","../../../projects/ngx-lib/select/select.module.ts","../../../projects/ngx-lib/select/public-api.ts","../../../projects/ngx-lib/select/pepperi-addons-ngx-lib-select.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n ChangeDetectionStrategy,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatSelect } from '@angular/material/select';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepSelectFieldType,\n PepSelectField,\n IPepOption,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss', './select.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSelectComponent implements OnChanges, OnInit, OnDestroy {\n @Input() key = '';\n \n private _value = '';\n @Input()\n set value(value: string) {\n if (!value) {\n value = '';\n }\n\n this._value = value;\n }\n get value(): string {\n return this._value;\n }\n\n @Input() label = '';\n @Input() type: PepSelectFieldType = 'select';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n @Input() rowSpan = 1;\n \n private _placeholder = ''\n private _placeholderSet = false;\n @Input() \n set placeholder(value: string) {\n this._placeholder = value;\n this._placeholderSet = true;\n }\n get placeholder(): string {\n return this._placeholder;\n }\n \n @Input() placeholderWhenDisabled = '';\n\n private _options: Array<IPepOption> = [];\n @Input() \n set options(value: Array<IPepOption>) {\n if (!value) {\n value = [];\n }\n \n this._options = value;\n }\n get options(): Array<IPepOption> {\n return this._options;\n }\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n private _emptyOption = true;\n @Input() \n set emptyOption(val: boolean) {\n if (val !== undefined) {\n this._emptyOption = val;\n } \n } \n get emptyOption() {\n return this._emptyOption;\n }\n\n controlType = 'select';\n\n // @Input() field: PepFieldBase;\n @Input() form: FormGroup = null;\n @Input() layoutType: PepLayoutType = 'form';\n @Input() parentFieldKey: string = null;\n @Input() isActive = false;\n @Input() showTitle = true; \n\n @Input() renderTitle = true;\n @Input() typeaheadDebounceInterval = 1000;\n \n @Input() addValueToOptionsIfNotExist = true;\n\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n // @Output()\n // formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('select') select: MatSelect;\n\n standAlone = false;\n isInEditMode = false;\n isMulti = false;\n selectedValuesModel: string[];\n selectedValueModel: string;\n fieldFormattedValue = '';\n\n constructor(\n private translate: TranslateService,\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n private addOptionsIfNeeded(): void {\n if (this.addValueToOptionsIfNotExist) {\n if (this.isMulti) {\n // Go gor all selected and add to options if not exist\n // for (let i = 0; i < this.selectedValuesModel.length; i++) {\n for (const selectedValue of this.selectedValuesModel) {\n let valueNotExist = false;\n \n if (\n this.options &&\n !this.options.find((opt) => opt.key === selectedValue)\n ) {\n valueNotExist = true;\n }\n \n // Add it to options.\n if (valueNotExist) {\n this.options.push({\n key: selectedValue,\n value: selectedValue,\n });\n }\n }\n } else {\n if (\n this.value &&\n this.value !== '' &&\n this.options &&\n !this.options.find((opt) => opt.key === this.value)\n ) {\n this.options.push({ key: this.value, value: this.value });\n }\n }\n }\n }\n\n private setFieldFormattedValue(value: any): void {\n if (this.isMulti) {\n if (this.selectedValuesModel.length > 0) {\n this.fieldFormattedValue = this.selectedValuesModel\n .map((value) => {\n return this.options.find((opt) => opt.key === value)\n ?.value;\n })\n .join(', ');\n } else {\n this.fieldFormattedValue = '';\n }\n\n // this.fieldFormattedValue = typeof value === 'string' ? value.replace(new RegExp(';', 'g'), ', ') : '';\n } else {\n const selectedOpt = this.options.find((opt) => opt.key === value);\n\n // fix DI-19371 - can't select none as option : avner\n this.fieldFormattedValue = selectedOpt ? selectedOpt.value : '';\n\n }\n }\n\n private setDefaultForm(): void {\n const pepField = new PepSelectField({\n key: this.key,\n value: this.value,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n\n // Set default placeholder if not set.\n if (!this._placeholderSet) {\n this.translate.get('SELECT.HINT').subscribe((res) => {\n this.placeholder = res;\n });\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n this.isMulti = this.type === 'multi';\n if (this.isMulti) {\n this.selectedValuesModel =\n this.value.length > 0 ? this.value.split(';') : [];\n } else {\n this.selectedValueModel = this.value;\n }\n\n this.addOptionsIfNeeded();\n this.setFieldFormattedValue(this.value);\n }\n\n ngOnDestroy(): void {\n //\n }\n\n selectionChange(event: any): void {\n if (!this.isMulti) {\n this.changeValue(this.selectedValueModel);\n }\n }\n\n openedChange(event: any): void {\n // Only on close.\n if (!event) {\n if (this.isMulti) {\n this.changeValue(this.selectedValuesModel.join(';'));\n }\n\n if (this.isInEditMode) {\n this.isInEditMode = false;\n }\n }\n }\n\n changeValue(value: any): void {\n this.setFieldFormattedValue(value);\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n // value,\n this.fieldFormattedValue,\n this.parentFieldKey\n );\n\n if (this.mandatory) {\n const fieldControl = this.form.controls[this.key];\n if (value) {\n fieldControl.setErrors(null);\n } else {\n fieldControl.setErrors({\n serverError: 'Required',\n });\n }\n // this.formValidationChange.emit(this.form.valid);\n }\n\n this.valueChange.emit(value);\n }\n\n cardTemplateClicked(event: any): void {\n this.isInEditMode = true;\n\n setTimeout(() => {\n this.select.open();\n }, 0);\n }\n}\n","<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate>\n <ng-container *ngIf=\"type == 'multi'; then multiSelectBlock; else regularSelectBlock\"></ng-container>\n <ng-template #regularSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\" (click)=\"select.open()\">\n <mat-select #select [required]=\"mandatory ? mandatory : undefined\" disableOptionCentering\n class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\" [typeaheadDebounceInterval]=\"typeaheadDebounceInterval\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? placeholderWhenDisabled : placeholder\"\n [(ngModel)]=\"selectedValueModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled\"\n (selectionChange)=\"selectionChange($event)\" (openedChange)=\"openedChange($event)\"\n title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngIf=\"emptyOption\" value=\"\" [title]=\"'LIST.NONE' | translate\">{{ 'LIST.NONE' |\n translate }}</mat-option>\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error>\n <span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n <ng-template #multiSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\" (click)=\"select.open()\">\n <mat-select #select multiple [required]=\"mandatory ? mandatory : undefined\"\n disableOptionCentering class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\" [typeaheadDebounceInterval]=\"typeaheadDebounceInterval\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? placeholderWhenDisabled : placeholder\"\n [(ngModel)]=\"selectedValuesModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled || readonly\"\n (openedChange)=\"openedChange($event)\" title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error><span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"> </span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title *ngIf=\"!parentFieldKey && renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\"\n [ngClass]=\"{'one-row': rowSpan === 1, 'pep-button weak': isActive && !disabled}\"\n [class]=\"'text-align-' + xAlignment\" (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }} </span>\n <span [id]=\"key\" title=\"{{ fieldFormattedValue }}\" class=\"body-sm value\">{{ fieldFormattedValue\n }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{readonly: disabled}\"\n title=\"{{ fieldFormattedValue }}\">{{ fieldFormattedValue }}</span>\n </ng-template>\n </ng-container>\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\n\nimport { PepSelectComponent } from './select.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n // Material modules\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatSelectModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n ],\n exports: [PepSelectComponent],\n declarations: [PepSelectComponent],\n})\nexport class PepSelectModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([pepIconSystemEdit]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/select\n */\nexport * from './select.module';\nexport * from './select.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i11","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-lib-select.mjs","sources":["../../../projects/ngx-lib/select/select.component.ts","../../../projects/ngx-lib/select/select.component.html","../../../projects/ngx-lib/select/select.module.ts","../../../projects/ngx-lib/select/public-api.ts","../../../projects/ngx-lib/select/pepperi-addons-ngx-lib-select.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n ChangeDetectionStrategy,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatSelect } from '@angular/material/select';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepSelectFieldType,\n PepSelectField,\n IPepOption,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss', './select.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSelectComponent implements OnChanges, OnInit, OnDestroy {\n @Input() key = '';\n \n private _value = '';\n @Input()\n set value(value: string) {\n if (!value) {\n value = '';\n }\n\n this._value = value;\n }\n get value(): string {\n return this._value;\n }\n\n @Input() label = '';\n @Input() type: PepSelectFieldType = 'select';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n @Input() rowSpan = 1;\n \n private _placeholder = ''\n private _placeholderSet = false;\n @Input() \n set placeholder(value: string) {\n this._placeholder = value;\n this._placeholderSet = true;\n }\n get placeholder(): string {\n return this._placeholder;\n }\n \n @Input() placeholderWhenDisabled = '';\n\n private _options: Array<IPepOption> = [];\n @Input() \n set options(value: Array<IPepOption>) {\n if (!value) {\n value = [];\n }\n \n this._options = this.sortOptions(value);\n }\n get options(): Array<IPepOption> {\n return this._options;\n }\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n private _emptyOption = true;\n @Input() \n set emptyOption(val: boolean) {\n if (val !== undefined) {\n this._emptyOption = val;\n } \n } \n get emptyOption() {\n return this._emptyOption;\n }\n\n controlType = 'select';\n\n // @Input() field: PepFieldBase;\n @Input() form: FormGroup = null;\n @Input() layoutType: PepLayoutType = 'form';\n @Input() parentFieldKey: string = null;\n @Input() isActive = false;\n @Input() showTitle = true; \n\n @Input() renderTitle = true;\n @Input() typeaheadDebounceInterval = 1000;\n \n @Input() addValueToOptionsIfNotExist = true;\n\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n // @Output()\n // formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('select') select: MatSelect;\n\n standAlone = false;\n isInEditMode = false;\n isMulti = false;\n selectedValuesModel: string[];\n selectedValueModel: string;\n fieldFormattedValue = '';\n\n constructor(\n private translate: TranslateService,\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n private sortOptions(options: Array<IPepOption>): Array<IPepOption> {\n return options.sort((n1, n2) =>\n n1.value > n2.value ? 1 : n1.value < n2.value ? -1 : 0\n );\n }\n\n private addOptionsIfNeeded(): void {\n if (this.addValueToOptionsIfNotExist) {\n if (this.isMulti) {\n // Go gor all selected and add to options if not exist\n // for (let i = 0; i < this.selectedValuesModel.length; i++) {\n for (const selectedValue of this.selectedValuesModel) {\n let valueNotExist = false;\n \n if (\n this.options &&\n !this.options.find((opt) => opt.key === selectedValue)\n ) {\n valueNotExist = true;\n }\n \n // Add it to options.\n if (valueNotExist) {\n this.options.push({\n key: selectedValue,\n value: selectedValue,\n });\n }\n }\n } else {\n if (\n this.value &&\n this.value !== '' &&\n this.options &&\n !this.options.find((opt) => opt.key === this.value)\n ) {\n this.options.push({ key: this.value, value: this.value });\n }\n }\n }\n }\n\n private setFieldFormattedValue(value: any): void {\n if (this.isMulti) {\n if (this.selectedValuesModel.length > 0) {\n this.fieldFormattedValue = this.selectedValuesModel\n .map((value) => {\n return this.options.find((opt) => opt.key === value)\n ?.value;\n })\n .join(', ');\n } else {\n this.fieldFormattedValue = '';\n }\n\n // this.fieldFormattedValue = typeof value === 'string' ? value.replace(new RegExp(';', 'g'), ', ') : '';\n } else {\n const selectedOpt = this.options.find((opt) => opt.key === value);\n\n // fix DI-19371 - can't select none as option : avner\n this.fieldFormattedValue = selectedOpt ? selectedOpt.value : '';\n\n }\n }\n\n private setDefaultForm(): void {\n const pepField = new PepSelectField({\n key: this.key,\n value: this.value,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n\n // Set default placeholder if not set.\n if (!this._placeholderSet) {\n this.translate.get('SELECT.HINT').subscribe((res) => {\n this.placeholder = res;\n });\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n this.isMulti = this.type === 'multi';\n if (this.isMulti) {\n this.selectedValuesModel =\n this.value.length > 0 ? this.value.split(';') : [];\n } else {\n this.selectedValueModel = this.value;\n }\n\n this.addOptionsIfNeeded();\n this.setFieldFormattedValue(this.value);\n }\n\n ngOnDestroy(): void {\n //\n }\n\n selectionChange(event: any): void {\n if (!this.isMulti) {\n this.changeValue(this.selectedValueModel);\n }\n }\n\n openedChange(event: any): void {\n // Only on close.\n if (!event) {\n if (this.isMulti) {\n this.changeValue(this.selectedValuesModel.join(';'));\n }\n\n if (this.isInEditMode) {\n this.isInEditMode = false;\n }\n }\n }\n\n changeValue(value: any): void {\n this.setFieldFormattedValue(value);\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n // value,\n this.fieldFormattedValue,\n this.parentFieldKey\n );\n\n if (this.mandatory) {\n const fieldControl = this.form.controls[this.key];\n if (value) {\n fieldControl.setErrors(null);\n } else {\n fieldControl.setErrors({\n serverError: 'Required',\n });\n }\n // this.formValidationChange.emit(this.form.valid);\n }\n\n this.valueChange.emit(value);\n }\n\n cardTemplateClicked(event: any): void {\n this.isInEditMode = true;\n\n setTimeout(() => {\n this.select.open();\n }, 0);\n }\n}\n","<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate>\n <ng-container *ngIf=\"type == 'multi'; then multiSelectBlock; else regularSelectBlock\"></ng-container>\n <ng-template #regularSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\" (click)=\"select.open()\">\n <mat-select #select [required]=\"mandatory ? mandatory : undefined\" disableOptionCentering\n class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\" [typeaheadDebounceInterval]=\"typeaheadDebounceInterval\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? placeholderWhenDisabled : placeholder\"\n [(ngModel)]=\"selectedValueModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled\"\n (selectionChange)=\"selectionChange($event)\" (openedChange)=\"openedChange($event)\"\n title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngIf=\"emptyOption\" value=\"\" [title]=\"'LIST.NONE' | translate\">{{ 'LIST.NONE' |\n translate }}</mat-option>\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error>\n <span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n <ng-template #multiSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\" (click)=\"select.open()\">\n <mat-select #select multiple [required]=\"mandatory ? mandatory : undefined\"\n disableOptionCentering class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\" [typeaheadDebounceInterval]=\"typeaheadDebounceInterval\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? placeholderWhenDisabled : placeholder\"\n [(ngModel)]=\"selectedValuesModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled || readonly\"\n (openedChange)=\"openedChange($event)\" title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error><span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"> </span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title *ngIf=\"!parentFieldKey && renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\"\n [ngClass]=\"{'one-row': rowSpan === 1, 'pep-button weak': isActive && !disabled}\"\n [class]=\"'text-align-' + xAlignment\" (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }} </span>\n <span [id]=\"key\" title=\"{{ fieldFormattedValue }}\" class=\"body-sm value\">{{ fieldFormattedValue\n }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{readonly: disabled}\"\n title=\"{{ fieldFormattedValue }}\">{{ fieldFormattedValue }}</span>\n </ng-template>\n </ng-container>\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\n\nimport { PepSelectComponent } from './select.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n // Material modules\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatSelectModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n ],\n exports: [PepSelectComponent],\n declarations: [PepSelectComponent],\n})\nexport class PepSelectModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([pepIconSystemEdit]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/select\n */\nexport * from './select.module';\nexport * from './select.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i11","i1"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-lib-side-bar.mjs","sources":["../../../projects/ngx-lib/side-bar/side-bar.component.ts","../../../projects/ngx-lib/side-bar/side-bar.component.html","../../../projects/ngx-lib/side-bar/side-bar.module.ts","../../../projects/ngx-lib/side-bar/public-api.ts","../../../projects/ngx-lib/side-bar/pepperi-addons-ngx-lib-side-bar.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n Injectable,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n Renderer2,\n} from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport {\n PepCustomizationService,\n PepLayoutService,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\nimport { IPepSideBarStateChangeEvent, PepSideBarStateType } from './side-bar.model';\nimport { pepIconArrowLeft, pepIconArrowRight } from '@pepperi-addons/ngx-lib/icon';\n\n@Component({\n selector: 'pep-side-bar',\n templateUrl: './side-bar.component.html',\n styleUrls: ['./side-bar.component.scss', './side-bar.component.theme.scss']\n})\n@Injectable()\nexport class PepSideBarComponent implements OnInit {\n static ONE_MULTI_BY_DIR_KEY = '--pep-one-multi-by-dir';\n\n @Input() position: 'start' | 'end' = 'start';\n @Input() ignoreResize = false;\n @Input() showHeader = true;\n @Input() showFooter = false;\n @Input() showToggle = true;\n \n private _stateType: PepSideBarStateType | undefined = undefined;\n @Input() \n set stateType(value: PepSideBarStateType | undefined) {\n this._stateType = value;\n if(value){\n this.setState(value);\n }\n }\n get stateType(): PepSideBarStateType | undefined {\n return this._stateType;\n }\n\n private _useAsWebComponent = false;\n private readonly _animationTime = 350; // milliseconds.\n\n state: PepSideBarStateType = 'open';\n toggleButtonArrowName: string = pepIconArrowRight.name;\n isLargeScreen = true;\n\n @Input()\n set useAsWebComponent(value: boolean) {\n if (value) {\n this.exportFunctionsOnHostElement();\n }\n }\n get useAsWebComponent(): boolean {\n return this._useAsWebComponent;\n }\n\n @Output()\n stateChange: EventEmitter<IPepSideBarStateChangeEvent> = new EventEmitter<IPepSideBarStateChangeEvent>();\n\n @ViewChild('sidenav') sidenav: MatSidenav;\n\n isMouseIn = false;\n sideBarHeight = '100%';\n\n screenSize: PepScreenSizeType;\n PepScreenSizeType = PepScreenSizeType;\n\n constructor(\n private hostElement: ElementRef,\n private renderer: Renderer2,\n public layoutService: PepLayoutService\n ) {\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\n this.screenSize = size;\n this.isLargeScreen = size < PepScreenSizeType.MD;\n });\n }\n\n private exportFunctionsOnHostElement() {\n // This is for web component usage for use those functions.\n this.hostElement.nativeElement.open = this.open.bind(this);\n this.hostElement.nativeElement.close = this.close.bind(this);\n }\n\n private setState(state: PepSideBarStateType) {\n this.state = state;\n this.toggleButtonArrowName =\n // state === 'open' ?\n // (this.layoutService.isRtl() ? pepIconArrowRight.name : pepIconArrowLeft.name) :\n (this.layoutService.isRtl() || this.position === 'end' ? pepIconArrowLeft.name : pepIconArrowRight.name);\n }\n\n private toggleState() {\n this.setState(this.state === 'close' ? 'open' : 'close');\n }\n\n ngOnInit() {\n document.documentElement.style.setProperty(PepSideBarComponent.ONE_MULTI_BY_DIR_KEY, this.layoutService.isRtl() ? '1' : '-1');\n if(!this.stateType){\n this.setState(this.isLargeScreen ? 'open' : 'close');\n }\n }\n\n open() {\n if (this.sidenav) {\n this.sidenav.open();\n }\n\n this.state = 'open';\n }\n\n close() {\n if (this.sidenav) {\n this.sidenav.close();\n }\n\n this.state = 'close';\n }\n\n toggle() {\n if (this.sidenav) {\n // const isOpen = this.sidenav.opened;\n this.sidenav.toggle();\n }\n\n this.toggleState();\n }\n\n toggleSideWrapper() {\n this.toggleState();\n // Raise event after animation finish.\n setTimeout(() => {\n this.stateChange.emit({ state: this.state });\n }, this._animationTime);\n }\n\n toggleSidenav(isOpen: boolean) {\n this.setState(isOpen ? 'open' : 'close');\n // Raise event after animation finish.\n setTimeout(() => {\n this.stateChange.emit({ state: this.state });\n }, this._animationTime);\n }\n}\n","<div class=\"pep-side-bar-container\">\n <ng-container *ngIf=\"isLargeScreen || ignoreResize; then largeScreensBlock; else notLargeScreensBlock\">\n </ng-container>\n <ng-template #largeScreensBlock>\n <div class=\"toggle-side-bar-container\" [ngClass]=\"{ 'is-open-state': !showToggle || state === 'open'}\">\n <ng-container *ngTemplateOutlet=\"sideLayoutTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"toggleButtonTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notLargeScreensBlock>\n <mat-sidenav-container [hasBackdrop]=\"true\">\n <mat-sidenav #sidenav [position]=\"position\" mode=\"over\" autoFocus=\"false\" fixedInViewport=\"false\"\n (openedChange)=\"toggleSidenav($event)\">\n <ng-container *ngTemplateOutlet=\"sideLayoutTemplate\"></ng-container>\n </mat-sidenav>\n </mat-sidenav-container>\n </ng-template>\n</div>\n\n<ng-template #toggleButtonTemplate>\n <div class=\"toggle-button-border\"></div>\n <button mat-button *ngIf=\"showToggle\" class=\"toggle-button pep-button xs regular icon-button \" (click)=\"toggleSideWrapper()\">\n <mat-icon>\n <pep-icon [name]=\"toggleButtonArrowName\">\n </pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n\n<ng-template #sideLayoutTemplate>\n <div class=\"side-layout\">\n <div *ngIf=\"showHeader\" class=\"header-content\">\n <div class=\"content pep-border-bottom body-lg ellipsis\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n </div>\n <div class=\"main-content\">\n <div class=\"content\">\n <ng-container *ngTemplateOutlet=\"startContentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filtersTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"smartFiltersTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"endContentTemplate\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"showFooter\" class=\"footer-content\">\n <div class=\"content pep-border-top body-lg ellipsis\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n<ng-template #headerTemplate>\n <ng-content select=\"[header-content]\"></ng-content>\n</ng-template>\n\n<ng-template #startContentTemplate>\n <ng-content select=\"[start-content]\"></ng-content>\n</ng-template>\n\n<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #endContentTemplate>\n <ng-content select=\"[end-content]\"></ng-content>\n</ng-template>\n\n<ng-template #filtersTemplate>\n\n</ng-template>\n\n<ng-template #smartFiltersTemplate>\n <ng-content select=\"pep-smart-filters\"></ng-content>\n</ng-template>\n\n<ng-template #footerTemplate>\n <ng-content select=\"[footer-content]\"></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSidenavModule } from '@angular/material/sidenav';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemClose,\n pepIconArrowLeft,\n pepIconArrowRight,\n} from '@pepperi-addons/ngx-lib/icon';\n\nimport { PepSideBarComponent } from './side-bar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n // Material modules,\n MatCommonModule,\n MatIconModule,\n MatSidenavModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n ],\n exports: [PepSideBarComponent],\n declarations: [PepSideBarComponent],\n})\nexport class PepSideBarModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemClose,\n pepIconArrowLeft,\n pepIconArrowRight,]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/side-bar\n */\nexport * from './side-bar.module';\nexport * from './side-bar.component';\nexport * from './side-bar.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-lib-side-bar.mjs","sources":["../../../projects/ngx-lib/side-bar/side-bar.component.ts","../../../projects/ngx-lib/side-bar/side-bar.component.html","../../../projects/ngx-lib/side-bar/side-bar.module.ts","../../../projects/ngx-lib/side-bar/public-api.ts","../../../projects/ngx-lib/side-bar/pepperi-addons-ngx-lib-side-bar.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n Injectable,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n Renderer2,\n} from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport {\n PepCustomizationService,\n PepLayoutService,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\nimport { IPepSideBarStateChangeEvent, PepSideBarStateType } from './side-bar.model';\nimport { pepIconArrowLeft, pepIconArrowRight } from '@pepperi-addons/ngx-lib/icon';\n\n@Component({\n selector: 'pep-side-bar',\n templateUrl: './side-bar.component.html',\n styleUrls: ['./side-bar.component.scss', './side-bar.component.theme.scss']\n})\n@Injectable()\nexport class PepSideBarComponent implements OnInit {\n static ONE_MULTI_BY_DIR_KEY = '--pep-one-multi-by-dir';\n\n @Input() position: 'start' | 'end' = 'start';\n @Input() ignoreResize = false;\n @Input() showHeader = true;\n @Input() showFooter = false;\n @Input() showToggle = true;\n \n private _stateType: PepSideBarStateType | undefined = undefined;\n @Input() \n set stateType(value: PepSideBarStateType | undefined) {\n this._stateType = value;\n if(value){\n this.setState(value);\n }\n }\n get stateType(): PepSideBarStateType | undefined {\n return this._stateType;\n }\n\n private _useAsWebComponent = false;\n private readonly _animationTime = 350; // milliseconds.\n\n state: PepSideBarStateType = 'open';\n toggleButtonArrowName: string = pepIconArrowRight.name;\n isLargeScreen = true;\n\n @Input()\n set useAsWebComponent(value: boolean) {\n if (value) {\n this.exportFunctionsOnHostElement();\n }\n }\n get useAsWebComponent(): boolean {\n return this._useAsWebComponent;\n }\n\n @Output()\n stateChange: EventEmitter<IPepSideBarStateChangeEvent> = new EventEmitter<IPepSideBarStateChangeEvent>();\n\n @ViewChild('sidenav') sidenav: MatSidenav;\n\n isMouseIn = false;\n sideBarHeight = '100%';\n\n screenSize: PepScreenSizeType;\n PepScreenSizeType = PepScreenSizeType;\n\n constructor(\n private hostElement: ElementRef,\n private renderer: Renderer2,\n public layoutService: PepLayoutService\n ) {\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\n this.screenSize = size;\n this.isLargeScreen = size < PepScreenSizeType.MD;\n });\n }\n\n private exportFunctionsOnHostElement() {\n // This is for web component usage for use those functions.\n this.hostElement.nativeElement.open = this.open.bind(this);\n this.hostElement.nativeElement.close = this.close.bind(this);\n }\n\n private setState(state: PepSideBarStateType) {\n this.state = state;\n this.toggleButtonArrowName =\n // state === 'open' ?\n // (this.layoutService.isRtl() ? pepIconArrowRight.name : pepIconArrowLeft.name) :\n (this.layoutService.isRtl() || this.position === 'end' ? pepIconArrowLeft.name : pepIconArrowRight.name);\n }\n\n private toggleState() {\n this.setState(this.state === 'close' ? 'open' : 'close');\n }\n\n ngOnInit() {\n document.documentElement.style.setProperty(PepSideBarComponent.ONE_MULTI_BY_DIR_KEY, this.layoutService.isRtl() ? '1' : '-1');\n if(!this.stateType){\n this.setState(this.isLargeScreen ? 'open' : 'close');\n }\n }\n\n open() {\n if (this.sidenav) {\n this.sidenav.open();\n }\n\n this.state = 'open';\n }\n\n close() {\n if (this.sidenav) {\n this.sidenav.close();\n }\n\n this.state = 'close';\n }\n\n toggle() {\n if (this.sidenav) {\n // const isOpen = this.sidenav.opened;\n this.sidenav.toggle();\n }\n\n this.toggleState();\n }\n\n toggleSideWrapper() {\n this.toggleState();\n // Raise event after animation finish.\n setTimeout(() => { \n this.stateChange.emit({ state: this.state });\n }, this._animationTime);\n }\n\n toggleSidenav(isOpen: boolean) {\n this.setState(isOpen ? 'open' : 'close');\n // Raise event after animation finish.\n setTimeout(() => {\n this.stateChange.emit({ state: this.state });\n }, this._animationTime);\n }\n}\n","<div class=\"pep-side-bar-container\">\n <ng-container *ngIf=\"isLargeScreen || ignoreResize; then largeScreensBlock; else notLargeScreensBlock\">\n </ng-container>\n <ng-template #largeScreensBlock>\n <div class=\"toggle-side-bar-container\" [ngClass]=\"{ 'is-open-state': !showToggle || state === 'open'}\">\n <ng-container *ngTemplateOutlet=\"sideLayoutTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"toggleButtonTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notLargeScreensBlock>\n <mat-sidenav-container [hasBackdrop]=\"true\">\n <mat-sidenav #sidenav [position]=\"position\" mode=\"over\" autoFocus=\"false\" fixedInViewport=\"false\"\n (openedChange)=\"toggleSidenav($event)\">\n <ng-container *ngTemplateOutlet=\"sideLayoutTemplate\"></ng-container>\n </mat-sidenav>\n </mat-sidenav-container>\n </ng-template>\n</div>\n\n<ng-template #toggleButtonTemplate>\n <div class=\"toggle-button-border\"></div>\n <button mat-button *ngIf=\"showToggle\" class=\"toggle-button pep-button xs regular icon-button \" (click)=\"toggleSideWrapper()\">\n <mat-icon>\n <pep-icon [name]=\"toggleButtonArrowName\">\n </pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n\n<ng-template #sideLayoutTemplate>\n <div class=\"side-layout\">\n <div *ngIf=\"showHeader\" class=\"header-content\">\n <div class=\"content pep-border-bottom body-lg ellipsis\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n </div>\n <div class=\"main-content\">\n <div class=\"content\">\n <ng-container *ngTemplateOutlet=\"startContentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filtersTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"smartFiltersTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"endContentTemplate\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"showFooter\" class=\"footer-content\">\n <div class=\"content pep-border-top body-lg ellipsis\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n<ng-template #headerTemplate>\n <ng-content select=\"[header-content]\"></ng-content>\n</ng-template>\n\n<ng-template #startContentTemplate>\n <ng-content select=\"[start-content]\"></ng-content>\n</ng-template>\n\n<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #endContentTemplate>\n <ng-content select=\"[end-content]\"></ng-content>\n</ng-template>\n\n<ng-template #filtersTemplate>\n\n</ng-template>\n\n<ng-template #smartFiltersTemplate>\n <ng-content select=\"pep-smart-filters\"></ng-content>\n</ng-template>\n\n<ng-template #footerTemplate>\n <ng-content select=\"[footer-content]\"></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSidenavModule } from '@angular/material/sidenav';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemClose,\n pepIconArrowLeft,\n pepIconArrowRight,\n} from '@pepperi-addons/ngx-lib/icon';\n\nimport { PepSideBarComponent } from './side-bar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n // Material modules,\n MatCommonModule,\n MatIconModule,\n MatSidenavModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n ],\n exports: [PepSideBarComponent],\n declarations: [PepSideBarComponent],\n})\nexport class PepSideBarModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemClose,\n pepIconArrowLeft,\n pepIconArrowRight,]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/side-bar\n */\nexport * from './side-bar.module';\nexport * from './side-bar.component';\nexport * from './side-bar.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5","i1"],"mappings":"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"}
|
|
@@ -80,7 +80,7 @@ class PepSelectComponent {
|
|
|
80
80
|
if (!value) {
|
|
81
81
|
value = [];
|
|
82
82
|
}
|
|
83
|
-
this._options = value;
|
|
83
|
+
this._options = this.sortOptions(value);
|
|
84
84
|
}
|
|
85
85
|
get options() {
|
|
86
86
|
return this._options;
|
|
@@ -105,6 +105,9 @@ class PepSelectComponent {
|
|
|
105
105
|
get emptyOption() {
|
|
106
106
|
return this._emptyOption;
|
|
107
107
|
}
|
|
108
|
+
sortOptions(options) {
|
|
109
|
+
return options.sort((n1, n2) => n1.value > n2.value ? 1 : n1.value < n2.value ? -1 : 0);
|
|
110
|
+
}
|
|
108
111
|
addOptionsIfNeeded() {
|
|
109
112
|
if (this.addValueToOptionsIfNotExist) {
|
|
110
113
|
if (this.isMulti) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-lib-select.mjs","sources":["../../../projects/ngx-lib/select/select.component.ts","../../../projects/ngx-lib/select/select.component.html","../../../projects/ngx-lib/select/select.module.ts","../../../projects/ngx-lib/select/public-api.ts","../../../projects/ngx-lib/select/pepperi-addons-ngx-lib-select.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n ChangeDetectionStrategy,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatSelect } from '@angular/material/select';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepSelectFieldType,\n PepSelectField,\n IPepOption,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss', './select.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSelectComponent implements OnChanges, OnInit, OnDestroy {\n @Input() key = '';\n \n private _value = '';\n @Input()\n set value(value: string) {\n if (!value) {\n value = '';\n }\n\n this._value = value;\n }\n get value(): string {\n return this._value;\n }\n\n @Input() label = '';\n @Input() type: PepSelectFieldType = 'select';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n @Input() rowSpan = 1;\n \n private _placeholder = ''\n private _placeholderSet = false;\n @Input() \n set placeholder(value: string) {\n this._placeholder = value;\n this._placeholderSet = true;\n }\n get placeholder(): string {\n return this._placeholder;\n }\n \n @Input() placeholderWhenDisabled = '';\n\n private _options: Array<IPepOption> = [];\n @Input() \n set options(value: Array<IPepOption>) {\n if (!value) {\n value = [];\n }\n \n this._options = value;\n }\n get options(): Array<IPepOption> {\n return this._options;\n }\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n private _emptyOption = true;\n @Input() \n set emptyOption(val: boolean) {\n if (val !== undefined) {\n this._emptyOption = val;\n } \n } \n get emptyOption() {\n return this._emptyOption;\n }\n\n controlType = 'select';\n\n // @Input() field: PepFieldBase;\n @Input() form: FormGroup = null;\n @Input() layoutType: PepLayoutType = 'form';\n @Input() parentFieldKey: string = null;\n @Input() isActive = false;\n @Input() showTitle = true; \n\n @Input() renderTitle = true;\n @Input() typeaheadDebounceInterval = 1000;\n \n @Input() addValueToOptionsIfNotExist = true;\n\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n // @Output()\n // formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('select') select: MatSelect;\n\n standAlone = false;\n isInEditMode = false;\n isMulti = false;\n selectedValuesModel: string[];\n selectedValueModel: string;\n fieldFormattedValue = '';\n\n constructor(\n private translate: TranslateService,\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n private addOptionsIfNeeded(): void {\n if (this.addValueToOptionsIfNotExist) {\n if (this.isMulti) {\n // Go gor all selected and add to options if not exist\n // for (let i = 0; i < this.selectedValuesModel.length; i++) {\n for (const selectedValue of this.selectedValuesModel) {\n let valueNotExist = false;\n \n if (\n this.options &&\n !this.options.find((opt) => opt.key === selectedValue)\n ) {\n valueNotExist = true;\n }\n \n // Add it to options.\n if (valueNotExist) {\n this.options.push({\n key: selectedValue,\n value: selectedValue,\n });\n }\n }\n } else {\n if (\n this.value &&\n this.value !== '' &&\n this.options &&\n !this.options.find((opt) => opt.key === this.value)\n ) {\n this.options.push({ key: this.value, value: this.value });\n }\n }\n }\n }\n\n private setFieldFormattedValue(value: any): void {\n if (this.isMulti) {\n if (this.selectedValuesModel.length > 0) {\n this.fieldFormattedValue = this.selectedValuesModel\n .map((value) => {\n return this.options.find((opt) => opt.key === value)\n ?.value;\n })\n .join(', ');\n } else {\n this.fieldFormattedValue = '';\n }\n\n // this.fieldFormattedValue = typeof value === 'string' ? value.replace(new RegExp(';', 'g'), ', ') : '';\n } else {\n const selectedOpt = this.options.find((opt) => opt.key === value);\n\n // fix DI-19371 - can't select none as option : avner\n this.fieldFormattedValue = selectedOpt ? selectedOpt.value : '';\n\n }\n }\n\n private setDefaultForm(): void {\n const pepField = new PepSelectField({\n key: this.key,\n value: this.value,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n\n // Set default placeholder if not set.\n if (!this._placeholderSet) {\n this.translate.get('SELECT.HINT').subscribe((res) => {\n this.placeholder = res;\n });\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n this.isMulti = this.type === 'multi';\n if (this.isMulti) {\n this.selectedValuesModel =\n this.value.length > 0 ? this.value.split(';') : [];\n } else {\n this.selectedValueModel = this.value;\n }\n\n this.addOptionsIfNeeded();\n this.setFieldFormattedValue(this.value);\n }\n\n ngOnDestroy(): void {\n //\n }\n\n selectionChange(event: any): void {\n if (!this.isMulti) {\n this.changeValue(this.selectedValueModel);\n }\n }\n\n openedChange(event: any): void {\n // Only on close.\n if (!event) {\n if (this.isMulti) {\n this.changeValue(this.selectedValuesModel.join(';'));\n }\n\n if (this.isInEditMode) {\n this.isInEditMode = false;\n }\n }\n }\n\n changeValue(value: any): void {\n this.setFieldFormattedValue(value);\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n // value,\n this.fieldFormattedValue,\n this.parentFieldKey\n );\n\n if (this.mandatory) {\n const fieldControl = this.form.controls[this.key];\n if (value) {\n fieldControl.setErrors(null);\n } else {\n fieldControl.setErrors({\n serverError: 'Required',\n });\n }\n // this.formValidationChange.emit(this.form.valid);\n }\n\n this.valueChange.emit(value);\n }\n\n cardTemplateClicked(event: any): void {\n this.isInEditMode = true;\n\n setTimeout(() => {\n this.select.open();\n }, 0);\n }\n}\n","<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate>\n <ng-container *ngIf=\"type == 'multi'; then multiSelectBlock; else regularSelectBlock\"></ng-container>\n <ng-template #regularSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\" (click)=\"select.open()\">\n <mat-select #select [required]=\"mandatory ? mandatory : undefined\" disableOptionCentering\n class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\" [typeaheadDebounceInterval]=\"typeaheadDebounceInterval\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? placeholderWhenDisabled : placeholder\"\n [(ngModel)]=\"selectedValueModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled\"\n (selectionChange)=\"selectionChange($event)\" (openedChange)=\"openedChange($event)\"\n title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngIf=\"emptyOption\" value=\"\" [title]=\"'LIST.NONE' | translate\">{{ 'LIST.NONE' |\n translate }}</mat-option>\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error>\n <span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n <ng-template #multiSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\" (click)=\"select.open()\">\n <mat-select #select multiple [required]=\"mandatory ? mandatory : undefined\"\n disableOptionCentering class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\" [typeaheadDebounceInterval]=\"typeaheadDebounceInterval\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? placeholderWhenDisabled : placeholder\"\n [(ngModel)]=\"selectedValuesModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled || readonly\"\n (openedChange)=\"openedChange($event)\" title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error><span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"> </span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title *ngIf=\"!parentFieldKey && renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\"\n [ngClass]=\"{'one-row': rowSpan === 1, 'pep-button weak': isActive && !disabled}\"\n [class]=\"'text-align-' + xAlignment\" (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }} </span>\n <span [id]=\"key\" title=\"{{ fieldFormattedValue }}\" class=\"body-sm value\">{{ fieldFormattedValue\n }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{readonly: disabled}\"\n title=\"{{ fieldFormattedValue }}\">{{ fieldFormattedValue }}</span>\n </ng-template>\n </ng-container>\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\n\nimport { PepSelectComponent } from './select.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n // Material modules\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatSelectModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n ],\n exports: [PepSelectComponent],\n declarations: [PepSelectComponent],\n})\nexport class PepSelectModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([pepIconSystemEdit]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/select\n */\nexport * from './select.module';\nexport * from './select.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i11","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-lib-select.mjs","sources":["../../../projects/ngx-lib/select/select.component.ts","../../../projects/ngx-lib/select/select.component.html","../../../projects/ngx-lib/select/select.module.ts","../../../projects/ngx-lib/select/public-api.ts","../../../projects/ngx-lib/select/pepperi-addons-ngx-lib-select.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n ChangeDetectionStrategy,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatSelect } from '@angular/material/select';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepSelectFieldType,\n PepSelectField,\n IPepOption,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss', './select.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSelectComponent implements OnChanges, OnInit, OnDestroy {\n @Input() key = '';\n \n private _value = '';\n @Input()\n set value(value: string) {\n if (!value) {\n value = '';\n }\n\n this._value = value;\n }\n get value(): string {\n return this._value;\n }\n\n @Input() label = '';\n @Input() type: PepSelectFieldType = 'select';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n @Input() rowSpan = 1;\n \n private _placeholder = ''\n private _placeholderSet = false;\n @Input() \n set placeholder(value: string) {\n this._placeholder = value;\n this._placeholderSet = true;\n }\n get placeholder(): string {\n return this._placeholder;\n }\n \n @Input() placeholderWhenDisabled = '';\n\n private _options: Array<IPepOption> = [];\n @Input() \n set options(value: Array<IPepOption>) {\n if (!value) {\n value = [];\n }\n \n this._options = this.sortOptions(value);\n }\n get options(): Array<IPepOption> {\n return this._options;\n }\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n private _emptyOption = true;\n @Input() \n set emptyOption(val: boolean) {\n if (val !== undefined) {\n this._emptyOption = val;\n } \n } \n get emptyOption() {\n return this._emptyOption;\n }\n\n controlType = 'select';\n\n // @Input() field: PepFieldBase;\n @Input() form: FormGroup = null;\n @Input() layoutType: PepLayoutType = 'form';\n @Input() parentFieldKey: string = null;\n @Input() isActive = false;\n @Input() showTitle = true; \n\n @Input() renderTitle = true;\n @Input() typeaheadDebounceInterval = 1000;\n \n @Input() addValueToOptionsIfNotExist = true;\n\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n // @Output()\n // formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('select') select: MatSelect;\n\n standAlone = false;\n isInEditMode = false;\n isMulti = false;\n selectedValuesModel: string[];\n selectedValueModel: string;\n fieldFormattedValue = '';\n\n constructor(\n private translate: TranslateService,\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n private sortOptions(options: Array<IPepOption>): Array<IPepOption> {\n return options.sort((n1, n2) =>\n n1.value > n2.value ? 1 : n1.value < n2.value ? -1 : 0\n );\n }\n\n private addOptionsIfNeeded(): void {\n if (this.addValueToOptionsIfNotExist) {\n if (this.isMulti) {\n // Go gor all selected and add to options if not exist\n // for (let i = 0; i < this.selectedValuesModel.length; i++) {\n for (const selectedValue of this.selectedValuesModel) {\n let valueNotExist = false;\n \n if (\n this.options &&\n !this.options.find((opt) => opt.key === selectedValue)\n ) {\n valueNotExist = true;\n }\n \n // Add it to options.\n if (valueNotExist) {\n this.options.push({\n key: selectedValue,\n value: selectedValue,\n });\n }\n }\n } else {\n if (\n this.value &&\n this.value !== '' &&\n this.options &&\n !this.options.find((opt) => opt.key === this.value)\n ) {\n this.options.push({ key: this.value, value: this.value });\n }\n }\n }\n }\n\n private setFieldFormattedValue(value: any): void {\n if (this.isMulti) {\n if (this.selectedValuesModel.length > 0) {\n this.fieldFormattedValue = this.selectedValuesModel\n .map((value) => {\n return this.options.find((opt) => opt.key === value)\n ?.value;\n })\n .join(', ');\n } else {\n this.fieldFormattedValue = '';\n }\n\n // this.fieldFormattedValue = typeof value === 'string' ? value.replace(new RegExp(';', 'g'), ', ') : '';\n } else {\n const selectedOpt = this.options.find((opt) => opt.key === value);\n\n // fix DI-19371 - can't select none as option : avner\n this.fieldFormattedValue = selectedOpt ? selectedOpt.value : '';\n\n }\n }\n\n private setDefaultForm(): void {\n const pepField = new PepSelectField({\n key: this.key,\n value: this.value,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n\n // Set default placeholder if not set.\n if (!this._placeholderSet) {\n this.translate.get('SELECT.HINT').subscribe((res) => {\n this.placeholder = res;\n });\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n this.isMulti = this.type === 'multi';\n if (this.isMulti) {\n this.selectedValuesModel =\n this.value.length > 0 ? this.value.split(';') : [];\n } else {\n this.selectedValueModel = this.value;\n }\n\n this.addOptionsIfNeeded();\n this.setFieldFormattedValue(this.value);\n }\n\n ngOnDestroy(): void {\n //\n }\n\n selectionChange(event: any): void {\n if (!this.isMulti) {\n this.changeValue(this.selectedValueModel);\n }\n }\n\n openedChange(event: any): void {\n // Only on close.\n if (!event) {\n if (this.isMulti) {\n this.changeValue(this.selectedValuesModel.join(';'));\n }\n\n if (this.isInEditMode) {\n this.isInEditMode = false;\n }\n }\n }\n\n changeValue(value: any): void {\n this.setFieldFormattedValue(value);\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n // value,\n this.fieldFormattedValue,\n this.parentFieldKey\n );\n\n if (this.mandatory) {\n const fieldControl = this.form.controls[this.key];\n if (value) {\n fieldControl.setErrors(null);\n } else {\n fieldControl.setErrors({\n serverError: 'Required',\n });\n }\n // this.formValidationChange.emit(this.form.valid);\n }\n\n this.valueChange.emit(value);\n }\n\n cardTemplateClicked(event: any): void {\n this.isInEditMode = true;\n\n setTimeout(() => {\n this.select.open();\n }, 0);\n }\n}\n","<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate>\n <ng-container *ngIf=\"type == 'multi'; then multiSelectBlock; else regularSelectBlock\"></ng-container>\n <ng-template #regularSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\" (click)=\"select.open()\">\n <mat-select #select [required]=\"mandatory ? mandatory : undefined\" disableOptionCentering\n class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\" [typeaheadDebounceInterval]=\"typeaheadDebounceInterval\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? placeholderWhenDisabled : placeholder\"\n [(ngModel)]=\"selectedValueModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled\"\n (selectionChange)=\"selectionChange($event)\" (openedChange)=\"openedChange($event)\"\n title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngIf=\"emptyOption\" value=\"\" [title]=\"'LIST.NONE' | translate\">{{ 'LIST.NONE' |\n translate }}</mat-option>\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error>\n <span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n <ng-template #multiSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\" (click)=\"select.open()\">\n <mat-select #select multiple [required]=\"mandatory ? mandatory : undefined\"\n disableOptionCentering class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\" [typeaheadDebounceInterval]=\"typeaheadDebounceInterval\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? placeholderWhenDisabled : placeholder\"\n [(ngModel)]=\"selectedValuesModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled || readonly\"\n (openedChange)=\"openedChange($event)\" title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error><span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"> </span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title *ngIf=\"!parentFieldKey && renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\"\n [ngClass]=\"{'one-row': rowSpan === 1, 'pep-button weak': isActive && !disabled}\"\n [class]=\"'text-align-' + xAlignment\" (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }} </span>\n <span [id]=\"key\" title=\"{{ fieldFormattedValue }}\" class=\"body-sm value\">{{ fieldFormattedValue\n }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{readonly: disabled}\"\n title=\"{{ fieldFormattedValue }}\">{{ fieldFormattedValue }}</span>\n </ng-template>\n </ng-container>\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\n\nimport { PepSelectComponent } from './select.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n // Material modules\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatSelectModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n ],\n exports: [PepSelectComponent],\n declarations: [PepSelectComponent],\n})\nexport class PepSelectModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([pepIconSystemEdit]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/select\n */\nexport * from './select.module';\nexport * from './select.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i11","i1"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-lib-side-bar.mjs","sources":["../../../projects/ngx-lib/side-bar/side-bar.component.ts","../../../projects/ngx-lib/side-bar/side-bar.component.html","../../../projects/ngx-lib/side-bar/side-bar.module.ts","../../../projects/ngx-lib/side-bar/public-api.ts","../../../projects/ngx-lib/side-bar/pepperi-addons-ngx-lib-side-bar.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n Injectable,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n Renderer2,\n} from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport {\n PepCustomizationService,\n PepLayoutService,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\nimport { IPepSideBarStateChangeEvent, PepSideBarStateType } from './side-bar.model';\nimport { pepIconArrowLeft, pepIconArrowRight } from '@pepperi-addons/ngx-lib/icon';\n\n@Component({\n selector: 'pep-side-bar',\n templateUrl: './side-bar.component.html',\n styleUrls: ['./side-bar.component.scss', './side-bar.component.theme.scss']\n})\n@Injectable()\nexport class PepSideBarComponent implements OnInit {\n static ONE_MULTI_BY_DIR_KEY = '--pep-one-multi-by-dir';\n\n @Input() position: 'start' | 'end' = 'start';\n @Input() ignoreResize = false;\n @Input() showHeader = true;\n @Input() showFooter = false;\n @Input() showToggle = true;\n \n private _stateType: PepSideBarStateType | undefined = undefined;\n @Input() \n set stateType(value: PepSideBarStateType | undefined) {\n this._stateType = value;\n if(value){\n this.setState(value);\n }\n }\n get stateType(): PepSideBarStateType | undefined {\n return this._stateType;\n }\n\n private _useAsWebComponent = false;\n private readonly _animationTime = 350; // milliseconds.\n\n state: PepSideBarStateType = 'open';\n toggleButtonArrowName: string = pepIconArrowRight.name;\n isLargeScreen = true;\n\n @Input()\n set useAsWebComponent(value: boolean) {\n if (value) {\n this.exportFunctionsOnHostElement();\n }\n }\n get useAsWebComponent(): boolean {\n return this._useAsWebComponent;\n }\n\n @Output()\n stateChange: EventEmitter<IPepSideBarStateChangeEvent> = new EventEmitter<IPepSideBarStateChangeEvent>();\n\n @ViewChild('sidenav') sidenav: MatSidenav;\n\n isMouseIn = false;\n sideBarHeight = '100%';\n\n screenSize: PepScreenSizeType;\n PepScreenSizeType = PepScreenSizeType;\n\n constructor(\n private hostElement: ElementRef,\n private renderer: Renderer2,\n public layoutService: PepLayoutService\n ) {\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\n this.screenSize = size;\n this.isLargeScreen = size < PepScreenSizeType.MD;\n });\n }\n\n private exportFunctionsOnHostElement() {\n // This is for web component usage for use those functions.\n this.hostElement.nativeElement.open = this.open.bind(this);\n this.hostElement.nativeElement.close = this.close.bind(this);\n }\n\n private setState(state: PepSideBarStateType) {\n this.state = state;\n this.toggleButtonArrowName =\n // state === 'open' ?\n // (this.layoutService.isRtl() ? pepIconArrowRight.name : pepIconArrowLeft.name) :\n (this.layoutService.isRtl() || this.position === 'end' ? pepIconArrowLeft.name : pepIconArrowRight.name);\n }\n\n private toggleState() {\n this.setState(this.state === 'close' ? 'open' : 'close');\n }\n\n ngOnInit() {\n document.documentElement.style.setProperty(PepSideBarComponent.ONE_MULTI_BY_DIR_KEY, this.layoutService.isRtl() ? '1' : '-1');\n if(!this.stateType){\n this.setState(this.isLargeScreen ? 'open' : 'close');\n }\n }\n\n open() {\n if (this.sidenav) {\n this.sidenav.open();\n }\n\n this.state = 'open';\n }\n\n close() {\n if (this.sidenav) {\n this.sidenav.close();\n }\n\n this.state = 'close';\n }\n\n toggle() {\n if (this.sidenav) {\n // const isOpen = this.sidenav.opened;\n this.sidenav.toggle();\n }\n\n this.toggleState();\n }\n\n toggleSideWrapper() {\n this.toggleState();\n // Raise event after animation finish.\n setTimeout(() => {\n this.stateChange.emit({ state: this.state });\n }, this._animationTime);\n }\n\n toggleSidenav(isOpen: boolean) {\n this.setState(isOpen ? 'open' : 'close');\n // Raise event after animation finish.\n setTimeout(() => {\n this.stateChange.emit({ state: this.state });\n }, this._animationTime);\n }\n}\n","<div class=\"pep-side-bar-container\">\n <ng-container *ngIf=\"isLargeScreen || ignoreResize; then largeScreensBlock; else notLargeScreensBlock\">\n </ng-container>\n <ng-template #largeScreensBlock>\n <div class=\"toggle-side-bar-container\" [ngClass]=\"{ 'is-open-state': !showToggle || state === 'open'}\">\n <ng-container *ngTemplateOutlet=\"sideLayoutTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"toggleButtonTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notLargeScreensBlock>\n <mat-sidenav-container [hasBackdrop]=\"true\">\n <mat-sidenav #sidenav [position]=\"position\" mode=\"over\" autoFocus=\"false\" fixedInViewport=\"false\"\n (openedChange)=\"toggleSidenav($event)\">\n <ng-container *ngTemplateOutlet=\"sideLayoutTemplate\"></ng-container>\n </mat-sidenav>\n </mat-sidenav-container>\n </ng-template>\n</div>\n\n<ng-template #toggleButtonTemplate>\n <div class=\"toggle-button-border\"></div>\n <button mat-button *ngIf=\"showToggle\" class=\"toggle-button pep-button xs regular icon-button \" (click)=\"toggleSideWrapper()\">\n <mat-icon>\n <pep-icon [name]=\"toggleButtonArrowName\">\n </pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n\n<ng-template #sideLayoutTemplate>\n <div class=\"side-layout\">\n <div *ngIf=\"showHeader\" class=\"header-content\">\n <div class=\"content pep-border-bottom body-lg ellipsis\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n </div>\n <div class=\"main-content\">\n <div class=\"content\">\n <ng-container *ngTemplateOutlet=\"startContentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filtersTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"smartFiltersTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"endContentTemplate\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"showFooter\" class=\"footer-content\">\n <div class=\"content pep-border-top body-lg ellipsis\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n<ng-template #headerTemplate>\n <ng-content select=\"[header-content]\"></ng-content>\n</ng-template>\n\n<ng-template #startContentTemplate>\n <ng-content select=\"[start-content]\"></ng-content>\n</ng-template>\n\n<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #endContentTemplate>\n <ng-content select=\"[end-content]\"></ng-content>\n</ng-template>\n\n<ng-template #filtersTemplate>\n\n</ng-template>\n\n<ng-template #smartFiltersTemplate>\n <ng-content select=\"pep-smart-filters\"></ng-content>\n</ng-template>\n\n<ng-template #footerTemplate>\n <ng-content select=\"[footer-content]\"></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSidenavModule } from '@angular/material/sidenav';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemClose,\n pepIconArrowLeft,\n pepIconArrowRight,\n} from '@pepperi-addons/ngx-lib/icon';\n\nimport { PepSideBarComponent } from './side-bar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n // Material modules,\n MatCommonModule,\n MatIconModule,\n MatSidenavModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n ],\n exports: [PepSideBarComponent],\n declarations: [PepSideBarComponent],\n})\nexport class PepSideBarModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemClose,\n pepIconArrowLeft,\n pepIconArrowRight,]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/side-bar\n */\nexport * from './side-bar.module';\nexport * from './side-bar.component';\nexport * from './side-bar.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-lib-side-bar.mjs","sources":["../../../projects/ngx-lib/side-bar/side-bar.component.ts","../../../projects/ngx-lib/side-bar/side-bar.component.html","../../../projects/ngx-lib/side-bar/side-bar.module.ts","../../../projects/ngx-lib/side-bar/public-api.ts","../../../projects/ngx-lib/side-bar/pepperi-addons-ngx-lib-side-bar.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n Injectable,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n Renderer2,\n} from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport {\n PepCustomizationService,\n PepLayoutService,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\nimport { IPepSideBarStateChangeEvent, PepSideBarStateType } from './side-bar.model';\nimport { pepIconArrowLeft, pepIconArrowRight } from '@pepperi-addons/ngx-lib/icon';\n\n@Component({\n selector: 'pep-side-bar',\n templateUrl: './side-bar.component.html',\n styleUrls: ['./side-bar.component.scss', './side-bar.component.theme.scss']\n})\n@Injectable()\nexport class PepSideBarComponent implements OnInit {\n static ONE_MULTI_BY_DIR_KEY = '--pep-one-multi-by-dir';\n\n @Input() position: 'start' | 'end' = 'start';\n @Input() ignoreResize = false;\n @Input() showHeader = true;\n @Input() showFooter = false;\n @Input() showToggle = true;\n \n private _stateType: PepSideBarStateType | undefined = undefined;\n @Input() \n set stateType(value: PepSideBarStateType | undefined) {\n this._stateType = value;\n if(value){\n this.setState(value);\n }\n }\n get stateType(): PepSideBarStateType | undefined {\n return this._stateType;\n }\n\n private _useAsWebComponent = false;\n private readonly _animationTime = 350; // milliseconds.\n\n state: PepSideBarStateType = 'open';\n toggleButtonArrowName: string = pepIconArrowRight.name;\n isLargeScreen = true;\n\n @Input()\n set useAsWebComponent(value: boolean) {\n if (value) {\n this.exportFunctionsOnHostElement();\n }\n }\n get useAsWebComponent(): boolean {\n return this._useAsWebComponent;\n }\n\n @Output()\n stateChange: EventEmitter<IPepSideBarStateChangeEvent> = new EventEmitter<IPepSideBarStateChangeEvent>();\n\n @ViewChild('sidenav') sidenav: MatSidenav;\n\n isMouseIn = false;\n sideBarHeight = '100%';\n\n screenSize: PepScreenSizeType;\n PepScreenSizeType = PepScreenSizeType;\n\n constructor(\n private hostElement: ElementRef,\n private renderer: Renderer2,\n public layoutService: PepLayoutService\n ) {\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\n this.screenSize = size;\n this.isLargeScreen = size < PepScreenSizeType.MD;\n });\n }\n\n private exportFunctionsOnHostElement() {\n // This is for web component usage for use those functions.\n this.hostElement.nativeElement.open = this.open.bind(this);\n this.hostElement.nativeElement.close = this.close.bind(this);\n }\n\n private setState(state: PepSideBarStateType) {\n this.state = state;\n this.toggleButtonArrowName =\n // state === 'open' ?\n // (this.layoutService.isRtl() ? pepIconArrowRight.name : pepIconArrowLeft.name) :\n (this.layoutService.isRtl() || this.position === 'end' ? pepIconArrowLeft.name : pepIconArrowRight.name);\n }\n\n private toggleState() {\n this.setState(this.state === 'close' ? 'open' : 'close');\n }\n\n ngOnInit() {\n document.documentElement.style.setProperty(PepSideBarComponent.ONE_MULTI_BY_DIR_KEY, this.layoutService.isRtl() ? '1' : '-1');\n if(!this.stateType){\n this.setState(this.isLargeScreen ? 'open' : 'close');\n }\n }\n\n open() {\n if (this.sidenav) {\n this.sidenav.open();\n }\n\n this.state = 'open';\n }\n\n close() {\n if (this.sidenav) {\n this.sidenav.close();\n }\n\n this.state = 'close';\n }\n\n toggle() {\n if (this.sidenav) {\n // const isOpen = this.sidenav.opened;\n this.sidenav.toggle();\n }\n\n this.toggleState();\n }\n\n toggleSideWrapper() {\n this.toggleState();\n // Raise event after animation finish.\n setTimeout(() => { \n this.stateChange.emit({ state: this.state });\n }, this._animationTime);\n }\n\n toggleSidenav(isOpen: boolean) {\n this.setState(isOpen ? 'open' : 'close');\n // Raise event after animation finish.\n setTimeout(() => {\n this.stateChange.emit({ state: this.state });\n }, this._animationTime);\n }\n}\n","<div class=\"pep-side-bar-container\">\n <ng-container *ngIf=\"isLargeScreen || ignoreResize; then largeScreensBlock; else notLargeScreensBlock\">\n </ng-container>\n <ng-template #largeScreensBlock>\n <div class=\"toggle-side-bar-container\" [ngClass]=\"{ 'is-open-state': !showToggle || state === 'open'}\">\n <ng-container *ngTemplateOutlet=\"sideLayoutTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"toggleButtonTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notLargeScreensBlock>\n <mat-sidenav-container [hasBackdrop]=\"true\">\n <mat-sidenav #sidenav [position]=\"position\" mode=\"over\" autoFocus=\"false\" fixedInViewport=\"false\"\n (openedChange)=\"toggleSidenav($event)\">\n <ng-container *ngTemplateOutlet=\"sideLayoutTemplate\"></ng-container>\n </mat-sidenav>\n </mat-sidenav-container>\n </ng-template>\n</div>\n\n<ng-template #toggleButtonTemplate>\n <div class=\"toggle-button-border\"></div>\n <button mat-button *ngIf=\"showToggle\" class=\"toggle-button pep-button xs regular icon-button \" (click)=\"toggleSideWrapper()\">\n <mat-icon>\n <pep-icon [name]=\"toggleButtonArrowName\">\n </pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n\n<ng-template #sideLayoutTemplate>\n <div class=\"side-layout\">\n <div *ngIf=\"showHeader\" class=\"header-content\">\n <div class=\"content pep-border-bottom body-lg ellipsis\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n </div>\n <div class=\"main-content\">\n <div class=\"content\">\n <ng-container *ngTemplateOutlet=\"startContentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filtersTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"smartFiltersTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"endContentTemplate\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"showFooter\" class=\"footer-content\">\n <div class=\"content pep-border-top body-lg ellipsis\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n<ng-template #headerTemplate>\n <ng-content select=\"[header-content]\"></ng-content>\n</ng-template>\n\n<ng-template #startContentTemplate>\n <ng-content select=\"[start-content]\"></ng-content>\n</ng-template>\n\n<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #endContentTemplate>\n <ng-content select=\"[end-content]\"></ng-content>\n</ng-template>\n\n<ng-template #filtersTemplate>\n\n</ng-template>\n\n<ng-template #smartFiltersTemplate>\n <ng-content select=\"pep-smart-filters\"></ng-content>\n</ng-template>\n\n<ng-template #footerTemplate>\n <ng-content select=\"[footer-content]\"></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSidenavModule } from '@angular/material/sidenav';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemClose,\n pepIconArrowLeft,\n pepIconArrowRight,\n} from '@pepperi-addons/ngx-lib/icon';\n\nimport { PepSideBarComponent } from './side-bar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n // Material modules,\n MatCommonModule,\n MatIconModule,\n MatSidenavModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n ],\n exports: [PepSideBarComponent],\n declarations: [PepSideBarComponent],\n})\nexport class PepSideBarModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemClose,\n pepIconArrowLeft,\n pepIconArrowRight,]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/side-bar\n */\nexport * from './side-bar.module';\nexport * from './side-bar.component';\nexport * from './side-bar.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5","i1"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -52,6 +52,7 @@ export declare class PepSelectComponent implements OnChanges, OnInit, OnDestroy
|
|
|
52
52
|
selectedValueModel: string;
|
|
53
53
|
fieldFormattedValue: string;
|
|
54
54
|
constructor(translate: TranslateService, customizationService: PepCustomizationService, renderer: Renderer2, element: ElementRef);
|
|
55
|
+
private sortOptions;
|
|
55
56
|
private addOptionsIfNeeded;
|
|
56
57
|
private setFieldFormattedValue;
|
|
57
58
|
private setDefaultForm;
|