@guajiritos/general-autocomplete 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/guachos-general-autocomplete.component.mjs +1 -1
- package/esm2020/lib/guachos-general-autocomplete.module.mjs +19 -3
- package/fesm2015/guajiritos-general-autocomplete.mjs +18 -2
- package/fesm2015/guajiritos-general-autocomplete.mjs.map +1 -1
- package/fesm2020/guajiritos-general-autocomplete.mjs +18 -2
- package/fesm2020/guajiritos-general-autocomplete.mjs.map +1 -1
- package/package.json +1 -1
@@ -306,4 +306,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
306
306
|
}], doFocus: [{
|
307
307
|
type: Input
|
308
308
|
}] } });
|
309
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBdUIsV0FBVyxFQUFFLGlCQUFpQixFQUFvQixVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsSCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFbEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUEyQjdELE1BQU0sT0FBTyxzQ0FBc0M7SUFFL0MsWUFDWSxvQkFBeUMsRUFDekMsTUFBeUIsRUFDMUIsZ0JBQWtDO1FBRmpDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsV0FBTSxHQUFOLE1BQU0sQ0FB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Q0osZ0pDL0NMLGcwRUF3Q0E7MkZEU2Esc0NBQXNDO2tCQWJsRCxTQUFTOytCQUNJLGlDQUFpQyxtQkFHMUIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1Q0FBdUMsQ0FBQzs0QkFDckUsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7eUtBNEJ1QyxTQUFTO3NCQUFoRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSTdCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFFTSxHQUFHO3NCQUFmLEtBQUs7Z0JBUU8sU0FBUztzQkFBckIsS0FBSztnQkFlTyxZQUFZO3NCQUF4QixLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBUU8sVUFBVTtzQkFBdEIsS0FBSztnQkFnQk8sT0FBTztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZVRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge0Zsb2F0TGFiZWxUeXBlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtHRU5FUkFMX0RJU1BMQVlfT1BUSU9OU30gZnJvbSAnLi4vdXRpbHMvY29uc3RhbnRzL2NvbnRhY3RzJztcbmltcG9ydCB7QXV0b2NvbXBsZXRlU2VydmljZX0gZnJvbSAnLi4vdXRpbHMvc2VydmljZXMvYXV0b2NvbXBsZXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtVdGlsc1NlcnZpY2V9IGZyb20gJy4uL3V0aWxzL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHtBcGlGb3JtRGF0YSwgRGlzcGxheU9wdGlvbiwgUmVzdHJpY3Rpb25GaWx0ZXJ9IGZyb20gXCIuLi91dGlscy9pbnRlcmZhY2VzL2ludGVyZmFjZXNcIjtcblxuZGVjbGFyZSBpbnRlcmZhY2UgUGF5bG9hZFJlc3BvbnNlIHtcbiAgICBkYXRhOiBhbnk7XG4gICAgbWV0YTogYW55O1xufVxuXG5kZWNsYXJlIGludGVyZmFjZSBHZW5lcmljUmVzcG9uc2Uge1xuICAgIHBheWxvYWQ6IFBheWxvYWRSZXNwb25zZTtcbiAgICBlcnJvcjogYW55O1xuICAgIHJlcXVlc3RJZDogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2d1YWppcml0b3MtZ2VuZXJhbC1hdXRvY29tcGxldGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR3VhamlyaXRvc0dlbmVyYWxBdXRvY29tcGxldGVDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgR3VhamlyaXRvc0dlbmVyYWxBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2F1dG9jb21wbGV0ZVNlcnZpY2U6IEF1dG9jb21wbGV0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZUFsbCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgZmlyc3RDYWxsOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwcml2YXRlIHJlc3RyaWN0aW9uc0ZpbHRlcnM6IFJlc3RyaWN0aW9uRmlsdGVyW10gPSBbXTtcbiAgICBwcml2YXRlIHNlbGVjdGVkRWxlbWVudDogYW55O1xuICAgIHByaXZhdGUgZG9Gb2N1c1N1YmplY3Q6IFN1YmplY3Q8YW55PjtcbiAgICBwcml2YXRlIGNsZWFyRGF0YSQ6IFN1YmplY3Q8YW55PjtcbiAgICBwcml2YXRlIF91cmw6IHN0cmluZztcblxuICAgIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbiA9IHRydWU7XG4gICAgcHVibGljIGNvbXBvbmVudDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woe1xuICAgICAgICB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IGZhbHNlXG4gICAgfSk7XG4gICAgcHVibGljIHZhbHVlOiBhbnk7XG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGZpbHRlcmVkT3B0aW9uczogYW55W107XG4gICAgcHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0VGV4dCcsIHtzdGF0aWM6IHRydWV9KSBpbnB1dFRleHQ6IEVsZW1lbnRSZWY7XG4gICAgLyoqXG4gICAgICogUG9zc2libGUgdmFsdWVzICduZXZlcicsICdhdXRvJyBvciAnYWx3YXlzJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlID0gJ2F1dG8nO1xuICAgIEBJbnB1dCgpIGJvZHlSZXF1ZXN0OiBBcGlGb3JtRGF0YTtcbiAgICBASW5wdXQoKSBkZWJvdW5jZVRpbWVWYWx1ZTogbnVtYmVyID0gMjUwO1xuICAgIEBJbnB1dCgpIGRldGFpbHNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ1NlbGVjY2lvbmUnO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWNjaW9uZSB1biBlbGVtZW50byc7XG4gICAgQElucHV0KCkgZmllbGQ6IHN0cmluZ1tdID0gWyduYW1lJ107XG4gICAgQElucHV0KCkgZmlsdGVyU3RyaW5nOiBzdHJpbmcgPSAnZmlsdGVyWyRhbmRdW25hbWVdWyRsaWtlXSc7XG4gICAgQElucHV0KCkgZGlzcGxheU9wdGlvbnM6IERpc3BsYXlPcHRpb24gPSBHRU5FUkFMX0RJU1BMQVlfT1BUSU9OUztcbiAgICBASW5wdXQoKSB3aXRob3V0UGFkZGluZ0JvdHRvbTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgdmFsdWVJZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBvcmRlcjogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSByZW1vdmVQcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIEBPdXRwdXQoKSBTZWxlY3RFbGVtZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgQElucHV0KCkgc2V0IHVybChkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuX3VybCA9IGRhdGE7XG5cbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlQ29tcG9uZW50Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGNsZWFyRGF0YSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuY2xlYXJEYXRhJCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5jbGVhckRhdGEkKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyRGF0YSRcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLlNlbGVjdEVsZW1lbnQuZW1pdChudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZWQobnVsbCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgaW5pdGlhbFZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnQuc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCByZXN0cmljdGlvbnModmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMucmVzdHJpY3Rpb25zRmlsdGVycyA9IHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZXN0cmljdGlvbnNGaWx0ZXJzID0gW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgaXNSZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnJlcXVpcmVkID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50LnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEd1YWppcml0b3NHZW5lcmFsQXV0b2NvbXBsZXRlQ29tcG9uZW50LlZhbGlkYXRlQXV0b2NvbXBsZXRlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICBnZXQgZG9Gb2N1cygpOiBTdWJqZWN0PGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kb0ZvY3VzU3ViamVjdDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZG9Gb2N1cyh2YWx1ZTogU3ViamVjdDxhbnk+KSB7XG4gICAgICAgIHRoaXMuZG9Gb2N1c1N1YmplY3QgPSB2YWx1ZTtcblxuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZG9Gb2N1c1N1YmplY3RcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRUZXh0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIFZhbGlkYXRlQXV0b2NvbXBsZXRlKGNvbnRyb2w6IEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgICAgIGlmIChjb250cm9sPy52YWx1ZT8uY29uc3RydWN0b3IgIT09IE9iamVjdCB8fCAhY29udHJvbD8udmFsdWU/LmlkKSB7XG4gICAgICAgICAgICByZXR1cm4ge2ludmFsaWRTZWxlY3Rpb246IHRydWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVDb21wb25lbnRDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBvbmVudD8udmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICA/LnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lVmFsdWUpLCB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKVxuICAgICAgICAgICAgPy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5maXJzdENhbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGVCeVRleHRIYW5kbGVyKHRoaXMuZ2V0QXV0b2NvbXBsZXRlU2VhcmNoVGV4dCgpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpcnN0Q2FsbCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QXV0b2NvbXBsZXRlQnlUZXh0SGFuZGxlcih0ZXh0Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2F1dG9jb21wbGV0ZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRBdXRvY29tcGxldGVCeVRleHQodGhpcy5fdXJsLCB0ZXh0LCB0aGlzLmZpbHRlclN0cmluZywgdGhpcy5yZXN0cmljdGlvbnNGaWx0ZXJzLFxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlUHJvcGVydGllcywgdGhpcy5vcmRlciwgdGhpcy5ib2R5UmVxdWVzdClcbiAgICAgICAgICAgIC50aGVuKChyZXNwOiBPYnNlcnZhYmxlPGFueT4pID0+IHtcbiAgICAgICAgICAgICAgICByZXNwPy5zdWJzY3JpYmUoKHJlc3VsdDogR2VuZXJpY1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gcmVzdWx0Py5wYXlsb2FkPy5kYXRhO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBdXRvY29tcGxldGVTZWFyY2hUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgbGV0IHRleHQ6IHN0cmluZyA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudD8udmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb21wb25lbnQudmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50VmFsdWUgPSB0aGlzLmNvbXBvbmVudD8udmFsdWVbdGhpcy5maWVsZFswXV1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNvbXBvbmVudFZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbGFuZzogc3RyaW5nID0gJ2VzJztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmllbGRbMV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhbmcgPSB0aGlzLmZpZWxkWzFdO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGNvbXBvbmVudFZhbHVlW2xhbmddO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuY29tcG9uZW50Py52YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICB0ZXh0ID0gdGhpcy5jb21wb25lbnQudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGV4dDtcbiAgICB9XG5cbiAgICBvbkNoYW5nZWQ6IGFueSA9ICgpID0+IHtcbiAgICB9O1xuXG4gICAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7XG4gICAgfTtcblxuICAgIHB1YmxpYyBjbGVhcih0cmlnZ2VyOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50LnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRWxlbWVudCA9IG51bGw7XG4gICAgICAgIHRoaXMuU2VsZWN0RWxlbWVudC5lbWl0KG51bGwpO1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2VkKG51bGwpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdHJpZ2dlci5vcGVuUGFuZWwoKTtcbiAgICAgICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSwgMjAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGVCeVRleHRIYW5kbGVyKHRoaXMuZ2V0QXV0b2NvbXBsZXRlU2VhcmNoVGV4dCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3RFbGVtZW50KGl0ZW06IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRWxlbWVudCA9IGl0ZW07XG4gICAgICAgIHRoaXMuU2VsZWN0RWxlbWVudC5lbWl0KGl0ZW0pO1xuICAgICAgICB0aGlzLnZhbHVlID0gaXRlbTtcblxuICAgICAgICBpZiAodGhpcy52YWx1ZUlkKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlZChpdGVtPy5pZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlZChpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBkaXNwbGF5Rm4gPSAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgZGlzcGxheVRleHQgPSAnJztcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNwbGF5T3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheU9wdGlvbnMgPSBHRU5FUkFMX0RJU1BMQVlfT1BUSU9OUztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGlzcGxheU9wdGlvbnM/LmZpcnRoTGFiZWw/LmZvckVhY2goKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQ/LnR5cGUgPT09ICdwYXRoJykge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VGV4dCArPSBVdGlsc1NlcnZpY2UucmVzb2x2ZVByb3BlcnR5QnlQYXRoKHZhbHVlLCBmaWVsZD8ucGF0aCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheVRleHQgKz0gZmllbGQ/LmRpdmlkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZGlzcGxheVRleHQ7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlLmlkO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZWQgPSBmbjtcbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBvbmVudC5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVBbGwkLm5leHQoKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUFsbCQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiIFtuZ0NsYXNzXT1cInsnd2l0aG91dC1wYWRkaW5nLWJvdHRvbSc6IHdpdGhvdXRQYWRkaW5nQm90dG9tfVwiXHJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwidy0xMDBcIiBjb2xvcj1cImFjY2VudFwiPlxyXG5cclxuICAgIDxtYXQtbGFiZWw+e3tsYWJlbCB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICA8aW5wdXQgI2lucHV0VGV4dCAjdHJpZ2dlcj1cIm1hdEF1dG9jb21wbGV0ZVRyaWdnZXJcIiAoYmx1cik9XCJvblRvdWNoZWQoKVwiIChmb2N1cyk9XCJvbkZvY3VzKClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZVwiXHJcbiAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbXBvbmVudFwiIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICBhcmlhLWxhYmVsPVwiTnVtYmVyXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgbWF0SW5wdXQgdHlwZT1cInRleHRcIj5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cImNsZWFyKHRyaWdnZXIpXCIgKm5nSWY9XCIhbG9hZGluZyAmJiBjb21wb25lbnQ/LnZhbHVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVcIiBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxyXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4PlxyXG4gICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gKm5nSWY9XCJsb2FkaW5nXCIgYXJpYS1sYWJlbD1cIkNsZWFyXCIgbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeD5cclxuICAgICAgICA8bWF0LXNwaW5uZXIgW3ZhbHVlXT1cIjkwXCIgY29sb3I9XCJhY2NlbnRcIiBkaWFtZXRlcj1cIjI1XCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9jb21wbGV0ZT1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm5cIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdEVsZW1lbnQob3B0aW9uKVwiPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkaXNwbGF5T3B0aW9ucyAmJiAhZGV0YWlsc1RlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBvcHRpb24/Lm5hbWUgfCBpMThuRmllbGQ6IHRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgfX1cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRldGFpbHNUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpc3BsYXktb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7J2xpbmUtaGVpZ2h0JzogZGlzcGxheU9wdGlvbnM/LnNlY29uZExhYmVsID8gJzE2cHgnIDogJyd9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tvcHRpb24gfCByZXNvbHZlUHJvcGVydHlQYXRoOmRpc3BsYXlPcHRpb25zPy5maXJ0aExhYmVsIHwgaTE4bkZpZWxkOiB0cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGlzcGxheU9wdGlvbnM/LnNlY29uZExhYmVsXCIgY2xhc3M9XCJtYXQtY2FwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7b3B0aW9uIHwgcmVzb2x2ZVByb3BlcnR5UGF0aDogZGlzcGxheU9wdGlvbnM/LnNlY29uZExhYmVsIHwgaTE4bkZpZWxkOiB0cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRldGFpbHNUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRldGFpbHNUZW1wbGF0ZTtjb250ZXh0OnskaW1wbGljaXQ6IG9wdGlvbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcbiJdfQ==
|
309
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFSCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDYixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxZQUFZLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVsRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQTJCN0QsTUFBTSxPQUFPLHNDQUFzQztJQUUvQyxZQUNZLG9CQUF5QyxFQUN6QyxNQUF5QixFQUMxQixnQkFBa0M7UUFGakMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxXQUFNLEdBQU4sTUFBTSxDQUFt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SixnSkNwREwsZzBFQXdDQTsyRkRjYSxzQ0FBc0M7a0JBYmxELFNBQVM7K0JBQ0ksaUNBQWlDLG1CQUcxQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVDQUF1QyxDQUFDOzRCQUNyRSxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjt5S0E0QnVDLFNBQVM7c0JBQWhELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFJN0IsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUVNLEdBQUc7c0JBQWYsS0FBSztnQkFRTyxTQUFTO3NCQUFyQixLQUFLO2dCQWVPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBSU8sWUFBWTtzQkFBeEIsS0FBSztnQkFRTyxVQUFVO3NCQUF0QixLQUFLO2dCQWdCTyxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIEZvcm1Db250cm9sLFxuICAgIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVUcmlnZ2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtGbG9hdExhYmVsVHlwZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7R0VORVJBTF9ESVNQTEFZX09QVElPTlN9IGZyb20gJy4uL3V0aWxzL2NvbnN0YW50cy9jb250YWN0cyc7XG5pbXBvcnQge0F1dG9jb21wbGV0ZVNlcnZpY2V9IGZyb20gJy4uL3V0aWxzL3NlcnZpY2VzL2F1dG9jb21wbGV0ZS5zZXJ2aWNlJztcbmltcG9ydCB7VXRpbHNTZXJ2aWNlfSBmcm9tICcuLi91dGlscy9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7QXBpRm9ybURhdGEsIERpc3BsYXlPcHRpb24sIFJlc3RyaWN0aW9uRmlsdGVyfSBmcm9tIFwiLi4vdXRpbHMvaW50ZXJmYWNlcy9pbnRlcmZhY2VzXCI7XG5cbmRlY2xhcmUgaW50ZXJmYWNlIFBheWxvYWRSZXNwb25zZSB7XG4gICAgZGF0YTogYW55O1xuICAgIG1ldGE6IGFueTtcbn1cblxuZGVjbGFyZSBpbnRlcmZhY2UgR2VuZXJpY1Jlc3BvbnNlIHtcbiAgICBwYXlsb2FkOiBQYXlsb2FkUmVzcG9uc2U7XG4gICAgZXJyb3I6IGFueTtcbiAgICByZXF1ZXN0SWQ6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdndWFqaXJpdG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEd1YWppcml0b3NHZW5lcmFsQXV0b2NvbXBsZXRlQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEd1YWppcml0b3NHZW5lcmFsQXV0b2NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9hdXRvY29tcGxldGVTZXJ2aWNlOiBBdXRvY29tcGxldGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHB1YmxpYyB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICkge1xuICAgIH1cblxuICAgIHByaXZhdGUgdW5zdWJzY3JpYmVBbGwkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIGZpcnN0Q2FsbDogYm9vbGVhbiA9IHRydWU7XG4gICAgcHJpdmF0ZSByZXN0cmljdGlvbnNGaWx0ZXJzOiBSZXN0cmljdGlvbkZpbHRlcltdID0gW107XG4gICAgcHJpdmF0ZSBzZWxlY3RlZEVsZW1lbnQ6IGFueTtcbiAgICBwcml2YXRlIGRvRm9jdXNTdWJqZWN0OiBTdWJqZWN0PGFueT47XG4gICAgcHJpdmF0ZSBjbGVhckRhdGEkOiBTdWJqZWN0PGFueT47XG4gICAgcHJpdmF0ZSBfdXJsOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHB1YmxpYyBjb21wb25lbnQ6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKHtcbiAgICAgICAgdmFsdWU6IG51bGwsIGRpc2FibGVkOiBmYWxzZVxuICAgIH0pO1xuICAgIHB1YmxpYyB2YWx1ZTogYW55O1xuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IGFueVtdO1xuICAgIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dFRleHQnLCB7c3RhdGljOiB0cnVlfSkgaW5wdXRUZXh0OiBFbGVtZW50UmVmO1xuICAgIC8qKlxuICAgICAqIFBvc3NpYmxlIHZhbHVlcyAnbmV2ZXInLCAnYXV0bycgb3IgJ2Fsd2F5cydcbiAgICAgKi9cbiAgICBASW5wdXQoKSBmbG9hdExhYmVsOiBGbG9hdExhYmVsVHlwZSA9ICdhdXRvJztcbiAgICBASW5wdXQoKSBib2R5UmVxdWVzdDogQXBpRm9ybURhdGE7XG4gICAgQElucHV0KCkgZGVib3VuY2VUaW1lVmFsdWU6IG51bWJlciA9IDI1MDtcbiAgICBASW5wdXQoKSBkZXRhaWxzVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICdTZWxlY2Npb25lJztcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjY2lvbmUgdW4gZWxlbWVudG8nO1xuICAgIEBJbnB1dCgpIGZpZWxkOiBzdHJpbmdbXSA9IFsnbmFtZSddO1xuICAgIEBJbnB1dCgpIGZpbHRlclN0cmluZzogc3RyaW5nID0gJ2ZpbHRlclskYW5kXVtuYW1lXVskbGlrZV0nO1xuICAgIEBJbnB1dCgpIGRpc3BsYXlPcHRpb25zOiBEaXNwbGF5T3B0aW9uID0gR0VORVJBTF9ESVNQTEFZX09QVElPTlM7XG4gICAgQElucHV0KCkgd2l0aG91dFBhZGRpbmdCb3R0b206IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIHZhbHVlSWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBkaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgb3JkZXI6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgcmVtb3ZlUHJvcGVydGllczogc3RyaW5nW10gPSBbXTtcbiAgICBAT3V0cHV0KCkgU2VsZWN0RWxlbWVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBJbnB1dCgpIHNldCB1cmwoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLl91cmwgPSBkYXRhO1xuXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmliZUNvbXBvbmVudENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBjbGVhckRhdGEodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLmNsZWFyRGF0YSQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuY2xlYXJEYXRhJCkge1xuICAgICAgICAgICAgdGhpcy5jbGVhckRhdGEkXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnQuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5TZWxlY3RFbGVtZW50LmVtaXQobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2VkKG51bGwpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGluaXRpYWxWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50LnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcmVzdHJpY3Rpb25zKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJlc3RyaWN0aW9uc0ZpbHRlcnMgPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVzdHJpY3Rpb25zRmlsdGVycyA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGlzUmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5yZXF1aXJlZCA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBHdWFqaXJpdG9zR2VuZXJhbEF1dG9jb21wbGV0ZUNvbXBvbmVudC5WYWxpZGF0ZUF1dG9jb21wbGV0ZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnQuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgZ2V0IGRvRm9jdXMoKTogU3ViamVjdDxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9Gb2N1c1N1YmplY3Q7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGRvRm9jdXModmFsdWU6IFN1YmplY3Q8YW55Pikge1xuICAgICAgICB0aGlzLmRvRm9jdXNTdWJqZWN0ID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmRvRm9jdXNTdWJqZWN0XG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0VGV4dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBWYWxpZGF0ZUF1dG9jb21wbGV0ZShjb250cm9sOiBGb3JtQ29udHJvbCkge1xuICAgICAgICBpZiAoY29udHJvbD8udmFsdWU/LmNvbnN0cnVjdG9yICE9PSBPYmplY3QgfHwgIWNvbnRyb2w/LnZhbHVlPy5pZCkge1xuICAgICAgICAgICAgcmV0dXJuIHtpbnZhbGlkU2VsZWN0aW9uOiB0cnVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlQ29tcG9uZW50Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnQ/LnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgPy5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZVZhbHVlKSwgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSlcbiAgICAgICAgICAgID8uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmlyc3RDYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXV0b2NvbXBsZXRlQnlUZXh0SGFuZGxlcih0aGlzLmdldEF1dG9jb21wbGV0ZVNlYXJjaFRleHQoKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXJzdENhbGwgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEF1dG9jb21wbGV0ZUJ5VGV4dEhhbmRsZXIodGV4dD86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hdXRvY29tcGxldGVTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0QXV0b2NvbXBsZXRlQnlUZXh0KHRoaXMuX3VybCwgdGV4dCwgdGhpcy5maWx0ZXJTdHJpbmcsIHRoaXMucmVzdHJpY3Rpb25zRmlsdGVycyxcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVByb3BlcnRpZXMsIHRoaXMub3JkZXIsIHRoaXMuYm9keVJlcXVlc3QpXG4gICAgICAgICAgICAudGhlbigocmVzcDogT2JzZXJ2YWJsZTxhbnk+KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzcD8uc3Vic2NyaWJlKChyZXN1bHQ6IEdlbmVyaWNSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHJlc3VsdD8ucGF5bG9hZD8uZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QXV0b2NvbXBsZXRlU2VhcmNoVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICAgIGxldCB0ZXh0OiBzdHJpbmcgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnQ/LnZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29tcG9uZW50LnZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFZhbHVlID0gdGhpcy5jb21wb25lbnQ/LnZhbHVlW3RoaXMuZmllbGRbMF1dXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjb21wb25lbnRWYWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGxhbmc6IHN0cmluZyA9ICdlcyc7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkWzFdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYW5nID0gdGhpcy5maWVsZFsxXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRleHQgPSBjb21wb25lbnRWYWx1ZVtsYW5nXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmNvbXBvbmVudD8udmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgdGV4dCA9IHRoaXMuY29tcG9uZW50LnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuXG4gICAgb25DaGFuZ2VkOiBhbnkgPSAoKSA9PiB7XG4gICAgfTtcblxuICAgIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge1xuICAgIH07XG5cbiAgICBwdWJsaWMgY2xlYXIodHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBvbmVudC5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQgPSBudWxsO1xuICAgICAgICB0aGlzLlNlbGVjdEVsZW1lbnQuZW1pdChudWxsKTtcbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlZChudWxsKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRyaWdnZXIub3BlblBhbmVsKCk7XG4gICAgICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0sIDIwMCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0QXV0b2NvbXBsZXRlQnlUZXh0SGFuZGxlcih0aGlzLmdldEF1dG9jb21wbGV0ZVNlYXJjaFRleHQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2VsZWN0RWxlbWVudChpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQgPSBpdGVtO1xuICAgICAgICB0aGlzLlNlbGVjdEVsZW1lbnQuZW1pdChpdGVtKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGl0ZW07XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWVJZCkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZWQoaXRlbT8uaWQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZWQoaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZGlzcGxheUZuID0gKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGRpc3BsYXlUZXh0ID0gJyc7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzcGxheU9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlPcHRpb25zID0gR0VORVJBTF9ESVNQTEFZX09QVElPTlM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlPcHRpb25zPy5maXJ0aExhYmVsPy5mb3JFYWNoKChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpZWxkPy50eXBlID09PSAncGF0aCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheVRleHQgKz0gVXRpbHNTZXJ2aWNlLnJlc29sdmVQcm9wZXJ0eUJ5UGF0aCh2YWx1ZSwgZmllbGQ/LnBhdGgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlUZXh0ICs9IGZpZWxkPy5kaXZpZGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlUZXh0O1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnQuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZS5pZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VkID0gZm47XG4gICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnQubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVBbGwkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIiBbbmdDbGFzc109XCJ7J3dpdGhvdXQtcGFkZGluZy1ib3R0b20nOiB3aXRob3V0UGFkZGluZ0JvdHRvbX1cIlxyXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cInctMTAwXCIgY29sb3I9XCJhY2NlbnRcIj5cclxuXHJcbiAgICA8bWF0LWxhYmVsPnt7bGFiZWwgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgPGlucHV0ICNpbnB1dFRleHQgI3RyaWdnZXI9XCJtYXRBdXRvY29tcGxldGVUcmlnZ2VyXCIgKGJsdXIpPVwib25Ub3VjaGVkKClcIiAoZm9jdXMpPVwib25Gb2N1cygpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVcIlxyXG4gICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb21wb25lbnRcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgYXJpYS1sYWJlbD1cIk51bWJlclwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIG1hdElucHV0IHR5cGU9XCJ0ZXh0XCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJjbGVhcih0cmlnZ2VyKVwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgY29tcG9uZW50Py52YWx1ZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlXCIgYXJpYS1sYWJlbD1cIkNsZWFyXCJcclxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeD5cclxuICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwibG9hZGluZ1wiIGFyaWEtbGFiZWw9XCJDbGVhclwiIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXg+XHJcbiAgICAgICAgPG1hdC1zcGlubmVyIFt2YWx1ZV09XCI5MFwiIGNvbG9yPVwiYWNjZW50XCIgZGlhbWV0ZXI9XCIyNVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvY29tcGxldGU9XCJtYXRBdXRvY29tcGxldGVcIiBbZGlzcGxheVdpdGhdPVwiZGlzcGxheUZuXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3RFbGVtZW50KG9wdGlvbilcIj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGlzcGxheU9wdGlvbnMgJiYgIWRldGFpbHNUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uPy5uYW1lIHwgaTE4bkZpZWxkOiB0cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nIH19XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkZXRhaWxzVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5LW9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW25nU3R5bGVdPVwieydsaW5lLWhlaWdodCc6IGRpc3BsYXlPcHRpb25zPy5zZWNvbmRMYWJlbCA/ICcxNnB4JyA6ICcnfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7b3B0aW9uIHwgcmVzb2x2ZVByb3BlcnR5UGF0aDpkaXNwbGF5T3B0aW9ucz8uZmlydGhMYWJlbCB8IGkxOG5GaWVsZDogdHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZ319XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRpc3BsYXlPcHRpb25zPy5zZWNvbmRMYWJlbFwiIGNsYXNzPVwibWF0LWNhcHRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICB7e29wdGlvbiB8IHJlc29sdmVQcm9wZXJ0eVBhdGg6IGRpc3BsYXlPcHRpb25zPy5zZWNvbmRMYWJlbCB8IGkxOG5GaWVsZDogdHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZ319XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkZXRhaWxzVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZXRhaWxzVGVtcGxhdGU7Y29udGV4dDp7JGltcGxpY2l0OiBvcHRpb24gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=
|
@@ -43,7 +43,15 @@ GuajiritosGeneralAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersio
|
|
43
43
|
GuajiritosGeneralAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GuajiritosGeneralAutocompleteModule, providers: [
|
44
44
|
UpperCasePipe,
|
45
45
|
CurrencyPipe,
|
46
|
-
AutocompleteService
|
46
|
+
AutocompleteService,
|
47
|
+
DurationTimePipe,
|
48
|
+
I18nFieldPipe,
|
49
|
+
ResolvePropertyPath,
|
50
|
+
HumanizeDurationPipe,
|
51
|
+
IdaReturnPipe,
|
52
|
+
ShowRolesPipe,
|
53
|
+
ShowSegmentsPipe,
|
54
|
+
ShowTransportTypesPipe
|
47
55
|
], imports: [CommonModule,
|
48
56
|
TranslateModule,
|
49
57
|
FormsModule,
|
@@ -83,11 +91,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
83
91
|
providers: [
|
84
92
|
UpperCasePipe,
|
85
93
|
CurrencyPipe,
|
86
|
-
AutocompleteService
|
94
|
+
AutocompleteService,
|
95
|
+
DurationTimePipe,
|
96
|
+
I18nFieldPipe,
|
97
|
+
ResolvePropertyPath,
|
98
|
+
HumanizeDurationPipe,
|
99
|
+
IdaReturnPipe,
|
100
|
+
ShowRolesPipe,
|
101
|
+
ShowSegmentsPipe,
|
102
|
+
ShowTransportTypesPipe
|
87
103
|
],
|
88
104
|
exports: [
|
89
105
|
GuajiritosGeneralAutocompleteComponent
|
90
106
|
]
|
91
107
|
}]
|
92
108
|
}] });
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxzQ0FBc0MsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDOztBQTJDaEYsTUFBTSxPQUFPLG1DQUFtQzs7Z0lBQW5DLG1DQUFtQztpSUFBbkMsbUNBQW1DLGlCQXZDeEMsc0NBQXNDO1FBQ3RDLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2IsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixzQkFBc0IsYUFHdEIsWUFBWTtRQUNaLGVBQWU7UUFDZixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2Isd0JBQXdCO1FBQ3hCLGVBQWU7UUFDZixjQUFjO1FBQ2QscUJBQXFCLGFBZ0JyQixzQ0FBc0M7aUlBR2pDLG1DQUFtQyxhQWpCakM7UUFDUCxhQUFhO1FBQ2IsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsYUFBYTtRQUNiLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsc0JBQXNCO0tBQ3pCLFlBdkJHLFlBQVk7UUFDWixlQUFlO1FBQ2YsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLHdCQUF3QjtRQUN4QixlQUFlO1FBQ2YsY0FBYztRQUNkLHFCQUFxQjsyRkFtQmhCLG1DQUFtQztrQkF6Qy9DLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLHNDQUFzQzt3QkFDdEMsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixzQkFBc0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxxQkFBcUI7cUJBQ3hCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHNDQUFzQztxQkFDekM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlLCBDdXJyZW5jeVBpcGUsIFVwcGVyQ2FzZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlXCI7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyXCI7XG5pbXBvcnQge01hdEZvcm1GaWVsZE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcblxuaW1wb3J0IHtBdXRvY29tcGxldGVTZXJ2aWNlfSBmcm9tIFwiLi4vdXRpbHMvc2VydmljZXMvYXV0b2NvbXBsZXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7R3VhamlyaXRvc0dlbmVyYWxBdXRvY29tcGxldGVDb21wb25lbnR9IGZyb20gJy4vZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtEdXJhdGlvblRpbWVQaXBlfSBmcm9tIFwiLi4vdXRpbHMvcGlwZXMvZHVyYXRpb24ucGlwZVwiO1xuaW1wb3J0IHtJMThuRmllbGRQaXBlfSBmcm9tIFwiLi4vdXRpbHMvcGlwZXMvaTE4bi1maWVsZC5waXBlXCI7XG5pbXBvcnQge1Jlc29sdmVQcm9wZXJ0eVBhdGh9IGZyb20gXCIuLi91dGlscy9waXBlcy9yZXNvbHZlLXByb3BlcnR5LXBhdGgucGlwZVwiO1xuaW1wb3J0IHtIdW1hbml6ZUR1cmF0aW9uUGlwZX0gZnJvbSBcIi4uL3V0aWxzL3BpcGVzL2h1bWFuaXplLWR1cmF0aW9uLnBpcGVcIjtcbmltcG9ydCB7SWRhUmV0dXJuUGlwZX0gZnJvbSBcIi4uL3V0aWxzL3BpcGVzL2lkYS1yZXR1cm4ucGlwZVwiO1xuaW1wb3J0IHtTaG93Um9sZXNQaXBlfSBmcm9tIFwiLi4vdXRpbHMvcGlwZXMvc2hvdy1yb2xlcy5waXBlXCI7XG5pbXBvcnQge1Nob3dTZWdtZW50c1BpcGV9IGZyb20gXCIuLi91dGlscy9waXBlcy9zaG93LXNlZ21lbnRzLnBpcGVcIjtcbmltcG9ydCB7U2hvd1RyYW5zcG9ydFR5cGVzUGlwZX0gZnJvbSBcIi4uL3V0aWxzL3BpcGVzL3Nob3ctdHJhbnNwb3J0LXR5cGVzLnBpcGVcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgR3VhamlyaXRvc0dlbmVyYWxBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgICAgIER1cmF0aW9uVGltZVBpcGUsXG4gICAgICAgIEkxOG5GaWVsZFBpcGUsXG4gICAgICAgIFJlc29sdmVQcm9wZXJ0eVBhdGgsXG4gICAgICAgIEh1bWFuaXplRHVyYXRpb25QaXBlLFxuICAgICAgICBJZGFSZXR1cm5QaXBlLFxuICAgICAgICBTaG93Um9sZXNQaXBlLFxuICAgICAgICBTaG93U2VnbWVudHNQaXBlLFxuICAgICAgICBTaG93VHJhbnNwb3J0VHlwZXNQaXBlXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFVwcGVyQ2FzZVBpcGUsXG4gICAgICAgIEN1cnJlbmN5UGlwZSxcbiAgICAgICAgQXV0b2NvbXBsZXRlU2VydmljZSxcbiAgICAgICAgRHVyYXRpb25UaW1lUGlwZSxcbiAgICAgICAgSTE4bkZpZWxkUGlwZSxcbiAgICAgICAgUmVzb2x2ZVByb3BlcnR5UGF0aCxcbiAgICAgICAgSHVtYW5pemVEdXJhdGlvblBpcGUsXG4gICAgICAgIElkYVJldHVyblBpcGUsXG4gICAgICAgIFNob3dSb2xlc1BpcGUsXG4gICAgICAgIFNob3dTZWdtZW50c1BpcGUsXG4gICAgICAgIFNob3dUcmFuc3BvcnRUeXBlc1BpcGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgR3VhamlyaXRvc0dlbmVyYWxBdXRvY29tcGxldGVDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEd1YWppcml0b3NHZW5lcmFsQXV0b2NvbXBsZXRlTW9kdWxlIHtcbn1cbiJdfQ==
|
@@ -768,7 +768,15 @@ GuajiritosGeneralAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersio
|
|
768
768
|
GuajiritosGeneralAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GuajiritosGeneralAutocompleteModule, providers: [
|
769
769
|
UpperCasePipe,
|
770
770
|
CurrencyPipe,
|
771
|
-
AutocompleteService
|
771
|
+
AutocompleteService,
|
772
|
+
DurationTimePipe,
|
773
|
+
I18nFieldPipe,
|
774
|
+
ResolvePropertyPath,
|
775
|
+
HumanizeDurationPipe,
|
776
|
+
IdaReturnPipe,
|
777
|
+
ShowRolesPipe,
|
778
|
+
ShowSegmentsPipe,
|
779
|
+
ShowTransportTypesPipe
|
772
780
|
], imports: [CommonModule,
|
773
781
|
TranslateModule,
|
774
782
|
FormsModule,
|
@@ -808,7 +816,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
808
816
|
providers: [
|
809
817
|
UpperCasePipe,
|
810
818
|
CurrencyPipe,
|
811
|
-
AutocompleteService
|
819
|
+
AutocompleteService,
|
820
|
+
DurationTimePipe,
|
821
|
+
I18nFieldPipe,
|
822
|
+
ResolvePropertyPath,
|
823
|
+
HumanizeDurationPipe,
|
824
|
+
IdaReturnPipe,
|
825
|
+
ShowRolesPipe,
|
826
|
+
ShowSegmentsPipe,
|
827
|
+
ShowTransportTypesPipe
|
812
828
|
],
|
813
829
|
exports: [
|
814
830
|
GuajiritosGeneralAutocompleteComponent
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"guajiritos-general-autocomplete.mjs","sources":["../../../projects/guachos-general-autocomplete/src/utils/interfaces/interfaces.ts","../../../projects/guachos-general-autocomplete/src/utils/constants/contacts.ts","../../../projects/guachos-general-autocomplete/src/utils/services/utils.service.ts","../../../projects/guachos-general-autocomplete/src/utils/services/autocomplete.service.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/i18n-field.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-segments.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-roles.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-transport-types.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/ida-return.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/humanize-duration.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/duration.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/resolve-property-path.pipe.ts","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.component.ts","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.component.html","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.module.ts","../../../projects/guachos-general-autocomplete/src/public-api.ts","../../../projects/guachos-general-autocomplete/src/guajiritos-general-autocomplete.ts"],"sourcesContent":["declare type DisplayOptionItemType = 'divider' | 'path';\n\nexport enum CustomPipes {\n SHOW_SEGMENTS = 'showSegments',\n DURATION_TIME = 'durationTime',\n HUMANIZE_DURATION = 'humanizeDuration',\n SHOW_TRANSPORT_TYPES = 'showTransportTypes',\n SHOW_ROLES = 'showRoles',\n IDA_RETURN = 'idaReturn',\n CURRENCY = 'currency',\n UPPERCASE = 'uppercase',\n}\n\nexport interface DisplayOptionItem {\n type: DisplayOptionItemType;\n customPipe?: string;\n divider?: string;\n path?: string[];\n}\n\nexport interface DisplayOption {\n firthLabel: DisplayOptionItem[];\n secondLabel?: DisplayOptionItem[];\n filterString?: string[] | string;\n applyTranslate?: boolean;\n}\n\nexport interface RestrictionFilter {\n filter: string;\n value: string | number;\n}\n\nexport interface ApiFormData {\n attribute?: string[],\n filter?: any;\n relations?: any;\n}\n","import {DisplayOption} from \"../interfaces/interfaces\";\r\n\r\nexport const GENERAL_DISPLAY_OPTIONS: DisplayOption = {\r\n firthLabel: [\r\n {\r\n type: 'path',\r\n path: ['name']\r\n }\r\n ],\r\n applyTranslate: true\r\n};\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UtilsService {\r\n /**\r\n * Convierte el tiempo pasado por parámetro en horas y minutos\r\n *\r\n * @param time - Tiempo\r\n * @returns Devuelve las horas y minutos\r\n */\r\n private static getTime(time: number | string): { hours: number; minutes: number } {\r\n const hours: number = parseInt(Number(time) / 3600 + '', 10);\r\n time = Number(time) - (hours * 3600);\r\n const minutes: number = parseInt(Number(time) / 60 + '', 10);\r\n\r\n return {hours, minutes}\r\n }\r\n\r\n /**\r\n * Devuelve el tiempo en formato 'hh:mm'\r\n *\r\n * @param time - Tiempo\r\n */\r\n public static getTimePretty(time: number): string {\r\n const {hours, minutes} = UtilsService.getTime(time);\r\n\r\n return (hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes);\r\n }\r\n\r\n /**\r\n * Devuelve el tiempo en formato 'hhh : mmm'\r\n *\r\n * @param time - Tiempo\r\n */\r\n public static humanizeDuration(time: number | string): string {\r\n const {hours, minutes} = UtilsService.getTime(time);\r\n\r\n return (hours < 10 ? '0' + hours : hours) + 'h : ' + (minutes < 10 ? '0' + minutes : minutes) + 'm';\r\n }\r\n\r\n public static resolvePropertyByPath(obj: any, path: string[]): any {\r\n return path.reduce((prev, curr: string) => {\r\n return prev ? prev[curr] : null;\r\n }, obj || self);\r\n }\r\n}\r\n","import {HttpClient, HttpParams} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\nimport {map} from 'rxjs/operators';\r\nimport * as _ from 'lodash';\r\nimport {Observable} from 'rxjs';\r\n\r\nimport {ApiFormData, RestrictionFilter} from '../interfaces/interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AutocompleteService {\r\n constructor(\r\n private _httpClient: HttpClient\r\n ) {\r\n }\r\n\r\n private httpOptions = {};\r\n\r\n private processParams(filters: string[] | string | undefined, value: string): Promise<any> {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(async () => {\r\n let filter = {};\r\n\r\n if (Array.isArray(filters)) {\r\n for (const f of filters) {\r\n await this.processFilterString(f, value).then((resp: any) => {\r\n if (Object.keys(filter)?.length) {\r\n _.merge(filter, resp);\r\n } else {\r\n filter = {\r\n ...filter,\r\n ...resp\r\n };\r\n }\r\n\r\n if (f === filters[filters?.length - 1]) {\r\n resolve(filter);\r\n }\r\n });\r\n }\r\n } else if (typeof filters === 'string') {\r\n await this.processFilterString(filters, value).then((resp: any) => {\r\n filter = {\r\n ...filter,\r\n ...resp\r\n };\r\n\r\n resolve(filter);\r\n });\r\n } else {\r\n reject(null);\r\n }\r\n }, 100);\r\n });\r\n }\r\n\r\n private async processFilterString(filter: string, value: string): Promise<any> {\r\n let f: any = {};\r\n\r\n const arrayFilters: string[] = filter?.split('[');\r\n\r\n if (arrayFilters?.findIndex((a: string) => a === 'filter') >= 0) {\r\n arrayFilters?.splice(0, 1);\r\n }\r\n\r\n await this.createObjectFilters(arrayFilters, value).then((data: any) => {\r\n f = data;\r\n });\r\n\r\n return f;\r\n }\r\n\r\n private async createObjectFilters(array: string[], value: string): Promise<any> {\r\n for (let filter of array) {\r\n filter = filter?.replace(']', '');\r\n\r\n if (array.length > 1) {\r\n array.splice(0, 1);\r\n return {[filter]: await this.createObjectFilters(array, value)};\r\n } else {\r\n if (filter === '$like') {\r\n return {[filter]: '%' + value + '%'};\r\n } else {\r\n return {[filter]: value};\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async getAutocompleteByText(url: string, text?: string, field?: string[] | string, restrictions?: RestrictionFilter[],\r\n removeProperties?: string[], order?: string, bodyRequest?: ApiFormData): Promise<Observable<any>> {\r\n\r\n let httpParams: HttpParams = new HttpParams().set('offset', '0');\r\n httpParams = httpParams.append('limit', '20');\r\n\r\n if (order) {\r\n httpParams = httpParams.append('order', order);\r\n }\r\n\r\n if (!text) {\r\n text = '';\r\n }\r\n\r\n if (bodyRequest) {\r\n let body: ApiFormData = {};\r\n if (text && text !== '') {\r\n await this.processParams(field, text)\r\n .then((data: any) => {\r\n body = {\r\n ...bodyRequest,\r\n filter: data\r\n };\r\n });\r\n } else {\r\n body = JSON.parse(JSON.stringify(bodyRequest));\r\n }\r\n\r\n if (restrictions?.length) {\r\n for (let r of restrictions) {\r\n await this.processParams(r?.filter, r?.value?.toString())\r\n .then((data: any) => {\r\n let filtersAux = {...body?.filter}\r\n _.merge(filtersAux, data);\r\n body = {\r\n ...body,\r\n filter: filtersAux\r\n };\r\n httpParams = httpParams.set('form', JSON.stringify(body));\r\n });\r\n }\r\n } else {\r\n httpParams = httpParams.append('form', JSON.stringify(body));\r\n }\r\n } else {\r\n if (text && text !== '') {\r\n if (Array.isArray(field)) {\r\n for (const f of field) {\r\n httpParams = httpParams.append(f, '%' + text + '%');\r\n }\r\n } else {\r\n if (field?.includes('$like')) {\r\n httpParams = httpParams.append(field, '%' + text + '%');\r\n } else if (field) {\r\n httpParams = httpParams.append(field, text);\r\n }\r\n }\r\n }\r\n\r\n restrictions?.forEach((restriction: RestrictionFilter) => {\r\n if (restriction?.value) {\r\n httpParams = httpParams.append(restriction?.filter, restriction.value?.toString());\r\n }\r\n });\r\n }\r\n\r\n this.httpOptions = {params: httpParams};\r\n\r\n return this._httpClient\r\n .get<any>(url, this.httpOptions)\r\n .pipe(\r\n map((result: any) => {\r\n result?.data?.map((item: any) => {\r\n removeProperties?.forEach((property: string) => {\r\n delete item[property];\r\n });\r\n });\r\n return result;\r\n })\r\n );\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({name: 'i18nField'})\r\nexport class I18nFieldPipe implements PipeTransform {\r\n transform(value: any, lang: string): string {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n if (typeof value === 'string') {\r\n return value;\r\n }\r\n\r\n const keys = Object.keys(value);\r\n if (!value[lang]) {\r\n let i = 0;\r\n while (i < keys?.length && (value[keys[i]] === null || value[keys[i]] === '')) {\r\n i++;\r\n }\r\n return keys?.length > i ? value[keys[i]] : 'No está definido';\r\n }\r\n\r\n return value[lang] || 'No está definido';\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showSegments'})\r\nexport class ShowSegmentsPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.Segment?.PlaceOrigin?.alpha3 + '-' + item?.Segment?.PlaceDestination?.alpha3 + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showSegments'})\r\nexport class ShowRolesPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.Rol?.name + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showTransportTypes'})\r\nexport class ShowTransportTypesPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.TransportType?.name['es'] + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {CustomPipes} from \"../interfaces/interfaces\";\r\n\r\n@Injectable()\r\n@Pipe({name: 'idaReturn'})\r\nexport class IdaReturnPipe implements PipeTransform {\r\n transform(value: string): any {\r\n if (value === CustomPipes.IDA_RETURN) {\r\n return 'Ida y Vuelta';\r\n } else {\r\n return 'solo Ida';\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Pipe({\r\n name: 'humanizeDuration'\r\n})\r\nexport class HumanizeDurationPipe implements PipeTransform {\r\n transform(input: string): string {\r\n return UtilsService.humanizeDuration(input);\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Injectable()\r\n@Pipe({name: 'durationTime'})\r\nexport class DurationTimePipe implements PipeTransform {\r\n transform(value: number): string {\r\n return UtilsService.getTimePretty(value);\r\n }\r\n}\r\n","import {CurrencyPipe, UpperCasePipe} from '@angular/common';\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {DurationTimePipe} from './duration.pipe';\r\nimport {HumanizeDurationPipe} from './humanize-duration.pipe';\r\nimport {IdaReturnPipe} from './ida-return.pipe';\r\nimport {ShowRolesPipe} from './show-roles.pipe';\r\nimport {ShowSegmentsPipe} from './show-segments.pipe';\r\nimport {ShowTransportTypesPipe} from './show-transport-types.pipe';\r\nimport {CustomPipes, DisplayOptionItem} from \"../interfaces/interfaces\";\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Pipe({name: 'resolvePropertyPath'})\r\nexport class ResolvePropertyPath implements PipeTransform {\r\n\r\n constructor(\r\n private _showSegmentPipe: ShowSegmentsPipe,\r\n private _showRolesPipe: ShowRolesPipe,\r\n private _showTransportTypesPipe: ShowTransportTypesPipe,\r\n private _idaReturnPipe: IdaReturnPipe,\r\n private _currencyPipe: CurrencyPipe,\r\n private _humanizeDurationPipe: HumanizeDurationPipe,\r\n private _upperCasePipe: UpperCasePipe,\r\n private _durationPipe: DurationTimePipe\r\n ) {\r\n }\r\n\r\n transform(obj: any, path: DisplayOptionItem[]): string {\r\n let result: string = '';\r\n\r\n path?.forEach(item => {\r\n if (item?.type === 'divider') {\r\n result += item?.divider;\r\n } else {\r\n if (item?.path) {\r\n let value = UtilsService.resolvePropertyByPath(obj, item.path);\r\n\r\n switch (item?.customPipe) {\r\n case CustomPipes.SHOW_SEGMENTS:\r\n value = this._showSegmentPipe.transform(value);\r\n break;\r\n case CustomPipes.DURATION_TIME:\r\n value = this._durationPipe.transform(value);\r\n break;\r\n case CustomPipes.HUMANIZE_DURATION:\r\n value = this._humanizeDurationPipe.transform(value);\r\n break;\r\n case CustomPipes.SHOW_TRANSPORT_TYPES:\r\n value = this._showTransportTypesPipe.transform(value);\r\n break;\r\n case CustomPipes.SHOW_ROLES:\r\n value = this._showRolesPipe.transform(value);\r\n break;\r\n case CustomPipes.IDA_RETURN:\r\n value = this._idaReturnPipe.transform(value);\r\n break;\r\n case CustomPipes.CURRENCY:\r\n value = this._currencyPipe.transform(value);\r\n break;\r\n case CustomPipes.UPPERCASE:\r\n value = this._upperCasePipe.transform(value);\r\n break;\r\n default:\r\n break;\r\n }\r\n result += value;\r\n }\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n}\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport {ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, ValidationErrors, Validators} from '@angular/forms';\nimport {MatAutocompleteTrigger} from '@angular/material/autocomplete';\nimport {FloatLabelType} from '@angular/material/form-field';\nimport {TranslateService} from '@ngx-translate/core';\nimport {debounceTime, Observable, Subject, takeUntil} from 'rxjs';\n\nimport {GENERAL_DISPLAY_OPTIONS} from '../utils/constants/contacts';\nimport {AutocompleteService} from '../utils/services/autocomplete.service';\nimport {UtilsService} from '../utils/services/utils.service';\nimport {ApiFormData, DisplayOption, RestrictionFilter} from \"../utils/interfaces/interfaces\";\n\ndeclare interface PayloadResponse {\n data: any;\n meta: any;\n}\n\ndeclare interface GenericResponse {\n payload: PayloadResponse;\n error: any;\n requestId: string;\n}\n\n@Component({\n selector: 'guajiritos-general-autocomplete',\n templateUrl: './guachos-general-autocomplete.component.html',\n styleUrls: ['./guachos-general-autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GuajiritosGeneralAutocompleteComponent),\n multi: true\n }\n ]\n})\nexport class GuajiritosGeneralAutocompleteComponent implements OnInit, OnDestroy, ControlValueAccessor {\n\n constructor(\n private _autocompleteService: AutocompleteService,\n private _cdRef: ChangeDetectorRef,\n public translateService: TranslateService,\n ) {\n }\n\n private unsubscribeAll$: Subject<void> = new Subject<void>();\n private firstCall: boolean = true;\n private restrictionsFilters: RestrictionFilter[] = [];\n private selectedElement: any;\n private doFocusSubject: Subject<any>;\n private clearData$: Subject<any>;\n private _url: string;\n\n public required: boolean = true;\n public component: FormControl = new FormControl({\n value: null, disabled: false\n });\n public value: any;\n public disabled: boolean = false;\n public filteredOptions: any[];\n public loading: boolean = false;\n\n @ViewChild('inputText', {static: true}) inputText: ElementRef;\n /**\n * Possible values 'never', 'auto' or 'always'\n */\n @Input() floatLabel: FloatLabelType = 'auto';\n @Input() bodyRequest: ApiFormData;\n @Input() debounceTimeValue: number = 250;\n @Input() detailsTemplate: TemplateRef<any>;\n @Input() label: string = 'Seleccione';\n @Input() placeholder: string = 'Seleccione un elemento';\n @Input() field: string[] = ['name'];\n @Input() filterString: string = 'filter[$and][name][$like]';\n @Input() displayOptions: DisplayOption = GENERAL_DISPLAY_OPTIONS;\n @Input() withoutPaddingBottom: boolean = true;\n @Input() valueId: boolean = false;\n @Input() disable: boolean = false;\n @Input() order: string = null;\n @Input() removeProperties: string[] = [];\n @Output() SelectElement: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() set url(data: string) {\n if (data) {\n this._url = data;\n\n this.subscribeComponentChanges();\n }\n }\n\n @Input() set clearData(value: any) {\n this.clearData$ = value;\n if (this.clearData$) {\n this.clearData$\n .pipe(takeUntil(this.unsubscribeAll$))\n .subscribe(() => {\n this.component.setValue(null);\n this.selectedElement = null;\n this.SelectElement.emit(null);\n this.filteredOptions = [];\n this.onChanged(null);\n });\n }\n }\n\n @Input() set initialValue(value: any) {\n this.component.setValue(value);\n }\n\n @Input() set restrictions(value: any) {\n if (value) {\n this.restrictionsFilters = value;\n } else {\n this.restrictionsFilters = [];\n }\n }\n\n @Input() set isRequired(value: boolean) {\n this.required = value;\n\n if (this.required) {\n this.component.setValidators([Validators.required, GuajiritosGeneralAutocompleteComponent.ValidateAutocomplete]);\n } else {\n this.component.clearValidators();\n }\n\n this.component.updateValueAndValidity();\n }\n\n get doFocus(): Subject<any> {\n return this.doFocusSubject;\n }\n\n @Input() set doFocus(value: Subject<any>) {\n this.doFocusSubject = value;\n\n if (value) {\n this.doFocusSubject\n .pipe(takeUntil(this.unsubscribeAll$))\n .subscribe(() => {\n setTimeout(() => {\n this.inputText.nativeElement.focus();\n }, 500);\n });\n }\n }\n\n private static ValidateAutocomplete(control: FormControl): ValidationErrors {\n if (control?.value?.constructor !== Object || !control?.value?.id) {\n return {invalidSelection: true};\n }\n\n return null;\n }\n\n private subscribeComponentChanges(): void {\n this.component?.valueChanges\n ?.pipe(debounceTime(this.debounceTimeValue), takeUntil(this.unsubscribeAll$))\n ?.subscribe(() => {\n if (!this.firstCall) {\n this.getAutocompleteByTextHandler(this.getAutocompleteSearchText());\n } else {\n this.firstCall = false;\n }\n });\n }\n\n private getAutocompleteByTextHandler(text?: string): void {\n this._autocompleteService\n .getAutocompleteByText(this._url, text, this.filterString, this.restrictionsFilters,\n this.removeProperties, this.order, this.bodyRequest)\n .then((resp: Observable<any>) => {\n resp?.subscribe((result: GenericResponse) => {\n this.filteredOptions = result?.payload?.data;\n this.loading = false;\n this._cdRef.detectChanges();\n });\n });\n }\n\n private getAutocompleteSearchText(): string {\n this.loading = true;\n\n let text: string = null;\n if (this.component?.value) {\n if (typeof this.component.value === 'object') {\n const componentValue = this.component?.value[this.field[0]]\n if (typeof componentValue === 'object') {\n let lang: string = 'es';\n if (this.field[1]) {\n lang = this.field[1];\n }\n\n text = componentValue[lang];\n }\n } else if (typeof this.component?.value === 'string') {\n text = this.component.value;\n }\n }\n\n return text;\n }\n\n onChanged: any = () => {\n };\n\n onTouched: any = () => {\n };\n\n public clear(trigger: MatAutocompleteTrigger): void {\n this.component.setValue(null);\n this.selectedElement = null;\n this.SelectElement.emit(null);\n this._cdRef.detectChanges();\n this.onChanged(null);\n\n setTimeout(() => {\n trigger.openPanel();\n this._cdRef.detectChanges();\n }, 200);\n }\n\n public onFocus(): void {\n this.getAutocompleteByTextHandler(this.getAutocompleteSearchText());\n }\n\n public onSelectElement(item: any): void {\n this.selectedElement = item;\n this.SelectElement.emit(item);\n this.value = item;\n\n if (this.valueId) {\n this.onChanged(item?.id);\n } else {\n this.onChanged(item);\n }\n\n this._cdRef.detectChanges();\n }\n\n displayFn = (value: any) => {\n if (value) {\n if (typeof value === 'string') {\n return value;\n }\n\n let displayText = '';\n if (!this.displayOptions) {\n this.displayOptions = GENERAL_DISPLAY_OPTIONS;\n }\n this.displayOptions?.firthLabel?.forEach((field: any) => {\n if (field?.type === 'path') {\n displayText += UtilsService.resolvePropertyByPath(value, field?.path);\n } else {\n displayText += field?.divider;\n }\n });\n return displayText;\n }\n };\n\n writeValue(value: any): void {\n if (value) {\n if (typeof value === 'number') {\n this.value = value;\n } else if (typeof value === 'object') {\n this.component.setValue(value);\n this.value = value.id;\n } else {\n this.value = value;\n }\n } else {\n this.value = null;\n }\n\n this._cdRef.detectChanges();\n }\n\n registerOnChange(fn: any): void {\n this.onChanged = fn;\n this._cdRef.detectChanges();\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n this._cdRef.detectChanges();\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._cdRef.detectChanges();\n }\n\n ngOnInit(): void {\n this.component.markAllAsTouched();\n }\n\n ngOnDestroy(): void {\n this.unsubscribeAll$.next();\n this.unsubscribeAll$.complete();\n }\n}\n","<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\"\r\n appearance=\"outline\" class=\"w-100\" color=\"accent\">\r\n\r\n <mat-label>{{label | translate}}</mat-label>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (blur)=\"onTouched()\" (focus)=\"onFocus()\" [disabled]=\"disable\"\r\n [formControl]=\"component\" [matAutocomplete]=\"autocomplete\" [placeholder]=\"placeholder | translate\"\r\n aria-label=\"Number\" autocomplete=\"off\" matInput type=\"text\">\r\n <button (click)=\"clear(trigger)\" *ngIf=\"!loading && component?.value\" [disabled]=\"disable\" aria-label=\"Clear\"\r\n mat-icon-button matSuffix>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button *ngIf=\"loading\" aria-label=\"Clear\" mat-icon-button matSuffix>\r\n <mat-spinner [value]=\"90\" color=\"accent\" diameter=\"25\"></mat-spinner>\r\n </button>\r\n <mat-autocomplete #autocomplete=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\"\r\n (onSelectionChange)=\"onSelectElement(option)\">\r\n\r\n <ng-container *ngIf=\"!displayOptions && !detailsTemplate\">\r\n {{ option?.name | i18nField: translateService.currentLang }}\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!detailsTemplate\">\r\n <div class=\"display-options\">\r\n <span [ngStyle]=\"{'line-height': displayOptions?.secondLabel ? '16px' : ''}\">\r\n {{option | resolvePropertyPath:displayOptions?.firthLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n <span *ngIf=\"displayOptions?.secondLabel\" class=\"mat-caption\">\r\n {{option | resolvePropertyPath: displayOptions?.secondLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"detailsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate;context:{$implicit: option }\"></ng-container>\r\n </ng-container>\r\n\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n","import {NgModule} from '@angular/core';\nimport {CommonModule, CurrencyPipe, UpperCasePipe} from \"@angular/common\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {TranslateModule} from \"@ngx-translate/core\";\nimport {MatInputModule} from \"@angular/material/input\";\nimport {MatAutocompleteModule} from \"@angular/material/autocomplete\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatProgressSpinnerModule} from \"@angular/material/progress-spinner\";\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\n\nimport {AutocompleteService} from \"../utils/services/autocomplete.service\";\nimport {GuajiritosGeneralAutocompleteComponent} from './guachos-general-autocomplete.component';\nimport {DurationTimePipe} from \"../utils/pipes/duration.pipe\";\nimport {I18nFieldPipe} from \"../utils/pipes/i18n-field.pipe\";\nimport {ResolvePropertyPath} from \"../utils/pipes/resolve-property-path.pipe\";\nimport {HumanizeDurationPipe} from \"../utils/pipes/humanize-duration.pipe\";\nimport {IdaReturnPipe} from \"../utils/pipes/ida-return.pipe\";\nimport {ShowRolesPipe} from \"../utils/pipes/show-roles.pipe\";\nimport {ShowSegmentsPipe} from \"../utils/pipes/show-segments.pipe\";\nimport {ShowTransportTypesPipe} from \"../utils/pipes/show-transport-types.pipe\";\n\n@NgModule({\n declarations: [\n GuajiritosGeneralAutocompleteComponent,\n DurationTimePipe,\n I18nFieldPipe,\n ResolvePropertyPath,\n HumanizeDurationPipe,\n IdaReturnPipe,\n ShowRolesPipe,\n ShowSegmentsPipe,\n ShowTransportTypesPipe\n ],\n imports: [\n CommonModule,\n TranslateModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatButtonModule,\n MatInputModule,\n MatAutocompleteModule\n ],\n providers: [\n UpperCasePipe,\n CurrencyPipe,\n AutocompleteService\n ],\n exports: [\n GuajiritosGeneralAutocompleteComponent\n ]\n})\nexport class GuajiritosGeneralAutocompleteModule {\n}\n","/*\n * Public API Surface of guachos-general-autocomplete\n */\n\nexport * from './utils/interfaces/interfaces';\nexport * from './utils/constants/contacts';\nexport * from './lib/guachos-general-autocomplete.component';\nexport * from './lib/guachos-general-autocomplete.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ShowSegmentsPipe","i2.ShowRolesPipe","i3.ShowTransportTypesPipe","i4.IdaReturnPipe","i5","i6.HumanizeDurationPipe","i7.DurationTimePipe","i1.AutocompleteService","i12.I18nFieldPipe","i13.ResolvePropertyPath"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEY,IAAA,YASX;AATD,CAAA,UAAY,WAAW,EAAA;AACnB,IAAA,WAAA,CAAA,eAAA,CAAA,GAAA,cAA8B,CAAA;AAC9B,IAAA,WAAA,CAAA,eAAA,CAAA,GAAA,cAA8B,CAAA;AAC9B,IAAA,WAAA,CAAA,mBAAA,CAAA,GAAA,kBAAsC,CAAA;AACtC,IAAA,WAAA,CAAA,sBAAA,CAAA,GAAA,oBAA2C,CAAA;AAC3C,IAAA,WAAA,CAAA,YAAA,CAAA,GAAA,WAAwB,CAAA;AACxB,IAAA,WAAA,CAAA,YAAA,CAAA,GAAA,WAAwB,CAAA;AACxB,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,WAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AAC3B,CAAC,EATW,WAAW,KAAX,WAAW,GAStB,EAAA,CAAA,CAAA;;ACTY,MAAA,uBAAuB,GAAkB;AAClD,IAAA,UAAU,EAAE;AACR,QAAA;AACI,YAAA,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,CAAC,MAAM,CAAC;AACjB,SAAA;AACJ,KAAA;AACD,IAAA,cAAc,EAAE,IAAI;;;MCJX,YAAY,CAAA;AACrB;;;;;AAKG;IACK,OAAO,OAAO,CAAC,IAAqB,EAAA;AACxC,QAAA,MAAM,KAAK,GAAW,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;AACrC,QAAA,MAAM,OAAO,GAAW,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;AAE7D,QAAA,OAAO,EAAC,KAAK,EAAE,OAAO,EAAC,CAAA;KAC1B;AAED;;;;AAIG;IACI,OAAO,aAAa,CAAC,IAAY,EAAA;AACpC,QAAA,MAAM,EAAC,KAAK,EAAE,OAAO,EAAC,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpD,QAAA,OAAO,CAAC,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,KAAK,GAAG,KAAK,IAAI,GAAG,IAAI,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC;KAC9F;AAED;;;;AAIG;IACI,OAAO,gBAAgB,CAAC,IAAqB,EAAA;AAChD,QAAA,MAAM,EAAC,KAAK,EAAE,OAAO,EAAC,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpD,QAAA,OAAO,CAAC,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,KAAK,GAAG,KAAK,IAAI,MAAM,IAAI,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;KACvG;AAEM,IAAA,OAAO,qBAAqB,CAAC,GAAQ,EAAE,IAAc,EAAA;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAY,KAAI;AACtC,YAAA,OAAO,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACpC,SAAC,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;KACnB;;yGAzCQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFT,MAAM,EAAA,CAAA,CAAA;2FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;MCOY,mBAAmB,CAAA;AAC5B,IAAA,WAAA,CACY,WAAuB,EAAA;AAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AAI3B,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;KAFxB;IAIO,aAAa,CAAC,OAAsC,EAAE,KAAa,EAAA;QACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACnC,UAAU,CAAC,MAAW,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;gBAClB,IAAI,MAAM,GAAG,EAAE,CAAC;AAEhB,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACxB,oBAAA,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;AACrB,wBAAA,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAS,KAAI;;4BACxD,IAAI,CAAA,EAAA,GAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,EAAE;AAC7B,gCAAA,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzB,6BAAA;AAAM,iCAAA;AACH,gCAAA,MAAM,GACC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CACN,EAAA,IAAI,CACV,CAAC;AACL,6BAAA;AAED,4BAAA,IAAI,CAAC,KAAK,OAAO,CAAC,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,MAAM,IAAG,CAAC,CAAC,EAAE;gCACpC,OAAO,CAAC,MAAM,CAAC,CAAC;AACnB,6BAAA;AACL,yBAAC,CAAC,CAAC;AACN,qBAAA;AACJ,iBAAA;AAAM,qBAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACpC,oBAAA,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAS,KAAI;AAC9D,wBAAA,MAAM,GACC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CACN,EAAA,IAAI,CACV,CAAC;wBAEF,OAAO,CAAC,MAAM,CAAC,CAAC;AACpB,qBAAC,CAAC,CAAC;AACN,iBAAA;AAAM,qBAAA;oBACH,MAAM,CAAC,IAAI,CAAC,CAAC;AAChB,iBAAA;AACL,aAAC,CAAA,EAAE,GAAG,CAAC,CAAC;AACZ,SAAC,CAAC,CAAC;KACN;IAEa,mBAAmB,CAAC,MAAc,EAAE,KAAa,EAAA;;YAC3D,IAAI,CAAC,GAAQ,EAAE,CAAC;AAEhB,YAAA,MAAM,YAAY,GAAa,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAElD,IAAI,CAAA,YAAY,KAAZ,IAAA,IAAA,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAC,CAAC,CAAS,KAAK,CAAC,KAAK,QAAQ,CAAC,KAAI,CAAC,EAAE;gBAC7D,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,aAAA;AAED,YAAA,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAS,KAAI;gBACnE,CAAC,GAAG,IAAI,CAAC;AACb,aAAC,CAAC,CAAC;AAEH,YAAA,OAAO,CAAC,CAAC;SACZ,CAAA,CAAA;AAAA,KAAA;IAEa,mBAAmB,CAAC,KAAe,EAAE,KAAa,EAAA;;AAC5D,YAAA,KAAK,IAAI,MAAM,IAAI,KAAK,EAAE;AACtB,gBAAA,MAAM,GAAG,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAElC,gBAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAClB,oBAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnB,oBAAA,OAAO,EAAC,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAC,CAAC;AACnE,iBAAA;AAAM,qBAAA;oBACH,IAAI,MAAM,KAAK,OAAO,EAAE;wBACpB,OAAO,EAAC,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,EAAC,CAAC;AACxC,qBAAA;AAAM,yBAAA;AACH,wBAAA,OAAO,EAAC,CAAC,MAAM,GAAG,KAAK,EAAC,CAAC;AAC5B,qBAAA;AACJ,iBAAA;AACJ,aAAA;SACJ,CAAA,CAAA;AAAA,KAAA;AAEY,IAAA,qBAAqB,CAAC,GAAW,EAAE,IAAa,EAAE,KAAyB,EAAE,YAAkC,EACzF,gBAA2B,EAAE,KAAc,EAAE,WAAyB,EAAA;;;AAErG,YAAA,IAAI,UAAU,GAAe,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACjE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAE9C,YAAA,IAAI,KAAK,EAAE;gBACP,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAClD,aAAA;YAED,IAAI,CAAC,IAAI,EAAE;gBACP,IAAI,GAAG,EAAE,CAAC;AACb,aAAA;AAED,YAAA,IAAI,WAAW,EAAE;gBACb,IAAI,IAAI,GAAgB,EAAE,CAAC;AAC3B,gBAAA,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;AACrB,oBAAA,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC;AAChC,yBAAA,IAAI,CAAC,CAAC,IAAS,KAAI;AAChB,wBAAA,IAAI,mCACG,WAAW,CAAA,EAAA,EACd,MAAM,EAAE,IAAI,GACf,CAAC;AACN,qBAAC,CAAC,CAAC;AACV,iBAAA;AAAM,qBAAA;AACH,oBAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;AAClD,iBAAA;AAED,gBAAA,IAAI,YAAY,KAAZ,IAAA,IAAA,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;AACtB,oBAAA,KAAK,IAAI,CAAC,IAAI,YAAY,EAAE;wBACxB,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,KAAD,IAAA,IAAA,CAAC,KAAD,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAC,CAAE,MAAM,EAAE,CAAA,EAAA,GAAA,CAAC,KAAD,IAAA,IAAA,CAAC,KAAD,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAC,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,EAAE,CAAC;AACpD,6BAAA,IAAI,CAAC,CAAC,IAAS,KAAI;4BAChB,IAAI,UAAU,GAAO,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAA;AAClC,4BAAA,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC1B,4BAAA,IAAI,mCACG,IAAI,CAAA,EAAA,EACP,MAAM,EAAE,UAAU,GACrB,CAAC;AACF,4BAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,yBAAC,CAAC,CAAC;AACV,qBAAA;AACJ,iBAAA;AAAM,qBAAA;AACH,oBAAA,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,iBAAA;AACJ,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;AACrB,oBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACtB,wBAAA,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;AACnB,4BAAA,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;AACvD,yBAAA;AACJ,qBAAA;AAAM,yBAAA;wBACH,IAAI,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC1B,4BAAA,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;AAC3D,yBAAA;AAAM,6BAAA,IAAI,KAAK,EAAE;4BACd,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/C,yBAAA;AACJ,qBAAA;AACJ,iBAAA;gBAED,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,OAAO,CAAC,CAAC,WAA8B,KAAI;;AACrD,oBAAA,IAAI,WAAW,KAAX,IAAA,IAAA,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE;wBACpB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,MAAM,EAAE,MAAA,WAAW,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,EAAE,CAAC,CAAC;AACtF,qBAAA;AACL,iBAAC,CAAC,CAAC;AACN,aAAA;YAED,IAAI,CAAC,WAAW,GAAG,EAAC,MAAM,EAAE,UAAU,EAAC,CAAC;YAExC,OAAO,IAAI,CAAC,WAAW;AAClB,iBAAA,GAAG,CAAM,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC;AAC/B,iBAAA,IAAI,CACD,GAAG,CAAC,CAAC,MAAW,KAAI;;AAChB,gBAAA,CAAA,EAAA,GAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAC,CAAC,IAAS,KAAI;oBAC5B,gBAAgB,KAAA,IAAA,IAAhB,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhB,gBAAgB,CAAE,OAAO,CAAC,CAAC,QAAgB,KAAI;AAC3C,wBAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,qBAAC,CAAC,CAAC;AACP,iBAAC,CAAC,CAAC;AACH,gBAAA,OAAO,MAAM,CAAC;aACjB,CAAC,CACL,CAAC;;AACT,KAAA;;gHA/JQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFhB,MAAM,EAAA,CAAA,CAAA;2FAET,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;MCPY,aAAa,CAAA;IACtB,SAAS,CAAC,KAAU,EAAE,IAAY,EAAA;QAC9B,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;AAED,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,YAAA,OAAO,CAAC,IAAG,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,MAAM,CAAA,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE;AAC3E,gBAAA,CAAC,EAAE,CAAC;AACP,aAAA;YACD,OAAO,CAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,MAAM,IAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;AACjE,SAAA;AAED,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC;KAC5C;;0GApBQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;wGAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,IAAI;mBAAC,EAAC,IAAI,EAAE,WAAW,EAAC,CAAA;;;MCEZ,gBAAgB,CAAA;AACzB,IAAA,SAAS,CAAC,KAAY,EAAA;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;AAEhB,QAAA,IAAI,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE;AACf,YAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;;AACjB,gBAAA,MAAM,IAAI,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,IAAG,GAAG,IAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAA,GAAG,IAAI,CAAC;AACxG,aAAC,CAAC,CAAC;AAEH,YAAA,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA,MAAM,KAAN,IAAA,IAAA,MAAM,uBAAN,MAAM,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC;AACpD,SAAA;AAED,QAAA,OAAO,MAAM,CAAC;KACjB;;6GAbQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2GAAhB,gBAAgB,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;iHAAhB,gBAAgB,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAF5B,UAAU;;kBACV,IAAI;mBAAC,EAAC,IAAI,EAAE,cAAc,EAAC,CAAA;;;MCCf,aAAa,CAAA;AACtB,IAAA,SAAS,CAAC,KAAY,EAAA;QAElB,IAAI,MAAM,GAAG,EAAE,CAAC;AAEhB,QAAA,IAAI,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE;AACf,YAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;;AACjB,gBAAA,MAAM,IAAI,CAAA,CAAA,EAAA,GAAA,IAAI,aAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,GAAG,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,IAAG,IAAI,CAAC;AACrC,aAAC,CAAC,CAAC;AAEH,YAAA,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA,MAAM,KAAN,IAAA,IAAA,MAAM,uBAAN,MAAM,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC;AACpD,SAAA;AAED,QAAA,OAAO,MAAM,CAAC;KACjB;;0GAdQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;wGAAb,aAAa,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;8GAAb,aAAa,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAFzB,UAAU;;kBACV,IAAI;mBAAC,EAAC,IAAI,EAAE,cAAc,EAAC,CAAA;;;MCCf,sBAAsB,CAAA;AAC/B,IAAA,SAAS,CAAC,KAAY,EAAA;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;AAEhB,QAAA,IAAI,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE;AACf,YAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;;AACjB,gBAAA,MAAM,IAAI,CAAA,CAAA,EAAA,GAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,aAAa,0CAAE,IAAI,CAAC,IAAI,CAAC,IAAG,IAAI,CAAC;AACrD,aAAC,CAAC,CAAC;AAEH,YAAA,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA,MAAM,KAAN,IAAA,IAAA,MAAM,uBAAN,MAAM,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC;AACpD,SAAA;AAED,QAAA,OAAO,MAAM,CAAC;KACjB;;mHAbQ,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;iHAAtB,sBAAsB,EAAA,IAAA,EAAA,oBAAA,EAAA,CAAA,CAAA;uHAAtB,sBAAsB,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAFlC,UAAU;;kBACV,IAAI;mBAAC,EAAC,IAAI,EAAE,oBAAoB,EAAC,CAAA;;;MCGrB,aAAa,CAAA;AACtB,IAAA,SAAS,CAAC,KAAa,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,WAAW,CAAC,UAAU,EAAE;AAClC,YAAA,OAAO,cAAc,CAAC;AACzB,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,UAAU,CAAC;AACrB,SAAA;KACJ;;0GAPQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;wGAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;8GAAb,aAAa,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAFzB,UAAU;;kBACV,IAAI;mBAAC,EAAC,IAAI,EAAE,WAAW,EAAC,CAAA;;;MCEZ,oBAAoB,CAAA;AAC7B,IAAA,SAAS,CAAC,KAAa,EAAA;AACnB,QAAA,OAAO,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAC/C;;iHAHQ,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,kBAAkB;iBAC3B,CAAA;;;MCAY,gBAAgB,CAAA;AACzB,IAAA,SAAS,CAAC,KAAa,EAAA;AACnB,QAAA,OAAO,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC5C;;6GAHQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2GAAhB,gBAAgB,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;iHAAhB,gBAAgB,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAF5B,UAAU;;kBACV,IAAI;mBAAC,EAAC,IAAI,EAAE,cAAc,EAAC,CAAA;;;MCQf,mBAAmB,CAAA;AAE5B,IAAA,WAAA,CACY,gBAAkC,EAClC,cAA6B,EAC7B,uBAA+C,EAC/C,cAA6B,EAC7B,aAA2B,EAC3B,qBAA2C,EAC3C,cAA6B,EAC7B,aAA+B,EAAA;AAP/B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAClC,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAC7B,QAAA,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAAwB;AAC/C,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAC7B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;AAC3B,QAAA,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAsB;AAC3C,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAC7B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;KAE1C;IAED,SAAS,CAAC,GAAQ,EAAE,IAAyB,EAAA;QACzC,IAAI,MAAM,GAAW,EAAE,CAAC;QAExB,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,OAAO,CAAC,IAAI,IAAG;YACjB,IAAI,CAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,IAAI,MAAK,SAAS,EAAE;gBAC1B,MAAM,IAAI,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC;AAC3B,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE;AACZ,oBAAA,IAAI,KAAK,GAAG,YAAY,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAE/D,oBAAA,QAAQ,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,UAAU;wBACpB,KAAK,WAAW,CAAC,aAAa;4BAC1B,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4BAC/C,MAAM;wBACV,KAAK,WAAW,CAAC,aAAa;4BAC1B,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4BAC5C,MAAM;wBACV,KAAK,WAAW,CAAC,iBAAiB;4BAC9B,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4BACpD,MAAM;wBACV,KAAK,WAAW,CAAC,oBAAoB;4BACjC,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4BACtD,MAAM;wBACV,KAAK,WAAW,CAAC,UAAU;4BACvB,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4BAC7C,MAAM;wBACV,KAAK,WAAW,CAAC,UAAU;4BACvB,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4BAC7C,MAAM;wBACV,KAAK,WAAW,CAAC,QAAQ;4BACrB,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4BAC5C,MAAM;wBACV,KAAK,WAAW,CAAC,SAAS;4BACtB,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4BAC7C,MAAM;AACV,wBAAA;4BACI,MAAM;AACb,qBAAA;oBACD,MAAM,IAAI,KAAK,CAAC;AACnB,iBAAA;AACJ,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,MAAM,CAAC;KACjB;;gHA1DQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,qBAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,IAAI;mBAAC,EAAC,IAAI,EAAE,qBAAqB,EAAC,CAAA;;;MCqCtB,sCAAsC,CAAA;AAE/C,IAAA,WAAA,CACY,oBAAyC,EACzC,MAAyB,EAC1B,gBAAkC,EAAA;AAFjC,QAAA,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAqB;AACzC,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;AAC1B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAIrC,QAAA,IAAA,CAAA,eAAe,GAAkB,IAAI,OAAO,EAAQ,CAAC;AACrD,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;AAC1B,QAAA,IAAmB,CAAA,mBAAA,GAAwB,EAAE,CAAC;AAM/C,QAAA,IAAQ,CAAA,QAAA,GAAY,IAAI,CAAC;AACzB,QAAA,IAAS,CAAA,SAAA,GAAgB,IAAI,WAAW,CAAC;AAC5C,YAAA,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK;AAC/B,SAAA,CAAC,CAAC;AAEI,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAE1B,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAGhC;;AAEG;AACM,QAAA,IAAU,CAAA,UAAA,GAAmB,MAAM,CAAC;AAEpC,QAAA,IAAiB,CAAA,iBAAA,GAAW,GAAG,CAAC;AAEhC,QAAA,IAAK,CAAA,KAAA,GAAW,YAAY,CAAC;AAC7B,QAAA,IAAW,CAAA,WAAA,GAAW,wBAAwB,CAAC;AAC/C,QAAA,IAAA,CAAA,KAAK,GAAa,CAAC,MAAM,CAAC,CAAC;AAC3B,QAAA,IAAY,CAAA,YAAA,GAAW,2BAA2B,CAAC;AACnD,QAAA,IAAc,CAAA,cAAA,GAAkB,uBAAuB,CAAC;AACxD,QAAA,IAAoB,CAAA,oBAAA,GAAY,IAAI,CAAC;AACrC,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAK,CAAA,KAAA,GAAW,IAAI,CAAC;AACrB,QAAA,IAAgB,CAAA,gBAAA,GAAa,EAAE,CAAC;AAC/B,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAO,CAAC;AA2HrE,QAAA,IAAS,CAAA,SAAA,GAAQ,MAAK;AACtB,SAAC,CAAC;AAEF,QAAA,IAAS,CAAA,SAAA,GAAQ,MAAK;AACtB,SAAC,CAAC;AAiCF,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,KAAU,KAAI;;AACvB,YAAA,IAAI,KAAK,EAAE;AACP,gBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,oBAAA,OAAO,KAAK,CAAC;AAChB,iBAAA;gBAED,IAAI,WAAW,GAAG,EAAE,CAAC;AACrB,gBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACtB,oBAAA,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC;AACjD,iBAAA;AACD,gBAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC,CAAC,KAAU,KAAI;oBACpD,IAAI,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,IAAI,MAAK,MAAM,EAAE;AACxB,wBAAA,WAAW,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,IAAI,CAAC,CAAC;AACzE,qBAAA;AAAM,yBAAA;wBACH,WAAW,IAAI,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC;AACjC,qBAAA;AACL,iBAAC,CAAC,CAAC;AACH,gBAAA,OAAO,WAAW,CAAC;AACtB,aAAA;AACL,SAAC,CAAC;KAxND;IAuCD,IAAa,GAAG,CAAC,IAAY,EAAA;AACzB,QAAA,IAAI,IAAI,EAAE;AACN,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,IAAI,CAAC,yBAAyB,EAAE,CAAC;AACpC,SAAA;KACJ;IAED,IAAa,SAAS,CAAC,KAAU,EAAA;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU;AACV,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;iBACrC,SAAS,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9B,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,gBAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;AAC1B,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,aAAC,CAAC,CAAC;AACV,SAAA;KACJ;IAED,IAAa,YAAY,CAAC,KAAU,EAAA;AAChC,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAClC;IAED,IAAa,YAAY,CAAC,KAAU,EAAA;AAChC,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;AACpC,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;AACjC,SAAA;KACJ;IAED,IAAa,UAAU,CAAC,KAAc,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,sCAAsC,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACpH,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;AACpC,SAAA;AAED,QAAA,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC;KAC3C;AAED,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;IAED,IAAa,OAAO,CAAC,KAAmB,EAAA;AACpC,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAE5B,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,cAAc;AACd,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;iBACrC,SAAS,CAAC,MAAK;gBACZ,UAAU,CAAC,MAAK;AACZ,oBAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;iBACxC,EAAE,GAAG,CAAC,CAAC;AACZ,aAAC,CAAC,CAAC;AACV,SAAA;KACJ;IAEO,OAAO,oBAAoB,CAAC,OAAoB,EAAA;;QACpD,IAAI,CAAA,CAAA,EAAA,GAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,MAAK,MAAM,IAAI,EAAC,CAAA,EAAA,GAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,EAAE,CAAA,EAAE;AAC/D,YAAA,OAAO,EAAC,gBAAgB,EAAE,IAAI,EAAC,CAAC;AACnC,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;IAEO,yBAAyB,GAAA;;AAC7B,QAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAC3E,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,CAAC,MAAK;AACb,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjB,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;AACvE,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAC1B,aAAA;AACL,SAAC,CAAC,CAAC;KACV;AAEO,IAAA,4BAA4B,CAAC,IAAa,EAAA;AAC9C,QAAA,IAAI,CAAC,oBAAoB;aACpB,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAC/E,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;AACvD,aAAA,IAAI,CAAC,CAAC,IAAqB,KAAI;YAC5B,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,SAAS,CAAC,CAAC,MAAuB,KAAI;;AACxC,gBAAA,IAAI,CAAC,eAAe,GAAG,CAAA,EAAA,GAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC;AAC7C,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,gBAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;AAChC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACV;IAEO,yBAAyB,GAAA;;AAC7B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,IAAI,GAAW,IAAI,CAAC;AACxB,QAAA,IAAI,MAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE;YACvB,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE;AAC1C,gBAAA,MAAM,cAAc,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3D,gBAAA,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;oBACpC,IAAI,IAAI,GAAW,IAAI,CAAC;AACxB,oBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AACf,wBAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxB,qBAAA;AAED,oBAAA,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;AAC/B,iBAAA;AACJ,aAAA;iBAAM,IAAI,QAAO,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAA,KAAK,QAAQ,EAAE;AAClD,gBAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC/B,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAQM,IAAA,KAAK,CAAC,OAA+B,EAAA;AACxC,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAErB,UAAU,CAAC,MAAK;YACZ,OAAO,CAAC,SAAS,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;SAC/B,EAAE,GAAG,CAAC,CAAC;KACX;IAEM,OAAO,GAAA;QACV,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;KACvE;AAEM,IAAA,eAAe,CAAC,IAAS,EAAA;AAC5B,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,SAAS,CAAC,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,EAAE,CAAC,CAAC;AAC5B,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACxB,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;KAC/B;AAuBD,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACtB,aAAA;AAAM,iBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAClC,gBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/B,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;AACzB,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACtB,aAAA;AACJ,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACrB,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;KAC/B;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;KAC/B;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;KAC/B;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;KAC/B;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;KACrC;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;KACnC;;mIAxQQ,sCAAsC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,sCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sCAAsC,EARpC,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,GAAA,EAAA,KAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sCAAsC,CAAC;AACrE,YAAA,KAAK,EAAE,IAAI;AACd,SAAA;AACJ,KAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/CL,g0EAwCA,EAAA,MAAA,EAAA,CAAA,iNAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDSa,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAblD,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iCAAiC,EAG1B,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;AACrE,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;qBACJ,EAAA,QAAA,EAAA,g0EAAA,EAAA,MAAA,EAAA,CAAA,iNAAA,CAAA,EAAA,CAAA;sKA4BuC,SAAS,EAAA,CAAA;sBAAhD,SAAS;gBAAC,IAAA,EAAA,CAAA,WAAW,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAA;gBAI7B,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACI,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBAEM,GAAG,EAAA,CAAA;sBAAf,KAAK;gBAQO,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAeO,YAAY,EAAA,CAAA;sBAAxB,KAAK;gBAIO,YAAY,EAAA,CAAA;sBAAxB,KAAK;gBAQO,UAAU,EAAA,CAAA;sBAAtB,KAAK;gBAgBO,OAAO,EAAA,CAAA;sBAAnB,KAAK;;;ME3FG,mCAAmC,CAAA;;gIAAnC,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnC,mCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mCAAmC,iBA/BxC,sCAAsC;QACtC,gBAAgB;QAChB,aAAa;QACb,mBAAmB;QACnB,oBAAoB;QACpB,aAAa;QACb,aAAa;QACb,gBAAgB;AAChB,QAAA,sBAAsB,aAGtB,YAAY;QACZ,eAAe;QACf,WAAW;QACX,mBAAmB;QACnB,kBAAkB;QAClB,aAAa;QACb,wBAAwB;QACxB,eAAe;QACf,cAAc;QACd,qBAAqB,aAQrB,sCAAsC,CAAA,EAAA,CAAA,CAAA;AAGjC,mCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mCAAmC,EATjC,SAAA,EAAA;QACP,aAAa;QACb,YAAY;QACZ,mBAAmB;KACtB,EAAA,OAAA,EAAA,CAfG,YAAY;QACZ,eAAe;QACf,WAAW;QACX,mBAAmB;QACnB,kBAAkB;QAClB,aAAa;QACb,wBAAwB;QACxB,eAAe;QACf,cAAc;QACd,qBAAqB,CAAA,EAAA,CAAA,CAAA;2FAWhB,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAjC/C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE;wBACV,sCAAsC;wBACtC,gBAAgB;wBAChB,aAAa;wBACb,mBAAmB;wBACnB,oBAAoB;wBACpB,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,sBAAsB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,eAAe;wBACf,WAAW;wBACX,mBAAmB;wBACnB,kBAAkB;wBAClB,aAAa;wBACb,wBAAwB;wBACxB,eAAe;wBACf,cAAc;wBACd,qBAAqB;AACxB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACP,aAAa;wBACb,YAAY;wBACZ,mBAAmB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,sCAAsC;AACzC,qBAAA;iBACJ,CAAA;;;ACtDD;;AAEG;;ACFH;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"guajiritos-general-autocomplete.mjs","sources":["../../../projects/guachos-general-autocomplete/src/utils/interfaces/interfaces.ts","../../../projects/guachos-general-autocomplete/src/utils/constants/contacts.ts","../../../projects/guachos-general-autocomplete/src/utils/services/utils.service.ts","../../../projects/guachos-general-autocomplete/src/utils/services/autocomplete.service.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/i18n-field.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-segments.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-roles.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-transport-types.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/ida-return.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/humanize-duration.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/duration.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/resolve-property-path.pipe.ts","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.component.ts","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.component.html","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.module.ts","../../../projects/guachos-general-autocomplete/src/public-api.ts","../../../projects/guachos-general-autocomplete/src/guajiritos-general-autocomplete.ts"],"sourcesContent":["declare type DisplayOptionItemType = 'divider' | 'path';\n\nexport enum CustomPipes {\n SHOW_SEGMENTS = 'showSegments',\n DURATION_TIME = 'durationTime',\n HUMANIZE_DURATION = 'humanizeDuration',\n SHOW_TRANSPORT_TYPES = 'showTransportTypes',\n SHOW_ROLES = 'showRoles',\n IDA_RETURN = 'idaReturn',\n CURRENCY = 'currency',\n UPPERCASE = 'uppercase',\n}\n\nexport interface DisplayOptionItem {\n type: DisplayOptionItemType;\n customPipe?: string;\n divider?: string;\n path?: string[];\n}\n\nexport interface DisplayOption {\n firthLabel: DisplayOptionItem[];\n secondLabel?: DisplayOptionItem[];\n filterString?: string[] | string;\n applyTranslate?: boolean;\n}\n\nexport interface RestrictionFilter {\n filter: string;\n value: string | number;\n}\n\nexport interface ApiFormData {\n attribute?: string[],\n filter?: any;\n relations?: any;\n}\n","import {DisplayOption} from \"../interfaces/interfaces\";\r\n\r\nexport const GENERAL_DISPLAY_OPTIONS: DisplayOption = {\r\n firthLabel: [\r\n {\r\n type: 'path',\r\n path: ['name']\r\n }\r\n ],\r\n applyTranslate: true\r\n};\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UtilsService {\r\n /**\r\n * Convierte el tiempo pasado por parámetro en horas y minutos\r\n *\r\n * @param time - Tiempo\r\n * @returns Devuelve las horas y minutos\r\n */\r\n private static getTime(time: number | string): { hours: number; minutes: number } {\r\n const hours: number = parseInt(Number(time) / 3600 + '', 10);\r\n time = Number(time) - (hours * 3600);\r\n const minutes: number = parseInt(Number(time) / 60 + '', 10);\r\n\r\n return {hours, minutes}\r\n }\r\n\r\n /**\r\n * Devuelve el tiempo en formato 'hh:mm'\r\n *\r\n * @param time - Tiempo\r\n */\r\n public static getTimePretty(time: number): string {\r\n const {hours, minutes} = UtilsService.getTime(time);\r\n\r\n return (hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes);\r\n }\r\n\r\n /**\r\n * Devuelve el tiempo en formato 'hhh : mmm'\r\n *\r\n * @param time - Tiempo\r\n */\r\n public static humanizeDuration(time: number | string): string {\r\n const {hours, minutes} = UtilsService.getTime(time);\r\n\r\n return (hours < 10 ? '0' + hours : hours) + 'h : ' + (minutes < 10 ? '0' + minutes : minutes) + 'm';\r\n }\r\n\r\n public static resolvePropertyByPath(obj: any, path: string[]): any {\r\n return path.reduce((prev, curr: string) => {\r\n return prev ? prev[curr] : null;\r\n }, obj || self);\r\n }\r\n}\r\n","import {HttpClient, HttpParams} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\nimport {map} from 'rxjs/operators';\r\nimport * as _ from 'lodash';\r\nimport {Observable} from 'rxjs';\r\n\r\nimport {ApiFormData, RestrictionFilter} from '../interfaces/interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AutocompleteService {\r\n constructor(\r\n private _httpClient: HttpClient\r\n ) {\r\n }\r\n\r\n private httpOptions = {};\r\n\r\n private processParams(filters: string[] | string | undefined, value: string): Promise<any> {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(async () => {\r\n let filter = {};\r\n\r\n if (Array.isArray(filters)) {\r\n for (const f of filters) {\r\n await this.processFilterString(f, value).then((resp: any) => {\r\n if (Object.keys(filter)?.length) {\r\n _.merge(filter, resp);\r\n } else {\r\n filter = {\r\n ...filter,\r\n ...resp\r\n };\r\n }\r\n\r\n if (f === filters[filters?.length - 1]) {\r\n resolve(filter);\r\n }\r\n });\r\n }\r\n } else if (typeof filters === 'string') {\r\n await this.processFilterString(filters, value).then((resp: any) => {\r\n filter = {\r\n ...filter,\r\n ...resp\r\n };\r\n\r\n resolve(filter);\r\n });\r\n } else {\r\n reject(null);\r\n }\r\n }, 100);\r\n });\r\n }\r\n\r\n private async processFilterString(filter: string, value: string): Promise<any> {\r\n let f: any = {};\r\n\r\n const arrayFilters: string[] = filter?.split('[');\r\n\r\n if (arrayFilters?.findIndex((a: string) => a === 'filter') >= 0) {\r\n arrayFilters?.splice(0, 1);\r\n }\r\n\r\n await this.createObjectFilters(arrayFilters, value).then((data: any) => {\r\n f = data;\r\n });\r\n\r\n return f;\r\n }\r\n\r\n private async createObjectFilters(array: string[], value: string): Promise<any> {\r\n for (let filter of array) {\r\n filter = filter?.replace(']', '');\r\n\r\n if (array.length > 1) {\r\n array.splice(0, 1);\r\n return {[filter]: await this.createObjectFilters(array, value)};\r\n } else {\r\n if (filter === '$like') {\r\n return {[filter]: '%' + value + '%'};\r\n } else {\r\n return {[filter]: value};\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async getAutocompleteByText(url: string, text?: string, field?: string[] | string, restrictions?: RestrictionFilter[],\r\n removeProperties?: string[], order?: string, bodyRequest?: ApiFormData): Promise<Observable<any>> {\r\n\r\n let httpParams: HttpParams = new HttpParams().set('offset', '0');\r\n httpParams = httpParams.append('limit', '20');\r\n\r\n if (order) {\r\n httpParams = httpParams.append('order', order);\r\n }\r\n\r\n if (!text) {\r\n text = '';\r\n }\r\n\r\n if (bodyRequest) {\r\n let body: ApiFormData = {};\r\n if (text && text !== '') {\r\n await this.processParams(field, text)\r\n .then((data: any) => {\r\n body = {\r\n ...bodyRequest,\r\n filter: data\r\n };\r\n });\r\n } else {\r\n body = JSON.parse(JSON.stringify(bodyRequest));\r\n }\r\n\r\n if (restrictions?.length) {\r\n for (let r of restrictions) {\r\n await this.processParams(r?.filter, r?.value?.toString())\r\n .then((data: any) => {\r\n let filtersAux = {...body?.filter}\r\n _.merge(filtersAux, data);\r\n body = {\r\n ...body,\r\n filter: filtersAux\r\n };\r\n httpParams = httpParams.set('form', JSON.stringify(body));\r\n });\r\n }\r\n } else {\r\n httpParams = httpParams.append('form', JSON.stringify(body));\r\n }\r\n } else {\r\n if (text && text !== '') {\r\n if (Array.isArray(field)) {\r\n for (const f of field) {\r\n httpParams = httpParams.append(f, '%' + text + '%');\r\n }\r\n } else {\r\n if (field?.includes('$like')) {\r\n httpParams = httpParams.append(field, '%' + text + '%');\r\n } else if (field) {\r\n httpParams = httpParams.append(field, text);\r\n }\r\n }\r\n }\r\n\r\n restrictions?.forEach((restriction: RestrictionFilter) => {\r\n if (restriction?.value) {\r\n httpParams = httpParams.append(restriction?.filter, restriction.value?.toString());\r\n }\r\n });\r\n }\r\n\r\n this.httpOptions = {params: httpParams};\r\n\r\n return this._httpClient\r\n .get<any>(url, this.httpOptions)\r\n .pipe(\r\n map((result: any) => {\r\n result?.data?.map((item: any) => {\r\n removeProperties?.forEach((property: string) => {\r\n delete item[property];\r\n });\r\n });\r\n return result;\r\n })\r\n );\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({name: 'i18nField'})\r\nexport class I18nFieldPipe implements PipeTransform {\r\n transform(value: any, lang: string): string {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n if (typeof value === 'string') {\r\n return value;\r\n }\r\n\r\n const keys = Object.keys(value);\r\n if (!value[lang]) {\r\n let i = 0;\r\n while (i < keys?.length && (value[keys[i]] === null || value[keys[i]] === '')) {\r\n i++;\r\n }\r\n return keys?.length > i ? value[keys[i]] : 'No está definido';\r\n }\r\n\r\n return value[lang] || 'No está definido';\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showSegments'})\r\nexport class ShowSegmentsPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.Segment?.PlaceOrigin?.alpha3 + '-' + item?.Segment?.PlaceDestination?.alpha3 + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showSegments'})\r\nexport class ShowRolesPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.Rol?.name + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showTransportTypes'})\r\nexport class ShowTransportTypesPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.TransportType?.name['es'] + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {CustomPipes} from \"../interfaces/interfaces\";\r\n\r\n@Injectable()\r\n@Pipe({name: 'idaReturn'})\r\nexport class IdaReturnPipe implements PipeTransform {\r\n transform(value: string): any {\r\n if (value === CustomPipes.IDA_RETURN) {\r\n return 'Ida y Vuelta';\r\n } else {\r\n return 'solo Ida';\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Pipe({\r\n name: 'humanizeDuration'\r\n})\r\nexport class HumanizeDurationPipe implements PipeTransform {\r\n transform(input: string): string {\r\n return UtilsService.humanizeDuration(input);\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Injectable()\r\n@Pipe({name: 'durationTime'})\r\nexport class DurationTimePipe implements PipeTransform {\r\n transform(value: number): string {\r\n return UtilsService.getTimePretty(value);\r\n }\r\n}\r\n","import {CurrencyPipe, UpperCasePipe} from '@angular/common';\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {DurationTimePipe} from './duration.pipe';\r\nimport {HumanizeDurationPipe} from './humanize-duration.pipe';\r\nimport {IdaReturnPipe} from './ida-return.pipe';\r\nimport {ShowRolesPipe} from './show-roles.pipe';\r\nimport {ShowSegmentsPipe} from './show-segments.pipe';\r\nimport {ShowTransportTypesPipe} from './show-transport-types.pipe';\r\nimport {CustomPipes, DisplayOptionItem} from \"../interfaces/interfaces\";\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Pipe({name: 'resolvePropertyPath'})\r\nexport class ResolvePropertyPath implements PipeTransform {\r\n\r\n constructor(\r\n private _showSegmentPipe: ShowSegmentsPipe,\r\n private _showRolesPipe: ShowRolesPipe,\r\n private _showTransportTypesPipe: ShowTransportTypesPipe,\r\n private _idaReturnPipe: IdaReturnPipe,\r\n private _currencyPipe: CurrencyPipe,\r\n private _humanizeDurationPipe: HumanizeDurationPipe,\r\n private _upperCasePipe: UpperCasePipe,\r\n private _durationPipe: DurationTimePipe\r\n ) {\r\n }\r\n\r\n transform(obj: any, path: DisplayOptionItem[]): string {\r\n let result: string = '';\r\n\r\n path?.forEach(item => {\r\n if (item?.type === 'divider') {\r\n result += item?.divider;\r\n } else {\r\n if (item?.path) {\r\n let value = UtilsService.resolvePropertyByPath(obj, item.path);\r\n\r\n switch (item?.customPipe) {\r\n case CustomPipes.SHOW_SEGMENTS:\r\n value = this._showSegmentPipe.transform(value);\r\n break;\r\n case CustomPipes.DURATION_TIME:\r\n value = this._durationPipe.transform(value);\r\n break;\r\n case CustomPipes.HUMANIZE_DURATION:\r\n value = this._humanizeDurationPipe.transform(value);\r\n break;\r\n case CustomPipes.SHOW_TRANSPORT_TYPES:\r\n value = this._showTransportTypesPipe.transform(value);\r\n break;\r\n case CustomPipes.SHOW_ROLES:\r\n value = this._showRolesPipe.transform(value);\r\n break;\r\n case CustomPipes.IDA_RETURN:\r\n value = this._idaReturnPipe.transform(value);\r\n break;\r\n case CustomPipes.CURRENCY:\r\n value = this._currencyPipe.transform(value);\r\n break;\r\n case CustomPipes.UPPERCASE:\r\n value = this._upperCasePipe.transform(value);\r\n break;\r\n default:\r\n break;\r\n }\r\n result += value;\r\n }\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n}\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NG_VALUE_ACCESSOR,\n Validators\n} from '@angular/forms';\nimport {MatAutocompleteTrigger} from '@angular/material/autocomplete';\nimport {FloatLabelType} from '@angular/material/form-field';\nimport {TranslateService} from '@ngx-translate/core';\nimport {debounceTime, Observable, Subject, takeUntil} from 'rxjs';\n\nimport {GENERAL_DISPLAY_OPTIONS} from '../utils/constants/contacts';\nimport {AutocompleteService} from '../utils/services/autocomplete.service';\nimport {UtilsService} from '../utils/services/utils.service';\nimport {ApiFormData, DisplayOption, RestrictionFilter} from \"../utils/interfaces/interfaces\";\n\ndeclare interface PayloadResponse {\n data: any;\n meta: any;\n}\n\ndeclare interface GenericResponse {\n payload: PayloadResponse;\n error: any;\n requestId: string;\n}\n\n@Component({\n selector: 'guajiritos-general-autocomplete',\n templateUrl: './guachos-general-autocomplete.component.html',\n styleUrls: ['./guachos-general-autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GuajiritosGeneralAutocompleteComponent),\n multi: true\n }\n ]\n})\nexport class GuajiritosGeneralAutocompleteComponent implements OnInit, OnDestroy, ControlValueAccessor {\n\n constructor(\n private _autocompleteService: AutocompleteService,\n private _cdRef: ChangeDetectorRef,\n public translateService: TranslateService,\n ) {\n }\n\n private unsubscribeAll$: Subject<void> = new Subject<void>();\n private firstCall: boolean = true;\n private restrictionsFilters: RestrictionFilter[] = [];\n private selectedElement: any;\n private doFocusSubject: Subject<any>;\n private clearData$: Subject<any>;\n private _url: string;\n\n public required: boolean = true;\n public component: FormControl = new FormControl({\n value: null, disabled: false\n });\n public value: any;\n public disabled: boolean = false;\n public filteredOptions: any[];\n public loading: boolean = false;\n\n @ViewChild('inputText', {static: true}) inputText: ElementRef;\n /**\n * Possible values 'never', 'auto' or 'always'\n */\n @Input() floatLabel: FloatLabelType = 'auto';\n @Input() bodyRequest: ApiFormData;\n @Input() debounceTimeValue: number = 250;\n @Input() detailsTemplate: TemplateRef<any>;\n @Input() label: string = 'Seleccione';\n @Input() placeholder: string = 'Seleccione un elemento';\n @Input() field: string[] = ['name'];\n @Input() filterString: string = 'filter[$and][name][$like]';\n @Input() displayOptions: DisplayOption = GENERAL_DISPLAY_OPTIONS;\n @Input() withoutPaddingBottom: boolean = true;\n @Input() valueId: boolean = false;\n @Input() disable: boolean = false;\n @Input() order: string = null;\n @Input() removeProperties: string[] = [];\n @Output() SelectElement: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() set url(data: string) {\n if (data) {\n this._url = data;\n\n this.subscribeComponentChanges();\n }\n }\n\n @Input() set clearData(value: any) {\n this.clearData$ = value;\n if (this.clearData$) {\n this.clearData$\n .pipe(takeUntil(this.unsubscribeAll$))\n .subscribe(() => {\n this.component.setValue(null);\n this.selectedElement = null;\n this.SelectElement.emit(null);\n this.filteredOptions = [];\n this.onChanged(null);\n });\n }\n }\n\n @Input() set initialValue(value: any) {\n this.component.setValue(value);\n }\n\n @Input() set restrictions(value: any) {\n if (value) {\n this.restrictionsFilters = value;\n } else {\n this.restrictionsFilters = [];\n }\n }\n\n @Input() set isRequired(value: boolean) {\n this.required = value;\n\n if (this.required) {\n this.component.setValidators([Validators.required, GuajiritosGeneralAutocompleteComponent.ValidateAutocomplete]);\n } else {\n this.component.clearValidators();\n }\n\n this.component.updateValueAndValidity();\n }\n\n get doFocus(): Subject<any> {\n return this.doFocusSubject;\n }\n\n @Input() set doFocus(value: Subject<any>) {\n this.doFocusSubject = value;\n\n if (value) {\n this.doFocusSubject\n .pipe(takeUntil(this.unsubscribeAll$))\n .subscribe(() => {\n setTimeout(() => {\n this.inputText.nativeElement.focus();\n }, 500);\n });\n }\n }\n\n private static ValidateAutocomplete(control: FormControl) {\n if (control?.value?.constructor !== Object || !control?.value?.id) {\n return {invalidSelection: true};\n }\n\n return null;\n }\n\n private subscribeComponentChanges(): void {\n this.component?.valueChanges\n ?.pipe(debounceTime(this.debounceTimeValue), takeUntil(this.unsubscribeAll$))\n ?.subscribe(() => {\n if (!this.firstCall) {\n this.getAutocompleteByTextHandler(this.getAutocompleteSearchText());\n } else {\n this.firstCall = false;\n }\n });\n }\n\n private getAutocompleteByTextHandler(text?: string): void {\n this._autocompleteService\n .getAutocompleteByText(this._url, text, this.filterString, this.restrictionsFilters,\n this.removeProperties, this.order, this.bodyRequest)\n .then((resp: Observable<any>) => {\n resp?.subscribe((result: GenericResponse) => {\n this.filteredOptions = result?.payload?.data;\n this.loading = false;\n this._cdRef.detectChanges();\n });\n });\n }\n\n private getAutocompleteSearchText(): string {\n this.loading = true;\n\n let text: string = null;\n if (this.component?.value) {\n if (typeof this.component.value === 'object') {\n const componentValue = this.component?.value[this.field[0]]\n if (typeof componentValue === 'object') {\n let lang: string = 'es';\n if (this.field[1]) {\n lang = this.field[1];\n }\n\n text = componentValue[lang];\n }\n } else if (typeof this.component?.value === 'string') {\n text = this.component.value;\n }\n }\n\n return text;\n }\n\n onChanged: any = () => {\n };\n\n onTouched: any = () => {\n };\n\n public clear(trigger: MatAutocompleteTrigger): void {\n this.component.setValue(null);\n this.selectedElement = null;\n this.SelectElement.emit(null);\n this._cdRef.detectChanges();\n this.onChanged(null);\n\n setTimeout(() => {\n trigger.openPanel();\n this._cdRef.detectChanges();\n }, 200);\n }\n\n public onFocus(): void {\n this.getAutocompleteByTextHandler(this.getAutocompleteSearchText());\n }\n\n public onSelectElement(item: any): void {\n this.selectedElement = item;\n this.SelectElement.emit(item);\n this.value = item;\n\n if (this.valueId) {\n this.onChanged(item?.id);\n } else {\n this.onChanged(item);\n }\n\n this._cdRef.detectChanges();\n }\n\n displayFn = (value: any) => {\n if (value) {\n if (typeof value === 'string') {\n return value;\n }\n\n let displayText = '';\n if (!this.displayOptions) {\n this.displayOptions = GENERAL_DISPLAY_OPTIONS;\n }\n this.displayOptions?.firthLabel?.forEach((field: any) => {\n if (field?.type === 'path') {\n displayText += UtilsService.resolvePropertyByPath(value, field?.path);\n } else {\n displayText += field?.divider;\n }\n });\n return displayText;\n }\n };\n\n writeValue(value: any): void {\n if (value) {\n if (typeof value === 'number') {\n this.value = value;\n } else if (typeof value === 'object') {\n this.component.setValue(value);\n this.value = value.id;\n } else {\n this.value = value;\n }\n } else {\n this.value = null;\n }\n\n this._cdRef.detectChanges();\n }\n\n registerOnChange(fn: any): void {\n this.onChanged = fn;\n this._cdRef.detectChanges();\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n this._cdRef.detectChanges();\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._cdRef.detectChanges();\n }\n\n ngOnInit(): void {\n this.component.markAllAsTouched();\n }\n\n ngOnDestroy(): void {\n this.unsubscribeAll$.next();\n this.unsubscribeAll$.complete();\n }\n}\n","<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\"\r\n appearance=\"outline\" class=\"w-100\" color=\"accent\">\r\n\r\n <mat-label>{{label | translate}}</mat-label>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (blur)=\"onTouched()\" (focus)=\"onFocus()\" [disabled]=\"disable\"\r\n [formControl]=\"component\" [matAutocomplete]=\"autocomplete\" [placeholder]=\"placeholder | translate\"\r\n aria-label=\"Number\" autocomplete=\"off\" matInput type=\"text\">\r\n <button (click)=\"clear(trigger)\" *ngIf=\"!loading && component?.value\" [disabled]=\"disable\" aria-label=\"Clear\"\r\n mat-icon-button matSuffix>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button *ngIf=\"loading\" aria-label=\"Clear\" mat-icon-button matSuffix>\r\n <mat-spinner [value]=\"90\" color=\"accent\" diameter=\"25\"></mat-spinner>\r\n </button>\r\n <mat-autocomplete #autocomplete=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\"\r\n (onSelectionChange)=\"onSelectElement(option)\">\r\n\r\n <ng-container *ngIf=\"!displayOptions && !detailsTemplate\">\r\n {{ option?.name | i18nField: translateService.currentLang }}\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!detailsTemplate\">\r\n <div class=\"display-options\">\r\n <span [ngStyle]=\"{'line-height': displayOptions?.secondLabel ? '16px' : ''}\">\r\n {{option | resolvePropertyPath:displayOptions?.firthLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n <span *ngIf=\"displayOptions?.secondLabel\" class=\"mat-caption\">\r\n {{option | resolvePropertyPath: displayOptions?.secondLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"detailsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate;context:{$implicit: option }\"></ng-container>\r\n </ng-container>\r\n\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n","import {NgModule} from '@angular/core';\nimport {CommonModule, CurrencyPipe, UpperCasePipe} from \"@angular/common\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {TranslateModule} from \"@ngx-translate/core\";\nimport {MatInputModule} from \"@angular/material/input\";\nimport {MatAutocompleteModule} from \"@angular/material/autocomplete\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatProgressSpinnerModule} from \"@angular/material/progress-spinner\";\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\n\nimport {AutocompleteService} from \"../utils/services/autocomplete.service\";\nimport {GuajiritosGeneralAutocompleteComponent} from './guachos-general-autocomplete.component';\nimport {DurationTimePipe} from \"../utils/pipes/duration.pipe\";\nimport {I18nFieldPipe} from \"../utils/pipes/i18n-field.pipe\";\nimport {ResolvePropertyPath} from \"../utils/pipes/resolve-property-path.pipe\";\nimport {HumanizeDurationPipe} from \"../utils/pipes/humanize-duration.pipe\";\nimport {IdaReturnPipe} from \"../utils/pipes/ida-return.pipe\";\nimport {ShowRolesPipe} from \"../utils/pipes/show-roles.pipe\";\nimport {ShowSegmentsPipe} from \"../utils/pipes/show-segments.pipe\";\nimport {ShowTransportTypesPipe} from \"../utils/pipes/show-transport-types.pipe\";\n\n@NgModule({\n declarations: [\n GuajiritosGeneralAutocompleteComponent,\n DurationTimePipe,\n I18nFieldPipe,\n ResolvePropertyPath,\n HumanizeDurationPipe,\n IdaReturnPipe,\n ShowRolesPipe,\n ShowSegmentsPipe,\n ShowTransportTypesPipe\n ],\n imports: [\n CommonModule,\n TranslateModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatButtonModule,\n MatInputModule,\n MatAutocompleteModule\n ],\n providers: [\n UpperCasePipe,\n CurrencyPipe,\n AutocompleteService,\n DurationTimePipe,\n I18nFieldPipe,\n ResolvePropertyPath,\n HumanizeDurationPipe,\n IdaReturnPipe,\n ShowRolesPipe,\n ShowSegmentsPipe,\n ShowTransportTypesPipe\n ],\n exports: [\n GuajiritosGeneralAutocompleteComponent\n ]\n})\nexport class GuajiritosGeneralAutocompleteModule {\n}\n","/*\n * Public API Surface of guachos-general-autocomplete\n */\n\nexport * from './utils/interfaces/interfaces';\nexport * from './utils/constants/contacts';\nexport * from './lib/guachos-general-autocomplete.component';\nexport * from './lib/guachos-general-autocomplete.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ShowSegmentsPipe","i2.ShowRolesPipe","i3.ShowTransportTypesPipe","i4.IdaReturnPipe","i5","i6.HumanizeDurationPipe","i7.DurationTimePipe","i1.AutocompleteService","i12.I18nFieldPipe","i13.ResolvePropertyPath"],"mappings":"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"}
|
@@ -763,7 +763,15 @@ GuajiritosGeneralAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersio
|
|
763
763
|
GuajiritosGeneralAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GuajiritosGeneralAutocompleteModule, providers: [
|
764
764
|
UpperCasePipe,
|
765
765
|
CurrencyPipe,
|
766
|
-
AutocompleteService
|
766
|
+
AutocompleteService,
|
767
|
+
DurationTimePipe,
|
768
|
+
I18nFieldPipe,
|
769
|
+
ResolvePropertyPath,
|
770
|
+
HumanizeDurationPipe,
|
771
|
+
IdaReturnPipe,
|
772
|
+
ShowRolesPipe,
|
773
|
+
ShowSegmentsPipe,
|
774
|
+
ShowTransportTypesPipe
|
767
775
|
], imports: [CommonModule,
|
768
776
|
TranslateModule,
|
769
777
|
FormsModule,
|
@@ -803,7 +811,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
803
811
|
providers: [
|
804
812
|
UpperCasePipe,
|
805
813
|
CurrencyPipe,
|
806
|
-
AutocompleteService
|
814
|
+
AutocompleteService,
|
815
|
+
DurationTimePipe,
|
816
|
+
I18nFieldPipe,
|
817
|
+
ResolvePropertyPath,
|
818
|
+
HumanizeDurationPipe,
|
819
|
+
IdaReturnPipe,
|
820
|
+
ShowRolesPipe,
|
821
|
+
ShowSegmentsPipe,
|
822
|
+
ShowTransportTypesPipe
|
807
823
|
],
|
808
824
|
exports: [
|
809
825
|
GuajiritosGeneralAutocompleteComponent
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"guajiritos-general-autocomplete.mjs","sources":["../../../projects/guachos-general-autocomplete/src/utils/interfaces/interfaces.ts","../../../projects/guachos-general-autocomplete/src/utils/constants/contacts.ts","../../../projects/guachos-general-autocomplete/src/utils/services/autocomplete.service.ts","../../../projects/guachos-general-autocomplete/src/utils/services/utils.service.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/i18n-field.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/duration.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/humanize-duration.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/ida-return.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-roles.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-segments.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-transport-types.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/resolve-property-path.pipe.ts","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.component.ts","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.component.html","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.module.ts","../../../projects/guachos-general-autocomplete/src/public-api.ts","../../../projects/guachos-general-autocomplete/src/guajiritos-general-autocomplete.ts"],"sourcesContent":["declare type DisplayOptionItemType = 'divider' | 'path';\n\nexport enum CustomPipes {\n SHOW_SEGMENTS = 'showSegments',\n DURATION_TIME = 'durationTime',\n HUMANIZE_DURATION = 'humanizeDuration',\n SHOW_TRANSPORT_TYPES = 'showTransportTypes',\n SHOW_ROLES = 'showRoles',\n IDA_RETURN = 'idaReturn',\n CURRENCY = 'currency',\n UPPERCASE = 'uppercase',\n}\n\nexport interface DisplayOptionItem {\n type: DisplayOptionItemType;\n customPipe?: string;\n divider?: string;\n path?: string[];\n}\n\nexport interface DisplayOption {\n firthLabel: DisplayOptionItem[];\n secondLabel?: DisplayOptionItem[];\n filterString?: string[] | string;\n applyTranslate?: boolean;\n}\n\nexport interface RestrictionFilter {\n filter: string;\n value: string | number;\n}\n\nexport interface ApiFormData {\n attribute?: string[],\n filter?: any;\n relations?: any;\n}\n","import {DisplayOption} from \"../interfaces/interfaces\";\r\n\r\nexport const GENERAL_DISPLAY_OPTIONS: DisplayOption = {\r\n firthLabel: [\r\n {\r\n type: 'path',\r\n path: ['name']\r\n }\r\n ],\r\n applyTranslate: true\r\n};\r\n","import {HttpClient, HttpParams} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\nimport {map} from 'rxjs/operators';\r\nimport * as _ from 'lodash';\r\nimport {Observable} from 'rxjs';\r\n\r\nimport {ApiFormData, RestrictionFilter} from '../interfaces/interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AutocompleteService {\r\n constructor(\r\n private _httpClient: HttpClient\r\n ) {\r\n }\r\n\r\n private httpOptions = {};\r\n\r\n private processParams(filters: string[] | string | undefined, value: string): Promise<any> {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(async () => {\r\n let filter = {};\r\n\r\n if (Array.isArray(filters)) {\r\n for (const f of filters) {\r\n await this.processFilterString(f, value).then((resp: any) => {\r\n if (Object.keys(filter)?.length) {\r\n _.merge(filter, resp);\r\n } else {\r\n filter = {\r\n ...filter,\r\n ...resp\r\n };\r\n }\r\n\r\n if (f === filters[filters?.length - 1]) {\r\n resolve(filter);\r\n }\r\n });\r\n }\r\n } else if (typeof filters === 'string') {\r\n await this.processFilterString(filters, value).then((resp: any) => {\r\n filter = {\r\n ...filter,\r\n ...resp\r\n };\r\n\r\n resolve(filter);\r\n });\r\n } else {\r\n reject(null);\r\n }\r\n }, 100);\r\n });\r\n }\r\n\r\n private async processFilterString(filter: string, value: string): Promise<any> {\r\n let f: any = {};\r\n\r\n const arrayFilters: string[] = filter?.split('[');\r\n\r\n if (arrayFilters?.findIndex((a: string) => a === 'filter') >= 0) {\r\n arrayFilters?.splice(0, 1);\r\n }\r\n\r\n await this.createObjectFilters(arrayFilters, value).then((data: any) => {\r\n f = data;\r\n });\r\n\r\n return f;\r\n }\r\n\r\n private async createObjectFilters(array: string[], value: string): Promise<any> {\r\n for (let filter of array) {\r\n filter = filter?.replace(']', '');\r\n\r\n if (array.length > 1) {\r\n array.splice(0, 1);\r\n return {[filter]: await this.createObjectFilters(array, value)};\r\n } else {\r\n if (filter === '$like') {\r\n return {[filter]: '%' + value + '%'};\r\n } else {\r\n return {[filter]: value};\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async getAutocompleteByText(url: string, text?: string, field?: string[] | string, restrictions?: RestrictionFilter[],\r\n removeProperties?: string[], order?: string, bodyRequest?: ApiFormData): Promise<Observable<any>> {\r\n\r\n let httpParams: HttpParams = new HttpParams().set('offset', '0');\r\n httpParams = httpParams.append('limit', '20');\r\n\r\n if (order) {\r\n httpParams = httpParams.append('order', order);\r\n }\r\n\r\n if (!text) {\r\n text = '';\r\n }\r\n\r\n if (bodyRequest) {\r\n let body: ApiFormData = {};\r\n if (text && text !== '') {\r\n await this.processParams(field, text)\r\n .then((data: any) => {\r\n body = {\r\n ...bodyRequest,\r\n filter: data\r\n };\r\n });\r\n } else {\r\n body = JSON.parse(JSON.stringify(bodyRequest));\r\n }\r\n\r\n if (restrictions?.length) {\r\n for (let r of restrictions) {\r\n await this.processParams(r?.filter, r?.value?.toString())\r\n .then((data: any) => {\r\n let filtersAux = {...body?.filter}\r\n _.merge(filtersAux, data);\r\n body = {\r\n ...body,\r\n filter: filtersAux\r\n };\r\n httpParams = httpParams.set('form', JSON.stringify(body));\r\n });\r\n }\r\n } else {\r\n httpParams = httpParams.append('form', JSON.stringify(body));\r\n }\r\n } else {\r\n if (text && text !== '') {\r\n if (Array.isArray(field)) {\r\n for (const f of field) {\r\n httpParams = httpParams.append(f, '%' + text + '%');\r\n }\r\n } else {\r\n if (field?.includes('$like')) {\r\n httpParams = httpParams.append(field, '%' + text + '%');\r\n } else if (field) {\r\n httpParams = httpParams.append(field, text);\r\n }\r\n }\r\n }\r\n\r\n restrictions?.forEach((restriction: RestrictionFilter) => {\r\n if (restriction?.value) {\r\n httpParams = httpParams.append(restriction?.filter, restriction.value?.toString());\r\n }\r\n });\r\n }\r\n\r\n this.httpOptions = {params: httpParams};\r\n\r\n return this._httpClient\r\n .get<any>(url, this.httpOptions)\r\n .pipe(\r\n map((result: any) => {\r\n result?.data?.map((item: any) => {\r\n removeProperties?.forEach((property: string) => {\r\n delete item[property];\r\n });\r\n });\r\n return result;\r\n })\r\n );\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UtilsService {\r\n /**\r\n * Convierte el tiempo pasado por parámetro en horas y minutos\r\n *\r\n * @param time - Tiempo\r\n * @returns Devuelve las horas y minutos\r\n */\r\n private static getTime(time: number | string): { hours: number; minutes: number } {\r\n const hours: number = parseInt(Number(time) / 3600 + '', 10);\r\n time = Number(time) - (hours * 3600);\r\n const minutes: number = parseInt(Number(time) / 60 + '', 10);\r\n\r\n return {hours, minutes}\r\n }\r\n\r\n /**\r\n * Devuelve el tiempo en formato 'hh:mm'\r\n *\r\n * @param time - Tiempo\r\n */\r\n public static getTimePretty(time: number): string {\r\n const {hours, minutes} = UtilsService.getTime(time);\r\n\r\n return (hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes);\r\n }\r\n\r\n /**\r\n * Devuelve el tiempo en formato 'hhh : mmm'\r\n *\r\n * @param time - Tiempo\r\n */\r\n public static humanizeDuration(time: number | string): string {\r\n const {hours, minutes} = UtilsService.getTime(time);\r\n\r\n return (hours < 10 ? '0' + hours : hours) + 'h : ' + (minutes < 10 ? '0' + minutes : minutes) + 'm';\r\n }\r\n\r\n public static resolvePropertyByPath(obj: any, path: string[]): any {\r\n return path.reduce((prev, curr: string) => {\r\n return prev ? prev[curr] : null;\r\n }, obj || self);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({name: 'i18nField'})\r\nexport class I18nFieldPipe implements PipeTransform {\r\n transform(value: any, lang: string): string {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n if (typeof value === 'string') {\r\n return value;\r\n }\r\n\r\n const keys = Object.keys(value);\r\n if (!value[lang]) {\r\n let i = 0;\r\n while (i < keys?.length && (value[keys[i]] === null || value[keys[i]] === '')) {\r\n i++;\r\n }\r\n return keys?.length > i ? value[keys[i]] : 'No está definido';\r\n }\r\n\r\n return value[lang] || 'No está definido';\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Injectable()\r\n@Pipe({name: 'durationTime'})\r\nexport class DurationTimePipe implements PipeTransform {\r\n transform(value: number): string {\r\n return UtilsService.getTimePretty(value);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Pipe({\r\n name: 'humanizeDuration'\r\n})\r\nexport class HumanizeDurationPipe implements PipeTransform {\r\n transform(input: string): string {\r\n return UtilsService.humanizeDuration(input);\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {CustomPipes} from \"../interfaces/interfaces\";\r\n\r\n@Injectable()\r\n@Pipe({name: 'idaReturn'})\r\nexport class IdaReturnPipe implements PipeTransform {\r\n transform(value: string): any {\r\n if (value === CustomPipes.IDA_RETURN) {\r\n return 'Ida y Vuelta';\r\n } else {\r\n return 'solo Ida';\r\n }\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showSegments'})\r\nexport class ShowRolesPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.Rol?.name + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showSegments'})\r\nexport class ShowSegmentsPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.Segment?.PlaceOrigin?.alpha3 + '-' + item?.Segment?.PlaceDestination?.alpha3 + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showTransportTypes'})\r\nexport class ShowTransportTypesPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.TransportType?.name['es'] + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {CurrencyPipe, UpperCasePipe} from '@angular/common';\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {DurationTimePipe} from './duration.pipe';\r\nimport {HumanizeDurationPipe} from './humanize-duration.pipe';\r\nimport {IdaReturnPipe} from './ida-return.pipe';\r\nimport {ShowRolesPipe} from './show-roles.pipe';\r\nimport {ShowSegmentsPipe} from './show-segments.pipe';\r\nimport {ShowTransportTypesPipe} from './show-transport-types.pipe';\r\nimport {CustomPipes, DisplayOptionItem} from \"../interfaces/interfaces\";\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Pipe({name: 'resolvePropertyPath'})\r\nexport class ResolvePropertyPath implements PipeTransform {\r\n\r\n constructor(\r\n private _showSegmentPipe: ShowSegmentsPipe,\r\n private _showRolesPipe: ShowRolesPipe,\r\n private _showTransportTypesPipe: ShowTransportTypesPipe,\r\n private _idaReturnPipe: IdaReturnPipe,\r\n private _currencyPipe: CurrencyPipe,\r\n private _humanizeDurationPipe: HumanizeDurationPipe,\r\n private _upperCasePipe: UpperCasePipe,\r\n private _durationPipe: DurationTimePipe\r\n ) {\r\n }\r\n\r\n transform(obj: any, path: DisplayOptionItem[]): string {\r\n let result: string = '';\r\n\r\n path?.forEach(item => {\r\n if (item?.type === 'divider') {\r\n result += item?.divider;\r\n } else {\r\n if (item?.path) {\r\n let value = UtilsService.resolvePropertyByPath(obj, item.path);\r\n\r\n switch (item?.customPipe) {\r\n case CustomPipes.SHOW_SEGMENTS:\r\n value = this._showSegmentPipe.transform(value);\r\n break;\r\n case CustomPipes.DURATION_TIME:\r\n value = this._durationPipe.transform(value);\r\n break;\r\n case CustomPipes.HUMANIZE_DURATION:\r\n value = this._humanizeDurationPipe.transform(value);\r\n break;\r\n case CustomPipes.SHOW_TRANSPORT_TYPES:\r\n value = this._showTransportTypesPipe.transform(value);\r\n break;\r\n case CustomPipes.SHOW_ROLES:\r\n value = this._showRolesPipe.transform(value);\r\n break;\r\n case CustomPipes.IDA_RETURN:\r\n value = this._idaReturnPipe.transform(value);\r\n break;\r\n case CustomPipes.CURRENCY:\r\n value = this._currencyPipe.transform(value);\r\n break;\r\n case CustomPipes.UPPERCASE:\r\n value = this._upperCasePipe.transform(value);\r\n break;\r\n default:\r\n break;\r\n }\r\n result += value;\r\n }\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n}\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport {ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, ValidationErrors, Validators} from '@angular/forms';\nimport {MatAutocompleteTrigger} from '@angular/material/autocomplete';\nimport {FloatLabelType} from '@angular/material/form-field';\nimport {TranslateService} from '@ngx-translate/core';\nimport {debounceTime, Observable, Subject, takeUntil} from 'rxjs';\n\nimport {GENERAL_DISPLAY_OPTIONS} from '../utils/constants/contacts';\nimport {AutocompleteService} from '../utils/services/autocomplete.service';\nimport {UtilsService} from '../utils/services/utils.service';\nimport {ApiFormData, DisplayOption, RestrictionFilter} from \"../utils/interfaces/interfaces\";\n\ndeclare interface PayloadResponse {\n data: any;\n meta: any;\n}\n\ndeclare interface GenericResponse {\n payload: PayloadResponse;\n error: any;\n requestId: string;\n}\n\n@Component({\n selector: 'guajiritos-general-autocomplete',\n templateUrl: './guachos-general-autocomplete.component.html',\n styleUrls: ['./guachos-general-autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GuajiritosGeneralAutocompleteComponent),\n multi: true\n }\n ]\n})\nexport class GuajiritosGeneralAutocompleteComponent implements OnInit, OnDestroy, ControlValueAccessor {\n\n constructor(\n private _autocompleteService: AutocompleteService,\n private _cdRef: ChangeDetectorRef,\n public translateService: TranslateService,\n ) {\n }\n\n private unsubscribeAll$: Subject<void> = new Subject<void>();\n private firstCall: boolean = true;\n private restrictionsFilters: RestrictionFilter[] = [];\n private selectedElement: any;\n private doFocusSubject: Subject<any>;\n private clearData$: Subject<any>;\n private _url: string;\n\n public required: boolean = true;\n public component: FormControl = new FormControl({\n value: null, disabled: false\n });\n public value: any;\n public disabled: boolean = false;\n public filteredOptions: any[];\n public loading: boolean = false;\n\n @ViewChild('inputText', {static: true}) inputText: ElementRef;\n /**\n * Possible values 'never', 'auto' or 'always'\n */\n @Input() floatLabel: FloatLabelType = 'auto';\n @Input() bodyRequest: ApiFormData;\n @Input() debounceTimeValue: number = 250;\n @Input() detailsTemplate: TemplateRef<any>;\n @Input() label: string = 'Seleccione';\n @Input() placeholder: string = 'Seleccione un elemento';\n @Input() field: string[] = ['name'];\n @Input() filterString: string = 'filter[$and][name][$like]';\n @Input() displayOptions: DisplayOption = GENERAL_DISPLAY_OPTIONS;\n @Input() withoutPaddingBottom: boolean = true;\n @Input() valueId: boolean = false;\n @Input() disable: boolean = false;\n @Input() order: string = null;\n @Input() removeProperties: string[] = [];\n @Output() SelectElement: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() set url(data: string) {\n if (data) {\n this._url = data;\n\n this.subscribeComponentChanges();\n }\n }\n\n @Input() set clearData(value: any) {\n this.clearData$ = value;\n if (this.clearData$) {\n this.clearData$\n .pipe(takeUntil(this.unsubscribeAll$))\n .subscribe(() => {\n this.component.setValue(null);\n this.selectedElement = null;\n this.SelectElement.emit(null);\n this.filteredOptions = [];\n this.onChanged(null);\n });\n }\n }\n\n @Input() set initialValue(value: any) {\n this.component.setValue(value);\n }\n\n @Input() set restrictions(value: any) {\n if (value) {\n this.restrictionsFilters = value;\n } else {\n this.restrictionsFilters = [];\n }\n }\n\n @Input() set isRequired(value: boolean) {\n this.required = value;\n\n if (this.required) {\n this.component.setValidators([Validators.required, GuajiritosGeneralAutocompleteComponent.ValidateAutocomplete]);\n } else {\n this.component.clearValidators();\n }\n\n this.component.updateValueAndValidity();\n }\n\n get doFocus(): Subject<any> {\n return this.doFocusSubject;\n }\n\n @Input() set doFocus(value: Subject<any>) {\n this.doFocusSubject = value;\n\n if (value) {\n this.doFocusSubject\n .pipe(takeUntil(this.unsubscribeAll$))\n .subscribe(() => {\n setTimeout(() => {\n this.inputText.nativeElement.focus();\n }, 500);\n });\n }\n }\n\n private static ValidateAutocomplete(control: FormControl): ValidationErrors {\n if (control?.value?.constructor !== Object || !control?.value?.id) {\n return {invalidSelection: true};\n }\n\n return null;\n }\n\n private subscribeComponentChanges(): void {\n this.component?.valueChanges\n ?.pipe(debounceTime(this.debounceTimeValue), takeUntil(this.unsubscribeAll$))\n ?.subscribe(() => {\n if (!this.firstCall) {\n this.getAutocompleteByTextHandler(this.getAutocompleteSearchText());\n } else {\n this.firstCall = false;\n }\n });\n }\n\n private getAutocompleteByTextHandler(text?: string): void {\n this._autocompleteService\n .getAutocompleteByText(this._url, text, this.filterString, this.restrictionsFilters,\n this.removeProperties, this.order, this.bodyRequest)\n .then((resp: Observable<any>) => {\n resp?.subscribe((result: GenericResponse) => {\n this.filteredOptions = result?.payload?.data;\n this.loading = false;\n this._cdRef.detectChanges();\n });\n });\n }\n\n private getAutocompleteSearchText(): string {\n this.loading = true;\n\n let text: string = null;\n if (this.component?.value) {\n if (typeof this.component.value === 'object') {\n const componentValue = this.component?.value[this.field[0]]\n if (typeof componentValue === 'object') {\n let lang: string = 'es';\n if (this.field[1]) {\n lang = this.field[1];\n }\n\n text = componentValue[lang];\n }\n } else if (typeof this.component?.value === 'string') {\n text = this.component.value;\n }\n }\n\n return text;\n }\n\n onChanged: any = () => {\n };\n\n onTouched: any = () => {\n };\n\n public clear(trigger: MatAutocompleteTrigger): void {\n this.component.setValue(null);\n this.selectedElement = null;\n this.SelectElement.emit(null);\n this._cdRef.detectChanges();\n this.onChanged(null);\n\n setTimeout(() => {\n trigger.openPanel();\n this._cdRef.detectChanges();\n }, 200);\n }\n\n public onFocus(): void {\n this.getAutocompleteByTextHandler(this.getAutocompleteSearchText());\n }\n\n public onSelectElement(item: any): void {\n this.selectedElement = item;\n this.SelectElement.emit(item);\n this.value = item;\n\n if (this.valueId) {\n this.onChanged(item?.id);\n } else {\n this.onChanged(item);\n }\n\n this._cdRef.detectChanges();\n }\n\n displayFn = (value: any) => {\n if (value) {\n if (typeof value === 'string') {\n return value;\n }\n\n let displayText = '';\n if (!this.displayOptions) {\n this.displayOptions = GENERAL_DISPLAY_OPTIONS;\n }\n this.displayOptions?.firthLabel?.forEach((field: any) => {\n if (field?.type === 'path') {\n displayText += UtilsService.resolvePropertyByPath(value, field?.path);\n } else {\n displayText += field?.divider;\n }\n });\n return displayText;\n }\n };\n\n writeValue(value: any): void {\n if (value) {\n if (typeof value === 'number') {\n this.value = value;\n } else if (typeof value === 'object') {\n this.component.setValue(value);\n this.value = value.id;\n } else {\n this.value = value;\n }\n } else {\n this.value = null;\n }\n\n this._cdRef.detectChanges();\n }\n\n registerOnChange(fn: any): void {\n this.onChanged = fn;\n this._cdRef.detectChanges();\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n this._cdRef.detectChanges();\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._cdRef.detectChanges();\n }\n\n ngOnInit(): void {\n this.component.markAllAsTouched();\n }\n\n ngOnDestroy(): void {\n this.unsubscribeAll$.next();\n this.unsubscribeAll$.complete();\n }\n}\n","<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\"\r\n appearance=\"outline\" class=\"w-100\" color=\"accent\">\r\n\r\n <mat-label>{{label | translate}}</mat-label>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (blur)=\"onTouched()\" (focus)=\"onFocus()\" [disabled]=\"disable\"\r\n [formControl]=\"component\" [matAutocomplete]=\"autocomplete\" [placeholder]=\"placeholder | translate\"\r\n aria-label=\"Number\" autocomplete=\"off\" matInput type=\"text\">\r\n <button (click)=\"clear(trigger)\" *ngIf=\"!loading && component?.value\" [disabled]=\"disable\" aria-label=\"Clear\"\r\n mat-icon-button matSuffix>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button *ngIf=\"loading\" aria-label=\"Clear\" mat-icon-button matSuffix>\r\n <mat-spinner [value]=\"90\" color=\"accent\" diameter=\"25\"></mat-spinner>\r\n </button>\r\n <mat-autocomplete #autocomplete=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\"\r\n (onSelectionChange)=\"onSelectElement(option)\">\r\n\r\n <ng-container *ngIf=\"!displayOptions && !detailsTemplate\">\r\n {{ option?.name | i18nField: translateService.currentLang }}\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!detailsTemplate\">\r\n <div class=\"display-options\">\r\n <span [ngStyle]=\"{'line-height': displayOptions?.secondLabel ? '16px' : ''}\">\r\n {{option | resolvePropertyPath:displayOptions?.firthLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n <span *ngIf=\"displayOptions?.secondLabel\" class=\"mat-caption\">\r\n {{option | resolvePropertyPath: displayOptions?.secondLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"detailsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate;context:{$implicit: option }\"></ng-container>\r\n </ng-container>\r\n\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n","import {NgModule} from '@angular/core';\nimport {CommonModule, CurrencyPipe, UpperCasePipe} from \"@angular/common\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {TranslateModule} from \"@ngx-translate/core\";\nimport {MatInputModule} from \"@angular/material/input\";\nimport {MatAutocompleteModule} from \"@angular/material/autocomplete\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatProgressSpinnerModule} from \"@angular/material/progress-spinner\";\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\n\nimport {AutocompleteService} from \"../utils/services/autocomplete.service\";\nimport {GuajiritosGeneralAutocompleteComponent} from './guachos-general-autocomplete.component';\nimport {DurationTimePipe} from \"../utils/pipes/duration.pipe\";\nimport {I18nFieldPipe} from \"../utils/pipes/i18n-field.pipe\";\nimport {ResolvePropertyPath} from \"../utils/pipes/resolve-property-path.pipe\";\nimport {HumanizeDurationPipe} from \"../utils/pipes/humanize-duration.pipe\";\nimport {IdaReturnPipe} from \"../utils/pipes/ida-return.pipe\";\nimport {ShowRolesPipe} from \"../utils/pipes/show-roles.pipe\";\nimport {ShowSegmentsPipe} from \"../utils/pipes/show-segments.pipe\";\nimport {ShowTransportTypesPipe} from \"../utils/pipes/show-transport-types.pipe\";\n\n@NgModule({\n declarations: [\n GuajiritosGeneralAutocompleteComponent,\n DurationTimePipe,\n I18nFieldPipe,\n ResolvePropertyPath,\n HumanizeDurationPipe,\n IdaReturnPipe,\n ShowRolesPipe,\n ShowSegmentsPipe,\n ShowTransportTypesPipe\n ],\n imports: [\n CommonModule,\n TranslateModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatButtonModule,\n MatInputModule,\n MatAutocompleteModule\n ],\n providers: [\n UpperCasePipe,\n CurrencyPipe,\n AutocompleteService\n ],\n exports: [\n GuajiritosGeneralAutocompleteComponent\n ]\n})\nexport class GuajiritosGeneralAutocompleteModule {\n}\n","/*\n * Public API Surface of guachos-general-autocomplete\n */\n\nexport * from './utils/interfaces/interfaces';\nexport * from './utils/constants/contacts';\nexport * from './lib/guachos-general-autocomplete.component';\nexport * from './lib/guachos-general-autocomplete.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ShowSegmentsPipe","i2.ShowRolesPipe","i3.ShowTransportTypesPipe","i4.IdaReturnPipe","i5","i6.HumanizeDurationPipe","i7.DurationTimePipe","i1.AutocompleteService","i12.I18nFieldPipe","i13.ResolvePropertyPath"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"guajiritos-general-autocomplete.mjs","sources":["../../../projects/guachos-general-autocomplete/src/utils/interfaces/interfaces.ts","../../../projects/guachos-general-autocomplete/src/utils/constants/contacts.ts","../../../projects/guachos-general-autocomplete/src/utils/services/autocomplete.service.ts","../../../projects/guachos-general-autocomplete/src/utils/services/utils.service.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/i18n-field.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/duration.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/humanize-duration.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/ida-return.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-roles.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-segments.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-transport-types.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/resolve-property-path.pipe.ts","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.component.ts","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.component.html","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.module.ts","../../../projects/guachos-general-autocomplete/src/public-api.ts","../../../projects/guachos-general-autocomplete/src/guajiritos-general-autocomplete.ts"],"sourcesContent":["declare type DisplayOptionItemType = 'divider' | 'path';\n\nexport enum CustomPipes {\n SHOW_SEGMENTS = 'showSegments',\n DURATION_TIME = 'durationTime',\n HUMANIZE_DURATION = 'humanizeDuration',\n SHOW_TRANSPORT_TYPES = 'showTransportTypes',\n SHOW_ROLES = 'showRoles',\n IDA_RETURN = 'idaReturn',\n CURRENCY = 'currency',\n UPPERCASE = 'uppercase',\n}\n\nexport interface DisplayOptionItem {\n type: DisplayOptionItemType;\n customPipe?: string;\n divider?: string;\n path?: string[];\n}\n\nexport interface DisplayOption {\n firthLabel: DisplayOptionItem[];\n secondLabel?: DisplayOptionItem[];\n filterString?: string[] | string;\n applyTranslate?: boolean;\n}\n\nexport interface RestrictionFilter {\n filter: string;\n value: string | number;\n}\n\nexport interface ApiFormData {\n attribute?: string[],\n filter?: any;\n relations?: any;\n}\n","import {DisplayOption} from \"../interfaces/interfaces\";\r\n\r\nexport const GENERAL_DISPLAY_OPTIONS: DisplayOption = {\r\n firthLabel: [\r\n {\r\n type: 'path',\r\n path: ['name']\r\n }\r\n ],\r\n applyTranslate: true\r\n};\r\n","import {HttpClient, HttpParams} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\nimport {map} from 'rxjs/operators';\r\nimport * as _ from 'lodash';\r\nimport {Observable} from 'rxjs';\r\n\r\nimport {ApiFormData, RestrictionFilter} from '../interfaces/interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AutocompleteService {\r\n constructor(\r\n private _httpClient: HttpClient\r\n ) {\r\n }\r\n\r\n private httpOptions = {};\r\n\r\n private processParams(filters: string[] | string | undefined, value: string): Promise<any> {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(async () => {\r\n let filter = {};\r\n\r\n if (Array.isArray(filters)) {\r\n for (const f of filters) {\r\n await this.processFilterString(f, value).then((resp: any) => {\r\n if (Object.keys(filter)?.length) {\r\n _.merge(filter, resp);\r\n } else {\r\n filter = {\r\n ...filter,\r\n ...resp\r\n };\r\n }\r\n\r\n if (f === filters[filters?.length - 1]) {\r\n resolve(filter);\r\n }\r\n });\r\n }\r\n } else if (typeof filters === 'string') {\r\n await this.processFilterString(filters, value).then((resp: any) => {\r\n filter = {\r\n ...filter,\r\n ...resp\r\n };\r\n\r\n resolve(filter);\r\n });\r\n } else {\r\n reject(null);\r\n }\r\n }, 100);\r\n });\r\n }\r\n\r\n private async processFilterString(filter: string, value: string): Promise<any> {\r\n let f: any = {};\r\n\r\n const arrayFilters: string[] = filter?.split('[');\r\n\r\n if (arrayFilters?.findIndex((a: string) => a === 'filter') >= 0) {\r\n arrayFilters?.splice(0, 1);\r\n }\r\n\r\n await this.createObjectFilters(arrayFilters, value).then((data: any) => {\r\n f = data;\r\n });\r\n\r\n return f;\r\n }\r\n\r\n private async createObjectFilters(array: string[], value: string): Promise<any> {\r\n for (let filter of array) {\r\n filter = filter?.replace(']', '');\r\n\r\n if (array.length > 1) {\r\n array.splice(0, 1);\r\n return {[filter]: await this.createObjectFilters(array, value)};\r\n } else {\r\n if (filter === '$like') {\r\n return {[filter]: '%' + value + '%'};\r\n } else {\r\n return {[filter]: value};\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async getAutocompleteByText(url: string, text?: string, field?: string[] | string, restrictions?: RestrictionFilter[],\r\n removeProperties?: string[], order?: string, bodyRequest?: ApiFormData): Promise<Observable<any>> {\r\n\r\n let httpParams: HttpParams = new HttpParams().set('offset', '0');\r\n httpParams = httpParams.append('limit', '20');\r\n\r\n if (order) {\r\n httpParams = httpParams.append('order', order);\r\n }\r\n\r\n if (!text) {\r\n text = '';\r\n }\r\n\r\n if (bodyRequest) {\r\n let body: ApiFormData = {};\r\n if (text && text !== '') {\r\n await this.processParams(field, text)\r\n .then((data: any) => {\r\n body = {\r\n ...bodyRequest,\r\n filter: data\r\n };\r\n });\r\n } else {\r\n body = JSON.parse(JSON.stringify(bodyRequest));\r\n }\r\n\r\n if (restrictions?.length) {\r\n for (let r of restrictions) {\r\n await this.processParams(r?.filter, r?.value?.toString())\r\n .then((data: any) => {\r\n let filtersAux = {...body?.filter}\r\n _.merge(filtersAux, data);\r\n body = {\r\n ...body,\r\n filter: filtersAux\r\n };\r\n httpParams = httpParams.set('form', JSON.stringify(body));\r\n });\r\n }\r\n } else {\r\n httpParams = httpParams.append('form', JSON.stringify(body));\r\n }\r\n } else {\r\n if (text && text !== '') {\r\n if (Array.isArray(field)) {\r\n for (const f of field) {\r\n httpParams = httpParams.append(f, '%' + text + '%');\r\n }\r\n } else {\r\n if (field?.includes('$like')) {\r\n httpParams = httpParams.append(field, '%' + text + '%');\r\n } else if (field) {\r\n httpParams = httpParams.append(field, text);\r\n }\r\n }\r\n }\r\n\r\n restrictions?.forEach((restriction: RestrictionFilter) => {\r\n if (restriction?.value) {\r\n httpParams = httpParams.append(restriction?.filter, restriction.value?.toString());\r\n }\r\n });\r\n }\r\n\r\n this.httpOptions = {params: httpParams};\r\n\r\n return this._httpClient\r\n .get<any>(url, this.httpOptions)\r\n .pipe(\r\n map((result: any) => {\r\n result?.data?.map((item: any) => {\r\n removeProperties?.forEach((property: string) => {\r\n delete item[property];\r\n });\r\n });\r\n return result;\r\n })\r\n );\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UtilsService {\r\n /**\r\n * Convierte el tiempo pasado por parámetro en horas y minutos\r\n *\r\n * @param time - Tiempo\r\n * @returns Devuelve las horas y minutos\r\n */\r\n private static getTime(time: number | string): { hours: number; minutes: number } {\r\n const hours: number = parseInt(Number(time) / 3600 + '', 10);\r\n time = Number(time) - (hours * 3600);\r\n const minutes: number = parseInt(Number(time) / 60 + '', 10);\r\n\r\n return {hours, minutes}\r\n }\r\n\r\n /**\r\n * Devuelve el tiempo en formato 'hh:mm'\r\n *\r\n * @param time - Tiempo\r\n */\r\n public static getTimePretty(time: number): string {\r\n const {hours, minutes} = UtilsService.getTime(time);\r\n\r\n return (hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes);\r\n }\r\n\r\n /**\r\n * Devuelve el tiempo en formato 'hhh : mmm'\r\n *\r\n * @param time - Tiempo\r\n */\r\n public static humanizeDuration(time: number | string): string {\r\n const {hours, minutes} = UtilsService.getTime(time);\r\n\r\n return (hours < 10 ? '0' + hours : hours) + 'h : ' + (minutes < 10 ? '0' + minutes : minutes) + 'm';\r\n }\r\n\r\n public static resolvePropertyByPath(obj: any, path: string[]): any {\r\n return path.reduce((prev, curr: string) => {\r\n return prev ? prev[curr] : null;\r\n }, obj || self);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({name: 'i18nField'})\r\nexport class I18nFieldPipe implements PipeTransform {\r\n transform(value: any, lang: string): string {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n if (typeof value === 'string') {\r\n return value;\r\n }\r\n\r\n const keys = Object.keys(value);\r\n if (!value[lang]) {\r\n let i = 0;\r\n while (i < keys?.length && (value[keys[i]] === null || value[keys[i]] === '')) {\r\n i++;\r\n }\r\n return keys?.length > i ? value[keys[i]] : 'No está definido';\r\n }\r\n\r\n return value[lang] || 'No está definido';\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Injectable()\r\n@Pipe({name: 'durationTime'})\r\nexport class DurationTimePipe implements PipeTransform {\r\n transform(value: number): string {\r\n return UtilsService.getTimePretty(value);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Pipe({\r\n name: 'humanizeDuration'\r\n})\r\nexport class HumanizeDurationPipe implements PipeTransform {\r\n transform(input: string): string {\r\n return UtilsService.humanizeDuration(input);\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {CustomPipes} from \"../interfaces/interfaces\";\r\n\r\n@Injectable()\r\n@Pipe({name: 'idaReturn'})\r\nexport class IdaReturnPipe implements PipeTransform {\r\n transform(value: string): any {\r\n if (value === CustomPipes.IDA_RETURN) {\r\n return 'Ida y Vuelta';\r\n } else {\r\n return 'solo Ida';\r\n }\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showSegments'})\r\nexport class ShowRolesPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.Rol?.name + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showSegments'})\r\nexport class ShowSegmentsPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.Segment?.PlaceOrigin?.alpha3 + '-' + item?.Segment?.PlaceDestination?.alpha3 + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showTransportTypes'})\r\nexport class ShowTransportTypesPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.TransportType?.name['es'] + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {CurrencyPipe, UpperCasePipe} from '@angular/common';\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {DurationTimePipe} from './duration.pipe';\r\nimport {HumanizeDurationPipe} from './humanize-duration.pipe';\r\nimport {IdaReturnPipe} from './ida-return.pipe';\r\nimport {ShowRolesPipe} from './show-roles.pipe';\r\nimport {ShowSegmentsPipe} from './show-segments.pipe';\r\nimport {ShowTransportTypesPipe} from './show-transport-types.pipe';\r\nimport {CustomPipes, DisplayOptionItem} from \"../interfaces/interfaces\";\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Pipe({name: 'resolvePropertyPath'})\r\nexport class ResolvePropertyPath implements PipeTransform {\r\n\r\n constructor(\r\n private _showSegmentPipe: ShowSegmentsPipe,\r\n private _showRolesPipe: ShowRolesPipe,\r\n private _showTransportTypesPipe: ShowTransportTypesPipe,\r\n private _idaReturnPipe: IdaReturnPipe,\r\n private _currencyPipe: CurrencyPipe,\r\n private _humanizeDurationPipe: HumanizeDurationPipe,\r\n private _upperCasePipe: UpperCasePipe,\r\n private _durationPipe: DurationTimePipe\r\n ) {\r\n }\r\n\r\n transform(obj: any, path: DisplayOptionItem[]): string {\r\n let result: string = '';\r\n\r\n path?.forEach(item => {\r\n if (item?.type === 'divider') {\r\n result += item?.divider;\r\n } else {\r\n if (item?.path) {\r\n let value = UtilsService.resolvePropertyByPath(obj, item.path);\r\n\r\n switch (item?.customPipe) {\r\n case CustomPipes.SHOW_SEGMENTS:\r\n value = this._showSegmentPipe.transform(value);\r\n break;\r\n case CustomPipes.DURATION_TIME:\r\n value = this._durationPipe.transform(value);\r\n break;\r\n case CustomPipes.HUMANIZE_DURATION:\r\n value = this._humanizeDurationPipe.transform(value);\r\n break;\r\n case CustomPipes.SHOW_TRANSPORT_TYPES:\r\n value = this._showTransportTypesPipe.transform(value);\r\n break;\r\n case CustomPipes.SHOW_ROLES:\r\n value = this._showRolesPipe.transform(value);\r\n break;\r\n case CustomPipes.IDA_RETURN:\r\n value = this._idaReturnPipe.transform(value);\r\n break;\r\n case CustomPipes.CURRENCY:\r\n value = this._currencyPipe.transform(value);\r\n break;\r\n case CustomPipes.UPPERCASE:\r\n value = this._upperCasePipe.transform(value);\r\n break;\r\n default:\r\n break;\r\n }\r\n result += value;\r\n }\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n}\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NG_VALUE_ACCESSOR,\n Validators\n} from '@angular/forms';\nimport {MatAutocompleteTrigger} from '@angular/material/autocomplete';\nimport {FloatLabelType} from '@angular/material/form-field';\nimport {TranslateService} from '@ngx-translate/core';\nimport {debounceTime, Observable, Subject, takeUntil} from 'rxjs';\n\nimport {GENERAL_DISPLAY_OPTIONS} from '../utils/constants/contacts';\nimport {AutocompleteService} from '../utils/services/autocomplete.service';\nimport {UtilsService} from '../utils/services/utils.service';\nimport {ApiFormData, DisplayOption, RestrictionFilter} from \"../utils/interfaces/interfaces\";\n\ndeclare interface PayloadResponse {\n data: any;\n meta: any;\n}\n\ndeclare interface GenericResponse {\n payload: PayloadResponse;\n error: any;\n requestId: string;\n}\n\n@Component({\n selector: 'guajiritos-general-autocomplete',\n templateUrl: './guachos-general-autocomplete.component.html',\n styleUrls: ['./guachos-general-autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GuajiritosGeneralAutocompleteComponent),\n multi: true\n }\n ]\n})\nexport class GuajiritosGeneralAutocompleteComponent implements OnInit, OnDestroy, ControlValueAccessor {\n\n constructor(\n private _autocompleteService: AutocompleteService,\n private _cdRef: ChangeDetectorRef,\n public translateService: TranslateService,\n ) {\n }\n\n private unsubscribeAll$: Subject<void> = new Subject<void>();\n private firstCall: boolean = true;\n private restrictionsFilters: RestrictionFilter[] = [];\n private selectedElement: any;\n private doFocusSubject: Subject<any>;\n private clearData$: Subject<any>;\n private _url: string;\n\n public required: boolean = true;\n public component: FormControl = new FormControl({\n value: null, disabled: false\n });\n public value: any;\n public disabled: boolean = false;\n public filteredOptions: any[];\n public loading: boolean = false;\n\n @ViewChild('inputText', {static: true}) inputText: ElementRef;\n /**\n * Possible values 'never', 'auto' or 'always'\n */\n @Input() floatLabel: FloatLabelType = 'auto';\n @Input() bodyRequest: ApiFormData;\n @Input() debounceTimeValue: number = 250;\n @Input() detailsTemplate: TemplateRef<any>;\n @Input() label: string = 'Seleccione';\n @Input() placeholder: string = 'Seleccione un elemento';\n @Input() field: string[] = ['name'];\n @Input() filterString: string = 'filter[$and][name][$like]';\n @Input() displayOptions: DisplayOption = GENERAL_DISPLAY_OPTIONS;\n @Input() withoutPaddingBottom: boolean = true;\n @Input() valueId: boolean = false;\n @Input() disable: boolean = false;\n @Input() order: string = null;\n @Input() removeProperties: string[] = [];\n @Output() SelectElement: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() set url(data: string) {\n if (data) {\n this._url = data;\n\n this.subscribeComponentChanges();\n }\n }\n\n @Input() set clearData(value: any) {\n this.clearData$ = value;\n if (this.clearData$) {\n this.clearData$\n .pipe(takeUntil(this.unsubscribeAll$))\n .subscribe(() => {\n this.component.setValue(null);\n this.selectedElement = null;\n this.SelectElement.emit(null);\n this.filteredOptions = [];\n this.onChanged(null);\n });\n }\n }\n\n @Input() set initialValue(value: any) {\n this.component.setValue(value);\n }\n\n @Input() set restrictions(value: any) {\n if (value) {\n this.restrictionsFilters = value;\n } else {\n this.restrictionsFilters = [];\n }\n }\n\n @Input() set isRequired(value: boolean) {\n this.required = value;\n\n if (this.required) {\n this.component.setValidators([Validators.required, GuajiritosGeneralAutocompleteComponent.ValidateAutocomplete]);\n } else {\n this.component.clearValidators();\n }\n\n this.component.updateValueAndValidity();\n }\n\n get doFocus(): Subject<any> {\n return this.doFocusSubject;\n }\n\n @Input() set doFocus(value: Subject<any>) {\n this.doFocusSubject = value;\n\n if (value) {\n this.doFocusSubject\n .pipe(takeUntil(this.unsubscribeAll$))\n .subscribe(() => {\n setTimeout(() => {\n this.inputText.nativeElement.focus();\n }, 500);\n });\n }\n }\n\n private static ValidateAutocomplete(control: FormControl) {\n if (control?.value?.constructor !== Object || !control?.value?.id) {\n return {invalidSelection: true};\n }\n\n return null;\n }\n\n private subscribeComponentChanges(): void {\n this.component?.valueChanges\n ?.pipe(debounceTime(this.debounceTimeValue), takeUntil(this.unsubscribeAll$))\n ?.subscribe(() => {\n if (!this.firstCall) {\n this.getAutocompleteByTextHandler(this.getAutocompleteSearchText());\n } else {\n this.firstCall = false;\n }\n });\n }\n\n private getAutocompleteByTextHandler(text?: string): void {\n this._autocompleteService\n .getAutocompleteByText(this._url, text, this.filterString, this.restrictionsFilters,\n this.removeProperties, this.order, this.bodyRequest)\n .then((resp: Observable<any>) => {\n resp?.subscribe((result: GenericResponse) => {\n this.filteredOptions = result?.payload?.data;\n this.loading = false;\n this._cdRef.detectChanges();\n });\n });\n }\n\n private getAutocompleteSearchText(): string {\n this.loading = true;\n\n let text: string = null;\n if (this.component?.value) {\n if (typeof this.component.value === 'object') {\n const componentValue = this.component?.value[this.field[0]]\n if (typeof componentValue === 'object') {\n let lang: string = 'es';\n if (this.field[1]) {\n lang = this.field[1];\n }\n\n text = componentValue[lang];\n }\n } else if (typeof this.component?.value === 'string') {\n text = this.component.value;\n }\n }\n\n return text;\n }\n\n onChanged: any = () => {\n };\n\n onTouched: any = () => {\n };\n\n public clear(trigger: MatAutocompleteTrigger): void {\n this.component.setValue(null);\n this.selectedElement = null;\n this.SelectElement.emit(null);\n this._cdRef.detectChanges();\n this.onChanged(null);\n\n setTimeout(() => {\n trigger.openPanel();\n this._cdRef.detectChanges();\n }, 200);\n }\n\n public onFocus(): void {\n this.getAutocompleteByTextHandler(this.getAutocompleteSearchText());\n }\n\n public onSelectElement(item: any): void {\n this.selectedElement = item;\n this.SelectElement.emit(item);\n this.value = item;\n\n if (this.valueId) {\n this.onChanged(item?.id);\n } else {\n this.onChanged(item);\n }\n\n this._cdRef.detectChanges();\n }\n\n displayFn = (value: any) => {\n if (value) {\n if (typeof value === 'string') {\n return value;\n }\n\n let displayText = '';\n if (!this.displayOptions) {\n this.displayOptions = GENERAL_DISPLAY_OPTIONS;\n }\n this.displayOptions?.firthLabel?.forEach((field: any) => {\n if (field?.type === 'path') {\n displayText += UtilsService.resolvePropertyByPath(value, field?.path);\n } else {\n displayText += field?.divider;\n }\n });\n return displayText;\n }\n };\n\n writeValue(value: any): void {\n if (value) {\n if (typeof value === 'number') {\n this.value = value;\n } else if (typeof value === 'object') {\n this.component.setValue(value);\n this.value = value.id;\n } else {\n this.value = value;\n }\n } else {\n this.value = null;\n }\n\n this._cdRef.detectChanges();\n }\n\n registerOnChange(fn: any): void {\n this.onChanged = fn;\n this._cdRef.detectChanges();\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n this._cdRef.detectChanges();\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._cdRef.detectChanges();\n }\n\n ngOnInit(): void {\n this.component.markAllAsTouched();\n }\n\n ngOnDestroy(): void {\n this.unsubscribeAll$.next();\n this.unsubscribeAll$.complete();\n }\n}\n","<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\"\r\n appearance=\"outline\" class=\"w-100\" color=\"accent\">\r\n\r\n <mat-label>{{label | translate}}</mat-label>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (blur)=\"onTouched()\" (focus)=\"onFocus()\" [disabled]=\"disable\"\r\n [formControl]=\"component\" [matAutocomplete]=\"autocomplete\" [placeholder]=\"placeholder | translate\"\r\n aria-label=\"Number\" autocomplete=\"off\" matInput type=\"text\">\r\n <button (click)=\"clear(trigger)\" *ngIf=\"!loading && component?.value\" [disabled]=\"disable\" aria-label=\"Clear\"\r\n mat-icon-button matSuffix>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button *ngIf=\"loading\" aria-label=\"Clear\" mat-icon-button matSuffix>\r\n <mat-spinner [value]=\"90\" color=\"accent\" diameter=\"25\"></mat-spinner>\r\n </button>\r\n <mat-autocomplete #autocomplete=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\"\r\n (onSelectionChange)=\"onSelectElement(option)\">\r\n\r\n <ng-container *ngIf=\"!displayOptions && !detailsTemplate\">\r\n {{ option?.name | i18nField: translateService.currentLang }}\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!detailsTemplate\">\r\n <div class=\"display-options\">\r\n <span [ngStyle]=\"{'line-height': displayOptions?.secondLabel ? '16px' : ''}\">\r\n {{option | resolvePropertyPath:displayOptions?.firthLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n <span *ngIf=\"displayOptions?.secondLabel\" class=\"mat-caption\">\r\n {{option | resolvePropertyPath: displayOptions?.secondLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"detailsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate;context:{$implicit: option }\"></ng-container>\r\n </ng-container>\r\n\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n","import {NgModule} from '@angular/core';\nimport {CommonModule, CurrencyPipe, UpperCasePipe} from \"@angular/common\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {TranslateModule} from \"@ngx-translate/core\";\nimport {MatInputModule} from \"@angular/material/input\";\nimport {MatAutocompleteModule} from \"@angular/material/autocomplete\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatProgressSpinnerModule} from \"@angular/material/progress-spinner\";\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\n\nimport {AutocompleteService} from \"../utils/services/autocomplete.service\";\nimport {GuajiritosGeneralAutocompleteComponent} from './guachos-general-autocomplete.component';\nimport {DurationTimePipe} from \"../utils/pipes/duration.pipe\";\nimport {I18nFieldPipe} from \"../utils/pipes/i18n-field.pipe\";\nimport {ResolvePropertyPath} from \"../utils/pipes/resolve-property-path.pipe\";\nimport {HumanizeDurationPipe} from \"../utils/pipes/humanize-duration.pipe\";\nimport {IdaReturnPipe} from \"../utils/pipes/ida-return.pipe\";\nimport {ShowRolesPipe} from \"../utils/pipes/show-roles.pipe\";\nimport {ShowSegmentsPipe} from \"../utils/pipes/show-segments.pipe\";\nimport {ShowTransportTypesPipe} from \"../utils/pipes/show-transport-types.pipe\";\n\n@NgModule({\n declarations: [\n GuajiritosGeneralAutocompleteComponent,\n DurationTimePipe,\n I18nFieldPipe,\n ResolvePropertyPath,\n HumanizeDurationPipe,\n IdaReturnPipe,\n ShowRolesPipe,\n ShowSegmentsPipe,\n ShowTransportTypesPipe\n ],\n imports: [\n CommonModule,\n TranslateModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatButtonModule,\n MatInputModule,\n MatAutocompleteModule\n ],\n providers: [\n UpperCasePipe,\n CurrencyPipe,\n AutocompleteService,\n DurationTimePipe,\n I18nFieldPipe,\n ResolvePropertyPath,\n HumanizeDurationPipe,\n IdaReturnPipe,\n ShowRolesPipe,\n ShowSegmentsPipe,\n ShowTransportTypesPipe\n ],\n exports: [\n GuajiritosGeneralAutocompleteComponent\n ]\n})\nexport class GuajiritosGeneralAutocompleteModule {\n}\n","/*\n * Public API Surface of guachos-general-autocomplete\n */\n\nexport * from './utils/interfaces/interfaces';\nexport * from './utils/constants/contacts';\nexport * from './lib/guachos-general-autocomplete.component';\nexport * from './lib/guachos-general-autocomplete.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ShowSegmentsPipe","i2.ShowRolesPipe","i3.ShowTransportTypesPipe","i4.IdaReturnPipe","i5","i6.HumanizeDurationPipe","i7.DurationTimePipe","i1.AutocompleteService","i12.I18nFieldPipe","i13.ResolvePropertyPath"],"mappings":"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"}
|