@seniorsistemas/angular-components 18.1.0-feature-sds-276-ea560ae6 → 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
package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/number/number-field.component.mjs
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @angular-eslint/no-output-on-prefix */
|
|
2
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { first, takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { BaseFieldComponent } from '../base-field-component';
|
|
6
|
-
import { NumberAlignmentOption } from '@seniorsistemas/angular-components/number-input';
|
|
7
|
-
import { FieldType } from '../../configurations/field-type';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@seniorsistemas/angular-components/locale";
|
|
10
|
-
import * as i2 from "@seniorsistemas/angular-components/button";
|
|
11
|
-
import * as i3 from "@angular/common";
|
|
12
|
-
import * as i4 from "@angular/forms";
|
|
13
|
-
import * as i5 from "primeng/inputmask";
|
|
14
|
-
import * as i6 from "primeng/inputtext";
|
|
15
|
-
import * as i7 from "@seniorsistemas/angular-components/localized-number-input";
|
|
16
|
-
import * as i8 from "@seniorsistemas/angular-components/tooltip";
|
|
17
|
-
import * as i9 from "@seniorsistemas/angular-components/number-input";
|
|
18
|
-
import * as i10 from "../../../components/field-label/field-label.component";
|
|
19
|
-
export class NumberFieldComponent extends BaseFieldComponent {
|
|
20
|
-
localeService;
|
|
21
|
-
elementRef;
|
|
22
|
-
changeDetectorRef;
|
|
23
|
-
field;
|
|
24
|
-
formControl;
|
|
25
|
-
onInput = new EventEmitter();
|
|
26
|
-
onFocus = new EventEmitter();
|
|
27
|
-
onComplete = new EventEmitter();
|
|
28
|
-
inputRef = null;
|
|
29
|
-
ngUnsubscribe = new Subject();
|
|
30
|
-
FieldType = FieldType;
|
|
31
|
-
constructor(localeService, elementRef, changeDetectorRef) {
|
|
32
|
-
super();
|
|
33
|
-
this.localeService = localeService;
|
|
34
|
-
this.elementRef = elementRef;
|
|
35
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
36
|
-
}
|
|
37
|
-
ngOnInit() {
|
|
38
|
-
this.onLocaleService();
|
|
39
|
-
this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
|
|
40
|
-
if (this.field.onFocus)
|
|
41
|
-
this.field.onFocus(event);
|
|
42
|
-
});
|
|
43
|
-
this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
|
|
44
|
-
if (this.field.onInput)
|
|
45
|
-
this.field.onInput(event);
|
|
46
|
-
});
|
|
47
|
-
this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
|
|
48
|
-
if (this.field.onComplete)
|
|
49
|
-
this.field.onComplete(event);
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
ngAfterViewInit() {
|
|
53
|
-
this.setInputRef();
|
|
54
|
-
this.changeDetectorRef.detectChanges();
|
|
55
|
-
}
|
|
56
|
-
ngOnDestroy() {
|
|
57
|
-
this.ngUnsubscribe.next();
|
|
58
|
-
this.ngUnsubscribe.complete();
|
|
59
|
-
}
|
|
60
|
-
get numberAlignmentOption() {
|
|
61
|
-
return NumberAlignmentOption;
|
|
62
|
-
}
|
|
63
|
-
get fieldType() {
|
|
64
|
-
return FieldType;
|
|
65
|
-
}
|
|
66
|
-
onLocaleService() {
|
|
67
|
-
this.localeService
|
|
68
|
-
.getLocale()
|
|
69
|
-
.pipe(first())
|
|
70
|
-
.subscribe({
|
|
71
|
-
next: () => {
|
|
72
|
-
if (!this.field.numberLocaleOptions?.decimalSeparator) {
|
|
73
|
-
this.field.numberLocaleOptions = {
|
|
74
|
-
...this.field.numberLocaleOptions,
|
|
75
|
-
decimalSeparator: this.localeService.getDecimalSeparator() ?? '',
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
if (!this.field.numberLocaleOptions?.thousandsSeparator) {
|
|
79
|
-
this.field.numberLocaleOptions = {
|
|
80
|
-
...this.field.numberLocaleOptions,
|
|
81
|
-
thousandsSeparator: this.localeService.getGroupingSeparator() ?? '',
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
if (!this.field.numberLocaleOptions?.currencySymbol) {
|
|
85
|
-
this.field.numberLocaleOptions = {
|
|
86
|
-
...this.field.numberLocaleOptions,
|
|
87
|
-
currencySymbol: 'R$',
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
error: () => (this.field.numberLocaleOptions = this.field.numberLocaleOptions ?? {
|
|
92
|
-
thousandsSeparator: '.',
|
|
93
|
-
decimalSeparator: ',',
|
|
94
|
-
currencySymbol: 'R$',
|
|
95
|
-
}),
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
setInputRef() {
|
|
99
|
-
const input = this.elementRef.nativeElement.querySelector('input');
|
|
100
|
-
this.inputRef = input;
|
|
101
|
-
}
|
|
102
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberFieldComponent, deps: [{ token: i1.LocaleService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: NumberFieldComponent, selector: "ng-component", inputs: { field: "field", formControl: "formControl" }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, usesInheritance: true, ngImport: i0, template: "@if (inputRef) {\n <s-field-label\n [field]=\"field\"\n [fieldContainerRef]=\"inputRef.nativeElement\"\n />\n}\n\n@let hasMask = !!field.mask;\n@if (hasMask) {\n <p-inputMask\n #inputRef\n type=\"text\"\n [inputId]=\"field.id || field.name\"\n [name]=\"field.name\"\n [mask]=\"field.mask ? getFieldPropertyMask(field.mask) : null\"\n [placeholder]=\"field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl\"\n >\n </p-inputMask>\n} @else if (!hasMask) {\n <div class=\"ui-inputgroup\">\n @if (field.leftAddon) {\n @if (field.leftAddon.callback) {\n <span class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"field.leftAddon.label\"\n [iconClass]=\"field.leftAddon.icon\"\n [priority]=\"field.leftAddon.priority\"\n [disabled]=\"fieldPropertyIsDisabled(field.leftAddon)\"\n (clicked)=\"field.leftAddon.callback()\"\n >\n </s-button>\n </span>\n }\n @if (!field.leftAddon.callback) {\n <span class=\"ui-inputgroup-addon\">\n @if (field.leftAddon.label) {\n <span>{{ field.leftAddon.label }}</span>\n } @else if (!field.leftAddon.label) {\n <span [ngClass]=\"field.leftAddon.icon\"></span>\n }\n </span>\n }\n }\n\n @if(field.type === FieldType.Double && field.alignTo === numberAlignmentOption.LEFT) {\n <ng-container *ngTemplateOutlet=\"localizedNumber\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n }\n\n @if (field.rightAddon) {\n @if (field.rightAddon.callback) {\n <span class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"field.rightAddon.label\"\n [iconClass]=\"field.rightAddon.icon\"\n [priority]=\"field.rightAddon.priority\"\n [disabled]=\"fieldPropertyIsDisabled(field.rightAddon)\"\n (clicked)=\"field.rightAddon.callback()\"\n >\n </s-button>\n </span>\n }\n @if (!field.rightAddon.callback) {\n <span class=\"ui-inputgroup-addon\">\n @if (field.rightAddon.label) {\n {{ field.rightAddon.label }}\n } @else if (!field.rightAddon.label) {\n <span [ngClass]=\"field.rightAddon.icon\"></span>\n }\n </span>\n }\n }\n </div>\n}\n\n<ng-template #input>\n <input\n #inputRef\n [id]=\"field.id || field.name\"\n type=\"text\"\n [name]=\"field.name\"\n sNumberInput\n [precision]=\"isFunction(field.precision) ? trigger(field.precision) : field.precision\"\n [scale]=\"isFunction(field.scale) ? trigger(field.scale) : field.scale\"\n [decimalSeparator]=\"field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions?.thousandsSeparator\"\n [alignTo]=\"field.alignTo\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl\"\n />\n</ng-template>\n<ng-template #localizedNumber>\n <input\n #inputRef\n [id]=\"field.id || field.name\"\n type=\"text\"\n [name]=\"field.name\"\n sLocalizedNumberInput\n [precision]=\"isFunction(field.precision) ? trigger(field.precision) : field.precision\"\n [decimalSeparator]=\"field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions?.thousandsSeparator\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl\"\n />\n</ng-template>\n", styles: ["s-number-field.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .ui-inputtext:hover{border-color:highlight(#c13018)}.addon-button{border:1px solid #c1c1cc}.addon-button s-button button,.addon-button s-button .s-button-with-text{height:100%;min-width:40px}.addon-button--left{border-radius:5px 0 0 5px;border-right:none}.addon-button--left s-button button{border-bottom-right-radius:0;border-top-right-radius:0}.addon-button--right{border-left:none;border-radius:0 5px 5px 0}.addon-button--right s-button button{border-bottom-left-radius:0;border-top-left-radius:0}\n"], dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: i6.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "directive", type: i7.LocalizedNumberInputDirective, selector: "input[sLocalizedNumberInput]", inputs: ["decimalSeparator", "thousandsSeparator", "precision"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "directive", type: i9.NumberInputDirective, selector: "input[sNumberInput]", inputs: ["precision", "scale", "decimalSeparator", "thousandsSeparator", "alignTo", "allowNegative", "placeholder"], outputs: ["pasteRejected"] }, { kind: "component", type: i10.FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
104
|
-
}
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberFieldComponent, decorators: [{
|
|
106
|
-
type: Component,
|
|
107
|
-
args: [{ encapsulation: ViewEncapsulation.None, template: "@if (inputRef) {\n <s-field-label\n [field]=\"field\"\n [fieldContainerRef]=\"inputRef.nativeElement\"\n />\n}\n\n@let hasMask = !!field.mask;\n@if (hasMask) {\n <p-inputMask\n #inputRef\n type=\"text\"\n [inputId]=\"field.id || field.name\"\n [name]=\"field.name\"\n [mask]=\"field.mask ? getFieldPropertyMask(field.mask) : null\"\n [placeholder]=\"field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl\"\n >\n </p-inputMask>\n} @else if (!hasMask) {\n <div class=\"ui-inputgroup\">\n @if (field.leftAddon) {\n @if (field.leftAddon.callback) {\n <span class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"field.leftAddon.label\"\n [iconClass]=\"field.leftAddon.icon\"\n [priority]=\"field.leftAddon.priority\"\n [disabled]=\"fieldPropertyIsDisabled(field.leftAddon)\"\n (clicked)=\"field.leftAddon.callback()\"\n >\n </s-button>\n </span>\n }\n @if (!field.leftAddon.callback) {\n <span class=\"ui-inputgroup-addon\">\n @if (field.leftAddon.label) {\n <span>{{ field.leftAddon.label }}</span>\n } @else if (!field.leftAddon.label) {\n <span [ngClass]=\"field.leftAddon.icon\"></span>\n }\n </span>\n }\n }\n\n @if(field.type === FieldType.Double && field.alignTo === numberAlignmentOption.LEFT) {\n <ng-container *ngTemplateOutlet=\"localizedNumber\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n }\n\n @if (field.rightAddon) {\n @if (field.rightAddon.callback) {\n <span class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"field.rightAddon.label\"\n [iconClass]=\"field.rightAddon.icon\"\n [priority]=\"field.rightAddon.priority\"\n [disabled]=\"fieldPropertyIsDisabled(field.rightAddon)\"\n (clicked)=\"field.rightAddon.callback()\"\n >\n </s-button>\n </span>\n }\n @if (!field.rightAddon.callback) {\n <span class=\"ui-inputgroup-addon\">\n @if (field.rightAddon.label) {\n {{ field.rightAddon.label }}\n } @else if (!field.rightAddon.label) {\n <span [ngClass]=\"field.rightAddon.icon\"></span>\n }\n </span>\n }\n }\n </div>\n}\n\n<ng-template #input>\n <input\n #inputRef\n [id]=\"field.id || field.name\"\n type=\"text\"\n [name]=\"field.name\"\n sNumberInput\n [precision]=\"isFunction(field.precision) ? trigger(field.precision) : field.precision\"\n [scale]=\"isFunction(field.scale) ? trigger(field.scale) : field.scale\"\n [decimalSeparator]=\"field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions?.thousandsSeparator\"\n [alignTo]=\"field.alignTo\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl\"\n />\n</ng-template>\n<ng-template #localizedNumber>\n <input\n #inputRef\n [id]=\"field.id || field.name\"\n type=\"text\"\n [name]=\"field.name\"\n sLocalizedNumberInput\n [precision]=\"isFunction(field.precision) ? trigger(field.precision) : field.precision\"\n [decimalSeparator]=\"field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions?.thousandsSeparator\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl\"\n />\n</ng-template>\n", styles: ["s-number-field.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .ui-inputtext:hover{border-color:highlight(#c13018)}.addon-button{border:1px solid #c1c1cc}.addon-button s-button button,.addon-button s-button .s-button-with-text{height:100%;min-width:40px}.addon-button--left{border-radius:5px 0 0 5px;border-right:none}.addon-button--left s-button button{border-bottom-right-radius:0;border-top-right-radius:0}.addon-button--right{border-left:none;border-radius:0 5px 5px 0}.addon-button--right s-button button{border-bottom-left-radius:0;border-top-left-radius:0}\n"] }]
|
|
108
|
-
}], ctorParameters: () => [{ type: i1.LocaleService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { field: [{
|
|
109
|
-
type: Input,
|
|
110
|
-
args: [{ required: true }]
|
|
111
|
-
}], formControl: [{
|
|
112
|
-
type: Input,
|
|
113
|
-
args: [{ required: true }]
|
|
114
|
-
}], onInput: [{
|
|
115
|
-
type: Output
|
|
116
|
-
}], onFocus: [{
|
|
117
|
-
type: Output
|
|
118
|
-
}], onComplete: [{
|
|
119
|
-
type: Output
|
|
120
|
-
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvbnVtYmVyL251bWJlci1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL251bWJlci9udW1iZXItZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFHSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQTRCLE1BQU0seUJBQXlCLENBQUM7QUFHdkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDeEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFRNUQsTUFBTSxPQUFPLG9CQUNULFNBQVEsa0JBQWtCO0lBc0JMO0lBQ0E7SUFDQTtJQXJCZCxLQUFLLENBQWdCO0lBR3JCLFdBQVcsQ0FBZTtJQUcxQixPQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFaEQsT0FBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWhELFVBQVUsR0FBc0IsSUFBSSxZQUFZLEVB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O2dCQUNOLENBQUM7Z0JBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLENBQUM7b0JBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEdBQUc7d0JBQzdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUI7d0JBQ2pDLGNBQWMsRUFBRSxJQUFJO3FCQUN2QixDQUFDO2dCQUNOLENBQUM7WUFDTCxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUNaLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixJQUFJO2dCQUNoRSxrQkFBa0IsRUFBRSxHQUFHO2dCQUN2QixnQkFBZ0IsRUFBRSxHQUFHO2dCQUNyQixjQUFjLEVBQUUsSUFBSTthQUN2QixDQUFDO1NBQ0wsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLFdBQVc7UUFDZixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQzt3R0F2R1Esb0JBQW9COzRGQUFwQixvQkFBb0Isa05DNUJqQyx3aEtBb0lBOzs0RkR4R2Esb0JBQW9CO2tCQUxoQyxTQUFTO29DQUdTLGlCQUFpQixDQUFDLElBQUk7MklBTTlCLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixPQUFPO3NCQURiLE1BQU07Z0JBR0EsT0FBTztzQkFEYixNQUFNO2dCQUdBLFVBQVU7c0JBRGhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeCAqL1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnQsIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uL2Jhc2UtZmllbGQtY29tcG9uZW50JztcblxuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvbG9jYWxlJztcbmltcG9ydCB7IE51bWJlckFsaWdubWVudE9wdGlvbiB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvbnVtYmVyLWlucHV0JztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkLXR5cGUnO1xuaW1wb3J0IHsgRGVjaW1hbEZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2RlY2ltYWwtZmllbGQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJ251bWJlci1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyRmllbGRDb21wb25lbnRcbiAgICBleHRlbmRzIEJhc2VGaWVsZENvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgZmllbGQhOiBEZWNpbWFsRmllbGQ7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uSW5wdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Db21wbGV0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgaW5wdXRSZWY6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcm90ZWN0ZWQgRmllbGRUeXBlID0gRmllbGRUeXBlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMub25Mb2NhbGVTZXJ2aWNlKCk7XG5cbiAgICAgICAgdGhpcy5vbkZvY3VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLm9uRm9jdXMpIHRoaXMuZmllbGQub25Gb2N1cyhldmVudCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub25JbnB1dC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLm9uSW5wdXQpIHRoaXMuZmllbGQub25JbnB1dChldmVudCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub25Db21wbGV0ZS5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLm9uQ29tcGxldGUpIHRoaXMuZmllbGQub25Db21wbGV0ZShldmVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0SW5wdXRSZWYoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG51bWJlckFsaWdubWVudE9wdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlckFsaWdubWVudE9wdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZpZWxkVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIEZpZWxkVHlwZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTG9jYWxlU2VydmljZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0TG9jYWxlKClcbiAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy5kZWNpbWFsU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWxTZXBhcmF0b3I6IHRoaXMubG9jYWxlU2VydmljZS5nZXREZWNpbWFsU2VwYXJhdG9yKCkgPz8gJycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IHRoaXMubG9jYWxlU2VydmljZS5nZXRHcm91cGluZ1NlcGFyYXRvcigpID8/ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeVN5bWJvbDogJ1IkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PlxuICAgICAgICAgICAgICAgICh0aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnMgPSB0aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnMgPz8ge1xuICAgICAgICAgICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6ICcuJyxcbiAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogJywnLFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeVN5bWJvbDogJ1IkJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW5wdXRSZWYoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcbiAgICAgICAgdGhpcy5pbnB1dFJlZiA9IGlucHV0O1xuICAgIH1cbn1cbiIsIkBpZiAoaW5wdXRSZWYpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiZmllbGRcIlxuICAgICAgICBbZmllbGRDb250YWluZXJSZWZdPVwiaW5wdXRSZWYubmF0aXZlRWxlbWVudFwiXG4gICAgLz5cbn1cblxuQGxldCBoYXNNYXNrID0gISFmaWVsZC5tYXNrO1xuQGlmIChoYXNNYXNrKSB7XG4gICAgPHAtaW5wdXRNYXNrXG4gICAgICAgICNpbnB1dFJlZlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFtpbnB1dElkXT1cImZpZWxkLmlkIHx8IGZpZWxkLm5hbWVcIlxuICAgICAgICBbbmFtZV09XCJmaWVsZC5uYW1lXCJcbiAgICAgICAgW21hc2tdPVwiZmllbGQubWFzayA/IGdldEZpZWxkUHJvcGVydHlNYXNrKGZpZWxkLm1hc2spIDogbnVsbFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICAgIHNsb3RDaGFyPVwiX1wiXG4gICAgICAgIFtzVG9vbHRpcF09XCJmaWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgICAgICBzdHlsZUNsYXNzPVwibW91c2V0cmFwXCJcbiAgICAgICAgKG9uQmx1cik9XCJmaWVsZC5vbkJsdXIgPyBmaWVsZC5vbkJsdXIoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAob25Gb2N1cyk9XCJvbkZvY3VzLm5leHQoJGV2ZW50KVwiXG4gICAgICAgIChvbkNvbXBsZXRlKT1cIm9uQ29tcGxldGUubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKG9uSW5wdXQpPVwib25JbnB1dC5uZXh0KCRldmVudClcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgID5cbiAgICA8L3AtaW5wdXRNYXNrPlxufSBAZWxzZSBpZiAoIWhhc01hc2spIHtcbiAgICA8ZGl2IGNsYXNzPVwidWktaW5wdXRncm91cFwiPlxuICAgICAgICBAaWYgKGZpZWxkLmxlZnRBZGRvbikge1xuICAgICAgICAgICAgQGlmIChmaWVsZC5sZWZ0QWRkb24uY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZG9uLWJ1dHRvbiBhZGRvbi1idXR0b24tLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZmllbGQubGVmdEFkZG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwiZmllbGQubGVmdEFkZG9uLmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ByaW9yaXR5XT1cImZpZWxkLmxlZnRBZGRvbi5wcmlvcml0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmllbGRQcm9wZXJ0eUlzRGlzYWJsZWQoZmllbGQubGVmdEFkZG9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJmaWVsZC5sZWZ0QWRkb24uY2FsbGJhY2soKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKCFmaWVsZC5sZWZ0QWRkb24uY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVpLWlucHV0Z3JvdXAtYWRkb25cIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChmaWVsZC5sZWZ0QWRkb24ubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGZpZWxkLmxlZnRBZGRvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoIWZpZWxkLmxlZnRBZGRvbi5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiZmllbGQubGVmdEFkZG9uLmljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYoZmllbGQudHlwZSA9PT0gRmllbGRUeXBlLkRvdWJsZSAmJiBmaWVsZC5hbGlnblRvID09PSBudW1iZXJBbGlnbm1lbnRPcHRpb24uTEVGVCkge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvY2FsaXplZE51bWJlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChmaWVsZC5yaWdodEFkZG9uKSB7XG4gICAgICAgICAgICBAaWYgKGZpZWxkLnJpZ2h0QWRkb24uY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZG9uLWJ1dHRvbiBhZGRvbi1idXR0b24tLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImZpZWxkLnJpZ2h0QWRkb24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25DbGFzc109XCJmaWVsZC5yaWdodEFkZG9uLmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ByaW9yaXR5XT1cImZpZWxkLnJpZ2h0QWRkb24ucHJpb3JpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkUHJvcGVydHlJc0Rpc2FibGVkKGZpZWxkLnJpZ2h0QWRkb24pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cImZpZWxkLnJpZ2h0QWRkb24uY2FsbGJhY2soKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKCFmaWVsZC5yaWdodEFkZG9uLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1aS1pbnB1dGdyb3VwLWFkZG9uXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZmllbGQucmlnaHRBZGRvbi5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAge3sgZmllbGQucmlnaHRBZGRvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICghZmllbGQucmlnaHRBZGRvbi5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiZmllbGQucmlnaHRBZGRvbi5pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgPC9kaXY+XG59XG5cbjxuZy10ZW1wbGF0ZSAjaW5wdXQ+XG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFJlZlxuICAgICAgICBbaWRdPVwiZmllbGQuaWQgfHwgZmllbGQubmFtZVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW25hbWVdPVwiZmllbGQubmFtZVwiXG4gICAgICAgIHNOdW1iZXJJbnB1dFxuICAgICAgICBbcHJlY2lzaW9uXT1cImlzRnVuY3Rpb24oZmllbGQucHJlY2lzaW9uKSA/IHRyaWdnZXIoZmllbGQucHJlY2lzaW9uKSA6IGZpZWxkLnByZWNpc2lvblwiXG4gICAgICAgIFtzY2FsZV09XCJpc0Z1bmN0aW9uKGZpZWxkLnNjYWxlKSA/IHRyaWdnZXIoZmllbGQuc2NhbGUpIDogZmllbGQuc2NhbGVcIlxuICAgICAgICBbZGVjaW1hbFNlcGFyYXRvcl09XCJmaWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy5kZWNpbWFsU2VwYXJhdG9yXCJcbiAgICAgICAgW3Rob3VzYW5kc1NlcGFyYXRvcl09XCJmaWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3JcIlxuICAgICAgICBbYWxpZ25Ub109XCJmaWVsZC5hbGlnblRvXCJcbiAgICAgICAgW3NUb29sdGlwXT1cImZpZWxkLnRvb2x0aXBcIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICBbc2hvd0RlbGF5XT1cIjUwMFwiXG4gICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJmaWVsZC5icm93c2VyQXV0b2NvbXBsZXRlID8gJ29uJyA6ICdvZmYnXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiJ21vdXNldHJhcCdcIlxuICAgICAgICAoYmx1cik9XCJmaWVsZC5vbkJsdXIgPyBmaWVsZC5vbkJsdXIoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cy5uZXh0KCRldmVudClcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgIC8+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNsb2NhbGl6ZWROdW1iZXI+XG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFJlZlxuICAgICAgICBbaWRdPVwiZmllbGQuaWQgfHwgZmllbGQubmFtZVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW25hbWVdPVwiZmllbGQubmFtZVwiXG4gICAgICAgIHNMb2NhbGl6ZWROdW1iZXJJbnB1dFxuICAgICAgICBbcHJlY2lzaW9uXT1cImlzRnVuY3Rpb24oZmllbGQucHJlY2lzaW9uKSA/IHRyaWdnZXIoZmllbGQucHJlY2lzaW9uKSA6IGZpZWxkLnByZWNpc2lvblwiXG4gICAgICAgIFtkZWNpbWFsU2VwYXJhdG9yXT1cImZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnM/LmRlY2ltYWxTZXBhcmF0b3JcIlxuICAgICAgICBbdGhvdXNhbmRzU2VwYXJhdG9yXT1cImZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvclwiXG4gICAgICAgIFtzVG9vbHRpcF09XCJmaWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgIFthdXRvY29tcGxldGVdPVwiZmllbGQuYnJvd3NlckF1dG9jb21wbGV0ZSA/ICdvbicgOiAnb2ZmJ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIidtb3VzZXRyYXAnXCJcbiAgICAgICAgKGJsdXIpPVwiZmllbGQub25CbHVyID8gZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @angular-eslint/no-output-on-prefix */
|
|
2
|
-
import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@seniorsistemas/angular-components/button";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
import * as i3 from "@angular/forms";
|
|
9
|
-
import * as i4 from "primeng/inputtext";
|
|
10
|
-
import * as i5 from "@seniorsistemas/angular-components/tooltip";
|
|
11
|
-
import * as i6 from "@seniorsistemas/angular-components/password-strength";
|
|
12
|
-
import * as i7 from "../../../components/field-label/field-label.component";
|
|
13
|
-
export class PasswordFieldComponent {
|
|
14
|
-
changeDetectorRef;
|
|
15
|
-
field;
|
|
16
|
-
formControl;
|
|
17
|
-
onInput = new EventEmitter();
|
|
18
|
-
onFocus = new EventEmitter();
|
|
19
|
-
onComplete = new EventEmitter();
|
|
20
|
-
inputRef = null;
|
|
21
|
-
ngUnsubscribe = new Subject();
|
|
22
|
-
passwordVisible = false;
|
|
23
|
-
constructor(changeDetectorRef) {
|
|
24
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
25
|
-
}
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
|
|
28
|
-
if (this.field.onFocus) {
|
|
29
|
-
this.field.onFocus(event);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
|
|
33
|
-
if (this.field.onInput) {
|
|
34
|
-
this.field.onInput(event);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
|
|
38
|
-
if (this.field.onComplete) {
|
|
39
|
-
this.field.onComplete(event);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
ngOnDestroy() {
|
|
44
|
-
this.ngUnsubscribe.next();
|
|
45
|
-
this.ngUnsubscribe.complete();
|
|
46
|
-
}
|
|
47
|
-
onChangeVisible() {
|
|
48
|
-
this.passwordVisible = !this.passwordVisible;
|
|
49
|
-
}
|
|
50
|
-
ngAfterViewInit() {
|
|
51
|
-
this.changeDetectorRef.detectChanges();
|
|
52
|
-
}
|
|
53
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PasswordFieldComponent, selector: "ng-component", inputs: { field: "field", formControl: "formControl" }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@if(inputRef) {\n <s-field-label\n [field]=\"field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<div\n class=\"password-field\"\n [ngClass]=\"{ 'password-field--toggle': field.showToggle }\"\n>\n <input\n #inputRef\n [type]=\"passwordVisible ? 'text' : 'password'\"\n [id]=\"field.id || field.name\"\n class=\"password-input\"\n [name]=\"field.name\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n [maxLength]=\"field.maxLength\"\n pInputText\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl\"\n [ngStyle]=\"field.style\"\n [sPasswordStrength]=\"field.passwordStrength ? field.passwordStrength : false\"\n [passwordStrengthDescription]=\"field.passwordStrengthOptions?.description ? field.passwordStrengthOptions!.description : ''\"\n [passwordStrengthWeakTitle]=\"field.passwordStrengthOptions?.weakTitle ? field.passwordStrengthOptions?.weakTitle : ''\"\n [passwordStrengthMediumTitle]=\"field.passwordStrengthOptions?.mediumTitle ? field.passwordStrengthOptions?.mediumTitle : ''\"\n [passwordStrengthStrongTitle]=\"field.passwordStrengthOptions?.strongTitle ? field.passwordStrengthOptions?.strongTitle : ''\"\n [passwordStrengthValidation]=\"field.passwordStrengthOptions?.validation\"\n />\n @if (field.showToggle) {\n <span class=\"toggle-button\">\n <s-button\n [iconClass]=\"passwordVisible ? 'fas fa-eye-slash' : 'fas fa-eye'\"\n priority=\"default\"\n (clicked)=\"onChangeVisible()\"\n >\n </s-button>\n </span>\n }\n</div>\n", styles: ["s-text-field.ng-dirty.ng-invalid .password-input{border-color:#c13018}s-text-field.ng-dirty.ng-invalid .password-input:hover{border-color:highlight(#c13018)}.password-field{display:flex}.password-field--toggle .password-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.password-field--toggle .toggle-button s-button button{border-bottom-left-radius:0;border-top-left-radius:0}.password-field:has(.password-input.ng-invalid.ng-dirty) s-button button{border:1px solid #c13018}.password-field:has(.password-input:focus) s-button button{border:1px solid #428bca}.password-field:has(.password-input:focus):has(button) .password-input{border-right:none}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "directive", type: i3.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: "directive", type: i6.PasswordStrengthDirective, selector: "[sPasswordStrength]", inputs: ["sPasswordStrength", "passwordStrengthValidation", "passwordStrengthPosition", "passwordStrengthWeakTitle", "passwordStrengthMediumTitle", "passwordStrengthStrongTitle", "passwordStrengthDescription"] }, { kind: "component", type: i7.FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
55
|
-
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordFieldComponent, decorators: [{
|
|
57
|
-
type: Component,
|
|
58
|
-
args: [{ encapsulation: ViewEncapsulation.None, template: "@if(inputRef) {\n <s-field-label\n [field]=\"field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<div\n class=\"password-field\"\n [ngClass]=\"{ 'password-field--toggle': field.showToggle }\"\n>\n <input\n #inputRef\n [type]=\"passwordVisible ? 'text' : 'password'\"\n [id]=\"field.id || field.name\"\n class=\"password-input\"\n [name]=\"field.name\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n [maxLength]=\"field.maxLength\"\n pInputText\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl\"\n [ngStyle]=\"field.style\"\n [sPasswordStrength]=\"field.passwordStrength ? field.passwordStrength : false\"\n [passwordStrengthDescription]=\"field.passwordStrengthOptions?.description ? field.passwordStrengthOptions!.description : ''\"\n [passwordStrengthWeakTitle]=\"field.passwordStrengthOptions?.weakTitle ? field.passwordStrengthOptions?.weakTitle : ''\"\n [passwordStrengthMediumTitle]=\"field.passwordStrengthOptions?.mediumTitle ? field.passwordStrengthOptions?.mediumTitle : ''\"\n [passwordStrengthStrongTitle]=\"field.passwordStrengthOptions?.strongTitle ? field.passwordStrengthOptions?.strongTitle : ''\"\n [passwordStrengthValidation]=\"field.passwordStrengthOptions?.validation\"\n />\n @if (field.showToggle) {\n <span class=\"toggle-button\">\n <s-button\n [iconClass]=\"passwordVisible ? 'fas fa-eye-slash' : 'fas fa-eye'\"\n priority=\"default\"\n (clicked)=\"onChangeVisible()\"\n >\n </s-button>\n </span>\n }\n</div>\n", styles: ["s-text-field.ng-dirty.ng-invalid .password-input{border-color:#c13018}s-text-field.ng-dirty.ng-invalid .password-input:hover{border-color:highlight(#c13018)}.password-field{display:flex}.password-field--toggle .password-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.password-field--toggle .toggle-button s-button button{border-bottom-left-radius:0;border-top-left-radius:0}.password-field:has(.password-input.ng-invalid.ng-dirty) s-button button{border:1px solid #c13018}.password-field:has(.password-input:focus) s-button button{border:1px solid #428bca}.password-field:has(.password-input:focus):has(button) .password-input{border-right:none}\n"] }]
|
|
59
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { field: [{
|
|
60
|
-
type: Input,
|
|
61
|
-
args: [{ required: true }]
|
|
62
|
-
}], formControl: [{
|
|
63
|
-
type: Input,
|
|
64
|
-
args: [{ required: true }]
|
|
65
|
-
}], onInput: [{
|
|
66
|
-
type: Output
|
|
67
|
-
}], onFocus: [{
|
|
68
|
-
type: Output
|
|
69
|
-
}], onComplete: [{
|
|
70
|
-
type: Output
|
|
71
|
-
}], inputRef: [{
|
|
72
|
-
type: ViewChild,
|
|
73
|
-
args: ['inputRef']
|
|
74
|
-
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9wYXNzd29yZC9wYXNzd29yZC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3Bhc3N3b3JkL3Bhc3N3b3JkLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdEQUF3RDtBQUN4RCxPQUFPLEVBR0gsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVMzQyxNQUFNLE9BQU8sc0JBQXNCO0lBcUJGO0lBbkJ0QixLQUFLLENBQWlCO0lBR3RCLFdBQVcsQ0FBZTtJQUcxQixPQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFHaEQsT0FBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBR2hELFVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVuQyxRQUFRLEdBQXNCLElBQUksQ0FBQztJQUVsRCxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNyQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRS9CLFlBQTZCLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUksQ0FBQztJQUUvRCxRQUFRO1FBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtZQUM3RSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7WUFDN0UsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDekUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sZUFBZTtRQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNqRCxDQUFDO0lBRU0sZUFBZTtRQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0MsQ0FBQzt3R0FwRFEsc0JBQXNCOzRGQUF0QixzQkFBc0IsaVNDMUJuQyxrNkRBK0NBOzs0RkRyQmEsc0JBQXNCO2tCQUxsQyxTQUFTO29DQUdTLGlCQUFpQixDQUFDLElBQUk7c0ZBSTlCLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixPQUFPO3NCQURiLE1BQU07Z0JBSUEsT0FBTztzQkFEYixNQUFNO2dCQUlBLFVBQVU7c0JBRGhCLE1BQU07Z0JBR2dCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4ICovXG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBQYXNzd29yZEZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL3Bhc3N3b3JkLWZpZWxkJztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgZmllbGQhOiBQYXNzd29yZEZpZWxkO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbklucHV0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNvbXBsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJykgaW5wdXRSZWY6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHVibGljIHBhc3N3b3JkVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uRm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQub25Gb2N1cykge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQub25Gb2N1cyhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uSW5wdXQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogSW5wdXRFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQub25JbnB1dCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQub25JbnB1dChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uQ29tcGxldGUucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC5vbkNvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5vbkNvbXBsZXRlKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2VWaXNpYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhc3N3b3JkVmlzaWJsZSA9ICF0aGlzLnBhc3N3b3JkVmlzaWJsZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG4iLCJAaWYoaW5wdXRSZWYpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiZmllbGRcIlxuICAgICAgICBbZmllbGRDb250YWluZXJSZWZdPVwiaW5wdXRSZWZcIlxuICAgID48L3MtZmllbGQtbGFiZWw+XG59XG5cbjxkaXZcbiAgICBjbGFzcz1cInBhc3N3b3JkLWZpZWxkXCJcbiAgICBbbmdDbGFzc109XCJ7ICdwYXNzd29yZC1maWVsZC0tdG9nZ2xlJzogZmllbGQuc2hvd1RvZ2dsZSB9XCJcbj5cbiAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0UmVmXG4gICAgICAgIFt0eXBlXT1cInBhc3N3b3JkVmlzaWJsZSA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIlxuICAgICAgICBbaWRdPVwiZmllbGQuaWQgfHwgZmllbGQubmFtZVwiXG4gICAgICAgIGNsYXNzPVwicGFzc3dvcmQtaW5wdXRcIlxuICAgICAgICBbbmFtZV09XCJmaWVsZC5uYW1lXCJcbiAgICAgICAgW3NUb29sdGlwXT1cImZpZWxkLnRvb2x0aXBcIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICBbc2hvd0RlbGF5XT1cIjUwMFwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCJcbiAgICAgICAgcElucHV0VGV4dFxuICAgICAgICBbbmdDbGFzc109XCInbW91c2V0cmFwJ1wiXG4gICAgICAgIChibHVyKT1cImZpZWxkLm9uQmx1ciA/IGZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzLm5leHQoJGV2ZW50KVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cImZpZWxkLnN0eWxlXCJcbiAgICAgICAgW3NQYXNzd29yZFN0cmVuZ3RoXT1cImZpZWxkLnBhc3N3b3JkU3RyZW5ndGggPyBmaWVsZC5wYXNzd29yZFN0cmVuZ3RoIDogZmFsc2VcIlxuICAgICAgICBbcGFzc3dvcmRTdHJlbmd0aERlc2NyaXB0aW9uXT1cImZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy5kZXNjcmlwdGlvbiA/IGZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zIS5kZXNjcmlwdGlvbiA6ICcnXCJcbiAgICAgICAgW3Bhc3N3b3JkU3RyZW5ndGhXZWFrVGl0bGVdPVwiZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/LndlYWtUaXRsZSA/IGZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy53ZWFrVGl0bGUgOiAnJ1wiXG4gICAgICAgIFtwYXNzd29yZFN0cmVuZ3RoTWVkaXVtVGl0bGVdPVwiZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/Lm1lZGl1bVRpdGxlID8gZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/Lm1lZGl1bVRpdGxlIDogJydcIlxuICAgICAgICBbcGFzc3dvcmRTdHJlbmd0aFN0cm9uZ1RpdGxlXT1cImZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy5zdHJvbmdUaXRsZSA/IGZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy5zdHJvbmdUaXRsZSA6ICcnXCJcbiAgICAgICAgW3Bhc3N3b3JkU3RyZW5ndGhWYWxpZGF0aW9uXT1cImZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy52YWxpZGF0aW9uXCJcbiAgICAvPlxuICAgIEBpZiAoZmllbGQuc2hvd1RvZ2dsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInRvZ2dsZS1idXR0b25cIj5cbiAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwicGFzc3dvcmRWaXNpYmxlID8gJ2ZhcyBmYS1leWUtc2xhc2gnIDogJ2ZhcyBmYS1leWUnXCJcbiAgICAgICAgICAgICAgICBwcmlvcml0eT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2hhbmdlVmlzaWJsZSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcy1idXR0b24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Component, 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/profile-picture-picker";
|
|
5
|
-
import * as i3 from "../../../components/field-label/field-label.component";
|
|
6
|
-
export class ProfilePictureFieldComponent {
|
|
7
|
-
field;
|
|
8
|
-
formControl;
|
|
9
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfilePictureFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProfilePictureFieldComponent, selector: "ng-component", inputs: { field: "field", formControl: "formControl" }, ngImport: i0, template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<s-profile-picture-picker\n [formControl]=\"formControl\"\n [simpleTitle]=\"field.simpleTitle\"\n [actionTitle]=\"field.actionTitle\"\n [subtitle]=\"field.subtitle\"\n [aspectRatio]=\"field.aspectRatio\"\n [cropperLabelsConfig]=\"field.cropperLabelsConfig\"\n [removeButtonLabel]=\"field.removeButtonLabel\"\n [changeButtonLabel]=\"field.changeButtonLabel\"\n [confirmationTexts]=\"field.confirmationTexts\"\n [maxFileSize]=\"field.maxFileSize\"\n [accept]=\"field.accept\"\n [supportedExtensions]=\"field.supportedExtensions\"\n (changedImage)=\"field.onChangeImage ? field.onChangeImage($event) : null\"\n (removedImage)=\"field.onRemovedImage ? field.onRemovedImage() : null\"\n (invalidFile)=\"field.onInvalidFile ? field.onInvalidFile($event) : null\">\n</s-profile-picture-picker>\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.ProfilePicturePickerComponent, selector: "s-profile-picture-picker", inputs: ["simpleTitle", "actionTitle", "subtitle", "aspectRatio", "cropperLabelsConfig", "removeButtonLabel", "changeButtonLabel", "confirmationTexts", "maxFileSize", "accept", "supportedExtensions", "image"], outputs: ["changedImage", "imageChange", "removedImage", "invalidFile"] }, { kind: "component", type: i3.FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }] });
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfilePictureFieldComponent, decorators: [{
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<s-profile-picture-picker\n [formControl]=\"formControl\"\n [simpleTitle]=\"field.simpleTitle\"\n [actionTitle]=\"field.actionTitle\"\n [subtitle]=\"field.subtitle\"\n [aspectRatio]=\"field.aspectRatio\"\n [cropperLabelsConfig]=\"field.cropperLabelsConfig\"\n [removeButtonLabel]=\"field.removeButtonLabel\"\n [changeButtonLabel]=\"field.changeButtonLabel\"\n [confirmationTexts]=\"field.confirmationTexts\"\n [maxFileSize]=\"field.maxFileSize\"\n [accept]=\"field.accept\"\n [supportedExtensions]=\"field.supportedExtensions\"\n (changedImage)=\"field.onChangeImage ? field.onChangeImage($event) : null\"\n (removedImage)=\"field.onRemovedImage ? field.onRemovedImage() : null\"\n (invalidFile)=\"field.onInvalidFile ? field.onInvalidFile($event) : null\">\n</s-profile-picture-picker>\n" }]
|
|
15
|
-
}], propDecorators: { field: [{
|
|
16
|
-
type: Input,
|
|
17
|
-
args: [{ required: true }]
|
|
18
|
-
}], formControl: [{
|
|
19
|
-
type: Input,
|
|
20
|
-
args: [{ required: true }]
|
|
21
|
-
}] } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvcHJvZmlsZS1waWN0dXJlL3Byb2ZpbGUtcGljdHVyZS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3Byb2ZpbGUtcGljdHVyZS9wcm9maWxlLXBpY3R1cmUtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBT2pELE1BQU0sT0FBTyw0QkFBNEI7SUFFOUIsS0FBSyxDQUF1QjtJQUc1QixXQUFXLENBQWU7d0dBTHhCLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLDRHQ1B6Qyx3M0JBbUJBOzs0RkRaYSw0QkFBNEI7a0JBSHhDLFNBQVM7OzhCQUtDLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgUHJvZmlsZVBpY3R1cmVGaWVsZCB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9wcm9maWxlLXBpY3R1cmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3Byb2ZpbGUtcGljdHVyZS1maWVsZC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlUGljdHVyZUZpZWxkQ29tcG9uZW50IHtcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBmaWVsZCE6IFByb2ZpbGVQaWN0dXJlRmllbGQ7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xufVxuIiwiPHMtZmllbGQtbGFiZWwgW2ZpZWxkXT1cImZpZWxkXCI+PC9zLWZpZWxkLWxhYmVsPlxuXG48cy1wcm9maWxlLXBpY3R1cmUtcGlja2VyXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICBbc2ltcGxlVGl0bGVdPVwiZmllbGQuc2ltcGxlVGl0bGVcIlxuICAgIFthY3Rpb25UaXRsZV09XCJmaWVsZC5hY3Rpb25UaXRsZVwiXG4gICAgW3N1YnRpdGxlXT1cImZpZWxkLnN1YnRpdGxlXCJcbiAgICBbYXNwZWN0UmF0aW9dPVwiZmllbGQuYXNwZWN0UmF0aW9cIlxuICAgIFtjcm9wcGVyTGFiZWxzQ29uZmlnXT1cImZpZWxkLmNyb3BwZXJMYWJlbHNDb25maWdcIlxuICAgIFtyZW1vdmVCdXR0b25MYWJlbF09XCJmaWVsZC5yZW1vdmVCdXR0b25MYWJlbFwiXG4gICAgW2NoYW5nZUJ1dHRvbkxhYmVsXT1cImZpZWxkLmNoYW5nZUJ1dHRvbkxhYmVsXCJcbiAgICBbY29uZmlybWF0aW9uVGV4dHNdPVwiZmllbGQuY29uZmlybWF0aW9uVGV4dHNcIlxuICAgIFttYXhGaWxlU2l6ZV09XCJmaWVsZC5tYXhGaWxlU2l6ZVwiXG4gICAgW2FjY2VwdF09XCJmaWVsZC5hY2NlcHRcIlxuICAgIFtzdXBwb3J0ZWRFeHRlbnNpb25zXT1cImZpZWxkLnN1cHBvcnRlZEV4dGVuc2lvbnNcIlxuICAgIChjaGFuZ2VkSW1hZ2UpPVwiZmllbGQub25DaGFuZ2VJbWFnZSA/IGZpZWxkLm9uQ2hhbmdlSW1hZ2UoJGV2ZW50KSA6IG51bGxcIlxuICAgIChyZW1vdmVkSW1hZ2UpPVwiZmllbGQub25SZW1vdmVkSW1hZ2UgPyBmaWVsZC5vblJlbW92ZWRJbWFnZSgpIDogbnVsbFwiXG4gICAgKGludmFsaWRGaWxlKT1cImZpZWxkLm9uSW52YWxpZEZpbGUgPyBmaWVsZC5vbkludmFsaWRGaWxlKCRldmVudCkgOiBudWxsXCI+XG48L3MtcHJvZmlsZS1waWN0dXJlLXBpY2tlcj5cbiJdfQ==
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @angular-eslint/no-output-on-prefix */
|
|
2
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@seniorsistemas/angular-components/button";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
import * as i3 from "@angular/forms";
|
|
9
|
-
import * as i4 from "@seniorsistemas/angular-components/tooltip";
|
|
10
|
-
import * as i5 from "@seniorsistemas/angular-components/radio-button";
|
|
11
|
-
import * as i6 from "../../../components/field-label/field-label.component";
|
|
12
|
-
export class RadioButtonFieldComponent {
|
|
13
|
-
field;
|
|
14
|
-
formControl;
|
|
15
|
-
onClick = new EventEmitter();
|
|
16
|
-
onFocus = new EventEmitter();
|
|
17
|
-
_ngUnsubscribe = new Subject();
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
this.onFocus.pipe(takeUntil(this._ngUnsubscribe)).subscribe((event) => {
|
|
20
|
-
if (this.field.onFocus)
|
|
21
|
-
this.field.onFocus(event);
|
|
22
|
-
});
|
|
23
|
-
this.onClick.pipe(takeUntil(this._ngUnsubscribe)).subscribe((event) => {
|
|
24
|
-
if (this.field.onClick)
|
|
25
|
-
this.field.onClick(event);
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
ngOnDestroy() {
|
|
29
|
-
this._ngUnsubscribe.next();
|
|
30
|
-
this._ngUnsubscribe.complete();
|
|
31
|
-
}
|
|
32
|
-
onClear() {
|
|
33
|
-
this.formControl.reset();
|
|
34
|
-
}
|
|
35
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RadioButtonFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RadioButtonFieldComponent, selector: "ng-component", inputs: { field: "field", formControl: "formControl" }, outputs: { onClick: "onClick", onFocus: "onFocus" }, ngImport: i0, template: "<s-field-label [field]=\"field\"></s-field-label>\n\n@if (field.verticalAlignment) {\n <div class=\"ui-g\">\n @for (option of field.options; let i = $index; track i) {\n <div class=\"ui-g-12\">\n <ng-container\n [ngTemplateOutlet]=\"radioButton\"\n [ngTemplateOutletContext]=\"{ option: option, index: i }\"\n >\n </ng-container>\n </div>\n }\n @if (field.showClear && field.required && !field.required() && !formControl.disabled) {\n <s-button\n [label]=\"field.clearLabel || 'Clear selection'\"\n (clicked)=\"onClear()\"\n priority=\"link\"\n >\n </s-button>\n }\n </div>\n} @else {\n <div class=\"ui-g horizontal-radio-buttons-container\">\n @for (option of field.options; let i = $index; track i) {\n <ng-container\n [ngTemplateOutlet]=\"radioButton\"\n [ngTemplateOutletContext]=\"{ option: option, index: i }\"\n >\n </ng-container>\n }\n </div>\n @if (field.showClear && field.required && !field.required() && !formControl.disabled) {\n <s-button\n class=\"horizontal-clear-option\"\n [label]=\"field.clearLabel || 'Clear selection'\"\n (clicked)=\"onClear()\"\n priority=\"link\"\n >\n </s-button>\n }\n}\n\n<ng-template\n #radioButton\n let-option=\"option\"\n let-i=\"index\"\n>\n @let inputId = (field.id || field.name) + '-' + i;\n <s-radiobutton\n class=\"radio-button-item\"\n [name]=\"field.name\"\n [value]=\"option.value\"\n [formControl]=\"formControl\"\n [inputId]=\"inputId\"\n [sTooltip]=\"field.tooltip\"\n [label]=\"option.label\"\n (focusedInput)=\"onFocus.next($event)\"\n (inputFocusLost)=\"field.onBlur ? field.onBlur($event) : null\"\n />\n</ng-template>\n", styles: ["s-button.horizontal-clear-option button{width:min-content!important}.horizontal-radio-buttons-container{gap:20px 40px;.radio-button-item{margin:0}}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: i5.RadioButtonComponent, selector: "s-radiobutton", inputs: ["buttonDisabled", "label", "name", "value", "inputId"], outputs: ["buttonDisabledChange", "valueChange", "focusedInput", "inputFocusLost"] }, { kind: "component", type: i6.FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RadioButtonFieldComponent, decorators: [{
|
|
39
|
-
type: Component,
|
|
40
|
-
args: [{ encapsulation: ViewEncapsulation.None, template: "<s-field-label [field]=\"field\"></s-field-label>\n\n@if (field.verticalAlignment) {\n <div class=\"ui-g\">\n @for (option of field.options; let i = $index; track i) {\n <div class=\"ui-g-12\">\n <ng-container\n [ngTemplateOutlet]=\"radioButton\"\n [ngTemplateOutletContext]=\"{ option: option, index: i }\"\n >\n </ng-container>\n </div>\n }\n @if (field.showClear && field.required && !field.required() && !formControl.disabled) {\n <s-button\n [label]=\"field.clearLabel || 'Clear selection'\"\n (clicked)=\"onClear()\"\n priority=\"link\"\n >\n </s-button>\n }\n </div>\n} @else {\n <div class=\"ui-g horizontal-radio-buttons-container\">\n @for (option of field.options; let i = $index; track i) {\n <ng-container\n [ngTemplateOutlet]=\"radioButton\"\n [ngTemplateOutletContext]=\"{ option: option, index: i }\"\n >\n </ng-container>\n }\n </div>\n @if (field.showClear && field.required && !field.required() && !formControl.disabled) {\n <s-button\n class=\"horizontal-clear-option\"\n [label]=\"field.clearLabel || 'Clear selection'\"\n (clicked)=\"onClear()\"\n priority=\"link\"\n >\n </s-button>\n }\n}\n\n<ng-template\n #radioButton\n let-option=\"option\"\n let-i=\"index\"\n>\n @let inputId = (field.id || field.name) + '-' + i;\n <s-radiobutton\n class=\"radio-button-item\"\n [name]=\"field.name\"\n [value]=\"option.value\"\n [formControl]=\"formControl\"\n [inputId]=\"inputId\"\n [sTooltip]=\"field.tooltip\"\n [label]=\"option.label\"\n (focusedInput)=\"onFocus.next($event)\"\n (inputFocusLost)=\"field.onBlur ? field.onBlur($event) : null\"\n />\n</ng-template>\n", styles: ["s-button.horizontal-clear-option button{width:min-content!important}.horizontal-radio-buttons-container{gap:20px 40px;.radio-button-item{margin:0}}\n"] }]
|
|
41
|
-
}], propDecorators: { field: [{
|
|
42
|
-
type: Input,
|
|
43
|
-
args: [{ required: true }]
|
|
44
|
-
}], formControl: [{
|
|
45
|
-
type: Input,
|
|
46
|
-
args: [{ required: true }]
|
|
47
|
-
}], onClick: [{
|
|
48
|
-
type: Output
|
|
49
|
-
}], onFocus: [{
|
|
50
|
-
type: Output
|
|
51
|
-
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQXNCM0MsTUFBTSxPQUFPLHlCQUF5QjtJQUUzQixLQUFLLENBQW9CO0lBR3pCLFdBQVcsQ0FBc0I7SUFHakMsT0FBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBR2hELE9BQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUvQyxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUV0QyxRQUFRO1FBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtZQUM5RSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUN2RSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTSxPQUFPO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDO3dHQS9CUSx5QkFBeUI7NEZBQXpCLHlCQUF5QixpS0MzQnRDLHMvREE2REE7OzRGRGxDYSx5QkFBeUI7a0JBakJyQyxTQUFTO29DQWVTLGlCQUFpQixDQUFDLElBQUk7OEJBSTlCLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixPQUFPO3NCQURiLE1BQU07Z0JBSUEsT0FBTztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXggKi9cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBSYWRpb0J1dHRvbkZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL3JhZGlvLWJ1dHRvbi1maWVsZCc7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi9iYXNlLWZpZWxkLWNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAncmFkaW8tYnV0dG9uLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgcy1idXR0b24uaG9yaXpvbnRhbC1jbGVhci1vcHRpb24gYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ob3Jpem9udGFsLXJhZGlvLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBnYXA6IDIwcHggNDBweDtcbiAgICAgICAgICAgICAgICAucmFkaW8tYnV0dG9uLWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9CdXR0b25GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGZpZWxkITogUmFkaW9CdXR0b25GaWVsZDtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGZvcm1Db250cm9sITogVW50eXBlZEZvcm1Db250cm9sO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Gb2N1cy5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQub25Gb2N1cykgdGhpcy5maWVsZC5vbkZvY3VzKGV2ZW50KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub25DbGljay5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC5vbkNsaWNrKSB0aGlzLmZpZWxkLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wucmVzZXQoKTtcbiAgICB9XG59XG4iLCI8cy1maWVsZC1sYWJlbCBbZmllbGRdPVwiZmllbGRcIj48L3MtZmllbGQtbGFiZWw+XG5cbkBpZiAoZmllbGQudmVydGljYWxBbGlnbm1lbnQpIHtcbiAgICA8ZGl2IGNsYXNzPVwidWktZ1wiPlxuICAgICAgICBAZm9yIChvcHRpb24gb2YgZmllbGQub3B0aW9uczsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIGkpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1aS1nLTEyXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyYWRpb0J1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG9wdGlvbjogb3B0aW9uLCBpbmRleDogaSB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGZpZWxkLnNob3dDbGVhciAmJiBmaWVsZC5yZXF1aXJlZCAmJiAhZmllbGQucmVxdWlyZWQoKSAmJiAhZm9ybUNvbnRyb2wuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJmaWVsZC5jbGVhckxhYmVsIHx8ICdDbGVhciBzZWxlY3Rpb24nXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsZWFyKClcIlxuICAgICAgICAgICAgICAgIHByaW9yaXR5PVwibGlua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG59IEBlbHNlIHtcbiAgICA8ZGl2IGNsYXNzPVwidWktZyBob3Jpem9udGFsLXJhZGlvLWJ1dHRvbnMtY29udGFpbmVyXCI+XG4gICAgICAgIEBmb3IgKG9wdGlvbiBvZiBmaWVsZC5vcHRpb25zOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgaSkge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJhZGlvQnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBvcHRpb246IG9wdGlvbiwgaW5kZXg6IGkgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZiAoZmllbGQuc2hvd0NsZWFyICYmIGZpZWxkLnJlcXVpcmVkICYmICFmaWVsZC5yZXF1aXJlZCgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCkge1xuICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwiaG9yaXpvbnRhbC1jbGVhci1vcHRpb25cIlxuICAgICAgICAgICAgW2xhYmVsXT1cImZpZWxkLmNsZWFyTGFiZWwgfHwgJ0NsZWFyIHNlbGVjdGlvbidcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwib25DbGVhcigpXCJcbiAgICAgICAgICAgIHByaW9yaXR5PVwibGlua1wiXG4gICAgICAgID5cbiAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICB9XG59XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNyYWRpb0J1dHRvblxuICAgIGxldC1vcHRpb249XCJvcHRpb25cIlxuICAgIGxldC1pPVwiaW5kZXhcIlxuPlxuICAgIEBsZXQgaW5wdXRJZCA9IChmaWVsZC5pZCB8fCBmaWVsZC5uYW1lKSArICctJyArIGk7XG4gICAgPHMtcmFkaW9idXR0b25cbiAgICAgICAgY2xhc3M9XCJyYWRpby1idXR0b24taXRlbVwiXG4gICAgICAgIFtuYW1lXT1cImZpZWxkLm5hbWVcIlxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW2lucHV0SWRdPVwiaW5wdXRJZFwiXG4gICAgICAgIFtzVG9vbHRpcF09XCJmaWVsZC50b29sdGlwXCJcbiAgICAgICAgW2xhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgICAgIChmb2N1c2VkSW5wdXQpPVwib25Gb2N1cy5uZXh0KCRldmVudClcIlxuICAgICAgICAoaW5wdXRGb2N1c0xvc3QpPVwiZmllbGQub25CbHVyID8gZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.mjs
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { BaseFieldComponent } from '../base-field-component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
import * as i2 from "@seniorsistemas/angular-components/tooltip";
|
|
6
|
-
import * as i3 from "@seniorsistemas/angular-components/select";
|
|
7
|
-
import * as i4 from "../../../components/field-label/field-label.component";
|
|
8
|
-
export class SelectFieldComponent extends BaseFieldComponent {
|
|
9
|
-
field;
|
|
10
|
-
formControl;
|
|
11
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SelectFieldComponent, selector: "ng-component", inputs: { field: "field", formControl: "formControl" }, usesInheritance: true, ngImport: i0, template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<s-select\n [multiple]=\"field.multiple ?? false\"\n [filter]=\"field.filter ?? false\"\n [id]=\"field.id || field.name\"\n [options]=\"getFieldProperty(field.options)\"\n [placeholder]=\"field.placeholder || ' '\"\n [formControl]=\"formControl\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [group]=\"field.group ?? false\"\n [showClear]=\"field.showClear ?? false\"\n [optionLabel]=\"field.optionLabel ?? 'label'\"\n [optionValue]=\"field.optionValue ?? 'value'\"\n (clicked)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\"\n [emptyMessage]=\"field.emptyMessage ?? null\"\n>\n</s-select>\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.SelectComponent, selector: "s-select", inputs: ["placeholder", "multiple", "options", "optionLabel", "optionValue", "showClear", "filter", "checkmark", "filterBy", "group", "virtualScroll", "virtualScrollItemSize", "emptyMessage", "disabled", "showOptions"], outputs: ["disabledChange", "showOptionsChange"] }, { kind: "component", type: i4.FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }] });
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SelectFieldComponent, decorators: [{
|
|
15
|
-
type: Component,
|
|
16
|
-
args: [{ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<s-select\n [multiple]=\"field.multiple ?? false\"\n [filter]=\"field.filter ?? false\"\n [id]=\"field.id || field.name\"\n [options]=\"getFieldProperty(field.options)\"\n [placeholder]=\"field.placeholder || ' '\"\n [formControl]=\"formControl\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [group]=\"field.group ?? false\"\n [showClear]=\"field.showClear ?? false\"\n [optionLabel]=\"field.optionLabel ?? 'label'\"\n [optionValue]=\"field.optionValue ?? 'value'\"\n (clicked)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\"\n [emptyMessage]=\"field.emptyMessage ?? null\"\n>\n</s-select>\n" }]
|
|
17
|
-
}], propDecorators: { field: [{
|
|
18
|
-
type: Input,
|
|
19
|
-
args: [{ required: true }]
|
|
20
|
-
}], formControl: [{
|
|
21
|
-
type: Input,
|
|
22
|
-
args: [{ required: true }]
|
|
23
|
-
}] } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvc2VsZWN0L3NlbGVjdC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3NlbGVjdC9zZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLGtCQUFrQixFQUE0QixNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFLdkYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQUVqRCxLQUFLLENBQWU7SUFHcEIsV0FBVyxDQUFzQjt3R0FML0Isb0JBQW9COzRGQUFwQixvQkFBb0IsbUlDUmpDLDJ4QkFxQkE7OzRGRGJhLG9CQUFvQjtrQkFIaEMsU0FBUzs7OEJBS0MsS0FBSztzQkFEWCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJbEIsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3RGaWVsZCB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9zZWxlY3QtZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50LCBCYXNlRmllbGRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi9iYXNlLWZpZWxkLWNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnc2VsZWN0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RmllbGRDb21wb25lbnQgZXh0ZW5kcyBCYXNlRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGZpZWxkITogU2VsZWN0RmllbGQ7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBmb3JtQ29udHJvbCE6IFVudHlwZWRGb3JtQ29udHJvbDtcbn1cblxuIiwiPHMtZmllbGQtbGFiZWwgW2ZpZWxkXT1cImZpZWxkXCI+PC9zLWZpZWxkLWxhYmVsPlxuXG48cy1zZWxlY3RcbiAgICBbbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGUgPz8gZmFsc2VcIlxuICAgIFtmaWx0ZXJdPVwiZmllbGQuZmlsdGVyID8/IGZhbHNlXCJcbiAgICBbaWRdPVwiZmllbGQuaWQgfHwgZmllbGQubmFtZVwiXG4gICAgW29wdGlvbnNdPVwiZ2V0RmllbGRQcm9wZXJ0eShmaWVsZC5vcHRpb25zKVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyIHx8ICcgJ1wiXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICBbc1Rvb2x0aXBdPVwiZmllbGQudG9vbHRpcFwiXG4gICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICBbc2hvd0RlbGF5XT1cIjUwMFwiXG4gICAgW2dyb3VwXT1cImZpZWxkLmdyb3VwID8/IGZhbHNlXCJcbiAgICBbc2hvd0NsZWFyXT1cImZpZWxkLnNob3dDbGVhciA/PyBmYWxzZVwiXG4gICAgW29wdGlvbkxhYmVsXT1cImZpZWxkLm9wdGlvbkxhYmVsID8/ICdsYWJlbCdcIlxuICAgIFtvcHRpb25WYWx1ZV09XCJmaWVsZC5vcHRpb25WYWx1ZSA/PyAndmFsdWUnXCJcbiAgICAoY2xpY2tlZCk9XCJmaWVsZC5vbkNsaWNrID8gZmllbGQub25DbGljaygkZXZlbnQpIDogbnVsbFwiXG4gICAgKG9uQ2hhbmdlKT1cImZpZWxkLm9uQ2hhbmdlID8gZmllbGQub25DaGFuZ2UoJGV2ZW50KSA6IG51bGxcIlxuICAgIFtlbXB0eU1lc3NhZ2VdPVwiZmllbGQuZW1wdHlNZXNzYWdlID8/IG51bGxcIlxuPlxuPC9zLXNlbGVjdD5cbiJdfQ==
|
package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.mjs
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @angular-eslint/no-output-on-prefix */
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { FieldType } from '../../configurations/field-type';
|
|
6
|
-
import { BaseFieldComponent } from '../base-field-component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/forms";
|
|
9
|
-
import * as i2 from "@seniorsistemas/angular-components/slider";
|
|
10
|
-
import * as i3 from "../../../components/field-label/field-label.component";
|
|
11
|
-
export class SliderFieldComponent extends BaseFieldComponent {
|
|
12
|
-
field;
|
|
13
|
-
formControl;
|
|
14
|
-
onChange = new EventEmitter();
|
|
15
|
-
onSlideEnd = new EventEmitter();
|
|
16
|
-
ngUnsubscribe = new Subject();
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
const defaultValue = this.field?.range ? [this.field.min, this.field.max] : this.field.min;
|
|
19
|
-
if (!this.isValid(this.formControl.value)) {
|
|
20
|
-
this.formControl.setValue(this.field.defaultValue ?? defaultValue);
|
|
21
|
-
}
|
|
22
|
-
this.subscribeToFormControlEvents();
|
|
23
|
-
}
|
|
24
|
-
subscribeToFormControlEvents() {
|
|
25
|
-
this.onChange.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
|
|
26
|
-
if (this.field.onChange) {
|
|
27
|
-
this.field.onChange(event);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
this.onSlideEnd.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
|
|
31
|
-
if (this.field.onSlideEnd) {
|
|
32
|
-
this.field.onSlideEnd(event);
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
isValid(value) {
|
|
37
|
-
if (this.field?.range) {
|
|
38
|
-
return Array.isArray(value) && this.isValidRange(value);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
return Number.isInteger(value) && this.isValidNoRange(value);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
isValidRange(value) {
|
|
45
|
-
const [startValue, endValue] = value;
|
|
46
|
-
return startValue >= this.field?.min && startValue <= this.field?.max && endValue >= this.field?.min && endValue <= this.field?.max;
|
|
47
|
-
}
|
|
48
|
-
isValidNoRange(value) {
|
|
49
|
-
return value >= this.field.min && value <= this.field.max;
|
|
50
|
-
}
|
|
51
|
-
ngOnDestroy() {
|
|
52
|
-
this.ngUnsubscribe.next();
|
|
53
|
-
this.ngUnsubscribe.complete();
|
|
54
|
-
}
|
|
55
|
-
get fieldType() {
|
|
56
|
-
return FieldType;
|
|
57
|
-
}
|
|
58
|
-
getRangeLabel() {
|
|
59
|
-
let [value0, value1] = this.formControl.value ?? [0, 0];
|
|
60
|
-
const prefix = this.field.prefix ?? '';
|
|
61
|
-
const suffix = this.field.suffix ?? '';
|
|
62
|
-
const separator = this.field.rangeSeparator ?? ' - ';
|
|
63
|
-
if (!value0 || value0 < this.field.min) {
|
|
64
|
-
value0 = this.field.min;
|
|
65
|
-
}
|
|
66
|
-
if (!value1 || value1 > this.field.max) {
|
|
67
|
-
value1 = this.field.max;
|
|
68
|
-
}
|
|
69
|
-
return `${prefix}${value0}${suffix}${separator}${prefix}${value1}${suffix}`;
|
|
70
|
-
}
|
|
71
|
-
getNonRangeLabel() {
|
|
72
|
-
let value = this.formControl?.value;
|
|
73
|
-
const prefix = this.field.prefix ?? '';
|
|
74
|
-
const suffix = this.field.suffix ?? '';
|
|
75
|
-
if (!value || value < this.field.min) {
|
|
76
|
-
value = this.field.min;
|
|
77
|
-
}
|
|
78
|
-
if (value > this.field.max) {
|
|
79
|
-
value = this.field.max;
|
|
80
|
-
}
|
|
81
|
-
return `${prefix}${value}${suffix}`;
|
|
82
|
-
}
|
|
83
|
-
get label() {
|
|
84
|
-
return this.field.range ? this.getRangeLabel() : this.getNonRangeLabel();
|
|
85
|
-
}
|
|
86
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SliderFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SliderFieldComponent, selector: "ng-component", inputs: { field: "field", formControl: "formControl" }, outputs: { onChange: "onChange", onSlideEnd: "onSlideEnd" }, usesInheritance: true, ngImport: i0, template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<div class=\"slider-group\">\n <div class=\"slider-label\">\n <span>{{ label }}</span>\n </div>\n <s-slider\n #slider\n [id]=\"field.id || field.name\"\n [formControl]=\"formControl\"\n [multiple]=\"field.range ? field.range : slider.multiple\"\n [min]=\"field.min\"\n [max]=\"field.max\"\n [step]=\"field.step\"\n (valueChange)=\"field.onChange ? field.onChange($event) : null\"\n >\n </s-slider>\n</div>\n", styles: [".slider-label{margin-bottom:5px;margin-left:-10px}.slider-group{margin-left:9px;margin-right:11px}\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.SliderComponent, selector: "s-slider", inputs: ["multiple", "value", "step", "hiddenThumb", "disabled", "min", "max", "minValueLabel", "maxValueLabel", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3.FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }] });
|
|
88
|
-
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SliderFieldComponent, decorators: [{
|
|
90
|
-
type: Component,
|
|
91
|
-
args: [{ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<div class=\"slider-group\">\n <div class=\"slider-label\">\n <span>{{ label }}</span>\n </div>\n <s-slider\n #slider\n [id]=\"field.id || field.name\"\n [formControl]=\"formControl\"\n [multiple]=\"field.range ? field.range : slider.multiple\"\n [min]=\"field.min\"\n [max]=\"field.max\"\n [step]=\"field.step\"\n (valueChange)=\"field.onChange ? field.onChange($event) : null\"\n >\n </s-slider>\n</div>\n", styles: [".slider-label{margin-bottom:5px;margin-left:-10px}.slider-group{margin-left:9px;margin-right:11px}\n"] }]
|
|
92
|
-
}], propDecorators: { field: [{
|
|
93
|
-
type: Input,
|
|
94
|
-
args: [{ required: true }]
|
|
95
|
-
}], formControl: [{
|
|
96
|
-
type: Input,
|
|
97
|
-
args: [{ required: true }]
|
|
98
|
-
}], onChange: [{
|
|
99
|
-
type: Output
|
|
100
|
-
}], onSlideEnd: [{
|
|
101
|
-
type: Output
|
|
102
|
-
}] } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvc2xpZGVyL3NsaWRlci1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3NsaWRlci9zbGlkZXItZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQTRCLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBTXZGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxrQkFBa0I7SUFFakQsS0FBSyxDQUFlO0lBR3BCLFdBQVcsQ0FBc0I7SUFHakMsUUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBR2pELFVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVsRCxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVyQyxRQUFRO1FBQ1gsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxD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R0FBRyxNQUFNLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM3RSxDQUFDO3dHQWxHUSxvQkFBb0I7NEZBQXBCLG9CQUFvQixnTUNiakMsNGhCQWtCQTs7NEZETGEsb0JBQW9CO2tCQUpoQyxTQUFTOzs4QkFNQyxLQUFLO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixXQUFXO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJbEIsUUFBUTtzQkFEZCxNQUFNO2dCQUlBLFVBQVU7c0JBRGhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeCAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZC10eXBlJztcbmltcG9ydCB7IFNsaWRlckZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL3NsaWRlci1maWVsZCc7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnQsIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uL2Jhc2UtZmllbGQtY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICdzbGlkZXItZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NsaWRlci1maWVsZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTbGlkZXJGaWVsZENvbXBvbmVudCBleHRlbmRzIEJhc2VGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGZpZWxkITogU2xpZGVyRmllbGQ7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBmb3JtQ29udHJvbCE6IFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25TbGlkZUVuZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB0aGlzLmZpZWxkPy5yYW5nZSA/IFt0aGlzLmZpZWxkLm1pbiwgdGhpcy5maWVsZC5tYXhdIDogdGhpcy5maWVsZC5taW47XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuZmllbGQuZGVmYXVsdFZhbHVlID8/IGRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdWJzY3JpYmVUb0Zvcm1Db250cm9sRXZlbnRzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVUb0Zvcm1Db250cm9sRXZlbnRzKCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLm9uQ2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5vbkNoYW5nZShldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub25TbGlkZUVuZC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLm9uU2xpZGVFbmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLm9uU2xpZGVFbmQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5maWVsZD8ucmFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB0aGlzLmlzVmFsaWRSYW5nZSh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSkgJiYgdGhpcy5pc1ZhbGlkTm9SYW5nZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWRSYW5nZSh2YWx1ZTogYW55W10pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgW3N0YXJ0VmFsdWUsIGVuZFZhbHVlXSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gc3RhcnRWYWx1ZSA+PSB0aGlzLmZpZWxkPy5taW4gJiYgc3RhcnRWYWx1ZSA8PSB0aGlzLmZpZWxkPy5tYXggJiYgZW5kVmFsdWUgPj0gdGhpcy5maWVsZD8ubWluICYmIGVuZFZhbHVlIDw9IHRoaXMuZmllbGQ/Lm1heDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWROb1JhbmdlKHZhbHVlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID49IHRoaXMuZmllbGQubWluICYmIHZhbHVlIDw9IHRoaXMuZmllbGQubWF4O1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmaWVsZFR5cGUoKSB7XG4gICAgICAgIHJldHVybiBGaWVsZFR5cGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSYW5nZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIGxldCBbdmFsdWUwLCB2YWx1ZTFdID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZSA/PyBbMCwgMF07XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IHRoaXMuZmllbGQucHJlZml4ID8/ICcnO1xuICAgICAgICBjb25zdCBzdWZmaXggPSB0aGlzLmZpZWxkLnN1ZmZpeCA/PyAnJztcbiAgICAgICAgY29uc3Qgc2VwYXJhdG9yID0gdGhpcy5maWVsZC5yYW5nZVNlcGFyYXRvciA/PyAnIC0gJztcblxuICAgICAgICBpZiAoIXZhbHVlMCB8fCB2YWx1ZTAgPCB0aGlzLmZpZWxkLm1pbikge1xuICAgICAgICAgICAgdmFsdWUwID0gdGhpcy5maWVsZC5taW47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlMSB8fCB2YWx1ZTEgPiB0aGlzLmZpZWxkLm1heCkge1xuICAgICAgICAgICAgdmFsdWUxID0gdGhpcy5maWVsZC5tYXg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7cHJlZml4fSR7dmFsdWUwfSR7c3VmZml4fSR7c2VwYXJhdG9yfSR7cHJlZml4fSR7dmFsdWUxfSR7c3VmZml4fWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROb25SYW5nZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIGxldCB2YWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlO1xuICAgICAgICBjb25zdCBwcmVmaXggPSB0aGlzLmZpZWxkLnByZWZpeCA/PyAnJztcbiAgICAgICAgY29uc3Qgc3VmZml4ID0gdGhpcy5maWVsZC5zdWZmaXggPz8gJyc7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZSA8IHRoaXMuZmllbGQubWluKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMuZmllbGQubWluO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlID4gdGhpcy5maWVsZC5tYXgpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdGhpcy5maWVsZC5tYXg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7cHJlZml4fSR7dmFsdWV9JHtzdWZmaXh9YDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZC5yYW5nZSA/IHRoaXMuZ2V0UmFuZ2VMYWJlbCgpIDogdGhpcy5nZXROb25SYW5nZUxhYmVsKCk7XG4gICAgfVxufVxuIiwiPHMtZmllbGQtbGFiZWwgW2ZpZWxkXT1cImZpZWxkXCI+PC9zLWZpZWxkLWxhYmVsPlxuXG48ZGl2IGNsYXNzPVwic2xpZGVyLWdyb3VwXCI+XG4gICAgPGRpdiBjbGFzcz1cInNsaWRlci1sYWJlbFwiPlxuICAgICAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8cy1zbGlkZXJcbiAgICAgICAgI3NsaWRlclxuICAgICAgICBbaWRdPVwiZmllbGQuaWQgfHwgZmllbGQubmFtZVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgIFttdWx0aXBsZV09XCJmaWVsZC5yYW5nZSA/IGZpZWxkLnJhbmdlIDogc2xpZGVyLm11bHRpcGxlXCJcbiAgICAgICAgW21pbl09XCJmaWVsZC5taW5cIlxuICAgICAgICBbbWF4XT1cImZpZWxkLm1heFwiXG4gICAgICAgIFtzdGVwXT1cImZpZWxkLnN0ZXBcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwiZmllbGQub25DaGFuZ2UgPyBmaWVsZC5vbkNoYW5nZSgkZXZlbnQpIDogbnVsbFwiXG4gICAgPlxuICAgIDwvcy1zbGlkZXI+XG48L2Rpdj5cbiJdfQ==
|