@verisoft/ui-core 18.4.0 → 18.6.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/esm2022/index.mjs +7 -0
- package/esm2022/lib/common/angular-helper.mjs +23 -0
- package/esm2022/lib/common/constants.mjs +4 -0
- package/esm2022/lib/common/control.models.mjs +63 -0
- package/esm2022/lib/common/datasource-component.model.mjs +14 -0
- package/esm2022/lib/common/deactivate-guard.model.mjs +2 -0
- package/esm2022/lib/common/download-file.mjs +13 -0
- package/esm2022/lib/common/filter.mjs +7 -0
- package/esm2022/lib/common/icons.mjs +2 -0
- package/esm2022/lib/common/index.mjs +11 -0
- package/esm2022/lib/common/notificable-property.model.mjs +2 -0
- package/esm2022/lib/common/rxjs.mjs +11 -0
- package/esm2022/lib/components/action-button-group/action-button-group.model.mjs +3 -0
- package/esm2022/lib/components/action-button-group/action-button.model.mjs +2 -0
- package/esm2022/lib/components/action-button-group/index.mjs +3 -0
- package/esm2022/lib/components/base-form/base-form-input.component.mjs +100 -0
- package/esm2022/lib/components/base-form/base-form.component.mjs +187 -0
- package/esm2022/lib/components/base-form/directives/detail-store.directive.mjs +163 -0
- package/esm2022/lib/components/base-form/index.mjs +5 -0
- package/esm2022/lib/components/base-form/models/base-form-input.models.mjs +7 -0
- package/esm2022/lib/components/base-form/models/base-form.models.mjs +10 -0
- package/esm2022/lib/components/base-form/models/index.mjs +3 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.model.mjs +3 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.service.mjs +16 -0
- package/esm2022/lib/components/breadcrumb/breadcrumbcore.component.mjs +88 -0
- package/esm2022/lib/components/breadcrumb/index.mjs +4 -0
- package/esm2022/lib/components/button/button.model.mjs +3 -0
- package/esm2022/lib/components/button/index.mjs +2 -0
- package/esm2022/lib/components/calendar/calendar.model.mjs +3 -0
- package/esm2022/lib/components/calendar/index.mjs +2 -0
- package/esm2022/lib/components/checkbox/checkbox.model.mjs +3 -0
- package/esm2022/lib/components/checkbox/index.mjs +2 -0
- package/esm2022/lib/components/confirm-dialog/confirm-dialog.model.mjs +3 -0
- package/esm2022/lib/components/confirm-dialog/index.mjs +2 -0
- package/esm2022/lib/components/dropdown/dropdown.model.mjs +3 -0
- package/esm2022/lib/components/dropdown/index.mjs +2 -0
- package/esm2022/lib/components/dynamic-component/dynamic-component.model.mjs +2 -0
- package/esm2022/lib/components/dynamic-component/index.mjs +2 -0
- package/esm2022/lib/components/filter/filter.model.mjs +3 -0
- package/esm2022/lib/components/filter/index.mjs +2 -0
- package/esm2022/lib/components/form-field/form-field.model.mjs +3 -0
- package/esm2022/lib/components/form-field/index.mjs +2 -0
- package/esm2022/lib/components/generic-field/generic-field.model.mjs +3 -0
- package/esm2022/lib/components/generic-field/index.mjs +2 -0
- package/esm2022/lib/components/generic-form/generic-form.component.mjs +10 -0
- package/esm2022/lib/components/generic-form/index.mjs +2 -0
- package/esm2022/lib/components/header/header.model.mjs +4 -0
- package/esm2022/lib/components/header/index.mjs +2 -0
- package/esm2022/lib/components/icons/icons.component.mjs +29 -0
- package/esm2022/lib/components/icons/icons.model.mjs +3 -0
- package/esm2022/lib/components/icons/index.mjs +3 -0
- package/esm2022/lib/components/index.mjs +36 -0
- package/esm2022/lib/components/input-group/index.mjs +2 -0
- package/esm2022/lib/components/input-group/input-group.model.mjs +3 -0
- package/esm2022/lib/components/loader/index.mjs +2 -0
- package/esm2022/lib/components/loader/loader.model.mjs +3 -0
- package/esm2022/lib/components/multiselect/index.mjs +2 -0
- package/esm2022/lib/components/multiselect/mutiselect.model.mjs +3 -0
- package/esm2022/lib/components/number-input/index.mjs +2 -0
- package/esm2022/lib/components/number-input/number-input.model.mjs +3 -0
- package/esm2022/lib/components/page-header/index.mjs +4 -0
- package/esm2022/lib/components/page-header/page-header.model.mjs +3 -0
- package/esm2022/lib/components/page-header/page-header.service.mjs +16 -0
- package/esm2022/lib/components/page-header/page-headercore.component.mjs +52 -0
- package/esm2022/lib/components/password/index.mjs +2 -0
- package/esm2022/lib/components/password/password.model.mjs +11 -0
- package/esm2022/lib/components/radiobutton/index.mjs +2 -0
- package/esm2022/lib/components/radiobutton/radiobutton.model.mjs +3 -0
- package/esm2022/lib/components/section/index.mjs +2 -0
- package/esm2022/lib/components/section/section.model.mjs +3 -0
- package/esm2022/lib/components/side-menu/directives/side-menu-service.directive.mjs +31 -0
- package/esm2022/lib/components/side-menu/index.mjs +5 -0
- package/esm2022/lib/components/side-menu/services/side-menu-provider.service.mjs +25 -0
- package/esm2022/lib/components/side-menu/services/side-menu.service.mjs +50 -0
- package/esm2022/lib/components/side-menu/side-menu.model.mjs +6 -0
- package/esm2022/lib/components/slider/index.mjs +2 -0
- package/esm2022/lib/components/slider/slider.model.mjs +3 -0
- package/esm2022/lib/components/snackbar/index.mjs +2 -0
- package/esm2022/lib/components/snackbar/snackbar.model.mjs +3 -0
- package/esm2022/lib/components/stepper/index.mjs +2 -0
- package/esm2022/lib/components/stepper/stepper.model.mjs +3 -0
- package/esm2022/lib/components/switch/index.mjs +2 -0
- package/esm2022/lib/components/switch/switch.model.mjs +3 -0
- package/esm2022/lib/components/tab-view/index.mjs +2 -0
- package/esm2022/lib/components/tab-view/tab-view.model.mjs +3 -0
- package/esm2022/lib/components/table/column-configuration.mjs +32 -0
- package/esm2022/lib/components/table/index.mjs +5 -0
- package/esm2022/lib/components/table/table-builder.mjs +68 -0
- package/esm2022/lib/components/table/table-column.directive.mjs +86 -0
- package/esm2022/lib/components/table/table.models.mjs +150 -0
- package/esm2022/lib/components/table-filter/index.mjs +2 -0
- package/esm2022/lib/components/table-filter/table-filter.model.mjs +3 -0
- package/esm2022/lib/components/textarea/index.mjs +2 -0
- package/esm2022/lib/components/textarea/textarea.model.mjs +3 -0
- package/esm2022/lib/components/textfield/index.mjs +2 -0
- package/esm2022/lib/components/textfield/textfield.model.mjs +3 -0
- package/esm2022/lib/components/tristatecheckbox/index.mjs +2 -0
- package/esm2022/lib/components/tristatecheckbox/tristatecheckbox.model.mjs +3 -0
- package/esm2022/lib/components/unsubscribe.component.mjs +16 -0
- package/esm2022/lib/directives/datasource.directive.mjs +175 -0
- package/esm2022/lib/directives/index.mjs +5 -0
- package/esm2022/lib/directives/shortcut.directive.mjs +46 -0
- package/esm2022/lib/directives/table-datasource.directive.mjs +124 -0
- package/esm2022/lib/directives/table-filter.directive.mjs +56 -0
- package/esm2022/lib/format/format.mjs +63 -0
- package/esm2022/lib/pipes/error/error.codes.mjs +10 -0
- package/esm2022/lib/pipes/error/error.models.mjs +21 -0
- package/esm2022/lib/pipes/error/error.pipe.mjs +31 -0
- package/esm2022/lib/pipes/error/warning.codes.mjs +4 -0
- package/esm2022/lib/pipes/error/warning.pipe.mjs +31 -0
- package/esm2022/lib/pipes/helper/enumToList.pipe.mjs +22 -0
- package/esm2022/lib/pipes/index.mjs +8 -0
- package/esm2022/lib/pipes/keyOrFn/keyOrFn.pipe.mjs +31 -0
- package/esm2022/lib/services/confirm-dialog.service.mjs +45 -0
- package/esm2022/lib/services/index.mjs +5 -0
- package/esm2022/lib/services/leave-form.service.mjs +52 -0
- package/esm2022/lib/services/screen-size.service.mjs +29 -0
- package/esm2022/lib/services/table.service.mjs +27 -0
- package/esm2022/verisoft-ui-core.mjs +5 -0
- package/fesm2022/verisoft-ui-core.mjs +2014 -0
- package/fesm2022/verisoft-ui-core.mjs.map +1 -0
- package/{src/index.ts → index.d.ts} +6 -6
- package/lib/common/angular-helper.d.ts +1 -0
- package/lib/common/constants.d.ts +3 -0
- package/lib/common/control.models.d.ts +62 -0
- package/lib/common/datasource-component.model.d.ts +19 -0
- package/{src/lib/common/deactivate-guard.model.ts → lib/common/deactivate-guard.model.d.ts} +4 -5
- package/lib/common/download-file.d.ts +2 -0
- package/lib/common/filter.d.ts +1 -0
- package/{src/lib/common/icons.ts → lib/common/icons.d.ts} +34 -34
- package/{src/lib/common/index.ts → lib/common/index.d.ts} +10 -10
- package/{src/lib/common/notificable-property.model.ts → lib/common/notificable-property.model.d.ts} +4 -5
- package/lib/common/rxjs.d.ts +2 -0
- package/lib/components/action-button-group/action-button-group.model.d.ts +12 -0
- package/lib/components/action-button-group/action-button.model.d.ts +14 -0
- package/{src/lib/components/action-button-group/index.ts → lib/components/action-button-group/index.d.ts} +2 -2
- package/lib/components/base-form/base-form-input.component.d.ts +30 -0
- package/lib/components/base-form/base-form.component.d.ts +50 -0
- package/lib/components/base-form/directives/detail-store.directive.d.ts +35 -0
- package/{src/lib/components/base-form/index.ts → lib/components/base-form/index.d.ts} +4 -4
- package/lib/components/base-form/models/base-form-input.models.d.ts +7 -0
- package/lib/components/base-form/models/base-form.models.d.ts +18 -0
- package/{src/lib/components/base-form/models/index.ts → lib/components/base-form/models/index.d.ts} +2 -2
- package/{src/lib/components/breadcrumb/breadcrumb.model.ts → lib/components/breadcrumb/breadcrumb.model.d.ts} +16 -21
- package/lib/components/breadcrumb/breadcrumb.service.d.ts +8 -0
- package/lib/components/breadcrumb/breadcrumbcore.component.d.ts +30 -0
- package/lib/components/breadcrumb/index.d.ts +3 -0
- package/{src/lib/components/button/button.model.ts → lib/components/button/button.model.d.ts} +17 -21
- package/lib/components/button/index.d.ts +1 -0
- package/{src/lib/components/calendar/calendar.model.ts → lib/components/calendar/calendar.model.d.ts} +12 -16
- package/lib/components/calendar/index.d.ts +1 -0
- package/lib/components/checkbox/checkbox.model.d.ts +4 -0
- package/lib/components/checkbox/index.d.ts +1 -0
- package/lib/components/confirm-dialog/confirm-dialog.model.d.ts +25 -0
- package/lib/components/confirm-dialog/index.d.ts +1 -0
- package/{src/lib/components/dropdown/dropdown.model.ts → lib/components/dropdown/dropdown.model.d.ts} +12 -16
- package/lib/components/dropdown/index.d.ts +1 -0
- package/lib/components/dynamic-component/dynamic-component.model.d.ts +3 -0
- package/lib/components/dynamic-component/index.d.ts +1 -0
- package/lib/components/filter/filter.model.d.ts +13 -0
- package/{src/lib/components/filter/index.ts → lib/components/filter/index.d.ts} +1 -1
- package/{src/lib/components/form-field/form-field.model.ts → lib/components/form-field/form-field.model.d.ts} +11 -15
- package/lib/components/form-field/index.d.ts +1 -0
- package/{src/lib/components/generic-field/generic-field.model.ts → lib/components/generic-field/generic-field.model.d.ts} +6 -10
- package/lib/components/generic-field/index.d.ts +1 -0
- package/lib/components/generic-form/generic-form.component.d.ts +30 -0
- package/{src/lib/components/generic-form/index.ts → lib/components/generic-form/index.d.ts} +1 -1
- package/{src/lib/components/header/header.model.ts → lib/components/header/header.model.d.ts} +11 -18
- package/lib/components/header/index.d.ts +1 -0
- package/lib/components/icons/icons.component.d.ts +6 -0
- package/lib/components/icons/icons.model.d.ts +6 -0
- package/lib/components/icons/index.d.ts +2 -0
- package/{src/lib/components/index.ts → lib/components/index.d.ts} +35 -35
- package/lib/components/input-group/index.d.ts +1 -0
- package/{src/lib/components/input-group/input-group.model.ts → lib/components/input-group/input-group.model.d.ts} +12 -17
- package/lib/components/loader/index.d.ts +1 -0
- package/lib/components/loader/loader.model.d.ts +3 -0
- package/lib/components/multiselect/index.d.ts +1 -0
- package/{src/lib/components/multiselect/mutiselect.model.ts → lib/components/multiselect/mutiselect.model.d.ts} +9 -13
- package/lib/components/number-input/index.d.ts +1 -0
- package/{src/lib/components/number-input/number-input.model.ts → lib/components/number-input/number-input.model.d.ts} +10 -14
- package/{src/lib/components/page-header/index.ts → lib/components/page-header/index.d.ts} +3 -3
- package/{src/lib/components/page-header/page-header.model.ts → lib/components/page-header/page-header.model.d.ts} +7 -11
- package/lib/components/page-header/page-header.service.d.ts +8 -0
- package/lib/components/page-header/page-headercore.component.d.ts +20 -0
- package/lib/components/password/index.d.ts +1 -0
- package/{src/lib/components/password/password.model.ts → lib/components/password/password.model.d.ts} +19 -25
- package/lib/components/radiobutton/index.d.ts +1 -0
- package/{src/lib/components/radiobutton/radiobutton.model.ts → lib/components/radiobutton/radiobutton.model.d.ts} +11 -16
- package/lib/components/section/index.d.ts +1 -0
- package/{src/lib/components/section/section.model.ts → lib/components/section/section.model.d.ts} +7 -11
- package/lib/components/side-menu/directives/side-menu-service.directive.d.ts +11 -0
- package/{src/lib/components/side-menu/index.ts → lib/components/side-menu/index.d.ts} +4 -4
- package/lib/components/side-menu/services/side-menu-provider.service.d.ts +10 -0
- package/lib/components/side-menu/services/side-menu.service.d.ts +15 -0
- package/lib/components/side-menu/side-menu.model.d.ts +42 -0
- package/lib/components/slider/index.d.ts +1 -0
- package/{src/lib/components/slider/slider.model.ts → lib/components/slider/slider.model.d.ts} +9 -13
- package/lib/components/snackbar/index.d.ts +1 -0
- package/lib/components/snackbar/snackbar.model.d.ts +3 -0
- package/lib/components/stepper/index.d.ts +1 -0
- package/{src/lib/components/stepper/stepper.model.ts → lib/components/stepper/stepper.model.d.ts} +19 -24
- package/lib/components/switch/index.d.ts +1 -0
- package/lib/components/switch/switch.model.d.ts +4 -0
- package/lib/components/tab-view/index.d.ts +1 -0
- package/{src/lib/components/tab-view/tab-view.model.ts → lib/components/tab-view/tab-view.model.d.ts} +17 -22
- package/lib/components/table/column-configuration.d.ts +12 -0
- package/{src/lib/components/table/index.ts → lib/components/table/index.d.ts} +4 -4
- package/lib/components/table/table-builder.d.ts +15 -0
- package/lib/components/table/table-column.directive.d.ts +25 -0
- package/lib/components/table/table.models.d.ts +132 -0
- package/lib/components/table-filter/index.d.ts +1 -0
- package/{src/lib/components/table-filter/table-filter.model.ts → lib/components/table-filter/table-filter.model.d.ts} +17 -22
- package/lib/components/textarea/index.d.ts +1 -0
- package/{src/lib/components/textarea/textarea.model.ts → lib/components/textarea/textarea.model.d.ts} +9 -13
- package/lib/components/textfield/index.d.ts +1 -0
- package/{src/lib/components/textfield/textfield.model.ts → lib/components/textfield/textfield.model.d.ts} +9 -13
- package/lib/components/tristatecheckbox/index.d.ts +1 -0
- package/lib/components/tristatecheckbox/tristatecheckbox.model.d.ts +4 -0
- package/lib/components/unsubscribe.component.d.ts +9 -0
- package/lib/directives/datasource.directive.d.ts +32 -0
- package/{src/lib/directives/index.ts → lib/directives/index.d.ts} +4 -4
- package/lib/directives/shortcut.directive.d.ts +11 -0
- package/lib/directives/table-datasource.directive.d.ts +29 -0
- package/lib/directives/table-filter.directive.d.ts +17 -0
- package/lib/format/format.d.ts +9 -0
- package/lib/pipes/error/error.codes.d.ts +5 -0
- package/lib/pipes/error/error.models.d.ts +8 -0
- package/lib/pipes/error/error.pipe.d.ts +8 -0
- package/lib/pipes/error/warning.codes.d.ts +5 -0
- package/lib/pipes/error/warning.pipe.d.ts +8 -0
- package/lib/pipes/helper/enumToList.pipe.d.ts +7 -0
- package/{src/lib/pipes/index.ts → lib/pipes/index.d.ts} +7 -7
- package/lib/pipes/keyOrFn/keyOrFn.pipe.d.ts +7 -0
- package/lib/services/confirm-dialog.service.d.ts +12 -0
- package/{src/lib/services/index.ts → lib/services/index.d.ts} +4 -4
- package/lib/services/leave-form.service.d.ts +13 -0
- package/lib/services/screen-size.service.d.ts +10 -0
- package/lib/services/table.service.d.ts +13 -0
- package/package.json +35 -19
- package/.eslintrc.json +0 -48
- package/jest.config.ts +0 -21
- package/ng-package.json +0 -7
- package/project.json +0 -36
- package/src/lib/common/angular-helper.ts +0 -44
- package/src/lib/common/constants.ts +0 -5
- package/src/lib/common/control.models.ts +0 -71
- package/src/lib/common/datasource-component.model.spec.ts +0 -42
- package/src/lib/common/datasource-component.model.ts +0 -43
- package/src/lib/common/download-file.ts +0 -20
- package/src/lib/common/filter.ts +0 -7
- package/src/lib/common/rxjs.spec.ts +0 -58
- package/src/lib/common/rxjs.ts +0 -21
- package/src/lib/components/action-button-group/action-button-group.model.ts +0 -15
- package/src/lib/components/action-button-group/action-button.model.ts +0 -15
- package/src/lib/components/base-form/base-form-input.component.ts +0 -121
- package/src/lib/components/base-form/base-form.component.ts +0 -236
- package/src/lib/components/base-form/directives/detail-store.directive.ts +0 -219
- package/src/lib/components/base-form/models/base-form-input.models.ts +0 -11
- package/src/lib/components/base-form/models/base-form.models.ts +0 -31
- package/src/lib/components/breadcrumb/breadcrumb.service.ts +0 -9
- package/src/lib/components/breadcrumb/breadcrumbcore.component.ts +0 -115
- package/src/lib/components/breadcrumb/index.ts +0 -3
- package/src/lib/components/button/index.ts +0 -1
- package/src/lib/components/calendar/index.ts +0 -1
- package/src/lib/components/checkbox/checkbox.model.ts +0 -8
- package/src/lib/components/checkbox/index.ts +0 -1
- package/src/lib/components/confirm-dialog/confirm-dialog.model.ts +0 -31
- package/src/lib/components/confirm-dialog/index.ts +0 -1
- package/src/lib/components/dropdown/index.ts +0 -1
- package/src/lib/components/dynamic-component/dynamic-component.model.ts +0 -2
- package/src/lib/components/dynamic-component/index.ts +0 -1
- package/src/lib/components/filter/filter.model.ts +0 -17
- package/src/lib/components/form-field/index.ts +0 -1
- package/src/lib/components/generic-field/index.ts +0 -1
- package/src/lib/components/generic-form/generic-form.component.ts +0 -33
- package/src/lib/components/header/index.ts +0 -1
- package/src/lib/components/icons/icons.component.ts +0 -17
- package/src/lib/components/icons/icons.model.ts +0 -10
- package/src/lib/components/icons/index.ts +0 -2
- package/src/lib/components/input-group/index.ts +0 -1
- package/src/lib/components/loader/index.ts +0 -1
- package/src/lib/components/loader/loader.model.ts +0 -7
- package/src/lib/components/multiselect/index.ts +0 -1
- package/src/lib/components/number-input/index.ts +0 -1
- package/src/lib/components/page-header/page-header.service.ts +0 -9
- package/src/lib/components/page-header/page-headercore.component.ts +0 -40
- package/src/lib/components/password/index.ts +0 -1
- package/src/lib/components/radiobutton/index.ts +0 -1
- package/src/lib/components/section/index.ts +0 -1
- package/src/lib/components/side-menu/directives/side-menu-service.directive.ts +0 -31
- package/src/lib/components/side-menu/services/side-menu-provider.service.ts +0 -13
- package/src/lib/components/side-menu/services/side-menu.service.ts +0 -62
- package/src/lib/components/side-menu/side-menu.model.ts +0 -67
- package/src/lib/components/slider/index.ts +0 -1
- package/src/lib/components/snackbar/index.ts +0 -1
- package/src/lib/components/snackbar/snackbar.model.ts +0 -7
- package/src/lib/components/stepper/index.ts +0 -1
- package/src/lib/components/switch/index.ts +0 -1
- package/src/lib/components/switch/switch.model.ts +0 -8
- package/src/lib/components/tab-view/index.ts +0 -1
- package/src/lib/components/table/column-configuration.ts +0 -38
- package/src/lib/components/table/table-builder.ts +0 -93
- package/src/lib/components/table/table-column.directive.ts +0 -62
- package/src/lib/components/table/table.models.ts +0 -261
- package/src/lib/components/table-filter/index.ts +0 -1
- package/src/lib/components/textarea/index.ts +0 -1
- package/src/lib/components/textfield/index.ts +0 -1
- package/src/lib/components/tristatecheckbox/index.ts +0 -1
- package/src/lib/components/tristatecheckbox/tristatecheckbox.model.ts +0 -8
- package/src/lib/components/unsubscribe.component.ts +0 -12
- package/src/lib/directives/datasource.directive.ts +0 -275
- package/src/lib/directives/shortcut.directive.ts +0 -37
- package/src/lib/directives/table-datasource.directive.ts +0 -184
- package/src/lib/directives/table-filter.directive.ts +0 -69
- package/src/lib/format/format.ts +0 -74
- package/src/lib/pipes/error/error.codes.ts +0 -11
- package/src/lib/pipes/error/error.models.ts +0 -27
- package/src/lib/pipes/error/error.pipe.ts +0 -27
- package/src/lib/pipes/error/warning.codes.ts +0 -5
- package/src/lib/pipes/error/warning.pipe.ts +0 -27
- package/src/lib/pipes/helper/enumToList.pipe.ts +0 -16
- package/src/lib/pipes/keyOrFn/keyOrFn.pipe.ts +0 -23
- package/src/lib/services/confirm-dialog.service.ts +0 -44
- package/src/lib/services/leave-form.service.ts +0 -53
- package/src/lib/services/screen-size.service.ts +0 -25
- package/src/lib/services/table.service.ts +0 -22
- package/src/test-setup.ts +0 -8
- package/tsconfig.json +0 -30
- package/tsconfig.lib.json +0 -17
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -16
package/jest.config.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
displayName: 'ui-core',
|
|
3
|
-
preset: '../../../jest.preset.js',
|
|
4
|
-
setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
|
|
5
|
-
coverageDirectory: '../../../coverage/src/libs/ui-core',
|
|
6
|
-
transform: {
|
|
7
|
-
'^.+\\.(ts|mjs|js|html)$': [
|
|
8
|
-
'jest-preset-angular',
|
|
9
|
-
{
|
|
10
|
-
tsconfig: '<rootDir>/tsconfig.spec.json',
|
|
11
|
-
stringifyContentPathRegex: '\\.(html|svg)$',
|
|
12
|
-
},
|
|
13
|
-
],
|
|
14
|
-
},
|
|
15
|
-
transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
|
|
16
|
-
snapshotSerializers: [
|
|
17
|
-
'jest-preset-angular/build/serializers/no-ng-attributes',
|
|
18
|
-
'jest-preset-angular/build/serializers/ng-snapshot',
|
|
19
|
-
'jest-preset-angular/build/serializers/html-comment',
|
|
20
|
-
],
|
|
21
|
-
};
|
package/ng-package.json
DELETED
package/project.json
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "ui-core",
|
|
3
|
-
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
|
|
4
|
-
"sourceRoot": "src/libs/ui-core/src",
|
|
5
|
-
"prefix": "lib",
|
|
6
|
-
"projectType": "library",
|
|
7
|
-
"tags": [],
|
|
8
|
-
"targets": {
|
|
9
|
-
"build": {
|
|
10
|
-
"executor": "@nx/angular:package",
|
|
11
|
-
"outputs": ["{workspaceRoot}/dist/{projectRoot}"],
|
|
12
|
-
"options": {
|
|
13
|
-
"project": "src/libs/ui-core/ng-package.json"
|
|
14
|
-
},
|
|
15
|
-
"configurations": {
|
|
16
|
-
"production": {
|
|
17
|
-
"tsConfig": "src/libs/ui-core/tsconfig.lib.prod.json"
|
|
18
|
-
},
|
|
19
|
-
"development": {
|
|
20
|
-
"tsConfig": "src/libs/ui-core/tsconfig.lib.json"
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
"defaultConfiguration": "production"
|
|
24
|
-
},
|
|
25
|
-
"test": {
|
|
26
|
-
"executor": "@nx/jest:jest",
|
|
27
|
-
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
|
|
28
|
-
"options": {
|
|
29
|
-
"jestConfig": "src/libs/ui-core/jest.config.ts"
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
"lint": {
|
|
33
|
-
"executor": "@nx/eslint:lint"
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { OnChanges, SimpleChange, SimpleChanges } from '@angular/core';
|
|
2
|
-
|
|
3
|
-
export function setComponentProperties<TComponent>(
|
|
4
|
-
component: TComponent,
|
|
5
|
-
value: Partial<TComponent>,
|
|
6
|
-
firstChange = false
|
|
7
|
-
) {
|
|
8
|
-
if (!value || !component) {
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const simpleChanges = Object.keys(value).reduce(
|
|
13
|
-
(changes: SimpleChanges, property: string) => {
|
|
14
|
-
const indexedComponent = component as unknown as {
|
|
15
|
-
[key: string]: TComponent[keyof TComponent];
|
|
16
|
-
};
|
|
17
|
-
const indexedValue = value as unknown as {
|
|
18
|
-
[key: string]: TComponent[keyof TComponent];
|
|
19
|
-
};
|
|
20
|
-
const previousValue = indexedComponent[property];
|
|
21
|
-
const currentValue = indexedValue[
|
|
22
|
-
property
|
|
23
|
-
] as TComponent[keyof TComponent];
|
|
24
|
-
if (currentValue !== previousValue) {
|
|
25
|
-
indexedComponent[property] = currentValue;
|
|
26
|
-
const change = new SimpleChange(
|
|
27
|
-
previousValue,
|
|
28
|
-
currentValue,
|
|
29
|
-
firstChange
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
return { ...changes, [property]: change };
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return changes;
|
|
36
|
-
},
|
|
37
|
-
{}
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
const changeableComponent = component as unknown as OnChanges;
|
|
41
|
-
if (changeableComponent['ngOnChanges']) {
|
|
42
|
-
changeableComponent.ngOnChanges(simpleChanges);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
export enum ControlSeverity {
|
|
2
|
-
success = 'success',
|
|
3
|
-
info = 'info',
|
|
4
|
-
warning = 'warning',
|
|
5
|
-
danger = 'danger',
|
|
6
|
-
help = 'help',
|
|
7
|
-
primary = 'primary',
|
|
8
|
-
secondary = 'secondary',
|
|
9
|
-
contrast = 'contrast',
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export enum GovControlSeverity {
|
|
13
|
-
primary = 'primary',
|
|
14
|
-
secondary = 'secondary',
|
|
15
|
-
neutral = 'neutral',
|
|
16
|
-
error = 'error',
|
|
17
|
-
success = 'success',
|
|
18
|
-
warning = 'warning',
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export enum GovButtonType {
|
|
22
|
-
solid = 'solid',
|
|
23
|
-
outlined = "outlined",
|
|
24
|
-
base = "base",
|
|
25
|
-
link = "link"
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export enum IconPosition {
|
|
29
|
-
left = 'left',
|
|
30
|
-
right = 'right',
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export enum SlotPosition {
|
|
34
|
-
top = 'top',
|
|
35
|
-
bottom = 'bottom',
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export enum FieldSize {
|
|
39
|
-
small = 'small',
|
|
40
|
-
medium = 'medium',
|
|
41
|
-
large = 'large',
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export enum FieldAlign {
|
|
45
|
-
left = 'left',
|
|
46
|
-
center = 'center',
|
|
47
|
-
right = 'right',
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export enum FieldType {
|
|
51
|
-
text = 'text',
|
|
52
|
-
number = 'number',
|
|
53
|
-
password = 'password',
|
|
54
|
-
search = 'search',
|
|
55
|
-
date = 'date',
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export enum LayoutType {
|
|
59
|
-
horizontal = 'horizontal',
|
|
60
|
-
vertical = 'vertical',
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export type ControlSeverityType = keyof typeof ControlSeverity;
|
|
64
|
-
export type GovControlSeverityType = keyof typeof GovControlSeverity;
|
|
65
|
-
export type GovButtonTypeType = keyof typeof GovButtonType;
|
|
66
|
-
export type IconPositionType = keyof typeof IconPosition;
|
|
67
|
-
export type SlotPositionType = keyof typeof SlotPosition;
|
|
68
|
-
export type FieldSizeType = keyof typeof FieldSize;
|
|
69
|
-
export type FieldAlignType = keyof typeof FieldAlign;
|
|
70
|
-
export type FieldTypeType = keyof typeof FieldType;
|
|
71
|
-
export type LayoutTypeType = keyof typeof LayoutType;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { setDataToArray } from './datasource-component.model';
|
|
2
|
-
|
|
3
|
-
describe('setDataToArray', () => {
|
|
4
|
-
test('Should return data when target array is null and data is passed.', () => {
|
|
5
|
-
const data = ['item 1', 'item 2'];
|
|
6
|
-
const targetData = undefined;
|
|
7
|
-
|
|
8
|
-
const actual = setDataToArray(targetData, data);
|
|
9
|
-
|
|
10
|
-
expect(actual).toEqual(data);
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
test('Should return data when target array is null and data is passed.', () => {
|
|
14
|
-
const data = ['item 1', 'item 2'];
|
|
15
|
-
const targetData: string[] = [];
|
|
16
|
-
|
|
17
|
-
const actual = setDataToArray(targetData, data);
|
|
18
|
-
|
|
19
|
-
expect(actual).toEqual(data);
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
test('Should return extended target array when target array is empty and data is passed and offset is specified.', () => {
|
|
23
|
-
const data = ['item 1', 'item 2'];
|
|
24
|
-
const targetData: string[] = [];
|
|
25
|
-
const offset = 1;
|
|
26
|
-
|
|
27
|
-
const actual = setDataToArray(targetData, data, offset);
|
|
28
|
-
|
|
29
|
-
expect(actual).toEqual([undefined, ...data]);
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
test('Should return target array extended to total items when data is passed and total is specified.', () => {
|
|
33
|
-
const data = ['item 1', 'item 2'];
|
|
34
|
-
const targetData: string[] = [];
|
|
35
|
-
const total = 5;
|
|
36
|
-
const offset = 0;
|
|
37
|
-
|
|
38
|
-
const actual = setDataToArray(targetData, data, offset, total);
|
|
39
|
-
|
|
40
|
-
expect(actual.length).toEqual(total);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { FilterEvent, LazyLoadEvent, RequestParams } from '@verisoft/core';
|
|
3
|
-
|
|
4
|
-
export interface DataSourceComponentModel<TEntity> {
|
|
5
|
-
ngOnChanges?: (changes: SimpleChanges) => void;
|
|
6
|
-
lazy: boolean;
|
|
7
|
-
loading: boolean;
|
|
8
|
-
filter: boolean;
|
|
9
|
-
options: TEntity[] | undefined;
|
|
10
|
-
optionValue: string | undefined;
|
|
11
|
-
optionLabel: string | undefined;
|
|
12
|
-
showed: EventEmitter<any>;
|
|
13
|
-
cleared: EventEmitter<any>;
|
|
14
|
-
filtered: EventEmitter<FilterEvent>;
|
|
15
|
-
lazyLoad: EventEmitter<LazyLoadEvent>;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function setDataToArray<T>(
|
|
19
|
-
targetArray: (T | undefined)[] | undefined,
|
|
20
|
-
data: T[],
|
|
21
|
-
offset = 0,
|
|
22
|
-
total: number | undefined = undefined,
|
|
23
|
-
defaultItem: T | undefined = undefined
|
|
24
|
-
): (T | undefined)[] {
|
|
25
|
-
const totalItems = total ?? data.length + offset;
|
|
26
|
-
if (!targetArray) {
|
|
27
|
-
targetArray = Array(totalItems).fill(defaultItem);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (targetArray.length < totalItems) {
|
|
31
|
-
targetArray = targetArray.concat(
|
|
32
|
-
new Array(totalItems - targetArray.length).fill(defaultItem)
|
|
33
|
-
);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
for (let i = 0; i < data.length; i++) {
|
|
37
|
-
targetArray[i + offset] = data[i] ?? defaultItem;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return targetArray;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export type ExtendedRequestType<T> = RequestParams<T> & { useNewData: boolean}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export function downloadText(
|
|
2
|
-
filename: string,
|
|
3
|
-
text: string,
|
|
4
|
-
mimeType: string | undefined = 'text/plain'
|
|
5
|
-
): void {
|
|
6
|
-
const blob = new Blob([text], { type: mimeType });
|
|
7
|
-
downloadFile(filename, blob);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export function downloadFile(
|
|
11
|
-
filename: string,
|
|
12
|
-
blob: Blob
|
|
13
|
-
): void {
|
|
14
|
-
const url = window.URL.createObjectURL(blob);
|
|
15
|
-
const a = document.createElement('a');
|
|
16
|
-
a.href = url;
|
|
17
|
-
a.download = filename;
|
|
18
|
-
a.click();
|
|
19
|
-
window.URL.revokeObjectURL(url);
|
|
20
|
-
}
|
package/src/lib/common/filter.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { QueryList } from '@angular/core';
|
|
2
|
-
import { skip, Subject } from 'rxjs';
|
|
3
|
-
import { NotificableProperty } from './notificable-property.model';
|
|
4
|
-
import { queryListChanged } from './rxjs';
|
|
5
|
-
|
|
6
|
-
describe('queryListChanged', () => {
|
|
7
|
-
let queryList: QueryList<NotificableProperty>;
|
|
8
|
-
|
|
9
|
-
beforeEach(() => {
|
|
10
|
-
queryList = new QueryList<NotificableProperty>();
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
it('should emit initial value', (done) => {
|
|
14
|
-
queryListChanged(queryList).subscribe((result) => {
|
|
15
|
-
expect(result).toEqual([]);
|
|
16
|
-
done();
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it('should emit when propertyChanged emits', (done) => {
|
|
21
|
-
const propertyChanged = new Subject<void>();
|
|
22
|
-
const item = { propertyChanged } as NotificableProperty;
|
|
23
|
-
queryList.reset([item]);
|
|
24
|
-
queryList.notifyOnChanges();
|
|
25
|
-
|
|
26
|
-
queryListChanged(queryList)
|
|
27
|
-
.pipe(skip(1))
|
|
28
|
-
.subscribe((result) => {
|
|
29
|
-
expect(result).toEqual([item]);
|
|
30
|
-
done();
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
setTimeout(() => {
|
|
34
|
-
propertyChanged.next();
|
|
35
|
-
}, 60);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it('should debounce emissions', (done) => {
|
|
39
|
-
const propertyChanged = new Subject<void>();
|
|
40
|
-
const item = { propertyChanged } as NotificableProperty;
|
|
41
|
-
queryList.reset([item]);
|
|
42
|
-
queryList.notifyOnChanges();
|
|
43
|
-
|
|
44
|
-
const emittedValues: NotificableProperty[][] = [];
|
|
45
|
-
queryListChanged(queryList).subscribe((result) => {
|
|
46
|
-
emittedValues.push(result);
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
propertyChanged.next();
|
|
50
|
-
propertyChanged.next();
|
|
51
|
-
|
|
52
|
-
setTimeout(() => {
|
|
53
|
-
expect(emittedValues.length).toBe(1);
|
|
54
|
-
expect(emittedValues[0]).toEqual([item]);
|
|
55
|
-
done();
|
|
56
|
-
}, 100);
|
|
57
|
-
});
|
|
58
|
-
});
|
package/src/lib/common/rxjs.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { QueryList } from '@angular/core';
|
|
2
|
-
import { debounceTime, map, merge, startWith, switchMap } from 'rxjs';
|
|
3
|
-
import { NotificableProperty } from './notificable-property.model';
|
|
4
|
-
|
|
5
|
-
export function queryListChanged<TEntity>(list: QueryList<TEntity>) {
|
|
6
|
-
return list.changes.pipe(
|
|
7
|
-
startWith({}),
|
|
8
|
-
switchMap(() => {
|
|
9
|
-
const actionPropertyChanges$ = list
|
|
10
|
-
.toArray()
|
|
11
|
-
.filter((action) => (<NotificableProperty>action).propertyChanged)
|
|
12
|
-
.map((action) => (<NotificableProperty>action).propertyChanged);
|
|
13
|
-
|
|
14
|
-
return merge(...actionPropertyChanges$).pipe(
|
|
15
|
-
startWith({}),
|
|
16
|
-
map(() => list.toArray())
|
|
17
|
-
);
|
|
18
|
-
}),
|
|
19
|
-
debounceTime(50)
|
|
20
|
-
);
|
|
21
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { IconPositionType } from '../../common';
|
|
3
|
-
import { ActionButton } from './action-button.model';
|
|
4
|
-
|
|
5
|
-
export const ACTION_BUTTON_GROUP_COMPONENT_TOKEN =
|
|
6
|
-
new InjectionToken<ActionButtonGroupCore>('ActionButtonGroupComponentToken');
|
|
7
|
-
|
|
8
|
-
export interface ActionButtonGroupCore {
|
|
9
|
-
maxItems: number;
|
|
10
|
-
maxItemsMobile: number;
|
|
11
|
-
items: ActionButton[];
|
|
12
|
-
menuIconPos: IconPositionType;
|
|
13
|
-
menuIcon: string;
|
|
14
|
-
label?: string;
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import { ControlSeverityType, FieldSizeType, NotificableProperty } from '../../common';
|
|
3
|
-
|
|
4
|
-
export interface ActionButton extends NotificableProperty {
|
|
5
|
-
disabled: boolean;
|
|
6
|
-
toolTip?: string;
|
|
7
|
-
id?: string;
|
|
8
|
-
icon?: string;
|
|
9
|
-
outlined: boolean;
|
|
10
|
-
raised: boolean;
|
|
11
|
-
severity?: ControlSeverityType;
|
|
12
|
-
label?: string;
|
|
13
|
-
size?: FieldSizeType;
|
|
14
|
-
click: EventEmitter<MouseEvent>;
|
|
15
|
-
}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, inject, Input, OnInit } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
AbstractControl,
|
|
5
|
-
ControlValueAccessor,
|
|
6
|
-
FormControl,
|
|
7
|
-
FormControlDirective,
|
|
8
|
-
FormControlName,
|
|
9
|
-
FormGroupDirective,
|
|
10
|
-
NgControl,
|
|
11
|
-
NgModel,
|
|
12
|
-
ReactiveFormsModule,
|
|
13
|
-
} from '@angular/forms';
|
|
14
|
-
import { ERROR_PROVIDER_TOKEN } from '@verisoft/core';
|
|
15
|
-
import { BaseInputControls } from './models/base-form-input.models';
|
|
16
|
-
|
|
17
|
-
const noop = () => {
|
|
18
|
-
/* */
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
@Component({
|
|
22
|
-
template: '',
|
|
23
|
-
standalone: true,
|
|
24
|
-
imports: [CommonModule, ReactiveFormsModule],
|
|
25
|
-
})
|
|
26
|
-
export class BaseFormInputComponent
|
|
27
|
-
implements BaseInputControls<any>, ControlValueAccessor, OnInit
|
|
28
|
-
{
|
|
29
|
-
readonly ngControl?: NgControl;
|
|
30
|
-
|
|
31
|
-
readonly errorService = inject(ERROR_PROVIDER_TOKEN);
|
|
32
|
-
|
|
33
|
-
formControl!: FormControl;
|
|
34
|
-
|
|
35
|
-
constructor(private readonly control: NgControl) {
|
|
36
|
-
this.ngControl = control;
|
|
37
|
-
if (this.control) {
|
|
38
|
-
this.ngControl.valueAccessor = this;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@Input()
|
|
43
|
-
label?: string;
|
|
44
|
-
|
|
45
|
-
@Input()
|
|
46
|
-
required = false;
|
|
47
|
-
|
|
48
|
-
@Input()
|
|
49
|
-
readonly!: boolean;
|
|
50
|
-
|
|
51
|
-
@Input()
|
|
52
|
-
disabled!: boolean;
|
|
53
|
-
|
|
54
|
-
@Input()
|
|
55
|
-
tooltip!: string;
|
|
56
|
-
|
|
57
|
-
@Input()
|
|
58
|
-
formDisplay: 'flex' | 'block' = 'flex';
|
|
59
|
-
|
|
60
|
-
@Input()
|
|
61
|
-
clearable = true;
|
|
62
|
-
|
|
63
|
-
@Input()
|
|
64
|
-
placeholder?: string = '';
|
|
65
|
-
|
|
66
|
-
@Input()
|
|
67
|
-
testId?: string;
|
|
68
|
-
|
|
69
|
-
inputId = Math.random().toString(36).substring(2);
|
|
70
|
-
|
|
71
|
-
selectionChanged: any = noop;
|
|
72
|
-
|
|
73
|
-
onTouch: any = noop;
|
|
74
|
-
|
|
75
|
-
registerOnChange(fn: any): void {
|
|
76
|
-
this.selectionChanged = fn;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
registerOnTouched(fn: any): void {
|
|
80
|
-
this.onTouch = fn;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
84
|
-
writeValue(value: any): void {}
|
|
85
|
-
|
|
86
|
-
ngOnInit(): void {
|
|
87
|
-
if (this.ngControl) {
|
|
88
|
-
if (this.ngControl instanceof FormControlName) {
|
|
89
|
-
this.formControl =
|
|
90
|
-
this.ngControl.control ||
|
|
91
|
-
((this.ngControl.formDirective as FormGroupDirective)?.form.controls[
|
|
92
|
-
this.ngControl.name as string
|
|
93
|
-
] as FormControl);
|
|
94
|
-
} else if (
|
|
95
|
-
this.ngControl instanceof FormControlDirective ||
|
|
96
|
-
this.ngControl instanceof NgModel
|
|
97
|
-
) {
|
|
98
|
-
this.formControl = this.ngControl.control;
|
|
99
|
-
if (this.ngControl instanceof NgModel) {
|
|
100
|
-
this.formControl.valueChanges.subscribe(() =>
|
|
101
|
-
this.ngControl?.viewToModelUpdate(this.control?.value)
|
|
102
|
-
);
|
|
103
|
-
}
|
|
104
|
-
} else {
|
|
105
|
-
this.formControl = new FormControl();
|
|
106
|
-
}
|
|
107
|
-
} else {
|
|
108
|
-
this.formControl = new FormControl();
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
isRequired() {
|
|
113
|
-
if (this.ngControl) {
|
|
114
|
-
const validator = this.ngControl?.control?.validator?.(
|
|
115
|
-
{} as AbstractControl
|
|
116
|
-
);
|
|
117
|
-
return this.required || (validator && validator['required']);
|
|
118
|
-
}
|
|
119
|
-
return this.required;
|
|
120
|
-
}
|
|
121
|
-
}
|