@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verisoft-ui-core.mjs","sources":["../../../../../src/libs/ui-core/src/lib/common/angular-helper.ts","../../../../../src/libs/ui-core/src/lib/common/control.models.ts","../../../../../src/libs/ui-core/src/lib/common/constants.ts","../../../../../src/libs/ui-core/src/lib/common/datasource-component.model.ts","../../../../../src/libs/ui-core/src/lib/common/filter.ts","../../../../../src/libs/ui-core/src/lib/common/rxjs.ts","../../../../../src/libs/ui-core/src/lib/common/download-file.ts","../../../../../src/libs/ui-core/src/lib/components/action-button-group/action-button-group.model.ts","../../../../../src/libs/ui-core/src/lib/components/base-form/base-form-input.component.ts","../../../../../src/libs/ui-core/src/lib/services/screen-size.service.ts","../../../../../src/libs/ui-core/src/lib/services/confirm-dialog.service.ts","../../../../../src/libs/ui-core/src/lib/services/leave-form.service.ts","../../../../../src/libs/ui-core/src/lib/services/table.service.ts","../../../../../src/libs/ui-core/src/lib/components/base-form/models/base-form-input.models.ts","../../../../../src/libs/ui-core/src/lib/components/base-form/models/base-form.models.ts","../../../../../src/libs/ui-core/src/lib/components/base-form/base-form.component.ts","../../../../../src/libs/ui-core/src/lib/components/unsubscribe.component.ts","../../../../../src/libs/ui-core/src/lib/components/base-form/directives/detail-store.directive.ts","../../../../../src/libs/ui-core/src/lib/components/breadcrumb/breadcrumb.model.ts","../../../../../src/libs/ui-core/src/lib/components/breadcrumb/breadcrumb.service.ts","../../../../../src/libs/ui-core/src/lib/components/breadcrumb/breadcrumbcore.component.ts","../../../../../src/libs/ui-core/src/lib/components/button/button.model.ts","../../../../../src/libs/ui-core/src/lib/components/calendar/calendar.model.ts","../../../../../src/libs/ui-core/src/lib/components/checkbox/checkbox.model.ts","../../../../../src/libs/ui-core/src/lib/components/confirm-dialog/confirm-dialog.model.ts","../../../../../src/libs/ui-core/src/lib/components/dropdown/dropdown.model.ts","../../../../../src/libs/ui-core/src/lib/components/filter/filter.model.ts","../../../../../src/libs/ui-core/src/lib/components/form-field/form-field.model.ts","../../../../../src/libs/ui-core/src/lib/components/generic-field/generic-field.model.ts","../../../../../src/libs/ui-core/src/lib/components/generic-form/generic-form.component.ts","../../../../../src/libs/ui-core/src/lib/components/header/header.model.ts","../../../../../src/libs/ui-core/src/lib/components/input-group/input-group.model.ts","../../../../../src/libs/ui-core/src/lib/components/loader/loader.model.ts","../../../../../src/libs/ui-core/src/lib/components/multiselect/mutiselect.model.ts","../../../../../src/libs/ui-core/src/lib/components/number-input/number-input.model.ts","../../../../../src/libs/ui-core/src/lib/components/page-header/page-header.model.ts","../../../../../src/libs/ui-core/src/lib/components/page-header/page-header.service.ts","../../../../../src/libs/ui-core/src/lib/components/page-header/page-headercore.component.ts","../../../../../src/libs/ui-core/src/lib/components/password/password.model.ts","../../../../../src/libs/ui-core/src/lib/components/radiobutton/radiobutton.model.ts","../../../../../src/libs/ui-core/src/lib/components/section/section.model.ts","../../../../../src/libs/ui-core/src/lib/components/side-menu/side-menu.model.ts","../../../../../src/libs/ui-core/src/lib/components/side-menu/services/side-menu.service.ts","../../../../../src/libs/ui-core/src/lib/components/side-menu/services/side-menu-provider.service.ts","../../../../../src/libs/ui-core/src/lib/components/side-menu/directives/side-menu-service.directive.ts","../../../../../src/libs/ui-core/src/lib/components/slider/slider.model.ts","../../../../../src/libs/ui-core/src/lib/components/snackbar/snackbar.model.ts","../../../../../src/libs/ui-core/src/lib/components/stepper/stepper.model.ts","../../../../../src/libs/ui-core/src/lib/components/switch/switch.model.ts","../../../../../src/libs/ui-core/src/lib/components/tab-view/tab-view.model.ts","../../../../../src/libs/ui-core/src/lib/components/table/table.models.ts","../../../../../src/libs/ui-core/src/lib/components/table/table-column.directive.ts","../../../../../src/libs/ui-core/src/lib/components/table/column-configuration.ts","../../../../../src/libs/ui-core/src/lib/components/table/table-builder.ts","../../../../../src/libs/ui-core/src/lib/components/table-filter/table-filter.model.ts","../../../../../src/libs/ui-core/src/lib/components/textarea/textarea.model.ts","../../../../../src/libs/ui-core/src/lib/components/textfield/textfield.model.ts","../../../../../src/libs/ui-core/src/lib/components/tristatecheckbox/tristatecheckbox.model.ts","../../../../../src/libs/ui-core/src/lib/components/icons/icons.model.ts","../../../../../src/libs/ui-core/src/lib/components/icons/icons.component.ts","../../../../../src/libs/ui-core/src/lib/directives/datasource.directive.ts","../../../../../src/libs/ui-core/src/lib/directives/table-datasource.directive.ts","../../../../../src/libs/ui-core/src/lib/directives/shortcut.directive.ts","../../../../../src/libs/ui-core/src/lib/directives/table-filter.directive.ts","../../../../../src/libs/ui-core/src/lib/pipes/error/error.codes.ts","../../../../../src/libs/ui-core/src/lib/pipes/error/error.models.ts","../../../../../src/libs/ui-core/src/lib/pipes/error/error.pipe.ts","../../../../../src/libs/ui-core/src/lib/pipes/error/warning.codes.ts","../../../../../src/libs/ui-core/src/lib/pipes/error/warning.pipe.ts","../../../../../src/libs/ui-core/src/lib/pipes/keyOrFn/keyOrFn.pipe.ts","../../../../../src/libs/ui-core/src/lib/pipes/helper/enumToList.pipe.ts","../../../../../src/libs/ui-core/src/lib/format/format.ts","../../../../../src/libs/ui-core/src/verisoft-ui-core.ts"],"sourcesContent":["import { OnChanges, SimpleChange, SimpleChanges } from '@angular/core';\r\n\r\nexport function setComponentProperties<TComponent>(\r\n component: TComponent,\r\n value: Partial<TComponent>,\r\n firstChange = false\r\n) {\r\n if (!value || !component) {\r\n return;\r\n }\r\n\r\n const simpleChanges = Object.keys(value).reduce(\r\n (changes: SimpleChanges, property: string) => {\r\n const indexedComponent = component as unknown as {\r\n [key: string]: TComponent[keyof TComponent];\r\n };\r\n const indexedValue = value as unknown as {\r\n [key: string]: TComponent[keyof TComponent];\r\n };\r\n const previousValue = indexedComponent[property];\r\n const currentValue = indexedValue[\r\n property\r\n ] as TComponent[keyof TComponent];\r\n if (currentValue !== previousValue) {\r\n indexedComponent[property] = currentValue;\r\n const change = new SimpleChange(\r\n previousValue,\r\n currentValue,\r\n firstChange\r\n );\r\n\r\n return { ...changes, [property]: change };\r\n }\r\n\r\n return changes;\r\n },\r\n {}\r\n );\r\n\r\n const changeableComponent = component as unknown as OnChanges;\r\n if (changeableComponent['ngOnChanges']) {\r\n changeableComponent.ngOnChanges(simpleChanges);\r\n }\r\n}\r\n","export enum ControlSeverity {\r\n success = 'success',\r\n info = 'info',\r\n warning = 'warning',\r\n danger = 'danger',\r\n help = 'help',\r\n primary = 'primary',\r\n secondary = 'secondary',\r\n contrast = 'contrast',\r\n}\r\n\r\nexport enum GovControlSeverity {\r\n primary = 'primary',\r\n secondary = 'secondary',\r\n neutral = 'neutral',\r\n error = 'error',\r\n success = 'success',\r\n warning = 'warning',\r\n}\r\n\r\nexport enum GovButtonType {\r\n solid = 'solid',\r\n outlined = \"outlined\",\r\n base = \"base\",\r\n link = \"link\"\r\n}\r\n\r\nexport enum IconPosition {\r\n left = 'left',\r\n right = 'right',\r\n}\r\n\r\nexport enum SlotPosition {\r\n top = 'top',\r\n bottom = 'bottom',\r\n}\r\n\r\nexport enum FieldSize {\r\n small = 'small',\r\n medium = 'medium',\r\n large = 'large',\r\n}\r\n\r\nexport enum FieldAlign {\r\n left = 'left',\r\n center = 'center',\r\n right = 'right',\r\n}\r\n\r\nexport enum FieldType {\r\n text = 'text',\r\n number = 'number',\r\n password = 'password',\r\n search = 'search',\r\n date = 'date',\r\n}\r\n\r\nexport enum LayoutType {\r\n horizontal = 'horizontal',\r\n vertical = 'vertical',\r\n}\r\n\r\nexport type ControlSeverityType = keyof typeof ControlSeverity;\r\nexport type GovControlSeverityType = keyof typeof GovControlSeverity;\r\nexport type GovButtonTypeType = keyof typeof GovButtonType;\r\nexport type IconPositionType = keyof typeof IconPosition;\r\nexport type SlotPositionType = keyof typeof SlotPosition;\r\nexport type FieldSizeType = keyof typeof FieldSize;\r\nexport type FieldAlignType = keyof typeof FieldAlign;\r\nexport type FieldTypeType = keyof typeof FieldType;\r\nexport type LayoutTypeType = keyof typeof LayoutType;\r\n","export const DEFAULT_DEBOUNCE_TIME = 300;\r\n\r\nexport const DEFAULT_PAGINATION = [10, 25, 50, 100];\r\n\r\nexport const MAX_COLUMN_CHAR_COUNT = 30;","import { EventEmitter, SimpleChanges } from '@angular/core';\r\nimport { FilterEvent, LazyLoadEvent, RequestParams } from '@verisoft/core';\r\n\r\nexport interface DataSourceComponentModel<TEntity> {\r\n ngOnChanges?: (changes: SimpleChanges) => void;\r\n lazy: boolean;\r\n loading: boolean;\r\n filter: boolean;\r\n options: TEntity[] | undefined;\r\n optionValue: string | undefined;\r\n optionLabel: string | undefined;\r\n showed: EventEmitter<any>;\r\n cleared: EventEmitter<any>;\r\n filtered: EventEmitter<FilterEvent>;\r\n lazyLoad: EventEmitter<LazyLoadEvent>;\r\n}\r\n\r\nexport function setDataToArray<T>(\r\n targetArray: (T | undefined)[] | undefined,\r\n data: T[],\r\n offset = 0,\r\n total: number | undefined = undefined,\r\n defaultItem: T | undefined = undefined\r\n): (T | undefined)[] {\r\n const totalItems = total ?? data.length + offset;\r\n if (!targetArray) {\r\n targetArray = Array(totalItems).fill(defaultItem);\r\n }\r\n\r\n if (targetArray.length < totalItems) {\r\n targetArray = targetArray.concat(\r\n new Array(totalItems - targetArray.length).fill(defaultItem)\r\n );\r\n }\r\n\r\n for (let i = 0; i < data.length; i++) {\r\n targetArray[i + offset] = data[i] ?? defaultItem;\r\n }\r\n\r\n return targetArray;\r\n}\r\n\r\nexport type ExtendedRequestType<T> = RequestParams<T> & { useNewData: boolean}\r\n","export function isFilterEmpty<T>(filter: Partial<T> | undefined) {\r\n if (filter == undefined) {\r\n return true;\r\n }\r\n\r\n return !Object.entries(filter).some((x) => x[1] != undefined);\r\n}\r\n","import { QueryList } from '@angular/core';\r\nimport { debounceTime, map, merge, startWith, switchMap } from 'rxjs';\r\nimport { NotificableProperty } from './notificable-property.model';\r\n\r\nexport function queryListChanged<TEntity>(list: QueryList<TEntity>) {\r\n return list.changes.pipe(\r\n startWith({}),\r\n switchMap(() => {\r\n const actionPropertyChanges$ = list\r\n .toArray()\r\n .filter((action) => (<NotificableProperty>action).propertyChanged)\r\n .map((action) => (<NotificableProperty>action).propertyChanged);\r\n\r\n return merge(...actionPropertyChanges$).pipe(\r\n startWith({}),\r\n map(() => list.toArray())\r\n );\r\n }),\r\n debounceTime(50)\r\n );\r\n}\r\n","export function downloadText(\r\n filename: string,\r\n text: string,\r\n mimeType: string | undefined = 'text/plain'\r\n): void {\r\n const blob = new Blob([text], { type: mimeType });\r\n downloadFile(filename, blob);\r\n}\r\n\r\nexport function downloadFile(\r\n filename: string,\r\n blob: Blob\r\n): void {\r\n const url = window.URL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = filename;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { IconPositionType } from '../../common';\r\nimport { ActionButton } from './action-button.model';\r\n\r\nexport const ACTION_BUTTON_GROUP_COMPONENT_TOKEN =\r\n new InjectionToken<ActionButtonGroupCore>('ActionButtonGroupComponentToken');\r\n\r\nexport interface ActionButtonGroupCore {\r\n maxItems: number;\r\n maxItemsMobile: number;\r\n items: ActionButton[];\r\n menuIconPos: IconPositionType;\r\n menuIcon: string;\r\n label?: string;\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, inject, Input, OnInit } from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n FormControl,\r\n FormControlDirective,\r\n FormControlName,\r\n FormGroupDirective,\r\n NgControl,\r\n NgModel,\r\n ReactiveFormsModule,\r\n} from '@angular/forms';\r\nimport { ERROR_PROVIDER_TOKEN } from '@verisoft/core';\r\nimport { BaseInputControls } from './models/base-form-input.models';\r\n\r\nconst noop = () => {\r\n /* */\r\n};\r\n\r\n@Component({\r\n template: '',\r\n standalone: true,\r\n imports: [CommonModule, ReactiveFormsModule],\r\n})\r\nexport class BaseFormInputComponent\r\n implements BaseInputControls<any>, ControlValueAccessor, OnInit\r\n{\r\n readonly ngControl?: NgControl;\r\n\r\n readonly errorService = inject(ERROR_PROVIDER_TOKEN);\r\n\r\n formControl!: FormControl;\r\n\r\n constructor(private readonly control: NgControl) {\r\n this.ngControl = control;\r\n if (this.control) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n @Input()\r\n label?: string;\r\n\r\n @Input()\r\n required = false;\r\n\r\n @Input()\r\n readonly!: boolean;\r\n\r\n @Input()\r\n disabled!: boolean;\r\n\r\n @Input()\r\n tooltip!: string;\r\n\r\n @Input()\r\n formDisplay: 'flex' | 'block' = 'flex';\r\n\r\n @Input()\r\n clearable = true;\r\n\r\n @Input()\r\n placeholder?: string = '';\r\n\r\n @Input()\r\n testId?: string;\r\n\r\n inputId = Math.random().toString(36).substring(2);\r\n\r\n selectionChanged: any = noop;\r\n\r\n onTouch: any = noop;\r\n\r\n registerOnChange(fn: any): void {\r\n this.selectionChanged = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n writeValue(value: any): void {}\r\n\r\n ngOnInit(): void {\r\n if (this.ngControl) {\r\n if (this.ngControl instanceof FormControlName) {\r\n this.formControl =\r\n this.ngControl.control ||\r\n ((this.ngControl.formDirective as FormGroupDirective)?.form.controls[\r\n this.ngControl.name as string\r\n ] as FormControl);\r\n } else if (\r\n this.ngControl instanceof FormControlDirective ||\r\n this.ngControl instanceof NgModel\r\n ) {\r\n this.formControl = this.ngControl.control;\r\n if (this.ngControl instanceof NgModel) {\r\n this.formControl.valueChanges.subscribe(() =>\r\n this.ngControl?.viewToModelUpdate(this.control?.value)\r\n );\r\n }\r\n } else {\r\n this.formControl = new FormControl();\r\n }\r\n } else {\r\n this.formControl = new FormControl();\r\n }\r\n }\r\n\r\n isRequired() {\r\n if (this.ngControl) {\r\n const validator = this.ngControl?.control?.validator?.(\r\n {} as AbstractControl\r\n );\r\n return this.required || (validator && validator['required']);\r\n }\r\n return this.required;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ScreenSizeService {\r\n isMobileBlock = new BehaviorSubject<boolean>(false);\r\n prevState = false;\r\n\r\n constructor() {\r\n this.checkScreenSize();\r\n window.addEventListener('resize', async () => {\r\n await this.checkScreenSize();\r\n });\r\n }\r\n\r\n async checkScreenSize() {\r\n const isMobile = window.matchMedia('(max-width: 768px)').matches;\r\n if (isMobile !== this.prevState) {\r\n this.prevState = isMobile;\r\n this.isMobileBlock.next(isMobile);\r\n }\r\n }\r\n}\r\n","import { EventEmitter, Injectable, Output } from '@angular/core';\r\nimport { ExtendedDialogData } from '../components';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DialogService {\r\n @Output() showEvent: EventEmitter<ExtendedDialogData> =\r\n new EventEmitter<ExtendedDialogData>();\r\n\r\n @Output() closeEvent: EventEmitter<null> = new EventEmitter();\r\n\r\n showDialog<TInputs, TOutputs>(data: ExtendedDialogData<TInputs, TOutputs>): void {\r\n const mappedData = this.mapInputAndOutpus(data);\r\n\r\n this.showEvent.emit({\r\n ...data,\r\n data: mappedData,\r\n });\r\n }\r\n\r\n private mapInputAndOutpus<TInputs, TOutputs>(\r\n data: ExtendedDialogData<TInputs, TOutputs>\r\n ): ExtendedDialogData<TInputs, TOutputs> {\r\n const inputsAndOutputs = data.data as TInputs & TOutputs;\r\n return {\r\n ...data.data,\r\n ...(Object.keys(inputsAndOutputs ?? {})\r\n .filter((key) => typeof inputsAndOutputs[key as keyof TOutputs] === 'function')\r\n .reduce((acc, key) => {\r\n acc[key] = (value: any) => {\r\n if (typeof inputsAndOutputs[key as keyof TOutputs] === 'function') {\r\n (inputsAndOutputs[key as keyof TOutputs] as (value: any) => void)(value);\r\n }\r\n };\r\n return acc;\r\n }, {} as Record<string, any>)),\r\n };\r\n }\r\n\r\n closeModal(): void {\r\n this.closeEvent.emit();\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { PreventUnsavedChangesCore, CommonIcons } from '../common';\r\nimport { DialogService } from './confirm-dialog.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PreventUnsavedChangesDirective implements CanDeactivate<PreventUnsavedChangesCore> {\r\n private dialogService = inject(DialogService);\r\n private translateService = inject(TranslateService);\r\n private readonly Icons!: CommonIcons;\r\n\r\n canDeactivate(component: PreventUnsavedChangesCore): Observable<boolean> | Promise<boolean> | boolean {\r\n if (!component || !component.canDeactivate) {\r\n return true;\r\n }\r\n const result = component.canDeactivate();\r\n return result;\r\n }\r\n\r\n showConfirmationDialog(): Observable<boolean> {\r\n const resultSubject = new Subject<boolean>();\r\n\r\n const title = this.translateService.instant('VALIDATIONS.UNSAVED_CHANGES');\r\n const message = this.translateService.instant('VALIDATIONS.LEAVING_UNSAVED_FORM');\r\n const leaveButton = this.translateService.instant('BUTTONS.LEAVE');\r\n const stayButton = this.translateService.instant('BUTTONS.STAY');\r\n\r\n this.dialogService.showDialog({\r\n title: title,\r\n headerIcon: this.Icons.infoCircle,\r\n innerHTML: `<p>${message}</p>`,\r\n showCancelButton: true,\r\n confirmButtonText: stayButton,\r\n cancelButtonText: leaveButton,\r\n confirmButtonFn: () => {\r\n resultSubject.next(false);\r\n resultSubject.complete();\r\n this.dialogService.closeModal();\r\n },\r\n cancelButtonFn: () => {\r\n resultSubject.next(true);\r\n resultSubject.complete();\r\n this.dialogService.closeModal();\r\n },\r\n });\r\n\r\n return resultSubject.asObservable();\r\n }\r\n}\r\n","import { Injectable, signal } from \"@angular/core\";\r\nimport { TableSignal } from \"../components\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TableService {\r\n readonly reload = signal<TableSignal | symbol>(Symbol())\r\n\r\n /**\r\n * If name is set, reload a specific table with the set`[tableName]`\r\n *\r\n * If name is NOT set, reload all tables in the current DOM\r\n * */\r\n forceReload(name?: string): void {\r\n if (name) {\r\n this.reload.set({ name: name, symbol: Symbol() });\r\n } else {\r\n this.reload.set(Symbol());\r\n }\r\n }\r\n}\r\n","import { NgControl } from '@angular/forms';\r\n\r\nexport abstract class BaseInputControls<T> {\r\n value?: T | null;\r\n\r\n readonly ngControl?: NgControl;\r\n\r\n readonly label?: string;\r\n\r\n readonly required!: boolean;\r\n}\r\n","export interface BaseFormCore {\r\n label?: string;\r\n required: boolean;\r\n readonly: boolean;\r\n tooltip: string;\r\n formDisplay: 'flex' | 'block';\r\n clearable: boolean;\r\n placeholder?: string\r\n testId?: string;\r\n}\r\n\r\nexport interface BaseFormDirectiveCore<T> {\r\n initialData: T | any;\r\n}\r\n\r\nexport interface FormState {\r\n dirty: boolean;\r\n valid: boolean;\r\n}\r\n\r\nexport function isFormStateEqual(current: FormState, other: FormState) {\r\n if (!current && !other) {\r\n return true;\r\n }\r\n\r\n if (current && other) {\r\n return current.dirty === other.dirty && current.valid === other.valid;\r\n }\r\n\r\n return false;\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { cloneDeep } from 'lodash-es';\r\nimport { Subject, takeUntil, filter, map, Observable } from 'rxjs';\r\nimport { PreventUnsavedChangesCore } from '../../common';\r\nimport { PreventUnsavedChangesDirective } from '../../services';\r\nimport { FormState, isFormStateEqual } from './models';\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: '[v-baseForm]',\r\n standalone: true,\r\n})\r\nexport abstract class BaseFormDirective<T extends object>\r\n implements OnInit, OnChanges, OnDestroy, AfterViewInit, PreventUnsavedChangesCore\r\n{\r\n @Input() data!: T | any;\r\n @Output() dataChange = new EventEmitter<T>();\r\n @Output() statusChange = new EventEmitter<FormState>();\r\n @Output() formSubmit = new EventEmitter<T>();\r\n @Output() formClear = new EventEmitter<void>();\r\n\r\n formDestroyed$ = new Subject<void>();\r\n keys: { key: string; alias?: string; type?: string; readOnly: string }[] = [];\r\n formGroup!: FormGroup;\r\n cd = inject(ChangeDetectorRef);\r\n valueInitialization = false;\r\n lastState!: FormState;\r\n guardViewChild!: ViewChild;\r\n formSubmitted = false;\r\n protected guard = inject(PreventUnsavedChangesDirective);\r\n\r\n @HostListener('window:beforeunload', ['$event'])\r\n unloadHandler(event: BeforeUnloadEvent) {\r\n if (this.formGroup.dirty) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n canDeactivate(): Observable<boolean> | Promise<boolean> | boolean {\r\n if (this.formGroup.dirty && !this.formSubmitted) {\r\n const result = this.guard.showConfirmationDialog();\r\n return result;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initializeFormGroup();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['data'] && this.formGroup) {\r\n this.valueInitialization = true;\r\n const dirty = this.formGroup.dirty;\r\n\r\n this.formGroup.patchValue(this.fromModel(this.data), {\r\n emitEvent: false,\r\n onlySelf: true,\r\n });\r\n\r\n this.formGroup.updateValueAndValidity();\r\n if (!dirty) {\r\n this.formGroup.markAsPristine();\r\n }\r\n\r\n this.valueInitialization = false;\r\n this.createAndEmitIfFormStateChanged();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.cd.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.formDestroyed$.next();\r\n this.formDestroyed$.complete();\r\n }\r\n\r\n abstract createFormGroup(): FormGroup;\r\n\r\n createCompleteData() {\r\n const change = this.toModel(this.formGroup?.value);\r\n this.recursiveObjectAttributesTransformation(change);\r\n const updatedData = this.applyChanges(\r\n cloneDeep(this.data),\r\n cloneDeep(change)\r\n );\r\n\r\n return updatedData;\r\n }\r\n\r\n submit() {\r\n this.formSubmitted = true;\r\n this.formGroup.markAllAsTouched();\r\n if (!this.formGroup.invalid) {\r\n this.formSubmit.emit(this.createCompleteData());\r\n }\r\n this.formGroup.markAsPristine();\r\n }\r\n\r\n clear() {\r\n this.formClear.emit();\r\n }\r\n\r\n private initializeFormGroup() {\r\n this.formGroup = this.createFormGroup();\r\n this.valueInitialization = true;\r\n this.formGroup.patchValue(this.fromModel(this.data), {\r\n emitEvent: false,\r\n onlySelf: true,\r\n });\r\n\r\n this.formGroup.markAsPristine();\r\n this.initValueChanges();\r\n this.initStatusChanges();\r\n this.valueInitialization = false;\r\n }\r\n\r\n private initValueChanges() {\r\n this.formGroup.valueChanges\r\n .pipe(\r\n takeUntil(this.formDestroyed$),\r\n filter(() => !this.valueInitialization),\r\n map((value) => {\r\n const change = this.toModel(value);\r\n this.recursiveObjectAttributesTransformation(change);\r\n const updatedData = this.applyChanges(\r\n cloneDeep(this.data),\r\n cloneDeep(change)\r\n );\r\n return updatedData;\r\n })\r\n )\r\n .subscribe((updatedData) => {\r\n this.dataChange.emit(updatedData);\r\n });\r\n }\r\n\r\n private initStatusChanges() {\r\n this.formGroup.statusChanges\r\n .pipe(takeUntil(this.formDestroyed$))\r\n .subscribe(() => {\r\n if (!this.valueInitialization) {\r\n this.createAndEmitIfFormStateChanged();\r\n }\r\n });\r\n\r\n this.createAndEmitIfFormStateChanged();\r\n }\r\n\r\n private createAndEmitIfFormStateChanged() {\r\n const formState: FormState = {\r\n valid: !this.formGroup.invalid,\r\n dirty: this.formGroup.dirty,\r\n };\r\n\r\n if (!isFormStateEqual(formState, this.lastState)) {\r\n this.lastState = formState;\r\n this.statusChange.emit(formState);\r\n }\r\n }\r\n\r\n protected applyChanges(data: T, changes: Partial<T>): T {\r\n return Object.assign(data || ({} as T), changes);\r\n }\r\n\r\n protected toModel(data: T): Partial<T> {\r\n return data || {};\r\n }\r\n\r\n protected fromModel(data: T): T {\r\n return { ...(data || {}) } as T;\r\n }\r\n\r\n private recursiveObjectAttributesTransformation(obj: any): void {\r\n this.recursiveObjectAttributesTraversal(\r\n obj,\r\n this.transformEmptyStringToNullStringFn\r\n );\r\n }\r\n\r\n private recursiveObjectAttributesTraversal(\r\n obj: any,\r\n transformationFn: (obj: any, key: string) => void\r\n ) {\r\n if (\r\n obj === null ||\r\n transformationFn === null ||\r\n typeof transformationFn !== 'function'\r\n ) {\r\n return;\r\n }\r\n\r\n const traverse = (obj: any) => {\r\n for (const key in obj) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (obj.hasOwnProperty(key)) {\r\n transformationFn(obj, key);\r\n\r\n if (typeof obj[key] === 'object') {\r\n traverse(obj[key]);\r\n }\r\n }\r\n }\r\n };\r\n\r\n traverse(obj);\r\n }\r\n\r\n private transformEmptyStringToNullStringFn(obj: any, key: string) {\r\n // if empty string - transformation to null string\r\n if (typeof obj[key] === 'string' && obj[key] === '') {\r\n try {\r\n obj[key] = null;\r\n } catch (error) {\r\n console.error(`Cannot modify ${key}: ${error}`)\r\n }\r\n }\r\n }\r\n}\r\n","import { Directive, OnDestroy } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Directive()\r\nexport abstract class UnsubscribeComponent implements OnDestroy {\r\n destroyed$ = new Subject<void>();\r\n\r\n ngOnDestroy() {\r\n this.destroyed$.next();\r\n this.destroyed$.complete();\r\n }\r\n}\r\n","import {\r\n Directive,\r\n AfterViewInit,\r\n inject,\r\n Input,\r\n OnInit,\r\n ChangeDetectorRef,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { createFeatureSelector, createSelector, Store } from '@ngrx/store';\r\nimport {\r\n BackendValidationError,\r\n createInitDetailAction,\r\n createInitNewDetailAction,\r\n createResetStateAction,\r\n createUpdateDetailAction,\r\n createUpdateDetailSetErrorsAction,\r\n createUpdateFormStateAction,\r\n DetailState,\r\n} from '@verisoft/store';\r\nimport { takeUntil } from 'rxjs';\r\nimport { UnsubscribeComponent } from '../../unsubscribe.component';\r\nimport { BaseFormDirective } from '../base-form.component';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: '[v-useDetailStore]',\r\n exportAs: 'useDetailStore',\r\n standalone: true,\r\n})\r\nexport class DetailStoreDirective\r\n extends UnsubscribeComponent\r\n implements OnInit, AfterViewInit, OnDestroy\r\n{\r\n @Input({ required: true }) form!: BaseFormDirective<any>;\r\n\r\n @Input({ required: true }) detailsRepository!: string;\r\n\r\n @Input() autoBind = true;\r\n\r\n @Input() detailId!: string | number | undefined;\r\n\r\n @Input({ required: true }) ngrxFeatureKey!: string;\r\n\r\n @Input() destroyForm = true;\r\n\r\n @Input() readonly = false;\r\n\r\n @Input() readonlyControlNames: string[] = [];\r\n\r\n store = inject(Store);\r\n cdr = inject(ChangeDetectorRef);\r\n route = inject(ActivatedRoute);\r\n\r\n private itemCache: any = null;\r\n private loaded!: boolean;\r\n\r\n ngOnInit(): void {\r\n if (!this.loaded) {\r\n this.listenFormState();\r\n }\r\n this.listenFormChange();\r\n this.listenFormStatusChange();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.autoBind && !this.loaded) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n override ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this.destroyForm) {\r\n this.store.dispatch(createResetStateAction(this.detailsRepository)());\r\n }\r\n }\r\n\r\n private initForm() {\r\n if (this.detailId === 'create') {\r\n this.store.dispatch(createInitNewDetailAction(this.detailsRepository)());\r\n } else {\r\n this.store.dispatch(\r\n createInitDetailAction(this.detailsRepository)({ obj: this.detailId })\r\n );\r\n }\r\n\r\n if (this.readonly) {\r\n this.form.formGroup.disable();\r\n return;\r\n }\r\n\r\n this.readonlyControlNames.forEach(x => {\r\n this.form.formGroup.get(x)?.disable();\r\n });\r\n }\r\n\r\n private listenFormState() {\r\n const selectIncomeData = createSelector(\r\n createFeatureSelector<any>(this.ngrxFeatureKey),\r\n (state: any) => state?.[this.detailsRepository] as DetailState<any>\r\n );\r\n this.store\r\n .select(selectIncomeData)\r\n .pipe(takeUntil(this.destroyed$))\r\n .subscribe(\r\n (\r\n { item, loaded, backendValidationErrors } = {\r\n item: undefined,\r\n loaded: false,\r\n saveItemState: { saveInProgress: false },\r\n backendValidationErrors: []\r\n }\r\n ) => {\r\n if (item\r\n && ((item.validationErrors || item.validationWarnings) && !this.form.formGroup.dirty)\r\n || backendValidationErrors.length\r\n ) {\r\n this.handleValidation(\r\n 'propertyName',\r\n item.validationWarnings || [],\r\n 'validationWarning',\r\n 'warningMessage'\r\n );\r\n this.handleValidation(\r\n 'propertyName',\r\n item.validationErrors || [],\r\n 'validationError',\r\n 'errorMessage'\r\n );\r\n\r\n if (this.itemCache && this.isStateChanged(item) && backendValidationErrors.length) {\r\n backendValidationErrors = this.dispatchErrors(item, backendValidationErrors);\r\n }\r\n\r\n this.handleBackendValidation(backendValidationErrors);\r\n this.cdr.markForCheck();\r\n }\r\n\r\n this.itemCache = item;\r\n\r\n this.loaded = loaded;\r\n this.cdr.detectChanges();\r\n }\r\n );\r\n }\r\n\r\n private listenFormChange() {\r\n this.form.dataChange.pipe(takeUntil(this.destroyed$)).subscribe((item) => {\r\n this.store.dispatch(\r\n createUpdateDetailAction(this.detailsRepository)({ item })\r\n );\r\n });\r\n }\r\n\r\n private listenFormStatusChange() {\r\n this.form.statusChange\r\n .pipe(takeUntil(this.destroyed$))\r\n .subscribe((formState) => {\r\n this.store.dispatch(\r\n createUpdateFormStateAction(this.detailsRepository)({ formState })\r\n );\r\n });\r\n }\r\n\r\n private handleValidation = (\r\n controlName: string,\r\n errors: any[],\r\n errorKey: string,\r\n messageKey: string\r\n ) => {\r\n if (errors.length > 0) return;\r\n errors.forEach((error: any) => {\r\n const control = this.form.formGroup.get(error[controlName]);\r\n if (control) {\r\n control.disabled\r\n ? control.disable({ emitEvent: false, onlySelf: true })\r\n : control.enable({ emitEvent: false, onlySelf: true });\r\n control.setErrors(\r\n { [errorKey]: error[messageKey] },\r\n { emitEvent: true }\r\n );\r\n control.markAsDirty();\r\n }\r\n });\r\n };\r\n\r\n private handleBackendValidation(errors: BackendValidationError[]) {\r\n errors.forEach(({ parameters, code }: BackendValidationError) => {\r\n const control = this.form.formGroup.get(this.normalizePropertyNames(parameters));\r\n if (!control) return;\r\n\r\n control[control.disabled ? \"disable\" : \"enable\"]({ emitEvent: false, onlySelf: true });\r\n control.setErrors({ \"validationError\": code }, { emitEvent: true });\r\n control.markAsDirty();\r\n });\r\n }\r\n\r\n private dispatchErrors(item: any, errors: BackendValidationError[]): BackendValidationError[] {\r\n const error = errors.filter((e: BackendValidationError) => {\r\n return this.itemCache[this.normalizePropertyNames(e.parameters)] === item[this.normalizePropertyNames(e.parameters)];\r\n });\r\n\r\n this.store.dispatch(\r\n createUpdateDetailSetErrorsAction(this.detailsRepository)({ error })\r\n );\r\n\r\n return error;\r\n }\r\n\r\n private normalizePropertyNames(input: string): string {\r\n return String(input[0]).toLocaleLowerCase() + String(input).slice(1);\r\n }\r\n\r\n private isStateChanged(item: any): boolean {\r\n return item !== this.itemCache;\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { MenuItem } from '../side-menu';\r\n\r\nexport const BREADCRUMB_COMPONENT_TOKEN = new InjectionToken<BreadcrumbCore>(\r\n 'BreadcrumbComponentToken'\r\n);\r\n\r\nexport interface BreadcrumbCore {\r\n items: MenuItem[];\r\n homeRoute: string;\r\n useHomeRoute: boolean;\r\n}\r\n\r\nexport interface Breadcrumb {\r\n label: string;\r\n routerLink?: string;\r\n url?: string;\r\n active?: boolean;\r\n activatedRoute?: ActivatedRoute;\r\n}\r\n","import { EventEmitter, Injectable, Output } from '@angular/core';\r\nimport { Breadcrumb } from './breadcrumb.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BreadcrumbService {\r\n @Output() routeChange: EventEmitter<Breadcrumb> = new EventEmitter();\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n Input,\r\n inject,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\r\nimport { filter, takeUntil } from 'rxjs';\r\nimport { MenuItem } from '../side-menu';\r\nimport { UnsubscribeComponent } from '../unsubscribe.component';\r\nimport { BreadcrumbCore } from './breadcrumb.model';\r\nimport { BreadcrumbService } from './breadcrumb.service';\r\n\r\n@Directive({})\r\nexport class BreadcrumbCoreComponent\r\n extends UnsubscribeComponent\r\n implements BreadcrumbCore, OnInit\r\n{\r\n @Input() items: MenuItem[] = [];\r\n @Input() homeRoute = '/';\r\n @Input() useHomeRoute = false;\r\n\r\n static readonly ROUTE_DATA_BREADCRUMB = 'breadcrumb';\r\n static readonly ROUTE_DATA_BREADCRUMB_URL = 'breadcrumb_url';\r\n static readonly ROUTE_DATA_NO_BREADCRUMB_ROUTE = 'breadcrumb_no_route';\r\n static readonly BREADCRUMB_HIDE = 'breadcrumb_hide';\r\n readonly home = { icon: 'pi pi-home', routerLink: this.homeRoute };\r\n\r\n router = inject(Router);\r\n activatedRoute = inject(ActivatedRoute);\r\n breadcrumbService = inject(BreadcrumbService);\r\n cdr = inject(ChangeDetectorRef);\r\n\r\n ngOnInit(): void {\r\n this.initBreadcrumbsCreation();\r\n this.initRouteChangeListen();\r\n }\r\n\r\n private initBreadcrumbsCreation() {\r\n this.router.events\r\n .pipe(\r\n filter((event) => event instanceof NavigationEnd),\r\n takeUntil(this.destroyed$)\r\n )\r\n .subscribe(\r\n () => (this.items = this.createBreadcrumbs(this.activatedRoute.root))\r\n );\r\n }\r\n\r\n private initRouteChangeListen() {\r\n this.breadcrumbService.routeChange\r\n .pipe(\r\n filter((x) => x.label !== 'Undefined'),\r\n takeUntil(this.destroyed$)\r\n )\r\n .subscribe((x) => {\r\n this.items = [\r\n ...this.items,\r\n {\r\n label: x.label,\r\n routerLink: x.routerLink,\r\n url: x.url,\r\n class: 'breadcrumb',\r\n },\r\n ];\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n private createBreadcrumbs(\r\n route: ActivatedRoute,\r\n routerLink = '',\r\n breadcrumbs: MenuItem[] = []\r\n ): any {\r\n const children: ActivatedRoute[] = route.children;\r\n\r\n if (children.length === 0) {\r\n return breadcrumbs;\r\n }\r\n\r\n for (const child of children) {\r\n const routeURL: string = child.snapshot.url\r\n .map((segment) => segment.path)\r\n .join('/');\r\n\r\n if (!child.snapshot.data[BreadcrumbCoreComponent.BREADCRUMB_HIDE]) {\r\n if (BreadcrumbCoreComponent.ROUTE_DATA_BREADCRUMB_URL !== undefined) {\r\n const route =\r\n child.snapshot.data[BreadcrumbCoreComponent.ROUTE_DATA_BREADCRUMB_URL];\r\n routerLink += `/${route}`;\r\n }\r\n\r\n if (!BreadcrumbCoreComponent.ROUTE_DATA_BREADCRUMB_URL && routeURL !== '') {\r\n routerLink += `/${routeURL}`;\r\n }\r\n\r\n const label = child.snapshot.data[BreadcrumbCoreComponent.ROUTE_DATA_BREADCRUMB];\r\n if (\r\n label &&\r\n BreadcrumbCoreComponent.ROUTE_DATA_NO_BREADCRUMB_ROUTE &&\r\n child.snapshot.data[\r\n BreadcrumbCoreComponent.ROUTE_DATA_NO_BREADCRUMB_ROUTE\r\n ]\r\n ) {\r\n breadcrumbs.push({ label, routerLink: undefined });\r\n } else if (label && child.snapshot.routeConfig?.path !== '') {\r\n breadcrumbs.push({ label, routerLink: routerLink });\r\n }\r\n }\r\n\r\n return this.createBreadcrumbs(child, routerLink, breadcrumbs);\r\n }\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { Params } from '@angular/router';\r\nimport { ControlSeverityType, FieldSizeType, IconPositionType } from '../../common';\r\n\r\nexport const BUTTON_COMPONENT_TOKEN = new InjectionToken<ButtonCore>(\r\n 'ButtonComponentToken'\r\n);\r\n\r\nexport interface ButtonCore {\r\n label?: string;\r\n icon?: string;\r\n badge?: string;\r\n iconPos: IconPositionType;\r\n rounded: boolean;\r\n outlined: boolean;\r\n raised: boolean;\r\n severity?: ControlSeverityType;\r\n routerLink: any[];\r\n size: FieldSizeType | undefined;\r\n queryParams?: Params;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const CALENDAR_COMPONENT_TOKEN = new InjectionToken<CalendarCore>(\r\n 'CalendarComponentToken'\r\n);\r\n\r\nexport interface CalendarCore extends BaseFormCore {\r\n maxDate: Date;\r\n icon: string;\r\n minDate: Date;\r\n header: string;\r\n footer: string;\r\n floatLabel: string | undefined;\r\n selectionMode: \"single\" | \"multiple\" | \"range\" | undefined;\r\n}","import { InjectionToken } from '@angular/core';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const CHECKBOX_COMPONENT_TOKEN = new InjectionToken<CheckboxCore>(\r\n 'CheckboxComponentToken'\r\n);\r\n\r\nexport type CheckboxCore = BaseFormCore\r\n","import { InjectionToken, Type } from '@angular/core';\r\nimport { SafeHtml } from \"@angular/platform-browser\";\r\nimport { ControlSeverityType } from '../../common';\r\n\r\nexport const CONFIRM_DIALOG_COMPONENT_TOKEN = new InjectionToken<ConfirmDialogCore>(\r\n 'ConfirmDialogComponentToken'\r\n);\r\n\r\nexport type ConfirmDialogCore = object\r\n\r\nexport interface DialogData {\r\n title?: string;\r\n headerIcon?: string;\r\n severity?: ControlSeverityType;\r\n showCancelButton?: boolean;\r\n buttonOrder?: 'confirm-cancel' | 'cancel-confirm';\r\n confirmButtonText?: string;\r\n confirmButtonFn?: () => void;\r\n cancelButtonFn?: () => void;\r\n cancelButtonText?: string;\r\n innerHTML?: string | SafeHtml;\r\n data?: unknown;\r\n componentType?: Type<unknown>;\r\n closable?: boolean;\r\n width?: string;\r\n height?: string;\r\n}\r\n\r\nexport interface ExtendedDialogData<TInputs = any, TOutputs = any> extends DialogData {\r\n data?: TInputs & TOutputs;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { DataSourceComponentModel } from '../../common';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const DROPDOWN_COMPONENT_TOKEN = new InjectionToken<DropdownCore<any>>(\r\n 'DropdownComponentToken'\r\n);\r\n\r\nexport interface DropdownCore<T> extends DataSourceComponentModel<T>, BaseFormCore {\r\n dropdownIcon?: string;\r\n floatLabel?: string;\r\n editable: boolean;\r\n forceMinWidth: boolean;\r\n showFilter: boolean;\r\n localSearch: boolean;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\nimport { GenericFieldDefinition } from '../generic-form';\r\n\r\nexport const FILTER_COMPONENT_TOKEN = new InjectionToken<FilterCore>(\r\n 'FilterComponentToken'\r\n);\r\n\r\nexport interface FilterCore extends ControlValueAccessor {\r\n fields: GenericFieldDefinition[]; \r\n title?: string; \r\n fulltextFieldName: string; \r\n showFulltext: boolean; \r\n showFilters: boolean; \r\n autoBind: boolean; \r\n debounceTime?: number;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\nexport const FORM_FIELD_COMPONENT_TOKEN = new InjectionToken<FormFieldCore>(\r\n 'FormFieldComponentToken'\r\n);\r\n\r\nexport interface FormFieldCore {\r\n ngControl?: NgControl;\r\n label?: string;\r\n tooltip?: string;\r\n required: boolean;\r\n testId?: string;\r\n display: 'flex' | 'block';\r\n}","import { InjectionToken } from '@angular/core';\r\nimport { DataSourceComponentModel } from '../../common';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const GENERIC_FIELD_COMPONENT_TOKEN = new InjectionToken<GenericFieldCore<any>>(\r\n 'GenericFieldComponentToken'\r\n);\r\n\r\nexport interface GenericFieldCore<T> extends DataSourceComponentModel<T>, BaseFormCore {\r\n}\r\n","import { ValidatorFn } from '@angular/forms';\r\nimport { DatasourceType } from '@verisoft/core';\r\nimport { FieldSizeType } from '../../common';\r\n\r\nexport interface GenericFieldDefinition {\r\n validator?: ValidatorFn[];\r\n type?: GenericFieldTypeType;\r\n label?: string;\r\n floatLabel?: boolean;\r\n name: string;\r\n optionLabel?: string;\r\n optionValue?: string;\r\n options?: unknown[];\r\n value?: unknown;\r\n testId?: string;\r\n size?: FieldSizeType;\r\n readonly?: boolean;\r\n datasource?: DatasourceType<any>;\r\n filterField?: string;\r\n showFilter?: boolean;\r\n localSearch?: boolean;\r\n}\r\n\r\nexport enum GenericFieldType {\r\n 'dropdown' = 'dropdown',\r\n 'checkbox' = 'checkbox',\r\n 'simplecheckbox' = 'simplecheckbox',\r\n 'calendar' = 'calendar',\r\n 'multiselect' = 'multiselect',\r\n 'text' = 'text',\r\n}\r\n\r\nexport type GenericFieldTypeType = keyof typeof GenericFieldType;\r\n","import { InjectionToken } from '@angular/core';\r\nimport { MenuItem } from '../side-menu/side-menu.model';\r\n\r\nexport const HEADER_COMPONENT_TOKEN = new InjectionToken<HeaderCore>(\r\n 'HeaderComponentToken'\r\n);\r\n\r\nexport const SETTINGS_MENU = new InjectionToken<MenuItem[]>(\r\n 'SETTINGS_MENU'\r\n);\r\n\r\nexport interface HeaderCore {\r\n title: string;\r\n userName: string;\r\n logoUrl: string;\r\n userRole: any | any[] | undefined;\r\n menuRef: HTMLDivElement;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { IconPositionType } from '../../common';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const INPUT_GROUP_COMPONENT_TOKEN = new InjectionToken<InputGroupCore>(\r\n 'HeaderComponentToken'\r\n);\r\n\r\nexport interface InputGroupItem {\r\n icon?: string;\r\n text?: string;\r\n position: IconPositionType;\r\n}\r\n\r\nexport interface InputGroupCore extends BaseFormCore {\r\n items: InputGroupItem[];\r\n}","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LOADER_COMPONENT_TOKEN = new InjectionToken<LoaderCore>(\r\n 'LoaderComponentToken'\r\n);\r\n\r\nexport type LoaderCore = object\r\n","import { InjectionToken } from '@angular/core';\r\nimport { DataSourceComponentModel } from '../../common';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const MULTISELECT_COMPONENT_TOKEN = new InjectionToken<MultiselectCore<any>>(\r\n 'MultiselectComponentToken'\r\n);\r\n\r\nexport interface MultiselectCore<T> extends DataSourceComponentModel<T>, BaseFormCore {\r\n dropdownIcon?: string;\r\n floatLabel?: string;\r\n editable: boolean;\r\n}","import { InjectionToken } from '@angular/core';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const NUMBER_INPUT_COMPONENT_TOKEN = new InjectionToken<NumberInputCore>(\r\n 'NumberInputComponentToken'\r\n);\r\n\r\nexport interface NumberInputCore extends BaseFormCore {\r\n mode: string;\r\n currency: string;\r\n min: number;\r\n max: number;\r\n step: number;\r\n}","import { InjectionToken } from '@angular/core';\r\n\r\nexport const PAGE_HEADER_COMPONENT_TOKEN = new InjectionToken<PageHeaderCore>(\r\n 'PageHeaderComponentToken'\r\n);\r\n\r\nexport interface PageHeaderCore {\r\n title: string;\r\n subtitle: string | undefined;\r\n showBackButton: boolean | undefined;\r\n}\r\n","import { EventEmitter, Injectable, Output } from '@angular/core';\r\nimport { PageHeaderCore } from './page-header.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PageHeaderService {\r\n @Output() pageHeader = new EventEmitter<PageHeaderCore>();\r\n}\r\n","import { ChangeDetectorRef, Directive, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { takeUntil } from 'rxjs';\r\nimport { FieldSize, FieldSizeType } from '../../common';\r\nimport { UnsubscribeComponent } from '../unsubscribe.component';\r\nimport { PageHeaderService } from './page-header.service';\r\n\r\n@Directive({})\r\nexport class PageHeaderCoreComponent\r\n extends UnsubscribeComponent\r\n implements OnInit\r\n{\r\n @Input() title!: string;\r\n @Input() subtitle: string | undefined;\r\n @Input() showBackButton!: boolean;\r\n @Input() size: FieldSizeType = FieldSize.small;\r\n\r\nconstructor(\r\n readonly router: Router,\r\n readonly cdr: ChangeDetectorRef,\r\n readonly headerService: PageHeaderService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.headerService.pageHeader\r\n .pipe(takeUntil(this.destroyed$))\r\n .subscribe((x: any) => {\r\n this.title = x.title;\r\n this.subtitle = x.subtitle;\r\n this.showBackButton = x.showBackButton ?? false;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n protected locationBack() {\r\n history.back();\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const PASSWORD_COMPONENT_TOKEN = new InjectionToken<PasswordCore>(\r\n 'PasswordComponentToken'\r\n);\r\n\r\nexport enum PasswordStrength {\r\n None = 0,\r\n Low = 1,\r\n Medium = 2,\r\n High = 3,\r\n Superb = 4\r\n}\r\n\r\nexport interface PasswordCore extends BaseFormCore {\r\n toggleMask: boolean;\r\n feedback: boolean;\r\n}\r\n\r\nexport interface PasswordValidationItem {\r\n severity: 'success' | 'error';\r\n validationLabel: string;\r\n validationFn: (x: string) => boolean;\r\n}","import { InjectionToken } from '@angular/core';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const RADIOBUTTON_COMPONENT_TOKEN = new InjectionToken<RadiobuttonCore<any>>(\r\n 'RadiobuttonComponentToken'\r\n);\r\n\r\nexport interface RadioButtonItem<T> {\r\n id: string;\r\n value: T; \r\n}\r\n\r\nexport interface RadiobuttonCore<T> extends BaseFormCore {\r\n radioGroupName: string;\r\n items: RadioButtonItem<T>[];\r\n}","import { InjectionToken } from '@angular/core';\r\n\r\nexport const SECTION_COMPONENT_TOKEN = new InjectionToken<SectionCore>(\r\n 'SectionComponentToken'\r\n);\r\n\r\nexport interface SectionCore {\r\n title: string;\r\n showContent: boolean;\r\n backgroundColor: string;\r\n}","import { InjectionToken } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport const MENU_TOKEN = new InjectionToken<MenuItem[]>(\r\n 'MENU'\r\n);\r\n\r\nexport const LOGO_ROUTER_ROUTE = new InjectionToken<string>(\r\n 'LOGO_ROUTER_ROUTE'\r\n);\r\n\r\nexport const SIDE_MENU_COMPONENT_TOKEN = new InjectionToken<SideMenuCore>(\r\n 'SideMenuComponentToken'\r\n);\r\n\r\nexport const SIDE_MENU_STATE_TOKEN = new InjectionToken<SideMenuState>(\r\n 'SideMenuStateToken'\r\n);\r\n\r\nexport interface SideMenuState {\r\n expanded: string[];\r\n minimalized: boolean;\r\n}\r\n\r\nexport interface MenuItem {\r\n id?: string;\r\n label?: string | undefined;\r\n icon?: string;\r\n expanded?: boolean;\r\n data?: MenuItemData;\r\n tooltip?: string;\r\n url?: string;\r\n visible?: boolean | Observable<boolean>;\r\n type?: string;\r\n children?: MenuItem[];\r\n routerLink?: any;\r\n class?: string;\r\n // eslint-disable-next-line @typescript-eslint/ban-types\r\n command?: Function;\r\n}\r\n\r\ntype ExtendableType = {\r\n [key: string]:\r\n | string\r\n | number\r\n | boolean\r\n | string[]\r\n | number[]\r\n | boolean[]\r\n | undefined;\r\n};\r\n\r\nexport interface MenuItemData extends ExtendableType {\r\n roles?: string[];\r\n permissions?: string[];\r\n}\r\n\r\nexport interface SideMenuModuleConfig {\r\n items?: MenuItem[];\r\n}\r\n\r\nexport interface SideMenuCore {\r\n items: MenuItem[];\r\n logoUrl: string;\r\n userName: string;\r\n userRole: any | any[] | undefined;\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { MenuItem, SIDE_MENU_STATE_TOKEN } from '../side-menu.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SideMenuService {\r\n private _menuItems = new BehaviorSubject<MenuItem[]>([]);\r\n private stateToken = inject(SIDE_MENU_STATE_TOKEN);\r\n\r\n menuItems$: Observable<MenuItem[]> = this._menuItems.asObservable();\r\n menuMinimalized = false;\r\n\r\n setMenu(items: MenuItem[]): void {\r\n this.resetSidemenuState(items);\r\n this._menuItems.next(items);\r\n }\r\n\r\n saveMinimalizedState(minimalized: boolean): void {\r\n this.stateToken.minimalized = minimalized;\r\n localStorage.setItem('SideMenuStateToken', JSON.stringify(this.stateToken));\r\n }\r\n\r\n saveExpandedState(item: MenuItem): void {\r\n const expanded = this.stateToken.expanded?.find(\r\n (i: string) => i === item.label\r\n );\r\n\r\n if (!expanded) {\r\n this.stateToken.expanded?.push(item.label!);\r\n localStorage.setItem(\r\n 'SideMenuStateToken',\r\n JSON.stringify(this.stateToken)\r\n );\r\n return;\r\n }\r\n\r\n this.stateToken.expanded = this.stateToken.expanded?.filter(\r\n (i: string) => i !== item.label\r\n );\r\n\r\n localStorage.setItem('SideMenuStateToken', JSON.stringify(this.stateToken));\r\n }\r\n\r\n private resetSidemenuState(items: MenuItem[]) {\r\n if (typeof this.stateToken === 'string') {\r\n this.stateToken = JSON.parse(this.stateToken);\r\n }\r\n\r\n this.menuMinimalized = this.stateToken.minimalized;\r\n const localStorageValue = this.stateToken.expanded;\r\n\r\n if (!localStorageValue) return;\r\n if (items) {\r\n for (let index = 0; index < items.length; index++) {\r\n const element = items[index];\r\n element.expanded = !!localStorageValue.find(\r\n (i: string) => i === element.label\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable, Optional, Inject } from '@angular/core';\r\nimport { MENU_TOKEN, MenuItem } from '../side-menu.model';\r\nimport { SideMenuService } from './side-menu.service';\r\n\r\n@Injectable()\r\nexport class SideMenuProviderService {\r\n constructor(\r\n @Optional() @Inject(MENU_TOKEN) readonly menu: MenuItem[] = [],\r\n readonly menuService: SideMenuService\r\n ) {\r\n menuService.setMenu(menu);\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectorRef, Directive, inject } from \"@angular/core\";\r\nimport { takeUntil } from \"rxjs\";\r\nimport { UnsubscribeComponent } from \"../../unsubscribe.component\";\r\nimport { SideMenuService } from \"../services/side-menu.service\";\r\nimport { SIDE_MENU_COMPONENT_TOKEN } from \"../side-menu.model\";\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'v-side-menu[useMenuService]',\r\n exportAs: 'useMenuService',\r\n standalone: true,\r\n})\r\nexport class MenuServiceDirective\r\n extends UnsubscribeComponent\r\n implements AfterViewInit\r\n{\r\n private readonly menuService = inject(SideMenuService);\r\n private readonly cdr = inject(ChangeDetectorRef);\r\n private readonly sideMenu = inject(SIDE_MENU_COMPONENT_TOKEN);\r\n\r\n ngAfterViewInit() {\r\n this.menuService.menuItems$.pipe(takeUntil(this.destroyed$)).subscribe((items) => {\r\n\r\n if (this.sideMenu) {\r\n this.sideMenu.items = items;\r\n }\r\n });\r\n\r\n this.cdr.detectChanges();\r\n }\r\n}","import { InjectionToken } from '@angular/core';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const SLIDER_COMPONENT_TOKEN = new InjectionToken<SliderCore>(\r\n 'SliderComponentToken'\r\n);\r\n\r\nexport interface SliderCore extends BaseFormCore {\r\n step: number;\r\n min: number;\r\n max: number;\r\n range: boolean;\r\n}","import { InjectionToken } from '@angular/core';\r\n\r\nexport const SNACKBAR_COMPONENT_TOKEN = new InjectionToken<SnackbarCore>(\r\n 'SnackbarComponentToken'\r\n);\r\n\r\nexport type SnackbarCore = object\r\n","import { EventEmitter, InjectionToken, TemplateRef } from \"@angular/core\";\r\nimport { FieldSizeType, LayoutTypeType } from \"../../common\";\r\n\r\nexport const STEPPER_COMPONENT_TOKEN = new InjectionToken<StepperCore>(\r\n 'StepperComponentToken'\r\n);\r\n\r\nexport interface StepperItem {\r\n header: string;\r\n template?: TemplateRef<any>;\r\n annotation?: string;\r\n prefix?: string;\r\n}\r\n\r\nexport interface StepperCore {\r\n items: StepperItem[]\r\n layout: LayoutTypeType\r\n activeIndexChange: EventEmitter<number>\r\n size: FieldSizeType | undefined;\r\n icon: string;\r\n prefix: string;\r\n annotation: string;\r\n label: string;\r\n}","import { InjectionToken } from \"@angular/core\";\r\nimport { BaseFormCore } from \"../base-form\";\r\n\r\nexport const SWITCH_COMPONENT_TOKEN = new InjectionToken<SwitchCore>(\r\n 'SwitchComponentToken'\r\n);\r\n\r\nexport type SwitchCore = BaseFormCore\r\n","import { EventEmitter, InjectionToken, TemplateRef } from \"@angular/core\";\r\n\r\nexport const TAB_VIEW_COMPONENT_TOKEN = new InjectionToken<TabViewCore>(\r\n 'TabVIewComponentToken'\r\n);\r\n\r\nexport interface TabViewItemCore {\r\n title: string;\r\n url?: string;\r\n icon?: string;\r\n disabled?: boolean;\r\n content?: string;\r\n contentTemplate?: TemplateRef<unknown>; \r\n}\r\n\r\nexport interface TabViewCore {\r\n items: TabViewItemCore[];\r\n useRouting: boolean;\r\n activeIndex: number;\r\n activeIndexChange: EventEmitter<number>;\r\n url?: string;\r\n}","import { EventEmitter, InjectionToken, TemplateRef } from '@angular/core';\r\nimport { Params } from '@angular/router';\r\nimport { LazyLoadEvent, Sort, SortDirectionType } from '@verisoft/core';\r\nimport { v4 } from 'uuid';\r\nimport { FieldAlignType } from '../../common';\r\n\r\nexport const TABLE_COMPONENT_TOKEN = new InjectionToken<TableCore<any>>(\r\n 'TabVIewComponentToken'\r\n);\r\n\r\nexport const TABLE_COLUMN_PROVIDER = new InjectionToken(\r\n 'TABLE_COLUMN_PROVIDER'\r\n);\r\n\r\nexport enum TableSelectionMode {\r\n single = 'single',\r\n multiple = 'multiple',\r\n}\r\n\r\nexport enum TableButtonSeverity {\r\n success = 'success',\r\n info = 'info',\r\n warning = 'warning',\r\n danger = 'danger',\r\n help = 'help',\r\n primary = 'primary',\r\n secondary = 'secondary',\r\n contrast = 'contrast',\r\n}\r\n\r\nexport enum ColumnVisibility {\r\n visible = 'visible',\r\n hidden = 'hidden',\r\n default = 'default',\r\n}\r\n\r\nexport type TableSelectionModeType = keyof typeof TableSelectionMode;\r\nexport type TableButtonSeverityType = keyof typeof TableButtonSeverity;\r\nexport type ColumnVisibilityType = keyof typeof ColumnVisibility;\r\n\r\nexport interface TableCore<T> {\r\n sorters: Sort[];\r\n columns: ColumnDefinition<T>[];\r\n data: T[];\r\n total: number;\r\n filter: Partial<T> | undefined;\r\n loading: boolean;\r\n scrollable: boolean;\r\n pageSize: number;\r\n currentPage: number;\r\n showPaginator: boolean;\r\n sortMultiple: boolean;\r\n lazy: boolean;\r\n selection: T[];\r\n selectionMode: TableSelectionModeType | undefined;\r\n showPageSizePicker: boolean;\r\n entityKey: string | undefined;\r\n selectionChange: EventEmitter<T[]>;\r\n lazyLoad: EventEmitter<LazyLoadEvent>;\r\n maximumColumnLength: number;\r\n disableCustomClicks: boolean;\r\n}\r\n\r\nexport interface TableSignal {\r\n name: string,\r\n symbol: symbol\r\n}\r\n\r\nexport interface ActionColumnsDefinition<T> {\r\n severity?: TableButtonSeverity;\r\n title?: string;\r\n icon?: string;\r\n tooltip?: string;\r\n rounded?: boolean;\r\n outlined?: boolean;\r\n raised?: boolean;\r\n badge?: string;\r\n visible?: (row: T) => boolean;\r\n routerLink?: (row: T) => string;\r\n queryParams?: Params;\r\n disabled?: boolean | ((row: T) => boolean);\r\n onClick?: (row: T, event?: MouseEvent) => void;\r\n}\r\n\r\nexport interface ColumnProvider<T> {\r\n getDefinition(): ColumnDefinition<T>;\r\n index: number;\r\n}\r\n\r\nexport interface ColumnDefinition<T, _KEY = keyof T> {\r\n id: string;\r\n value?: (row: T, index?: number) => string;\r\n headerName?: ((columnId: string, index?: number) => string) | string;\r\n icon?: string | ((row?: T | undefined) => string);\r\n type?: string;\r\n sortable?: boolean;\r\n format?: (row: T) => string\r\n routerLink?: (row: T) => string | string;\r\n queryParams?: Params;\r\n columnClass?: string;\r\n template?: TemplateRef<{ $implicit: T }>;\r\n actions?: ActionColumnsDefinition<T>[];\r\n textAlign?: FieldAlignType;\r\n width?: string | number;\r\n forceVisibility?: ColumnVisibilityType;\r\n visible?: boolean;\r\n}\r\n\r\nexport function LinkRenderer<T>(text: string, href: string) {\r\n return (row: T, index: number | undefined) => {\r\n return '<a href=\"' + href + '\">' + text + '</a>';\r\n };\r\n}\r\n\r\nexport function routerRenderer<T>(link: string, text: string) {\r\n return (row: T, index?: number | undefined) => {\r\n return { text: text, link: link };\r\n };\r\n}\r\n\r\nexport function Renderer<T>(fnc: (row: T) => string) {\r\n return (row: T) => {\r\n return fnc(row);\r\n };\r\n}\r\n\r\nexport class ColumnModel<T> {\r\n sortDirection: SortDirectionType | undefined = undefined;\r\n columnClass?: string;\r\n queryParams?: Params;\r\n routerLink?: (row: T) => string | string;\r\n valueGetter!: (row: T, index: number) => string;\r\n headerGetter!: (columnId: string, index: number) => string | string;\r\n template?: TemplateRef<{ $implicit: T }>;\r\n actions?: ActionColumnsDefinition<T>[];\r\n sortable?: boolean;\r\n id: string;\r\n // eslint-disable-next-line @typescript-eslint/ban-types\r\n format!: Function;\r\n textAlign?: FieldAlignType;\r\n width: string | undefined;\r\n forceVisibility: ColumnVisibilityType = ColumnVisibility.default;\r\n visible = true;\r\n\r\n constructor(readonly configuration: ColumnDefinition<T>) {\r\n this.id = this.configuration.id;\r\n\r\n if (this.configuration.format) {\r\n this.format = this.configuration.format;\r\n }\r\n\r\n if (this.configuration.value) {\r\n this.valueGetter = (row, index) => {\r\n const value = this.configuration.value?.(row, index) ?? '-';\r\n return this.format ? this.format(value, row) : value;\r\n };\r\n } else {\r\n this.valueGetter = (row) => {\r\n const value = ((row as { [key: string]: string })?.[this.configuration.id]) ?? '';\r\n return this.format ? this.format(value, row) : value;\r\n };\r\n }\r\n\r\n if (this.configuration.actions) {\r\n this.actions = this.configuration.actions;\r\n }\r\n\r\n if (this.configuration.routerLink) {\r\n this.routerLink = this.configuration.routerLink;\r\n }\r\n\r\n if (this.configuration.columnClass) {\r\n this.columnClass = this.configuration.columnClass;\r\n }\r\n\r\n if (this.configuration.template) {\r\n this.template = this.configuration.template;\r\n }\r\n\r\n if (this.configuration.headerName) {\r\n this.headerGetter = (\r\n typeof this.configuration.headerName === 'string'\r\n ? () => this.configuration.headerName ?? ''\r\n : (columnId: string, index: number) =>\r\n (<(columnId: string, index?: number) => string>(\r\n this.configuration.headerName\r\n ))?.(columnId, index) ?? this.id\r\n ) as (columnId: string, index: number) => string;\r\n } else {\r\n this.headerGetter = () => \"\";\r\n }\r\n\r\n if (this.configuration.queryParams) {\r\n this.queryParams = this.configuration.queryParams;\r\n }\r\n\r\n if (this.routerLink) {\r\n this.columnClass += ' ' + 'link';\r\n }\r\n\r\n if (this.configuration.sortable !== undefined) {\r\n this.sortable = this.configuration.sortable;\r\n } else {\r\n this.sortable = true;\r\n }\r\n\r\n if (this.configuration.width){\r\n this.width = typeof this.configuration.width === \"number\" ? this.configuration.width + 'px' : this.configuration.width;\r\n }\r\n\r\n if (this.configuration.textAlign !== undefined) {\r\n this.textAlign = this.configuration.textAlign;\r\n }\r\n\r\n if (this.configuration.forceVisibility) {\r\n this.forceVisibility = this.configuration.forceVisibility;\r\n }\r\n\r\n if (this.configuration.visible !== undefined) {\r\n this.visible = this.configuration.visible;\r\n }\r\n }\r\n}\r\n\r\nexport class RowModel<T> {\r\n row: T;\r\n index?: number;\r\n id: number | string;\r\n selected: boolean;\r\n marked?: boolean;\r\n focused?: boolean;\r\n expanded: boolean;\r\n fnc?: void;\r\n customRoute: string | undefined;\r\n\r\n constructor(\r\n row: T,\r\n selected: boolean,\r\n expanded: boolean,\r\n marked?: boolean,\r\n index?: number,\r\n fnc?: void,\r\n customRoute?: string,\r\n entityKey?: string\r\n ) {\r\n this.row = row;\r\n this.id = (row as { [key: string]: string })['id'] ?? v4();\r\n this.index = index;\r\n this.selected = selected;\r\n this.expanded = expanded;\r\n this.marked = marked;\r\n this.fnc = fnc;\r\n this.customRoute = createCustomRoute<T>(row, entityKey, customRoute);\r\n }\r\n}\r\n\r\nfunction createCustomRoute<T>(row: T, entityKey?: string, customRoute?: string) {\r\n return customRoute && entityKey\r\n ? `${customRoute}/` + (row as { [key: string]: string })[entityKey]\r\n : undefined;\r\n}\r\n","import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';\r\nimport { Params } from '@angular/router';\r\nimport { FieldAlign, FieldAlignType } from '../../common';\r\nimport { ColumnDefinition, ColumnProvider, ColumnVisibility, ColumnVisibilityType, TABLE_COLUMN_PROVIDER } from './table.models';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'v-table-column',\r\n standalone: true,\r\n providers: [\r\n {\r\n provide: TABLE_COLUMN_PROVIDER,\r\n useExisting: TableColumnDirective,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TableColumnDirective<T> implements ColumnProvider<T> {\r\n @ContentChild(TemplateRef) template!:\r\n TemplateRef<{ $implicit: T }>;\r\n\r\n @Input() index = 0;\r\n\r\n @Input() id!: string;\r\n\r\n @Input() columnClass!: string;\r\n\r\n @Input() sortable!: boolean;\r\n\r\n @Input() routerLink!: (row: T) => string;\r\n\r\n @Input() queryParams!: Params;\r\n\r\n @Input() headerName!: ((column: string, index?: number) => string) | string;\r\n\r\n @Input() width: string | number | undefined;\r\n\r\n @Input() textAlign: FieldAlignType = FieldAlign.left;\r\n\r\n @Input() format!: (row: T) => string\r\n\r\n @Input() forceVisibility: ColumnVisibilityType = ColumnVisibility.default;\r\n\r\n @Input() visible = true;\r\n\r\n getDefinition(): ColumnDefinition<T> {\r\n return {\r\n id: this.id,\r\n columnClass: this.columnClass,\r\n template: this.template,\r\n headerName: this.headerName,\r\n routerLink: this.routerLink,\r\n queryParams: this.queryParams,\r\n sortable: this.sortable,\r\n width: this.width,\r\n format: this.format,\r\n textAlign: this.textAlign,\r\n forceVisibility: this.forceVisibility,\r\n visible: this.visible,\r\n };\r\n }\r\n}\r\n","import { ColumnDefinition } from \"./table.models\";\r\n\r\nexport class ColumnConfiguration<TEntity> {\r\n private column: Partial<ColumnDefinition<TEntity>> = {};\r\n \r\n constructor(private id: string | keyof TEntity) {\r\n this.column.id = id as string;\r\n }\r\n \r\n headerName(headerName: string | ((columnId: string, index?: number) => string)): this {\r\n this.column.headerName = headerName;\r\n return this;\r\n }\r\n \r\n sortable(sortable: boolean): this {\r\n this.column.sortable = sortable;\r\n return this;\r\n }\r\n \r\n columnClass(columnClass: string): this {\r\n this.column.columnClass = columnClass;\r\n return this;\r\n }\r\n \r\n valueFunction(value: (row: TEntity, index?: number) => string): this {\r\n this.column.value = value;\r\n return this;\r\n }\r\n \r\n type(type: string): this {\r\n this.column.type = type;\r\n return this;\r\n }\r\n \r\n build(): ColumnDefinition<TEntity> {\r\n return this.column as ColumnDefinition<TEntity>;\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { ColumnConfiguration } from './column-configuration';\r\nimport { ColumnDefinition } from './table.models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TableBuilder<TEntity> {\r\n private columns: ColumnDefinition<TEntity>[] = [];\r\n\r\n addColumn(\r\n id: string | keyof TEntity,\r\n config?: (v: ColumnConfiguration<TEntity>) => void\r\n ): TableBuilder<TEntity> {\r\n const columnConfig = new ColumnConfiguration<TEntity>(id);\r\n config?.(columnConfig);\r\n this.columns.push(columnConfig.build());\r\n return this;\r\n }\r\n\r\n addTextColumn(\r\n id: string | keyof TEntity,\r\n config?: (v: ColumnConfiguration<TEntity>) => void\r\n ): TableBuilder<TEntity> {\r\n return this.addColumn(id, (x) => {\r\n config?.(x);\r\n x.type('text');\r\n });\r\n }\r\n\r\n addNumberColumn(\r\n id: string | keyof TEntity,\r\n config?: (v: ColumnConfiguration<TEntity>) => void\r\n ): TableBuilder<TEntity> {\r\n return this.addColumn(id, (x) => {\r\n config?.(x);\r\n x.type('number').columnClass('text-end');\r\n });\r\n }\r\n\r\n addDateColumn(\r\n id: string | keyof TEntity,\r\n config?: (v: ColumnConfiguration<TEntity>) => void\r\n ): TableBuilder<TEntity> {\r\n return this.addColumn(id, (x) => {\r\n config?.(x);\r\n x.type('date').valueFunction((row) => covertFromDateToUserLocale(row, id as string));\r\n });\r\n }\r\n\r\n addBooleanColumn(\r\n id: string,\r\n config?: (v: ColumnConfiguration<TEntity>) => void\r\n ): TableBuilder<TEntity> {\r\n return this.addColumn(id, (x) => {\r\n config?.(x);\r\n x.type('boolean');\r\n });\r\n }\r\n\r\n addEnumColumn(\r\n id: string | keyof TEntity,\r\n config?: (v: ColumnConfiguration<TEntity>) => void\r\n ): TableBuilder<TEntity> {\r\n return this.addColumn(id, (x) => {\r\n config?.(x);\r\n x.type('enum');\r\n });\r\n }\r\n\r\n build(): ColumnDefinition<TEntity>[] {\r\n return this.columns;\r\n }\r\n}\r\n\r\nfunction covertFromDateToUserLocale<TEntity>(row: TEntity, id: string) {\r\n const value = (row as { [key: string]: undefined | string | Date })[id];\r\n if (value === undefined) {\r\n return '';\r\n }\r\n\r\n const locale = navigator.language;\r\n\r\n if (value instanceof Date) {\r\n return value.toLocaleDateString(locale);\r\n }\r\n\r\n if (typeof value === 'string' && !isNaN(Date.parse(value))) {\r\n return new Date(value).toLocaleDateString(locale);\r\n }\r\n\r\n return value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { BaseFormDirectiveCore } from '../base-form';\r\n\r\nexport const TABLE_FILTER_COMPONENT_TOKEN = new InjectionToken<TableFilterCore<any>>(\r\n 'TableFilterComponentToken'\r\n);\r\n\r\nexport interface FilterDefinition {\r\n optionLabel: string;\r\n label: string;\r\n optionValue?: string;\r\n url?: string;\r\n filterType?: 'dropdown' | 'checkbox' | 'calendar' | 'multiselect';\r\n initialValue?: any;\r\n}\r\n\r\nexport interface TableFilterCore<T> extends BaseFormDirectiveCore<T> {\r\n filterDefinitions: FilterDefinition[];\r\n title: string;\r\n hideSearch?: boolean;\r\n debounceTime?: number;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const TEXTAREA_COMPONENT_TOKEN = new InjectionToken<TextareaCore>(\r\n 'TextareaComponentToken'\r\n);\r\n\r\nexport interface TextareaCore extends BaseFormCore {\r\n rows: number;\r\n cols: number;\r\n autoResize: boolean;\r\n floatLabel: string | undefined;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { FieldSizeType, FieldTypeType } from '../../common';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const TEXTFIELD_COMPONENT_TOKEN = new InjectionToken<TextfieldCore>(\r\n 'TextfieldComponentToken'\r\n);\r\n\r\nexport interface TextfieldCore extends BaseFormCore {\r\n size: FieldSizeType | undefined;\r\n type: FieldTypeType;\r\n floatLabel: boolean;\r\n}","import { InjectionToken } from '@angular/core';\r\nimport { BaseFormCore } from '../base-form';\r\n\r\nexport const TRISTATE_CHECKBOX_COMPONENT_TOKEN = new InjectionToken<TristateCheckboxCore>(\r\n 'TristateCheckboxComponentToken'\r\n);\r\n\r\nexport type TristateCheckboxCore = BaseFormCore\r\n","import { InjectionToken } from \"@angular/core\";\r\nimport { CommonIcons } from \"../../common/icons\"\r\n\r\nexport const ICONS_COMPONENT_TOKEN = new InjectionToken<IconsCore>(\r\n 'IconsComponentToken'\r\n);\r\n\r\nexport interface IconsCore extends CommonIcons {\r\n name: string;\r\n}","import { Component, Input } from \"@angular/core\";\r\nimport { ICONS_COMPONENT_TOKEN } from \"./icons.model\";\r\n\r\n@Component({\r\n standalone: true,\r\n template: '',\r\n providers: [\r\n {\r\n provide: ICONS_COMPONENT_TOKEN,\r\n useExisting: IconsComponent\r\n }\r\n ]\r\n})\r\n\r\nexport class IconsComponent{\r\n @Input() name!: string;\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport {\r\n ChangeDetectorRef,\r\n Directive,\r\n inject,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport {\r\n BASE_URL_PATH,\r\n convertDatasource,\r\n DataSourceFunctionType,\r\n DatasourceType,\r\n DEFAULT_SEARCH_LIMIT,\r\n FilterEvent,\r\n LazyLoadEvent,\r\n normalizeRequest,\r\n Page,\r\n RequestParams,\r\n} from '@verisoft/core';\r\nimport {\r\n BehaviorSubject,\r\n catchError,\r\n debounceTime,\r\n filter,\r\n map,\r\n of,\r\n switchMap,\r\n takeUntil,\r\n tap,\r\n} from 'rxjs';\r\nimport {\r\n DataSourceComponentModel,\r\n DEFAULT_DEBOUNCE_TIME,\r\n ExtendedRequestType,\r\n setComponentProperties,\r\n setDataToArray,\r\n} from '../common';\r\nimport {\r\n DROPDOWN_COMPONENT_TOKEN,\r\n DropdownCore,\r\n GENERIC_FIELD_COMPONENT_TOKEN,\r\n GenericFieldCore,\r\n MULTISELECT_COMPONENT_TOKEN,\r\n MultiselectCore,\r\n UnsubscribeComponent,\r\n} from '../components';\r\n\r\n@Directive({\r\n selector:\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n 'v-dropdown[useDatasource], v-multiselect[useDatasource], v-generic-field[useDatasource]',\r\n standalone: true,\r\n})\r\nexport class DatasourceDirective<T>\r\n extends UnsubscribeComponent\r\n implements OnChanges, OnInit\r\n{\r\n @Input() datasource!: DatasourceType<T>;\r\n\r\n @Input() autoBind = true;\r\n\r\n @Input() loadingText = '... loading ...';\r\n\r\n @Input() filterField: string | undefined = 'fulltext';\r\n\r\n @Input() transformFn?: (data: T) => unknown;\r\n\r\n @Input() extraFilter!: any;\r\n\r\n get activeComponent(): DataSourceComponentModel<T> {\r\n return (this.dropdownComponent ??\r\n this.multiSelectComponent ??\r\n this.genericField) as DataSourceComponentModel<T>;\r\n }\r\n\r\n private httpClient = inject(HttpClient);\r\n\r\n private baseUrl: string = inject(BASE_URL_PATH);\r\n\r\n private changeDetectorRef = inject(ChangeDetectorRef);\r\n\r\n private isAllDataLoaded = false;\r\n\r\n private parameters$ = new BehaviorSubject<Partial<ExtendedRequestType<T>>>({});\r\n\r\n private lastParameter = {};\r\n\r\n private dropdownComponent = inject<DropdownCore<T>>(\r\n DROPDOWN_COMPONENT_TOKEN,\r\n { optional: true }\r\n );\r\n\r\n private multiSelectComponent = inject<MultiselectCore<T>>(\r\n MULTISELECT_COMPONENT_TOKEN,\r\n {\r\n optional: true,\r\n }\r\n );\r\n\r\n private genericField = inject<GenericFieldCore<T>>(\r\n GENERIC_FIELD_COMPONENT_TOKEN,\r\n { optional: true }\r\n );\r\n\r\n private dataSourceService?: DataSourceFunctionType<T>;\r\n\r\n private loadingPlaceholderItem: { [key: string]: unknown } = {};\r\n\r\n ngOnInit(): void {\r\n this.activeComponent.showed\r\n .pipe(takeUntil(this.destroyed$))\r\n .subscribe(() => {\r\n if (\r\n !this.autoBind &&\r\n !this.activeComponent.options &&\r\n !this.activeComponent.loading\r\n ) {\r\n this.parameters$.next({});\r\n }\r\n });\r\n\r\n this.activeComponent.lazyLoad\r\n .pipe(takeUntil(this.destroyed$))\r\n .subscribe((value: LazyLoadEvent) => {\r\n this.parameters$.next({ offset: value?.offset, limit: value?.limit });\r\n });\r\n\r\n this.activeComponent.filtered\r\n .pipe(takeUntil(this.destroyed$))\r\n .subscribe((value: FilterEvent) => {\r\n const property = this.filterField ?? this.activeComponent.optionLabel;\r\n if (property) {\r\n this.parameters$.next({\r\n offset: 0,\r\n filter: {\r\n [property]: value.filter ? value.filter : undefined,\r\n ...(this.extraFilter ?? {})\r\n } as Partial<T>,\r\n useNewData: true,\r\n });\r\n }\r\n });\r\n\r\n this.parameters$\r\n .pipe(\r\n takeUntil(this.destroyed$),\r\n filter(request => !this.isDataForRequestLoaded(request)),\r\n map((request) => {\r\n const extendedParams = normalizeRequest({ ...this.lastParameter, ...request }, DEFAULT_SEARCH_LIMIT) as ExtendedRequestType<T>;\r\n extendedParams.useNewData = request.useNewData ?? false;\r\n return extendedParams;\r\n }),\r\n tap((request) => {\r\n this.lastParameter = request;\r\n }),\r\n debounceTime(DEFAULT_DEBOUNCE_TIME),\r\n tap(() => {\r\n this.changeComponent(this.activeComponent, {\r\n loading: true,\r\n });\r\n }),\r\n switchMap((request) =>\r\n this.dataSourceService\r\n ? this.dataSourceService(request as RequestParams<T>).pipe(\r\n map((response) => ({ request, response }))\r\n )\r\n : of({\r\n request,\r\n response: {\r\n data: [] as T[],\r\n total: 0,\r\n limit: request.limit,\r\n offset: request.offset,\r\n } as Page<T>,\r\n })\r\n ),\r\n catchError((request) => {\r\n this.changeComponent(this.activeComponent, {\r\n loading: false,\r\n });\r\n return of({\r\n request: request as ExtendedRequestType<T>,\r\n response: {\r\n data: [] as T[],\r\n total: 0,\r\n limit: request.limit,\r\n offset: request.offset,\r\n } as Page<T>,\r\n });\r\n })\r\n )\r\n .subscribe(({ request, response }) =>\r\n this.setDataToControl(request, response)\r\n );\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['datasource']) {\r\n this.dataSourceService = convertDatasource(\r\n this.datasource,\r\n this.baseUrl,\r\n this.httpClient\r\n );\r\n\r\n if (this.autoBind) {\r\n this.parameters$.next({ offset: 0 });\r\n }\r\n }\r\n }\r\n\r\n private isDataForRequestLoaded(request: Partial<ExtendedRequestType<T>>) {\r\n if (request.useNewData) {\r\n return false;\r\n }\r\n\r\n const offset = request.offset ?? 0;\r\n const limit = request.limit ?? DEFAULT_SEARCH_LIMIT;\r\n const options = this.activeComponent.options;\r\n if (!options) {\r\n return false;\r\n }\r\n\r\n if (options.length < offset + limit) {\r\n return false;\r\n }\r\n\r\n const allItemsFilled = options.slice(offset, offset + limit).every(item => item !== undefined && item != this.loadingPlaceholderItem);\r\n return allItemsFilled;\r\n }\r\n\r\n private setDataToControl(request: ExtendedRequestType<T>, result: Page<T>): void {\r\n this.isAllDataLoaded = result.total <= result.data.length;\r\n const data = result.data;\r\n const total = result.total;\r\n const offset = request.offset;\r\n const transferedData = this.transformFn\r\n ? data.map((x) => this.transformFn?.(x))\r\n : data;\r\n\r\n if (this.activeComponent.optionLabel) {\r\n this.loadingPlaceholderItem[this.activeComponent.optionLabel] =\r\n this.loadingText;\r\n }\r\n\r\n if (this.activeComponent.optionValue) {\r\n this.loadingPlaceholderItem[this.activeComponent.optionValue] = -1;\r\n }\r\n\r\n const options = request.useNewData ? undefined : this.activeComponent.options;\r\n const newOptions = setDataToArray(\r\n options,\r\n transferedData,\r\n offset,\r\n total,\r\n this.loadingPlaceholderItem\r\n );\r\n\r\n this.changeComponent(this.activeComponent, {\r\n options: newOptions as T[],\r\n loading: false,\r\n lazy: !this.isAllDataLoaded,\r\n });\r\n }\r\n\r\n private changeComponent(\r\n component: DataSourceComponentModel<T>,\r\n value: Partial<DataSourceComponentModel<T>>\r\n ) {\r\n setComponentProperties(component, value);\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport {\r\n ChangeDetectorRef,\r\n Directive,\r\n inject,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport {\r\n BASE_URL_PATH,\r\n BaseHttpService,\r\n convertDatasource,\r\n DataSourceFunctionType,\r\n DatasourceType,\r\n LazyLoadEvent,\r\n normalizeRequest,\r\n Page,\r\n RequestParams,\r\n} from '@verisoft/core';\r\nimport {\r\n BehaviorSubject,\r\n catchError,\r\n debounceTime,\r\n map,\r\n of,\r\n switchMap,\r\n takeUntil,\r\n tap,\r\n} from 'rxjs';\r\nimport {\r\n DEFAULT_DEBOUNCE_TIME,\r\n ExtendedRequestType,\r\n isFilterEmpty,\r\n setComponentProperties,\r\n} from '../common';\r\nimport {\r\n TABLE_COMPONENT_TOKEN,\r\n TableCore,\r\n UnsubscribeComponent,\r\n} from '../components';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'v-table[useDatasource]',\r\n exportAs: 'useDatasource',\r\n standalone: true,\r\n})\r\nexport class TableDatasourceDirective<T>\r\n extends UnsubscribeComponent\r\n implements OnInit, OnChanges\r\n{\r\n protected readonly store = inject(Store);\r\n\r\n @Input() autoBind = true;\r\n\r\n @Input({ required: true }) tableName!: string;\r\n\r\n @Input() debounceTime = DEFAULT_DEBOUNCE_TIME;\r\n\r\n @Input() datasource!: DatasourceType<T>;\r\n\r\n @Input() extraFilter!: any;\r\n\r\n @Input() transformFn?: (data: T) => unknown;\r\n\r\n private tableComponent = inject<TableCore<T>>(TABLE_COMPONENT_TOKEN, {\r\n self: true,\r\n });\r\n private changeDetectorRef = inject(ChangeDetectorRef);\r\n private httpClient = inject(HttpClient);\r\n private baseUrl: string = inject(BASE_URL_PATH);\r\n\r\n private dataSourceService?: DataSourceFunctionType<T>;\r\n private parameters$ = new BehaviorSubject<Partial<ExtendedRequestType<T>>>({});\r\n\r\n params$ = this.parameters$.asObservable();\r\n\r\n ngOnInit(): void {\r\n if (!this.tableName) {\r\n throw new Error('Property tableName must be defined.');\r\n }\r\n\r\n this.tableComponent.lazyLoad.pipe(takeUntil(this.destroyed$)).subscribe((value: LazyLoadEvent) => {\r\n this.parameters$.next({\r\n offset: value?.offset,\r\n limit: value?.limit,\r\n filter: { ...value?.filter, ...this.extraFilter },\r\n sort: value?.sort,\r\n });\r\n });\r\n\r\n this.parameters$\r\n .pipe(\r\n takeUntil(this.destroyed$),\r\n map((request) =>\r\n normalizeRequest({\r\n ...request,\r\n filter: { ...request.filter, ...this.extraFilter },\r\n })\r\n ),\r\n debounceTime(this.debounceTime),\r\n tap(() => {\r\n this.changeComponent(this.tableComponent, {\r\n lazy: true,\r\n loading: true,\r\n });\r\n }),\r\n switchMap((request) =>\r\n this.dataSourceService\r\n ? this.dataSourceService(request).pipe(\r\n map((response) => ({ request, response }))\r\n )\r\n : of({\r\n request,\r\n response: {\r\n data: [] as T[],\r\n total: 0,\r\n limit: request.limit,\r\n offset: request.offset,\r\n } as Page<T>,\r\n })\r\n ),\r\n catchError((request) => {\r\n this.changeComponent(this.tableComponent, {\r\n loading: false,\r\n });\r\n return of({\r\n request: request as ExtendedRequestType<T>,\r\n response: {\r\n data: [] as T[],\r\n total: 0,\r\n limit: request.limit,\r\n offset: request.offset,\r\n } as Page<T>,\r\n });\r\n })\r\n )\r\n .subscribe(({ request, response }) =>\r\n this.setDataToControl(request, response)\r\n );\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['datasource']) {\r\n this.dataSourceService = convertDatasource(\r\n this.datasource,\r\n this.baseUrl,\r\n this.httpClient\r\n );\r\n\r\n if (this.autoBind) {\r\n this.parameters$.next({ offset: 0 });\r\n }\r\n }\r\n }\r\n\r\n reload() {\r\n this.parameters$.next({ ...this.parameters$.value });\r\n }\r\n\r\n private changeComponent(\r\n component: TableCore<T>,\r\n value: Partial<TableCore<T>>\r\n ) {\r\n setComponentProperties(component, value);\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n private setDataToControl(request: RequestParams<T>, result: Page<T>): void {\r\n const data = result.data;\r\n const total = result.total;\r\n const transferedData = this.transformFn ? data.map((x) => this.transformFn?.(x)) : data;\r\n\r\n this.changeComponent(this.tableComponent, {\r\n lazy: !isFilterEmpty(request.filter) || data?.length < total || this.datasource instanceof BaseHttpService,\r\n data: transferedData as T[],\r\n loading: false,\r\n total,\r\n });\r\n }\r\n}\r\n","import { Directive, HostListener, Input } from \"@angular/core\";\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'v-button[useShortCut]',\r\n exportAs: 'useShortCut',\r\n standalone: true,\r\n })\r\n export class ButtonShortCutDirective\r\n {\r\n @Input() shortCutFn?: () => void;\r\n @Input() shortCutKey!: string;\r\n\r\n private keyMap: { [key: string]: boolean } = {};\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n this.keyMap[event.key.toLowerCase()] = true;\r\n this.checkShortcut();\r\n }\r\n \r\n @HostListener('document:keyup', ['$event'])\r\n onKeyUp(event: KeyboardEvent) {\r\n this.keyMap[event.key.toLowerCase()] = false;\r\n }\r\n\r\n private checkShortcut() {\r\n if (this.shortCutKey && this.shortCutFn) {\r\n const keys = this.shortCutKey.toLowerCase().split('+');\r\n const isShortcutPressed = keys.every((key) => this.keyMap[key]); \r\n if (isShortcutPressed) {\r\n this.shortCutFn?.();\r\n keys.forEach((key) => (this.keyMap[key] = false));\r\n }\r\n }\r\n }\r\n}","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { debounceTime, Subject, Subscription } from 'rxjs';\r\nimport { DEFAULT_DEBOUNCE_TIME, setComponentProperties } from '../common';\r\nimport { FilterCore, TABLE_COMPONENT_TOKEN, TableCore } from '../components';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'v-table[useFilter]',\r\n standalone: true,\r\n exportAs: 'tableFilterDirective',\r\n})\r\nexport class TableFilterDirective<T> implements OnChanges, OnDestroy {\r\n @Input({ required: true }) filterComponent!: FilterCore;\r\n\r\n private filterChange$ = new Subject<T>();\r\n private subscription: Subscription | undefined = undefined;\r\n\r\n private tableComponent = inject<TableCore<T>>(TABLE_COMPONENT_TOKEN);\r\n\r\n private changeDetectorRef = inject(ChangeDetectorRef);\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['filterComponent']) {\r\n this.unRegister();\r\n this.register();\r\n }\r\n }\r\n\r\n private onFilterChange(value: T): void {\r\n if (this.tableComponent?.filter !== value) {\r\n setComponentProperties(this.tableComponent, {\r\n filter: value,\r\n currentPage: 1,\r\n });\r\n \r\n this.changeDetectorRef.detectChanges();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unRegister();\r\n }\r\n\r\n private unRegister() {\r\n this.subscription?.unsubscribe();\r\n }\r\n\r\n private register() {\r\n this.filterComponent.registerOnChange((value: T) => {\r\n this.filterChange$.next(value);\r\n });\r\n\r\n this.subscription = this.filterChange$\r\n .pipe(\r\n debounceTime(\r\n this.filterComponent.debounceTime ? 0 : DEFAULT_DEBOUNCE_TIME\r\n )\r\n )\r\n .subscribe((value) => this.onFilterChange(value));\r\n }\r\n}\r\n","type ErrorCodesFn = (value?: any) => string;\r\n\r\nexport const ErrorCodesFns: { [key: string]: ErrorCodesFn } = {\r\n required: () => `This field is required!`,\r\n email: () => `Email is in wrong format!`,\r\n iban: () => `IBAN is in wrong format!`,\r\n lowStrength: () => `Password too weak!`,\r\n customPasswordRequirements: () => `Password does not meet minimal requirements.`,\r\n fieldsNotMatching: () => `Passwords are not the same!`,\r\n validationError: (value: any) => `${value}`,\r\n};\r\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\r\n\r\ntype ErrorValue = { key: string; value: string } | null;\r\n\r\nexport function getFirstErrorFromControl<T extends AbstractControl>(\r\n control: T\r\n): ErrorValue {\r\n if (!control || !control.errors) {\r\n return null;\r\n }\r\n const errors = control.errors ?? false;\r\n if (errors) {\r\n const key = Object.keys(control.errors)[0];\r\n const value = control.errors[key];\r\n return { key, value };\r\n }\r\n return null;\r\n}\r\n\r\nexport function getFirstError(errors: ValidationErrors): ErrorValue {\r\n if (errors) {\r\n const key = Object.keys(errors)[0];\r\n const value = errors[key];\r\n return { key, value };\r\n }\r\n return null;\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ValidationErrors } from '@angular/forms';\r\nimport { ErrorCodesFns } from './error.codes';\r\nimport { getFirstError } from './error.models';\r\n\r\nconst EMPTY = '';\r\n\r\n@Pipe({\r\n name: 'error',\r\n standalone: true,\r\n})\r\nexport class ErrorPipe implements PipeTransform {\r\n transform(errors: ValidationErrors | undefined | null): string {\r\n if (!errors) {\r\n return EMPTY;\r\n }\r\n const error = getFirstError(errors);\r\n if (error) {\r\n const errorFn = ErrorCodesFns[error.key];\r\n if (!errorFn) {\r\n return EMPTY;\r\n }\r\n return ErrorCodesFns[error.key](error.value);\r\n }\r\n return EMPTY;\r\n }\r\n}\r\n","type WarningCodesFn = (value?: any) => string;\r\n\r\nexport const WarningCodesFns: { [key: string]: WarningCodesFn } = {\r\n validationWarning: (value: any) => `${value}`,\r\n};\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ValidationErrors } from '@angular/forms';\r\nimport { getFirstError } from './error.models';\r\nimport { WarningCodesFns } from './warning.codes';\r\n\r\nconst EMPTY = '';\r\n\r\n@Pipe({\r\n name: 'warning',\r\n standalone: true,\r\n})\r\nexport class WarningPipe implements PipeTransform {\r\n transform(warnings: ValidationErrors | undefined | null): string {\r\n if (!warnings) {\r\n return EMPTY;\r\n }\r\n const error = getFirstError(warnings);\r\n if (error) {\r\n const errorFn = WarningCodesFns[error.key];\r\n if (!errorFn) {\r\n return EMPTY;\r\n }\r\n return WarningCodesFns[error.key](error.value);\r\n }\r\n return EMPTY;\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'keyOrFn',\r\n pure: false,\r\n standalone: true,\r\n})\r\nexport class KeyOrFunctionPipe implements PipeTransform {\r\n transform(keyOrFn: any, row: any): any {\r\n if (keyOrFn instanceof Function) {\r\n return keyOrFn(row);\r\n } else if (typeof keyOrFn === 'string') {\r\n const value = row[keyOrFn];\r\n if (value) {\r\n return value;\r\n }\r\n } else if (typeof keyOrFn === 'boolean') {\r\n return keyOrFn;\r\n }\r\n return '';\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: 'enumToList',\r\n standalone: true,\r\n})\r\nexport class EnumToListPipe implements PipeTransform {\r\n transform(data: any): any[] {\r\n return Object.keys(data)\r\n .filter(key => isNaN(Number(key)))\r\n .map(key => ({\r\n label: key,\r\n value: data[key as keyof typeof data],\r\n }));\r\n }\r\n}","import { toCzechDateTimeString } from \"@verisoft/core\";\r\n\r\n/* eslint-disable @typescript-eslint/ban-types */\r\nexport class Format {\r\n static concatArray(value: any[], itemFormatter?: Function, delimeter = ';') {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n return value\r\n .map(item => itemFormatter ? itemFormatter(item) : item)\r\n .filter(item => item !== undefined && item !== null)\r\n .join(`${delimeter} `);\r\n }\r\n\r\n static czechDate(value: Date | string) {\r\n return toCzechDateTimeString(value);\r\n }\r\n\r\n static date(value: Date | string) {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n if (typeof value === 'string') {\r\n value = new Date(value);\r\n }\r\n\r\n return value.getDate() + '. ' + (value.getMonth() + 1) + '. ' + value.getFullYear();\r\n }\r\n\r\n static dateAndTime(value: Date | string) {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n if (typeof value === 'string') {\r\n value = new Date(value);\r\n }\r\n\r\n return ('0' + value.getDate()).slice(-2)\r\n + '.' + ('0' + (value.getMonth() + 1)).slice(-2)\r\n + '.' + value.getFullYear() + ' ' + ('0' + value.getHours()).slice(-2)\r\n + ':' + ('0' + value.getMinutes()).slice(-2) + ':' + ('0' + value.getSeconds()).slice(-2);\r\n }\r\n\r\n static convertToUserLocaleDate(value?: Date | string) {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n if (typeof value === 'string') {\r\n value = new Date(value);\r\n }\r\n\r\n return value.toLocaleDateString(navigator.language, { timeZone: 'UTC' });\r\n }\r\n\r\n static bool(value: boolean) {\r\n if (value) {\r\n return 'Yes';\r\n } else {\r\n return 'No';\r\n }\r\n }\r\n\r\n static boolWithIcon(value: boolean) {\r\n if (value) {\r\n return `<span>✓</span>`;\r\n } else {\r\n return `<span>⨯</span>`;\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.PageHeaderService","i1.SideMenuService","EMPTY"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './lib/common';
|
|
2
|
-
export * from './lib/components';
|
|
3
|
-
export * from './lib/directives';
|
|
4
|
-
export * from './lib/pipes';
|
|
5
|
-
export * from './lib/services';
|
|
6
|
-
export * from './lib/format/format';
|
|
1
|
+
export * from './lib/common';
|
|
2
|
+
export * from './lib/components';
|
|
3
|
+
export * from './lib/directives';
|
|
4
|
+
export * from './lib/pipes';
|
|
5
|
+
export * from './lib/services';
|
|
6
|
+
export * from './lib/format/format';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function setComponentProperties<TComponent>(component: TComponent, value: Partial<TComponent>, firstChange?: boolean): void;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export declare 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
|
+
export declare enum GovControlSeverity {
|
|
12
|
+
primary = "primary",
|
|
13
|
+
secondary = "secondary",
|
|
14
|
+
neutral = "neutral",
|
|
15
|
+
error = "error",
|
|
16
|
+
success = "success",
|
|
17
|
+
warning = "warning"
|
|
18
|
+
}
|
|
19
|
+
export declare enum GovButtonType {
|
|
20
|
+
solid = "solid",
|
|
21
|
+
outlined = "outlined",
|
|
22
|
+
base = "base",
|
|
23
|
+
link = "link"
|
|
24
|
+
}
|
|
25
|
+
export declare enum IconPosition {
|
|
26
|
+
left = "left",
|
|
27
|
+
right = "right"
|
|
28
|
+
}
|
|
29
|
+
export declare enum SlotPosition {
|
|
30
|
+
top = "top",
|
|
31
|
+
bottom = "bottom"
|
|
32
|
+
}
|
|
33
|
+
export declare enum FieldSize {
|
|
34
|
+
small = "small",
|
|
35
|
+
medium = "medium",
|
|
36
|
+
large = "large"
|
|
37
|
+
}
|
|
38
|
+
export declare enum FieldAlign {
|
|
39
|
+
left = "left",
|
|
40
|
+
center = "center",
|
|
41
|
+
right = "right"
|
|
42
|
+
}
|
|
43
|
+
export declare enum FieldType {
|
|
44
|
+
text = "text",
|
|
45
|
+
number = "number",
|
|
46
|
+
password = "password",
|
|
47
|
+
search = "search",
|
|
48
|
+
date = "date"
|
|
49
|
+
}
|
|
50
|
+
export declare enum LayoutType {
|
|
51
|
+
horizontal = "horizontal",
|
|
52
|
+
vertical = "vertical"
|
|
53
|
+
}
|
|
54
|
+
export type ControlSeverityType = keyof typeof ControlSeverity;
|
|
55
|
+
export type GovControlSeverityType = keyof typeof GovControlSeverity;
|
|
56
|
+
export type GovButtonTypeType = keyof typeof GovButtonType;
|
|
57
|
+
export type IconPositionType = keyof typeof IconPosition;
|
|
58
|
+
export type SlotPositionType = keyof typeof SlotPosition;
|
|
59
|
+
export type FieldSizeType = keyof typeof FieldSize;
|
|
60
|
+
export type FieldAlignType = keyof typeof FieldAlign;
|
|
61
|
+
export type FieldTypeType = keyof typeof FieldType;
|
|
62
|
+
export type LayoutTypeType = keyof typeof LayoutType;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EventEmitter, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { FilterEvent, LazyLoadEvent, RequestParams } from '@verisoft/core';
|
|
3
|
+
export interface DataSourceComponentModel<TEntity> {
|
|
4
|
+
ngOnChanges?: (changes: SimpleChanges) => void;
|
|
5
|
+
lazy: boolean;
|
|
6
|
+
loading: boolean;
|
|
7
|
+
filter: boolean;
|
|
8
|
+
options: TEntity[] | undefined;
|
|
9
|
+
optionValue: string | undefined;
|
|
10
|
+
optionLabel: string | undefined;
|
|
11
|
+
showed: EventEmitter<any>;
|
|
12
|
+
cleared: EventEmitter<any>;
|
|
13
|
+
filtered: EventEmitter<FilterEvent>;
|
|
14
|
+
lazyLoad: EventEmitter<LazyLoadEvent>;
|
|
15
|
+
}
|
|
16
|
+
export declare function setDataToArray<T>(targetArray: (T | undefined)[] | undefined, data: T[], offset?: number, total?: number | undefined, defaultItem?: T | undefined): (T | undefined)[];
|
|
17
|
+
export type ExtendedRequestType<T> = RequestParams<T> & {
|
|
18
|
+
useNewData: boolean;
|
|
19
|
+
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Observable } from "rxjs";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
1
|
+
import { Observable } from "rxjs";
|
|
2
|
+
export interface PreventUnsavedChangesCore {
|
|
3
|
+
canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;
|
|
4
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isFilterEmpty<T>(filter: Partial<T> | undefined): boolean;
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
export interface CommonIcons {
|
|
2
|
-
add: string;
|
|
3
|
-
minus: string;
|
|
4
|
-
delete: string;
|
|
5
|
-
filter: string;
|
|
6
|
-
download: string;
|
|
7
|
-
save: string;
|
|
8
|
-
print: string;
|
|
9
|
-
edit: string;
|
|
10
|
-
settings: string;
|
|
11
|
-
house: string;
|
|
12
|
-
calendar: string;
|
|
13
|
-
chevronRight: string;
|
|
14
|
-
chevronLeft: string;
|
|
15
|
-
chevronDown: string;
|
|
16
|
-
chevronUp: string;
|
|
17
|
-
checkbox: string;
|
|
18
|
-
warning: string;
|
|
19
|
-
search: string;
|
|
20
|
-
action: string;
|
|
21
|
-
user: string;
|
|
22
|
-
logout: string;
|
|
23
|
-
crossCircle: string;
|
|
24
|
-
infoCircle: string;
|
|
25
|
-
cross: string;
|
|
26
|
-
arrowLeft: string;
|
|
27
|
-
arrowRight: string;
|
|
28
|
-
questionCircle: string;
|
|
29
|
-
checkCircle: string;
|
|
30
|
-
sitemap: string;
|
|
31
|
-
check: string;
|
|
32
|
-
envelope: string;
|
|
33
|
-
loader: string;
|
|
34
|
-
}
|
|
1
|
+
export interface CommonIcons {
|
|
2
|
+
add: string;
|
|
3
|
+
minus: string;
|
|
4
|
+
delete: string;
|
|
5
|
+
filter: string;
|
|
6
|
+
download: string;
|
|
7
|
+
save: string;
|
|
8
|
+
print: string;
|
|
9
|
+
edit: string;
|
|
10
|
+
settings: string;
|
|
11
|
+
house: string;
|
|
12
|
+
calendar: string;
|
|
13
|
+
chevronRight: string;
|
|
14
|
+
chevronLeft: string;
|
|
15
|
+
chevronDown: string;
|
|
16
|
+
chevronUp: string;
|
|
17
|
+
checkbox: string;
|
|
18
|
+
warning: string;
|
|
19
|
+
search: string;
|
|
20
|
+
action: string;
|
|
21
|
+
user: string;
|
|
22
|
+
logout: string;
|
|
23
|
+
crossCircle: string;
|
|
24
|
+
infoCircle: string;
|
|
25
|
+
cross: string;
|
|
26
|
+
arrowLeft: string;
|
|
27
|
+
arrowRight: string;
|
|
28
|
+
questionCircle: string;
|
|
29
|
+
checkCircle: string;
|
|
30
|
+
sitemap: string;
|
|
31
|
+
check: string;
|
|
32
|
+
envelope: string;
|
|
33
|
+
loader: string;
|
|
34
|
+
}
|