@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
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { GridType } from '../configurations/grid-type';
|
|
3
|
-
import { FieldType } from '../form-field/configurations/field-type';
|
|
4
|
-
import { StructureType } from '../configurations/structure-type';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class DynamicFormCacheService {
|
|
7
|
-
LOADED_ALL_CACHE = false;
|
|
8
|
-
CACHED_COMPONENTS = new Map();
|
|
9
|
-
async setCache() {
|
|
10
|
-
const setAutoComplete = async () => {
|
|
11
|
-
const { AutocompleteFieldComponent } = await import('../../dynamic-form/form-field/fields/autocomplete/autocomplete-field.component');
|
|
12
|
-
this.CACHED_COMPONENTS.set(FieldType.Autocomplete, AutocompleteFieldComponent);
|
|
13
|
-
};
|
|
14
|
-
const setLookup = async () => {
|
|
15
|
-
const { LookupFieldComponent } = await import('../../dynamic-form/form-field/fields/lookup/lookup-field.component');
|
|
16
|
-
this.CACHED_COMPONENTS.set(FieldType.Lookup, LookupFieldComponent);
|
|
17
|
-
};
|
|
18
|
-
const setTextAreaIA = async () => {
|
|
19
|
-
const { TextAreaIAFieldComponent } = await import('../../dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component');
|
|
20
|
-
this.CACHED_COMPONENTS.set(FieldType.TextIA, TextAreaIAFieldComponent);
|
|
21
|
-
};
|
|
22
|
-
const setBigNumberField = async () => {
|
|
23
|
-
const { BignumberFieldComponent } = await import('../../dynamic-form/form-field/fields/bignumber/bignumber-field.component');
|
|
24
|
-
this.CACHED_COMPONENTS.set(FieldType.Number, BignumberFieldComponent);
|
|
25
|
-
};
|
|
26
|
-
const setBooleanField = async () => {
|
|
27
|
-
const { BooleanFieldComponent } = await import('../../dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component');
|
|
28
|
-
this.CACHED_COMPONENTS.set(FieldType.Boolean, BooleanFieldComponent);
|
|
29
|
-
};
|
|
30
|
-
const setBooleanSwitchField = async () => {
|
|
31
|
-
const { BooleanSwitchFieldComponent } = await import('../../dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component');
|
|
32
|
-
this.CACHED_COMPONENTS.set(FieldType.BooleanSwitch, BooleanSwitchFieldComponent);
|
|
33
|
-
};
|
|
34
|
-
const setCalendarField = async () => {
|
|
35
|
-
const { CalendarFieldComponent } = await import('../../dynamic-form/form-field/fields/calendar/calendar-field.component');
|
|
36
|
-
this.CACHED_COMPONENTS.set(FieldType.Date, CalendarFieldComponent);
|
|
37
|
-
};
|
|
38
|
-
const setCheckboxField = async () => {
|
|
39
|
-
const { CheckboxFieldComponent } = await import('../../dynamic-form/form-field/fields/checkbox/checkbox-field.component');
|
|
40
|
-
this.CACHED_COMPONENTS.set(FieldType.Checkbox, CheckboxFieldComponent);
|
|
41
|
-
};
|
|
42
|
-
const setChipsField = async () => {
|
|
43
|
-
const { ChipsFieldComponent } = await import('../../dynamic-form/form-field/fields/chips/chips-field.component');
|
|
44
|
-
this.CACHED_COMPONENTS.set(FieldType.Chips, ChipsFieldComponent);
|
|
45
|
-
};
|
|
46
|
-
const setCountryPhonePickerField = async () => {
|
|
47
|
-
const { CountryPhonePickerFieldComponent } = await import('../../dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component');
|
|
48
|
-
this.CACHED_COMPONENTS.set(FieldType.CountryPhonePicker, CountryPhonePickerFieldComponent);
|
|
49
|
-
};
|
|
50
|
-
const setCurrencyField = async () => {
|
|
51
|
-
const { CurrencyFieldComponent } = await import('../../dynamic-form/form-field/fields/currency/currency-field.component');
|
|
52
|
-
this.CACHED_COMPONENTS.set(FieldType.Money, CurrencyFieldComponent);
|
|
53
|
-
};
|
|
54
|
-
const setEditorField = async () => {
|
|
55
|
-
const { EditorFieldComponent } = await import('../../dynamic-form/form-field/fields/editor/editor-field.component');
|
|
56
|
-
this.CACHED_COMPONENTS.set(FieldType.Editor, EditorFieldComponent);
|
|
57
|
-
};
|
|
58
|
-
const setFileUploadField = async () => {
|
|
59
|
-
const { FileUploadFieldComponent } = await import('../../dynamic-form/form-field/fields/file-upload/file-upload-field.component');
|
|
60
|
-
this.CACHED_COMPONENTS.set(FieldType.Blob, FileUploadFieldComponent);
|
|
61
|
-
};
|
|
62
|
-
const setPasswordField = async () => {
|
|
63
|
-
const { PasswordFieldComponent } = await import('../../dynamic-form/form-field/fields/password/password-field.component');
|
|
64
|
-
this.CACHED_COMPONENTS.set(FieldType.Password, PasswordFieldComponent);
|
|
65
|
-
};
|
|
66
|
-
const setProfilePictureField = async () => {
|
|
67
|
-
const { ProfilePictureFieldComponent } = await import('../../dynamic-form/form-field/fields/profile-picture/profile-picture-field.component');
|
|
68
|
-
this.CACHED_COMPONENTS.set(FieldType.ProfilePicture, ProfilePictureFieldComponent);
|
|
69
|
-
};
|
|
70
|
-
const setRadioButtonField = async () => {
|
|
71
|
-
const { RadioButtonFieldComponent } = await import('../../dynamic-form/form-field/fields/radio-button/radio-button-field.component');
|
|
72
|
-
this.CACHED_COMPONENTS.set(FieldType.Radio, RadioButtonFieldComponent);
|
|
73
|
-
};
|
|
74
|
-
const setSelectField = async () => {
|
|
75
|
-
const { SelectFieldComponent } = await import('../../dynamic-form/form-field/fields/select/select-field.component');
|
|
76
|
-
this.CACHED_COMPONENTS.set(FieldType.Enum, SelectFieldComponent);
|
|
77
|
-
};
|
|
78
|
-
const setSliderField = async () => {
|
|
79
|
-
const { SliderFieldComponent } = await import('../../dynamic-form/form-field/fields/slider/slider-field.component');
|
|
80
|
-
this.CACHED_COMPONENTS.set(FieldType.Slider, SliderFieldComponent);
|
|
81
|
-
};
|
|
82
|
-
const setTextAreaField = async () => {
|
|
83
|
-
const { TextAreaFieldComponent } = await import('../../dynamic-form/form-field/fields/text-area/text-area-field.component');
|
|
84
|
-
this.CACHED_COMPONENTS.set(FieldType.Text, TextAreaFieldComponent);
|
|
85
|
-
};
|
|
86
|
-
const setTextField = async () => {
|
|
87
|
-
const { TextFieldComponent } = await import('../../dynamic-form/form-field/fields/text/text-field.component');
|
|
88
|
-
this.CACHED_COMPONENTS.set(FieldType.String, TextFieldComponent);
|
|
89
|
-
};
|
|
90
|
-
const setButtonField = async () => {
|
|
91
|
-
const { ButtonFieldComponent } = await import('../../dynamic-form/form-field/fields/button-field/button-field.component');
|
|
92
|
-
this.CACHED_COMPONENTS.set(FieldType.Button, ButtonFieldComponent);
|
|
93
|
-
};
|
|
94
|
-
const setFieldSetComponent = async () => {
|
|
95
|
-
const { FieldsetComponent } = await import('../components/structure/fieldset/fieldset.component');
|
|
96
|
-
this.CACHED_COMPONENTS.set(StructureType.Fieldset, FieldsetComponent);
|
|
97
|
-
};
|
|
98
|
-
const setSectionComponent = async () => {
|
|
99
|
-
const { SectionComponent } = await import('../components/structure/section/section.component');
|
|
100
|
-
this.CACHED_COMPONENTS.set(StructureType.Section, SectionComponent);
|
|
101
|
-
};
|
|
102
|
-
const setRowComponent = async () => {
|
|
103
|
-
const { RowComponent } = await import('../components/grid/row/row.component');
|
|
104
|
-
this.CACHED_COMPONENTS.set(GridType.Row, RowComponent);
|
|
105
|
-
};
|
|
106
|
-
const setStarRatingComponent = async () => {
|
|
107
|
-
const { StarRatingFieldComponent } = await import('../../dynamic-form/form-field/fields/star-rating/star-rating-field.component');
|
|
108
|
-
this.CACHED_COMPONENTS.set(FieldType.StarRating, StarRatingFieldComponent);
|
|
109
|
-
};
|
|
110
|
-
const SET_CACHE_PROMISES = [
|
|
111
|
-
setAutoComplete,
|
|
112
|
-
setLookup,
|
|
113
|
-
setTextAreaIA,
|
|
114
|
-
setBigNumberField,
|
|
115
|
-
setBooleanField,
|
|
116
|
-
setBooleanSwitchField,
|
|
117
|
-
setCalendarField,
|
|
118
|
-
setCheckboxField,
|
|
119
|
-
setChipsField,
|
|
120
|
-
setCountryPhonePickerField,
|
|
121
|
-
setCurrencyField,
|
|
122
|
-
setEditorField,
|
|
123
|
-
setFileUploadField,
|
|
124
|
-
setPasswordField,
|
|
125
|
-
setProfilePictureField,
|
|
126
|
-
setRadioButtonField,
|
|
127
|
-
setSelectField,
|
|
128
|
-
setSliderField,
|
|
129
|
-
setTextAreaField,
|
|
130
|
-
setTextField,
|
|
131
|
-
setButtonField,
|
|
132
|
-
setFieldSetComponent,
|
|
133
|
-
setSectionComponent,
|
|
134
|
-
setRowComponent,
|
|
135
|
-
setStarRatingComponent,
|
|
136
|
-
];
|
|
137
|
-
await Promise.allSettled(SET_CACHE_PROMISES.map((promise) => promise()));
|
|
138
|
-
this.LOADED_ALL_CACHE = true;
|
|
139
|
-
}
|
|
140
|
-
get(type) {
|
|
141
|
-
return this.CACHED_COMPONENTS.get(type);
|
|
142
|
-
}
|
|
143
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFormCacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
144
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFormCacheService, providedIn: 'root' });
|
|
145
|
-
}
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFormCacheService, decorators: [{
|
|
147
|
-
type: Injectable,
|
|
148
|
-
args: [{ providedIn: 'root' }]
|
|
149
|
-
}] });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9zZXJ2aWNlcy9keW5hbWljLWZvcm0tY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFHakUsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDUixpQkFBaUIsR0FBbUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMvRixLQUFLLENBQUMsUUFBUTtRQUNWLE1BQU0sZUFBZSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQy9CLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUMvQyxnRkFBZ0YsQ0FDbkYsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ25GLENBQUMsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUN6QyxvRUFBb0UsQ0FDdkUsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLEtBQUssSUFB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QUNyQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0QixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixzQkFBc0I7U0FDekIsQ0FBQztRQUNGLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBMEM7UUFDMUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7d0dBMUxRLHVCQUF1Qjs0R0FBdkIsdUJBQXVCLGNBRFYsTUFBTTs7NEZBQ25CLHVCQUF1QjtrQkFEbkMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmlkVHlwZSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb25zL2dyaWQtdHlwZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICcuLi9mb3JtLWZpZWxkL2NvbmZpZ3VyYXRpb25zL2ZpZWxkLXR5cGUnO1xuaW1wb3J0IHsgU3RydWN0dXJlVHlwZSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb25zL3N0cnVjdHVyZS10eXBlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUNhY2hlU2VydmljZSB7XG4gICAgTE9BREVEX0FMTF9DQUNIRSA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQ0FDSEVEX0NPTVBPTkVOVFM6IE1hcDxHcmlkVHlwZSB8IEZpZWxkVHlwZSB8IFN0cnVjdHVyZVR5cGUsIGFueT4gPSBuZXcgTWFwKCk7XG4gICAgYXN5bmMgc2V0Q2FjaGUoKSB7XG4gICAgICAgIGNvbnN0IHNldEF1dG9Db21wbGV0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5BdXRvY29tcGxldGUsIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0TG9va3VwID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBMb29rdXBGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvbG9va3VwL2xvb2t1cC1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLkxvb2t1cCwgTG9va3VwRmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRUZXh0QXJlYUlBID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBUZXh0QXJlYUlBRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQtYXJlYS1pYS90ZXh0LWFyZWEtaWEtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5UZXh0SUEsIFRleHRBcmVhSUFGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldEJpZ051bWJlckZpZWxkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBCaWdudW1iZXJGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYmlnbnVtYmVyL2JpZ251bWJlci1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLk51bWJlciwgQmlnbnVtYmVyRmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRCb29sZWFuRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IEJvb2xlYW5GaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYm9vbGVhbi9ib29sZWFuLXJhZGlvLWZpZWxkL2Jvb2xlYW4tZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5Cb29sZWFuLCBCb29sZWFuRmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRCb29sZWFuU3dpdGNoRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYm9vbGVhbi9ib29sZWFuLXN3aXRjaC1maWVsZC9ib29sZWFuLXN3aXRjaC1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLkJvb2xlYW5Td2l0Y2gsIEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldENhbGVuZGFyRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IENhbGVuZGFyRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NhbGVuZGFyL2NhbGVuZGFyLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuRGF0ZSwgQ2FsZW5kYXJGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc2V0Q2hlY2tib3hGaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgQ2hlY2tib3hGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvY2hlY2tib3gvY2hlY2tib3gtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5DaGVja2JveCwgQ2hlY2tib3hGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldENoaXBzRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IENoaXBzRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NoaXBzL2NoaXBzLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuQ2hpcHMsIENoaXBzRmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgQ291bnRyeVBob25lUGlja2VyRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NvdW50cnktcGhvbmUtcGlja2VyL2NvdW50cnktcGhvbmUtcGlja2VyLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuQ291bnRyeVBob25lUGlja2VyLCBDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldEN1cnJlbmN5RmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IEN1cnJlbmN5RmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2N1cnJlbmN5L2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuTW9uZXksIEN1cnJlbmN5RmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRFZGl0b3JGaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgRWRpdG9yRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2VkaXRvci9lZGl0b3ItZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5FZGl0b3IsIEVkaXRvckZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0RmlsZVVwbG9hZEZpZWxkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuQmxvYiwgRmlsZVVwbG9hZEZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0UGFzc3dvcmRGaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgUGFzc3dvcmRGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvcGFzc3dvcmQvcGFzc3dvcmQtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5QYXNzd29yZCwgUGFzc3dvcmRGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFByb2ZpbGVQaWN0dXJlRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFByb2ZpbGVQaWN0dXJlRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3Byb2ZpbGUtcGljdHVyZS9wcm9maWxlLXBpY3R1cmUtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5Qcm9maWxlUGljdHVyZSwgUHJvZmlsZVBpY3R1cmVGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFJhZGlvQnV0dG9uRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFJhZGlvQnV0dG9uRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5SYWRpbywgUmFkaW9CdXR0b25GaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFNlbGVjdEZpZWxkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBTZWxlY3RGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvc2VsZWN0L3NlbGVjdC1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLkVudW0sIFNlbGVjdEZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0U2xpZGVyRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFNsaWRlckZpZWxkQ29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAgICAgICAgICAgJy4uLy4uL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9zbGlkZXIvc2xpZGVyLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuU2xpZGVyLCBTbGlkZXJGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFRleHRBcmVhRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFRleHRBcmVhRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQtYXJlYS90ZXh0LWFyZWEtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5UZXh0LCBUZXh0QXJlYUZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzZXRUZXh0RmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFRleHRGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvdGV4dC90ZXh0LWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuU3RyaW5nLCBUZXh0RmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRCdXR0b25GaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgQnV0dG9uRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2J1dHRvbi1maWVsZC9idXR0b24tZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5CdXR0b24sIEJ1dHRvbkZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzZXRGaWVsZFNldENvbXBvbmVudCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgRmllbGRzZXRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydCgnLi4vY29tcG9uZW50cy9zdHJ1Y3R1cmUvZmllbGRzZXQvZmllbGRzZXQuY29tcG9uZW50Jyk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChTdHJ1Y3R1cmVUeXBlLkZpZWxkc2V0LCBGaWVsZHNldENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFNlY3Rpb25Db21wb25lbnQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFNlY3Rpb25Db21wb25lbnQgfSA9IGF3YWl0IGltcG9ydCgnLi4vY29tcG9uZW50cy9zdHJ1Y3R1cmUvc2VjdGlvbi9zZWN0aW9uLmNvbXBvbmVudCcpO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoU3RydWN0dXJlVHlwZS5TZWN0aW9uLCBTZWN0aW9uQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0Um93Q29tcG9uZW50ID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBSb3dDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydCgnLi4vY29tcG9uZW50cy9ncmlkL3Jvdy9yb3cuY29tcG9uZW50Jyk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChHcmlkVHlwZS5Sb3csIFJvd0NvbXBvbmVudCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc2V0U3RhclJhdGluZ0NvbXBvbmVudCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgU3RhclJhdGluZ0ZpZWxkQ29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAgICAgICAgICAgJy4uLy4uL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLlN0YXJSYXRpbmcsIFN0YXJSYXRpbmdGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgU0VUX0NBQ0hFX1BST01JU0VTID0gW1xuICAgICAgICAgICAgc2V0QXV0b0NvbXBsZXRlLFxuICAgICAgICAgICAgc2V0TG9va3VwLFxuICAgICAgICAgICAgc2V0VGV4dEFyZWFJQSxcbiAgICAgICAgICAgIHNldEJpZ051bWJlckZpZWxkLFxuICAgICAgICAgICAgc2V0Qm9vbGVhbkZpZWxkLFxuICAgICAgICAgICAgc2V0Qm9vbGVhblN3aXRjaEZpZWxkLFxuICAgICAgICAgICAgc2V0Q2FsZW5kYXJGaWVsZCxcbiAgICAgICAgICAgIHNldENoZWNrYm94RmllbGQsXG4gICAgICAgICAgICBzZXRDaGlwc0ZpZWxkLFxuICAgICAgICAgICAgc2V0Q291bnRyeVBob25lUGlja2VyRmllbGQsXG4gICAgICAgICAgICBzZXRDdXJyZW5jeUZpZWxkLFxuICAgICAgICAgICAgc2V0RWRpdG9yRmllbGQsXG4gICAgICAgICAgICBzZXRGaWxlVXBsb2FkRmllbGQsXG4gICAgICAgICAgICBzZXRQYXNzd29yZEZpZWxkLFxuICAgICAgICAgICAgc2V0UHJvZmlsZVBpY3R1cmVGaWVsZCxcbiAgICAgICAgICAgIHNldFJhZGlvQnV0dG9uRmllbGQsXG4gICAgICAgICAgICBzZXRTZWxlY3RGaWVsZCxcbiAgICAgICAgICAgIHNldFNsaWRlckZpZWxkLFxuICAgICAgICAgICAgc2V0VGV4dEFyZWFGaWVsZCxcbiAgICAgICAgICAgIHNldFRleHRGaWVsZCxcbiAgICAgICAgICAgIHNldEJ1dHRvbkZpZWxkLFxuICAgICAgICAgICAgc2V0RmllbGRTZXRDb21wb25lbnQsXG4gICAgICAgICAgICBzZXRTZWN0aW9uQ29tcG9uZW50LFxuICAgICAgICAgICAgc2V0Um93Q29tcG9uZW50LFxuICAgICAgICAgICAgc2V0U3RhclJhdGluZ0NvbXBvbmVudCxcbiAgICAgICAgXTtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFNFVF9DQUNIRV9QUk9NSVNFUy5tYXAoKHByb21pc2UpID0+IHByb21pc2UoKSkpO1xuICAgICAgICB0aGlzLkxPQURFRF9BTExfQ0FDSEUgPSB0cnVlO1xuICAgIH1cblxuICAgIGdldCh0eXBlOiBHcmlkVHlwZSB8IEZpZWxkVHlwZSB8IFN0cnVjdHVyZVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuZ2V0KHR5cGUpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Component, effect, input, viewChildren, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import { FormDynamicRegistry } from '../../core/registry';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/forms";
|
|
6
|
-
export class FormDynamicComponent {
|
|
7
|
-
form = new FormGroup({});
|
|
8
|
-
schema = input.required();
|
|
9
|
-
// @ViewChildren('host', { read: ViewContainerRef })
|
|
10
|
-
// hosts!: QueryList<ViewContainerRef>;
|
|
11
|
-
hosts = viewChildren('host', { read: ViewContainerRef });
|
|
12
|
-
schemaEffect = effect(() => {
|
|
13
|
-
this.buildForm();
|
|
14
|
-
});
|
|
15
|
-
hostsEffect = effect(() => {
|
|
16
|
-
this.buildFields();
|
|
17
|
-
});
|
|
18
|
-
buildForm() {
|
|
19
|
-
const schema = this.schema();
|
|
20
|
-
if (!schema || !schema.fields)
|
|
21
|
-
return;
|
|
22
|
-
const group = {};
|
|
23
|
-
schema.fields.forEach((field) => {
|
|
24
|
-
group[field.key] = new FormControl(null);
|
|
25
|
-
});
|
|
26
|
-
this.form = new FormGroup(group);
|
|
27
|
-
}
|
|
28
|
-
buildFields() {
|
|
29
|
-
const hosts = this.hosts();
|
|
30
|
-
if (!hosts?.length)
|
|
31
|
-
return;
|
|
32
|
-
this.schema().fields.forEach((field, index) => {
|
|
33
|
-
const container = hosts[index];
|
|
34
|
-
container.clear();
|
|
35
|
-
const component = FormDynamicRegistry.resolveField(field.type);
|
|
36
|
-
if (!component)
|
|
37
|
-
return;
|
|
38
|
-
const ref = container.createComponent(component);
|
|
39
|
-
ref.setInput('field', field);
|
|
40
|
-
ref.setInput('control', this.form.get(field.key));
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
emit() {
|
|
44
|
-
console.log('FORM ->', this.form.value);
|
|
45
|
-
}
|
|
46
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormDynamicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FormDynamicComponent, isStandalone: true, selector: "s-form-dynamic", inputs: { schema: { classPropertyName: "schema", publicName: "schema", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "hosts", predicate: ["host"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<form [formGroup]=\"form\">\n\n @for (field of schema().fields; track field.key; let i = $index) {\n <ng-container #host></ng-container>\n }\n\n <button type=\"submit\" (click)=\"emit()\">Enviar</button>\n </form>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
|
48
|
-
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormDynamicComponent, decorators: [{
|
|
50
|
-
type: Component,
|
|
51
|
-
args: [{ selector: 's-form-dynamic', standalone: true, imports: [ReactiveFormsModule], template: "<form [formGroup]=\"form\">\n\n @for (field of schema().fields; track field.key; let i = $index) {\n <ng-container #host></ng-container>\n }\n\n <button type=\"submit\" (click)=\"emit()\">Enviar</button>\n </form>\n" }]
|
|
52
|
-
}] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1keW5hbWljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL2NvbXBvbmVudHMvZm9ybS1keW5hbWljL2Zvcm0tZHluYW1pYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZm9ybS1keW5hbWljL2xpYi9jb21wb25lbnRzL2Zvcm0tZHluYW1pYy9mb3JtLWR5bmFtaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFTMUQsTUFBTSxPQUFPLG9CQUFvQjtJQUNuQixJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7SUFFN0Msb0RBQW9EO0lBQ3BELHVDQUF1QztJQUV0QixLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFFekQsWUFBWSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDeEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBRWMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDdkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBRUssU0FBUztRQUNiLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBRXRDLE1BQU0sS0FBSyxHQUFRLEVBQUUsQ0FBQztRQUV0QixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzVCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxXQUFXO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTTtZQUFFLE9BQU87UUFFM0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDMUMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVsQixNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxTQUFTO2dCQUFFLE9BQU87WUFFdkIsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVqRCxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM3QixHQUFHLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFJO1FBQ0EsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO3dHQWxEUSxvQkFBb0I7NEZBQXBCLG9CQUFvQiw2UUFPeUIsZ0JBQWdCLDZDQ2xCMUUsa1BBUUEsMkNEQWMsbUJBQW1COzs0RkFHcEIsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGlucHV0LCB2aWV3Q2hpbGRyZW4sIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtRHluYW1pY1JlZ2lzdHJ5IH0gZnJvbSAnLi4vLi4vY29yZS9yZWdpc3RyeSc7XG5pbXBvcnQgeyBGb3JtRHluYW1pY1NjaGVtYSB9IGZyb20gJy4uLy4uL3NjaGVtYXMvZm9ybS1keW5hbWljLXNjaGVtYSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1mb3JtLWR5bmFtaWMnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWR5bmFtaWMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRHluYW1pY0NvbXBvbmVudCB7XG4gICAgcHJvdGVjdGVkIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICBzY2hlbWEgPSBpbnB1dC5yZXF1aXJlZDxGb3JtRHluYW1pY1NjaGVtYT4oKTtcblxuICAgIC8vIEBWaWV3Q2hpbGRyZW4oJ2hvc3QnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcbiAgICAvLyBob3N0cyE6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdHMgPSB2aWV3Q2hpbGRyZW4oJ2hvc3QnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjaGVtYUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RzRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgdGhpcy5idWlsZEZpZWxkcygpO1xuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSBidWlsZEZvcm0oKSB7XG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IHRoaXMuc2NoZW1hKCk7XG4gICAgICAgIGlmICghc2NoZW1hIHx8ICFzY2hlbWEuZmllbGRzKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgZ3JvdXA6IGFueSA9IHt9O1xuXG4gICAgICAgIHNjaGVtYS5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgIGdyb3VwW2ZpZWxkLmtleV0gPSBuZXcgRm9ybUNvbnRyb2wobnVsbCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoZ3JvdXApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGRGaWVsZHMoKSB7XG4gICAgICAgIGNvbnN0IGhvc3RzID0gdGhpcy5ob3N0cygpO1xuICAgICAgICBpZiAoIWhvc3RzPy5sZW5ndGgpIHJldHVybjtcblxuICAgICAgICB0aGlzLnNjaGVtYSgpLmZpZWxkcy5mb3JFYWNoKChmaWVsZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGhvc3RzW2luZGV4XTtcbiAgICAgICAgICAgIGNvbnRhaW5lci5jbGVhcigpO1xuXG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBGb3JtRHluYW1pY1JlZ2lzdHJ5LnJlc29sdmVGaWVsZChmaWVsZC50eXBlKTtcbiAgICAgICAgICAgIGlmICghY29tcG9uZW50KSByZXR1cm47XG5cbiAgICAgICAgICAgIGNvbnN0IHJlZiA9IGNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50KTtcblxuICAgICAgICAgICAgcmVmLnNldElucHV0KCdmaWVsZCcsIGZpZWxkKTtcbiAgICAgICAgICAgIHJlZi5zZXRJbnB1dCgnY29udHJvbCcsIHRoaXMuZm9ybS5nZXQoZmllbGQua2V5KSEpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBlbWl0KCkge1xuICAgICAgICBjb25zb2xlLmxvZygnRk9STSAtPicsIHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgfVxufVxuXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cblxuICAgICAgQGZvciAoZmllbGQgb2Ygc2NoZW1hKCkuZmllbGRzOyB0cmFjayBmaWVsZC5rZXk7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgI2hvc3Q+PC9uZy1jb250YWluZXI+XG4gICAgICB9XG5cbiAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJlbWl0KClcIj5FbnZpYXI8L2J1dHRvbj5cbiAgICA8L2Zvcm0+XG4iXX0=
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export class FormDynamicRegistry {
|
|
2
|
-
static fields = new Map();
|
|
3
|
-
static registerField(type, component) {
|
|
4
|
-
this.fields.set(type, component);
|
|
5
|
-
}
|
|
6
|
-
static resolveField(type) {
|
|
7
|
-
return this.fields.get(type);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZm9ybS1keW5hbWljL2xpYi9jb3JlL3JlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxtQkFBbUI7SUFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztJQUV4RCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQWUsRUFBRSxTQUFvQjtRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBZTtRQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuLi9zY2hlbWFzL2ZpZWxkLWR5bmFtaWNcIjtcblxuZXhwb3J0IGNsYXNzIEZvcm1EeW5hbWljUmVnaXN0cnkge1xuICAgIHByaXZhdGUgc3RhdGljIGZpZWxkcyA9IG5ldyBNYXA8RmllbGRUeXBlLCBUeXBlPGFueT4+KCk7XG5cbiAgICBzdGF0aWMgcmVnaXN0ZXJGaWVsZCh0eXBlOiBGaWVsZFR5cGUsIGNvbXBvbmVudDogVHlwZTxhbnk+KSB7XG4gICAgICAgIHRoaXMuZmllbGRzLnNldCh0eXBlLCBjb21wb25lbnQpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXNvbHZlRmllbGQodHlwZTogRmllbGRUeXBlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkcy5nZXQodHlwZSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Component, input } from '@angular/core';
|
|
2
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
export class BooleanFieldComponent {
|
|
6
|
-
field = input.required();
|
|
7
|
-
control = input.required();
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BooleanFieldComponent, isStandalone: true, selector: "s-boolean-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<label>\n <input type=\"checkbox\" [formControl]=\"control()\" [name]=\"field().key\" />\n {{ field().label }}\n</label>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanFieldComponent, decorators: [{
|
|
12
|
-
type: Component,
|
|
13
|
-
args: [{ selector: 's-boolean-field', standalone: true, imports: [ReactiveFormsModule], template: "<label>\n <input type=\"checkbox\" [formControl]=\"control()\" [name]=\"field().key\" />\n {{ field().label }}\n</label>\n" }]
|
|
14
|
-
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZm9ybS1keW5hbWljL2xpYi9maWVsZHMtYmFzaWMvYm9vbGVhbi1maWVsZC9ib29sZWFuLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL2ZpZWxkcy1iYXNpYy9ib29sZWFuLWZpZWxkL2Jvb2xlYW4tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVNsRSxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFnQixDQUFDO0lBQ3ZDLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7d0dBRi9CLHFCQUFxQjs0RkFBckIscUJBQXFCLDJVQ1hsQyw4SEFJQSx5RERHYyxtQkFBbUI7OzRGQUlwQixxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0ksaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuRmllbGQgfSBmcm9tICcuLi8uLi9zY2hlbWFzL2ZpZWxkLWR5bmFtaWMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1ib29sZWFuLWZpZWxkJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYm9vbGVhbi1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2Jvb2xlYW4tZmllbGQuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEJvb2xlYW5GaWVsZENvbXBvbmVudCB7XG4gICAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxCb29sZWFuRmllbGQ+KCk7XG4gICAgY29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xufVxuXG4iLCI8bGFiZWw+XG4gIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbCgpXCIgW25hbWVdPVwiZmllbGQoKS5rZXlcIiAvPlxuICB7eyBmaWVsZCgpLmxhYmVsIH19XG48L2xhYmVsPlxuIl19
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Component, input } from '@angular/core';
|
|
2
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
export class StringFieldComponent {
|
|
6
|
-
field = input.required();
|
|
7
|
-
control = input.required();
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: StringFieldComponent, isStandalone: true, selector: "s-string-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: " <label>{{ field().label }}</label>\n <input type=\"text\" [formControl]=\"control()\" [name]=\"field().key\" />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFieldComponent, decorators: [{
|
|
12
|
-
type: Component,
|
|
13
|
-
args: [{ selector: 's-string-field', standalone: true, imports: [ReactiveFormsModule], template: " <label>{{ field().label }}</label>\n <input type=\"text\" [formControl]=\"control()\" [name]=\"field().key\" />\n" }]
|
|
14
|
-
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL2ZpZWxkcy1iYXNpYy9zdHJpbmctZmllbGQvc3RyaW5nLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL2ZpZWxkcy1iYXNpYy9zdHJpbmctZmllbGQvc3RyaW5nLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFVbEUsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZSxDQUFDO0lBQ3RDLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7d0dBRi9CLG9CQUFvQjs0RkFBcEIsb0JBQW9CLDBVQ1hqQyx5SEFFQSx5RERLYyxtQkFBbUI7OzRGQUlwQixvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN0cmluZ0ZpZWxkIH0gZnJvbSAnLi4vLi4vc2NoZW1hcy9maWVsZC1keW5hbWljJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXN0cmluZy1maWVsZCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0cmluZy1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3N0cmluZy1maWVsZC5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgU3RyaW5nRmllbGRDb21wb25lbnQge1xuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8U3RyaW5nRmllbGQ+KCk7XG4gICAgY29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xufVxuXG4iLCIgICA8bGFiZWw+e3sgZmllbGQoKS5sYWJlbCB9fTwvbGFiZWw+XG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2woKVwiIFtuYW1lXT1cImZpZWxkKCkua2V5XCIgLz5cbiJdfQ==
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Component, input, viewChild } from '@angular/core';
|
|
2
|
-
import Quill from 'quill';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class EditorFieldComponent {
|
|
5
|
-
id = crypto.randomUUID();
|
|
6
|
-
field = input.required();
|
|
7
|
-
control = input.required();
|
|
8
|
-
editorContainer = viewChild.required('editorContainer');
|
|
9
|
-
quill;
|
|
10
|
-
ngAfterViewInit() {
|
|
11
|
-
this.quill = new Quill(this.editorContainer().nativeElement, {
|
|
12
|
-
theme: this.field().theme ?? 'snow',
|
|
13
|
-
});
|
|
14
|
-
this.quill.on('text-change', () => {
|
|
15
|
-
const html = this.editorContainer().nativeElement.querySelector('.ql-editor')?.innerHTML;
|
|
16
|
-
this.control().setValue(html, { emitEvent: true });
|
|
17
|
-
});
|
|
18
|
-
const initial = this.control().value;
|
|
19
|
-
if (initial) {
|
|
20
|
-
this.quill.root.innerHTML = initial;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: EditorFieldComponent, isStandalone: true, selector: "s-editor-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, isSignal: true }], ngImport: i0, template: " <label [for]=\"id\">{{ field().label }}</label>\n\n<div [id]=\"id\" #editorContainer class=\"quill-container\"></div>\n", styles: [""] });
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorFieldComponent, decorators: [{
|
|
27
|
-
type: Component,
|
|
28
|
-
args: [{ selector: 's-editor-field', standalone: true, imports: [], template: " <label [for]=\"id\">{{ field().label }}</label>\n\n<div [id]=\"id\" #editorContainer class=\"quill-container\"></div>\n" }]
|
|
29
|
-
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvb3B0aW9uYWwtZmllbGRzL2VkaXRvci9lZGl0b3ItZmllbGQvZWRpdG9yLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvb3B0aW9uYWwtZmllbGRzL2VkaXRvci9lZGl0b3ItZmllbGQvZWRpdG9yLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkYsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQVMxQixNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFekIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQztJQUN0QyxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZSxDQUFDO0lBRXhDLGVBQWUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUEwQixpQkFBaUIsQ0FBQyxDQUFDO0lBRWpGLEtBQUssQ0FBUztJQUVkLGVBQWU7UUFDWCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLEVBQUU7WUFDekQsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLElBQUksTUFBTTtTQUN0QyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsQ0FBQztZQUN6RixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUN4QyxDQUFDO0lBQ0wsQ0FBQzt3R0F4QlEsb0JBQW9COzRGQUFwQixvQkFBb0IsOGNDWmpDLDBIQUdBOzs0RkRTYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGlucHV0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkaXRvckZpZWxkIH0gZnJvbSAnLi4vZWRpdG9yLXR5cGVzJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IFF1aWxsIGZyb20gJ3F1aWxsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLWVkaXRvci1maWVsZCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZWRpdG9yLWZpZWxkLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0b3JGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIGlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcblxuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8RWRpdG9yRmllbGQ+KCk7XG4gICAgY29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xuXG4gICAgZWRpdG9yQ29udGFpbmVyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZWRpdG9yQ29udGFpbmVyJyk7XG5cbiAgICBxdWlsbCE6IFF1aWxsO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLnF1aWxsID0gbmV3IFF1aWxsKHRoaXMuZWRpdG9yQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgICAgdGhlbWU6IHRoaXMuZmllbGQoKS50aGVtZSA/PyAnc25vdycsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucXVpbGwub24oJ3RleHQtY2hhbmdlJywgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaHRtbCA9IHRoaXMuZWRpdG9yQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucWwtZWRpdG9yJyk/LmlubmVySFRNTDtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbCgpLnNldFZhbHVlKGh0bWwsIHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBpbml0aWFsID0gdGhpcy5jb250cm9sKCkudmFsdWU7XG4gICAgICAgIGlmIChpbml0aWFsKSB7XG4gICAgICAgICAgICB0aGlzLnF1aWxsLnJvb3QuaW5uZXJIVE1MID0gaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiIDxsYWJlbCBbZm9yXT1cImlkXCI+e3sgZmllbGQoKS5sYWJlbCB9fTwvbGFiZWw+XG5cbjxkaXYgW2lkXT1cImlkXCIgI2VkaXRvckNvbnRhaW5lciBjbGFzcz1cInF1aWxsLWNvbnRhaW5lclwiPjwvZGl2PlxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2Zvcm0tZHluYW1pYy9vcHRpb25hbC1maWVsZHMvZWRpdG9yL2VkaXRvci10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGREeW5hbWljQmFzZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvZm9ybS1keW5hbWljJztcbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yRmllbGQgZXh0ZW5kcyBGaWVsZER5bmFtaWNCYXNlIHtcbiAgICB0eXBlOiAnZWRpdG9yJztcbiAgICBrZXk6IHN0cmluZztcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICByZXF1aXJlZD86IGJvb2xlYW47XG5cbiAgICB0aGVtZT86ICdzbm93JyB8ICdidWJibGUnO1xufVxuXG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { FormDynamicRegistry } from '@seniorsistemas/angular-components/form-dynamic';
|
|
2
|
-
import { EditorFieldComponent } from './editor-field/editor-field.component';
|
|
3
|
-
FormDynamicRegistry.registerField('editor', EditorFieldComponent);
|
|
4
|
-
export * from './editor-types';
|
|
5
|
-
export { EditorFieldComponent } from './editor-field/editor-field.component';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvb3B0aW9uYWwtZmllbGRzL2VkaXRvci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTdFLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztBQUVsRSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUR5bmFtaWNSZWdpc3RyeSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvZm9ybS1keW5hbWljJztcbmltcG9ydCB7IEVkaXRvckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3ItZmllbGQvZWRpdG9yLWZpZWxkLmNvbXBvbmVudCc7XG5cbkZvcm1EeW5hbWljUmVnaXN0cnkucmVnaXN0ZXJGaWVsZCgnZWRpdG9yJywgRWRpdG9yRmllbGRDb21wb25lbnQpO1xuXG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci10eXBlcyc7XG5leHBvcnQgeyBFZGl0b3JGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9yLWZpZWxkL2VkaXRvci1maWVsZC5jb21wb25lbnQnO1xuXG4vLyBNb2R1bGUgYXVnbWVudGF0aW9uIHRvIGFkZCAnZWRpdG9yJyB0byBGaWVsZFR5cGVNYXBcbmltcG9ydCB7IEVkaXRvckZpZWxkIH0gZnJvbSAnLi9lZGl0b3ItdHlwZXMnO1xuZGVjbGFyZSBtb2R1bGUgJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvZm9ybS1keW5hbWljJyB7XG4gICAgZXhwb3J0IGludGVyZmFjZSBGaWVsZFR5cGVNYXAge1xuICAgICAgICBlZGl0b3I6IEVkaXRvckZpZWxkO1xuICAgIH1cbn1cblxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yc2lzdGVtYXMtYW5ndWxhci1jb21wb25lbnRzLWZvcm0tZHluYW1pYy1vcHRpb25hbC1maWVsZHMtZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2Zvcm0tZHluYW1pYy9vcHRpb25hbC1maWVsZHMvZWRpdG9yL3NlbmlvcnNpc3RlbWFzLWFuZ3VsYXItY29tcG9uZW50cy1mb3JtLWR5bmFtaWMtb3B0aW9uYWwtZmllbGRzLWVkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { FormDynamicRegistry } from './core/registry';
|
|
2
|
-
export { FormDynamicRegistry } from './core/registry';
|
|
3
|
-
import { BooleanFieldComponent } from './fields-basic/boolean-field/boolean-field.component';
|
|
4
|
-
import { StringFieldComponent } from './fields-basic/string-field/string-field.component';
|
|
5
|
-
FormDynamicRegistry.registerField('string', StringFieldComponent);
|
|
6
|
-
FormDynamicRegistry.registerField('boolean', BooleanFieldComponent);
|
|
7
|
-
export * from './schemas/field-dynamic';
|
|
8
|
-
export * from './schemas/form-dynamic-schema';
|
|
9
|
-
export { FormDynamicComponent } from './components/form-dynamic/form-dynamic.component';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFMUYsbUJBQW1CLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2xFLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUdwRSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtRHluYW1pY1JlZ2lzdHJ5IH0gZnJvbSAnLi9jb3JlL3JlZ2lzdHJ5JztcbmV4cG9ydCB7IEZvcm1EeW5hbWljUmVnaXN0cnkgfSBmcm9tICcuL2NvcmUvcmVnaXN0cnknO1xuaW1wb3J0IHsgQm9vbGVhbkZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9maWVsZHMtYmFzaWMvYm9vbGVhbi1maWVsZC9ib29sZWFuLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdHJpbmdGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZmllbGRzLWJhc2ljL3N0cmluZy1maWVsZC9zdHJpbmctZmllbGQuY29tcG9uZW50JztcblxuRm9ybUR5bmFtaWNSZWdpc3RyeS5yZWdpc3RlckZpZWxkKCdzdHJpbmcnLCBTdHJpbmdGaWVsZENvbXBvbmVudCk7XG5Gb3JtRHluYW1pY1JlZ2lzdHJ5LnJlZ2lzdGVyRmllbGQoJ2Jvb2xlYW4nLCBCb29sZWFuRmllbGRDb21wb25lbnQpO1xuXG5cbmV4cG9ydCAqIGZyb20gJy4vc2NoZW1hcy9maWVsZC1keW5hbWljJztcbmV4cG9ydCAqIGZyb20gJy4vc2NoZW1hcy9mb3JtLWR5bmFtaWMtc2NoZW1hJztcbmV4cG9ydCB7IEZvcm1EeW5hbWljQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZHluYW1pYy9mb3JtLWR5bmFtaWMuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZHluYW1pYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL3NjaGVtYXMvZmllbGQtZHluYW1pYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy9leHBvcnQgaW50ZXJmYWNlIEZpZWxkVHlwZU1hcCB7IH1cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGREeW5hbWljQmFzZSB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdHJpbmdGaWVsZCBleHRlbmRzIEZpZWxkRHluYW1pY0Jhc2Uge1xuICAgIHR5cGU6ICdzdHJpbmcnO1xuICAgIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgICBtYXhMZW5ndGg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm9vbGVhbkZpZWxkIGV4dGVuZHMgRmllbGREeW5hbWljQmFzZSB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nO1xufVxuXG4vLyBleHBvcnQgdHlwZSBCdWlsdEluRmllbGQgPVxuLy8gICAgIHwgU3RyaW5nRmllbGRcbi8vICAgICB8IEJvb2xlYW5GaWVsZDtcblxuXG5cbi8vIFRpcG9zIGJhc2UgY29uaGVjaWRvcyBwZWxvIGNvcmU6XG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkVHlwZU1hcCB7XG4gICAgc3RyaW5nOiBTdHJpbmdGaWVsZDtcbiAgICBib29sZWFuOiBCb29sZWFuRmllbGQ7XG59XG5cbi8vIERlcml2YWRvcyBhdXRvbWF0aWNhbWVudGVcbmV4cG9ydCB0eXBlIEZpZWxkVHlwZSA9IGtleW9mIEZpZWxkVHlwZU1hcDtcbmV4cG9ydCB0eXBlIEZpZWxkRHluYW1pYyA9IEZpZWxkVHlwZU1hcFtrZXlvZiBGaWVsZFR5cGVNYXBdOyJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1keW5hbWljLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL3NjaGVtYXMvZm9ybS1keW5hbWljLXNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGREeW5hbWljIH0gZnJvbSBcIi4vZmllbGQtZHluYW1pY1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1EeW5hbWljU2NoZW1hIHtcbiAgICBmaWVsZHM6IEZpZWxkRHluYW1pY1tdO1xufVxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yc2lzdGVtYXMtYW5ndWxhci1jb21wb25lbnRzLWZvcm0tZHluYW1pYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL3NlbmlvcnNpc3RlbWFzLWFuZ3VsYXItY29tcG9uZW50cy1mb3JtLWR5bmFtaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { FormDynamicRegistry } from '@seniorsistemas/angular-components/form-dynamic';
|
|
2
|
-
import * as i0 from '@angular/core';
|
|
3
|
-
import { input, viewChild, Component } from '@angular/core';
|
|
4
|
-
import Quill from 'quill';
|
|
5
|
-
|
|
6
|
-
class EditorFieldComponent {
|
|
7
|
-
id = crypto.randomUUID();
|
|
8
|
-
field = input.required();
|
|
9
|
-
control = input.required();
|
|
10
|
-
editorContainer = viewChild.required('editorContainer');
|
|
11
|
-
quill;
|
|
12
|
-
ngAfterViewInit() {
|
|
13
|
-
this.quill = new Quill(this.editorContainer().nativeElement, {
|
|
14
|
-
theme: this.field().theme ?? 'snow',
|
|
15
|
-
});
|
|
16
|
-
this.quill.on('text-change', () => {
|
|
17
|
-
const html = this.editorContainer().nativeElement.querySelector('.ql-editor')?.innerHTML;
|
|
18
|
-
this.control().setValue(html, { emitEvent: true });
|
|
19
|
-
});
|
|
20
|
-
const initial = this.control().value;
|
|
21
|
-
if (initial) {
|
|
22
|
-
this.quill.root.innerHTML = initial;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: EditorFieldComponent, isStandalone: true, selector: "s-editor-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, isSignal: true }], ngImport: i0, template: " <label [for]=\"id\">{{ field().label }}</label>\n\n<div [id]=\"id\" #editorContainer class=\"quill-container\"></div>\n", styles: [""] });
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorFieldComponent, decorators: [{
|
|
29
|
-
type: Component,
|
|
30
|
-
args: [{ selector: 's-editor-field', standalone: true, imports: [], template: " <label [for]=\"id\">{{ field().label }}</label>\n\n<div [id]=\"id\" #editorContainer class=\"quill-container\"></div>\n" }]
|
|
31
|
-
}] });
|
|
32
|
-
|
|
33
|
-
FormDynamicRegistry.registerField('editor', EditorFieldComponent);
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Generated bundle index. Do not edit.
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
export { EditorFieldComponent };
|
|
40
|
-
//# sourceMappingURL=seniorsistemas-angular-components-form-dynamic-optional-fields-editor.mjs.map
|
package/fesm2022/seniorsistemas-angular-components-form-dynamic-optional-fields-editor.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-form-dynamic-optional-fields-editor.mjs","sources":["../../projects/angular-components/form-dynamic/optional-fields/editor/editor-field/editor-field.component.ts","../../projects/angular-components/form-dynamic/optional-fields/editor/editor-field/editor-field.component.html","../../projects/angular-components/form-dynamic/optional-fields/editor/public-api.ts","../../projects/angular-components/form-dynamic/optional-fields/editor/seniorsistemas-angular-components-form-dynamic-optional-fields-editor.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, input, viewChild } from '@angular/core';\nimport { EditorField } from '../editor-types';\nimport { FormControl } from '@angular/forms';\nimport Quill from 'quill';\n\n@Component({\n selector: 's-editor-field',\n standalone: true,\n imports: [],\n templateUrl: './editor-field.component.html',\n styleUrl: './editor-field.component.css',\n})\nexport class EditorFieldComponent implements AfterViewInit {\n id = crypto.randomUUID();\n\n field = input.required<EditorField>();\n control = input.required<FormControl>();\n\n editorContainer = viewChild.required<ElementRef<HTMLElement>>('editorContainer');\n\n quill!: Quill;\n\n ngAfterViewInit() {\n this.quill = new Quill(this.editorContainer().nativeElement, {\n theme: this.field().theme ?? 'snow',\n });\n\n this.quill.on('text-change', () => {\n const html = this.editorContainer().nativeElement.querySelector('.ql-editor')?.innerHTML;\n this.control().setValue(html, { emitEvent: true });\n });\n\n const initial = this.control().value;\n if (initial) {\n this.quill.root.innerHTML = initial;\n }\n }\n}\n\n"," <label [for]=\"id\">{{ field().label }}</label>\n\n<div [id]=\"id\" #editorContainer class=\"quill-container\"></div>\n","import { FormDynamicRegistry } from '@seniorsistemas/angular-components/form-dynamic';\nimport { EditorFieldComponent } from './editor-field/editor-field.component';\n\nFormDynamicRegistry.registerField('editor', EditorFieldComponent);\n\nexport * from './editor-types';\nexport { EditorFieldComponent } from './editor-field/editor-field.component';\n\n// Module augmentation to add 'editor' to FieldTypeMap\nimport { EditorField } from './editor-types';\ndeclare module '@seniorsistemas/angular-components/form-dynamic' {\n export interface FieldTypeMap {\n editor: EditorField;\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAYa,oBAAoB,CAAA;AAC7B,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;AAEzB,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAe,CAAC;AACtC,IAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAe,CAAC;AAExC,IAAA,eAAe,GAAG,SAAS,CAAC,QAAQ,CAA0B,iBAAiB,CAAC,CAAC;AAEjF,IAAA,KAAK,CAAS;IAEd,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,EAAE;YACzD,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,MAAM;AACtC,SAAA,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,MAAK;AAC9B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;AACzF,YAAA,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACvD,SAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;QACrC,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;SACvC;KACJ;wGAxBQ,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,8cCZjC,0HAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDSa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACI,gBAAgB,EAAA,UAAA,EACd,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,0HAAA,EAAA,CAAA;;;AELf,mBAAmB,CAAC,aAAa,CAAC,QAAQ,EAAE,oBAAoB,CAAC;;ACHjE;;AAEG;;;;"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, Component, viewChildren, ViewContainerRef, effect } from '@angular/core';
|
|
3
|
-
import * as i1 from '@angular/forms';
|
|
4
|
-
import { ReactiveFormsModule, FormGroup, FormControl } from '@angular/forms';
|
|
5
|
-
|
|
6
|
-
class FormDynamicRegistry {
|
|
7
|
-
static fields = new Map();
|
|
8
|
-
static registerField(type, component) {
|
|
9
|
-
this.fields.set(type, component);
|
|
10
|
-
}
|
|
11
|
-
static resolveField(type) {
|
|
12
|
-
return this.fields.get(type);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
class BooleanFieldComponent {
|
|
17
|
-
field = input.required();
|
|
18
|
-
control = input.required();
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BooleanFieldComponent, isStandalone: true, selector: "s-boolean-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<label>\n <input type=\"checkbox\" [formControl]=\"control()\" [name]=\"field().key\" />\n {{ field().label }}\n</label>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanFieldComponent, decorators: [{
|
|
23
|
-
type: Component,
|
|
24
|
-
args: [{ selector: 's-boolean-field', standalone: true, imports: [ReactiveFormsModule], template: "<label>\n <input type=\"checkbox\" [formControl]=\"control()\" [name]=\"field().key\" />\n {{ field().label }}\n</label>\n" }]
|
|
25
|
-
}] });
|
|
26
|
-
|
|
27
|
-
class StringFieldComponent {
|
|
28
|
-
field = input.required();
|
|
29
|
-
control = input.required();
|
|
30
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: StringFieldComponent, isStandalone: true, selector: "s-string-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: " <label>{{ field().label }}</label>\n <input type=\"text\" [formControl]=\"control()\" [name]=\"field().key\" />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFieldComponent, decorators: [{
|
|
34
|
-
type: Component,
|
|
35
|
-
args: [{ selector: 's-string-field', standalone: true, imports: [ReactiveFormsModule], template: " <label>{{ field().label }}</label>\n <input type=\"text\" [formControl]=\"control()\" [name]=\"field().key\" />\n" }]
|
|
36
|
-
}] });
|
|
37
|
-
|
|
38
|
-
class FormDynamicComponent {
|
|
39
|
-
form = new FormGroup({});
|
|
40
|
-
schema = input.required();
|
|
41
|
-
// @ViewChildren('host', { read: ViewContainerRef })
|
|
42
|
-
// hosts!: QueryList<ViewContainerRef>;
|
|
43
|
-
hosts = viewChildren('host', { read: ViewContainerRef });
|
|
44
|
-
schemaEffect = effect(() => {
|
|
45
|
-
this.buildForm();
|
|
46
|
-
});
|
|
47
|
-
hostsEffect = effect(() => {
|
|
48
|
-
this.buildFields();
|
|
49
|
-
});
|
|
50
|
-
buildForm() {
|
|
51
|
-
const schema = this.schema();
|
|
52
|
-
if (!schema || !schema.fields)
|
|
53
|
-
return;
|
|
54
|
-
const group = {};
|
|
55
|
-
schema.fields.forEach((field) => {
|
|
56
|
-
group[field.key] = new FormControl(null);
|
|
57
|
-
});
|
|
58
|
-
this.form = new FormGroup(group);
|
|
59
|
-
}
|
|
60
|
-
buildFields() {
|
|
61
|
-
const hosts = this.hosts();
|
|
62
|
-
if (!hosts?.length)
|
|
63
|
-
return;
|
|
64
|
-
this.schema().fields.forEach((field, index) => {
|
|
65
|
-
const container = hosts[index];
|
|
66
|
-
container.clear();
|
|
67
|
-
const component = FormDynamicRegistry.resolveField(field.type);
|
|
68
|
-
if (!component)
|
|
69
|
-
return;
|
|
70
|
-
const ref = container.createComponent(component);
|
|
71
|
-
ref.setInput('field', field);
|
|
72
|
-
ref.setInput('control', this.form.get(field.key));
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
emit() {
|
|
76
|
-
console.log('FORM ->', this.form.value);
|
|
77
|
-
}
|
|
78
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormDynamicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FormDynamicComponent, isStandalone: true, selector: "s-form-dynamic", inputs: { schema: { classPropertyName: "schema", publicName: "schema", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "hosts", predicate: ["host"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<form [formGroup]=\"form\">\n\n @for (field of schema().fields; track field.key; let i = $index) {\n <ng-container #host></ng-container>\n }\n\n <button type=\"submit\" (click)=\"emit()\">Enviar</button>\n </form>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
|
80
|
-
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormDynamicComponent, decorators: [{
|
|
82
|
-
type: Component,
|
|
83
|
-
args: [{ selector: 's-form-dynamic', standalone: true, imports: [ReactiveFormsModule], template: "<form [formGroup]=\"form\">\n\n @for (field of schema().fields; track field.key; let i = $index) {\n <ng-container #host></ng-container>\n }\n\n <button type=\"submit\" (click)=\"emit()\">Enviar</button>\n </form>\n" }]
|
|
84
|
-
}] });
|
|
85
|
-
|
|
86
|
-
FormDynamicRegistry.registerField('string', StringFieldComponent);
|
|
87
|
-
FormDynamicRegistry.registerField('boolean', BooleanFieldComponent);
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Generated bundle index. Do not edit.
|
|
91
|
-
*/
|
|
92
|
-
|
|
93
|
-
export { FormDynamicComponent, FormDynamicRegistry };
|
|
94
|
-
//# sourceMappingURL=seniorsistemas-angular-components-form-dynamic.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-form-dynamic.mjs","sources":["../../projects/angular-components/form-dynamic/lib/core/registry.ts","../../projects/angular-components/form-dynamic/lib/fields-basic/boolean-field/boolean-field.component.ts","../../projects/angular-components/form-dynamic/lib/fields-basic/boolean-field/boolean-field.component.html","../../projects/angular-components/form-dynamic/lib/fields-basic/string-field/string-field.component.ts","../../projects/angular-components/form-dynamic/lib/fields-basic/string-field/string-field.component.html","../../projects/angular-components/form-dynamic/lib/components/form-dynamic/form-dynamic.component.ts","../../projects/angular-components/form-dynamic/lib/components/form-dynamic/form-dynamic.component.html","../../projects/angular-components/form-dynamic/lib/public-api.ts","../../projects/angular-components/form-dynamic/lib/seniorsistemas-angular-components-form-dynamic.ts"],"sourcesContent":["import { Type } from \"@angular/core\";\nimport { FieldType } from \"../schemas/field-dynamic\";\n\nexport class FormDynamicRegistry {\n private static fields = new Map<FieldType, Type<any>>();\n\n static registerField(type: FieldType, component: Type<any>) {\n this.fields.set(type, component);\n }\n\n static resolveField(type: FieldType) {\n return this.fields.get(type);\n }\n}\n","import { Component, input } from '@angular/core';\nimport { BooleanField } from '../../schemas/field-dynamic';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 's-boolean-field',\n standalone: true,\n imports: [ReactiveFormsModule],\n templateUrl: './boolean-field.component.html',\n styleUrl: './boolean-field.component.css',\n})\nexport class BooleanFieldComponent {\n field = input.required<BooleanField>();\n control = input.required<FormControl>();\n}\n\n","<label>\n <input type=\"checkbox\" [formControl]=\"control()\" [name]=\"field().key\" />\n {{ field().label }}\n</label>\n","import { Component, input } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { StringField } from '../../schemas/field-dynamic';\n\n@Component({\n selector: 's-string-field',\n standalone: true,\n imports: [ReactiveFormsModule],\n templateUrl: './string-field.component.html',\n styleUrl: './string-field.component.css',\n})\nexport class StringFieldComponent {\n field = input.required<StringField>();\n control = input.required<FormControl>();\n}\n\n"," <label>{{ field().label }}</label>\n <input type=\"text\" [formControl]=\"control()\" [name]=\"field().key\" />\n","import { Component, effect, input, viewChildren, ViewContainerRef } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { FormDynamicRegistry } from '../../core/registry';\nimport { FormDynamicSchema } from '../../schemas/form-dynamic-schema';\n\n@Component({\n selector: 's-form-dynamic',\n standalone: true,\n imports: [ReactiveFormsModule],\n templateUrl: './form-dynamic.component.html',\n})\nexport class FormDynamicComponent {\n protected form = new FormGroup({});\n schema = input.required<FormDynamicSchema>();\n\n // @ViewChildren('host', { read: ViewContainerRef })\n // hosts!: QueryList<ViewContainerRef>;\n\n private readonly hosts = viewChildren('host', { read: ViewContainerRef });\n\n private readonly schemaEffect = effect(() => {\n this.buildForm();\n });\n\n private readonly hostsEffect = effect(() => {\n this.buildFields();\n });\n\n private buildForm() {\n const schema = this.schema();\n if (!schema || !schema.fields) return;\n\n const group: any = {};\n\n schema.fields.forEach((field) => {\n group[field.key] = new FormControl(null);\n });\n\n this.form = new FormGroup(group);\n }\n\n private buildFields() {\n const hosts = this.hosts();\n if (!hosts?.length) return;\n\n this.schema().fields.forEach((field, index) => {\n const container = hosts[index];\n container.clear();\n\n const component = FormDynamicRegistry.resolveField(field.type);\n if (!component) return;\n\n const ref = container.createComponent(component);\n\n ref.setInput('field', field);\n ref.setInput('control', this.form.get(field.key)!);\n });\n }\n\n emit() {\n console.log('FORM ->', this.form.value);\n }\n}\n\n","<form [formGroup]=\"form\">\n\n @for (field of schema().fields; track field.key; let i = $index) {\n <ng-container #host></ng-container>\n }\n\n <button type=\"submit\" (click)=\"emit()\">Enviar</button>\n </form>\n","import { FormDynamicRegistry } from './core/registry';\nexport { FormDynamicRegistry } from './core/registry';\nimport { BooleanFieldComponent } from './fields-basic/boolean-field/boolean-field.component';\nimport { StringFieldComponent } from './fields-basic/string-field/string-field.component';\n\nFormDynamicRegistry.registerField('string', StringFieldComponent);\nFormDynamicRegistry.registerField('boolean', BooleanFieldComponent);\n\n\nexport * from './schemas/field-dynamic';\nexport * from './schemas/form-dynamic-schema';\nexport { FormDynamicComponent } from './components/form-dynamic/form-dynamic.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|