@verisoft/ui-core 18.6.0 → 18.7.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/.eslintrc.json +48 -0
- package/README.md +52 -3
- package/jest.config.ts +21 -0
- package/ng-package.json +7 -0
- package/package.json +19 -35
- package/project.json +36 -0
- package/{index.d.ts → src/index.ts} +6 -6
- package/src/lib/common/angular-helper.ts +44 -0
- package/src/lib/common/constants.ts +5 -0
- package/src/lib/common/control.models.ts +71 -0
- package/src/lib/common/datasource-component.model.spec.ts +42 -0
- package/src/lib/common/datasource-component.model.ts +43 -0
- package/{lib/common/deactivate-guard.model.d.ts → src/lib/common/deactivate-guard.model.ts} +5 -4
- package/src/lib/common/download-file.ts +20 -0
- package/src/lib/common/filter.ts +7 -0
- package/{lib/common/icons.d.ts → src/lib/common/icons.ts} +34 -34
- package/{lib/common/index.d.ts → src/lib/common/index.ts} +10 -10
- package/{lib/common/notificable-property.model.d.ts → src/lib/common/notificable-property.model.ts} +5 -4
- package/src/lib/common/rxjs.spec.ts +58 -0
- package/src/lib/common/rxjs.ts +21 -0
- package/src/lib/components/action-button-group/action-button-group.model.ts +15 -0
- package/src/lib/components/action-button-group/action-button.model.ts +15 -0
- package/{lib/components/action-button-group/index.d.ts → src/lib/components/action-button-group/index.ts} +2 -2
- package/src/lib/components/base-form/base-form-input.component.ts +121 -0
- package/src/lib/components/base-form/base-form.component.ts +236 -0
- package/src/lib/components/base-form/directives/detail-store.directive.ts +219 -0
- package/{lib/components/base-form/index.d.ts → src/lib/components/base-form/index.ts} +4 -4
- package/src/lib/components/base-form/models/base-form-input.models.ts +11 -0
- package/src/lib/components/base-form/models/base-form.models.ts +31 -0
- package/{lib/components/base-form/models/index.d.ts → src/lib/components/base-form/models/index.ts} +2 -2
- package/{lib/components/breadcrumb/breadcrumb.model.d.ts → src/lib/components/breadcrumb/breadcrumb.model.ts} +21 -16
- package/src/lib/components/breadcrumb/breadcrumb.service.ts +9 -0
- package/src/lib/components/breadcrumb/breadcrumbcore.component.ts +115 -0
- package/src/lib/components/breadcrumb/index.ts +3 -0
- package/{lib/components/button/button.model.d.ts → src/lib/components/button/button.model.ts} +21 -17
- package/src/lib/components/button/index.ts +1 -0
- package/{lib/components/calendar/calendar.model.d.ts → src/lib/components/calendar/calendar.model.ts} +16 -12
- package/src/lib/components/calendar/index.ts +1 -0
- package/src/lib/components/checkbox/checkbox.model.ts +8 -0
- package/src/lib/components/checkbox/index.ts +1 -0
- package/src/lib/components/confirm-dialog/confirm-dialog.model.ts +31 -0
- package/src/lib/components/confirm-dialog/index.ts +1 -0
- package/{lib/components/dropdown/dropdown.model.d.ts → src/lib/components/dropdown/dropdown.model.ts} +16 -12
- package/src/lib/components/dropdown/index.ts +1 -0
- package/src/lib/components/dynamic-component/dynamic-component.model.ts +2 -0
- package/src/lib/components/dynamic-component/index.ts +1 -0
- package/src/lib/components/filter/filter.model.ts +17 -0
- package/{lib/components/filter/index.d.ts → src/lib/components/filter/index.ts} +1 -1
- package/{lib/components/form-field/form-field.model.d.ts → src/lib/components/form-field/form-field.model.ts} +15 -11
- package/src/lib/components/form-field/index.ts +1 -0
- package/{lib/components/generic-field/generic-field.model.d.ts → src/lib/components/generic-field/generic-field.model.ts} +10 -6
- package/src/lib/components/generic-field/index.ts +1 -0
- package/src/lib/components/generic-form/generic-form.component.ts +33 -0
- package/{lib/components/generic-form/index.d.ts → src/lib/components/generic-form/index.ts} +1 -1
- package/{lib/components/header/header.model.d.ts → src/lib/components/header/header.model.ts} +18 -11
- package/src/lib/components/header/index.ts +1 -0
- package/src/lib/components/icons/icons.component.ts +17 -0
- package/src/lib/components/icons/icons.model.ts +10 -0
- package/src/lib/components/icons/index.ts +2 -0
- package/{lib/components/index.d.ts → src/lib/components/index.ts} +35 -35
- package/src/lib/components/input-group/index.ts +1 -0
- package/{lib/components/input-group/input-group.model.d.ts → src/lib/components/input-group/input-group.model.ts} +17 -12
- package/src/lib/components/loader/index.ts +1 -0
- package/src/lib/components/loader/loader.model.ts +7 -0
- package/src/lib/components/multiselect/index.ts +1 -0
- package/{lib/components/multiselect/mutiselect.model.d.ts → src/lib/components/multiselect/mutiselect.model.ts} +13 -9
- package/src/lib/components/number-input/index.ts +1 -0
- package/{lib/components/number-input/number-input.model.d.ts → src/lib/components/number-input/number-input.model.ts} +14 -10
- package/{lib/components/page-header/index.d.ts → src/lib/components/page-header/index.ts} +3 -3
- package/{lib/components/page-header/page-header.model.d.ts → src/lib/components/page-header/page-header.model.ts} +11 -7
- package/src/lib/components/page-header/page-header.service.ts +9 -0
- package/src/lib/components/page-header/page-headercore.component.ts +40 -0
- package/src/lib/components/password/index.ts +1 -0
- package/{lib/components/password/password.model.d.ts → src/lib/components/password/password.model.ts} +25 -19
- package/src/lib/components/radiobutton/index.ts +1 -0
- package/{lib/components/radiobutton/radiobutton.model.d.ts → src/lib/components/radiobutton/radiobutton.model.ts} +16 -11
- package/src/lib/components/section/index.ts +1 -0
- package/{lib/components/section/section.model.d.ts → src/lib/components/section/section.model.ts} +11 -7
- package/src/lib/components/side-menu/directives/side-menu-service.directive.ts +31 -0
- package/{lib/components/side-menu/index.d.ts → src/lib/components/side-menu/index.ts} +4 -4
- package/src/lib/components/side-menu/services/side-menu-provider.service.ts +13 -0
- package/src/lib/components/side-menu/services/side-menu.service.ts +62 -0
- package/src/lib/components/side-menu/side-menu.model.ts +67 -0
- package/src/lib/components/slider/index.ts +1 -0
- package/{lib/components/slider/slider.model.d.ts → src/lib/components/slider/slider.model.ts} +13 -9
- package/src/lib/components/snackbar/index.ts +1 -0
- package/src/lib/components/snackbar/snackbar.model.ts +7 -0
- package/src/lib/components/stepper/index.ts +1 -0
- package/{lib/components/stepper/stepper.model.d.ts → src/lib/components/stepper/stepper.model.ts} +24 -19
- package/src/lib/components/switch/index.ts +1 -0
- package/src/lib/components/switch/switch.model.ts +8 -0
- package/src/lib/components/tab-view/index.ts +1 -0
- package/{lib/components/tab-view/tab-view.model.d.ts → src/lib/components/tab-view/tab-view.model.ts} +22 -17
- package/src/lib/components/table/column-configuration.ts +38 -0
- package/{lib/components/table/index.d.ts → src/lib/components/table/index.ts} +4 -4
- package/src/lib/components/table/table-builder.ts +93 -0
- package/src/lib/components/table/table-column.directive.ts +62 -0
- package/src/lib/components/table/table.models.ts +261 -0
- package/src/lib/components/table-filter/index.ts +1 -0
- package/{lib/components/table-filter/table-filter.model.d.ts → src/lib/components/table-filter/table-filter.model.ts} +22 -17
- package/src/lib/components/textarea/index.ts +1 -0
- package/{lib/components/textarea/textarea.model.d.ts → src/lib/components/textarea/textarea.model.ts} +13 -9
- package/src/lib/components/textfield/index.ts +1 -0
- package/{lib/components/textfield/textfield.model.d.ts → src/lib/components/textfield/textfield.model.ts} +13 -9
- package/src/lib/components/tristatecheckbox/index.ts +1 -0
- package/src/lib/components/tristatecheckbox/tristatecheckbox.model.ts +8 -0
- package/src/lib/components/unsubscribe.component.ts +12 -0
- package/src/lib/directives/datasource.directive.ts +275 -0
- package/{lib/directives/index.d.ts → src/lib/directives/index.ts} +4 -4
- package/src/lib/directives/shortcut.directive.ts +37 -0
- package/src/lib/directives/table-datasource.directive.ts +184 -0
- package/src/lib/directives/table-filter.directive.ts +69 -0
- package/src/lib/format/format.ts +74 -0
- package/src/lib/pipes/error/error.codes.ts +11 -0
- package/src/lib/pipes/error/error.models.ts +27 -0
- package/src/lib/pipes/error/error.pipe.ts +27 -0
- package/src/lib/pipes/error/warning.codes.ts +5 -0
- package/src/lib/pipes/error/warning.pipe.ts +27 -0
- package/src/lib/pipes/helper/enumToList.pipe.ts +16 -0
- package/{lib/pipes/index.d.ts → src/lib/pipes/index.ts} +7 -7
- package/src/lib/pipes/keyOrFn/keyOrFn.pipe.ts +23 -0
- package/src/lib/services/confirm-dialog.service.ts +44 -0
- package/{lib/services/index.d.ts → src/lib/services/index.ts} +4 -4
- package/src/lib/services/leave-form.service.ts +53 -0
- package/src/lib/services/screen-size.service.ts +25 -0
- package/src/lib/services/table.service.ts +22 -0
- package/src/test-setup.ts +8 -0
- package/tsconfig.json +28 -0
- package/tsconfig.lib.json +17 -0
- package/tsconfig.lib.prod.json +9 -0
- package/tsconfig.spec.json +16 -0
- package/esm2022/index.mjs +0 -7
- package/esm2022/lib/common/angular-helper.mjs +0 -23
- package/esm2022/lib/common/constants.mjs +0 -4
- package/esm2022/lib/common/control.models.mjs +0 -63
- package/esm2022/lib/common/datasource-component.model.mjs +0 -14
- package/esm2022/lib/common/deactivate-guard.model.mjs +0 -2
- package/esm2022/lib/common/download-file.mjs +0 -13
- package/esm2022/lib/common/filter.mjs +0 -7
- package/esm2022/lib/common/icons.mjs +0 -2
- package/esm2022/lib/common/index.mjs +0 -11
- package/esm2022/lib/common/notificable-property.model.mjs +0 -2
- package/esm2022/lib/common/rxjs.mjs +0 -11
- package/esm2022/lib/components/action-button-group/action-button-group.model.mjs +0 -3
- package/esm2022/lib/components/action-button-group/action-button.model.mjs +0 -2
- package/esm2022/lib/components/action-button-group/index.mjs +0 -3
- package/esm2022/lib/components/base-form/base-form-input.component.mjs +0 -100
- package/esm2022/lib/components/base-form/base-form.component.mjs +0 -187
- package/esm2022/lib/components/base-form/directives/detail-store.directive.mjs +0 -163
- package/esm2022/lib/components/base-form/index.mjs +0 -5
- package/esm2022/lib/components/base-form/models/base-form-input.models.mjs +0 -7
- package/esm2022/lib/components/base-form/models/base-form.models.mjs +0 -10
- package/esm2022/lib/components/base-form/models/index.mjs +0 -3
- package/esm2022/lib/components/breadcrumb/breadcrumb.model.mjs +0 -3
- package/esm2022/lib/components/breadcrumb/breadcrumb.service.mjs +0 -16
- package/esm2022/lib/components/breadcrumb/breadcrumbcore.component.mjs +0 -88
- package/esm2022/lib/components/breadcrumb/index.mjs +0 -4
- package/esm2022/lib/components/button/button.model.mjs +0 -3
- package/esm2022/lib/components/button/index.mjs +0 -2
- package/esm2022/lib/components/calendar/calendar.model.mjs +0 -3
- package/esm2022/lib/components/calendar/index.mjs +0 -2
- package/esm2022/lib/components/checkbox/checkbox.model.mjs +0 -3
- package/esm2022/lib/components/checkbox/index.mjs +0 -2
- package/esm2022/lib/components/confirm-dialog/confirm-dialog.model.mjs +0 -3
- package/esm2022/lib/components/confirm-dialog/index.mjs +0 -2
- package/esm2022/lib/components/dropdown/dropdown.model.mjs +0 -3
- package/esm2022/lib/components/dropdown/index.mjs +0 -2
- package/esm2022/lib/components/dynamic-component/dynamic-component.model.mjs +0 -2
- package/esm2022/lib/components/dynamic-component/index.mjs +0 -2
- package/esm2022/lib/components/filter/filter.model.mjs +0 -3
- package/esm2022/lib/components/filter/index.mjs +0 -2
- package/esm2022/lib/components/form-field/form-field.model.mjs +0 -3
- package/esm2022/lib/components/form-field/index.mjs +0 -2
- package/esm2022/lib/components/generic-field/generic-field.model.mjs +0 -3
- package/esm2022/lib/components/generic-field/index.mjs +0 -2
- package/esm2022/lib/components/generic-form/generic-form.component.mjs +0 -10
- package/esm2022/lib/components/generic-form/index.mjs +0 -2
- package/esm2022/lib/components/header/header.model.mjs +0 -4
- package/esm2022/lib/components/header/index.mjs +0 -2
- package/esm2022/lib/components/icons/icons.component.mjs +0 -29
- package/esm2022/lib/components/icons/icons.model.mjs +0 -3
- package/esm2022/lib/components/icons/index.mjs +0 -3
- package/esm2022/lib/components/index.mjs +0 -36
- package/esm2022/lib/components/input-group/index.mjs +0 -2
- package/esm2022/lib/components/input-group/input-group.model.mjs +0 -3
- package/esm2022/lib/components/loader/index.mjs +0 -2
- package/esm2022/lib/components/loader/loader.model.mjs +0 -3
- package/esm2022/lib/components/multiselect/index.mjs +0 -2
- package/esm2022/lib/components/multiselect/mutiselect.model.mjs +0 -3
- package/esm2022/lib/components/number-input/index.mjs +0 -2
- package/esm2022/lib/components/number-input/number-input.model.mjs +0 -3
- package/esm2022/lib/components/page-header/index.mjs +0 -4
- package/esm2022/lib/components/page-header/page-header.model.mjs +0 -3
- package/esm2022/lib/components/page-header/page-header.service.mjs +0 -16
- package/esm2022/lib/components/page-header/page-headercore.component.mjs +0 -52
- package/esm2022/lib/components/password/index.mjs +0 -2
- package/esm2022/lib/components/password/password.model.mjs +0 -11
- package/esm2022/lib/components/radiobutton/index.mjs +0 -2
- package/esm2022/lib/components/radiobutton/radiobutton.model.mjs +0 -3
- package/esm2022/lib/components/section/index.mjs +0 -2
- package/esm2022/lib/components/section/section.model.mjs +0 -3
- package/esm2022/lib/components/side-menu/directives/side-menu-service.directive.mjs +0 -31
- package/esm2022/lib/components/side-menu/index.mjs +0 -5
- package/esm2022/lib/components/side-menu/services/side-menu-provider.service.mjs +0 -25
- package/esm2022/lib/components/side-menu/services/side-menu.service.mjs +0 -50
- package/esm2022/lib/components/side-menu/side-menu.model.mjs +0 -6
- package/esm2022/lib/components/slider/index.mjs +0 -2
- package/esm2022/lib/components/slider/slider.model.mjs +0 -3
- package/esm2022/lib/components/snackbar/index.mjs +0 -2
- package/esm2022/lib/components/snackbar/snackbar.model.mjs +0 -3
- package/esm2022/lib/components/stepper/index.mjs +0 -2
- package/esm2022/lib/components/stepper/stepper.model.mjs +0 -3
- package/esm2022/lib/components/switch/index.mjs +0 -2
- package/esm2022/lib/components/switch/switch.model.mjs +0 -3
- package/esm2022/lib/components/tab-view/index.mjs +0 -2
- package/esm2022/lib/components/tab-view/tab-view.model.mjs +0 -3
- package/esm2022/lib/components/table/column-configuration.mjs +0 -32
- package/esm2022/lib/components/table/index.mjs +0 -5
- package/esm2022/lib/components/table/table-builder.mjs +0 -68
- package/esm2022/lib/components/table/table-column.directive.mjs +0 -86
- package/esm2022/lib/components/table/table.models.mjs +0 -150
- package/esm2022/lib/components/table-filter/index.mjs +0 -2
- package/esm2022/lib/components/table-filter/table-filter.model.mjs +0 -3
- package/esm2022/lib/components/textarea/index.mjs +0 -2
- package/esm2022/lib/components/textarea/textarea.model.mjs +0 -3
- package/esm2022/lib/components/textfield/index.mjs +0 -2
- package/esm2022/lib/components/textfield/textfield.model.mjs +0 -3
- package/esm2022/lib/components/tristatecheckbox/index.mjs +0 -2
- package/esm2022/lib/components/tristatecheckbox/tristatecheckbox.model.mjs +0 -3
- package/esm2022/lib/components/unsubscribe.component.mjs +0 -16
- package/esm2022/lib/directives/datasource.directive.mjs +0 -175
- package/esm2022/lib/directives/index.mjs +0 -5
- package/esm2022/lib/directives/shortcut.directive.mjs +0 -46
- package/esm2022/lib/directives/table-datasource.directive.mjs +0 -124
- package/esm2022/lib/directives/table-filter.directive.mjs +0 -56
- package/esm2022/lib/format/format.mjs +0 -63
- package/esm2022/lib/pipes/error/error.codes.mjs +0 -10
- package/esm2022/lib/pipes/error/error.models.mjs +0 -21
- package/esm2022/lib/pipes/error/error.pipe.mjs +0 -31
- package/esm2022/lib/pipes/error/warning.codes.mjs +0 -4
- package/esm2022/lib/pipes/error/warning.pipe.mjs +0 -31
- package/esm2022/lib/pipes/helper/enumToList.pipe.mjs +0 -22
- package/esm2022/lib/pipes/index.mjs +0 -8
- package/esm2022/lib/pipes/keyOrFn/keyOrFn.pipe.mjs +0 -31
- package/esm2022/lib/services/confirm-dialog.service.mjs +0 -45
- package/esm2022/lib/services/index.mjs +0 -5
- package/esm2022/lib/services/leave-form.service.mjs +0 -52
- package/esm2022/lib/services/screen-size.service.mjs +0 -29
- package/esm2022/lib/services/table.service.mjs +0 -27
- package/esm2022/verisoft-ui-core.mjs +0 -5
- package/fesm2022/verisoft-ui-core.mjs +0 -2014
- package/fesm2022/verisoft-ui-core.mjs.map +0 -1
- package/lib/common/angular-helper.d.ts +0 -1
- package/lib/common/constants.d.ts +0 -3
- package/lib/common/control.models.d.ts +0 -62
- package/lib/common/datasource-component.model.d.ts +0 -19
- package/lib/common/download-file.d.ts +0 -2
- package/lib/common/filter.d.ts +0 -1
- package/lib/common/rxjs.d.ts +0 -2
- package/lib/components/action-button-group/action-button-group.model.d.ts +0 -12
- package/lib/components/action-button-group/action-button.model.d.ts +0 -14
- package/lib/components/base-form/base-form-input.component.d.ts +0 -30
- package/lib/components/base-form/base-form.component.d.ts +0 -50
- package/lib/components/base-form/directives/detail-store.directive.d.ts +0 -35
- package/lib/components/base-form/models/base-form-input.models.d.ts +0 -7
- package/lib/components/base-form/models/base-form.models.d.ts +0 -18
- package/lib/components/breadcrumb/breadcrumb.service.d.ts +0 -8
- package/lib/components/breadcrumb/breadcrumbcore.component.d.ts +0 -30
- package/lib/components/breadcrumb/index.d.ts +0 -3
- package/lib/components/button/index.d.ts +0 -1
- package/lib/components/calendar/index.d.ts +0 -1
- package/lib/components/checkbox/checkbox.model.d.ts +0 -4
- package/lib/components/checkbox/index.d.ts +0 -1
- package/lib/components/confirm-dialog/confirm-dialog.model.d.ts +0 -25
- package/lib/components/confirm-dialog/index.d.ts +0 -1
- package/lib/components/dropdown/index.d.ts +0 -1
- package/lib/components/dynamic-component/dynamic-component.model.d.ts +0 -3
- package/lib/components/dynamic-component/index.d.ts +0 -1
- package/lib/components/filter/filter.model.d.ts +0 -13
- package/lib/components/form-field/index.d.ts +0 -1
- package/lib/components/generic-field/index.d.ts +0 -1
- package/lib/components/generic-form/generic-form.component.d.ts +0 -30
- package/lib/components/header/index.d.ts +0 -1
- package/lib/components/icons/icons.component.d.ts +0 -6
- package/lib/components/icons/icons.model.d.ts +0 -6
- package/lib/components/icons/index.d.ts +0 -2
- package/lib/components/input-group/index.d.ts +0 -1
- package/lib/components/loader/index.d.ts +0 -1
- package/lib/components/loader/loader.model.d.ts +0 -3
- package/lib/components/multiselect/index.d.ts +0 -1
- package/lib/components/number-input/index.d.ts +0 -1
- package/lib/components/page-header/page-header.service.d.ts +0 -8
- package/lib/components/page-header/page-headercore.component.d.ts +0 -20
- package/lib/components/password/index.d.ts +0 -1
- package/lib/components/radiobutton/index.d.ts +0 -1
- package/lib/components/section/index.d.ts +0 -1
- package/lib/components/side-menu/directives/side-menu-service.directive.d.ts +0 -11
- package/lib/components/side-menu/services/side-menu-provider.service.d.ts +0 -10
- package/lib/components/side-menu/services/side-menu.service.d.ts +0 -15
- package/lib/components/side-menu/side-menu.model.d.ts +0 -42
- package/lib/components/slider/index.d.ts +0 -1
- package/lib/components/snackbar/index.d.ts +0 -1
- package/lib/components/snackbar/snackbar.model.d.ts +0 -3
- package/lib/components/stepper/index.d.ts +0 -1
- package/lib/components/switch/index.d.ts +0 -1
- package/lib/components/switch/switch.model.d.ts +0 -4
- package/lib/components/tab-view/index.d.ts +0 -1
- package/lib/components/table/column-configuration.d.ts +0 -12
- package/lib/components/table/table-builder.d.ts +0 -15
- package/lib/components/table/table-column.directive.d.ts +0 -25
- package/lib/components/table/table.models.d.ts +0 -132
- package/lib/components/table-filter/index.d.ts +0 -1
- package/lib/components/textarea/index.d.ts +0 -1
- package/lib/components/textfield/index.d.ts +0 -1
- package/lib/components/tristatecheckbox/index.d.ts +0 -1
- package/lib/components/tristatecheckbox/tristatecheckbox.model.d.ts +0 -4
- package/lib/components/unsubscribe.component.d.ts +0 -9
- package/lib/directives/datasource.directive.d.ts +0 -32
- package/lib/directives/shortcut.directive.d.ts +0 -11
- package/lib/directives/table-datasource.directive.d.ts +0 -29
- package/lib/directives/table-filter.directive.d.ts +0 -17
- package/lib/format/format.d.ts +0 -9
- package/lib/pipes/error/error.codes.d.ts +0 -5
- package/lib/pipes/error/error.models.d.ts +0 -8
- package/lib/pipes/error/error.pipe.d.ts +0 -8
- package/lib/pipes/error/warning.codes.d.ts +0 -5
- package/lib/pipes/error/warning.pipe.d.ts +0 -8
- package/lib/pipes/helper/enumToList.pipe.d.ts +0 -7
- package/lib/pipes/keyOrFn/keyOrFn.pipe.d.ts +0 -7
- package/lib/services/confirm-dialog.service.d.ts +0 -12
- package/lib/services/leave-form.service.d.ts +0 -13
- package/lib/services/screen-size.service.d.ts +0 -10
- package/lib/services/table.service.d.ts +0 -13
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, inject, Input } from '@angular/core';
|
|
3
|
-
import { FormControl, FormControlDirective, FormControlName, NgControl, NgModel, ReactiveFormsModule, } from '@angular/forms';
|
|
4
|
-
import { ERROR_PROVIDER_TOKEN } from '@verisoft/core';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
const noop = () => {
|
|
8
|
-
/* */
|
|
9
|
-
};
|
|
10
|
-
export class BaseFormInputComponent {
|
|
11
|
-
control;
|
|
12
|
-
ngControl;
|
|
13
|
-
errorService = inject(ERROR_PROVIDER_TOKEN);
|
|
14
|
-
formControl;
|
|
15
|
-
constructor(control) {
|
|
16
|
-
this.control = control;
|
|
17
|
-
this.ngControl = control;
|
|
18
|
-
if (this.control) {
|
|
19
|
-
this.ngControl.valueAccessor = this;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
label;
|
|
23
|
-
required = false;
|
|
24
|
-
readonly;
|
|
25
|
-
disabled;
|
|
26
|
-
tooltip;
|
|
27
|
-
formDisplay = 'flex';
|
|
28
|
-
clearable = true;
|
|
29
|
-
placeholder = '';
|
|
30
|
-
testId;
|
|
31
|
-
inputId = Math.random().toString(36).substring(2);
|
|
32
|
-
selectionChanged = noop;
|
|
33
|
-
onTouch = noop;
|
|
34
|
-
registerOnChange(fn) {
|
|
35
|
-
this.selectionChanged = fn;
|
|
36
|
-
}
|
|
37
|
-
registerOnTouched(fn) {
|
|
38
|
-
this.onTouch = fn;
|
|
39
|
-
}
|
|
40
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
41
|
-
writeValue(value) { }
|
|
42
|
-
ngOnInit() {
|
|
43
|
-
if (this.ngControl) {
|
|
44
|
-
if (this.ngControl instanceof FormControlName) {
|
|
45
|
-
this.formControl =
|
|
46
|
-
this.ngControl.control ||
|
|
47
|
-
this.ngControl.formDirective?.form.controls[this.ngControl.name];
|
|
48
|
-
}
|
|
49
|
-
else if (this.ngControl instanceof FormControlDirective ||
|
|
50
|
-
this.ngControl instanceof NgModel) {
|
|
51
|
-
this.formControl = this.ngControl.control;
|
|
52
|
-
if (this.ngControl instanceof NgModel) {
|
|
53
|
-
this.formControl.valueChanges.subscribe(() => this.ngControl?.viewToModelUpdate(this.control?.value));
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
this.formControl = new FormControl();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
this.formControl = new FormControl();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
isRequired() {
|
|
65
|
-
if (this.ngControl) {
|
|
66
|
-
const validator = this.ngControl?.control?.validator?.({});
|
|
67
|
-
return this.required || (validator && validator['required']);
|
|
68
|
-
}
|
|
69
|
-
return this.required;
|
|
70
|
-
}
|
|
71
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BaseFormInputComponent, deps: [{ token: i1.NgControl }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: BaseFormInputComponent, isStandalone: true, selector: "ng-component", inputs: { label: "label", required: "required", readonly: "readonly", disabled: "disabled", tooltip: "tooltip", formDisplay: "formDisplay", clearable: "clearable", placeholder: "placeholder", testId: "testId" }, ngImport: i0, template: '', isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }] });
|
|
73
|
-
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BaseFormInputComponent, decorators: [{
|
|
75
|
-
type: Component,
|
|
76
|
-
args: [{
|
|
77
|
-
template: '',
|
|
78
|
-
standalone: true,
|
|
79
|
-
imports: [CommonModule, ReactiveFormsModule],
|
|
80
|
-
}]
|
|
81
|
-
}], ctorParameters: () => [{ type: i1.NgControl }], propDecorators: { label: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], required: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], readonly: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], disabled: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], tooltip: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], formDisplay: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], clearable: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], placeholder: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], testId: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UtZm9ybS9iYXNlLWZvcm0taW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUdMLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsZUFBZSxFQUVmLFNBQVMsRUFDVCxPQUFPLEVBQ1AsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUd0RCxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUU7SUFDaEIsS0FBSztBQUNQLENBQUMsQ0FBQztBQU9GLE1BQU0sT0FBTyxzQkFBc0I7SUFTSjtJQU5wQixTQUFTLENBQWE7SUFFdEIsWUFBWSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXJELFdBQVcsQ0FBZTtJQUUxQixZQUE2QixPQUFrQjtRQUFsQixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQzdDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUdELEtBQUssQ0FBVTtJQUdmLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFHakIsUUFBUSxDQUFXO0lBR25CLFFBQVEsQ0FBVztJQUduQixPQUFPLENBQVU7SUFHakIsV0FBVyxHQUFxQixNQUFNLENBQUM7SUFHdkMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUdqQixXQUFXLEdBQVksRUFBRSxDQUFDO0lBRzFCLE1BQU0sQ0FBVTtJQUVoQixPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbEQsZ0JBQWdCLEdBQVEsSUFBSSxDQUFDO0lBRTdCLE9BQU8sR0FBUSxJQUFJLENBQUM7SUFFcEIsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsVUFBVSxDQUFDLEtBQVUsSUFBUyxDQUFDO0lBRS9CLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLElBQUksQ0FBQyxTQUFTLFlBQVksZUFBZSxFQUFFLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxXQUFXO29CQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTzt3QkFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFvQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQ2xFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBYyxDQUNkLENBQUM7WUFDdEIsQ0FBQztpQkFBTSxJQUNMLElBQUksQ0FBQyxTQUFTLFlBQVksb0JBQW9CO2dCQUM5QyxJQUFJLENBQUMsU0FBUyxZQUFZLE9BQU8sRUFDakMsQ0FBQztnQkFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO2dCQUMxQyxJQUFJLElBQUksQ0FBQyxTQUFTLFlBQVksT0FBTyxFQUFFLENBQUM7b0JBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDM0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUN2RCxDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FDcEQsRUFBcUIsQ0FDdEIsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7dUdBOUZVLHNCQUFzQjsyRkFBdEIsc0JBQXNCLDRSQUp2QixFQUFFLDJEQUVGLFlBQVksOEJBQUUsbUJBQW1COzsyRkFFaEMsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO29CQUNaLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7aUJBQzdDOzhFQWtCQyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1Db250cm9sRGlyZWN0aXZlLFxyXG4gIEZvcm1Db250cm9sTmFtZSxcclxuICBGb3JtR3JvdXBEaXJlY3RpdmUsXHJcbiAgTmdDb250cm9sLFxyXG4gIE5nTW9kZWwsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEVSUk9SX1BST1ZJREVSX1RPS0VOIH0gZnJvbSAnQHZlcmlzb2Z0L2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlSW5wdXRDb250cm9scyB9IGZyb20gJy4vbW9kZWxzL2Jhc2UtZm9ybS1pbnB1dC5tb2RlbHMnO1xyXG5cclxuY29uc3Qgbm9vcCA9ICgpID0+IHtcclxuICAvKiAqL1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXNlRm9ybUlucHV0Q29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBCYXNlSW5wdXRDb250cm9sczxhbnk+LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0XHJcbntcclxuICByZWFkb25seSBuZ0NvbnRyb2w/OiBOZ0NvbnRyb2w7XHJcblxyXG4gIHJlYWRvbmx5IGVycm9yU2VydmljZSA9IGluamVjdChFUlJPUl9QUk9WSURFUl9UT0tFTik7XHJcblxyXG4gIGZvcm1Db250cm9sITogRm9ybUNvbnRyb2w7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29udHJvbDogTmdDb250cm9sKSB7XHJcbiAgICB0aGlzLm5nQ29udHJvbCA9IGNvbnRyb2w7XHJcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBsYWJlbD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICByZXF1aXJlZCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJlYWRvbmx5ITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZCE6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdG9vbHRpcCE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBmb3JtRGlzcGxheTogJ2ZsZXgnIHwgJ2Jsb2NrJyA9ICdmbGV4JztcclxuXHJcbiAgQElucHV0KClcclxuICBjbGVhcmFibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGVzdElkPzogc3RyaW5nO1xyXG5cclxuICBpbnB1dElkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xyXG5cclxuICBzZWxlY3Rpb25DaGFuZ2VkOiBhbnkgPSBub29wO1xyXG5cclxuICBvblRvdWNoOiBhbnkgPSBub29wO1xyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xyXG4gICAgICBpZiAodGhpcy5uZ0NvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbE5hbWUpIHtcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sID1cclxuICAgICAgICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2wgfHxcclxuICAgICAgICAgICgodGhpcy5uZ0NvbnRyb2wuZm9ybURpcmVjdGl2ZSBhcyBGb3JtR3JvdXBEaXJlY3RpdmUpPy5mb3JtLmNvbnRyb2xzW1xyXG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC5uYW1lIGFzIHN0cmluZ1xyXG4gICAgICAgICAgXSBhcyBGb3JtQ29udHJvbCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbERpcmVjdGl2ZSB8fFxyXG4gICAgICAgIHRoaXMubmdDb250cm9sIGluc3RhbmNlb2YgTmdNb2RlbFxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sID0gdGhpcy5uZ0NvbnRyb2wuY29udHJvbDtcclxuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LnZpZXdUb01vZGVsVXBkYXRlKHRoaXMuY29udHJvbD8udmFsdWUpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzUmVxdWlyZWQoKSB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcclxuICAgICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbGlkYXRvcj8uKFxyXG4gICAgICAgIHt9IGFzIEFic3RyYWN0Q29udHJvbFxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm4gdGhpcy5yZXF1aXJlZCB8fCAodmFsaWRhdG9yICYmIHZhbGlkYXRvclsncmVxdWlyZWQnXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5yZXF1aXJlZDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Directive, EventEmitter, HostListener, inject, Input, Output, } from '@angular/core';
|
|
2
|
-
import { cloneDeep } from 'lodash-es';
|
|
3
|
-
import { Subject, takeUntil, filter, map } from 'rxjs';
|
|
4
|
-
import { PreventUnsavedChangesDirective } from '../../services';
|
|
5
|
-
import { isFormStateEqual } from './models';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class BaseFormDirective {
|
|
8
|
-
data;
|
|
9
|
-
dataChange = new EventEmitter();
|
|
10
|
-
statusChange = new EventEmitter();
|
|
11
|
-
formSubmit = new EventEmitter();
|
|
12
|
-
formClear = new EventEmitter();
|
|
13
|
-
formDestroyed$ = new Subject();
|
|
14
|
-
keys = [];
|
|
15
|
-
formGroup;
|
|
16
|
-
cd = inject(ChangeDetectorRef);
|
|
17
|
-
valueInitialization = false;
|
|
18
|
-
lastState;
|
|
19
|
-
guardViewChild;
|
|
20
|
-
formSubmitted = false;
|
|
21
|
-
guard = inject(PreventUnsavedChangesDirective);
|
|
22
|
-
unloadHandler(event) {
|
|
23
|
-
if (this.formGroup.dirty) {
|
|
24
|
-
event.preventDefault();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
canDeactivate() {
|
|
28
|
-
if (this.formGroup.dirty && !this.formSubmitted) {
|
|
29
|
-
const result = this.guard.showConfirmationDialog();
|
|
30
|
-
return result;
|
|
31
|
-
}
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
ngOnInit() {
|
|
35
|
-
this.initializeFormGroup();
|
|
36
|
-
}
|
|
37
|
-
ngOnChanges(changes) {
|
|
38
|
-
if (changes['data'] && this.formGroup) {
|
|
39
|
-
this.valueInitialization = true;
|
|
40
|
-
const dirty = this.formGroup.dirty;
|
|
41
|
-
this.formGroup.patchValue(this.fromModel(this.data), {
|
|
42
|
-
emitEvent: false,
|
|
43
|
-
onlySelf: true,
|
|
44
|
-
});
|
|
45
|
-
this.formGroup.updateValueAndValidity();
|
|
46
|
-
if (!dirty) {
|
|
47
|
-
this.formGroup.markAsPristine();
|
|
48
|
-
}
|
|
49
|
-
this.valueInitialization = false;
|
|
50
|
-
this.createAndEmitIfFormStateChanged();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
ngAfterViewInit() {
|
|
54
|
-
this.cd.detectChanges();
|
|
55
|
-
}
|
|
56
|
-
ngOnDestroy() {
|
|
57
|
-
this.formDestroyed$.next();
|
|
58
|
-
this.formDestroyed$.complete();
|
|
59
|
-
}
|
|
60
|
-
createCompleteData() {
|
|
61
|
-
const change = this.toModel(this.formGroup?.value);
|
|
62
|
-
this.recursiveObjectAttributesTransformation(change);
|
|
63
|
-
const updatedData = this.applyChanges(cloneDeep(this.data), cloneDeep(change));
|
|
64
|
-
return updatedData;
|
|
65
|
-
}
|
|
66
|
-
submit() {
|
|
67
|
-
this.formSubmitted = true;
|
|
68
|
-
this.formGroup.markAllAsTouched();
|
|
69
|
-
if (!this.formGroup.invalid) {
|
|
70
|
-
this.formSubmit.emit(this.createCompleteData());
|
|
71
|
-
}
|
|
72
|
-
this.formGroup.markAsPristine();
|
|
73
|
-
}
|
|
74
|
-
clear() {
|
|
75
|
-
this.formClear.emit();
|
|
76
|
-
}
|
|
77
|
-
initializeFormGroup() {
|
|
78
|
-
this.formGroup = this.createFormGroup();
|
|
79
|
-
this.valueInitialization = true;
|
|
80
|
-
this.formGroup.patchValue(this.fromModel(this.data), {
|
|
81
|
-
emitEvent: false,
|
|
82
|
-
onlySelf: true,
|
|
83
|
-
});
|
|
84
|
-
this.formGroup.markAsPristine();
|
|
85
|
-
this.initValueChanges();
|
|
86
|
-
this.initStatusChanges();
|
|
87
|
-
this.valueInitialization = false;
|
|
88
|
-
}
|
|
89
|
-
initValueChanges() {
|
|
90
|
-
this.formGroup.valueChanges
|
|
91
|
-
.pipe(takeUntil(this.formDestroyed$), filter(() => !this.valueInitialization), map((value) => {
|
|
92
|
-
const change = this.toModel(value);
|
|
93
|
-
this.recursiveObjectAttributesTransformation(change);
|
|
94
|
-
const updatedData = this.applyChanges(cloneDeep(this.data), cloneDeep(change));
|
|
95
|
-
return updatedData;
|
|
96
|
-
}))
|
|
97
|
-
.subscribe((updatedData) => {
|
|
98
|
-
this.dataChange.emit(updatedData);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
initStatusChanges() {
|
|
102
|
-
this.formGroup.statusChanges
|
|
103
|
-
.pipe(takeUntil(this.formDestroyed$))
|
|
104
|
-
.subscribe(() => {
|
|
105
|
-
if (!this.valueInitialization) {
|
|
106
|
-
this.createAndEmitIfFormStateChanged();
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
this.createAndEmitIfFormStateChanged();
|
|
110
|
-
}
|
|
111
|
-
createAndEmitIfFormStateChanged() {
|
|
112
|
-
const formState = {
|
|
113
|
-
valid: !this.formGroup.invalid,
|
|
114
|
-
dirty: this.formGroup.dirty,
|
|
115
|
-
};
|
|
116
|
-
if (!isFormStateEqual(formState, this.lastState)) {
|
|
117
|
-
this.lastState = formState;
|
|
118
|
-
this.statusChange.emit(formState);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
applyChanges(data, changes) {
|
|
122
|
-
return Object.assign(data || {}, changes);
|
|
123
|
-
}
|
|
124
|
-
toModel(data) {
|
|
125
|
-
return data || {};
|
|
126
|
-
}
|
|
127
|
-
fromModel(data) {
|
|
128
|
-
return { ...(data || {}) };
|
|
129
|
-
}
|
|
130
|
-
recursiveObjectAttributesTransformation(obj) {
|
|
131
|
-
this.recursiveObjectAttributesTraversal(obj, this.transformEmptyStringToNullStringFn);
|
|
132
|
-
}
|
|
133
|
-
recursiveObjectAttributesTraversal(obj, transformationFn) {
|
|
134
|
-
if (obj === null ||
|
|
135
|
-
transformationFn === null ||
|
|
136
|
-
typeof transformationFn !== 'function') {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
const traverse = (obj) => {
|
|
140
|
-
for (const key in obj) {
|
|
141
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
142
|
-
if (obj.hasOwnProperty(key)) {
|
|
143
|
-
transformationFn(obj, key);
|
|
144
|
-
if (typeof obj[key] === 'object') {
|
|
145
|
-
traverse(obj[key]);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
traverse(obj);
|
|
151
|
-
}
|
|
152
|
-
transformEmptyStringToNullStringFn(obj, key) {
|
|
153
|
-
// if empty string - transformation to null string
|
|
154
|
-
if (typeof obj[key] === 'string' && obj[key] === '') {
|
|
155
|
-
try {
|
|
156
|
-
obj[key] = null;
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
console.error(`Cannot modify ${key}: ${error}`);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BaseFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
164
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: BaseFormDirective, isStandalone: true, selector: "[v-baseForm]", inputs: { data: "data" }, outputs: { dataChange: "dataChange", statusChange: "statusChange", formSubmit: "formSubmit", formClear: "formClear" }, host: { listeners: { "window:beforeunload": "unloadHandler($event)" } }, usesOnChanges: true, ngImport: i0 });
|
|
165
|
-
}
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BaseFormDirective, decorators: [{
|
|
167
|
-
type: Directive,
|
|
168
|
-
args: [{
|
|
169
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
170
|
-
selector: '[v-baseForm]',
|
|
171
|
-
standalone: true,
|
|
172
|
-
}]
|
|
173
|
-
}], propDecorators: { data: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], dataChange: [{
|
|
176
|
-
type: Output
|
|
177
|
-
}], statusChange: [{
|
|
178
|
-
type: Output
|
|
179
|
-
}], formSubmit: [{
|
|
180
|
-
type: Output
|
|
181
|
-
}], formClear: [{
|
|
182
|
-
type: Output
|
|
183
|
-
}], unloadHandler: [{
|
|
184
|
-
type: HostListener,
|
|
185
|
-
args: ['window:beforeunload', ['$event']]
|
|
186
|
-
}] } });
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UtZm9ybS9iYXNlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFNdkQsTUFBTSxPQUFnQixpQkFBaUI7SUFHNUIsSUFBSSxDQUFXO0lBQ2QsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7SUFDbkMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7SUFDN0MsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7SUFDbkMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFL0MsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDckMsSUFBSSxHQUF1RSxFQUFFLENBQUM7SUFDOUUsU0FBUyxDQUFhO0lBQ3RCLEVBQUUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMvQixtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDNUIsU0FBUyxDQUFhO0lBQ3RCLGNBQWMsQ0FBYTtJQUMzQixhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ1osS0FBSyxHQUFH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USxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFJVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFhUCxhQUFhO3NCQURaLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgaW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFByZXZlbnRVbnNhdmVkQ2hhbmdlc0NvcmUgfSBmcm9tICcuLi8uLi9jb21tb24nO1xyXG5pbXBvcnQgeyBQcmV2ZW50VW5zYXZlZENoYW5nZXNEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEZvcm1TdGF0ZSwgaXNGb3JtU3RhdGVFcXVhbCB9IGZyb20gJy4vbW9kZWxzJztcclxuQERpcmVjdGl2ZSh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ1t2LWJhc2VGb3JtXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VGb3JtRGlyZWN0aXZlPFQgZXh0ZW5kcyBvYmplY3Q+XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBQcmV2ZW50VW5zYXZlZENoYW5nZXNDb3JlXHJcbntcclxuICBASW5wdXQoKSBkYXRhITogVCB8IGFueTtcclxuICBAT3V0cHV0KCkgZGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcclxuICBAT3V0cHV0KCkgc3RhdHVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtU3RhdGU+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1DbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgZm9ybURlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGtleXM6IHsga2V5OiBzdHJpbmc7IGFsaWFzPzogc3RyaW5nOyB0eXBlPzogc3RyaW5nOyByZWFkT25seTogc3RyaW5nIH1bXSA9IFtdO1xyXG4gIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcclxuICBjZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgdmFsdWVJbml0aWFsaXphdGlvbiA9IGZhbHNlO1xyXG4gIGxhc3RTdGF0ZSE6IEZvcm1TdGF0ZTtcclxuICBndWFyZFZpZXdDaGlsZCE6IFZpZXdDaGlsZDtcclxuICBmb3JtU3VibWl0dGVkID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIGd1YXJkID0gaW5qZWN0KFByZXZlbnRVbnNhdmVkQ2hhbmdlc0RpcmVjdGl2ZSk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpiZWZvcmV1bmxvYWQnLCBbJyRldmVudCddKVxyXG4gIHVubG9hZEhhbmRsZXIoZXZlbnQ6IEJlZm9yZVVubG9hZEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAuZGlydHkpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbkRlYWN0aXZhdGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5kaXJ0eSAmJiAhdGhpcy5mb3JtU3VibWl0dGVkKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZ3VhcmQuc2hvd0NvbmZpcm1hdGlvbkRpYWxvZygpO1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVGb3JtR3JvdXAoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydkYXRhJ10gJiYgdGhpcy5mb3JtR3JvdXApIHtcclxuICAgICAgdGhpcy52YWx1ZUluaXRpYWxpemF0aW9uID0gdHJ1ZTtcclxuICAgICAgY29uc3QgZGlydHkgPSB0aGlzLmZvcm1Hcm91cC5kaXJ0eTtcclxuXHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUodGhpcy5mcm9tTW9kZWwodGhpcy5kYXRhKSwge1xyXG4gICAgICAgIGVtaXRFdmVudDogZmFsc2UsXHJcbiAgICAgICAgb25seVNlbGY6IHRydWUsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5mb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICBpZiAoIWRpcnR5KSB7XHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAubWFya0FzUHJpc3RpbmUoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy52YWx1ZUluaXRpYWxpemF0aW9uID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY3JlYXRlQW5kRW1pdElmRm9ybVN0YXRlQ2hhbmdlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybURlc3Ryb3llZCQubmV4dCgpO1xyXG4gICAgdGhpcy5mb3JtRGVzdHJveWVkJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgYWJzdHJhY3QgY3JlYXRlRm9ybUdyb3VwKCk6IEZvcm1Hcm91cDtcclxuXHJcbiAgY3JlYXRlQ29tcGxldGVEYXRhKCkge1xyXG4gICAgY29uc3QgY2hhbmdlID0gdGhpcy50b01vZGVsKHRoaXMuZm9ybUdyb3VwPy52YWx1ZSk7XHJcbiAgICB0aGlzLnJlY3Vyc2l2ZU9iamVjdEF0dHJpYnV0ZXNUcmFuc2Zvcm1hdGlvbihjaGFuZ2UpO1xyXG4gICAgY29uc3QgdXBkYXRlZERhdGEgPSB0aGlzLmFwcGx5Q2hhbmdlcyhcclxuICAgICAgY2xvbmVEZWVwKHRoaXMuZGF0YSksXHJcbiAgICAgIGNsb25lRGVlcChjaGFuZ2UpXHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiB1cGRhdGVkRGF0YTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMuZm9ybVN1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5mb3JtU3VibWl0LmVtaXQodGhpcy5jcmVhdGVDb21wbGV0ZURhdGEoKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5tYXJrQXNQcmlzdGluZSgpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLmZvcm1DbGVhci5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRpYWxpemVGb3JtR3JvdXAoKSB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XHJcbiAgICB0aGlzLnZhbHVlSW5pdGlhbGl6YXRpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLmZyb21Nb2RlbCh0aGlzLmRhdGEpLCB7XHJcbiAgICAgIGVtaXRFdmVudDogZmFsc2UsXHJcbiAgICAgIG9ubHlTZWxmOiB0cnVlLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5mb3JtR3JvdXAubWFya0FzUHJpc3RpbmUoKTtcclxuICAgIHRoaXMuaW5pdFZhbHVlQ2hhbmdlcygpO1xyXG4gICAgdGhpcy5pbml0U3RhdHVzQ2hhbmdlcygpO1xyXG4gICAgdGhpcy52YWx1ZUluaXRpYWxpemF0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRWYWx1ZUNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZm9ybURlc3Ryb3llZCQpLFxyXG4gICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy52YWx1ZUluaXRpYWxpemF0aW9uKSxcclxuICAgICAgICBtYXAoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjaGFuZ2UgPSB0aGlzLnRvTW9kZWwodmFsdWUpO1xyXG4gICAgICAgICAgdGhpcy5yZWN1cnNpdmVPYmplY3RBdHRyaWJ1dGVzVHJhbnNmb3JtYXRpb24oY2hhbmdlKTtcclxuICAgICAgICAgIGNvbnN0IHVwZGF0ZWREYXRhID0gdGhpcy5hcHBseUNoYW5nZXMoXHJcbiAgICAgICAgICAgIGNsb25lRGVlcCh0aGlzLmRhdGEpLFxyXG4gICAgICAgICAgICBjbG9uZURlZXAoY2hhbmdlKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybiB1cGRhdGVkRGF0YTtcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHVwZGF0ZWREYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhQ2hhbmdlLmVtaXQodXBkYXRlZERhdGEpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdFN0YXR1c0NoYW5nZXMoKSB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5zdGF0dXNDaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmZvcm1EZXN0cm95ZWQkKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlSW5pdGlhbGl6YXRpb24pIHtcclxuICAgICAgICAgIHRoaXMuY3JlYXRlQW5kRW1pdElmRm9ybVN0YXRlQ2hhbmdlZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5jcmVhdGVBbmRFbWl0SWZGb3JtU3RhdGVDaGFuZ2VkKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUFuZEVtaXRJZkZvcm1TdGF0ZUNoYW5nZWQoKSB7XHJcbiAgICBjb25zdCBmb3JtU3RhdGU6IEZvcm1TdGF0ZSA9IHtcclxuICAgICAgdmFsaWQ6ICF0aGlzLmZvcm1Hcm91cC5pbnZhbGlkLFxyXG4gICAgICBkaXJ0eTogdGhpcy5mb3JtR3JvdXAuZGlydHksXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICghaXNGb3JtU3RhdGVFcXVhbChmb3JtU3RhdGUsIHRoaXMubGFzdFN0YXRlKSkge1xyXG4gICAgICB0aGlzLmxhc3RTdGF0ZSA9IGZvcm1TdGF0ZTtcclxuICAgICAgdGhpcy5zdGF0dXNDaGFuZ2UuZW1pdChmb3JtU3RhdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFwcGx5Q2hhbmdlcyhkYXRhOiBULCBjaGFuZ2VzOiBQYXJ0aWFsPFQ+KTogVCB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihkYXRhIHx8ICh7fSBhcyBUKSwgY2hhbmdlcyk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdG9Nb2RlbChkYXRhOiBUKTogUGFydGlhbDxUPiB7XHJcbiAgICByZXR1cm4gZGF0YSB8fCB7fTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBmcm9tTW9kZWwoZGF0YTogVCk6IFQge1xyXG4gICAgcmV0dXJuIHsgLi4uKGRhdGEgfHwge30pIH0gYXMgVDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVjdXJzaXZlT2JqZWN0QXR0cmlidXRlc1RyYW5zZm9ybWF0aW9uKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnJlY3Vyc2l2ZU9iamVjdEF0dHJpYnV0ZXNUcmF2ZXJzYWwoXHJcbiAgICAgIG9iaixcclxuICAgICAgdGhpcy50cmFuc2Zvcm1FbXB0eVN0cmluZ1RvTnVsbFN0cmluZ0ZuXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWN1cnNpdmVPYmplY3RBdHRyaWJ1dGVzVHJhdmVyc2FsKFxyXG4gICAgb2JqOiBhbnksXHJcbiAgICB0cmFuc2Zvcm1hdGlvbkZuOiAob2JqOiBhbnksIGtleTogc3RyaW5nKSA9PiB2b2lkXHJcbiAgKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIG9iaiA9PT0gbnVsbCB8fFxyXG4gICAgICB0cmFuc2Zvcm1hdGlvbkZuID09PSBudWxsIHx8XHJcbiAgICAgIHR5cGVvZiB0cmFuc2Zvcm1hdGlvbkZuICE9PSAnZnVuY3Rpb24nXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRyYXZlcnNlID0gKG9iajogYW55KSA9PiB7XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcclxuICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgIHRyYW5zZm9ybWF0aW9uRm4ob2JqLCBrZXkpO1xyXG5cclxuICAgICAgICAgIGlmICh0eXBlb2Ygb2JqW2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgIHRyYXZlcnNlKG9ialtrZXldKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgdHJhdmVyc2Uob2JqKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdHJhbnNmb3JtRW1wdHlTdHJpbmdUb051bGxTdHJpbmdGbihvYmo6IGFueSwga2V5OiBzdHJpbmcpIHtcclxuICAgIC8vIGlmIGVtcHR5IHN0cmluZyAtIHRyYW5zZm9ybWF0aW9uIHRvIG51bGwgc3RyaW5nXHJcbiAgICBpZiAodHlwZW9mIG9ialtrZXldID09PSAnc3RyaW5nJyAmJiBvYmpba2V5XSA9PT0gJycpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBvYmpba2V5XSA9IG51bGw7XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgQ2Fubm90IG1vZGlmeSAke2tleX06ICR7ZXJyb3J9YClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { Directive, inject, Input, ChangeDetectorRef, } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute } from '@angular/router';
|
|
3
|
-
import { createFeatureSelector, createSelector, Store } from '@ngrx/store';
|
|
4
|
-
import { createInitDetailAction, createInitNewDetailAction, createResetStateAction, createUpdateDetailAction, createUpdateDetailSetErrorsAction, createUpdateFormStateAction, } from '@verisoft/store';
|
|
5
|
-
import { takeUntil } from 'rxjs';
|
|
6
|
-
import { UnsubscribeComponent } from '../../unsubscribe.component';
|
|
7
|
-
import { BaseFormDirective } from '../base-form.component';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class DetailStoreDirective extends UnsubscribeComponent {
|
|
10
|
-
form;
|
|
11
|
-
detailsRepository;
|
|
12
|
-
autoBind = true;
|
|
13
|
-
detailId;
|
|
14
|
-
ngrxFeatureKey;
|
|
15
|
-
destroyForm = true;
|
|
16
|
-
readonly = false;
|
|
17
|
-
readonlyControlNames = [];
|
|
18
|
-
store = inject(Store);
|
|
19
|
-
cdr = inject(ChangeDetectorRef);
|
|
20
|
-
route = inject(ActivatedRoute);
|
|
21
|
-
itemCache = null;
|
|
22
|
-
loaded;
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
if (!this.loaded) {
|
|
25
|
-
this.listenFormState();
|
|
26
|
-
}
|
|
27
|
-
this.listenFormChange();
|
|
28
|
-
this.listenFormStatusChange();
|
|
29
|
-
}
|
|
30
|
-
ngAfterViewInit() {
|
|
31
|
-
if (this.autoBind && !this.loaded) {
|
|
32
|
-
this.initForm();
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
ngOnDestroy() {
|
|
36
|
-
super.ngOnDestroy();
|
|
37
|
-
if (this.destroyForm) {
|
|
38
|
-
this.store.dispatch(createResetStateAction(this.detailsRepository)());
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
initForm() {
|
|
42
|
-
if (this.detailId === 'create') {
|
|
43
|
-
this.store.dispatch(createInitNewDetailAction(this.detailsRepository)());
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this.store.dispatch(createInitDetailAction(this.detailsRepository)({ obj: this.detailId }));
|
|
47
|
-
}
|
|
48
|
-
if (this.readonly) {
|
|
49
|
-
this.form.formGroup.disable();
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
this.readonlyControlNames.forEach(x => {
|
|
53
|
-
this.form.formGroup.get(x)?.disable();
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
listenFormState() {
|
|
57
|
-
const selectIncomeData = createSelector(createFeatureSelector(this.ngrxFeatureKey), (state) => state?.[this.detailsRepository]);
|
|
58
|
-
this.store
|
|
59
|
-
.select(selectIncomeData)
|
|
60
|
-
.pipe(takeUntil(this.destroyed$))
|
|
61
|
-
.subscribe(({ item, loaded, backendValidationErrors } = {
|
|
62
|
-
item: undefined,
|
|
63
|
-
loaded: false,
|
|
64
|
-
saveItemState: { saveInProgress: false },
|
|
65
|
-
backendValidationErrors: []
|
|
66
|
-
}) => {
|
|
67
|
-
if (item
|
|
68
|
-
&& ((item.validationErrors || item.validationWarnings) && !this.form.formGroup.dirty)
|
|
69
|
-
|| backendValidationErrors.length) {
|
|
70
|
-
this.handleValidation('propertyName', item.validationWarnings || [], 'validationWarning', 'warningMessage');
|
|
71
|
-
this.handleValidation('propertyName', item.validationErrors || [], 'validationError', 'errorMessage');
|
|
72
|
-
if (this.itemCache && this.isStateChanged(item) && backendValidationErrors.length) {
|
|
73
|
-
backendValidationErrors = this.dispatchErrors(item, backendValidationErrors);
|
|
74
|
-
}
|
|
75
|
-
this.handleBackendValidation(backendValidationErrors);
|
|
76
|
-
this.cdr.markForCheck();
|
|
77
|
-
}
|
|
78
|
-
this.itemCache = item;
|
|
79
|
-
this.loaded = loaded;
|
|
80
|
-
this.cdr.detectChanges();
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
listenFormChange() {
|
|
84
|
-
this.form.dataChange.pipe(takeUntil(this.destroyed$)).subscribe((item) => {
|
|
85
|
-
this.store.dispatch(createUpdateDetailAction(this.detailsRepository)({ item }));
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
listenFormStatusChange() {
|
|
89
|
-
this.form.statusChange
|
|
90
|
-
.pipe(takeUntil(this.destroyed$))
|
|
91
|
-
.subscribe((formState) => {
|
|
92
|
-
this.store.dispatch(createUpdateFormStateAction(this.detailsRepository)({ formState }));
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
handleValidation = (controlName, errors, errorKey, messageKey) => {
|
|
96
|
-
if (errors.length > 0)
|
|
97
|
-
return;
|
|
98
|
-
errors.forEach((error) => {
|
|
99
|
-
const control = this.form.formGroup.get(error[controlName]);
|
|
100
|
-
if (control) {
|
|
101
|
-
control.disabled
|
|
102
|
-
? control.disable({ emitEvent: false, onlySelf: true })
|
|
103
|
-
: control.enable({ emitEvent: false, onlySelf: true });
|
|
104
|
-
control.setErrors({ [errorKey]: error[messageKey] }, { emitEvent: true });
|
|
105
|
-
control.markAsDirty();
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
handleBackendValidation(errors) {
|
|
110
|
-
errors.forEach(({ parameters, code }) => {
|
|
111
|
-
const control = this.form.formGroup.get(this.normalizePropertyNames(parameters));
|
|
112
|
-
if (!control)
|
|
113
|
-
return;
|
|
114
|
-
control[control.disabled ? "disable" : "enable"]({ emitEvent: false, onlySelf: true });
|
|
115
|
-
control.setErrors({ "validationError": code }, { emitEvent: true });
|
|
116
|
-
control.markAsDirty();
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
dispatchErrors(item, errors) {
|
|
120
|
-
const error = errors.filter((e) => {
|
|
121
|
-
return this.itemCache[this.normalizePropertyNames(e.parameters)] === item[this.normalizePropertyNames(e.parameters)];
|
|
122
|
-
});
|
|
123
|
-
this.store.dispatch(createUpdateDetailSetErrorsAction(this.detailsRepository)({ error }));
|
|
124
|
-
return error;
|
|
125
|
-
}
|
|
126
|
-
normalizePropertyNames(input) {
|
|
127
|
-
return String(input[0]).toLocaleLowerCase() + String(input).slice(1);
|
|
128
|
-
}
|
|
129
|
-
isStateChanged(item) {
|
|
130
|
-
return item !== this.itemCache;
|
|
131
|
-
}
|
|
132
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DetailStoreDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
133
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: DetailStoreDirective, isStandalone: true, selector: "[v-useDetailStore]", inputs: { form: "form", detailsRepository: "detailsRepository", autoBind: "autoBind", detailId: "detailId", ngrxFeatureKey: "ngrxFeatureKey", destroyForm: "destroyForm", readonly: "readonly", readonlyControlNames: "readonlyControlNames" }, exportAs: ["useDetailStore"], usesInheritance: true, ngImport: i0 });
|
|
134
|
-
}
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DetailStoreDirective, decorators: [{
|
|
136
|
-
type: Directive,
|
|
137
|
-
args: [{
|
|
138
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
139
|
-
selector: '[v-useDetailStore]',
|
|
140
|
-
exportAs: 'useDetailStore',
|
|
141
|
-
standalone: true,
|
|
142
|
-
}]
|
|
143
|
-
}], propDecorators: { form: [{
|
|
144
|
-
type: Input,
|
|
145
|
-
args: [{ required: true }]
|
|
146
|
-
}], detailsRepository: [{
|
|
147
|
-
type: Input,
|
|
148
|
-
args: [{ required: true }]
|
|
149
|
-
}], autoBind: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], detailId: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}], ngrxFeatureKey: [{
|
|
154
|
-
type: Input,
|
|
155
|
-
args: [{ required: true }]
|
|
156
|
-
}], destroyForm: [{
|
|
157
|
-
type: Input
|
|
158
|
-
}], readonly: [{
|
|
159
|
-
type: Input
|
|
160
|
-
}], readonlyControlNames: [{
|
|
161
|
-
type: Input
|
|
162
|
-
}] } });
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLXN0b3JlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UtZm9ybS9kaXJlY3RpdmVzL2RldGFpbC1zdG9yZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxFQUVMLGlCQUFpQixHQUVsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0UsT0FBTyxFQUVMLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUN4QixpQ0FBaUMsRUFDakMsMkJBQTJCLEdBRTVCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFRM0QsTUFBTSxPQUFPLG9CQUNYLFNBQVEsb0JBQW9CO0lBR0QsSUFBSSxDQUEwQjtJQUU5QixpQkFBaUIsQ0FBVTtJQUU3QyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBRWhCLFFBQVEsQ0FBK0I7SUFFckIsY0FBYyxDQUFVO0lBRTFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFFbkIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVqQixvQkFBb0IsR0FBYSxFQUFFLENBQUM7SUFFN0MsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixHQUFHLEdBQUcsTUFB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QzFDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVM7UUFDOUIsT0FBTyxJQUFJLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNqQyxDQUFDO3VHQTFMVSxvQkFBb0I7MkZBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFOaEMsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFLNEIsSUFBSTtzQkFBOUIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRUUsaUJBQWlCO3NCQUEzQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFaEIsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVxQixjQUFjO3NCQUF4QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFaEIsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgaW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkRlc3Ryb3ksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7XHJcbiAgQmFja2VuZFZhbGlkYXRpb25FcnJvcixcclxuICBjcmVhdGVJbml0RGV0YWlsQWN0aW9uLFxyXG4gIGNyZWF0ZUluaXROZXdEZXRhaWxBY3Rpb24sXHJcbiAgY3JlYXRlUmVzZXRTdGF0ZUFjdGlvbixcclxuICBjcmVhdGVVcGRhdGVEZXRhaWxBY3Rpb24sXHJcbiAgY3JlYXRlVXBkYXRlRGV0YWlsU2V0RXJyb3JzQWN0aW9uLFxyXG4gIGNyZWF0ZVVwZGF0ZUZvcm1TdGF0ZUFjdGlvbixcclxuICBEZXRhaWxTdGF0ZSxcclxufSBmcm9tICdAdmVyaXNvZnQvc3RvcmUnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVW5zdWJzY3JpYmVDb21wb25lbnQgfSBmcm9tICcuLi8uLi91bnN1YnNjcmliZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXNlRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uL2Jhc2UtZm9ybS5jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ1t2LXVzZURldGFpbFN0b3JlXScsXHJcbiAgZXhwb3J0QXM6ICd1c2VEZXRhaWxTdG9yZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERldGFpbFN0b3JlRGlyZWN0aXZlXHJcbiAgZXh0ZW5kcyBVbnN1YnNjcmliZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcclxue1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGZvcm0hOiBCYXNlRm9ybURpcmVjdGl2ZTxhbnk+O1xyXG5cclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBkZXRhaWxzUmVwb3NpdG9yeSE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgYXV0b0JpbmQgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBkZXRhaWxJZCE6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbmdyeEZlYXR1cmVLZXkhOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGRlc3Ryb3lGb3JtID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcmVhZG9ubHlDb250cm9sTmFtZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIHN0b3JlID0gaW5qZWN0KFN0b3JlKTtcclxuICBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcclxuXHJcbiAgcHJpdmF0ZSBpdGVtQ2FjaGU6IGFueSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBsb2FkZWQhOiBib29sZWFuO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5sb2FkZWQpIHtcclxuICAgICAgdGhpcy5saXN0ZW5Gb3JtU3RhdGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMubGlzdGVuRm9ybUNoYW5nZSgpO1xyXG4gICAgdGhpcy5saXN0ZW5Gb3JtU3RhdHVzQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hdXRvQmluZCAmJiAhdGhpcy5sb2FkZWQpIHtcclxuICAgICAgdGhpcy5pbml0Rm9ybSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgaWYgKHRoaXMuZGVzdHJveUZvcm0pIHtcclxuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChjcmVhdGVSZXNldFN0YXRlQWN0aW9uKHRoaXMuZGV0YWlsc1JlcG9zaXRvcnkpKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0Rm9ybSgpIHtcclxuICAgIGlmICh0aGlzLmRldGFpbElkID09PSAnY3JlYXRlJykge1xyXG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGNyZWF0ZUluaXROZXdEZXRhaWxBY3Rpb24odGhpcy5kZXRhaWxzUmVwb3NpdG9yeSkoKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxyXG4gICAgICAgIGNyZWF0ZUluaXREZXRhaWxBY3Rpb24odGhpcy5kZXRhaWxzUmVwb3NpdG9yeSkoeyBvYmo6IHRoaXMuZGV0YWlsSWQgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICB0aGlzLmZvcm0uZm9ybUdyb3VwLmRpc2FibGUoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVhZG9ubHlDb250cm9sTmFtZXMuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgdGhpcy5mb3JtLmZvcm1Hcm91cC5nZXQoeCk/LmRpc2FibGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsaXN0ZW5Gb3JtU3RhdGUoKSB7XHJcbiAgICBjb25zdCBzZWxlY3RJbmNvbWVEYXRhID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgICAgIGNyZWF0ZUZlYXR1cmVTZWxlY3Rvcjxhbnk+KHRoaXMubmdyeEZlYXR1cmVLZXkpLFxyXG4gICAgICAoc3RhdGU6IGFueSkgPT4gc3RhdGU/Llt0aGlzLmRldGFpbHNSZXBvc2l0b3J5XSBhcyBEZXRhaWxTdGF0ZTxhbnk+XHJcbiAgICApO1xyXG4gICAgdGhpcy5zdG9yZVxyXG4gICAgICAuc2VsZWN0KHNlbGVjdEluY29tZURhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIChcclxuICAgICAgICAgIHsgaXRlbSwgbG9hZGVkLCBiYWNrZW5kVmFsaWRhdGlvbkVycm9ycyB9ID0ge1xyXG4gICAgICAgICAgICBpdGVtOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgIGxvYWRlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIHNhdmVJdGVtU3RhdGU6IHsgc2F2ZUluUHJvZ3Jlc3M6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgIGJhY2tlbmRWYWxpZGF0aW9uRXJyb3JzOiBbXVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICkgPT4ge1xyXG4gICAgICAgICAgaWYgKGl0ZW1cclxuICAgICAgICAgICAgJiYgKChpdGVtLnZhbGlkYXRpb25FcnJvcnMgfHwgaXRlbS52YWxpZGF0aW9uV2FybmluZ3MpICYmICF0aGlzLmZvcm0uZm9ybUdyb3VwLmRpcnR5KVxyXG4gICAgICAgICAgICB8fCBiYWNrZW5kVmFsaWRhdGlvbkVycm9ycy5sZW5ndGhcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZVZhbGlkYXRpb24oXHJcbiAgICAgICAgICAgICAgJ3Byb3BlcnR5TmFtZScsXHJcbiAgICAgICAgICAgICAgaXRlbS52YWxpZGF0aW9uV2FybmluZ3MgfHwgW10sXHJcbiAgICAgICAgICAgICAgJ3ZhbGlkYXRpb25XYXJuaW5nJyxcclxuICAgICAgICAgICAgICAnd2FybmluZ01lc3NhZ2UnXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVmFsaWRhdGlvbihcclxuICAgICAgICAgICAgICAncHJvcGVydHlOYW1lJyxcclxuICAgICAgICAgICAgICBpdGVtLnZhbGlkYXRpb25FcnJvcnMgfHwgW10sXHJcbiAgICAgICAgICAgICAgJ3ZhbGlkYXRpb25FcnJvcicsXHJcbiAgICAgICAgICAgICAgJ2Vycm9yTWVzc2FnZSdcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLml0ZW1DYWNoZSAmJiB0aGlzLmlzU3RhdGVDaGFuZ2VkKGl0ZW0pICYmIGJhY2tlbmRWYWxpZGF0aW9uRXJyb3JzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIGJhY2tlbmRWYWxpZGF0aW9uRXJyb3JzID0gdGhpcy5kaXNwYXRjaEVycm9ycyhpdGVtLCBiYWNrZW5kVmFsaWRhdGlvbkVycm9ycyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQmFja2VuZFZhbGlkYXRpb24oYmFja2VuZFZhbGlkYXRpb25FcnJvcnMpO1xyXG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLml0ZW1DYWNoZSA9IGl0ZW07XHJcblxyXG4gICAgICAgICAgdGhpcy5sb2FkZWQgPSBsb2FkZWQ7XHJcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsaXN0ZW5Gb3JtQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5mb3JtLmRhdGFDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKChpdGVtKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXHJcbiAgICAgICAgY3JlYXRlVXBkYXRlRGV0YWlsQWN0aW9uKHRoaXMuZGV0YWlsc1JlcG9zaXRvcnkpKHsgaXRlbSB9KVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxpc3RlbkZvcm1TdGF0dXNDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmZvcm0uc3RhdHVzQ2hhbmdlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChmb3JtU3RhdGUpID0+IHtcclxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxyXG4gICAgICAgICAgY3JlYXRlVXBkYXRlRm9ybVN0YXRlQWN0aW9uKHRoaXMuZGV0YWlsc1JlcG9zaXRvcnkpKHsgZm9ybVN0YXRlIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVZhbGlkYXRpb24gPSAoXHJcbiAgICBjb250cm9sTmFtZTogc3RyaW5nLFxyXG4gICAgZXJyb3JzOiBhbnlbXSxcclxuICAgIGVycm9yS2V5OiBzdHJpbmcsXHJcbiAgICBtZXNzYWdlS2V5OiBzdHJpbmdcclxuICApID0+IHtcclxuICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkgcmV0dXJuO1xyXG4gICAgZXJyb3JzLmZvckVhY2goKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5mb3JtR3JvdXAuZ2V0KGVycm9yW2NvbnRyb2xOYW1lXSk7XHJcbiAgICAgIGlmIChjb250cm9sKSB7XHJcbiAgICAgICAgY29udHJvbC5kaXNhYmxlZFxyXG4gICAgICAgICAgPyBjb250cm9sLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZSB9KVxyXG4gICAgICAgICAgOiBjb250cm9sLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlIH0pO1xyXG4gICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKFxyXG4gICAgICAgICAgeyBbZXJyb3JLZXldOiBlcnJvclttZXNzYWdlS2V5XSB9LFxyXG4gICAgICAgICAgeyBlbWl0RXZlbnQ6IHRydWUgfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGhhbmRsZUJhY2tlbmRWYWxpZGF0aW9uKGVycm9yczogQmFja2VuZFZhbGlkYXRpb25FcnJvcltdKSB7XHJcbiAgICBlcnJvcnMuZm9yRWFjaCgoeyBwYXJhbWV0ZXJzLCBjb2RlIH06IEJhY2tlbmRWYWxpZGF0aW9uRXJyb3IpID0+IHtcclxuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5mb3JtR3JvdXAuZ2V0KHRoaXMubm9ybWFsaXplUHJvcGVydHlOYW1lcyhwYXJhbWV0ZXJzKSk7XHJcbiAgICAgIGlmICghY29udHJvbCkgcmV0dXJuO1xyXG5cclxuICAgICAgY29udHJvbFtjb250cm9sLmRpc2FibGVkID8gXCJkaXNhYmxlXCIgOiBcImVuYWJsZVwiXSh7IGVtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlIH0pO1xyXG4gICAgICBjb250cm9sLnNldEVycm9ycyh7IFwidmFsaWRhdGlvbkVycm9yXCI6IGNvZGUgfSwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcbiAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkaXNwYXRjaEVycm9ycyhpdGVtOiBhbnksIGVycm9yczogQmFja2VuZFZhbGlkYXRpb25FcnJvcltdKTogQmFja2VuZFZhbGlkYXRpb25FcnJvcltdIHtcclxuICAgIGNvbnN0IGVycm9yID0gZXJyb3JzLmZpbHRlcigoZTogQmFja2VuZFZhbGlkYXRpb25FcnJvcikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5pdGVtQ2FjaGVbdGhpcy5ub3JtYWxpemVQcm9wZXJ0eU5hbWVzKGUucGFyYW1ldGVycyldID09PSBpdGVtW3RoaXMubm9ybWFsaXplUHJvcGVydHlOYW1lcyhlLnBhcmFtZXRlcnMpXTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXHJcbiAgICAgIGNyZWF0ZVVwZGF0ZURldGFpbFNldEVycm9yc0FjdGlvbih0aGlzLmRldGFpbHNSZXBvc2l0b3J5KSh7IGVycm9yIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiBlcnJvcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbm9ybWFsaXplUHJvcGVydHlOYW1lcyhpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBTdHJpbmcoaW5wdXRbMF0pLnRvTG9jYWxlTG93ZXJDYXNlKCkgKyBTdHJpbmcoaW5wdXQpLnNsaWNlKDEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1N0YXRlQ2hhbmdlZChpdGVtOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpdGVtICE9PSB0aGlzLml0ZW1DYWNoZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './base-form-input.component';
|
|
2
|
-
export * from './base-form.component';
|
|
3
|
-
export * from './directives/detail-store.directive';
|
|
4
|
-
export * from './models';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9iYXNlLWZvcm0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtZm9ybS5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kZXRhaWwtc3RvcmUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnOyJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export class BaseInputControls {
|
|
2
|
-
value;
|
|
3
|
-
ngControl;
|
|
4
|
-
label;
|
|
5
|
-
required;
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLWlucHV0Lm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UtZm9ybS9tb2RlbHMvYmFzZS1mb3JtLWlucHV0Lm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQWdCLGlCQUFpQjtJQUNyQyxLQUFLLENBQVk7SUFFUixTQUFTLENBQWE7SUFFdEIsS0FBSyxDQUFVO0lBRWYsUUFBUSxDQUFXO0NBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VJbnB1dENvbnRyb2xzPFQ+IHtcclxuICB2YWx1ZT86IFQgfCBudWxsO1xyXG5cclxuICByZWFkb25seSBuZ0NvbnRyb2w/OiBOZ0NvbnRyb2w7XHJcblxyXG4gIHJlYWRvbmx5IGxhYmVsPzogc3RyaW5nO1xyXG5cclxuICByZWFkb25seSByZXF1aXJlZCE6IGJvb2xlYW47XHJcbn1cclxuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export function isFormStateEqual(current, other) {
|
|
2
|
-
if (!current && !other) {
|
|
3
|
-
return true;
|
|
4
|
-
}
|
|
5
|
-
if (current && other) {
|
|
6
|
-
return current.dirty === other.dirty && current.valid === other.valid;
|
|
7
|
-
}
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UtZm9ybS9tb2RlbHMvYmFzZS1mb3JtLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQkEsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQWtCLEVBQUUsS0FBZ0I7SUFDbkUsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksT0FBTyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3JCLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssQ0FBQztJQUN4RSxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCYXNlRm9ybUNvcmUge1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gIHRvb2x0aXA6IHN0cmluZztcclxuICBmb3JtRGlzcGxheTogJ2ZsZXgnIHwgJ2Jsb2NrJztcclxuICBjbGVhcmFibGU6IGJvb2xlYW47XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcclxuICB0ZXN0SWQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUZvcm1EaXJlY3RpdmVDb3JlPFQ+IHtcclxuICBpbml0aWFsRGF0YTogVCB8IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtU3RhdGUge1xyXG4gIGRpcnR5OiBib29sZWFuO1xyXG4gIHZhbGlkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtU3RhdGVFcXVhbChjdXJyZW50OiBGb3JtU3RhdGUsIG90aGVyOiBGb3JtU3RhdGUpIHtcclxuICBpZiAoIWN1cnJlbnQgJiYgIW90aGVyKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGlmIChjdXJyZW50ICYmIG90aGVyKSB7XHJcbiAgICByZXR1cm4gY3VycmVudC5kaXJ0eSA9PT0gb3RoZXIuZGlydHkgJiYgY3VycmVudC52YWxpZCA9PT0gb3RoZXIudmFsaWQ7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmFsc2U7XHJcbn1cclxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './base-form-input.models';
|
|
2
|
-
export * from './base-form.models';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9iYXNlLWZvcm0vbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmFzZS1mb3JtLWlucHV0Lm1vZGVscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1mb3JtLm1vZGVscyc7Il19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const BREADCRUMB_COMPONENT_TOKEN = new InjectionToken('BreadcrumbComponentToken');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUN4RCwwQkFBMEIsQ0FDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJy4uL3NpZGUtbWVudSc7XHJcblxyXG5leHBvcnQgY29uc3QgQlJFQURDUlVNQl9DT01QT05FTlRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QnJlYWRjcnVtYkNvcmU+KFxyXG4gICAgJ0JyZWFkY3J1bWJDb21wb25lbnRUb2tlbidcclxuKTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQnJlYWRjcnVtYkNvcmUge1xyXG4gICAgaXRlbXM6IE1lbnVJdGVtW107XHJcbiAgICBob21lUm91dGU6IHN0cmluZztcclxuICAgIHVzZUhvbWVSb3V0ZTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCcmVhZGNydW1iIHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICByb3V0ZXJMaW5rPzogc3RyaW5nO1xyXG4gICAgdXJsPzogc3RyaW5nO1xyXG4gICAgYWN0aXZlPzogYm9vbGVhbjtcclxuICAgIGFjdGl2YXRlZFJvdXRlPzogQWN0aXZhdGVkUm91dGU7XHJcbn1cclxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, Injectable, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BreadcrumbService {
|
|
4
|
-
routeChange = new EventEmitter();
|
|
5
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
|
|
7
|
-
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BreadcrumbService, decorators: [{
|
|
9
|
-
type: Injectable,
|
|
10
|
-
args: [{
|
|
11
|
-
providedIn: 'root',
|
|
12
|
-
}]
|
|
13
|
-
}], propDecorators: { routeChange: [{
|
|
14
|
-
type: Output
|
|
15
|
-
}] } });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvdWktY29yZS9zcmMvbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1qRSxNQUFNLE9BQU8saUJBQWlCO0lBQ2xCLFdBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQUUsQ0FBQzt1R0FEMUQsaUJBQWlCOzJHQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs4QkFFVyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYiB9IGZyb20gJy4vYnJlYWRjcnVtYi5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYlNlcnZpY2Uge1xyXG4gIEBPdXRwdXQoKSByb3V0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEJyZWFkY3J1bWI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG59XHJcbiJdfQ==
|