@seniorsistemas/angular-components 18.1.0-feature-sds-276-b91bdaeb → 18.1.0-feature-sds-276-a9df7947
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/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +1 -1
- package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +9 -8
- package/custom-fields/lib/custom-fields/custom-fields.service.d.ts +4 -3
- package/custom-fields/lib/custom-fields/models/custom-field-type.d.ts +33 -0
- package/custom-fields/lib/custom-fields/models/index.d.ts +1 -0
- package/custom-fields/public-api.d.ts +2 -1
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/field-label/field-label.component.d.ts +3 -3
- package/dynamic-form/dynamic-form/components/grid/row/row.component.d.ts +22 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/lookup.component.d.ts +19 -34
- package/dynamic-form/dynamic-form/components/structure/base-structure-component.d.ts +10 -0
- package/dynamic-form/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +12 -0
- package/dynamic-form/dynamic-form/components/structure/section/section.component.d.ts +14 -0
- package/dynamic-form/dynamic-form/configurations/registry.d.ts +8 -0
- package/dynamic-form/dynamic-form/configurations/structure/fieldset.d.ts +11 -0
- package/dynamic-form/dynamic-form/configurations/structure/row.d.ts +21 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/configurations/structure/section.d.ts +9 -8
- package/dynamic-form/dynamic-form/configurations/structure/structure.d.ts +11 -0
- package/dynamic-form/dynamic-form/dynamic-form.component.d.ts +19 -0
- package/dynamic-form/dynamic-form/dynamic-form.d.ts +39 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/dynamic-form.directive.d.ts +6 -12
- package/dynamic-form/dynamic-form/dynamic-form.module.d.ts +79 -0
- package/dynamic-form/dynamic-form/form-field/configurations/field-size.d.ts +13 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +21 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +28 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.d.ts +28 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +21 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +12 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.d.ts +16 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +33 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +11 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.d.ts +18 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/country-phone-picker-field.d.ts +6 -7
- package/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.d.ts +15 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/field.d.ts +43 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +56 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/number-field.d.ts +9 -22
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/password-field.d.ts +8 -20
- package/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +24 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/radio-button-field.d.ts +7 -9
- package/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.d.ts +33 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.d.ts +24 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +16 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +18 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-ia-field.d.ts +19 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.d.ts +31 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/autocomplete/autocomplete-field.component.d.ts +9 -6
- package/dynamic-form/dynamic-form/form-field/fields/base-field-component.d.ts +7 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/bignumber/bignumber-field.component.d.ts +8 -8
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/boolean/boolean-radio-field/boolean-field.component.d.ts +4 -4
- package/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.d.ts +10 -0
- package/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.d.ts +11 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/calendar/calendar-field.component.d.ts +10 -10
- package/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.d.ts +10 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/chips/chips-field.component.d.ts +5 -5
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/country-phone-picker/country-phone-picker-field.component.d.ts +4 -4
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/currency/currency-field.component.d.ts +10 -6
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/file-upload/file-upload-field.component.d.ts +7 -6
- package/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.d.ts +18 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/number/number-field.component.d.ts +8 -9
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/password/password-field.component.d.ts +8 -6
- package/dynamic-form/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.d.ts +10 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/radio-button/radio-button-field.component.d.ts +5 -5
- package/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.d.ts +12 -0
- package/dynamic-form/dynamic-form/form-field/fields/slider/slider-field.component.d.ts +23 -0
- package/dynamic-form/dynamic-form/form-field/fields/star-rating/star-rating-field.component.d.ts +11 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/text/text-field.component.d.ts +8 -8
- package/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +18 -0
- package/dynamic-form/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.d.ts +15 -0
- package/dynamic-form/dynamic-form/services/form-field-utils.service.d.ts +15 -0
- package/dynamic-form/public-api.d.ts +35 -43
- package/dynamic-form/src/optional-fields/editor/editor-field/editor-field.component.d.ts +10 -0
- package/dynamic-form/src/optional-fields/editor/editor-field.d.ts +15 -0
- package/dynamic-form/src/optional-fields/editor/index.d.ts +5 -0
- package/dynamic-form/src/optional-fields/editor/public-api.d.ts +1 -0
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +8 -6
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +68 -69
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +5 -5
- package/esm2022/custom-fields/lib/custom-fields/models/custom-field-type.mjs +26 -1
- package/esm2022/custom-fields/lib/custom-fields/models/index.mjs +2 -0
- package/esm2022/custom-fields/public-api.mjs +3 -2
- package/esm2022/dynamic-form/dynamic-form/components/field-label/field-label.component.mjs +21 -0
- package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +39 -0
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +661 -0
- package/esm2022/dynamic-form/dynamic-form/components/lookup/types/default-filter.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/components/lookup/types/label-options.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/components/structure/base-structure-component.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/components/structure/fieldset/fieldset.component.mjs +17 -0
- package/esm2022/dynamic-form/dynamic-form/components/structure/section/section.component.mjs +23 -0
- package/esm2022/dynamic-form/dynamic-form/configurations/registry.mjs +12 -0
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/fieldset.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/row.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/section.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/structure.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.component.mjs +37 -0
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.directive.mjs +74 -0
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.mjs +81 -0
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.module.mjs +283 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/addon-config.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/field-size.mjs +19 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +9 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-ia-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +41 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/base-field-component.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +119 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +21 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +17 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +28 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +123 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +15 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.mjs +53 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +23 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +99 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/file-upload/file-upload-field.component.mjs +47 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +40 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +114 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +73 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +16 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +49 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.mjs +19 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/slider/slider-field.component.mjs +113 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +21 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +79 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +34 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.mjs +27 -0
- package/esm2022/dynamic-form/dynamic-form/services/form-field-utils.service.mjs +39 -0
- package/esm2022/dynamic-form/public-api.mjs +61 -44
- package/esm2022/dynamic-form/seniorsistemas-angular-components-dynamic-form.mjs +1 -1
- package/esm2022/dynamic-form/src/optional-fields/editor/editor-field/editor-field.component.mjs +18 -0
- package/esm2022/dynamic-form/src/optional-fields/editor/editor-field.mjs +2 -0
- package/esm2022/dynamic-form/src/optional-fields/editor/public-api.mjs +4 -0
- package/esm2022/dynamic-form/src/optional-fields/editor/seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs +5 -0
- package/esm2022/file-upload/lib/file-upload/file-upload.component.mjs +5 -5
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.mjs +1 -1
- package/esm2022/select/lib/select/select.component.mjs +3 -3
- package/esm2022/table/lib/table/table-column/models/dynamic-editable-grid.interface.mjs +1 -1
- package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.component.mjs +6 -6
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +3 -3
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +7 -5
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +95 -71
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs +25 -0
- package/fesm2022/seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +871 -2437
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-upload.mjs +4 -4
- package/fesm2022/seniorsistemas-angular-components-file-upload.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs +5 -5
- package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/file-upload/lib/file-upload/file-upload.component.d.ts +2 -2
- package/package.json +12 -18
- package/table/lib/table/table-column/models/dynamic-editable-grid.interface.d.ts +2 -2
- package/text-area-ia/lib/text-area-ia/text-area-ia.component.d.ts +2 -1
- package/dynamic-form/lib/dynamic-form/components/grid/row/row.component.d.ts +0 -15
- package/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.d.ts +0 -8
- package/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +0 -12
- package/dynamic-form/lib/dynamic-form/components/structure/section/section.component.d.ts +0 -14
- package/dynamic-form/lib/dynamic-form/configurations/dynamic-config.d.ts +0 -3
- package/dynamic-form/lib/dynamic-form/configurations/dynamic-type.d.ts +0 -24
- package/dynamic-form/lib/dynamic-form/configurations/grid/grid.d.ts +0 -14
- package/dynamic-form/lib/dynamic-form/configurations/grid/row.d.ts +0 -8
- package/dynamic-form/lib/dynamic-form/configurations/grid-type.d.ts +0 -3
- package/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/configurations/structure/structure.d.ts +0 -14
- package/dynamic-form/lib/dynamic-form/configurations/structure-type.d.ts +0 -4
- package/dynamic-form/lib/dynamic-form/dynamic-form.component.d.ts +0 -19
- package/dynamic-form/lib/dynamic-form/dynamic-form.d.ts +0 -57
- package/dynamic-form/lib/dynamic-form/dynamic-form.module.d.ts +0 -83
- package/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.d.ts +0 -7
- package/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.d.ts +0 -32
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +0 -30
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +0 -38
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.d.ts +0 -43
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +0 -29
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +0 -11
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.d.ts +0 -34
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +0 -45
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +0 -9
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.d.ts +0 -24
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.d.ts +0 -9
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.d.ts +0 -14
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.d.ts +0 -18
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.d.ts +0 -96
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +0 -97
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +0 -35
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.d.ts +0 -41
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.d.ts +0 -32
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +0 -17
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +0 -24
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.d.ts +0 -26
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.d.ts +0 -41
- package/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.d.ts +0 -32
- package/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.d.ts +0 -9
- package/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.d.ts +0 -9
- package/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.d.ts +0 -25
- package/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +0 -14
- package/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.d.ts +0 -9
- package/dynamic-form/lib/dynamic-form/form-field/form-field.d.ts +0 -192
- package/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.d.ts +0 -12
- package/esm2022/dynamic-form/lib/dynamic-form/components/field-label/field-label.component.mjs +0 -20
- package/esm2022/dynamic-form/lib/dynamic-form/components/grid/row/row.component.mjs +0 -41
- package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/lookup.component.mjs +0 -642
- package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/default-filter.mjs +0 -2
- package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/label-options.mjs +0 -2
- package/esm2022/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.mjs +0 -2
- package/esm2022/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.mjs +0 -27
- package/esm2022/dynamic-form/lib/dynamic-form/components/structure/section/section.component.mjs +0 -33
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-config.mjs +0 -71
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-type.mjs +0 -26
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/grid.mjs +0 -14
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/row.mjs +0 -10
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid-type.mjs +0 -5
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.mjs +0 -10
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/section.mjs +0 -31
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/structure.mjs +0 -9
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure-type.mjs +0 -6
- package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.component.mjs +0 -41
- package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.directive.mjs +0 -107
- package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.mjs +0 -189
- package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.module.mjs +0 -293
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/addon-config.mjs +0 -2
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.mjs +0 -13
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.mjs +0 -34
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +0 -24
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +0 -37
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.mjs +0 -31
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.mjs +0 -30
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +0 -15
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.mjs +0 -47
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.mjs +0 -56
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +0 -9
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.mjs +0 -25
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +0 -15
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.mjs +0 -14
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.mjs +0 -16
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.mjs +0 -15
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.mjs +0 -64
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.mjs +0 -66
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/number-field.mjs +0 -38
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.mjs +0 -33
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.mjs +0 -35
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +0 -27
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.mjs +0 -43
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.mjs +0 -30
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +0 -17
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.mjs +0 -30
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.mjs +0 -32
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.mjs +0 -38
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +0 -37
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.mjs +0 -22
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +0 -124
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +0 -27
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +0 -23
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.mjs +0 -31
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +0 -118
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +0 -21
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/chips/chips-field.component.mjs +0 -59
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +0 -29
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/currency/currency-field.component.mjs +0 -100
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.mjs +0 -23
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.mjs +0 -56
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +0 -23
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/number/number-field.component.mjs +0 -121
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/password/password-field.component.mjs +0 -75
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +0 -22
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +0 -52
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.mjs +0 -24
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.mjs +0 -103
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +0 -25
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text/text-field.component.mjs +0 -88
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +0 -29
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.mjs +0 -22
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/form-field.mjs +0 -243
- package/esm2022/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.mjs +0 -150
- package/esm2022/form-dynamic/components/form-dynamic/form-dynamic.component.mjs +0 -53
- package/esm2022/form-dynamic/core/registry.mjs +0 -10
- package/esm2022/form-dynamic/fields-basic/boolean-field/boolean-field.component.mjs +0 -15
- package/esm2022/form-dynamic/fields-basic/string-field/string-field.component.mjs +0 -15
- package/esm2022/form-dynamic/optional-fields/editor/editor-field/editor-field.component.mjs +0 -30
- package/esm2022/form-dynamic/optional-fields/editor/editor-types.mjs +0 -2
- package/esm2022/form-dynamic/optional-fields/editor/public-api.mjs +0 -6
- package/esm2022/form-dynamic/optional-fields/editor/seniorsistemas-angular-components-form-dynamic-optional-fields-editor.mjs +0 -5
- package/esm2022/form-dynamic/public-api.mjs +0 -10
- package/esm2022/form-dynamic/schemas/field-dynamic.mjs +0 -2
- package/esm2022/form-dynamic/schemas/form-dynamic-schema.mjs +0 -2
- package/esm2022/form-dynamic/seniorsistemas-angular-components-form-dynamic.mjs +0 -5
- package/fesm2022/seniorsistemas-angular-components-form-dynamic-optional-fields-editor.mjs +0 -40
- package/fesm2022/seniorsistemas-angular-components-form-dynamic-optional-fields-editor.mjs.map +0 -1
- package/fesm2022/seniorsistemas-angular-components-form-dynamic.mjs +0 -94
- package/fesm2022/seniorsistemas-angular-components-form-dynamic.mjs.map +0 -1
- package/form-dynamic/components/form-dynamic/form-dynamic.component.d.ts +0 -15
- package/form-dynamic/core/registry.d.ts +0 -7
- package/form-dynamic/fields-basic/boolean-field/boolean-field.component.d.ts +0 -9
- package/form-dynamic/fields-basic/string-field/string-field.component.d.ts +0 -9
- package/form-dynamic/index.d.ts +0 -5
- package/form-dynamic/optional-fields/editor/editor-field/editor-field.component.d.ts +0 -15
- package/form-dynamic/optional-fields/editor/editor-types.d.ts +0 -8
- package/form-dynamic/optional-fields/editor/index.d.ts +0 -5
- package/form-dynamic/optional-fields/editor/public-api.d.ts +0 -8
- package/form-dynamic/public-api.d.ts +0 -4
- package/form-dynamic/schemas/field-dynamic.d.ts +0 -20
- package/form-dynamic/schemas/form-dynamic-schema.d.ts +0 -4
- /package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/types/default-filter.d.ts +0 -0
- /package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/types/label-options.d.ts +0 -0
- /package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/addon-config.d.ts +0 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Component, input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/cdk/clipboard";
|
|
4
|
+
import * as i2 from "primeng/api";
|
|
5
|
+
import * as i3 from "@seniorsistemas/angular-components/chips";
|
|
6
|
+
import * as i4 from "@angular/forms";
|
|
7
|
+
import * as i5 from "@seniorsistemas/angular-components/tooltip";
|
|
8
|
+
import * as i6 from "../../../components/field-label/field-label.component";
|
|
9
|
+
import * as i7 from "@ngx-translate/core";
|
|
10
|
+
export class ChipsFieldComponent {
|
|
11
|
+
clipboard;
|
|
12
|
+
changeDetectorRef;
|
|
13
|
+
elementRef;
|
|
14
|
+
field = input.required();
|
|
15
|
+
formControl = input.required();
|
|
16
|
+
feedbackMessageVisible = false;
|
|
17
|
+
copyButtonVisible = true;
|
|
18
|
+
inputRef = null;
|
|
19
|
+
constructor(clipboard, changeDetectorRef, elementRef) {
|
|
20
|
+
this.clipboard = clipboard;
|
|
21
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
22
|
+
this.elementRef = elementRef;
|
|
23
|
+
}
|
|
24
|
+
onCopyFieldContent() {
|
|
25
|
+
if (this.formControl().value) {
|
|
26
|
+
this.copyButtonVisible = false;
|
|
27
|
+
this.feedbackMessageVisible = true;
|
|
28
|
+
setTimeout(() => {
|
|
29
|
+
this.feedbackMessageVisible = false;
|
|
30
|
+
this.copyButtonVisible = true;
|
|
31
|
+
}, 3000);
|
|
32
|
+
const content = this.formControl().value.join(this.field().separator || '\n');
|
|
33
|
+
this.clipboard.copy(content);
|
|
34
|
+
if (this.field().onCopy) {
|
|
35
|
+
this.field().onCopy?.(content);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
ngAfterViewInit() {
|
|
40
|
+
this.setInputRef();
|
|
41
|
+
this.changeDetectorRef.detectChanges();
|
|
42
|
+
}
|
|
43
|
+
setInputRef() {
|
|
44
|
+
this.inputRef = this.elementRef.nativeElement.querySelector('input');
|
|
45
|
+
}
|
|
46
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChipsFieldComponent, deps: [{ token: i1.Clipboard }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ChipsFieldComponent, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<div class=\"chips-field-wrapper\">\n <div style=\"width: 100%\">\n @if (_field.keyFilter) {\n <s-chips\n [inputId]=\"_field.id || _field.name\"\n [formControl]=\"formControl()\"\n [placeholder]=\"_field.placeholder\"\n [allowDuplicated]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"_field.onAdd ? _field.onAdd($event) : null\"\n (onRemove)=\"_field.onRemove ? _field.onRemove($event) : null\"\n (onChipClick)=\"_field.onChipClick ? _field.onChipClick($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n [keyFilter]=\"_field.keyFilter\"\n >\n <ng-template\n let-item\n pTemplate=\"item\"\n >\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\"\n >\n {{ item }}\n </span>\n </ng-template>\n </s-chips>\n } @else {\n <s-chips\n [inputId]=\"_field.id || _field.name\"\n [formControl]=\"formControl()\"\n [placeholder]=\"_field.placeholder\"\n [allowDuplicated]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"_field.onAdd ? _field.onAdd($event) : null\"\n (onRemove)=\"_field.onRemove ? _field.onRemove($event) : null\"\n (onChipClick)=\"_field.onChipClick ? _field.onChipClick($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n >\n <ng-template\n let-item\n pTemplate=\"item\"\n >\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\"\n >\n {{ item }}\n </span>\n </ng-template>\n </s-chips>\n }\n </div>\n\n @if (_field.showCopyButton && formControl().value?.length > 0 && copyButtonVisible) {\n <button\n class=\"copy-content-button\"\n (click)=\"onCopyFieldContent()\"\n >\n {{ 'platform.angular_components.copy_field_content' | translate }}\n </button>\n }\n\n @if (feedbackMessageVisible) {\n <span class=\"feedback-message\">\n {{ 'platform.angular_components.copied_to_clipboard' | translate }}\n </span>\n }\n</div>\n\n", styles: [".chips-field-wrapper{align-items:flex-start;display:flex;flex-direction:column}.chips-field-wrapper .chip-content{display:block;overflow:hidden;padding-right:1rem;text-overflow:ellipsis}.chips-field-wrapper .copy-content-button{background-color:transparent;border:none;color:#2a6496;cursor:pointer;margin-top:8px}.chips-field-wrapper .feedback-message{color:#0c9348;display:block;margin-top:8px;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.ChipsComponent, selector: "s-chips", inputs: ["disabled", "field", "value", "placeholder", "max", "maxLength", "inputId", "allowDuplicated", "caseSensitiveDuplication", "addOnTab", "addOnBlur", "separator", "autofocus", "infoLabel", "keyFilter", "showTooltip", "maxLengthRenderWithoutTooltip"], outputs: ["added", "removed", "focused", "focusLost", "chipClicked", "valueChange"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: i6.FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChipsFieldComponent, decorators: [{
|
|
50
|
+
type: Component,
|
|
51
|
+
args: [{ template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<div class=\"chips-field-wrapper\">\n <div style=\"width: 100%\">\n @if (_field.keyFilter) {\n <s-chips\n [inputId]=\"_field.id || _field.name\"\n [formControl]=\"formControl()\"\n [placeholder]=\"_field.placeholder\"\n [allowDuplicated]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"_field.onAdd ? _field.onAdd($event) : null\"\n (onRemove)=\"_field.onRemove ? _field.onRemove($event) : null\"\n (onChipClick)=\"_field.onChipClick ? _field.onChipClick($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n [keyFilter]=\"_field.keyFilter\"\n >\n <ng-template\n let-item\n pTemplate=\"item\"\n >\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\"\n >\n {{ item }}\n </span>\n </ng-template>\n </s-chips>\n } @else {\n <s-chips\n [inputId]=\"_field.id || _field.name\"\n [formControl]=\"formControl()\"\n [placeholder]=\"_field.placeholder\"\n [allowDuplicated]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"_field.onAdd ? _field.onAdd($event) : null\"\n (onRemove)=\"_field.onRemove ? _field.onRemove($event) : null\"\n (onChipClick)=\"_field.onChipClick ? _field.onChipClick($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n >\n <ng-template\n let-item\n pTemplate=\"item\"\n >\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\"\n >\n {{ item }}\n </span>\n </ng-template>\n </s-chips>\n }\n </div>\n\n @if (_field.showCopyButton && formControl().value?.length > 0 && copyButtonVisible) {\n <button\n class=\"copy-content-button\"\n (click)=\"onCopyFieldContent()\"\n >\n {{ 'platform.angular_components.copy_field_content' | translate }}\n </button>\n }\n\n @if (feedbackMessageVisible) {\n <span class=\"feedback-message\">\n {{ 'platform.angular_components.copied_to_clipboard' | translate }}\n </span>\n }\n</div>\n\n", styles: [".chips-field-wrapper{align-items:flex-start;display:flex;flex-direction:column}.chips-field-wrapper .chip-content{display:block;overflow:hidden;padding-right:1rem;text-overflow:ellipsis}.chips-field-wrapper .copy-content-button{background-color:transparent;border:none;color:#2a6496;cursor:pointer;margin-top:8px}.chips-field-wrapper .feedback-message{color:#0c9348;display:block;margin-top:8px;-webkit-user-select:none;user-select:none}\n"] }]
|
|
52
|
+
}], ctorParameters: () => [{ type: i1.Clipboard }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }] });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jaGlwcy9jaGlwcy1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NoaXBzL2NoaXBzLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBb0MsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBUy9GLE1BQU0sT0FBTyxtQkFBbUI7SUFTUDtJQUNBO0lBQ0E7SUFWckIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQW9CLENBQUM7SUFDM0MsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQztJQUVyQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLFFBQVEsR0FBdUIsSUFBSSxDQUFDO0lBRTNDLFlBQ3FCLFNBQW9CLEVBQ3BCLGlCQUFvQyxFQUNwQyxVQUFzQjtRQUZ0QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUN4QyxDQUFDO0lBRUcsa0JBQWtCO1FBQ3JCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDL0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUVuQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFDbEMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRVQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUU5RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU3QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU8sV0FBVztRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7d0dBekNRLG1CQUFtQjs0RkFBbkIsbUJBQW1CLGdVQ1ZoQyxvL0ZBa0ZBOzs0RkR4RWEsbUJBQW1CO2tCQUovQixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDaGlwc0ZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2NoaXBzLWZpZWxkJztcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uL2Jhc2UtZmllbGQtY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoaXBzLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGlwcy1maWVsZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDaGlwc0ZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnLCBBZnRlclZpZXdJbml0IHtcbiAgICBmaWVsZCA9IGlucHV0LnJlcXVpcmVkPENoaXBzRmllbGRDb25maWc+KCk7XG4gICAgZm9ybUNvbnRyb2wgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQ29udHJvbD4oKTtcblxuICAgIHB1YmxpYyBmZWVkYmFja01lc3NhZ2VWaXNpYmxlID0gZmFsc2U7XG4gICAgcHVibGljIGNvcHlCdXR0b25WaXNpYmxlID0gdHJ1ZTtcbiAgICBwdWJsaWMgaW5wdXRSZWY6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgb25Db3B5RmllbGRDb250ZW50KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbCgpLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNvcHlCdXR0b25WaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmZlZWRiYWNrTWVzc2FnZVZpc2libGUgPSB0cnVlO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZlZWRiYWNrTWVzc2FnZVZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvcHlCdXR0b25WaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0sIDMwMDApO1xuXG4gICAgICAgICAgICBjb25zdCBjb250ZW50ID0gdGhpcy5mb3JtQ29udHJvbCgpLnZhbHVlLmpvaW4odGhpcy5maWVsZCgpLnNlcGFyYXRvciB8fCAnXFxuJyk7XG5cbiAgICAgICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkoY29udGVudCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkKCkub25Db3B5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm9uQ29weT8uKGNvbnRlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRJbnB1dFJlZigpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldElucHV0UmVmKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0UmVmID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcbiAgICB9XG59XG5cbiIsIkBsZXQgX2ZpZWxkID0gZmllbGQoKTtcbkBpZiAoaW5wdXRSZWYpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcbiAgICAgICAgW2ZpZWxkQ29udGFpbmVyUmVmXT1cImlucHV0UmVmXCJcbiAgICA+PC9zLWZpZWxkLWxhYmVsPlxufVxuXG48ZGl2IGNsYXNzPVwiY2hpcHMtZmllbGQtd3JhcHBlclwiPlxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxuICAgICAgICBAaWYgKF9maWVsZC5rZXlGaWx0ZXIpIHtcbiAgICAgICAgICAgIDxzLWNoaXBzXG4gICAgICAgICAgICAgICAgW2lucHV0SWRdPVwiX2ZpZWxkLmlkIHx8IF9maWVsZC5uYW1lXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW2FsbG93RHVwbGljYXRlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2FkZE9uVGFiXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFthZGRPbkJsdXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgKG9uQWRkKT1cIl9maWVsZC5vbkFkZCA/IF9maWVsZC5vbkFkZCgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uUmVtb3ZlKT1cIl9maWVsZC5vblJlbW92ZSA/IF9maWVsZC5vblJlbW92ZSgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uQ2hpcENsaWNrKT1cIl9maWVsZC5vbkNoaXBDbGljayA/IF9maWVsZC5vbkNoaXBDbGljaygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uRm9jdXMpPVwiX2ZpZWxkLm9uRm9jdXMgPyBfZmllbGQub25Gb2N1cygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uQmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2tleUZpbHRlcl09XCJfZmllbGQua2V5RmlsdGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgbGV0LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgcFRlbXBsYXRlPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGlwLWNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NUb29sdGlwXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9zLWNoaXBzPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxzLWNoaXBzXG4gICAgICAgICAgICAgICAgW2lucHV0SWRdPVwiX2ZpZWxkLmlkIHx8IF9maWVsZC5uYW1lXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW2FsbG93RHVwbGljYXRlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2FkZE9uVGFiXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFthZGRPbkJsdXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgKG9uQWRkKT1cIl9maWVsZC5vbkFkZCA/IF9maWVsZC5vbkFkZCgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uUmVtb3ZlKT1cIl9maWVsZC5vblJlbW92ZSA/IF9maWVsZC5vblJlbW92ZSgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uQ2hpcENsaWNrKT1cIl9maWVsZC5vbkNoaXBDbGljayA/IF9maWVsZC5vbkNoaXBDbGljaygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uRm9jdXMpPVwiX2ZpZWxkLm9uRm9jdXMgPyBfZmllbGQub25Gb2N1cygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uQmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIGxldC1pdGVtXG4gICAgICAgICAgICAgICAgICAgIHBUZW1wbGF0ZT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hpcC1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzVG9vbHRpcF09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvcy1jaGlwcz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChfZmllbGQuc2hvd0NvcHlCdXR0b24gJiYgZm9ybUNvbnRyb2woKS52YWx1ZT8ubGVuZ3RoID4gMCAmJiBjb3B5QnV0dG9uVmlzaWJsZSkge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImNvcHktY29udGVudC1idXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ29weUZpZWxkQ29udGVudCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jb3B5X2ZpZWxkX2NvbnRlbnQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIH1cblxuICAgIEBpZiAoZmVlZGJhY2tNZXNzYWdlVmlzaWJsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImZlZWRiYWNrLW1lc3NhZ2VcIj5cbiAgICAgICAgICAgIHt7ICdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY29waWVkX3RvX2NsaXBib2FyZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIH1cbjwvZGl2PlxuXG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component, input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@seniorsistemas/angular-components/country-phone-picker";
|
|
4
|
+
import * as i2 from "@angular/forms";
|
|
5
|
+
import * as i3 from "../../../components/field-label/field-label.component";
|
|
6
|
+
export class CountryPhonePickerFieldComponent {
|
|
7
|
+
changeDetectorRef;
|
|
8
|
+
field = input.required();
|
|
9
|
+
formControl = input.required();
|
|
10
|
+
constructor(changeDetectorRef) {
|
|
11
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
12
|
+
}
|
|
13
|
+
ngAfterViewInit() {
|
|
14
|
+
this.changeDetectorRef.detectChanges();
|
|
15
|
+
}
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CountryPhonePickerFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CountryPhonePickerFieldComponent, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@let _field = field();\n@if (countryPhonePicker.phoneInput?.nativeElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"countryPhonePicker.phoneInput?.nativeElement\"\n ></s-field-label>\n}\n\n<s-country-phone-picker\n #countryPhonePicker\n [formControl]=\"formControl()\"\n [ordination]=\"_field.ordination\"\n [countries]=\"_field.countries\"\n (selected)=\"_field.onSelected($event)\"\n (focusLost)=\"_field.onFocusLost ? _field.onFocusLost($event) : null\"\n>\n</s-country-phone-picker>\n\n", dependencies: [{ kind: "component", type: i1.CountryPhonePickerComponent, selector: "s-country-phone-picker", inputs: ["countries", "ordination"], outputs: ["selected", "focusLost"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }] });
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CountryPhonePickerFieldComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ template: "@let _field = field();\n@if (countryPhonePicker.phoneInput?.nativeElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"countryPhonePicker.phoneInput?.nativeElement\"\n ></s-field-label>\n}\n\n<s-country-phone-picker\n #countryPhonePicker\n [formControl]=\"formControl()\"\n [ordination]=\"_field.ordination\"\n [countries]=\"_field.countries\"\n (selected)=\"_field.onSelected($event)\"\n (focusLost)=\"_field.onFocusLost ? _field.onFocusLost($event) : null\"\n>\n</s-country-phone-picker>\n\n" }]
|
|
22
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1waG9uZS1waWNrZXItZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jb3VudHJ5LXBob25lLXBpY2tlci9jb3VudHJ5LXBob25lLXBpY2tlci1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NvdW50cnktcGhvbmUtcGlja2VyL2NvdW50cnktcGhvbmUtcGlja2VyLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTbkYsTUFBTSxPQUFPLGdDQUFnQztJQUlaO0lBSDdCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUE0QixDQUFDO0lBQ25ELFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7SUFFNUMsWUFBNkIsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBRyxDQUFDO0lBRTlELGVBQWU7UUFDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNDLENBQUM7d0dBUlEsZ0NBQWdDOzRGQUFoQyxnQ0FBZ0MsZ1VDVDdDLHlpQkFrQkE7OzRGRFRhLGdDQUFnQztrQkFINUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ291bnRyeVBob25lUGlja2VyQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2NvdW50cnktcGhvbmUtcGlja2VyLWZpZWxkJztcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uL2Jhc2UtZmllbGQtY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvdW50cnktcGhvbmUtcGlja2VyLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ291bnRyeVBob25lUGlja2VyRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcsIEFmdGVyVmlld0luaXQge1xuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8Q291bnRyeVBob25lUGlja2VyQ29uZmlnPigpO1xuICAgIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cblxuIiwiQGxldCBfZmllbGQgPSBmaWVsZCgpO1xuQGlmIChjb3VudHJ5UGhvbmVQaWNrZXIucGhvbmVJbnB1dD8ubmF0aXZlRWxlbWVudCkge1xuICAgIDxzLWZpZWxkLWxhYmVsXG4gICAgICAgIFtmaWVsZF09XCJfZmllbGRcIlxuICAgICAgICBbZmllbGRDb250YWluZXJSZWZdPVwiY291bnRyeVBob25lUGlja2VyLnBob25lSW5wdXQ/Lm5hdGl2ZUVsZW1lbnRcIlxuICAgID48L3MtZmllbGQtbGFiZWw+XG59XG5cbjxzLWNvdW50cnktcGhvbmUtcGlja2VyXG4gICAgI2NvdW50cnlQaG9uZVBpY2tlclxuICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICBbb3JkaW5hdGlvbl09XCJfZmllbGQub3JkaW5hdGlvblwiXG4gICAgW2NvdW50cmllc109XCJfZmllbGQuY291bnRyaWVzXCJcbiAgICAoc2VsZWN0ZWQpPVwiX2ZpZWxkLm9uU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgKGZvY3VzTG9zdCk9XCJfZmllbGQub25Gb2N1c0xvc3QgPyBfZmllbGQub25Gb2N1c0xvc3QoJGV2ZW50KSA6IG51bGxcIlxuPlxuPC9zLWNvdW50cnktcGhvbmUtcGlja2VyPlxuXG4iXX0=
|
package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Component, computed, inject, input, viewChild, } from '@angular/core';
|
|
2
|
+
import { currencies } from '@seniorsistemas/angular-components/currency';
|
|
3
|
+
import { InputMask } from 'primeng/inputmask';
|
|
4
|
+
import { first } from 'rxjs/operators';
|
|
5
|
+
import { FormFieldUtilsService } from '../../../services/form-field-utils.service';
|
|
6
|
+
import { NumberAlignmentOption } from '@seniorsistemas/angular-components/number-input';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@seniorsistemas/angular-components/currency";
|
|
9
|
+
import * as i2 from "@seniorsistemas/angular-components/locale";
|
|
10
|
+
import * as i3 from "@angular/common";
|
|
11
|
+
import * as i4 from "@angular/forms";
|
|
12
|
+
import * as i5 from "primeng/inputmask";
|
|
13
|
+
import * as i6 from "@seniorsistemas/angular-components/tooltip";
|
|
14
|
+
import * as i7 from "@seniorsistemas/angular-components/number-input";
|
|
15
|
+
import * as i8 from "../../../components/field-label/field-label.component";
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated Should use bignumber instead
|
|
18
|
+
*/
|
|
19
|
+
export class CurrencyFieldComponent {
|
|
20
|
+
currencyService;
|
|
21
|
+
localeService;
|
|
22
|
+
changeDetectorRef;
|
|
23
|
+
inputRefComponent = viewChild('inputRef');
|
|
24
|
+
field = input.required();
|
|
25
|
+
formControl = input.required();
|
|
26
|
+
fieldUtils = inject(FormFieldUtilsService);
|
|
27
|
+
currencies = currencies;
|
|
28
|
+
mask;
|
|
29
|
+
inputRef = computed(() => {
|
|
30
|
+
const inputRef = this.inputRefComponent();
|
|
31
|
+
if (!inputRef) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
if (inputRef instanceof InputMask) {
|
|
35
|
+
return inputRef.input;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return inputRef.nativeElement;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
constructor(currencyService, localeService, changeDetectorRef) {
|
|
42
|
+
this.currencyService = currencyService;
|
|
43
|
+
this.localeService = localeService;
|
|
44
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
45
|
+
}
|
|
46
|
+
ngOnInit() {
|
|
47
|
+
this.onLocaleService();
|
|
48
|
+
const field = this.field();
|
|
49
|
+
this.mask = typeof field.mask === 'function' ? field.mask() : field.mask;
|
|
50
|
+
}
|
|
51
|
+
ngAfterViewInit() {
|
|
52
|
+
this.changeDetectorRef.detectChanges();
|
|
53
|
+
}
|
|
54
|
+
onLocaleService() {
|
|
55
|
+
this.localeService
|
|
56
|
+
.getLocale()
|
|
57
|
+
.pipe(first())
|
|
58
|
+
.subscribe({
|
|
59
|
+
next: () => {
|
|
60
|
+
if (!this.field().numberLocaleOptions?.decimalSeparator) {
|
|
61
|
+
this.field().numberLocaleOptions = {
|
|
62
|
+
currencySymbol: this.field().numberLocaleOptions?.currencySymbol,
|
|
63
|
+
thousandsSeparator: this.field().numberLocaleOptions?.thousandsSeparator,
|
|
64
|
+
decimalSeparator: this.localeService.getDecimalSeparator(),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
if (!this.field().numberLocaleOptions?.thousandsSeparator) {
|
|
68
|
+
this.field().numberLocaleOptions = {
|
|
69
|
+
currencySymbol: this.field().numberLocaleOptions.currencySymbol,
|
|
70
|
+
decimalSeparator: this.field().numberLocaleOptions.decimalSeparator,
|
|
71
|
+
thousandsSeparator: this.localeService.getGroupingSeparator(),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
if (!this.field().numberLocaleOptions?.currencySymbol) {
|
|
75
|
+
this.field().numberLocaleOptions = {
|
|
76
|
+
decimalSeparator: this.field().numberLocaleOptions.decimalSeparator,
|
|
77
|
+
thousandsSeparator: this.field().numberLocaleOptions.thousandsSeparator,
|
|
78
|
+
currencySymbol: 'R$',
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
error: () => (this.field().numberLocaleOptions = this.field().numberLocaleOptions ?? {
|
|
83
|
+
thousandsSeparator: '.',
|
|
84
|
+
decimalSeparator: ',',
|
|
85
|
+
currencySymbol: 'R$',
|
|
86
|
+
}),
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
parseAlignTo(field) {
|
|
90
|
+
return field.alignTo === 'right' ? NumberAlignmentOption.RIGHT : NumberAlignmentOption.LEFT;
|
|
91
|
+
}
|
|
92
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrencyFieldComponent, deps: [{ token: i1.CurrencyService }, { token: i2.LocaleService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CurrencyFieldComponent, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "inputRefComponent", first: true, predicate: ["inputRef"], descendants: true, isSignal: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef()) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef()\"\n ></s-field-label>\n}\n@let hasMask = !!_field.mask;\n<div\n class=\"[input-is-invalid>.button-container>.button-container]:border-[1px] [input-is-invalid>.button-container>.button-container]:border-r-0 [input-is-invalid>.button-container>.button-container]:border-criticality-red [input-is-invalid>.button-container>input]:border-[1px] [input-is-invalid>.button-container>input]:border-criticality-red [input-has-focus>.button-container]:border-[1px] [input-has-focus>.button-container]:border-r-0 [input-has-focus>.button-container]:border-primary flex h-[35px] w-full\"\n [ngClass]=\"{\n '[&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-r-0 [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-criticality-red [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-criticality-red':\n hasMask,\n }\"\n>\n @if (_field.currency || _field.numberLocaleOptions?.currencySymbol) {\n <div\n class=\"button-container flex h-full min-w-10 items-center justify-center rounded-l-[3px] border border-r-0 border-[#c1c1cc] px-[8px]\"\n >\n <span class=\"text-[#212533]\">\n {{\n _field.currency\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\n : _field.numberLocaleOptions?.currencySymbol\n }}\n </span>\n </div>\n }\n\n @if (hasMask) {\n <p-inputMask\n class=\"input-mask\"\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n [mask]=\"mask\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap !rounded-l-[0px]\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\n (onInput)=\"_field.onInput ? _field.onInput($event) : null\"\n ></p-inputMask>\n } @else if (!hasMask) {\n <input\n #inputRef\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n class=\"h-full w-full rounded-r-[3px] border border-[#c1c1cc] p-2 outline-none focus:border-[1px] focus:border-primary\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n sNumberInput\n [precision]=\"\n _field.precision\n ? fieldUtils.isFunction(_field.precision)\n ? fieldUtils.trigger(_field.precision)\n : _field.precision\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].precision\n : 15\n \"\n [scale]=\"\n _field.scale\n ? fieldUtils.isFunction(_field.scale)\n ? fieldUtils.trigger(_field.scale)\n : _field.scale\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].scale\n : 2\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [alignTo]=\"parseAlignTo(_field)\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n />\n }\n</div>\n\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i5.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "directive", type: i7.NumberInputDirective, selector: "input[sNumberInput]", inputs: ["precision", "scale", "decimalSeparator", "thousandsSeparator", "alignTo", "allowNegative", "placeholder"], outputs: ["pasteRejected"] }, { kind: "component", type: i8.FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }] });
|
|
94
|
+
}
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
|
|
96
|
+
type: Component,
|
|
97
|
+
args: [{ template: "@let _field = field();\n@if (inputRef()) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef()\"\n ></s-field-label>\n}\n@let hasMask = !!_field.mask;\n<div\n class=\"[input-is-invalid>.button-container>.button-container]:border-[1px] [input-is-invalid>.button-container>.button-container]:border-r-0 [input-is-invalid>.button-container>.button-container]:border-criticality-red [input-is-invalid>.button-container>input]:border-[1px] [input-is-invalid>.button-container>input]:border-criticality-red [input-has-focus>.button-container]:border-[1px] [input-has-focus>.button-container]:border-r-0 [input-has-focus>.button-container]:border-primary flex h-[35px] w-full\"\n [ngClass]=\"{\n '[&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-r-0 [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-criticality-red [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-criticality-red':\n hasMask,\n }\"\n>\n @if (_field.currency || _field.numberLocaleOptions?.currencySymbol) {\n <div\n class=\"button-container flex h-full min-w-10 items-center justify-center rounded-l-[3px] border border-r-0 border-[#c1c1cc] px-[8px]\"\n >\n <span class=\"text-[#212533]\">\n {{\n _field.currency\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\n : _field.numberLocaleOptions?.currencySymbol\n }}\n </span>\n </div>\n }\n\n @if (hasMask) {\n <p-inputMask\n class=\"input-mask\"\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n [mask]=\"mask\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap !rounded-l-[0px]\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\n (onInput)=\"_field.onInput ? _field.onInput($event) : null\"\n ></p-inputMask>\n } @else if (!hasMask) {\n <input\n #inputRef\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n class=\"h-full w-full rounded-r-[3px] border border-[#c1c1cc] p-2 outline-none focus:border-[1px] focus:border-primary\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n sNumberInput\n [precision]=\"\n _field.precision\n ? fieldUtils.isFunction(_field.precision)\n ? fieldUtils.trigger(_field.precision)\n : _field.precision\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].precision\n : 15\n \"\n [scale]=\"\n _field.scale\n ? fieldUtils.isFunction(_field.scale)\n ? fieldUtils.trigger(_field.scale)\n : _field.scale\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].scale\n : 2\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [alignTo]=\"parseAlignTo(_field)\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n />\n }\n</div>\n\n" }]
|
|
98
|
+
}], ctorParameters: () => [{ type: i1.CurrencyService }, { type: i2.LocaleService }, { type: i0.ChangeDetectorRef }] });
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jdXJyZW5jeS9jdXJyZW5jeS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2N1cnJlbmN5L2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBQ1QsUUFBUSxFQUVSLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxVQUFVLEVBQW1CLE1BQU0sNkNBQTZDLENBQUM7QUFFMUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUduRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7Ozs7OztBQUV4Rjs7R0FFRztBQUlILE1BQU0sT0FBTyxzQkFBc0I7SUF1QmxCO0lBQ1E7SUFDQTtJQXhCSixpQkFBaUIsR0FBRyxTQUFTLENBQXlCLFVBQVUsQ0FBQyxDQUFDO0lBQ25GLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF1QixDQUFDO0lBQzlDLFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7SUFFNUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRXBDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDeEIsSUFBSSxDQUFVO0lBRWQsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ1osT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUNELElBQUksUUFBUSxZQUFZLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQztRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxZQUNhLGVBQWdDLEVBQ3hCLGFBQTRCLEVBQzVCLGlCQUFvQztRQUY1QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDeEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUN0RCxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDN0UsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTyxlQUFlO1FBQ25CLElBQUksQ0FBQyxhQUFhO2FBQ2IsU0FBUyxFQUFFO2FBQ1gsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2IsU0FBUyxDQUFDO1lBQ1AsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLENBQUM7b0JBQ3RELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxtQkFBbUIsR0FBRzt3QkFDL0IsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjO3dCQUNoRSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCO3dCQUN4RSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixFQUFFO3FCQUM3RCxDQUFDO2dCQUNOLENBQUM7Z0JBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO29CQUN4RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsbUJBQW1CLEdBQUc7d0JBQy9CLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsbUJBQW9CLENBQUMsY0FBYzt3QkFDaEUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLG1CQUFvQixDQUFDLGdCQUFnQjt3QkFDcEUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRTtxQkFDaEUsQ0FBQztnQkFDTixDQUFDO2dCQUVELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLENBQUM7b0JBQ3BELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxtQkFBbUIsR0FBRzt3QkFDL0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLG1CQUFvQixDQUFDLGdCQUFnQjt3QkFDcEUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLG1CQUFvQixDQUFDLGtCQUFrQjt3QkFDeEUsY0FBYyxFQUFFLElBQUk7cUJBQ3ZCLENBQUM7Z0JBQ04sQ0FBQztZQUNMLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQ1IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLG1CQUFtQixJQUFJO2dCQUNwRSxrQkFBa0IsRUFBRSxHQUFHO2dCQUN2QixnQkFBZ0IsRUFBRSxHQUFHO2dCQUNyQixjQUFjLEVBQUUsSUFBSTthQUN2QixDQUFDO1NBQ1QsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUEwQjtRQUNuQyxPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQztJQUNoRyxDQUFDO3dHQS9FUSxzQkFBc0I7NEZBQXRCLHNCQUFzQiwrYkM1Qm5DLGt6SUEyRkE7OzRGRC9EYSxzQkFBc0I7a0JBSGxDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIE9uSW5pdCxcbiAgICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IGN1cnJlbmNpZXMsIEN1cnJlbmN5U2VydmljZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY3VycmVuY3knO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvbG9jYWxlJztcbmltcG9ydCB7IElucHV0TWFzayB9IGZyb20gJ3ByaW1lbmcvaW5wdXRtYXNrJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS1maWVsZC11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IEN1cnJlbmN5RmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvY3VycmVuY3ktZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vYmFzZS1maWVsZC1jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVtYmVyQWxpZ25tZW50T3B0aW9uIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9udW1iZXItaW5wdXQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFNob3VsZCB1c2UgYmlnbnVtYmVyIGluc3RlYWRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICdjdXJyZW5jeS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFJlZkNvbXBvbmVudCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmIHwgSW5wdXRNYXNrPignaW5wdXRSZWYnKTtcbiAgICBmaWVsZCA9IGlucHV0LnJlcXVpcmVkPEN1cnJlbmN5RmllbGRDb25maWc+KCk7XG4gICAgZm9ybUNvbnRyb2wgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQ29udHJvbD4oKTtcblxuICAgIGZpZWxkVXRpbHMgPSBpbmplY3QoRm9ybUZpZWxkVXRpbHNTZXJ2aWNlKTtcblxuICAgIHB1YmxpYyBjdXJyZW5jaWVzID0gY3VycmVuY2llcztcbiAgICBwdWJsaWMgbWFzaz86IHN0cmluZztcblxuICAgIHB1YmxpYyBpbnB1dFJlZiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXRSZWYgPSB0aGlzLmlucHV0UmVmQ29tcG9uZW50KCk7XG4gICAgICAgIGlmICghaW5wdXRSZWYpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlucHV0UmVmIGluc3RhbmNlb2YgSW5wdXRNYXNrKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5wdXRSZWYuaW5wdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gaW5wdXRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IGN1cnJlbmN5U2VydmljZTogQ3VycmVuY3lTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTG9jYWxlU2VydmljZSgpO1xuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQoKTtcbiAgICAgICAgdGhpcy5tYXNrID0gdHlwZW9mIGZpZWxkLm1hc2sgPT09ICdmdW5jdGlvbicgPyBmaWVsZC5tYXNrKCkgOiBmaWVsZC5tYXNrO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25Mb2NhbGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRMb2NhbGUoKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucz8uZGVjaW1hbFNlcGFyYXRvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2w6IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5sb2NhbGVTZXJ2aWNlLmdldERlY2ltYWxTZXBhcmF0b3IoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sOiB0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyEuY3VycmVuY3lTeW1ib2wsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMhLmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0R3JvdXBpbmdTZXBhcmF0b3IoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMhLmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyEudGhvdXNhbmRzU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sOiAnUiQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6ICgpID0+XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zID8/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogJy4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogJywnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2w6ICdSJCcsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcGFyc2VBbGlnblRvKGZpZWxkOiBDdXJyZW5jeUZpZWxkQ29uZmlnKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC5hbGlnblRvID09PSAncmlnaHQnID8gTnVtYmVyQWxpZ25tZW50T3B0aW9uLlJJR0hUIDogTnVtYmVyQWxpZ25tZW50T3B0aW9uLkxFRlQ7XG4gICAgfVxufVxuXG4iLCJAbGV0IF9maWVsZCA9IGZpZWxkKCk7XG5AaWYgKGlucHV0UmVmKCkpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcbiAgICAgICAgW2ZpZWxkQ29udGFpbmVyUmVmXT1cImlucHV0UmVmKClcIlxuICAgID48L3MtZmllbGQtbGFiZWw+XG59XG5AbGV0IGhhc01hc2sgPSAhIV9maWVsZC5tYXNrO1xuPGRpdlxuICAgIGNsYXNzPVwiW2lucHV0LWlzLWludmFsaWQ+LmJ1dHRvbi1jb250YWluZXI+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1bMXB4XSBbaW5wdXQtaXMtaW52YWxpZD4uYnV0dG9uLWNvbnRhaW5lcj4uYnV0dG9uLWNvbnRhaW5lcl06Ym9yZGVyLXItMCBbaW5wdXQtaXMtaW52YWxpZD4uYnV0dG9uLWNvbnRhaW5lcj4uYnV0dG9uLWNvbnRhaW5lcl06Ym9yZGVyLWNyaXRpY2FsaXR5LXJlZCBbaW5wdXQtaXMtaW52YWxpZD4uYnV0dG9uLWNvbnRhaW5lcj5pbnB1dF06Ym9yZGVyLVsxcHhdIFtpbnB1dC1pcy1pbnZhbGlkPi5idXR0b24tY29udGFpbmVyPmlucHV0XTpib3JkZXItY3JpdGljYWxpdHktcmVkIFtpbnB1dC1oYXMtZm9jdXM+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1bMXB4XSBbaW5wdXQtaGFzLWZvY3VzPi5idXR0b24tY29udGFpbmVyXTpib3JkZXItci0wIFtpbnB1dC1oYXMtZm9jdXM+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1wcmltYXJ5IGZsZXggaC1bMzVweF0gdy1mdWxsXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdbJjpoYXMoLmlucHV0LW1hc2submctaW52YWxpZC5uZy1kaXJ0eSk+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1bMXB4XSBbJjpoYXMoLmlucHV0LW1hc2submctaW52YWxpZC5uZy1kaXJ0eSk+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1yLTAgWyY6aGFzKC5pbnB1dC1tYXNrLm5nLWludmFsaWQubmctZGlydHkpPi5idXR0b24tY29udGFpbmVyXTpib3JkZXItY3JpdGljYWxpdHktcmVkIFsmOmhhcyguaW5wdXQtbWFzay5uZy1pbnZhbGlkLm5nLWRpcnR5KT5pbnB1dF06Ym9yZGVyLVsxcHhdIFsmOmhhcyguaW5wdXQtbWFzay5uZy1pbnZhbGlkLm5nLWRpcnR5KT5pbnB1dF06Ym9yZGVyLWNyaXRpY2FsaXR5LXJlZCc6XG4gICAgICAgICAgICBoYXNNYXNrLFxuICAgIH1cIlxuPlxuICAgIEBpZiAoX2ZpZWxkLmN1cnJlbmN5IHx8IF9maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCkge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1jb250YWluZXIgZmxleCBoLWZ1bGwgbWluLXctMTAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbC1bM3B4XSBib3JkZXIgYm9yZGVyLXItMCBib3JkZXItWyNjMWMxY2NdIHB4LVs4cHhdXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LVsjMjEyNTMzXVwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgIF9maWVsZC5jdXJyZW5jeVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBjdXJyZW5jeVNlcnZpY2UuZ2V0Q3VycmVuY3lTeW1ib2woeyBjdXJyZW5jeTogX2ZpZWxkLmN1cnJlbmN5KCkgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2ZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnM/LmN1cnJlbmN5U3ltYm9sXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmIChoYXNNYXNrKSB7XG4gICAgICAgIDxwLWlucHV0TWFza1xuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1tYXNrXCJcbiAgICAgICAgICAgICNpbnB1dFJlZlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW2lucHV0SWRdPVwiX2ZpZWxkLmlkIHx8IF9maWVsZC5uYW1lXCJcbiAgICAgICAgICAgIFtuYW1lXT1cIl9maWVsZC5uYW1lXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgICAgIFttYXNrXT1cIm1hc2tcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICBzbG90Q2hhcj1cIl9cIlxuICAgICAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICBbc2hvd0RlbGF5XT1cIjUwMFwiXG4gICAgICAgICAgICBzdHlsZUNsYXNzPVwibW91c2V0cmFwICFyb3VuZGVkLWwtWzBweF1cIlxuICAgICAgICAgICAgKG9uQmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAob25Gb2N1cyk9XCJfZmllbGQub25Gb2N1cyA/IF9maWVsZC5vbkZvY3VzKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgICAgIChvbkNvbXBsZXRlKT1cIl9maWVsZC5vbkNvbXBsZXRlID8gX2ZpZWxkLm9uQ29tcGxldGUoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgKG9uSW5wdXQpPVwiX2ZpZWxkLm9uSW5wdXQgPyBfZmllbGQub25JbnB1dCgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgID48L3AtaW5wdXRNYXNrPlxuICAgIH0gQGVsc2UgaWYgKCFoYXNNYXNrKSB7XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI2lucHV0UmVmXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbaWRdPVwiX2ZpZWxkLmlkIHx8IF9maWVsZC5uYW1lXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaC1mdWxsIHctZnVsbCByb3VuZGVkLXItWzNweF0gYm9yZGVyIGJvcmRlci1bI2MxYzFjY10gcC0yIG91dGxpbmUtbm9uZSBmb2N1czpib3JkZXItWzFweF0gZm9jdXM6Ym9yZGVyLXByaW1hcnlcIlxuICAgICAgICAgICAgW25hbWVdPVwiX2ZpZWxkLm5hbWVcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAgICAgc051bWJlcklucHV0XG4gICAgICAgICAgICBbcHJlY2lzaW9uXT1cIlxuICAgICAgICAgICAgICAgIF9maWVsZC5wcmVjaXNpb25cbiAgICAgICAgICAgICAgICAgICAgPyBmaWVsZFV0aWxzLmlzRnVuY3Rpb24oX2ZpZWxkLnByZWNpc2lvbilcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZmllbGRVdGlscy50cmlnZ2VyKF9maWVsZC5wcmVjaXNpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9maWVsZC5wcmVjaXNpb25cbiAgICAgICAgICAgICAgICAgICAgOiBfZmllbGQuY3VycmVuY3kgJiYgX2ZpZWxkLmN1cnJlbmN5KClcbiAgICAgICAgICAgICAgICAgICAgICA/IGN1cnJlbmNpZXNbX2ZpZWxkLmN1cnJlbmN5KCldLnByZWNpc2lvblxuICAgICAgICAgICAgICAgICAgICAgIDogMTVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc2NhbGVdPVwiXG4gICAgICAgICAgICAgICAgX2ZpZWxkLnNjYWxlXG4gICAgICAgICAgICAgICAgICAgID8gZmllbGRVdGlscy5pc0Z1bmN0aW9uKF9maWVsZC5zY2FsZSlcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZmllbGRVdGlscy50cmlnZ2VyKF9maWVsZC5zY2FsZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2ZpZWxkLnNjYWxlXG4gICAgICAgICAgICAgICAgICAgIDogX2ZpZWxkLmN1cnJlbmN5ICYmIF9maWVsZC5jdXJyZW5jeSgpXG4gICAgICAgICAgICAgICAgICAgICAgPyBjdXJyZW5jaWVzW19maWVsZC5jdXJyZW5jeSgpXS5zY2FsZVxuICAgICAgICAgICAgICAgICAgICAgIDogMlxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtkZWNpbWFsU2VwYXJhdG9yXT1cIl9maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy5kZWNpbWFsU2VwYXJhdG9yXCJcbiAgICAgICAgICAgIFt0aG91c2FuZHNTZXBhcmF0b3JdPVwiX2ZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvclwiXG4gICAgICAgICAgICBbYWxpZ25Ub109XCJwYXJzZUFsaWduVG8oX2ZpZWxkKVwiXG4gICAgICAgICAgICBbc1Rvb2x0aXBdPVwiX2ZpZWxkLnRvb2x0aXBcIlxuICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJfZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJfZmllbGQuYnJvd3NlckF1dG9jb21wbGV0ZSA/ICdvbicgOiAnb2ZmJ1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCInbW91c2V0cmFwJ1wiXG4gICAgICAgICAgICAoYmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAoZm9jdXMpPVwiX2ZpZWxkLm9uRm9jdXMgPyBfZmllbGQub25Gb2N1cygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgIC8+XG4gICAgfVxuPC9kaXY+XG5cbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Component, HostListener, input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/forms";
|
|
4
|
+
import * as i2 from "@seniorsistemas/angular-components/file-upload";
|
|
5
|
+
import * as i3 from "../../../components/field-label/field-label.component";
|
|
6
|
+
export class FileUploadFieldComponent {
|
|
7
|
+
changeDetectorRef;
|
|
8
|
+
elementRef;
|
|
9
|
+
field = input.required();
|
|
10
|
+
formControl = input.required();
|
|
11
|
+
inputRef = null;
|
|
12
|
+
constructor(changeDetectorRef, elementRef) {
|
|
13
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
14
|
+
this.elementRef = elementRef;
|
|
15
|
+
}
|
|
16
|
+
onClick() {
|
|
17
|
+
this.dispatchFocusInputRef();
|
|
18
|
+
}
|
|
19
|
+
ngAfterViewInit() {
|
|
20
|
+
this.setInputRef();
|
|
21
|
+
this.changeDetectorRef.detectChanges();
|
|
22
|
+
}
|
|
23
|
+
onDocumentClick(event) {
|
|
24
|
+
if (!this.elementRef.nativeElement.contains(event.target)) {
|
|
25
|
+
this.inputRef?.dispatchEvent(new Event('blur'));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
setInputRef() {
|
|
29
|
+
this.inputRef = this.elementRef.nativeElement.querySelector('input');
|
|
30
|
+
}
|
|
31
|
+
dispatchFocusInputRef() {
|
|
32
|
+
this.inputRef?.dispatchEvent(new Event('focus'));
|
|
33
|
+
}
|
|
34
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileUploadFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FileUploadFieldComponent, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "click": "onClick()", "document:click": "onDocumentClick($event)" } }, ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<s-file-upload\n [id]=\"_field.id || _field.name\"\n [accept]=\"_field.accept\"\n [files]=\"_field.files\"\n [multiple]=\"_field.multiple\"\n [chooseLabel]=\"_field.chooseLabel\"\n [removeLabel]=\"_field.removeLabel\"\n [cancelLabel]=\"_field.cancelLabel\"\n [successTooltip]=\"_field.successTooltip\"\n (uploadHandler)=\"_field.onUploadFile($event, _field)\"\n (removeFile)=\"_field.onRemoveFile($event.file, _field)\"\n (cancelUpload)=\"_field.onCancelUpload($event, _field)\"\n (downloadFile)=\"_field.onDownloadFile($event, _field)\"\n [formControl]=\"formControl()\"\n [showFileUploadDate]=\"_field.showFileUploadDate\"\n>\n</s-file-upload>\n\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.FileUploadComponent, selector: "s-file-upload", inputs: ["id", "chooseLabel", "removeLabel", "cancelLabel", "successTooltip", "multiple", "accept", "supportedExtensions", "ariaLabelFileName", "maxFileSize", "maxCombinedFileSize", "fileLimit", "ariaLabelProgress", "ariaLabelSuccess", "ariaLabelError", "ariaLabelRemove", "formControl", "disabled", "showFileUploadDate", "permissions", "files"], outputs: ["uploadHandler", "removeFile", "cancelUpload", "downloadFile", "validateErrors"] }, { kind: "component", type: i3.FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }] });
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileUploadFieldComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<s-file-upload\n [id]=\"_field.id || _field.name\"\n [accept]=\"_field.accept\"\n [files]=\"_field.files\"\n [multiple]=\"_field.multiple\"\n [chooseLabel]=\"_field.chooseLabel\"\n [removeLabel]=\"_field.removeLabel\"\n [cancelLabel]=\"_field.cancelLabel\"\n [successTooltip]=\"_field.successTooltip\"\n (uploadHandler)=\"_field.onUploadFile($event, _field)\"\n (removeFile)=\"_field.onRemoveFile($event.file, _field)\"\n (cancelUpload)=\"_field.onCancelUpload($event, _field)\"\n (downloadFile)=\"_field.onDownloadFile($event, _field)\"\n [formControl]=\"formControl()\"\n [showFileUploadDate]=\"_field.showFileUploadDate\"\n>\n</s-file-upload>\n\n" }]
|
|
40
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { onClick: [{
|
|
41
|
+
type: HostListener,
|
|
42
|
+
args: ['click']
|
|
43
|
+
}], onDocumentClick: [{
|
|
44
|
+
type: HostListener,
|
|
45
|
+
args: ['document:click', ['$event']]
|
|
46
|
+
}] } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUzdHLE1BQU0sT0FBTyx3QkFBd0I7SUFPWjtJQUNBO0lBUHJCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFtQixDQUFDO0lBQzFDLFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7SUFFckMsUUFBUSxHQUE0QixJQUFJLENBQUM7SUFFaEQsWUFDcUIsaUJBQW9DLEVBQ3BDLFVBQXNCO1FBRHRCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUN4QyxDQUFDO0lBR0csT0FBTztRQUNWLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxlQUFlO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUdELGVBQWUsQ0FBQyxLQUFpQjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFxQixDQUFDO0lBQzdGLENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO3dHQWxDUSx3QkFBd0I7NEZBQXhCLHdCQUF3Qiw0WkNUckMscTFCQTBCQTs7NEZEakJhLHdCQUF3QjtrQkFIcEMsU0FBUzs7K0dBZUMsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU87Z0JBV3JCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBCbG9iRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvYmxvYi1maWVsZCc7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi9iYXNlLWZpZWxkLWNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnZmlsZS11cGxvYWQtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcsIEFmdGVyVmlld0luaXQge1xuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8QmxvYkZpZWxkQ29uZmlnPigpO1xuICAgIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG5cbiAgICBwdWJsaWMgaW5wdXRSZWY6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICkge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvY3VzSW5wdXRSZWYoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldElucHV0UmVmKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0UmVmPy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmx1cicpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW5wdXRSZWYoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRSZWYgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkaXNwYXRjaEZvY3VzSW5wdXRSZWYoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRSZWY/LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdmb2N1cycpKTtcbiAgICB9XG59XG5cbiIsIkBsZXQgX2ZpZWxkID0gZmllbGQoKTtcbkBpZiAoaW5wdXRSZWYpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcbiAgICAgICAgW2ZpZWxkQ29udGFpbmVyUmVmXT1cImlucHV0UmVmXCJcbiAgICA+PC9zLWZpZWxkLWxhYmVsPlxufVxuXG48cy1maWxlLXVwbG9hZFxuICAgIFtpZF09XCJfZmllbGQuaWQgfHwgX2ZpZWxkLm5hbWVcIlxuICAgIFthY2NlcHRdPVwiX2ZpZWxkLmFjY2VwdFwiXG4gICAgW2ZpbGVzXT1cIl9maWVsZC5maWxlc1wiXG4gICAgW211bHRpcGxlXT1cIl9maWVsZC5tdWx0aXBsZVwiXG4gICAgW2Nob29zZUxhYmVsXT1cIl9maWVsZC5jaG9vc2VMYWJlbFwiXG4gICAgW3JlbW92ZUxhYmVsXT1cIl9maWVsZC5yZW1vdmVMYWJlbFwiXG4gICAgW2NhbmNlbExhYmVsXT1cIl9maWVsZC5jYW5jZWxMYWJlbFwiXG4gICAgW3N1Y2Nlc3NUb29sdGlwXT1cIl9maWVsZC5zdWNjZXNzVG9vbHRpcFwiXG4gICAgKHVwbG9hZEhhbmRsZXIpPVwiX2ZpZWxkLm9uVXBsb2FkRmlsZSgkZXZlbnQsIF9maWVsZClcIlxuICAgIChyZW1vdmVGaWxlKT1cIl9maWVsZC5vblJlbW92ZUZpbGUoJGV2ZW50LmZpbGUsIF9maWVsZClcIlxuICAgIChjYW5jZWxVcGxvYWQpPVwiX2ZpZWxkLm9uQ2FuY2VsVXBsb2FkKCRldmVudCwgX2ZpZWxkKVwiXG4gICAgKGRvd25sb2FkRmlsZSk9XCJfZmllbGQub25Eb3dubG9hZEZpbGUoJGV2ZW50LCBfZmllbGQpXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgW3Nob3dGaWxlVXBsb2FkRGF0ZV09XCJfZmllbGQuc2hvd0ZpbGVVcGxvYWREYXRlXCJcbj5cbjwvcy1maWxlLXVwbG9hZD5cblxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Component, DestroyRef, inject, input } from '@angular/core';
|
|
2
|
+
import { delay } from 'rxjs';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@seniorsistemas/angular-components/tooltip";
|
|
7
|
+
import * as i3 from "../../../components/field-label/field-label.component";
|
|
8
|
+
import * as i4 from "../../../components/lookup/lookup.component";
|
|
9
|
+
export class LookupFieldComponent {
|
|
10
|
+
_destroyRef = inject(DestroyRef);
|
|
11
|
+
gridData = [];
|
|
12
|
+
searchTotalRecords = 0;
|
|
13
|
+
lookupSuggestions = [];
|
|
14
|
+
searchTotalRecordsLabel = '';
|
|
15
|
+
field = input.required();
|
|
16
|
+
formControl = input.required();
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.setLookupData();
|
|
19
|
+
}
|
|
20
|
+
setLookupData() {
|
|
21
|
+
const field = this.field();
|
|
22
|
+
field.suggestionsObservable
|
|
23
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
24
|
+
.subscribe((suggestions) => (this.lookupSuggestions = suggestions));
|
|
25
|
+
field.searchObservable
|
|
26
|
+
.pipe(takeUntilDestroyed(this._destroyRef), delay(0))
|
|
27
|
+
.subscribe(({ totalRecords, gridData, searchTotalRecordsLabel }) => {
|
|
28
|
+
this.gridData = gridData;
|
|
29
|
+
this.searchTotalRecords = totalRecords;
|
|
30
|
+
this.searchTotalRecordsLabel = searchTotalRecordsLabel;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LookupFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: LookupFieldComponent, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@let _field = field();\n<s-field-label [field]=\"_field\"></s-field-label>\n\n<div\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n>\n <s-lookup\n [id]=\"_field.id || _field.name\"\n [multiple]=\"_field.multiple ?? false\"\n [formControl]=\"formControl()\"\n [lookupSuggestions]=\"lookupSuggestions\"\n [dataKey]=\"_field.dataKey\"\n [placeholder]=\"_field.placeholder\"\n [showSearch]=\"_field.showSearch ?? true\"\n [searchFields]=\"_field.searchFields\"\n [searchGridFields]=\"_field.searchGridFields\"\n [searchGridData]=\"gridData\"\n (onLookupRequest)=\"_field.onLookupRequest($event)\"\n (onSearchRequest)=\"_field.onSearchRequest($event)\"\n [lookupDisplayField]=\"_field.lookupDisplayField\"\n [searchTotalRecords]=\"searchTotalRecords\"\n [labelOptions]=\"{\n recordsLabel: _field.recordsLabel,\n recordLabel: _field.recordLabel,\n emptyFieldLabel: _field.emptyFieldLabel,\n selectLabel: _field.selectLabel,\n cancelLabel: _field.cancelLabel,\n clearLabel: _field.clearLabel,\n filterLabel: _field.filterLabel,\n filterTitle: _field.filterTitle,\n searchTotalRecordsLabel: searchTotalRecordsLabel,\n searchEmptyTitle: _field.searchEmptyTitle,\n searchTitle: _field.searchTitle,\n }\"\n (onSelect)=\"_field.onSelect?.($event)\"\n (onUnselect)=\"_field.onUnselect?.($event)\"\n (onClear)=\"_field.onClear ? _field.onClear($event) : null\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n [lookupAppendTo]=\"_field.appendTo\"\n [lookupEmptyMessage]=\"_field.emptyMessage\"\n [defaultFilter]=\"_field.defaultFilter ?? []\"\n [autocompleteForceSelection]=\"_field.autocompleteForceSelection ?? true\"\n [showAddOption]=\"_field.showAddOption ?? false\"\n [showEditOption]=\"_field.showEditOption ?? false\"\n [showRemoveOption]=\"_field.showRemoveOption ?? false\"\n [sortableColumnsDisabled]=\"_field.sortableColumnsDisabled ?? []\"\n (onAdd)=\"_field.onAdd ? _field.onAdd() : null\"\n (onEdit)=\"_field.onEdit ? _field.onEdit($event) : null\"\n (onRemove)=\"_field.onRemove ? _field.onRemove($event) : null\"\n (onClearButtonClick)=\"_field.onClearButtonClick ? _field.onClearButtonClick() : null\"\n >\n </s-lookup>\n</div>\n\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: i3.FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "component", type: i4.LookupComponent, selector: "s-lookup", inputs: ["formControlName", "id", "autocompleteForceSelection", "multiple", "dataKey", "disabled", "showSearch", "lookupSuggestions", "lookupDisplayField", "lookupDisplayFieldTooltip", "lookupEmptyMessage", "lookupAppendTo", "searchEmptyDescription", "searchGridData", "searchTotalRecords", "searchFields", "searchGridFields", "multiSortMeta", "placeholder", "sortableColumnsDisabled", "lookupRowProps", "defaultFilter", "showAddOption", "showEditOption", "showRemoveOption", "dialogFullScreen", "labelOptions"], outputs: ["onLookupRequest", "onSearchRequest", "onFocus", "onBlur", "onKeyUp", "onSelect", "onUnselect", "onClear", "onAdd", "onEdit", "onRemove", "onClearButtonClick"] }] });
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LookupFieldComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ template: "@let _field = field();\n<s-field-label [field]=\"_field\"></s-field-label>\n\n<div\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n>\n <s-lookup\n [id]=\"_field.id || _field.name\"\n [multiple]=\"_field.multiple ?? false\"\n [formControl]=\"formControl()\"\n [lookupSuggestions]=\"lookupSuggestions\"\n [dataKey]=\"_field.dataKey\"\n [placeholder]=\"_field.placeholder\"\n [showSearch]=\"_field.showSearch ?? true\"\n [searchFields]=\"_field.searchFields\"\n [searchGridFields]=\"_field.searchGridFields\"\n [searchGridData]=\"gridData\"\n (onLookupRequest)=\"_field.onLookupRequest($event)\"\n (onSearchRequest)=\"_field.onSearchRequest($event)\"\n [lookupDisplayField]=\"_field.lookupDisplayField\"\n [searchTotalRecords]=\"searchTotalRecords\"\n [labelOptions]=\"{\n recordsLabel: _field.recordsLabel,\n recordLabel: _field.recordLabel,\n emptyFieldLabel: _field.emptyFieldLabel,\n selectLabel: _field.selectLabel,\n cancelLabel: _field.cancelLabel,\n clearLabel: _field.clearLabel,\n filterLabel: _field.filterLabel,\n filterTitle: _field.filterTitle,\n searchTotalRecordsLabel: searchTotalRecordsLabel,\n searchEmptyTitle: _field.searchEmptyTitle,\n searchTitle: _field.searchTitle,\n }\"\n (onSelect)=\"_field.onSelect?.($event)\"\n (onUnselect)=\"_field.onUnselect?.($event)\"\n (onClear)=\"_field.onClear ? _field.onClear($event) : null\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n [lookupAppendTo]=\"_field.appendTo\"\n [lookupEmptyMessage]=\"_field.emptyMessage\"\n [defaultFilter]=\"_field.defaultFilter ?? []\"\n [autocompleteForceSelection]=\"_field.autocompleteForceSelection ?? true\"\n [showAddOption]=\"_field.showAddOption ?? false\"\n [showEditOption]=\"_field.showEditOption ?? false\"\n [showRemoveOption]=\"_field.showRemoveOption ?? false\"\n [sortableColumnsDisabled]=\"_field.sortableColumnsDisabled ?? []\"\n (onAdd)=\"_field.onAdd ? _field.onAdd() : null\"\n (onEdit)=\"_field.onEdit ? _field.onEdit($event) : null\"\n (onRemove)=\"_field.onRemove ? _field.onRemove($event) : null\"\n (onClearButtonClick)=\"_field.onClearButtonClick ? _field.onClearButtonClick() : null\"\n >\n </s-lookup>\n</div>\n\n" }]
|
|
39
|
+
}] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvbG9va3VwL2xvb2t1cC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2xvb2t1cC9sb29rdXAtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUk3RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFLaEUsTUFBTSxPQUFPLG9CQUFvQjtJQUNaLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsUUFBUSxHQUFVLEVBQUUsQ0FBQztJQUNyQixrQkFBa0IsR0FBVyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQVUsRUFBRSxDQUFDO0lBQzlCLHVCQUF1QixHQUFXLEVBQUUsQ0FBQztJQUUvQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBcUIsQ0FBQztJQUM1QyxXQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZSxDQUFDO0lBRTVDLFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVPLGFBQWE7UUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLEtBQUssQ0FBQyxxQkFBcUI7YUFDdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMxQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDeEUsS0FBSyxDQUFDLGdCQUFnQjthQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRCxTQUFTLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxZQUFZLENBQUM7WUFDdkMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHVCQUFpQyxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzt3R0ExQlEsb0JBQW9COzRGQUFwQixvQkFBb0IsZ1VDVmpDLGsvRUF3REE7OzRGRDlDYSxvQkFBb0I7a0JBSGhDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIGluamVjdCwgaW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMb29rdXBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9sb29rdXAtZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vYmFzZS1maWVsZC1jb21wb25lbnQnO1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICdsb29rdXAtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBMb29rdXBGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZywgT25Jbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByb3RlY3RlZCBncmlkRGF0YTogYW55W10gPSBbXTtcbiAgICBwcm90ZWN0ZWQgc2VhcmNoVG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xuICAgIHByb3RlY3RlZCBsb29rdXBTdWdnZXN0aW9uczogYW55W10gPSBbXTtcbiAgICBwcm90ZWN0ZWQgc2VhcmNoVG90YWxSZWNvcmRzTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gICAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxMb29rdXBGaWVsZENvbmZpZz4oKTtcbiAgICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TG9va3VwRGF0YSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TG9va3VwRGF0YSgpIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkKCk7XG4gICAgICAgIGZpZWxkLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoc3VnZ2VzdGlvbnMpID0+ICh0aGlzLmxvb2t1cFN1Z2dlc3Rpb25zID0gc3VnZ2VzdGlvbnMpKTtcbiAgICAgICAgZmllbGQuc2VhcmNoT2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpLCBkZWxheSgwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHsgdG90YWxSZWNvcmRzLCBncmlkRGF0YSwgc2VhcmNoVG90YWxSZWNvcmRzTGFiZWwgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEgPSBncmlkRGF0YTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFRvdGFsUmVjb3JkcyA9IHRvdGFsUmVjb3JkcztcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsID0gc2VhcmNoVG90YWxSZWNvcmRzTGFiZWwgYXMgc3RyaW5nO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuXG4iLCJAbGV0IF9maWVsZCA9IGZpZWxkKCk7XG48cy1maWVsZC1sYWJlbCBbZmllbGRdPVwiX2ZpZWxkXCI+PC9zLWZpZWxkLWxhYmVsPlxuXG48ZGl2XG4gICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbj5cbiAgICA8cy1sb29rdXBcbiAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgIFttdWx0aXBsZV09XCJfZmllbGQubXVsdGlwbGUgPz8gZmFsc2VcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgIFtsb29rdXBTdWdnZXN0aW9uc109XCJsb29rdXBTdWdnZXN0aW9uc1wiXG4gICAgICAgIFtkYXRhS2V5XT1cIl9maWVsZC5kYXRhS2V5XCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICAgIFtzaG93U2VhcmNoXT1cIl9maWVsZC5zaG93U2VhcmNoID8/IHRydWVcIlxuICAgICAgICBbc2VhcmNoRmllbGRzXT1cIl9maWVsZC5zZWFyY2hGaWVsZHNcIlxuICAgICAgICBbc2VhcmNoR3JpZEZpZWxkc109XCJfZmllbGQuc2VhcmNoR3JpZEZpZWxkc1wiXG4gICAgICAgIFtzZWFyY2hHcmlkRGF0YV09XCJncmlkRGF0YVwiXG4gICAgICAgIChvbkxvb2t1cFJlcXVlc3QpPVwiX2ZpZWxkLm9uTG9va3VwUmVxdWVzdCgkZXZlbnQpXCJcbiAgICAgICAgKG9uU2VhcmNoUmVxdWVzdCk9XCJfZmllbGQub25TZWFyY2hSZXF1ZXN0KCRldmVudClcIlxuICAgICAgICBbbG9va3VwRGlzcGxheUZpZWxkXT1cIl9maWVsZC5sb29rdXBEaXNwbGF5RmllbGRcIlxuICAgICAgICBbc2VhcmNoVG90YWxSZWNvcmRzXT1cInNlYXJjaFRvdGFsUmVjb3Jkc1wiXG4gICAgICAgIFtsYWJlbE9wdGlvbnNdPVwie1xuICAgICAgICAgICAgcmVjb3Jkc0xhYmVsOiBfZmllbGQucmVjb3Jkc0xhYmVsLFxuICAgICAgICAgICAgcmVjb3JkTGFiZWw6IF9maWVsZC5yZWNvcmRMYWJlbCxcbiAgICAgICAgICAgIGVtcHR5RmllbGRMYWJlbDogX2ZpZWxkLmVtcHR5RmllbGRMYWJlbCxcbiAgICAgICAgICAgIHNlbGVjdExhYmVsOiBfZmllbGQuc2VsZWN0TGFiZWwsXG4gICAgICAgICAgICBjYW5jZWxMYWJlbDogX2ZpZWxkLmNhbmNlbExhYmVsLFxuICAgICAgICAgICAgY2xlYXJMYWJlbDogX2ZpZWxkLmNsZWFyTGFiZWwsXG4gICAgICAgICAgICBmaWx0ZXJMYWJlbDogX2ZpZWxkLmZpbHRlckxhYmVsLFxuICAgICAgICAgICAgZmlsdGVyVGl0bGU6IF9maWVsZC5maWx0ZXJUaXRsZSxcbiAgICAgICAgICAgIHNlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsOiBzZWFyY2hUb3RhbFJlY29yZHNMYWJlbCxcbiAgICAgICAgICAgIHNlYXJjaEVtcHR5VGl0bGU6IF9maWVsZC5zZWFyY2hFbXB0eVRpdGxlLFxuICAgICAgICAgICAgc2VhcmNoVGl0bGU6IF9maWVsZC5zZWFyY2hUaXRsZSxcbiAgICAgICAgfVwiXG4gICAgICAgIChvblNlbGVjdCk9XCJfZmllbGQub25TZWxlY3Q/LigkZXZlbnQpXCJcbiAgICAgICAgKG9uVW5zZWxlY3QpPVwiX2ZpZWxkLm9uVW5zZWxlY3Q/LigkZXZlbnQpXCJcbiAgICAgICAgKG9uQ2xlYXIpPVwiX2ZpZWxkLm9uQ2xlYXIgPyBfZmllbGQub25DbGVhcigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgIChvbkJsdXIpPVwiX2ZpZWxkLm9uQmx1ciA/IF9maWVsZC5vbkJsdXIoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICBbbG9va3VwQXBwZW5kVG9dPVwiX2ZpZWxkLmFwcGVuZFRvXCJcbiAgICAgICAgW2xvb2t1cEVtcHR5TWVzc2FnZV09XCJfZmllbGQuZW1wdHlNZXNzYWdlXCJcbiAgICAgICAgW2RlZmF1bHRGaWx0ZXJdPVwiX2ZpZWxkLmRlZmF1bHRGaWx0ZXIgPz8gW11cIlxuICAgICAgICBbYXV0b2NvbXBsZXRlRm9yY2VTZWxlY3Rpb25dPVwiX2ZpZWxkLmF1dG9jb21wbGV0ZUZvcmNlU2VsZWN0aW9uID8/IHRydWVcIlxuICAgICAgICBbc2hvd0FkZE9wdGlvbl09XCJfZmllbGQuc2hvd0FkZE9wdGlvbiA/PyBmYWxzZVwiXG4gICAgICAgIFtzaG93RWRpdE9wdGlvbl09XCJfZmllbGQuc2hvd0VkaXRPcHRpb24gPz8gZmFsc2VcIlxuICAgICAgICBbc2hvd1JlbW92ZU9wdGlvbl09XCJfZmllbGQuc2hvd1JlbW92ZU9wdGlvbiA/PyBmYWxzZVwiXG4gICAgICAgIFtzb3J0YWJsZUNvbHVtbnNEaXNhYmxlZF09XCJfZmllbGQuc29ydGFibGVDb2x1bW5zRGlzYWJsZWQgPz8gW11cIlxuICAgICAgICAob25BZGQpPVwiX2ZpZWxkLm9uQWRkID8gX2ZpZWxkLm9uQWRkKCkgOiBudWxsXCJcbiAgICAgICAgKG9uRWRpdCk9XCJfZmllbGQub25FZGl0ID8gX2ZpZWxkLm9uRWRpdCgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgIChvblJlbW92ZSk9XCJfZmllbGQub25SZW1vdmUgPyBfZmllbGQub25SZW1vdmUoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAob25DbGVhckJ1dHRvbkNsaWNrKT1cIl9maWVsZC5vbkNsZWFyQnV0dG9uQ2xpY2sgPyBfZmllbGQub25DbGVhckJ1dHRvbkNsaWNrKCkgOiBudWxsXCJcbiAgICA+XG4gICAgPC9zLWxvb2t1cD5cbjwvZGl2PlxuXG4iXX0=
|