@verisoft/ui-primeng 18.7.0 → 18.8.0
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/README.md +7 -57
- package/assets/icons/complex/v-logo.svg +4 -4
- package/assets/sass/base/_scrollbar.scss +18 -18
- package/assets/sass/base/_typography.scss +24 -24
- package/assets/sass/layout/_app.scss +26 -26
- package/assets/sass/layout/_button.scss +57 -57
- package/assets/sass/layout/_checkbox.scss +32 -32
- package/assets/sass/layout/_dialog.scss +12 -12
- package/assets/sass/layout/_dropdown.scss +8 -8
- package/assets/sass/layout/_formField.scss +4 -4
- package/assets/sass/layout/_header.scss +62 -62
- package/assets/sass/layout/_icons.scss +12 -12
- package/assets/sass/layout/_inputSwitch.scss +12 -12
- package/assets/sass/layout/_layout.scss +5 -5
- package/assets/sass/layout/_loader.scss +8 -8
- package/assets/sass/layout/_radiobutton.scss +21 -21
- package/assets/sass/layout/_sidemenu.scss +172 -172
- package/assets/sass/layout/_snackbar.scss +7 -7
- package/assets/sass/layout/_tables.scss +4 -4
- package/assets/sass/layout/_tree.scss +11 -11
- package/assets/sass/layout/_tristatecheckbox.scss +14 -14
- package/assets/sass/main.scss +28 -28
- package/assets/sass/themes/_verisoft_theme.scss +46 -46
- package/assets/sass/utils/_utils.scss +39 -39
- package/assets/sass/utils/_variables.scss +12 -12
- package/assets/sass/vendors/_bootstrap.scss +2 -2
- package/assets/sass/vendors/_primeng.scss +2 -2
- package/esm2022/index.mjs +30 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +31 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.pipe.mjs +17 -0
- package/esm2022/lib/components/breadcrumb/index.mjs +2 -0
- package/esm2022/lib/components/button/button.component.mjs +61 -0
- package/esm2022/lib/components/button/index.mjs +2 -0
- package/esm2022/lib/components/calendar/calendar.component.mjs +73 -0
- package/esm2022/lib/components/calendar/index.mjs +2 -0
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +47 -0
- package/esm2022/lib/components/checkbox/index.mjs +2 -0
- package/esm2022/lib/components/confirm-dialog/confirm-dialog.component.mjs +65 -0
- package/esm2022/lib/components/confirm-dialog/index.mjs +2 -0
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +139 -0
- package/esm2022/lib/components/dropdown/index.mjs +2 -0
- package/esm2022/lib/components/errors/error.component.mjs +41 -0
- package/esm2022/lib/components/errors/index.mjs +2 -0
- package/esm2022/lib/components/form-field/form-field.component.mjs +41 -0
- package/esm2022/lib/components/form-field/index.mjs +2 -0
- package/esm2022/lib/components/header/header.component.mjs +58 -0
- package/esm2022/lib/components/header/index.mjs +3 -0
- package/esm2022/lib/components/header/services/header-provider.service.mjs +24 -0
- package/esm2022/lib/components/input-group/index.mjs +2 -0
- package/esm2022/lib/components/input-group/input-group.component.mjs +57 -0
- package/esm2022/lib/components/loader/index.mjs +2 -0
- package/esm2022/lib/components/loader/loader.component.mjs +19 -0
- package/esm2022/lib/components/multiselect/index.mjs +2 -0
- package/esm2022/lib/components/multiselect/multiselect.component.mjs +124 -0
- package/esm2022/lib/components/number-input/index.mjs +2 -0
- package/esm2022/lib/components/number-input/number-input.component.mjs +64 -0
- package/esm2022/lib/components/page-header/index.mjs +2 -0
- package/esm2022/lib/components/page-header/page-header.component.mjs +28 -0
- package/esm2022/lib/components/password/index.mjs +2 -0
- package/esm2022/lib/components/password/password.component.mjs +59 -0
- package/esm2022/lib/components/radiobutton/index.mjs +2 -0
- package/esm2022/lib/components/radiobutton/radiobutton.component.mjs +57 -0
- package/esm2022/lib/components/section/index.mjs +2 -0
- package/esm2022/lib/components/section/section.component.mjs +35 -0
- package/esm2022/lib/components/shared-components/action-button-group/action-button-group.component.mjs +92 -0
- package/esm2022/lib/components/shared-components/action-button-group/components/action-button/action-button.component.mjs +60 -0
- package/esm2022/lib/components/shared-components/action-button-group/index.mjs +3 -0
- package/esm2022/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.mjs +90 -0
- package/esm2022/lib/components/shared-components/dynamic-component/dynamic-component.component.mjs +41 -0
- package/esm2022/lib/components/shared-components/dynamic-component/index.mjs +3 -0
- package/esm2022/lib/components/shared-components/feature-list/directives/feature-list-column.directive.mjs +46 -0
- package/esm2022/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.mjs +16 -0
- package/esm2022/lib/components/shared-components/feature-list/feature-list-filter.pipe.mjs +24 -0
- package/esm2022/lib/components/shared-components/feature-list/feature-list-page.component.mjs +42 -0
- package/esm2022/lib/components/shared-components/feature-list/feature-list-page.model.mjs +16 -0
- package/esm2022/lib/components/shared-components/feature-list/feature-list.component.mjs +275 -0
- package/esm2022/lib/components/shared-components/feature-list/index.mjs +6 -0
- package/esm2022/lib/components/shared-components/filter/directives/filter-field.directive.mjs +44 -0
- package/esm2022/lib/components/shared-components/filter/filter.component.mjs +190 -0
- package/esm2022/lib/components/shared-components/filter/filter.model.mjs +16 -0
- package/esm2022/lib/components/shared-components/filter/index.mjs +3 -0
- package/esm2022/lib/components/shared-components/generic-field/generic-field.component.mjs +93 -0
- package/esm2022/lib/components/shared-components/generic-field/index.mjs +2 -0
- package/esm2022/lib/components/shared-components/generic-form/generic-form.component.mjs +40 -0
- package/esm2022/lib/components/shared-components/generic-form/generic-form.model.mjs +50 -0
- package/esm2022/lib/components/shared-components/generic-form/index.mjs +3 -0
- package/esm2022/lib/components/shared-components/index.mjs +7 -0
- package/esm2022/lib/components/side-menu/index.mjs +3 -0
- package/esm2022/lib/components/side-menu/side-menu.component.mjs +92 -0
- package/esm2022/lib/components/side-menu/side-menu.module.mjs +74 -0
- package/esm2022/lib/components/slider/index.mjs +2 -0
- package/esm2022/lib/components/slider/slider.component.mjs +62 -0
- package/esm2022/lib/components/snackbar/index.mjs +3 -0
- package/esm2022/lib/components/snackbar/services/snackbar.service.mjs +50 -0
- package/esm2022/lib/components/snackbar/snackbar.component.mjs +33 -0
- package/esm2022/lib/components/stepper/index.mjs +2 -0
- package/esm2022/lib/components/stepper/stepper.component.mjs +48 -0
- package/esm2022/lib/components/switch/index.mjs +2 -0
- package/esm2022/lib/components/switch/switch.component.mjs +54 -0
- package/esm2022/lib/components/tab-view/index.mjs +4 -0
- package/esm2022/lib/components/tab-view/tab-menu.pipe.mjs +25 -0
- package/esm2022/lib/components/tab-view/tab-view-item.component.mjs +31 -0
- package/esm2022/lib/components/tab-view/tab-view.component.mjs +50 -0
- package/esm2022/lib/components/tab-view/tab-view.module.mjs +29 -0
- package/esm2022/lib/components/table/index.mjs +2 -0
- package/esm2022/lib/components/table/table-filter.pipe.mjs +49 -0
- package/esm2022/lib/components/table/table.component.mjs +220 -0
- package/esm2022/lib/components/table/table.models.mjs +17 -0
- package/esm2022/lib/components/textarea/index.mjs +2 -0
- package/esm2022/lib/components/textarea/textarea.component.mjs +65 -0
- package/esm2022/lib/components/textfield/index.mjs +2 -0
- package/esm2022/lib/components/textfield/textfield.component.mjs +65 -0
- package/esm2022/lib/components/tristatecheckbox/index.mjs +2 -0
- package/esm2022/lib/components/tristatecheckbox/tristatecheckbox.component.mjs +53 -0
- package/esm2022/lib/icons.mjs +35 -0
- package/esm2022/lib/interceptors/http-error-message.interceptor.mjs +31 -0
- package/esm2022/verisoft-ui-primeng.mjs +5 -0
- package/fesm2022/verisoft-ui-primeng.mjs +2909 -0
- package/fesm2022/verisoft-ui-primeng.mjs.map +1 -0
- package/{src/index.ts → index.d.ts} +29 -29
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +6 -0
- package/lib/components/breadcrumb/breadcrumb.pipe.d.ts +9 -0
- package/{src/lib/components/breadcrumb/index.ts → lib/components/breadcrumb/index.d.ts} +1 -1
- package/lib/components/button/button.component.d.ts +20 -0
- package/{src/lib/components/button/index.ts → lib/components/button/index.d.ts} +1 -1
- package/lib/components/calendar/calendar.component.d.ts +17 -0
- package/{src/lib/components/calendar/index.ts → lib/components/calendar/index.d.ts} +1 -1
- package/lib/components/checkbox/checkbox.component.d.ts +9 -0
- package/{src/lib/components/checkbox/index.ts → lib/components/checkbox/index.d.ts} +1 -1
- package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +15 -0
- package/{src/lib/components/confirm-dialog/index.ts → lib/components/confirm-dialog/index.d.ts} +1 -1
- package/lib/components/dropdown/dropdown.component.d.ts +38 -0
- package/{src/lib/components/dropdown/index.ts → lib/components/dropdown/index.d.ts} +1 -1
- package/lib/components/errors/error.component.d.ts +16 -0
- package/lib/components/errors/index.d.ts +1 -0
- package/lib/components/form-field/form-field.component.d.ts +12 -0
- package/{src/lib/components/form-field/index.ts → lib/components/form-field/index.d.ts} +1 -1
- package/lib/components/header/header.component.d.ts +23 -0
- package/{src/lib/components/header/index.ts → lib/components/header/index.d.ts} +2 -2
- package/lib/components/header/services/header-provider.service.d.ts +10 -0
- package/{src/lib/components/input-group/index.ts → lib/components/input-group/index.d.ts} +1 -1
- package/lib/components/input-group/input-group.component.d.ts +9 -0
- package/{src/lib/components/loader/index.ts → lib/components/loader/index.d.ts} +1 -1
- package/lib/components/loader/loader.component.d.ts +6 -0
- package/{src/lib/components/multiselect/index.ts → lib/components/multiselect/index.d.ts} +1 -1
- package/lib/components/multiselect/multiselect.component.d.ts +34 -0
- package/{src/lib/components/number-input/index.ts → lib/components/number-input/index.d.ts} +1 -1
- package/lib/components/number-input/number-input.component.d.ts +14 -0
- package/{src/lib/components/page-header/index.ts → lib/components/page-header/index.d.ts} +1 -1
- package/lib/components/page-header/page-header.component.d.ts +10 -0
- package/{src/lib/components/password/index.ts → lib/components/password/index.d.ts} +1 -1
- package/lib/components/password/password.component.d.ts +11 -0
- package/{src/lib/components/radiobutton/index.ts → lib/components/radiobutton/index.d.ts} +1 -1
- package/lib/components/radiobutton/radiobutton.component.d.ts +10 -0
- package/{src/lib/components/section/index.ts → lib/components/section/index.d.ts} +1 -1
- package/lib/components/section/section.component.d.ts +12 -0
- package/lib/components/shared-components/action-button-group/action-button-group.component.d.ts +29 -0
- package/lib/components/shared-components/action-button-group/components/action-button/action-button.component.d.ts +24 -0
- package/{src/lib/components/shared-components/action-button-group/index.ts → lib/components/shared-components/action-button-group/index.d.ts} +2 -2
- package/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.d.ts +17 -0
- package/lib/components/shared-components/dynamic-component/dynamic-component.component.d.ts +16 -0
- package/{src/lib/components/shared-components/dynamic-component/index.ts → lib/components/shared-components/dynamic-component/index.d.ts} +2 -2
- package/lib/components/shared-components/feature-list/directives/feature-list-column.directive.d.ts +10 -0
- package/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.d.ts +6 -0
- package/lib/components/shared-components/feature-list/feature-list-filter.pipe.d.ts +9 -0
- package/lib/components/shared-components/feature-list/feature-list-page.component.d.ts +9 -0
- package/lib/components/shared-components/feature-list/feature-list-page.model.d.ts +23 -0
- package/lib/components/shared-components/feature-list/feature-list.component.d.ts +62 -0
- package/{src/lib/components/shared-components/feature-list/index.ts → lib/components/shared-components/feature-list/index.d.ts} +5 -5
- package/lib/components/shared-components/filter/directives/filter-field.directive.d.ts +20 -0
- package/lib/components/shared-components/filter/filter.component.d.ts +53 -0
- package/lib/components/shared-components/filter/filter.model.d.ts +2 -0
- package/{src/lib/components/shared-components/filter/index.ts → lib/components/shared-components/filter/index.d.ts} +2 -2
- package/lib/components/shared-components/generic-field/generic-field.component.d.ts +28 -0
- package/{src/lib/components/shared-components/generic-field/index.ts → lib/components/shared-components/generic-field/index.d.ts} +1 -1
- package/lib/components/shared-components/generic-form/generic-form.component.d.ts +15 -0
- package/lib/components/shared-components/generic-form/generic-form.model.d.ts +4 -0
- package/{src/lib/components/shared-components/generic-form/index.ts → lib/components/shared-components/generic-form/index.d.ts} +2 -2
- package/{src/lib/components/shared-components/index.ts → lib/components/shared-components/index.d.ts} +6 -6
- package/{src/lib/components/side-menu/index.ts → lib/components/side-menu/index.d.ts} +2 -2
- package/lib/components/side-menu/side-menu.component.d.ts +27 -0
- package/lib/components/side-menu/side-menu.module.d.ts +13 -0
- package/{src/lib/components/slider/index.ts → lib/components/slider/index.d.ts} +1 -1
- package/lib/components/slider/slider.component.d.ts +12 -0
- package/{src/lib/components/snackbar/index.ts → lib/components/snackbar/index.d.ts} +2 -2
- package/lib/components/snackbar/services/snackbar.service.d.ts +12 -0
- package/lib/components/snackbar/snackbar.component.d.ts +9 -0
- package/{src/lib/components/stepper/index.ts → lib/components/stepper/index.d.ts} +1 -1
- package/lib/components/stepper/stepper.component.d.ts +17 -0
- package/{src/lib/components/switch/index.ts → lib/components/switch/index.d.ts} +1 -1
- package/lib/components/switch/switch.component.d.ts +9 -0
- package/{src/lib/components/tab-view/index.ts → lib/components/tab-view/index.d.ts} +3 -3
- package/lib/components/tab-view/tab-menu.pipe.d.ts +9 -0
- package/lib/components/tab-view/tab-view-item.component.d.ts +12 -0
- package/lib/components/tab-view/tab-view.component.d.ts +17 -0
- package/lib/components/tab-view/tab-view.module.d.ts +13 -0
- package/{src/lib/components/table/index.ts → lib/components/table/index.d.ts} +1 -1
- package/lib/components/table/table-filter.pipe.d.ts +13 -0
- package/lib/components/table/table.component.d.ts +67 -0
- package/lib/components/table/table.models.d.ts +4 -0
- package/{src/lib/components/textarea/index.ts → lib/components/textarea/index.d.ts} +1 -1
- package/lib/components/textarea/textarea.component.d.ts +12 -0
- package/{src/lib/components/textfield/index.ts → lib/components/textfield/index.d.ts} +1 -1
- package/lib/components/textfield/textfield.component.d.ts +12 -0
- package/{src/lib/components/tristatecheckbox/index.ts → lib/components/tristatecheckbox/index.d.ts} +1 -1
- package/lib/components/tristatecheckbox/tristatecheckbox.component.d.ts +9 -0
- package/lib/icons.d.ts +2 -0
- package/lib/interceptors/http-error-message.interceptor.d.ts +11 -0
- package/package.json +37 -22
- package/.eslintrc.json +0 -43
- package/assets/.gitkeep +0 -0
- package/jest.config.ts +0 -22
- package/ng-package.json +0 -15
- package/project.json +0 -36
- package/src/lib/components/breadcrumb/breadcrumb.component.html +0 -12
- package/src/lib/components/breadcrumb/breadcrumb.component.scss +0 -18
- package/src/lib/components/breadcrumb/breadcrumb.component.spec.ts +0 -21
- package/src/lib/components/breadcrumb/breadcrumb.component.stories.ts +0 -36
- package/src/lib/components/breadcrumb/breadcrumb.component.ts +0 -29
- package/src/lib/components/breadcrumb/breadcrumb.pipe.ts +0 -13
- package/src/lib/components/button/button.component.html +0 -20
- package/src/lib/components/button/button.component.scss +0 -0
- package/src/lib/components/button/button.component.spec.ts +0 -21
- package/src/lib/components/button/button.component.ts +0 -49
- package/src/lib/components/calendar/calendar.component.html +0 -53
- package/src/lib/components/calendar/calendar.component.scss +0 -0
- package/src/lib/components/calendar/calendar.component.spec.ts +0 -21
- package/src/lib/components/calendar/calendar.component.ts +0 -72
- package/src/lib/components/checkbox/checkbox.component.html +0 -19
- package/src/lib/components/checkbox/checkbox.component.scss +0 -15
- package/src/lib/components/checkbox/checkbox.component.spec.ts +0 -21
- package/src/lib/components/checkbox/checkbox.component.stories.ts +0 -72
- package/src/lib/components/checkbox/checkbox.component.ts +0 -45
- package/src/lib/components/confirm-dialog/confirm-dialog.component.html +0 -48
- package/src/lib/components/confirm-dialog/confirm-dialog.component.scss +0 -3
- package/src/lib/components/confirm-dialog/confirm-dialog.component.spec.ts +0 -21
- package/src/lib/components/confirm-dialog/confirm-dialog.component.stories.ts +0 -74
- package/src/lib/components/confirm-dialog/confirm-dialog.component.ts +0 -74
- package/src/lib/components/dropdown/dropdown.component.html +0 -96
- package/src/lib/components/dropdown/dropdown.component.scss +0 -16
- package/src/lib/components/dropdown/dropdown.component.spec.ts +0 -21
- package/src/lib/components/dropdown/dropdown.component.stories.ts +0 -90
- package/src/lib/components/dropdown/dropdown.component.ts +0 -144
- package/src/lib/components/errors/error.component.html +0 -6
- package/src/lib/components/errors/error.component.scss +0 -3
- package/src/lib/components/errors/error.component.ts +0 -35
- package/src/lib/components/errors/index.ts +0 -1
- package/src/lib/components/form-field/form-field.component.html +0 -36
- package/src/lib/components/form-field/form-field.component.scss +0 -0
- package/src/lib/components/form-field/form-field.component.spec.ts +0 -21
- package/src/lib/components/form-field/form-field.component.stories.ts +0 -69
- package/src/lib/components/form-field/form-field.component.ts +0 -38
- package/src/lib/components/header/header.component.html +0 -84
- package/src/lib/components/header/header.component.scss +0 -0
- package/src/lib/components/header/header.component.spec.ts +0 -21
- package/src/lib/components/header/header.component.stories.ts +0 -24
- package/src/lib/components/header/header.component.ts +0 -66
- package/src/lib/components/header/services/header-provider.service.ts +0 -15
- package/src/lib/components/input-group/input-group.component.html +0 -30
- package/src/lib/components/input-group/input-group.component.spec.ts +0 -21
- package/src/lib/components/input-group/input-group.component.ts +0 -60
- package/src/lib/components/loader/loader.component.html +0 -5
- package/src/lib/components/loader/loader.component.scss +0 -0
- package/src/lib/components/loader/loader.component.spec.ts +0 -21
- package/src/lib/components/loader/loader.component.ts +0 -17
- package/src/lib/components/multiselect/multiselect.component.html +0 -70
- package/src/lib/components/multiselect/multiselect.component.scss +0 -0
- package/src/lib/components/multiselect/multiselect.component.spec.ts +0 -21
- package/src/lib/components/multiselect/multiselect.component.ts +0 -122
- package/src/lib/components/number-input/number-input.component.html +0 -22
- package/src/lib/components/number-input/number-input.component.spec.ts +0 -21
- package/src/lib/components/number-input/number-input.component.ts +0 -57
- package/src/lib/components/page-header/page-header.component.html +0 -31
- package/src/lib/components/page-header/page-header.component.scss +0 -0
- package/src/lib/components/page-header/page-header.component.spec.ts +0 -21
- package/src/lib/components/page-header/page-header.component.ts +0 -32
- package/src/lib/components/password/password.component.html +0 -24
- package/src/lib/components/password/password.component.scss +0 -0
- package/src/lib/components/password/password.component.spec.ts +0 -21
- package/src/lib/components/password/password.component.ts +0 -58
- package/src/lib/components/radiobutton/radiobutton.component.html +0 -32
- package/src/lib/components/radiobutton/radiobutton.component.scss +0 -6
- package/src/lib/components/radiobutton/radiobutton.component.spec.ts +0 -21
- package/src/lib/components/radiobutton/radiobutton.component.stories.ts +0 -71
- package/src/lib/components/radiobutton/radiobutton.component.ts +0 -62
- package/src/lib/components/section/section.component.html +0 -23
- package/src/lib/components/section/section.component.scss +0 -0
- package/src/lib/components/section/section.component.spec.ts +0 -21
- package/src/lib/components/section/section.component.ts +0 -32
- package/src/lib/components/shared-components/action-button-group/action-button-group.component.html +0 -27
- package/src/lib/components/shared-components/action-button-group/action-button-group.component.scss +0 -0
- package/src/lib/components/shared-components/action-button-group/action-button-group.component.spec.ts +0 -21
- package/src/lib/components/shared-components/action-button-group/action-button-group.component.ts +0 -114
- package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.html +0 -11
- package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.scss +0 -0
- package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.spec.ts +0 -21
- package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.ts +0 -71
- package/src/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.ts +0 -142
- package/src/lib/components/shared-components/dynamic-component/dynamic-component.component.ts +0 -56
- package/src/lib/components/shared-components/feature-list/directives/feature-list-column.directive.ts +0 -32
- package/src/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.ts +0 -8
- package/src/lib/components/shared-components/feature-list/feature-list-filter.pipe.ts +0 -21
- package/src/lib/components/shared-components/feature-list/feature-list-page.component.ts +0 -31
- package/src/lib/components/shared-components/feature-list/feature-list-page.model.ts +0 -42
- package/src/lib/components/shared-components/feature-list/feature-list.component.html +0 -59
- package/src/lib/components/shared-components/feature-list/feature-list.component.scss +0 -10
- package/src/lib/components/shared-components/feature-list/feature-list.component.ts +0 -342
- package/src/lib/components/shared-components/filter/directives/filter-field.directive.ts +0 -35
- package/src/lib/components/shared-components/filter/filter.component.html +0 -68
- package/src/lib/components/shared-components/filter/filter.component.scss +0 -0
- package/src/lib/components/shared-components/filter/filter.component.spec.ts +0 -21
- package/src/lib/components/shared-components/filter/filter.component.stories.ts +0 -23
- package/src/lib/components/shared-components/filter/filter.component.ts +0 -284
- package/src/lib/components/shared-components/filter/filter.model.ts +0 -18
- package/src/lib/components/shared-components/generic-field/generic-field.component.html +0 -97
- package/src/lib/components/shared-components/generic-field/generic-field.component.spec.ts +0 -21
- package/src/lib/components/shared-components/generic-field/generic-field.component.ts +0 -94
- package/src/lib/components/shared-components/generic-form/generic-form.component.html +0 -46
- package/src/lib/components/shared-components/generic-form/generic-form.component.spec.ts +0 -21
- package/src/lib/components/shared-components/generic-form/generic-form.component.ts +0 -57
- package/src/lib/components/shared-components/generic-form/generic-form.model.spec.ts +0 -82
- package/src/lib/components/shared-components/generic-form/generic-form.model.ts +0 -68
- package/src/lib/components/side-menu/side-menu.component.html +0 -52
- package/src/lib/components/side-menu/side-menu.component.scss +0 -0
- package/src/lib/components/side-menu/side-menu.component.spec.ts +0 -21
- package/src/lib/components/side-menu/side-menu.component.ts +0 -98
- package/src/lib/components/side-menu/side-menu.module.ts +0 -66
- package/src/lib/components/slider/slider.component.html +0 -19
- package/src/lib/components/slider/slider.component.spec.ts +0 -21
- package/src/lib/components/slider/slider.component.ts +0 -58
- package/src/lib/components/snackbar/services/snackbar.service.ts +0 -45
- package/src/lib/components/snackbar/snackbar.component.html +0 -3
- package/src/lib/components/snackbar/snackbar.component.scss +0 -0
- package/src/lib/components/snackbar/snackbar.component.spec.ts +0 -21
- package/src/lib/components/snackbar/snackbar.component.stories.ts +0 -70
- package/src/lib/components/snackbar/snackbar.component.ts +0 -26
- package/src/lib/components/stepper/stepper.component.html +0 -43
- package/src/lib/components/stepper/stepper.component.spec.ts +0 -21
- package/src/lib/components/stepper/stepper.component.ts +0 -40
- package/src/lib/components/switch/switch.component.html +0 -18
- package/src/lib/components/switch/switch.component.scss +0 -0
- package/src/lib/components/switch/switch.component.spec.ts +0 -21
- package/src/lib/components/switch/switch.component.stories.ts +0 -65
- package/src/lib/components/switch/switch.component.ts +0 -54
- package/src/lib/components/tab-view/tab-menu.pipe.ts +0 -23
- package/src/lib/components/tab-view/tab-view-item.component.ts +0 -22
- package/src/lib/components/tab-view/tab-view.component.html +0 -23
- package/src/lib/components/tab-view/tab-view.component.ts +0 -55
- package/src/lib/components/tab-view/tab-view.module.ts +0 -19
- package/src/lib/components/table/table-filter.pipe.ts +0 -59
- package/src/lib/components/table/table.component.html +0 -123
- package/src/lib/components/table/table.component.scss +0 -11
- package/src/lib/components/table/table.component.spec.ts +0 -21
- package/src/lib/components/table/table.component.stories.ts +0 -55
- package/src/lib/components/table/table.component.ts +0 -289
- package/src/lib/components/table/table.models.ts +0 -26
- package/src/lib/components/textarea/textarea.component.html +0 -40
- package/src/lib/components/textarea/textarea.component.scss +0 -5
- package/src/lib/components/textarea/textarea.component.spec.ts +0 -21
- package/src/lib/components/textarea/textarea.component.stories.ts +0 -98
- package/src/lib/components/textarea/textarea.component.ts +0 -64
- package/src/lib/components/textfield/textfield.component.html +0 -83
- package/src/lib/components/textfield/textfield.component.scss +0 -23
- package/src/lib/components/textfield/textfield.component.spec.ts +0 -21
- package/src/lib/components/textfield/textfield.component.stories.ts +0 -85
- package/src/lib/components/textfield/textfield.component.ts +0 -69
- package/src/lib/components/tristatecheckbox/tristatecheckbox.component.html +0 -23
- package/src/lib/components/tristatecheckbox/tristatecheckbox.component.scss +0 -0
- package/src/lib/components/tristatecheckbox/tristatecheckbox.component.spec.ts +0 -21
- package/src/lib/components/tristatecheckbox/tristatecheckbox.component.stories.ts +0 -22
- package/src/lib/components/tristatecheckbox/tristatecheckbox.component.ts +0 -50
- package/src/lib/icons.ts +0 -36
- package/src/lib/interceptors/http-error-message.interceptor.ts +0 -35
- package/src/lib/pages/not-found-page/not-found-page.component.html +0 -26
- package/src/lib/pages/not-found-page/not-found-page.component.scss +0 -0
- package/src/lib/pages/not-found-page/not-found-page.component.spec.ts +0 -21
- package/src/lib/pages/not-found-page/not-found-page.component.ts +0 -17
- package/src/tab-view.ts +0 -1
- package/src/test-setup.ts +0 -8
- package/tsconfig.json +0 -29
- package/tsconfig.lib.json +0 -18
- package/tsconfig.lib.prod.json +0 -9
- package/tsconfig.spec.json +0 -16
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { AsyncPipe } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, forwardRef, inject, Input, QueryList, } from '@angular/core';
|
|
3
|
+
import { FormGroup, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms';
|
|
4
|
+
import { ButtonShortCutDirective, DEFAULT_DEBOUNCE_TIME, DialogService, FieldSize, FILTER_COMPONENT_TOKEN, isFilterEmpty, ScreenSizeService, UnsubscribeComponent, } from '@verisoft/ui-core';
|
|
5
|
+
import { BadgeModule } from 'primeng/badge';
|
|
6
|
+
import { BehaviorSubject, combineLatestWith, debounceTime, distinctUntilChanged, map, startWith, takeUntil, } from 'rxjs';
|
|
7
|
+
import { Icons } from '../../../icons';
|
|
8
|
+
import { ButtonComponent } from '../../button';
|
|
9
|
+
import { TextfieldComponent } from '../../textfield';
|
|
10
|
+
import { generateFormGroup, GenericFormComponent } from '../generic-form';
|
|
11
|
+
import { FilterFieldDirective } from './directives/filter-field.directive';
|
|
12
|
+
import { getFilledControlCount } from './filter.model';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@angular/forms";
|
|
15
|
+
export class FilterComponent extends UnsubscribeComponent {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.fields = [];
|
|
19
|
+
this.filters = [];
|
|
20
|
+
this.fulltextFieldName = 'searchField';
|
|
21
|
+
this.showFulltext = true;
|
|
22
|
+
this.showFilters = true;
|
|
23
|
+
this.autoBind = true;
|
|
24
|
+
this.debounceTime = DEFAULT_DEBOUNCE_TIME;
|
|
25
|
+
this.icons = Icons;
|
|
26
|
+
this.searchField = {
|
|
27
|
+
name: this.fulltextFieldName,
|
|
28
|
+
};
|
|
29
|
+
this.inputFields$ = new BehaviorSubject([...this.fields ?? [], ...this.filters ?? []]);
|
|
30
|
+
this.FieldSize = FieldSize;
|
|
31
|
+
this.screenSizeService = inject(ScreenSizeService);
|
|
32
|
+
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
33
|
+
this.dialogService = inject(DialogService);
|
|
34
|
+
this.formGroup = new FormGroup({});
|
|
35
|
+
this.filledFiltersCount$ = this.formGroup.valueChanges.pipe(startWith(this.formGroup), map(() => getFilledControlCount(this.formGroup).toString()));
|
|
36
|
+
this.lastFormFields = [];
|
|
37
|
+
}
|
|
38
|
+
ngOnInit() {
|
|
39
|
+
this.formGroup.valueChanges
|
|
40
|
+
.pipe(takeUntil(this.destroyed$), debounceTime(this.debounceTime ?? DEFAULT_DEBOUNCE_TIME), map((x) => this.convertFilter(x)), distinctUntilChanged())
|
|
41
|
+
.subscribe((value) => this.onChange?.(value));
|
|
42
|
+
}
|
|
43
|
+
ngOnChanges(changes) {
|
|
44
|
+
if (changes['fields'] || changes['filters']) {
|
|
45
|
+
this.inputFields$.next([...this.fields ?? [], ...this.filters ?? []]);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
ngAfterContentInit() {
|
|
49
|
+
const fieldDeclaratios$ = this.fieldDeclarations.changes.pipe(startWith({}), map(() => this.fieldDeclarations.toArray()));
|
|
50
|
+
this.fieldDefinitios$ = this.inputFields$.pipe(combineLatestWith(fieldDeclaratios$), map(([inputs, views]) => {
|
|
51
|
+
this.searchField.name = this.fulltextFieldName;
|
|
52
|
+
this.lastFormFields = [this.searchField, ...(inputs ?? []), ...views];
|
|
53
|
+
return this.lastFormFields;
|
|
54
|
+
}));
|
|
55
|
+
this.simpleFormFieldDefinitions$ = this.fieldDefinitios$.pipe(map((fields) => {
|
|
56
|
+
return fields
|
|
57
|
+
.filter((x) => x.name !== this.fulltextFieldName)
|
|
58
|
+
.map((x) => ({ ...x, floatLabel: true, size: FieldSize.large }));
|
|
59
|
+
}));
|
|
60
|
+
this.formGroup$ = this.fieldDefinitios$.pipe(map((fields) => generateFormGroup(fields, this.formGroup, undefined, false)));
|
|
61
|
+
this.changeDetectorRef.detectChanges();
|
|
62
|
+
}
|
|
63
|
+
openFilter() {
|
|
64
|
+
const fields = this.lastFormFields.map((x) => ({
|
|
65
|
+
...x,
|
|
66
|
+
label: x.name === this.fulltextFieldName ? 'Fulltext' : x.label ?? x.name,
|
|
67
|
+
}));
|
|
68
|
+
const formGroup = generateFormGroup(this.lastFormFields, undefined, undefined, false);
|
|
69
|
+
formGroup.patchValue(this.formGroup.value);
|
|
70
|
+
this.dialogService.showDialog({
|
|
71
|
+
title: 'Set filters',
|
|
72
|
+
headerIcon: this.icons.filter,
|
|
73
|
+
severity: 'primary',
|
|
74
|
+
componentType: GenericFormComponent,
|
|
75
|
+
data: {
|
|
76
|
+
formGroup,
|
|
77
|
+
fields: fields,
|
|
78
|
+
columns: 1,
|
|
79
|
+
},
|
|
80
|
+
confirmButtonFn: () => this.setFilterValues(formGroup),
|
|
81
|
+
confirmButtonText: 'Apply',
|
|
82
|
+
cancelButtonFn: () => this.clear(),
|
|
83
|
+
cancelButtonText: 'Clear all',
|
|
84
|
+
showCancelButton: true,
|
|
85
|
+
closable: false,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
openSearch() {
|
|
89
|
+
this.dialogService.showDialog({
|
|
90
|
+
headerIcon: 'pi pi-search',
|
|
91
|
+
severity: 'primary',
|
|
92
|
+
innerHTML: '<p>Search</p>',
|
|
93
|
+
confirmButtonFn: () => this.submitValue(),
|
|
94
|
+
confirmButtonText: 'Apply',
|
|
95
|
+
cancelButtonFn: () => this.clear(),
|
|
96
|
+
cancelButtonText: 'Clear all',
|
|
97
|
+
showCancelButton: true,
|
|
98
|
+
closable: false,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
writeValue(data) {
|
|
102
|
+
this.formGroup.patchValue(data);
|
|
103
|
+
}
|
|
104
|
+
registerOnChange(fn) {
|
|
105
|
+
this.onChange = fn;
|
|
106
|
+
}
|
|
107
|
+
registerOnTouched(fn) {
|
|
108
|
+
this.onTouch = fn;
|
|
109
|
+
}
|
|
110
|
+
setDisabledState(isDisabled) {
|
|
111
|
+
isDisabled ? this.formGroup.disable() : this.formGroup.enable();
|
|
112
|
+
}
|
|
113
|
+
submitValue() {
|
|
114
|
+
if (!this.autoBind) {
|
|
115
|
+
this.onChange?.(this.formGroup.value);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
setFilterValues(dialogFormGroup) {
|
|
119
|
+
this.formGroup.setValue(dialogFormGroup.value);
|
|
120
|
+
this.submitValue();
|
|
121
|
+
}
|
|
122
|
+
clear() {
|
|
123
|
+
this.formGroup.reset();
|
|
124
|
+
this.submitValue();
|
|
125
|
+
}
|
|
126
|
+
convertFilter(value) {
|
|
127
|
+
if (value == undefined) {
|
|
128
|
+
return undefined;
|
|
129
|
+
}
|
|
130
|
+
const isEmpty = isFilterEmpty(value);
|
|
131
|
+
if (isEmpty) {
|
|
132
|
+
return undefined;
|
|
133
|
+
}
|
|
134
|
+
return value;
|
|
135
|
+
}
|
|
136
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
137
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: FilterComponent, isStandalone: true, selector: "v-filter", inputs: { fields: "fields", filters: "filters", title: "title", fulltextFieldName: "fulltextFieldName", showFulltext: "showFulltext", showFilters: "showFilters", autoBind: "autoBind", debounceTime: "debounceTime" }, providers: [
|
|
138
|
+
{
|
|
139
|
+
provide: NG_VALUE_ACCESSOR,
|
|
140
|
+
useExisting: forwardRef(() => FilterComponent),
|
|
141
|
+
multi: true,
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
provide: FILTER_COMPONENT_TOKEN,
|
|
145
|
+
useExisting: FilterComponent,
|
|
146
|
+
},
|
|
147
|
+
], queries: [{ propertyName: "fieldDeclarations", predicate: FilterFieldDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"v-filter w-100 p-3 bg-primary\">\n @if (formGroup$ | async; as formGroup){\n <form [formGroup]=\"formGroup\" class=\"d-flex align-items-center\">\n @if (title) {\n <div class=\"v-filter_title pe-4\">\n <h2 class=\"text-white m-0\">{{ title }}</h2>\n </div>\n }\n <div class=\"v-filter__fulltext flex-grow-1 pe-4\">\n @if (showFulltext){\n <v-textfield\n class=\"d-none d-lg-block\"\n placeholder=\"Search\"\n size=\"large\"\n formControlName=\"searchField\"\n type=\"search\"\n [clearable]=\"true\"\n >\n </v-textfield>\n }\n </div>\n @if (simpleFormFieldDefinitions$ | async; as declaration){\n @if (showFilters)\n {\n <div class=\"v-filter_filters d-none d-sm-block me-2\">\n <v-generic-form\n [fields]=\"declaration\"\n [formGroup]=\"formGroup\"\n ></v-generic-form>\n <v-button label=\"X\" class=\"mt-3\" (click)=\"clear()\" />\n </div>\n }\n <div class=\"v-filter_action-buttons d-flex\">\n @if (declaration.length && !showFilters) {\n <v-button \n class=\"me-4\"\n [icon]=\"icons.filter\"\n [label]=\"$any(filledFiltersCount$ | async)\"\n (click)=\"openFilter()\"\n />\n } @if (!autoBind) {\n <v-button\n useShortCut\n [shortCutFn]=\"submitValue.bind(this)\"\n shortCutKey=\"Enter\"\n class=\"text-white mx-2\"\n [outlined]=\"true\"\n size=\"small\"\n label=\"Apply\"\n (click)=\"submitValue()\"\n ></v-button>\n <v-button\n useShortCut\n [shortCutFn]=\"clear.bind(this)\"\n shortCutKey=\"Escape\"\n class=\"text-white\"\n [outlined]=\"true\"\n size=\"small\"\n label=\"Clear\"\n (click)=\"clear()\"\n ></v-button>\n } \n </div>\n }\n <ng-content select=\"v-action-button-group\"></ng-content>\n </form>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { 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"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: TextfieldComponent, selector: "v-textfield", inputs: ["size", "type", "floatLabel"] }, { kind: "component", type: GenericFormComponent, selector: "v-generic-form", inputs: ["formGroup", "fields", "columns", "showAsRow"] }, { kind: "component", type: ButtonComponent, selector: "v-button", inputs: ["label", "icon", "badge", "iconPos", "disabled", "rounded", "outlined", "raised", "severity", "routerLink", "size", "queryParams"] }, { kind: "directive", type: ButtonShortCutDirective, selector: "v-button[useShortCut]", inputs: ["shortCutFn", "shortCutKey"], exportAs: ["useShortCut"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
148
|
+
}
|
|
149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FilterComponent, decorators: [{
|
|
150
|
+
type: Component,
|
|
151
|
+
args: [{ selector: 'v-filter', standalone: true, imports: [
|
|
152
|
+
AsyncPipe,
|
|
153
|
+
ReactiveFormsModule,
|
|
154
|
+
BadgeModule,
|
|
155
|
+
TextfieldComponent,
|
|
156
|
+
GenericFormComponent,
|
|
157
|
+
ButtonComponent,
|
|
158
|
+
ButtonShortCutDirective,
|
|
159
|
+
], providers: [
|
|
160
|
+
{
|
|
161
|
+
provide: NG_VALUE_ACCESSOR,
|
|
162
|
+
useExisting: forwardRef(() => FilterComponent),
|
|
163
|
+
multi: true,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
provide: FILTER_COMPONENT_TOKEN,
|
|
167
|
+
useExisting: FilterComponent,
|
|
168
|
+
},
|
|
169
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"v-filter w-100 p-3 bg-primary\">\n @if (formGroup$ | async; as formGroup){\n <form [formGroup]=\"formGroup\" class=\"d-flex align-items-center\">\n @if (title) {\n <div class=\"v-filter_title pe-4\">\n <h2 class=\"text-white m-0\">{{ title }}</h2>\n </div>\n }\n <div class=\"v-filter__fulltext flex-grow-1 pe-4\">\n @if (showFulltext){\n <v-textfield\n class=\"d-none d-lg-block\"\n placeholder=\"Search\"\n size=\"large\"\n formControlName=\"searchField\"\n type=\"search\"\n [clearable]=\"true\"\n >\n </v-textfield>\n }\n </div>\n @if (simpleFormFieldDefinitions$ | async; as declaration){\n @if (showFilters)\n {\n <div class=\"v-filter_filters d-none d-sm-block me-2\">\n <v-generic-form\n [fields]=\"declaration\"\n [formGroup]=\"formGroup\"\n ></v-generic-form>\n <v-button label=\"X\" class=\"mt-3\" (click)=\"clear()\" />\n </div>\n }\n <div class=\"v-filter_action-buttons d-flex\">\n @if (declaration.length && !showFilters) {\n <v-button \n class=\"me-4\"\n [icon]=\"icons.filter\"\n [label]=\"$any(filledFiltersCount$ | async)\"\n (click)=\"openFilter()\"\n />\n } @if (!autoBind) {\n <v-button\n useShortCut\n [shortCutFn]=\"submitValue.bind(this)\"\n shortCutKey=\"Enter\"\n class=\"text-white mx-2\"\n [outlined]=\"true\"\n size=\"small\"\n label=\"Apply\"\n (click)=\"submitValue()\"\n ></v-button>\n <v-button\n useShortCut\n [shortCutFn]=\"clear.bind(this)\"\n shortCutKey=\"Escape\"\n class=\"text-white\"\n [outlined]=\"true\"\n size=\"small\"\n label=\"Clear\"\n (click)=\"clear()\"\n ></v-button>\n } \n </div>\n }\n <ng-content select=\"v-action-button-group\"></ng-content>\n </form>\n }\n</div>\n" }]
|
|
170
|
+
}], propDecorators: { fieldDeclarations: [{
|
|
171
|
+
type: ContentChildren,
|
|
172
|
+
args: [FilterFieldDirective]
|
|
173
|
+
}], fields: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], filters: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], title: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], fulltextFieldName: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], showFulltext: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], showFilters: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], autoBind: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}], debounceTime: [{
|
|
188
|
+
type: Input
|
|
189
|
+
}] } });
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLXByaW1lbmcvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvdWktcHJpbWVuZy9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTCxTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsYUFBYSxFQUNiLFNBQVMsRUFDVCxzQkFBc0IsRUFHdEIsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixvQkFBb0IsR0FDckIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsR0FBRyxFQUVILFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNB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eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsV0FBVyxpQkFBaUI7eUJBQzdCO3FCQUNGLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQU8vQyxpQkFBaUI7c0JBRGhCLGVBQWU7dUJBQUMsb0JBQW9CO2dCQUc1QixNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEZvcm1Hcm91cCxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJhc2VIdHRwU2VydmljZSB9IGZyb20gJ0B2ZXJpc29mdC9jb3JlJztcbmltcG9ydCB7XG4gIEJ1dHRvblNob3J0Q3V0RGlyZWN0aXZlLFxuICBERUZBVUxUX0RFQk9VTkNFX1RJTUUsXG4gIERpYWxvZ1NlcnZpY2UsXG4gIEZpZWxkU2l6ZSxcbiAgRklMVEVSX0NPTVBPTkVOVF9UT0tFTixcbiAgRmlsdGVyQ29yZSxcbiAgR2VuZXJpY0ZpZWxkRGVmaW5pdGlvbixcbiAgaXNGaWx0ZXJFbXB0eSxcbiAgU2NyZWVuU2l6ZVNlcnZpY2UsXG4gIFVuc3Vic2NyaWJlQ29tcG9uZW50LFxufSBmcm9tICdAdmVyaXNvZnQvdWktY29yZSc7XG5pbXBvcnQgeyBCYWRnZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYmFkZ2UnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0V2l0aCxcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBzdGFydFdpdGgsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2ljb25zJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2J1dHRvbic7XG5pbXBvcnQgeyBUZXh0ZmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi90ZXh0ZmllbGQnO1xuaW1wb3J0IHsgZ2VuZXJhdGVGb3JtR3JvdXAsIEdlbmVyaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VuZXJpYy1mb3JtJztcbmltcG9ydCB7IEZpbHRlckZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2ZpbHRlci1maWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgZ2V0RmlsbGVkQ29udHJvbENvdW50IH0gZnJvbSAnLi9maWx0ZXIubW9kZWwnO1xuXG50eXBlIEZpbHRlclZhbHVlVHlwZSA9IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2LWZpbHRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBBc3luY1BpcGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBCYWRnZU1vZHVsZSxcbiAgICBUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgR2VuZXJpY0Zvcm1Db21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIEJ1dHRvblNob3J0Q3V0RGlyZWN0aXZlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpbHRlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEZJTFRFUl9DT01QT05FTlRfVE9LRU4sXG4gICAgICB1c2VFeGlzdGluZzogRmlsdGVyQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZmlsdGVyLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckNvbXBvbmVudDxUIGV4dGVuZHMgb2JqZWN0PlxuICBleHRlbmRzIFVuc3Vic2NyaWJlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIEZpbHRlckNvcmVcbntcbiAgQENvbnRlbnRDaGlsZHJlbihGaWx0ZXJGaWVsZERpcmVjdGl2ZSlcbiAgZmllbGREZWNsYXJhdGlvbnMhOiBRdWVyeUxpc3Q8RmlsdGVyRmllbGREaXJlY3RpdmU+O1xuXG4gIEBJbnB1dCgpIGZpZWxkczogR2VuZXJpY0ZpZWxkRGVmaW5pdGlvbltdID0gW107XG5cbiAgQElucHV0KCkgZmlsdGVyczogR2VuZXJpY0ZpZWxkRGVmaW5pdGlvbltdID0gW107XG5cbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgZnVsbHRleHRGaWVsZE5hbWUgPSAnc2VhcmNoRmllbGQnO1xuXG4gIEBJbnB1dCgpIHNob3dGdWxsdGV4dCA9IHRydWU7XG5cbiAgQElucHV0KCkgc2hvd0ZpbHRlcnMgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGF1dG9CaW5kID0gdHJ1ZTtcblxuICBASW5wdXQoKSBkZWJvdW5jZVRpbWU/OiBudW1iZXIgPSBERUZBVUxUX0RFQk9VTkNFX1RJTUU7XG5cbiAgaWNvbnMgPSBJY29ucztcblxuICBmaWVsZERlZmluaXRpb3MkPzogT2JzZXJ2YWJsZTxHZW5lcmljRmllbGREZWZpbml0aW9uW10+O1xuXG4gIGZvcm1Hcm91cCQ/OiBPYnNlcnZhYmxlPEZvcm1Hcm91cD47XG5cbiAgc2ltcGxlRm9ybUZpZWxkRGVmaW5pdGlvbnMkPzogT2JzZXJ2YWJsZTxHZW5lcmljRmllbGREZWZpbml0aW9uW10+O1xuXG4gIHByaXZhdGUgc2VhcmNoRmllbGQ6IEdlbmVyaWNGaWVsZERlZmluaXRpb24gPSB7XG4gICAgbmFtZTogdGhpcy5mdWxsdGV4dEZpZWxkTmFtZSxcbiAgfTtcblxuICBwcml2YXRlIG9uVG91Y2g/OiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgb25DaGFuZ2U/OiAodmFsdWU6IEZpbHRlclZhbHVlVHlwZSB8IHVuZGVmaW5lZCkgPT4gdm9pZDtcblxuICBwcml2YXRlIGlucHV0RmllbGRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgR2VuZXJpY0ZpZWxkRGVmaW5pdGlvbltdIHwgdW5kZWZpbmVkXG4gID4oWy4uLnRoaXMuZmllbGRzID8/IFtdLCAuLi50aGlzLmZpbHRlcnMgPz8gW11dKTtcblxuICBGaWVsZFNpemUgPSBGaWVsZFNpemU7XG5cbiAgcHJvdGVjdGVkIHNjcmVlblNpemVTZXJ2aWNlID0gaW5qZWN0KFNjcmVlblNpemVTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XG5cbiAgc2VydmljZSE6IEJhc2VIdHRwU2VydmljZTxUPjtcblxuICBmb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcblxuICBmaWxsZWRGaWx0ZXJzQ291bnQkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICBzdGFydFdpdGgodGhpcy5mb3JtR3JvdXApLFxuICAgIG1hcCgoKSA9PiBnZXRGaWxsZWRDb250cm9sQ291bnQodGhpcy5mb3JtR3JvdXApLnRvU3RyaW5nKCkpXG4gICk7XG5cbiAgcHJpdmF0ZSBsYXN0Rm9ybUZpZWxkczogR2VuZXJpY0ZpZWxkRGVmaW5pdGlvbltdID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSA/PyBERUZBVUxUX0RFQk9VTkNFX1RJTUUpLFxuICAgICAgICBtYXAoKHgpID0+IHRoaXMuY29udmVydEZpbHRlcih4KSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm9uQ2hhbmdlPy4odmFsdWUpKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZmllbGRzJ10gfHwgY2hhbmdlc1snZmlsdGVycyddKSB7XG4gICAgICB0aGlzLmlucHV0RmllbGRzJC5uZXh0KFsuLi50aGlzLmZpZWxkcyA/PyBbXSwgLi4udGhpcy5maWx0ZXJzID8/IFtdXSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGZpZWxkRGVjbGFyYXRpb3MkOiBPYnNlcnZhYmxlPEdlbmVyaWNGaWVsZERlZmluaXRpb25bXT4gPVxuICAgICAgdGhpcy5maWVsZERlY2xhcmF0aW9ucy5jaGFuZ2VzLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh7fSksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmZpZWxkRGVjbGFyYXRpb25zLnRvQXJyYXkoKSlcbiAgICAgICk7XG5cbiAgICB0aGlzLmZpZWxkRGVmaW5pdGlvcyQgPSB0aGlzLmlucHV0RmllbGRzJC5waXBlKFxuICAgICAgY29tYmluZUxhdGVzdFdpdGgoZmllbGREZWNsYXJhdGlvcyQpLFxuICAgICAgbWFwKChbaW5wdXRzLCB2aWV3c10pID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hGaWVsZC5uYW1lID0gdGhpcy5mdWxsdGV4dEZpZWxkTmFtZTtcbiAgICAgICAgdGhpcy5sYXN0Rm9ybUZpZWxkcyA9IFt0aGlzLnNlYXJjaEZpZWxkLCAuLi4oaW5wdXRzID8/IFtdKSwgLi4udmlld3NdO1xuICAgICAgICByZXR1cm4gdGhpcy5sYXN0Rm9ybUZpZWxkcztcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc2ltcGxlRm9ybUZpZWxkRGVmaW5pdGlvbnMkID0gdGhpcy5maWVsZERlZmluaXRpb3MkLnBpcGUoXG4gICAgICBtYXAoKGZpZWxkcykgPT4ge1xuICAgICAgICByZXR1cm4gZmllbGRzXG4gICAgICAgICAgLmZpbHRlcigoeCkgPT4geC5uYW1lICE9PSB0aGlzLmZ1bGx0ZXh0RmllbGROYW1lKVxuICAgICAgICAgIC5tYXAoKHgpID0+ICh7IC4uLngsIGZsb2F0TGFiZWw6IHRydWUsIHNpemU6IEZpZWxkU2l6ZS5sYXJnZSB9KSk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmZvcm1Hcm91cCQgPSB0aGlzLmZpZWxkRGVmaW5pdGlvcyQucGlwZShcbiAgICAgIG1hcCgoZmllbGRzKSA9PlxuICAgICAgICBnZW5lcmF0ZUZvcm1Hcm91cChmaWVsZHMsIHRoaXMuZm9ybUdyb3VwLCB1bmRlZmluZWQsIGZhbHNlKVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvcGVuRmlsdGVyKCkge1xuICAgIGNvbnN0IGZpZWxkcyA9IHRoaXMubGFzdEZvcm1GaWVsZHMubWFwKCh4KSA9PiAoe1xuICAgICAgLi4ueCxcbiAgICAgIGxhYmVsOlxuICAgICAgICB4Lm5hbWUgPT09IHRoaXMuZnVsbHRleHRGaWVsZE5hbWUgPyAnRnVsbHRleHQnIDogeC5sYWJlbCA/PyB4Lm5hbWUsXG4gICAgfSkpO1xuXG4gICAgY29uc3QgZm9ybUdyb3VwID0gZ2VuZXJhdGVGb3JtR3JvdXAoXG4gICAgICB0aGlzLmxhc3RGb3JtRmllbGRzLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgZmFsc2VcbiAgICApO1xuICAgIGZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd0RpYWxvZyh7XG4gICAgICB0aXRsZTogJ1NldCBmaWx0ZXJzJyxcbiAgICAgIGhlYWRlckljb246IHRoaXMuaWNvbnMuZmlsdGVyLFxuICAgICAgc2V2ZXJpdHk6ICdwcmltYXJ5JyxcbiAgICAgIGNvbXBvbmVudFR5cGU6IEdlbmVyaWNGb3JtQ29tcG9uZW50LFxuICAgICAgZGF0YToge1xuICAgICAgICBmb3JtR3JvdXAsXG4gICAgICAgIGZpZWxkczogZmllbGRzLFxuICAgICAgICBjb2x1bW5zOiAxLFxuICAgICAgfSxcbiAgICAgIGNvbmZpcm1CdXR0b25GbjogKCkgPT4gdGhpcy5zZXRGaWx0ZXJWYWx1ZXMoZm9ybUdyb3VwKSxcbiAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAnQXBwbHknLFxuICAgICAgY2FuY2VsQnV0dG9uRm46ICgpID0+IHRoaXMuY2xlYXIoKSxcbiAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICdDbGVhciBhbGwnLFxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGNsb3NhYmxlOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvcGVuU2VhcmNoKCkge1xuICAgIHRoaXMuZGlhbG9nU2VydmljZS5zaG93RGlhbG9nKHtcbiAgICAgIGhlYWRlckljb246ICdwaSBwaS1zZWFyY2gnLFxuICAgICAgc2V2ZXJpdHk6ICdwcmltYXJ5JyxcbiAgICAgIGlubmVySFRNTDogJzxwPlNlYXJjaDwvcD4nLFxuICAgICAgY29uZmlybUJ1dHRvbkZuOiAoKSA9PiB0aGlzLnN1Ym1pdFZhbHVlKCksXG4gICAgICBjb25maXJtQnV0dG9uVGV4dDogJ0FwcGx5JyxcbiAgICAgIGNhbmNlbEJ1dHRvbkZuOiAoKSA9PiB0aGlzLmNsZWFyKCksXG4gICAgICBjYW5jZWxCdXR0b25UZXh0OiAnQ2xlYXIgYWxsJyxcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICBjbG9zYWJsZTogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKGRhdGE6IEZpbHRlclZhbHVlVHlwZSk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUoZGF0YSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IEZpbHRlclZhbHVlVHlwZSB8IHVuZGVmaW5lZCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaXNEaXNhYmxlZCA/IHRoaXMuZm9ybUdyb3VwLmRpc2FibGUoKSA6IHRoaXMuZm9ybUdyb3VwLmVuYWJsZSgpO1xuICB9XG5cbiAgc3VibWl0VmFsdWUoKSB7XG4gICAgaWYgKCF0aGlzLmF1dG9CaW5kKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlPy4odGhpcy5mb3JtR3JvdXAudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHNldEZpbHRlclZhbHVlcyhkaWFsb2dGb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xuICAgIHRoaXMuZm9ybUdyb3VwLnNldFZhbHVlKGRpYWxvZ0Zvcm1Hcm91cC52YWx1ZSk7XG4gICAgdGhpcy5zdWJtaXRWYWx1ZSgpO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICB0aGlzLnN1Ym1pdFZhbHVlKCk7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRGaWx0ZXIoXG4gICAgdmFsdWU6IEZpbHRlclZhbHVlVHlwZSB8IHVuZGVmaW5lZFxuICApOiBGaWx0ZXJWYWx1ZVR5cGUgfCB1bmRlZmluZWQge1xuICAgIGlmICh2YWx1ZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgaXNFbXB0eSA9IGlzRmlsdGVyRW1wdHkodmFsdWUpO1xuICAgIGlmIChpc0VtcHR5KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInYtZmlsdGVyIHctMTAwIHAtMyBiZy1wcmltYXJ5XCI+XG4gIEBpZiAoZm9ybUdyb3VwJCB8IGFzeW5jOyBhcyBmb3JtR3JvdXApe1xuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIEBpZiAodGl0bGUpIHtcbiAgICA8ZGl2IGNsYXNzPVwidi1maWx0ZXJfdGl0bGUgcGUtNFwiPlxuICAgICAgPGgyIGNsYXNzPVwidGV4dC13aGl0ZSBtLTBcIj57eyB0aXRsZSB9fTwvaDI+XG4gICAgPC9kaXY+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJ2LWZpbHRlcl9fZnVsbHRleHQgZmxleC1ncm93LTEgcGUtNFwiPlxuICAgICAgQGlmIChzaG93RnVsbHRleHQpe1xuICAgICAgPHYtdGV4dGZpZWxkXG4gICAgICAgIGNsYXNzPVwiZC1ub25lIGQtbGctYmxvY2tcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiXG4gICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlYXJjaEZpZWxkXCJcbiAgICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgIFtjbGVhcmFibGVdPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICA8L3YtdGV4dGZpZWxkPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZiAoc2ltcGxlRm9ybUZpZWxkRGVmaW5pdGlvbnMkIHwgYXN5bmM7IGFzIGRlY2xhcmF0aW9uKXtcbiAgICAgICBAaWYgKHNob3dGaWx0ZXJzKVxuICAgIHtcbiAgICA8ZGl2IGNsYXNzPVwidi1maWx0ZXJfZmlsdGVycyBkLW5vbmUgZC1zbS1ibG9jayBtZS0yXCI+XG4gICAgICA8di1nZW5lcmljLWZvcm1cbiAgICAgICAgW2ZpZWxkc109XCJkZWNsYXJhdGlvblwiXG4gICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgID48L3YtZ2VuZXJpYy1mb3JtPlxuICAgICAgPHYtYnV0dG9uIGxhYmVsPVwiWFwiIGNsYXNzPVwibXQtM1wiIChjbGljayk9XCJjbGVhcigpXCIgLz5cbiAgICA8L2Rpdj5cbiAgfVxuICAgIDxkaXYgY2xhc3M9XCJ2LWZpbHRlcl9hY3Rpb24tYnV0dG9ucyBkLWZsZXhcIj5cbiAgICAgIEBpZiAoZGVjbGFyYXRpb24ubGVuZ3RoICYmICFzaG93RmlsdGVycykge1xuICAgICAgPHYtYnV0dG9uIFxuICAgICAgICBjbGFzcz1cIm1lLTRcIlxuICAgICAgICBbaWNvbl09XCJpY29ucy5maWx0ZXJcIlxuICAgICAgICBbbGFiZWxdPVwiJGFueShmaWxsZWRGaWx0ZXJzQ291bnQkIHwgYXN5bmMpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5GaWx0ZXIoKVwiXG4gICAgICAvPlxuICAgICAgfSBAaWYgKCFhdXRvQmluZCkge1xuICAgICAgPHYtYnV0dG9uXG4gICAgICAgIHVzZVNob3J0Q3V0XG4gICAgICAgIFtzaG9ydEN1dEZuXT1cInN1Ym1pdFZhbHVlLmJpbmQodGhpcylcIlxuICAgICAgICBzaG9ydEN1dEtleT1cIkVudGVyXCJcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXdoaXRlIG14LTJcIlxuICAgICAgICBbb3V0bGluZWRdPVwidHJ1ZVwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIGxhYmVsPVwiQXBwbHlcIlxuICAgICAgICAoY2xpY2spPVwic3VibWl0VmFsdWUoKVwiXG4gICAgICA+PC92LWJ1dHRvbj5cbiAgICAgIDx2LWJ1dHRvblxuICAgICAgICB1c2VTaG9ydEN1dFxuICAgICAgICBbc2hvcnRDdXRGbl09XCJjbGVhci5iaW5kKHRoaXMpXCJcbiAgICAgICAgc2hvcnRDdXRLZXk9XCJFc2NhcGVcIlxuICAgICAgICBjbGFzcz1cInRleHQtd2hpdGVcIlxuICAgICAgICBbb3V0bGluZWRdPVwidHJ1ZVwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIGxhYmVsPVwiQ2xlYXJcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXIoKVwiXG4gICAgICA+PC92LWJ1dHRvbj5cbiAgICAgIH0gXG4gICAgPC9kaXY+XG4gICAgfVxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInYtYWN0aW9uLWJ1dHRvbi1ncm91cFwiPjwvbmctY29udGVudD5cbiAgPC9mb3JtPlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function getFilledControlCount(formGroup) {
|
|
2
|
+
let count = 0;
|
|
3
|
+
Object.keys(formGroup.controls).forEach((key) => {
|
|
4
|
+
const control = formGroup.get(key);
|
|
5
|
+
if (control?.value) {
|
|
6
|
+
if (typeof control.value === 'boolean') {
|
|
7
|
+
count++;
|
|
8
|
+
}
|
|
9
|
+
if (typeof control.value === 'string' && control.value.trim() !== '') {
|
|
10
|
+
count++;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
return count;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvdWktcHJpbWVuZy9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUscUJBQXFCLENBQUMsU0FBb0I7SUFDeEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDOUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNuQixJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdkMsS0FBSyxFQUFFLENBQUM7WUFDVixDQUFDO1lBQ0QsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ3JFLEtBQUssRUFBRSxDQUFDO1lBQ1YsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxsZWRDb250cm9sQ291bnQoZm9ybUdyb3VwOiBGb3JtR3JvdXApOiBudW1iZXIge1xyXG4gIGxldCBjb3VudCA9IDA7XHJcbiAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGtleSk7XHJcbiAgICBpZiAoY29udHJvbD8udmFsdWUpIHtcclxuICAgICAgaWYgKHR5cGVvZiBjb250cm9sLnZhbHVlID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgICBjb3VudCsrO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0eXBlb2YgY29udHJvbC52YWx1ZSA9PT0gJ3N0cmluZycgJiYgY29udHJvbC52YWx1ZS50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgICAgY291bnQrKztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gY291bnQ7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './filter.component';
|
|
2
|
+
export * from './directives/filter-field.directive';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1wcmltZW5nL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9maWx0ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWx0ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2ZpbHRlci1maWVsZC5kaXJlY3RpdmUnO1xyXG4iXX0=
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { BaseFormInputComponent, DatasourceDirective, FieldSize, GENERIC_FIELD_COMPONENT_TOKEN, GenericFieldType, } from '@verisoft/ui-core';
|
|
5
|
+
import { Icons } from '../../../icons';
|
|
6
|
+
import { CalendarComponent } from '../../calendar';
|
|
7
|
+
import { CheckboxComponent } from '../../checkbox';
|
|
8
|
+
import { DropdownComponent } from '../../dropdown';
|
|
9
|
+
import { MultiselectComponent } from '../../multiselect';
|
|
10
|
+
import { TextfieldComponent } from '../../textfield';
|
|
11
|
+
import { TristatecheckboxComponent } from '../../tristatecheckbox';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/forms";
|
|
14
|
+
export class GenericFieldComponent extends BaseFormInputComponent {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.type = GenericFieldType.text;
|
|
18
|
+
this.size = FieldSize.medium;
|
|
19
|
+
this.loading = false;
|
|
20
|
+
this.lazy = false;
|
|
21
|
+
this.filter = true;
|
|
22
|
+
this.changed = new EventEmitter();
|
|
23
|
+
this.showed = new EventEmitter();
|
|
24
|
+
this.cleared = new EventEmitter();
|
|
25
|
+
this.lazyLoad = new EventEmitter();
|
|
26
|
+
this.filtered = new EventEmitter();
|
|
27
|
+
this.fieldTypes = GenericFieldType;
|
|
28
|
+
this.icons = Icons;
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GenericFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: GenericFieldComponent, isStandalone: true, selector: "v-generic-field", inputs: { type: "type", floatLabel: "floatLabel", optionLabel: "optionLabel", optionValue: "optionValue", options: "options", size: "size", loading: "loading", lazy: "lazy", filter: "filter", datasource: "datasource", filterField: "filterField", showFilter: "showFilter", localSearch: "localSearch" }, outputs: { changed: "changed", showed: "showed", cleared: "cleared", lazyLoad: "lazyLoad", filtered: "filtered" }, providers: [
|
|
32
|
+
{
|
|
33
|
+
provide: GENERIC_FIELD_COMPONENT_TOKEN,
|
|
34
|
+
useExisting: GenericFieldComponent,
|
|
35
|
+
},
|
|
36
|
+
], usesInheritance: true, ngImport: i0, template: "@if (!type || type === fieldTypes.text) {\n<v-textfield\n [label]=\"label\"\n [floatLabel]=\"floatLabel === true\"\n [size]=\"size\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.dropdown && !datasource) {\n<v-dropdown\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [loading]=\"loading\"\n [forceMinWidth]=\"true\"\n [formControl]=\"formControl\"\n [showFilter]=\"showFilter ?? false\"\n [localSearch]=\"localSearch ?? false\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/> \n} @else if (type === fieldTypes.dropdown && datasource) {\n <v-dropdown\n useDatasource\n [forceMinWidth]=\"true\"\n [datasource]=\"datasource\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n [showFilter]=\"showFilter ?? false\"\n [filterField]=\"filterField ?? 'fulltext'\"\n [localSearch]=\"localSearch ?? false\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n />\n} @else if (type === fieldTypes.multiselect && !datasource) {\n<v-multiselect\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/>\n} @else if (type === fieldTypes.multiselect && datasource) {\n<v-multiselect\n useDatasource\n [datasource]=\"datasource\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/>\n} @else if (type === fieldTypes.checkbox) {\n<v-tristatecheckbox\n [label]=\"label\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.simplecheckbox) {\n<v-checkbox\n [label]=\"label\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.calendar) {\n<v-calendar\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n [icon]=\"icons.calendar\"\n/>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DropdownComponent, selector: "v-dropdown", inputs: ["options", "optionLabel", "optionValue", "dropdownIcon", "floatLabel", "editable", "loading", "lazy", "filter", "forceMinWidth", "showFilter", "localSearch"], outputs: ["showed", "cleared", "lazyLoad", "filtered"] }, { kind: "component", type: CalendarComponent, selector: "v-calendar", inputs: ["maxDate", "icon", "minDate", "header", "footer", "floatLabel", "selectionMode"] }, { kind: "component", type: TristatecheckboxComponent, selector: "v-tristatecheckbox" }, { kind: "component", type: MultiselectComponent, selector: "v-multiselect", inputs: ["options", "optionLabel", "optionValue", "dropdownIcon", "floatLabel", "editable", "loading", "lazy", "filter", "size"], outputs: ["changed", "showed", "cleared", "lazyLoad", "filtered"] }, { kind: "component", type: TextfieldComponent, selector: "v-textfield", inputs: ["size", "type", "floatLabel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: CheckboxComponent, selector: "v-checkbox" }, { kind: "directive", type: DatasourceDirective, selector: "v-dropdown[useDatasource], v-multiselect[useDatasource], v-generic-field[useDatasource]", inputs: ["datasource", "autoBind", "loadingText", "filterField", "transformFn", "extraFilter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GenericFieldComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: 'v-generic-field', standalone: true, imports: [
|
|
41
|
+
CommonModule,
|
|
42
|
+
DropdownComponent,
|
|
43
|
+
CalendarComponent,
|
|
44
|
+
TristatecheckboxComponent,
|
|
45
|
+
MultiselectComponent,
|
|
46
|
+
TextfieldComponent,
|
|
47
|
+
ReactiveFormsModule,
|
|
48
|
+
CheckboxComponent,
|
|
49
|
+
DatasourceDirective,
|
|
50
|
+
], providers: [
|
|
51
|
+
{
|
|
52
|
+
provide: GENERIC_FIELD_COMPONENT_TOKEN,
|
|
53
|
+
useExisting: GenericFieldComponent,
|
|
54
|
+
},
|
|
55
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!type || type === fieldTypes.text) {\n<v-textfield\n [label]=\"label\"\n [floatLabel]=\"floatLabel === true\"\n [size]=\"size\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.dropdown && !datasource) {\n<v-dropdown\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [loading]=\"loading\"\n [forceMinWidth]=\"true\"\n [formControl]=\"formControl\"\n [showFilter]=\"showFilter ?? false\"\n [localSearch]=\"localSearch ?? false\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/> \n} @else if (type === fieldTypes.dropdown && datasource) {\n <v-dropdown\n useDatasource\n [forceMinWidth]=\"true\"\n [datasource]=\"datasource\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n [showFilter]=\"showFilter ?? false\"\n [filterField]=\"filterField ?? 'fulltext'\"\n [localSearch]=\"localSearch ?? false\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n />\n} @else if (type === fieldTypes.multiselect && !datasource) {\n<v-multiselect\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/>\n} @else if (type === fieldTypes.multiselect && datasource) {\n<v-multiselect\n useDatasource\n [datasource]=\"datasource\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/>\n} @else if (type === fieldTypes.checkbox) {\n<v-tristatecheckbox\n [label]=\"label\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.simplecheckbox) {\n<v-checkbox\n [label]=\"label\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.calendar) {\n<v-calendar\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n [icon]=\"icons.calendar\"\n/>\n}\n" }]
|
|
56
|
+
}], propDecorators: { type: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], floatLabel: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], optionLabel: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], optionValue: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], options: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], size: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], loading: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], lazy: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], filter: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], datasource: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], filterField: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], showFilter: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], localSearch: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], changed: [{
|
|
83
|
+
type: Output
|
|
84
|
+
}], showed: [{
|
|
85
|
+
type: Output
|
|
86
|
+
}], cleared: [{
|
|
87
|
+
type: Output
|
|
88
|
+
}], lazyLoad: [{
|
|
89
|
+
type: Output
|
|
90
|
+
}], filtered: [{
|
|
91
|
+
type: Output
|
|
92
|
+
}] } });
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1wcmltZW5nL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9nZW5lcmljLWZpZWxkL2dlbmVyaWMtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvdWktcHJpbWVuZy9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZ2VuZXJpYy1maWVsZC9nZW5lcmljLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1yRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixTQUFTLEVBRVQsNkJBQTZCLEVBRTdCLGdCQUFnQixHQUVqQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBeUJuRSxNQUFNLE9BQU8scUJBQ1gsU0FBUSxzQkFBc0I7SUF4QmhDOztRQTJCVyxTQUFJLEdBQTBCLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQVVwRCxTQUFJLEdBQW1CLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFFeEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIsV0FBTSxHQUFHLElBQUksQ0FBQztRQVViLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUM3QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUVyRCxlQUFVLEdBQUcsZ0JBQWdCLENBQUM7UUFDOUIsVUFBSyxHQUFHLEtBQUssQ0FBQztLQUNmOzhHQXRDWSxxQkFBcUI7a0dBQXJCLHFCQUFxQiwrZEFUckI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsNkJBQTZCO2dCQUN0QyxXQUFXLEVBQUUscUJBQXFCO2FBQ25DO1NBQ0YsaURDbkRILDRrR0FpR0EsMkNEN0RJLFlBQVksK0JBQ1osaUJBQWlCLHVSQUNqQixpQkFBaUIsa0pBQ2pCLHlCQUF5QiwrREFDekIsb0JBQW9CLCtQQUNwQixrQkFBa0IsK0ZBQ2xCLG1CQUFtQiwwVEFDbkIsaUJBQWlCLHVEQUNqQixtQkFBbUI7OzJGQVdWLHFCQUFxQjtrQkF2QmpDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixtQkFBbUI7cUJBQ3RCLGFBQ1k7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDZCQUE2Qjs0QkFDdEMsV0FBVyx1QkFBdUI7eUJBQ25DO3FCQUNGLG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQU10QyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgRGF0YXNvdXJjZVR5cGUsXG4gIEZpbHRlckV2ZW50LFxuICBMYXp5TG9hZEV2ZW50LFxufSBmcm9tICdAdmVyaXNvZnQvY29yZSc7XG5pbXBvcnQge1xuICBCYXNlRm9ybUlucHV0Q29tcG9uZW50LFxuICBEYXRhc291cmNlRGlyZWN0aXZlLFxuICBGaWVsZFNpemUsXG4gIEZpZWxkU2l6ZVR5cGUsXG4gIEdFTkVSSUNfRklFTERfQ09NUE9ORU5UX1RPS0VOLFxuICBHZW5lcmljRmllbGRDb3JlLFxuICBHZW5lcmljRmllbGRUeXBlLFxuICBHZW5lcmljRmllbGRUeXBlVHlwZSxcbn0gZnJvbSAnQHZlcmlzb2Z0L3VpLWNvcmUnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi8uLi9pY29ucyc7XG5pbXBvcnQgeyBDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NhbGVuZGFyJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2hlY2tib3gnO1xuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9kcm9wZG93bic7XG5pbXBvcnQgeyBNdWx0aXNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL211bHRpc2VsZWN0JztcbmltcG9ydCB7IFRleHRmaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3RleHRmaWVsZCc7XG5pbXBvcnQgeyBUcmlzdGF0ZWNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdHJpc3RhdGVjaGVja2JveCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3YtZ2VuZXJpYy1maWVsZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHJvcGRvd25Db21wb25lbnQsXG4gICAgQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgVHJpc3RhdGVjaGVja2JveENvbXBvbmVudCxcbiAgICBNdWx0aXNlbGVjdENvbXBvbmVudCxcbiAgICBUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBEYXRhc291cmNlRGlyZWN0aXZlLFxuXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogR0VORVJJQ19GSUVMRF9DT01QT05FTlRfVE9LRU4sXG4gICAgICB1c2VFeGlzdGluZzogR2VuZXJpY0ZpZWxkQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW5lcmljLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyaWNGaWVsZENvbXBvbmVudDxUPlxuICBleHRlbmRzIEJhc2VGb3JtSW5wdXRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBHZW5lcmljRmllbGRDb3JlPFQ+XG57XG4gIEBJbnB1dCgpIHR5cGU/OiBHZW5lcmljRmllbGRUeXBlVHlwZSA9IEdlbmVyaWNGaWVsZFR5cGUudGV4dDtcblxuICBASW5wdXQoKSBmbG9hdExhYmVsPzogYm9vbGVhbjtcblxuICBASW5wdXQoKSBvcHRpb25MYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpIG9wdGlvblZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KCkgb3B0aW9uczogVFtdIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpIHNpemU/OiBGaWVsZFNpemVUeXBlID0gRmllbGRTaXplLm1lZGl1bTtcblxuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbGF6eSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGZpbHRlciA9IHRydWU7XG5cbiAgQElucHV0KCkgZGF0YXNvdXJjZT86IERhdGFzb3VyY2VUeXBlPFQ+XG5cbiAgQElucHV0KCkgZmlsdGVyRmllbGQ/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgc2hvd0ZpbHRlcj86IGJvb2xlYW47XG5cbiAgQElucHV0KCkgbG9jYWxTZWFyY2g/OiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzaG93ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGNsZWFyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGxhenlMb2FkID0gbmV3IEV2ZW50RW1pdHRlcjxMYXp5TG9hZEV2ZW50PigpO1xuICBAT3V0cHV0KCkgZmlsdGVyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlckV2ZW50PigpO1xuXG4gIGZpZWxkVHlwZXMgPSBHZW5lcmljRmllbGRUeXBlO1xuICBpY29ucyA9IEljb25zO1xufVxuIiwiQGlmICghdHlwZSB8fCB0eXBlID09PSBmaWVsZFR5cGVzLnRleHQpIHtcbjx2LXRleHRmaWVsZFxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsID09PSB0cnVlXCJcbiAgW3NpemVdPVwic2l6ZVwiXG4gIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4vPlxufSBAZWxzZSBpZiAodHlwZSA9PT0gZmllbGRUeXBlcy5kcm9wZG93biAmJiAhZGF0YXNvdXJjZSkge1xuPHYtZHJvcGRvd25cbiAgW2xhYmVsXT1cIiFmbG9hdExhYmVsID8gbGFiZWwgOiAnJ1wiXG4gIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWwgPyBsYWJlbCA6ICcnXCJcbiAgW3Rlc3RJZF09XCJ0ZXN0SWRcIlxuICBbb3B0aW9uc109XCJvcHRpb25zXCJcbiAgW29wdGlvbkxhYmVsXT1cIm9wdGlvbkxhYmVsXCJcbiAgW29wdGlvblZhbHVlXT1cIm9wdGlvblZhbHVlID8/IG9wdGlvbkxhYmVsXCJcbiAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gIFtmb3JjZU1pbldpZHRoXT1cInRydWVcIlxuICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICBbc2hvd0ZpbHRlcl09XCJzaG93RmlsdGVyID8/IGZhbHNlXCJcbiAgW2xvY2FsU2VhcmNoXT1cImxvY2FsU2VhcmNoID8/IGZhbHNlXCJcbiAgKGNoYW5nZUV2ZW50KT1cImNoYW5nZWQuZW1pdCgkZXZlbnQpXCJcbiAgKGNsZWFyRXZlbnQpPVwiY2xlYXJlZC5lbWl0KCRldmVudClcIlxuICAobGF6eUxvYWRFdmVudCk9XCJsYXp5TG9hZC5lbWl0KCRhbnkoJGV2ZW50KSlcIlxuICAoc2hvd0V2ZW50KT1cInNob3dlZC5lbWl0KCRldmVudClcIlxuLz4gXG59IEBlbHNlIGlmICh0eXBlID09PSBmaWVsZFR5cGVzLmRyb3Bkb3duICYmIGRhdGFzb3VyY2UpIHtcbiAgPHYtZHJvcGRvd25cbiAgICB1c2VEYXRhc291cmNlXG4gICAgW2ZvcmNlTWluV2lkdGhdPVwidHJ1ZVwiXG4gICAgW2RhdGFzb3VyY2VdPVwiZGF0YXNvdXJjZVwiXG4gICAgW29wdGlvbkxhYmVsXT1cIm9wdGlvbkxhYmVsXCJcbiAgICBbb3B0aW9uVmFsdWVdPVwib3B0aW9uVmFsdWUgPz8gb3B0aW9uTGFiZWxcIlxuICAgIFtsYWJlbF09XCIhZmxvYXRMYWJlbCA/IGxhYmVsIDogJydcIlxuICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWwgPyBsYWJlbCA6ICcnXCJcbiAgICBbdGVzdElkXT1cInRlc3RJZFwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICBbc2hvd0ZpbHRlcl09XCJzaG93RmlsdGVyID8/IGZhbHNlXCJcbiAgICBbZmlsdGVyRmllbGRdPVwiZmlsdGVyRmllbGQgPz8gJ2Z1bGx0ZXh0J1wiXG4gICAgW2xvY2FsU2VhcmNoXT1cImxvY2FsU2VhcmNoID8/IGZhbHNlXCJcbiAgICAoY2hhbmdlRXZlbnQpPVwiY2hhbmdlZC5lbWl0KCRldmVudClcIlxuICAgIChjbGVhckV2ZW50KT1cImNsZWFyZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAobGF6eUxvYWRFdmVudCk9XCJsYXp5TG9hZC5lbWl0KCRhbnkoJGV2ZW50KSlcIlxuICAgIChzaG93RXZlbnQpPVwic2hvd2VkLmVtaXQoJGV2ZW50KVwiXG4gIC8+XG59IEBlbHNlIGlmICh0eXBlID09PSBmaWVsZFR5cGVzLm11bHRpc2VsZWN0ICYmICFkYXRhc291cmNlKSB7XG48di1tdWx0aXNlbGVjdFxuICBbbGFiZWxdPVwiIWZsb2F0TGFiZWwgPyBsYWJlbCA6ICcnXCJcbiAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbCA/IGxhYmVsIDogJydcIlxuICBbdGVzdElkXT1cInRlc3RJZFwiXG4gIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxuICBbb3B0aW9uTGFiZWxdPVwib3B0aW9uTGFiZWxcIlxuICBbb3B0aW9uVmFsdWVdPVwib3B0aW9uVmFsdWUgPz8gb3B0aW9uTGFiZWxcIlxuICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgKGNoYW5nZUV2ZW50KT1cImNoYW5nZWQuZW1pdCgkZXZlbnQpXCJcbiAgKGNsZWFyRXZlbnQpPVwiY2xlYXJlZC5lbWl0KCRldmVudClcIlxuICAobGF6eUxvYWRFdmVudCk9XCJsYXp5TG9hZC5lbWl0KCRhbnkoJGV2ZW50KSlcIlxuICAoc2hvd0V2ZW50KT1cInNob3dlZC5lbWl0KCRldmVudClcIlxuLz5cbn0gQGVsc2UgaWYgKHR5cGUgPT09IGZpZWxkVHlwZXMubXVsdGlzZWxlY3QgJiYgZGF0YXNvdXJjZSkge1xuPHYtbXVsdGlzZWxlY3RcbiAgdXNlRGF0YXNvdXJjZVxuICBbZGF0YXNvdXJjZV09XCJkYXRhc291cmNlXCJcbiAgW29wdGlvbkxhYmVsXT1cIm9wdGlvbkxhYmVsXCJcbiAgW29wdGlvblZhbHVlXT1cIm9wdGlvblZhbHVlID8/IG9wdGlvbkxhYmVsXCJcbiAgW2xhYmVsXT1cIiFmbG9hdExhYmVsID8gbGFiZWwgOiAnJ1wiXG4gIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWwgPyBsYWJlbCA6ICcnXCJcbiAgW3Rlc3RJZF09XCJ0ZXN0SWRcIlxuICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgKGNoYW5nZUV2ZW50KT1cImNoYW5nZWQuZW1pdCgkZXZlbnQpXCJcbiAgKGNsZWFyRXZlbnQpPVwiY2xlYXJlZC5lbWl0KCRldmVudClcIlxuICAobGF6eUxvYWRFdmVudCk9XCJsYXp5TG9hZC5lbWl0KCRhbnkoJGV2ZW50KSlcIlxuICAoc2hvd0V2ZW50KT1cInNob3dlZC5lbWl0KCRldmVudClcIlxuLz5cbn0gQGVsc2UgaWYgKHR5cGUgPT09IGZpZWxkVHlwZXMuY2hlY2tib3gpIHtcbjx2LXRyaXN0YXRlY2hlY2tib3hcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW3Rlc3RJZF09XCJ0ZXN0SWRcIlxuICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuLz5cbn0gQGVsc2UgaWYgKHR5cGUgPT09IGZpZWxkVHlwZXMuc2ltcGxlY2hlY2tib3gpIHtcbjx2LWNoZWNrYm94XG4gIFtsYWJlbF09XCJsYWJlbFwiXG4gIFt0ZXN0SWRdPVwidGVzdElkXCJcbiAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbi8+XG59IEBlbHNlIGlmICh0eXBlID09PSBmaWVsZFR5cGVzLmNhbGVuZGFyKSB7XG48di1jYWxlbmRhclxuICBbbGFiZWxdPVwiIWZsb2F0TGFiZWwgPyBsYWJlbCA6ICcnXCJcbiAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbCA/IGxhYmVsIDogJydcIlxuICBbdGVzdElkXT1cInRlc3RJZFwiXG4gIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gIFtpY29uXT1cImljb25zLmNhbGVuZGFyXCJcbi8+XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './generic-field.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1wcmltZW5nL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9nZW5lcmljLWZpZWxkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dlbmVyaWMtZmllbGQuY29tcG9uZW50JztcclxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
|
3
|
+
import { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';
|
|
4
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
+
import { GenericFieldComponent } from '../generic-field';
|
|
6
|
+
import { generateFormGroup, getColumnClass, } from './generic-form.model';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@angular/forms";
|
|
10
|
+
import * as i3 from "@ngx-translate/core";
|
|
11
|
+
export class GenericFormComponent {
|
|
12
|
+
ngOnChanges(changes) {
|
|
13
|
+
if (changes['fields'] || changes['formGroup']) {
|
|
14
|
+
this.formGroupComputed = generateFormGroup(this.fields, this.formGroupComputed, this.formGroup, !!changes['formGroup']);
|
|
15
|
+
}
|
|
16
|
+
if (changes['columns']) {
|
|
17
|
+
this.columnClass = getColumnClass(this.columns);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GenericFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: GenericFormComponent, isStandalone: true, selector: "v-generic-form", inputs: { formGroup: "formGroup", fields: "fields", columns: "columns", showAsRow: "showAsRow" }, usesOnChanges: true, ngImport: i0, template: "@if (formGroupComputed) {\r\n <div\r\n class=\"v-generic-form\"\r\n [ngClass]=\"showAsRow ? 'd-flex flex-row' : 'row'\"\r\n [formGroup]=\"formGroupComputed\"\r\n >\r\n @for(field of fields; track field) { @if (columnClass) {\r\n <div class=\"v-generic-form__column {{ columnClass }}\">\r\n <v-generic-field\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n </div>\r\n } @else {\r\n <v-generic-field\r\n class=\"me-4\"\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n } }\r\n </div>\r\n }\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: GenericFieldComponent, selector: "v-generic-field", inputs: ["type", "floatLabel", "optionLabel", "optionValue", "options", "size", "loading", "lazy", "filter", "datasource", "filterField", "showFilter", "localSearch"], outputs: ["changed", "showed", "cleared", "lazyLoad", "filtered"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GenericFormComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{ selector: 'v-generic-form', standalone: true, imports: [
|
|
26
|
+
CommonModule,
|
|
27
|
+
GenericFieldComponent,
|
|
28
|
+
ReactiveFormsModule,
|
|
29
|
+
TranslateModule,
|
|
30
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (formGroupComputed) {\r\n <div\r\n class=\"v-generic-form\"\r\n [ngClass]=\"showAsRow ? 'd-flex flex-row' : 'row'\"\r\n [formGroup]=\"formGroupComputed\"\r\n >\r\n @for(field of fields; track field) { @if (columnClass) {\r\n <div class=\"v-generic-form__column {{ columnClass }}\">\r\n <v-generic-field\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n </div>\r\n } @else {\r\n <v-generic-field\r\n class=\"me-4\"\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n } }\r\n </div>\r\n }\r\n" }]
|
|
31
|
+
}], propDecorators: { formGroup: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], fields: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], columns: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], showAsRow: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLXByaW1lbmcvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2dlbmVyaWMtZm9ybS9nZW5lcmljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvdWktcHJpbWVuZy9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZ2VuZXJpYy1mb3JtL2dlbmVyaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDZixNQUFNLHNCQUFzQixDQUFDOzs7OztBQWM5QixNQUFNLE9BQU8sb0JBQW9CO0lBYS9CLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQ3hDLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLGlCQUFpQixFQUN0QixJQUFJLENBQUMsU0FBUyxFQUNkLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQ3ZCLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7OEdBMUJVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGlNQzdCakMsaXNEQThDQSwyQ0R6QkksWUFBWSw2SEFDWixxQkFBcUIsc1NBQ3JCLG1CQUFtQixtbEJBQ25CLGVBQWU7OzJGQUtOLG9CQUFvQjtrQkFaaEMsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZUFBZTtxQkFDaEIsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgR2VuZXJpY0ZpZWxkRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZXJpc29mdC91aS1jb3JlJztcbmltcG9ydCB7IEdlbmVyaWNGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2dlbmVyaWMtZmllbGQnO1xuaW1wb3J0IHtcbiAgZ2VuZXJhdGVGb3JtR3JvdXAsXG4gIGdldENvbHVtbkNsYXNzLFxufSBmcm9tICcuL2dlbmVyaWMtZm9ybS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3YtZ2VuZXJpYy1mb3JtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBHZW5lcmljRmllbGRDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW5lcmljLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR2VuZXJpY0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBmb3JtR3JvdXA/OiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpIGZpZWxkcz86IEdlbmVyaWNGaWVsZERlZmluaXRpb25bXTtcblxuICBASW5wdXQoKSBjb2x1bW5zPzogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIHNob3dBc1JvdyE6IGJvb2xlYW47XG5cbiAgZm9ybUdyb3VwQ29tcHV0ZWQhOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIGNvbHVtbkNsYXNzPzogc3RyaW5nO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZmllbGRzJ10gfHwgY2hhbmdlc1snZm9ybUdyb3VwJ10pIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwQ29tcHV0ZWQgPSBnZW5lcmF0ZUZvcm1Hcm91cChcbiAgICAgICAgdGhpcy5maWVsZHMsXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwQ29tcHV0ZWQsXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLFxuICAgICAgICAhIWNoYW5nZXNbJ2Zvcm1Hcm91cCddXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWydjb2x1bW5zJ10pIHtcbiAgICAgIHRoaXMuY29sdW1uQ2xhc3MgPSBnZXRDb2x1bW5DbGFzcyh0aGlzLmNvbHVtbnMpO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmIChmb3JtR3JvdXBDb21wdXRlZCkge1xyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwidi1nZW5lcmljLWZvcm1cIlxyXG4gICAgW25nQ2xhc3NdPVwic2hvd0FzUm93ID8gJ2QtZmxleCBmbGV4LXJvdycgOiAncm93J1wiXHJcbiAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cENvbXB1dGVkXCJcclxuICA+XHJcbiAgICBAZm9yKGZpZWxkIG9mIGZpZWxkczsgdHJhY2sgZmllbGQpIHsgQGlmIChjb2x1bW5DbGFzcykge1xyXG4gICAgPGRpdiBjbGFzcz1cInYtZ2VuZXJpYy1mb3JtX19jb2x1bW4ge3sgY29sdW1uQ2xhc3MgfX1cIj5cclxuICAgICAgPHYtZ2VuZXJpYy1maWVsZFxyXG4gICAgICAgIFt0eXBlXT1cImZpZWxkLnR5cGVcIlxyXG4gICAgICAgIFtsYWJlbF09XCJmaWVsZC5sYWJlbCA/PyAnTk9UIFNFVCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtmbG9hdExhYmVsXT1cImZpZWxkLmZsb2F0TGFiZWxcIlxyXG4gICAgICAgIFt0ZXN0SWRdPVwiZmllbGQudGVzdElkXCJcclxuICAgICAgICBbb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcclxuICAgICAgICBbb3B0aW9uTGFiZWxdPVwiZmllbGQub3B0aW9uTGFiZWxcIlxyXG4gICAgICAgIFtvcHRpb25WYWx1ZV09XCJmaWVsZC5vcHRpb25WYWx1ZSA/PyBmaWVsZC5vcHRpb25MYWJlbFwiXHJcbiAgICAgICAgW29wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXHJcbiAgICAgICAgW3NpemVdPVwiZmllbGQuc2l6ZVwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCJcclxuICAgICAgICBbZGF0YXNvdXJjZV09XCJmaWVsZC5kYXRhc291cmNlXCJcclxuICAgICAgICBbc2hvd0ZpbHRlcl09XCJmaWVsZC5zaG93RmlsdGVyXCJcclxuICAgICAgICBbZmlsdGVyRmllbGRdPVwiZmllbGQuZmlsdGVyRmllbGRcIlxyXG4gICAgICAgIFtsb2NhbFNlYXJjaF09XCJmaWVsZC5sb2NhbFNlYXJjaFwiXHJcbiAgICAgID48L3YtZ2VuZXJpYy1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8di1nZW5lcmljLWZpZWxkXHJcbiAgICAgIGNsYXNzPVwibWUtNFwiXHJcbiAgICAgIFt0eXBlXT1cImZpZWxkLnR5cGVcIlxyXG4gICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWwgPz8gJ05PVCBTRVQnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgW2Zsb2F0TGFiZWxdPVwiZmllbGQuZmxvYXRMYWJlbFwiXHJcbiAgICAgIFt0ZXN0SWRdPVwiZmllbGQudGVzdElkXCJcclxuICAgICAgW29wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXHJcbiAgICAgIFtvcHRpb25MYWJlbF09XCJmaWVsZC5vcHRpb25MYWJlbFwiXHJcbiAgICAgIFtvcHRpb25WYWx1ZV09XCJmaWVsZC5vcHRpb25WYWx1ZSA/PyBmaWVsZC5vcHRpb25MYWJlbFwiXHJcbiAgICAgIFtvcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxyXG4gICAgICBbc2l6ZV09XCJmaWVsZC5zaXplXCJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCJcclxuICAgICAgW2RhdGFzb3VyY2VdPVwiZmllbGQuZGF0YXNvdXJjZVwiXHJcbiAgICAgIFtzaG93RmlsdGVyXT1cImZpZWxkLnNob3dGaWx0ZXJcIlxyXG4gICAgICBbZmlsdGVyRmllbGRdPVwiZmllbGQuZmlsdGVyRmllbGRcIlxyXG4gICAgICBbbG9jYWxTZWFyY2hdPVwiZmllbGQubG9jYWxTZWFyY2hcIlxyXG4gICAgPjwvdi1nZW5lcmljLWZpZWxkPlxyXG4gICAgfSB9XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG4iXX0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { UntypedFormControl, UntypedFormGroup, } from '@angular/forms';
|
|
2
|
+
export function generateFormGroup(fields, lastGroupValue, inputGroup, inputGroupChanged = false) {
|
|
3
|
+
const formGroup = (inputGroupChanged
|
|
4
|
+
? inputGroup ?? lastGroupValue
|
|
5
|
+
: lastGroupValue ?? inputGroup) ?? new UntypedFormGroup({});
|
|
6
|
+
fields?.forEach((field) => {
|
|
7
|
+
const control = formGroup.get(field.name);
|
|
8
|
+
if (!control) {
|
|
9
|
+
formGroup.addControl(field.name, new UntypedFormControl(field.value, field.validator));
|
|
10
|
+
}
|
|
11
|
+
else if (control && control.value !== field.value) {
|
|
12
|
+
control.setValue(field.value);
|
|
13
|
+
control.setValidators(field.validator ?? null);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
control.setValidators(field.validator ?? null);
|
|
17
|
+
}
|
|
18
|
+
if (field.readonly && (control || formGroup.get(field.name))) {
|
|
19
|
+
formGroup.get(field.name)?.disable();
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
if (!inputGroupChanged) {
|
|
23
|
+
for (const field in formGroup.controls) {
|
|
24
|
+
const control = fields?.find((x) => x.name == field);
|
|
25
|
+
if (!control) {
|
|
26
|
+
formGroup.removeControl(field);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return formGroup;
|
|
31
|
+
}
|
|
32
|
+
export function getColumnClass(value) {
|
|
33
|
+
if (!value) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
switch (value) {
|
|
37
|
+
case 1:
|
|
38
|
+
return 'col-12';
|
|
39
|
+
case 2:
|
|
40
|
+
return 'col-12 col-md-6';
|
|
41
|
+
case 3:
|
|
42
|
+
return 'col-12 col-md-4';
|
|
43
|
+
case 4:
|
|
44
|
+
return 'col-12 col-md-3';
|
|
45
|
+
case 6:
|
|
46
|
+
return 'col-12 col-md-2';
|
|
47
|
+
}
|
|
48
|
+
return 'col-12 col-md-1';
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1mb3JtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvdWktcHJpbWVuZy9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZ2VuZXJpYy1mb3JtL2dlbmVyaWMtZm9ybS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGdCQUFnQixHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsTUFBNEMsRUFDNUMsY0FBNEMsRUFDNUMsVUFBd0MsRUFDeEMsaUJBQWlCLEdBQUcsS0FBSztJQUV6QixNQUFNLFNBQVMsR0FDYixDQUFDLGlCQUFpQjtRQUNoQixDQUFDLENBQUMsVUFBVSxJQUFJLGNBQWM7UUFDOUIsQ0FBQyxDQUFDLGNBQWMsSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWhFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUN4QixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixTQUFTLENBQUMsVUFBVSxDQUNsQixLQUFLLENBQUMsSUFBSSxFQUNWLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQ3JELENBQUM7UUFDSixDQUFDO2FBQU0sSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUM7YUFDSSxDQUFDO1lBQ0osT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdELFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sT0FBTyxHQUFHLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNiLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBYztJQUMzQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxLQUFLLEVBQUUsQ0FBQztRQUNkLEtBQUssQ0FBQztZQUNKLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLEtBQUssQ0FBQztZQUNKLE9BQU8saUJBQWlCLENBQUM7UUFDM0IsS0FBSyxDQUFDO1lBQ0osT0FBTyxpQkFBaUIsQ0FBQztRQUMzQixLQUFLLENBQUM7WUFDSixPQUFPLGlCQUFpQixDQUFDO1FBQzNCLEtBQUssQ0FBQztZQUNKLE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8saUJBQWlCLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG4gIFVudHlwZWRGb3JtR3JvdXAsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBHZW5lcmljRmllbGREZWZpbml0aW9uIH0gZnJvbSAnQHZlcmlzb2Z0L3VpLWNvcmUnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRm9ybUdyb3VwKFxyXG4gIGZpZWxkczogR2VuZXJpY0ZpZWxkRGVmaW5pdGlvbltdIHwgdW5kZWZpbmVkLFxyXG4gIGxhc3RHcm91cFZhbHVlOiBVbnR5cGVkRm9ybUdyb3VwIHwgdW5kZWZpbmVkLFxyXG4gIGlucHV0R3JvdXA6IFVudHlwZWRGb3JtR3JvdXAgfCB1bmRlZmluZWQsXHJcbiAgaW5wdXRHcm91cENoYW5nZWQgPSBmYWxzZVxyXG4pOiBVbnR5cGVkRm9ybUdyb3VwIHtcclxuICBjb25zdCBmb3JtR3JvdXAgPVxyXG4gICAgKGlucHV0R3JvdXBDaGFuZ2VkXHJcbiAgICAgID8gaW5wdXRHcm91cCA/PyBsYXN0R3JvdXBWYWx1ZVxyXG4gICAgICA6IGxhc3RHcm91cFZhbHVlID8/IGlucHV0R3JvdXApID8/IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcclxuXHJcbiAgZmllbGRzPy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoZmllbGQubmFtZSk7XHJcbiAgICBpZiAoIWNvbnRyb2wpIHtcclxuICAgICAgZm9ybUdyb3VwLmFkZENvbnRyb2woXHJcbiAgICAgICAgZmllbGQubmFtZSxcclxuICAgICAgICBuZXcgVW50eXBlZEZvcm1Db250cm9sKGZpZWxkLnZhbHVlLCBmaWVsZC52YWxpZGF0b3IpXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSAhPT0gZmllbGQudmFsdWUpIHtcclxuICAgICAgY29udHJvbC5zZXRWYWx1ZShmaWVsZC52YWx1ZSk7XHJcbiAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhmaWVsZC52YWxpZGF0b3IgPz8gbnVsbCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKGZpZWxkLnZhbGlkYXRvciA/PyBudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmllbGQucmVhZG9ubHkgJiYgKGNvbnRyb2wgfHwgZm9ybUdyb3VwLmdldChmaWVsZC5uYW1lKSkpIHtcclxuICAgICAgZm9ybUdyb3VwLmdldChmaWVsZC5uYW1lKT8uZGlzYWJsZSgpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG4gIGlmICghaW5wdXRHcm91cENoYW5nZWQpIHtcclxuICAgIGZvciAoY29uc3QgZmllbGQgaW4gZm9ybUdyb3VwLmNvbnRyb2xzKSB7XHJcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmaWVsZHM/LmZpbmQoKHgpID0+IHgubmFtZSA9PSBmaWVsZCk7XHJcbiAgICAgIGlmICghY29udHJvbCkge1xyXG4gICAgICAgIGZvcm1Hcm91cC5yZW1vdmVDb250cm9sKGZpZWxkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZvcm1Hcm91cDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbHVtbkNsYXNzKHZhbHVlPzogbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICBpZiAoIXZhbHVlKSB7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoICh2YWx1ZSkge1xyXG4gICAgY2FzZSAxOlxyXG4gICAgICByZXR1cm4gJ2NvbC0xMic7XHJcbiAgICBjYXNlIDI6XHJcbiAgICAgIHJldHVybiAnY29sLTEyIGNvbC1tZC02JztcclxuICAgIGNhc2UgMzpcclxuICAgICAgcmV0dXJuICdjb2wtMTIgY29sLW1kLTQnO1xyXG4gICAgY2FzZSA0OlxyXG4gICAgICByZXR1cm4gJ2NvbC0xMiBjb2wtbWQtMyc7XHJcbiAgICBjYXNlIDY6XHJcbiAgICAgIHJldHVybiAnY29sLTEyIGNvbC1tZC0yJztcclxuICB9XHJcblxyXG4gIHJldHVybiAnY29sLTEyIGNvbC1tZC0xJztcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './generic-form.component';
|
|
2
|
+
export * from './generic-form.model';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1wcmltZW5nL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9nZW5lcmljLWZvcm0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZW5lcmljLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9nZW5lcmljLWZvcm0ubW9kZWwnO1xyXG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './action-button-group';
|
|
2
|
+
export * from './filter';
|
|
3
|
+
export * from './feature-list';
|
|
4
|
+
export * from './generic-field';
|
|
5
|
+
export * from './generic-form';
|
|
6
|
+
export * from './dynamic-component';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1wcmltZW5nL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbi1idXR0b24tZ3JvdXAnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1saXN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9nZW5lcmljLWZpZWxkJztcclxuZXhwb3J0ICogZnJvbSAnLi9nZW5lcmljLWZvcm0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50JztcclxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './side-menu.module';
|
|
2
|
+
export * from './side-menu.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1wcmltZW5nL3NyYy9saWIvY29tcG9uZW50cy9zaWRlLW1lbnUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaWRlLW1lbnUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2lkZS1tZW51LmNvbXBvbmVudCc7XG4iXX0=
|