@verisoft/ui-primeng 19.0.1-1 → 20.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +43 -0
- package/README.md +377 -3
- package/assets/.gitkeep +0 -0
- package/assets/sass/main.scss +9 -26
- package/assets/sass/themes/_verisoft_theme.scss +2 -0
- package/assets/sass/vendors/_bootstrap.scss +2 -2
- package/assets/sass/vendors/_primeng.scss +1 -2
- package/jest.config.ts +22 -0
- package/ng-package.json +14 -0
- package/package.json +14 -27
- package/project.json +36 -0
- package/{index.d.ts → src/index.ts} +4 -0
- package/src/lib/components/breadcrumb/breadcrumb.component.html +11 -0
- package/src/lib/components/breadcrumb/breadcrumb.component.scss +18 -0
- package/src/lib/components/breadcrumb/breadcrumb.component.spec.ts +21 -0
- package/src/lib/components/breadcrumb/breadcrumb.component.stories.ts +36 -0
- package/src/lib/components/breadcrumb/breadcrumb.component.ts +27 -0
- package/src/lib/components/breadcrumb/breadcrumb.pipe.ts +13 -0
- package/src/lib/components/button/button-severity.pipe.ts +20 -0
- package/src/lib/components/button/button.component.html +20 -0
- package/src/lib/components/button/button.component.scss +0 -0
- package/src/lib/components/button/button.component.spec.ts +21 -0
- package/src/lib/components/button/button.component.ts +49 -0
- package/src/lib/components/calendar/calendar.component.html +53 -0
- package/src/lib/components/calendar/calendar.component.scss +0 -0
- package/src/lib/components/calendar/calendar.component.spec.ts +21 -0
- package/src/lib/components/calendar/calendar.component.ts +70 -0
- package/src/lib/components/checkbox/checkbox.component.html +20 -0
- package/src/lib/components/checkbox/checkbox.component.scss +15 -0
- package/src/lib/components/checkbox/checkbox.component.spec.ts +21 -0
- package/src/lib/components/checkbox/checkbox.component.stories.ts +72 -0
- package/src/lib/components/checkbox/checkbox.component.ts +46 -0
- package/src/lib/components/confirm-dialog/confirm-dialog.component.html +51 -0
- package/src/lib/components/confirm-dialog/confirm-dialog.component.scss +3 -0
- package/src/lib/components/confirm-dialog/confirm-dialog.component.spec.ts +21 -0
- package/src/lib/components/confirm-dialog/confirm-dialog.component.stories.ts +74 -0
- package/src/lib/components/confirm-dialog/confirm-dialog.component.ts +73 -0
- package/src/lib/components/dropdown/dropdown.component.html +93 -0
- package/src/lib/components/dropdown/dropdown.component.scss +16 -0
- package/src/lib/components/dropdown/dropdown.component.spec.ts +21 -0
- package/src/lib/components/dropdown/dropdown.component.ts +139 -0
- package/src/lib/components/dropdown-button/dropdown-button.component.html +1 -0
- package/src/lib/components/dropdown-button/dropdown-button.component.ts +20 -0
- package/src/lib/components/dropdown-button/index.ts +1 -0
- package/src/lib/components/errors/error.component.html +7 -0
- package/src/lib/components/errors/error.component.scss +3 -0
- package/src/lib/components/errors/error.component.ts +34 -0
- package/src/lib/components/errors/index.ts +1 -0
- package/src/lib/components/feature-list/directives/feature-list-column.directive.ts +32 -0
- package/src/lib/components/feature-list/directives/feature-list-filter-field.directive.ts +8 -0
- package/src/lib/components/feature-list/feature-list-filter.pipe.ts +21 -0
- package/src/lib/components/feature-list/feature-list-page.component.ts +32 -0
- package/src/lib/components/feature-list/feature-list-page.model.ts +42 -0
- package/src/lib/components/feature-list/feature-list.component.html +59 -0
- package/src/lib/components/feature-list/feature-list.component.scss +10 -0
- package/src/lib/components/feature-list/feature-list.component.ts +341 -0
- package/src/lib/components/filter/directives/filter-field.directive.ts +34 -0
- package/src/lib/components/filter/filter.component.html +68 -0
- package/src/lib/components/filter/filter.component.scss +0 -0
- package/src/lib/components/filter/filter.component.spec.ts +21 -0
- package/src/lib/components/filter/filter.component.stories.ts +23 -0
- package/src/lib/components/filter/filter.component.ts +281 -0
- package/src/lib/components/filter/filter.model.ts +18 -0
- package/src/lib/components/form-field/form-field.component.html +42 -0
- package/src/lib/components/form-field/form-field.component.scss +0 -0
- package/src/lib/components/form-field/form-field.component.spec.ts +21 -0
- package/src/lib/components/form-field/form-field.component.stories.ts +69 -0
- package/src/lib/components/form-field/form-field.component.ts +37 -0
- package/src/lib/components/header/header.component.html +84 -0
- package/src/lib/components/header/header.component.scss +0 -0
- package/src/lib/components/header/header.component.spec.ts +21 -0
- package/src/lib/components/header/header.component.stories.ts +24 -0
- package/src/lib/components/header/header.component.ts +65 -0
- package/src/lib/components/header/services/header-provider.service.ts +15 -0
- package/src/lib/components/icon/icon.component.html +2 -0
- package/src/lib/components/icon/icon.component.scss +51 -0
- package/src/lib/components/icon/icon.component.ts +86 -0
- package/src/lib/components/icon/index.ts +2 -0
- package/src/lib/components/input-group/input-group.component.html +34 -0
- package/src/lib/components/input-group/input-group.component.spec.ts +21 -0
- package/src/lib/components/input-group/input-group.component.ts +58 -0
- package/src/lib/components/loader/loader.component.html +5 -0
- package/src/lib/components/loader/loader.component.scss +0 -0
- package/src/lib/components/loader/loader.component.spec.ts +21 -0
- package/src/lib/components/loader/loader.component.ts +16 -0
- package/src/lib/components/multiselect/multiselect.component.html +67 -0
- package/src/lib/components/multiselect/multiselect.component.scss +0 -0
- package/src/lib/components/multiselect/multiselect.component.spec.ts +21 -0
- package/src/lib/components/multiselect/multiselect.component.ts +120 -0
- package/src/lib/components/number-input/number-input.component.html +22 -0
- package/src/lib/components/number-input/number-input.component.spec.ts +21 -0
- package/src/lib/components/number-input/number-input.component.ts +55 -0
- package/src/lib/components/page-header/page-header.component.html +35 -0
- package/src/lib/components/page-header/page-header.component.scss +0 -0
- package/src/lib/components/page-header/page-header.component.spec.ts +21 -0
- package/src/lib/components/page-header/page-header.component.ts +31 -0
- package/src/lib/components/password/password.component.html +24 -0
- package/src/lib/components/password/password.component.scss +0 -0
- package/src/lib/components/password/password.component.spec.ts +21 -0
- package/src/lib/components/password/password.component.ts +56 -0
- package/src/lib/components/radiobutton/radiobutton.component.html +34 -0
- package/src/lib/components/radiobutton/radiobutton.component.scss +6 -0
- package/src/lib/components/radiobutton/radiobutton.component.spec.ts +21 -0
- package/src/lib/components/radiobutton/radiobutton.component.stories.ts +71 -0
- package/src/lib/components/radiobutton/radiobutton.component.ts +61 -0
- package/src/lib/components/section/section.component.html +25 -0
- package/src/lib/components/section/section.component.scss +0 -0
- package/src/lib/components/section/section.component.spec.ts +21 -0
- package/src/lib/components/section/section.component.ts +31 -0
- package/src/lib/components/shared-components/.eslintrc.json +42 -0
- package/src/lib/components/shared-components/action-button-group/action-button-group.component.html +25 -0
- package/src/lib/components/shared-components/action-button-group/action-button-group.component.scss +0 -0
- package/src/lib/components/shared-components/action-button-group/action-button-group.component.spec.ts +21 -0
- package/src/lib/components/shared-components/action-button-group/action-button-group.component.ts +111 -0
- package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.html +10 -0
- package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.scss +0 -0
- package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.spec.ts +21 -0
- package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.ts +69 -0
- package/src/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.ts +142 -0
- package/src/lib/components/shared-components/dynamic-component/dynamic-component.component.ts +56 -0
- package/{lib/components/shared-components/dynamic-component/index.d.ts → src/lib/components/shared-components/dynamic-component/index.ts} +2 -2
- package/src/lib/components/shared-components/generic-field/generic-field.component.html +98 -0
- package/src/lib/components/shared-components/generic-field/generic-field.component.spec.ts +21 -0
- package/src/lib/components/shared-components/generic-field/generic-field.component.ts +90 -0
- package/{lib/components/shared-components/generic-field/index.d.ts → src/lib/components/shared-components/generic-field/index.ts} +1 -1
- package/src/lib/components/shared-components/generic-form/generic-form.component.html +46 -0
- package/src/lib/components/shared-components/generic-form/generic-form.component.spec.ts +21 -0
- package/src/lib/components/shared-components/generic-form/generic-form.component.ts +56 -0
- package/src/lib/components/shared-components/generic-form/generic-form.model.spec.ts +82 -0
- package/src/lib/components/shared-components/generic-form/generic-form.model.ts +68 -0
- package/{lib/components/shared-components/generic-form/index.d.ts → src/lib/components/shared-components/generic-form/index.ts} +2 -2
- package/{lib/components/shared-components/index.d.ts → src/lib/components/shared-components/index.ts} +4 -6
- package/src/lib/components/side-menu/side-menu.component.html +53 -0
- package/src/lib/components/side-menu/side-menu.component.scss +0 -0
- package/src/lib/components/side-menu/side-menu.component.spec.ts +21 -0
- package/src/lib/components/side-menu/side-menu.component.ts +96 -0
- package/src/lib/components/side-menu/side-menu.module.ts +66 -0
- package/src/lib/components/slider/slider.component.html +19 -0
- package/src/lib/components/slider/slider.component.spec.ts +21 -0
- package/src/lib/components/slider/slider.component.ts +56 -0
- package/src/lib/components/snackbar/services/snackbar.service.ts +45 -0
- package/src/lib/components/snackbar/snackbar.component.html +3 -0
- package/src/lib/components/snackbar/snackbar.component.scss +0 -0
- package/src/lib/components/snackbar/snackbar.component.spec.ts +21 -0
- package/src/lib/components/snackbar/snackbar.component.stories.ts +70 -0
- package/src/lib/components/snackbar/snackbar.component.ts +25 -0
- package/src/lib/components/stepper/stepper.component.html +35 -0
- package/src/lib/components/stepper/stepper.component.spec.ts +21 -0
- package/src/lib/components/stepper/stepper.component.ts +39 -0
- package/src/lib/components/switch/switch.component.html +18 -0
- package/src/lib/components/switch/switch.component.scss +0 -0
- package/src/lib/components/switch/switch.component.spec.ts +21 -0
- package/src/lib/components/switch/switch.component.stories.ts +65 -0
- package/src/lib/components/switch/switch.component.ts +52 -0
- package/src/lib/components/tab-view/tab-view-item.component.ts +22 -0
- package/src/lib/components/tab-view/tab-view.component.html +41 -0
- package/src/lib/components/tab-view/tab-view.component.ts +55 -0
- package/src/lib/components/table/table-filter.pipe.ts +59 -0
- package/src/lib/components/table/table.component.html +127 -0
- package/src/lib/components/table/table.component.scss +11 -0
- package/src/lib/components/table/table.component.spec.ts +21 -0
- package/src/lib/components/table/table.component.stories.ts +55 -0
- package/src/lib/components/table/table.component.ts +288 -0
- package/src/lib/components/table/table.models.ts +26 -0
- package/src/lib/components/tag/index.ts +2 -0
- package/src/lib/components/tag/tag.component.html +12 -0
- package/src/lib/components/tag/tag.component.scss +33 -0
- package/src/lib/components/tag/tag.component.ts +83 -0
- package/src/lib/components/textarea/textarea.component.html +40 -0
- package/src/lib/components/textarea/textarea.component.scss +5 -0
- package/src/lib/components/textarea/textarea.component.spec.ts +21 -0
- package/src/lib/components/textarea/textarea.component.stories.ts +98 -0
- package/src/lib/components/textarea/textarea.component.ts +62 -0
- package/src/lib/components/textfield/textfield.component.html +82 -0
- package/src/lib/components/textfield/textfield.component.scss +23 -0
- package/src/lib/components/textfield/textfield.component.spec.ts +21 -0
- package/src/lib/components/textfield/textfield.component.stories.ts +85 -0
- package/src/lib/components/textfield/textfield.component.ts +68 -0
- package/src/lib/components/tooltip/index.ts +1 -0
- package/src/lib/components/tooltip/tooltip.component.html +3 -0
- package/src/lib/components/tooltip/tooltip.component.ts +17 -0
- package/src/lib/icons.ts +36 -0
- package/src/lib/interceptors/http-error-message.interceptor.ts +35 -0
- package/src/lib/pages/not-found-page/not-found-page.component.html +26 -0
- package/src/lib/pages/not-found-page/not-found-page.component.scss +0 -0
- package/src/lib/pages/not-found-page/not-found-page.component.spec.ts +21 -0
- package/src/lib/pages/not-found-page/not-found-page.component.ts +16 -0
- package/src/tab-view.ts +1 -0
- package/src/test-setup.ts +8 -0
- package/tsconfig.json +29 -0
- package/tsconfig.lib.json +18 -0
- package/tsconfig.lib.prod.json +9 -0
- package/tsconfig.spec.json +16 -0
- package/fesm2022/verisoft-ui-primeng.mjs +0 -2880
- package/fesm2022/verisoft-ui-primeng.mjs.map +0 -1
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +0 -6
- package/lib/components/breadcrumb/breadcrumb.pipe.d.ts +0 -9
- package/lib/components/button/button-severity.pipe.d.ts +0 -9
- package/lib/components/button/button.component.d.ts +0 -20
- package/lib/components/calendar/calendar.component.d.ts +0 -17
- package/lib/components/checkbox/checkbox.component.d.ts +0 -10
- package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +0 -15
- package/lib/components/dropdown/dropdown.component.d.ts +0 -38
- package/lib/components/dropdown-button/dropdown-button.component.d.ts +0 -14
- package/lib/components/dropdown-button/index.d.ts +0 -1
- package/lib/components/errors/error.component.d.ts +0 -16
- package/lib/components/errors/index.d.ts +0 -1
- package/lib/components/form-field/form-field.component.d.ts +0 -12
- package/lib/components/header/header.component.d.ts +0 -23
- package/lib/components/header/services/header-provider.service.d.ts +0 -10
- package/lib/components/input-group/input-group.component.d.ts +0 -9
- package/lib/components/loader/loader.component.d.ts +0 -6
- package/lib/components/multiselect/multiselect.component.d.ts +0 -34
- package/lib/components/number-input/number-input.component.d.ts +0 -14
- package/lib/components/page-header/page-header.component.d.ts +0 -10
- package/lib/components/password/password.component.d.ts +0 -11
- package/lib/components/radiobutton/radiobutton.component.d.ts +0 -10
- package/lib/components/section/section.component.d.ts +0 -12
- package/lib/components/shared-components/action-button-group/action-button-group.component.d.ts +0 -28
- package/lib/components/shared-components/action-button-group/components/action-button/action-button.component.d.ts +0 -24
- package/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.d.ts +0 -17
- package/lib/components/shared-components/dynamic-component/dynamic-component.component.d.ts +0 -16
- package/lib/components/shared-components/feature-list/directives/feature-list-column.directive.d.ts +0 -10
- package/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.d.ts +0 -6
- package/lib/components/shared-components/feature-list/feature-list-filter.pipe.d.ts +0 -9
- package/lib/components/shared-components/feature-list/feature-list-page.component.d.ts +0 -9
- package/lib/components/shared-components/feature-list/feature-list-page.model.d.ts +0 -23
- package/lib/components/shared-components/feature-list/feature-list.component.d.ts +0 -62
- package/lib/components/shared-components/filter/directives/filter-field.directive.d.ts +0 -20
- package/lib/components/shared-components/filter/filter.component.d.ts +0 -53
- package/lib/components/shared-components/filter/filter.model.d.ts +0 -2
- package/lib/components/shared-components/generic-field/generic-field.component.d.ts +0 -28
- package/lib/components/shared-components/generic-form/generic-form.component.d.ts +0 -15
- package/lib/components/shared-components/generic-form/generic-form.model.d.ts +0 -4
- package/lib/components/side-menu/side-menu.component.d.ts +0 -27
- package/lib/components/side-menu/side-menu.module.d.ts +0 -13
- package/lib/components/slider/slider.component.d.ts +0 -12
- package/lib/components/snackbar/services/snackbar.service.d.ts +0 -12
- package/lib/components/snackbar/snackbar.component.d.ts +0 -9
- package/lib/components/stepper/stepper.component.d.ts +0 -17
- package/lib/components/switch/switch.component.d.ts +0 -9
- package/lib/components/tab-view/tab-view-item.component.d.ts +0 -12
- package/lib/components/tab-view/tab-view.component.d.ts +0 -17
- package/lib/components/table/table-filter.pipe.d.ts +0 -13
- package/lib/components/table/table.component.d.ts +0 -67
- package/lib/components/table/table.models.d.ts +0 -4
- package/lib/components/textarea/textarea.component.d.ts +0 -12
- package/lib/components/textfield/textfield.component.d.ts +0 -12
- package/lib/components/tooltip/index.d.ts +0 -1
- package/lib/components/tooltip/tooltip.component.d.ts +0 -10
- package/lib/icons.d.ts +0 -2
- package/lib/interceptors/http-error-message.interceptor.d.ts +0 -11
- /package/{lib/components/breadcrumb/index.d.ts → src/lib/components/breadcrumb/index.ts} +0 -0
- /package/{lib/components/button/index.d.ts → src/lib/components/button/index.ts} +0 -0
- /package/{lib/components/calendar/index.d.ts → src/lib/components/calendar/index.ts} +0 -0
- /package/{lib/components/checkbox/index.d.ts → src/lib/components/checkbox/index.ts} +0 -0
- /package/{lib/components/confirm-dialog/index.d.ts → src/lib/components/confirm-dialog/index.ts} +0 -0
- /package/{lib/components/dropdown/index.d.ts → src/lib/components/dropdown/index.ts} +0 -0
- /package/{lib/components/shared-components/feature-list/index.d.ts → src/lib/components/feature-list/index.ts} +0 -0
- /package/{lib/components/shared-components/filter/index.d.ts → src/lib/components/filter/index.ts} +0 -0
- /package/{lib/components/form-field/index.d.ts → src/lib/components/form-field/index.ts} +0 -0
- /package/{lib/components/header/index.d.ts → src/lib/components/header/index.ts} +0 -0
- /package/{lib/components/input-group/index.d.ts → src/lib/components/input-group/index.ts} +0 -0
- /package/{lib/components/loader/index.d.ts → src/lib/components/loader/index.ts} +0 -0
- /package/{lib/components/multiselect/index.d.ts → src/lib/components/multiselect/index.ts} +0 -0
- /package/{lib/components/number-input/index.d.ts → src/lib/components/number-input/index.ts} +0 -0
- /package/{lib/components/page-header/index.d.ts → src/lib/components/page-header/index.ts} +0 -0
- /package/{lib/components/password/index.d.ts → src/lib/components/password/index.ts} +0 -0
- /package/{lib/components/radiobutton/index.d.ts → src/lib/components/radiobutton/index.ts} +0 -0
- /package/{lib/components/section/index.d.ts → src/lib/components/section/index.ts} +0 -0
- /package/{lib/components/shared-components/action-button-group/index.d.ts → src/lib/components/shared-components/action-button-group/index.ts} +0 -0
- /package/{lib/components/side-menu/index.d.ts → src/lib/components/side-menu/index.ts} +0 -0
- /package/{lib/components/slider/index.d.ts → src/lib/components/slider/index.ts} +0 -0
- /package/{lib/components/snackbar/index.d.ts → src/lib/components/snackbar/index.ts} +0 -0
- /package/{lib/components/stepper/index.d.ts → src/lib/components/stepper/index.ts} +0 -0
- /package/{lib/components/switch/index.d.ts → src/lib/components/switch/index.ts} +0 -0
- /package/{lib/components/tab-view/index.d.ts → src/lib/components/tab-view/index.ts} +0 -0
- /package/{lib/components/table/index.d.ts → src/lib/components/table/index.ts} +0 -0
- /package/{lib/components/textarea/index.d.ts → src/lib/components/textarea/index.ts} +0 -0
- /package/{lib/components/textfield/index.d.ts → src/lib/components/textfield/index.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verisoft-ui-primeng.mjs","sources":["../../../../../src/libs/ui-primeng/src/lib/icons.ts","../../../../../src/libs/ui-primeng/src/lib/components/form-field/form-field.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/form-field/form-field.component.html","../../../../../src/libs/ui-primeng/src/lib/components/input-group/input-group.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/input-group/input-group.component.html","../../../../../src/libs/ui-primeng/src/lib/components/errors/error.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/errors/error.component.html","../../../../../src/libs/ui-primeng/src/lib/components/textfield/textfield.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/textfield/textfield.component.html","../../../../../src/libs/ui-primeng/src/lib/components/breadcrumb/breadcrumb.pipe.ts","../../../../../src/libs/ui-primeng/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/breadcrumb/breadcrumb.component.html","../../../../../src/libs/ui-primeng/src/lib/components/checkbox/checkbox.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/checkbox/checkbox.component.html","../../../../../src/libs/ui-primeng/src/lib/components/calendar/calendar.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/calendar/calendar.component.html","../../../../../src/libs/ui-primeng/src/lib/components/password/password.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/password/password.component.html","../../../../../src/libs/ui-primeng/src/lib/components/button/button-severity.pipe.ts","../../../../../src/libs/ui-primeng/src/lib/components/button/button.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/button/button.component.html","../../../../../src/libs/ui-primeng/src/lib/components/section/section.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/section/section.component.html","../../../../../src/libs/ui-primeng/src/lib/components/dropdown-button/dropdown-button.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/dropdown-button/dropdown-button.component.html","../../../../../src/libs/ui-primeng/src/lib/components/radiobutton/radiobutton.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/radiobutton/radiobutton.component.html","../../../../../src/libs/ui-primeng/src/lib/components/number-input/number-input.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/number-input/number-input.component.html","../../../../../src/libs/ui-primeng/src/lib/components/header/services/header-provider.service.ts","../../../../../src/libs/ui-primeng/src/lib/components/header/header.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/header/header.component.html","../../../../../src/libs/ui-primeng/src/lib/components/textarea/textarea.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/textarea/textarea.component.html","../../../../../src/libs/ui-primeng/src/lib/components/loader/loader.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/loader/loader.component.html","../../../../../src/libs/ui-primeng/src/lib/components/snackbar/services/snackbar.service.ts","../../../../../src/libs/ui-primeng/src/lib/components/snackbar/snackbar.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/snackbar/snackbar.component.html","../../../../../src/libs/ui-primeng/src/lib/components/side-menu/side-menu.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/side-menu/side-menu.component.html","../../../../../src/libs/ui-primeng/src/lib/components/side-menu/side-menu.module.ts","../../../../../src/libs/ui-primeng/src/lib/components/table/table-filter.pipe.ts","../../../../../src/libs/ui-primeng/src/lib/components/table/table.models.ts","../../../../../src/libs/ui-primeng/src/lib/components/table/table.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/table/table.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/action-button-group/action-button-group.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/action-button-group/action-button-group.component.html","../../../../../src/libs/ui-primeng/src/lib/components/dropdown/dropdown.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/dropdown/dropdown.component.html","../../../../../src/libs/ui-primeng/src/lib/components/multiselect/multiselect.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/multiselect/multiselect.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/generic-field/generic-field.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/generic-field/generic-field.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/generic-form/generic-form.model.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/generic-form/generic-form.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/generic-form/generic-form.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/filter/directives/filter-field.directive.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/filter/filter.model.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/filter/filter.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/filter/filter.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/feature-list-filter.pipe.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/feature-list-page.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/feature-list-page.model.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/feature-list.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/feature-list.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/directives/feature-list-column.directive.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/dynamic-component/dynamic-component.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/page-header/page-header.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/page-header/page-header.component.html","../../../../../src/libs/ui-primeng/src/lib/components/stepper/stepper.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/stepper/stepper.component.html","../../../../../src/libs/ui-primeng/src/lib/components/slider/slider.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/slider/slider.component.html","../../../../../src/libs/ui-primeng/src/lib/components/confirm-dialog/confirm-dialog.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/confirm-dialog/confirm-dialog.component.html","../../../../../src/libs/ui-primeng/src/lib/components/switch/switch.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/switch/switch.component.html","../../../../../src/libs/ui-primeng/src/lib/interceptors/http-error-message.interceptor.ts","../../../../../src/libs/ui-primeng/src/lib/components/tab-view/tab-view-item.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/tab-view/tab-view.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/tab-view/tab-view.component.html","../../../../../src/libs/ui-primeng/src/lib/components/tooltip/tooltip.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/tooltip/tooltip.component.html","../../../../../src/libs/ui-primeng/src/verisoft-ui-primeng.ts"],"sourcesContent":["import { CommonIcons } from '@verisoft/ui-core';\r\n\r\nexport const Icons: CommonIcons = {\r\n add: 'pi pi-plus',\r\n minus: 'pi pi-minus',\r\n delete: 'pi pi-trash',\r\n filter: 'pi pi-filter',\r\n download: 'pi pi-download',\r\n save: 'pi pi-save',\r\n print: 'pi pi-print',\r\n calendar: 'pi pi-calendar',\r\n edit: 'pi pi-pencil',\r\n settings: 'pi pi-cog',\r\n house: 'pi pi-home',\r\n chevronRight: 'pi pi-chevron-right',\r\n chevronLeft: 'pi pi-chevron-left',\r\n chevronDown: 'pi pi-chevron-down',\r\n chevronUp: 'pi pi-chevron-up',\r\n checkbox: 'pi pi-check',\r\n warning: 'pi pi-exclamation-triangle',\r\n search: 'pi pi-search',\r\n action: 'pi pi-bars',\r\n user: 'pi pi-user',\r\n logout: 'pi pi-user',\r\n crossCircle: 'pi pi-times-circle',\r\n infoCircle: 'pi pi-info-circle',\r\n cross: 'pi pi-times',\r\n arrowLeft: 'pi pi-arrow-left',\r\n arrowRight: 'pi pi-arrow-right',\r\n questionCircle: 'pi pi-question-circle',\r\n checkCircle: 'pi pi-check-circle',\r\n sitemap: 'pi pi-sitemap',\r\n check: 'pi pi-check',\r\n envelope: 'pi pi-envelope',\r\n loader: 'pi pi-loader',\r\n};\r\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, Input, Optional, Self } from '@angular/core';\nimport { NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { ERROR_PROVIDER_TOKEN } from '@verisoft/core';\nimport { BaseFormInputComponent, FormFieldCore, WarningPipe } from '@verisoft/ui-core';\nimport { MessageModule } from 'primeng/message';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { Icons } from '../../icons';\n\n@Component({\n selector: 'v-form-field',\n imports: [\n CommonModule,\n WarningPipe,\n ReactiveFormsModule,\n MessageModule,\n TooltipModule,\n ],\n templateUrl: './form-field.component.html',\n styleUrl: './form-field.component.scss'\n})\nexport class FormFieldComponent\n extends BaseFormInputComponent\n implements FormFieldCore\n{\n @Input() display: 'flex' | 'block' = 'block';\n \n @Input() variant!: 'simple';\n\n protected readonly errorProvider = inject(ERROR_PROVIDER_TOKEN)\n \n icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<div class=\"v-form-field mt-3\" [attr.data-testId]=\"testId\">\n <div [ngClass]=\"{ 'd-block d-md-flex': display === 'flex', 'd-lg-flex': display === 'block' }\">\n <div class=\"col-12 col-md-4 d-flex align-items-center\">\n <label\n class=\"v-formfield-label d-flex align-items-center\"\n [ngClass]=\"{\n 'pb-2': display === 'block',\n 'text-error': (errorProvider.mapError(ngControl?.errors ?? [])) && ngControl?.dirty, \n 'text-warning': (ngControl?.errors | warning) && ngControl?.dirty,\n 'text-default': !ngControl?.invalid && !ngControl?.dirty,\n 'text-secondary': !ngControl?.invalid && ngControl?.dirty\n }\"\n >{{ label }}<span *ngIf=\"label\">:</span>\n <span *ngIf=\"required\" class=\"text-error ps-1\">*</span>\n </label>\n <i *ngIf=\"tooltip\"\n [pTooltip]=\"tooltip\"\n class=\"ps-2 text-default v-tooltip {{ icons.infoCircle }}\"\n ></i>\n </div>\n <div \n class=\"col-sm-12 col-md-8 col-lg-8\"\n >\n <div \n class=\"v-form-field-content align-items-center w-100\"\n [ngClass]=\"{ 'd-flex': display === 'flex', 'd-block': display === 'block', 'input-warning': ngControl?.errors | warning }\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"align-content-center\">\n <ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n INPUT_GROUP_COMPONENT_TOKEN,\n InputGroupCore,\n InputGroupItem,\n} from '@verisoft/ui-core';\nimport { InputGroupModule } from 'primeng/inputgroup';\nimport { InputGroupAddonModule } from 'primeng/inputgroupaddon';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-input-group',\n imports: [\n CommonModule,\n InputGroupAddonModule,\n InputGroupModule,\n InputTextModule,\n ReactiveFormsModule,\n FormFieldComponent,\n ],\n templateUrl: './input-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => InputGroupComponent),\n },\n {\n provide: INPUT_GROUP_COMPONENT_TOKEN,\n useExisting: InputGroupComponent,\n },\n ]\n})\nexport class InputGroupComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, InputGroupCore\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() items!: InputGroupItem[];\n}\n","<div class=\"v-input-group w-100\">\n <v-form-field\n [label]=\"label\"\n [required]=\"required\"\n [tooltip]=\"tooltip\" >\n <p-inputGroup>\n <ng-container *ngFor=\"let item of items\">\n <p-inputGroupAddon *ngIf=\"item.position === 'left'\">\n <ng-container *ngIf=\"item.icon\">\n <i [class]=\"item.icon\"></i>\n </ng-container>\n <ng-container *ngIf=\"item.text\">\n {{ item.text }}\n </ng-container>\n </p-inputGroupAddon>\n </ng-container>\n <input pInputText [formControl]=\"formControl\" class=\"w-100\" />\n <ng-container *ngFor=\"let item of items\">\n <p-inputGroupAddon *ngIf=\"item.position === 'right'\">\n <ng-container *ngIf=\"item.icon\">\n <i [class]=\"item.icon\"></i>\n </ng-container>\n <ng-container *ngIf=\"item.text\">\n {{ item.text }}\n </ng-container>\n </p-inputGroupAddon>\n </ng-container>\n </p-inputGroup>\n </v-form-field>\n</div>\n","import { CommonModule } from \"@angular/common\";\nimport { Component, inject, Input, } from \"@angular/core\";\nimport { NgControl, ValidationErrors } from \"@angular/forms\";\nimport { ERROR_PROVIDER_TOKEN } from \"@verisoft/core\";\nimport { SlotPosition, SlotPositionType } from \"@verisoft/ui-core\";\nimport { MessageModule } from \"primeng/message\";\nimport { Observable } from \"rxjs\";\nimport { Icons } from \"../../icons\";\n\n@Component({\n selector: \"v-validation-message\",\n templateUrl: \"./error.component.html\",\n styleUrl: \"./error.component.scss\",\n imports: [CommonModule, MessageModule]\n})\nexport class ErrorComponent {\n @Input({ required: true }) ngControl?: NgControl;\n\n @Input() errorSlot: SlotPositionType = SlotPosition.bottom\n\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom\n\n @Input() variant = 'simple';\n\n @Input() severity = 'error';\n\n readonly errorService = inject(ERROR_PROVIDER_TOKEN);\n\n icons = Icons\n\n getErrorMessage(errors: ValidationErrors): Observable<string | undefined> {\n return this.errorService.mapError(errors);\n }\n}","\n<p-message\n *ngIf=\"ngControl && ngControl.errors\" \n [severity]=\"severity\"\n text=\"{{ getErrorMessage(ngControl.errors) | async }}\">\n</p-message>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n FieldSize,\n FieldSizeType,\n FieldType,\n FieldTypeType,\n TEXTFIELD_COMPONENT_TOKEN,\n TextfieldCore,\n} from '@verisoft/ui-core';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { Icons } from '../../icons';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field/form-field.component';\n\n@Component({\n selector: 'v-textfield',\n imports: [\n CommonModule,\n InputTextModule,\n ReactiveFormsModule,\n FormFieldComponent,\n FloatLabelModule,\n ErrorComponent\n ],\n templateUrl: './textfield.component.html',\n styleUrl: './textfield.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => TextfieldComponent),\n },\n {\n provide: TEXTFIELD_COMPONENT_TOKEN,\n useExisting: TextfieldComponent,\n },\n ]\n})\nexport class TextfieldComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, TextfieldCore\n{\n icons = Icons;\n \n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() type: FieldTypeType = FieldType.text;\n @Input() floatLabel = false;\n}\n","<div class=\"v-text-field\">\n <ng-container *ngIf=\"!floatLabel && label; else floatLabelInput\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <span\n class=\"w-100 flex-grow-1\"\n [ngClass]=\"{ 'p-input-icon-right': type === 'search' }\"\n >\n <input\n pInputText\n [id]=\"inputId\"\n [formControl]=\"formControl\"\n [type]=\"type === 'search' ? 'text' : type\"\n class=\"w-100 flex-grow-1 v-text-field\"\n [required]=\"isRequired()\"\n [readOnly]=\"readonly\"\n [title]=\"label\"\n [placeholder]=\"placeholder ? placeholder : ''\"\n [ngClass]=\"{\n 'p-inputtext-sm': size === 'small',\n 'p-inputtext-lg': size === 'large'\n }\"\n />\n <ng-container *ngIf=\"type === 'search'\">\n <i\n class=\"pi ms-2 v-text-field__icon\"\n [ngStyle]=\"{\n cursor: ngControl && ngControl.value ? 'pointer' : 'default'\n }\"\n [ngClass]=\"{\n 'pi-search': ngControl && !ngControl.value,\n 'pi-times': ngControl && ngControl.value,\n }\"\n (click)=\"ngControl && ngControl.value ? ngControl.reset() : null\"\n ></i>\n </ng-container>\n </span>\n </v-form-field>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </ng-container>\n <ng-template #floatLabelInput>\n <span\n class=\"w-100 flex-grow-1\"\n [ngClass]=\"{ 'p-input-icon-right': type === 'search' }\"\n >\n <p-floatLabel>\n <input\n pInputText\n type=\"text\"\n [id]=\"inputId\"\n class=\"w-100 flex-grow-1\"\n [required]=\"isRequired()\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder ? placeholder : ''\"\n [ngClass]=\"{\n 'p-inputtext-sm': size === 'small',\n 'p-inputtext-lg': size === 'large'\n }\"\n />\n <label [for]=\"inputId\" class=\"v-text-field__label\">{{ label }}</label>\n </p-floatLabel>\n <ng-container *ngIf=\"type === 'search'\">\n <i\n class=\"pi ms-2 v-text-field__icon\"\n [ngStyle]=\"{\n cursor: ngControl && ngControl.value ? 'pointer' : 'default'\n }\"\n [ngClass]=\"{\n 'pi-search': ngControl && !ngControl.value,\n 'pi-times': ngControl && ngControl.value,\n }\"\n (click)=\"ngControl && ngControl.value ? ngControl.reset() : null\"\n ></i>\n </ng-container>\n </span>\n </ng-template>\n</div>\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { MenuItem as VerisoftMenuItem } from \"@verisoft/ui-core\";\nimport { MenuItem as PrimeMenuItem } from \"primeng/api\";\n\n@Pipe({\n name: 'menuItem',\n standalone: true,\n})\nexport class ConvertMenuItemPipe implements PipeTransform {\n transform(items: VerisoftMenuItem[]): PrimeMenuItem[] {\n return items.map(i => i as PrimeMenuItem);\n }\n}","import { CommonModule } from '@angular/common';\nimport {\n Component,\n} from '@angular/core';\nimport {\n BREADCRUMB_COMPONENT_TOKEN,\n BreadcrumbCoreComponent,\n} from '@verisoft/ui-core';\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\nimport { ConvertMenuItemPipe } from './breadcrumb.pipe';\n\n@Component({\n selector: 'v-breadcrumb',\n imports: [\n CommonModule,\n BreadcrumbModule,\n ConvertMenuItemPipe,\n ],\n templateUrl: './breadcrumb.component.html',\n styleUrl: './breadcrumb.component.scss',\n providers: [\n {\n provide: BREADCRUMB_COMPONENT_TOKEN,\n useExisting: BreadcrumbComponent\n },\n ]\n})\nexport class BreadcrumbComponent extends BreadcrumbCoreComponent { }\n","<div class=\"v-breadcrumb card flex justify-content-center\">\n <ng-container *ngIf=\"useHomeRoute; else default\">\n <p-breadcrumb\n class=\"max-w-full\"\n [model]=\"items | menuItem\"\n [home]=\"home\"\n ></p-breadcrumb>\n </ng-container>\n <ng-template #default>\n <p-breadcrumb class=\"max-w-full\" [model]=\"items | menuItem\"></p-breadcrumb>\n </ng-template>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseFormInputComponent, BaseInputControls, CHECKBOX_COMPONENT_TOKEN, CheckboxCore } from '@verisoft/ui-core';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { Icons } from '../../icons';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n@Component({\n selector: 'v-checkbox',\n imports: [CommonModule, CheckboxModule, ReactiveFormsModule, FormFieldComponent, ErrorComponent],\n templateUrl: './checkbox.component.html',\n styleUrl: './checkbox.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: CheckboxComponent,\n },\n {\n provide: CHECKBOX_COMPONENT_TOKEN,\n useExisting: CheckboxComponent,\n },\n ]\n})\nexport class CheckboxComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, CheckboxCore {\n indeterminate = input(false);\n\n icon = Icons\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<div class=\"v-checkbox d-flex align-items-center mt-2\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <p-checkbox\n [ngClass]=\"{ 'checkbox-error': ngControl?.invalid && ngControl?.dirty && ngControl?.value === false }\"\n [formControl]=\"formControl\"\n [required]=\"required\"\n [binary]=\"true\"\n [readonly]=\"readonly\"\n [indeterminate]=\"indeterminate()\"\n />\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </v-form-field>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n CALENDAR_COMPONENT_TOKEN,\n CalendarCore,\n} from '@verisoft/ui-core';\nimport { CalendarModule } from 'primeng/calendar';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { Icons } from '../../icons';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-calendar',\n imports: [\n CommonModule,\n ReactiveFormsModule,\n CalendarModule,\n FormFieldComponent,\n FloatLabelModule,\n ErrorComponent,\n ],\n templateUrl: './calendar.component.html',\n styleUrl: './calendar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => CalendarComponent),\n },\n {\n provide: CALENDAR_COMPONENT_TOKEN,\n useExisting: CalendarComponent,\n },\n ]\n})\nexport class CalendarComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, CalendarCore\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() maxDate!: Date;\n @Input() icon = Icons.calendar;\n @Input() minDate!: Date;\n @Input() header!: string;\n @Input() footer!: string;\n @Input() floatLabel: string | undefined;\n @Input() selectionMode: 'single' | 'multiple' | 'range' | undefined =\n 'single';\n\n icons = Icons;\n\n override formDisplay: \"flex\" | \"block\" = \"block\";\n}\n","<div class=\"v-calendar w-100\">\n <ng-container *ngIf=\"label && !floatLabel\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [display]=\"formDisplay\"\n >\n <p-calendar\n appendTo=\"body\"\n [style]=\"{'width':'100%'}\"\n [inputStyle]=\"{'width':'100%'}\" \n [formControl]=\"formControl\"\n [showClear]=\"clearable\"\n [dataType]=\"'string'\"\n [selectionMode]=\"selectionMode\"\n [icon]=\"icon\"\n [maxDate]=\"maxDate\"\n [id]=\"inputId\"\n [showButtonBar]=\"true\"\n [placeholder]=\"placeholder\"\n [required]=\"isRequired()\"\n [minDate]=\"minDate\"\n [showIcon]=\"formControl && !formControl.value\"\n iconDisplay=\"input\"\n />\n </v-form-field>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </ng-container>\n <ng-container *ngIf=\"floatLabel\">\n <p-floatLabel>\n <p-calendar\n appendTo=\"body\"\n [style]=\"{'width':'100%'}\"\n [inputStyle]=\"{'width':'100%'}\" \n [formControl]=\"formControl\"\n [showClear]=\"clearable\"\n [maxDate]=\"maxDate\"\n [id]=\"inputId\"\n [icon]=\"icon\"\n [selectionMode]=\"selectionMode\"\n [showButtonBar]=\"true\"\n [placeholder]=\"placeholder\"\n [required]=\"isRequired()\"\n [minDate]=\"minDate\"\n iconDisplay=\"input\"\n />\n <label [for]=\"inputId\" [innerHTML]=\"floatLabel\"></label>\n </p-floatLabel>\n </ng-container>\n</div>\n\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseFormInputComponent, BaseInputControls, PASSWORD_COMPONENT_TOKEN, PasswordCore } from '@verisoft/ui-core';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { PasswordModule } from 'primeng/password';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-password',\n imports: [\n CommonModule,\n ReactiveFormsModule,\n PasswordModule,\n FloatLabelModule,\n FormFieldComponent,\n ErrorComponent\n ],\n templateUrl: './password.component.html',\n styleUrl: './password.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: PasswordComponent,\n },\n {\n provide: PASSWORD_COMPONENT_TOKEN,\n useExisting: PasswordComponent,\n },\n ]\n})\nexport class PasswordComponent \n extends BaseFormInputComponent\n implements ControlValueAccessor, PasswordCore\n{\n @Input() toggleMask = true;\n \n @Input() feedback = false;\n\n override formDisplay: \"flex\" | \"block\" = \"block\";\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<div class=\"v-password d-flex align-items-center\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <p-password\n [style]=\"{'width':'100%'}\"\n [inputStyle]=\"{'width':'100%'}\" \n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [showClear]=\"clearable\"\n [feedback]=\"feedback\"\n [required]=\"isRequired()\"\n [label]=\"label\"\n [id]=\"inputId\"\n [toggleMask]=\"toggleMask\"\n />\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </v-form-field>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ControlSeverity, ControlSeverityType } from '@verisoft/ui-core';\r\nimport { ButtonSeverity } from 'primeng/button';\r\n\r\n@Pipe({\r\n name: 'buttonSeverity'\r\n})\r\nexport class ButtonSeverityPipe implements PipeTransform {\r\n transform(severity: ControlSeverityType | undefined | null): ButtonSeverity {\r\n if (severity === undefined || severity === null) {\r\n return null;\r\n }\r\n\r\n if (severity === ControlSeverity.warning) {\r\n return 'warn';\r\n }\r\n\r\n return severity;\r\n }\r\n}","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { Params, RouterModule } from '@angular/router';\nimport {\n BUTTON_COMPONENT_TOKEN,\n ButtonCore,\n ControlSeverityType,\n FieldSizeType,\n IconPosition,\n IconPositionType,\n} from '@verisoft/ui-core';\nimport { ButtonModule } from 'primeng/button';\nimport { RippleModule } from 'primeng/ripple';\nimport { ButtonSeverityPipe } from \"./button-severity.pipe\";\n\n@Component({\n selector: 'v-button',\n imports: [CommonModule, ButtonModule, RippleModule, RouterModule, ButtonSeverityPipe],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BUTTON_COMPONENT_TOKEN,\n useExisting: ButtonComponent,\n },\n ]\n})\nexport class ButtonComponent implements ButtonCore {\n @Input() label?: string;\n @Input() icon?: string;\n @Input() badge?: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() disabled!: boolean;\n @Input() rounded!: boolean;\n @Input() outlined!: boolean;\n @Input() raised!: boolean;\n @Input() severity?: ControlSeverityType;\n @Input() routerLink!: any[];\n @Input() size: FieldSizeType | undefined;\n @Input() queryParams?: Params;\n\n fireClick(event: Event): void {\n if (this.disabled) {\n event.stopPropagation();\n event.stopImmediatePropagation();\n }\n }\n}\n","<div class=\"v-button d-inline-block\" \n(click)=\"fireClick($event)\">\n <a\n [routerLink]=\"routerLink ? routerLink : undefined\"\n [queryParams]=\"queryParams ? queryParams : undefined\"\n >\n <p-button\n [disabled]=\"disabled\"\n [icon]=\"icon\"\n [badge]=\"badge\"\n [outlined]=\"outlined\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [label]=\"label\"\n [size]=\"$any(size)\"\n [severity]=\"severity | buttonSeverity\"\n [iconPos]=\"iconPos\"\n />\n </a>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SECTION_COMPONENT_TOKEN, SectionCore } from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'v-section',\n imports: [CommonModule, ButtonComponent],\n templateUrl: './section.component.html',\n styleUrl: './section.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: SECTION_COMPONENT_TOKEN, useExisting: SectionComponent },\n ]\n})\nexport class SectionComponent \n implements SectionCore\n{\n @Input() title!: string;\n @Input() showContent = true;\n @Input() backgroundColor!: string;\n\n icons = Icons;\n protected icon = Icons.chevronDown;\n\n protected toggle(): void {\n this.showContent = !this.showContent;\n this.icon = this.showContent ? Icons.chevronDown : Icons.chevronUp;\n }\n}\n","<div class=\"v-section\">\n <div\n class=\"v-section-header text-align-center d-flex\"\n [ngStyle]=\"{ 'background-color': backgroundColor }\"\n >\n <p\n class=\"text-primary align-items-center text-nowrap d-none d-md-block ps-3 m-0 w-100\"\n >\n {{ title }}\n </p>\n <div class=\"d-flex\">\n <ng-content select=\"[actions]\"></ng-content>\n <v-button\n size=\"small\"\n [icon]=\"icon\"\n (click)=\"toggle()\"\n />\n </div>\n </div>\n <div class=\"v-section-content\" *ngIf=\"showContent\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, input } from \"@angular/core\";\r\nimport { DropdownButtonCore, DROPDOWN_BUTTON_COMPONENT_TOKEN, ControlSeverityType, ControlSeverity, FieldSizeType, MenuItem } from \"@verisoft/ui-core\";\r\n\r\n@Component({\r\n selector: 'v-dropdown-button',\r\n templateUrl: './dropdown-button.component.html',\r\n providers: [\r\n { provide: DROPDOWN_BUTTON_COMPONENT_TOKEN, useExisting: DropdownButtonComponent }\r\n ]\r\n})\r\n export class DropdownButtonComponent implements DropdownButtonCore {\r\n label = input<string | undefined>();\r\n icon = input<string | undefined>();\r\n rounded = input<boolean | undefined>(false);\r\n raised = input<boolean | undefined>(false);\r\n outlined = input<boolean | undefined>(false);\r\n severity = input<ControlSeverityType | undefined>(ControlSeverity.primary);\r\n size = input<FieldSizeType | undefined>();\r\n items = input<MenuItem[] | undefined>(undefined);\r\n }","<p>NOT implemented </p>","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n RADIOBUTTON_COMPONENT_TOKEN,\n RadiobuttonCore,\n RadioButtonItem,\n} from '@verisoft/ui-core';\nimport { RadioButtonModule } from 'primeng/radiobutton';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field/form-field.component';\n\n@Component({\n selector: 'v-radiobutton',\n imports: [\n CommonModule,\n FormFieldComponent,\n RadioButtonModule,\n ReactiveFormsModule,\n ErrorComponent\n ],\n templateUrl: './radiobutton.component.html',\n styleUrl: './radiobutton.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: RadioButtonComponent,\n },\n {\n provide: RADIOBUTTON_COMPONENT_TOKEN,\n useExisting: RadioButtonComponent,\n },\n ]\n})\nexport class RadioButtonComponent<T>\n extends BaseFormInputComponent\n implements ControlValueAccessor, RadiobuttonCore<T>\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() radioGroupName = Math.random().toString();\n\n @Input() items: RadioButtonItem<T>[] = [];\n}\n","<div class=\"v-radiobutton\">\n <v-form-field\n [label]=\"label\"\n [required]=\"required\"\n [tooltip]=\"tooltip\"\n [testId]=\"testId\"\n >\n <div class=\"d-flex align-items-center gap-3\">\n <div *ngFor=\"let item of items\">\n <p-radioButton\n [inputId]=\"item.id\"\n [ngClass]=\"{\n 'radio-error': ngControl?.invalid && ngControl?.dirty,\n }\"\n [name]=\"radioGroupName\"\n [value]=\"item.value\"\n [formControl]=\"formControl\"\n />\n <label [for]=\"item.id\" class=\"ps-2\">\n <span\n [ngClass]=\"{\n 'text-error': ngControl?.invalid && ngControl?.dirty,\n 'text-primary': ngControl?.value === item.value\n }\"\n >{{ item.value }}</span\n >\n </label>\n </div>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </div>\n </v-form-field>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseFormInputComponent, BaseInputControls, NUMBER_INPUT_COMPONENT_TOKEN, NumberInputCore } from '@verisoft/ui-core';\nimport { InputNumberModule } from 'primeng/inputnumber';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-number-input',\n imports: [\n CommonModule,\n InputNumberModule,\n ReactiveFormsModule,\n FormFieldComponent,\n ErrorComponent,\n ],\n templateUrl: './number-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => NumberInputComponent),\n },\n {\n provide: NUMBER_INPUT_COMPONENT_TOKEN,\n useExisting: NumberInputComponent,\n },\n ]\n})\nexport class NumberInputComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, NumberInputCore\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() mode!: string;\n @Input() currency!: string;\n @Input() min!: number;\n @Input() max!: number;\n @Input() step = 1;\n @Input() errorMessage?: string = 'test';\n}\n","<div class=\"v-number-input\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n >\n <p-inputNumber\n class=\"w-100\"\n [formControl]=\"formControl\"\n [showButtons]=\"true\"\n [inputId]=\"inputId\"\n [mode]=\"mode\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [currency]=\"currency\"\n />\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </v-form-field>\n</div>\n","import { Inject, Injectable } from '@angular/core';\nimport { SETTINGS_MENU } from '@verisoft/ui-core';\nimport { MenuItem } from '@verisoft/ui-core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HeaderProviderService {\n constructor(@Inject(SETTINGS_MENU) private settingsMenu: MenuItem[]) {}\n menu: MenuItem[] = [];\n\n init(): void {\n this.menu = this.settingsMenu;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport {\n HEADER_COMPONENT_TOKEN,\n HeaderCore,\n ScreenSizeService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport { AvatarModule } from 'primeng/avatar';\nimport { Icons } from '../../icons';\nimport { ButtonComponent } from '../button';\nimport { HeaderProviderService } from './services/header-provider.service';\n\n@Component({\n selector: 'v-header',\n imports: [CommonModule, AvatarModule, ButtonComponent, RouterModule],\n templateUrl: './header.component.html',\n styleUrl: './header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: HEADER_COMPONENT_TOKEN, useExisting: HeaderComponent },\n ]\n})\nexport class HeaderComponent\n extends UnsubscribeComponent\n implements OnInit, HeaderCore\n{\n constructor(\n readonly providerService: HeaderProviderService,\n readonly screenSizeService: ScreenSizeService,\n readonly cdr: ChangeDetectorRef\n ) {\n super();\n }\n\n @Input() title!: string;\n @Input() logoUrl!: string;\n @Input() userName!: string;\n @Input() userRole!: any | any[] | undefined;\n @Input() menuRef!: HTMLDivElement;\n @Input() exampleHeader = false;\n\n icons = Icons;\n protected menuVisible = false;\n protected logoRouterLink!: string;\n\n ngOnInit(): void {\n this.providerService.init();\n }\n\n toggleMenu() {\n if (this.menuRef) {\n this.menuVisible = !this.menuVisible;\n this.menuRef.classList.toggle('menu-visible');\n this.cdr.detectChanges();\n }\n }\n}\n","<div\n class=\"v-header d-flex w-100 text-align-end\"\n [ngStyle]=\"{ position: exampleHeader ? 'relative' : 'fixed' }\"\n>\n <ng-container *ngIf=\"screenSizeService.isMobileBlock | async\">\n <div class=\"burger-menu\">\n <v-button\n [icon]=\"menuVisible ? icons.cross : icons.action\"\n (click)=\"toggleMenu()\"\n />\n <div class=\"logo mt-3\" [routerLink]=\"[logoRouterLink]\">\n <img [src]=\"logoUrl\" alt=\"\"/>\n </div>\n </div>\n </ng-container>\n <div class=\"v-header-title col-auto\">\n <p class=\"text-primary text-nowrap d-none d-md-block ps-3 m-0 w-100\">\n {{ title }}\n </p>\n <div class=\"col-8 col-md-auto ps-3 m-0 w-100\">\n <ng-content select=\"[module]\"></ng-content>\n </div>\n </div>\n <ng-container *ngIf=\"(screenSizeService.isMobileBlock | async) === false\">\n <div class=\"w-100 text-start justify-content-start align-content-center\">\n <ng-content select=\"[breadcrumbs]\"></ng-content>\n </div>\n <div class=\"col-auto d-flex align-items-center justify-content-end p-4\">\n <div class=\"d-flex aling-items-center\">\n <p-avatar\n image=\"assets/primeng/images/_global/jara.png\"\n styleClass=\"me-2\"\n size=\"large\"\n shape=\"circle\"\n />\n <div class=\"card align-content-center pe-3\">\n <p\n class=\"text-primary m-0 header-username\"\n [innerHTML]=\"userName\"\n ></p>\n <p\n class=\"text-default m-0 header-userrole\"\n [innerHTML]=\"userRole\"\n ></p>\n </div>\n </div>\n <div class=\"d-flex gap-4 align-items-center\">\n <ng-content select=\"[useractions]\"/>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"screenSizeService.isMobileBlock | async\">\n <div class=\"user-info-container d-flex align-items-center\">\n <div class=\"d-flex\">\n <div class=\"card pe-3 align-content-center\">\n <p-avatar\n image=\"assets/images/_global/jara.png\"\n styleClass=\"mr-2\"\n size=\"large\"\n shape=\"circle\"\n ></p-avatar>\n </div>\n <div class=\"card align-content-center pe-3 d-flex\">\n <div class=\"user-info\">\n <p\n class=\"text-default m-0 header-username\"\n [innerHTML]=\"userName\"\n ></p>\n <p\n class=\"text-default m-0 header-userrole\"\n [innerHTML]=\"userRole\"\n ></p>\n </div>\n <div class=\"user-actions\">\n <ng-content select=\"[useractions]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"d-flex gap-4 align-items-center justify-content-center\">\n <ng-content select=\"[dbcontext]\" />\n </div>\n </div>\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseFormInputComponent, BaseInputControls, TEXTAREA_COMPONENT_TOKEN, TextareaCore } from '@verisoft/ui-core';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { Textarea } from 'primeng/textarea';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field/form-field.component';\n\n@Component({\n selector: 'v-textarea',\n imports: [\n CommonModule,\n Textarea,\n ReactiveFormsModule,\n FormFieldComponent,\n FloatLabelModule,\n ErrorComponent\n ],\n templateUrl: './textarea.component.html',\n styleUrl: './textarea.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: TextareaComponent,\n },\n {\n provide: TEXTAREA_COMPONENT_TOKEN,\n useExisting: TextareaComponent,\n },\n ]\n})\nexport class TextareaComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, TextareaCore\n{\n @Input()\n rows = 5;\n\n @Input()\n cols = 30;\n\n @Input()\n autoResize = false;\n\n @Input()\n floatLabel: string | undefined;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<div class=\"v-textarea\">\n <ng-container *ngIf=\"!floatLabel\">\n <v-form-field\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [display]=\"formDisplay\"\n >\n <textarea\n class=\"flex-grow-1\"\n pTextarea\n [rows]=\"rows\"\n [cols]=\"cols\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"isRequired()\"\n [readOnly]=\"readonly\"\n [autoResize]=\"autoResize\"\n ></textarea>\n </v-form-field>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </ng-container>\n <ng-container *ngIf=\"floatLabel\">\n <p-floatLabel>\n <textarea\n class=\"flex-grow-1\"\n pTextarea\n [rows]=\"rows\"\n [cols]=\"cols\"\n [id]=\"inputId\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"isRequired()\"\n [readOnly]=\"readonly\"\n [autoResize]=\"autoResize\"\n ></textarea>\n <label [for]=\"inputId\">{{ floatLabel }}</label>\n </p-floatLabel>\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { LOADER_COMPONENT_TOKEN, LoaderCore } from '@verisoft/ui-core';\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\n\n@Component({\n selector: 'v-loader',\n imports: [CommonModule, ProgressSpinnerModule],\n templateUrl: './loader.component.html',\n styleUrl: './loader.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: LOADER_COMPONENT_TOKEN, useExisting: LoaderComponent },\n ]\n})\nexport class LoaderComponent implements LoaderCore {}\n","<div class=\"v-loader d-flex justify-content-center\">\n <div>\n <p-progressSpinner class=\"p-progress-spinner-circle\"></p-progressSpinner>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { MessageService } from 'primeng/api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnackbarService {\n constructor(readonly messageService: MessageService) {}\n\n showSuccess(message: string, icon?: string) {\n this.messageService.add({\n severity: 'success',\n summary: 'Success',\n detail: message,\n icon: icon,\n });\n }\n\n showInfo(message: string, icon?: string) {\n this.messageService.add({\n severity: 'info',\n summary: 'Info',\n detail: message,\n icon: icon,\n });\n }\n\n showWarn(message: string, icon?: string) {\n this.messageService.add({\n severity: 'warn',\n summary: 'Warn',\n detail: message,\n icon: icon,\n });\n }\n\n showError(message: string, icon?: string) {\n this.messageService.add({\n severity: 'error',\n summary: 'Error',\n detail: message,\n icon: icon,\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { SNACKBAR_COMPONENT_TOKEN, SnackbarCore } from '@verisoft/ui-core';\nimport { RippleModule } from 'primeng/ripple';\nimport { ToastModule } from 'primeng/toast';\nimport { SnackbarService } from './services/snackbar.service';\n\n@Component({\n selector: 'v-snackbar',\n imports: [CommonModule, ToastModule, RippleModule],\n templateUrl: './snackbar.component.html',\n styleUrl: './snackbar.component.scss',\n providers: [\n SnackbarService,\n {\n provide: SNACKBAR_COMPONENT_TOKEN,\n useExisting: SnackbarComponent,\n },\n ]\n})\nexport class SnackbarComponent \n implements SnackbarCore\n{\n constructor(private snackbarService: SnackbarService) {}\n}\n","<div class=\"v-snackbar\">\n <p-toast />\n</div>\n","import { AsyncPipe, NgClass, NgIf } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MenuItem, ScreenSizeService, SideMenuCore, SideMenuService, UnsubscribeComponent } from '@verisoft/ui-core';\nimport { AvatarModule } from 'primeng/avatar';\nimport { TreeModule, TreeNodeSelectEvent } from 'primeng/tree';\nimport { Icons } from '../../icons';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'v-side-menu',\n imports: [\n NgClass,\n AsyncPipe,\n NgIf,\n TreeModule,\n ButtonComponent,\n TranslateModule,\n AvatarModule,\n RouterModule,\n ],\n templateUrl: './side-menu.component.html',\n styleUrl: './side-menu.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SideMenuComponent\n extends UnsubscribeComponent\n implements SideMenuCore, AfterContentInit\n{\n @Input() items: MenuItem[] = [];\n @Input() logoUrl = '';\n @Input() userName!: string;\n @Input() userRole!: any | any[] | undefined;\n @Output() minimalized = new EventEmitter<boolean>();\n @Output() itemSelected = new EventEmitter<MenuItem>();\n \n @ViewChild ('sidemenu', { static: true }) menu!: ElementRef<HTMLDivElement>;\n\n menuService = inject(SideMenuService);\n router = inject(Router);\n icons = Icons;\n\n protected screenSizeService = inject(ScreenSizeService);\n protected logoRouterLink!: string;\n protected isMinimalized = false;\n\n ngAfterContentInit(): void {\n if (this.menuService.menuMinimalized) {\n this.setMenuMinimalized(this.menu);\n }\n }\n \n protected menuMinimalize(menu: HTMLDivElement): void {\n const audit = document.getElementsByClassName('detail-audit');\n if (audit.length > 0) {\n audit.item(0)?.classList.toggle('menu-close__audit');\n }\n if (menu) {\n menu.classList.toggle('menu-closed');\n this.isMinimalized = menu.classList.contains('menu-closed');\n this.menuService.saveMinimalizedState(this.isMinimalized);\n this.minimalized.emit(this.isMinimalized);\n }\n }\n\n onSelectionChange(event: any) {\n const item = event.node;\n if (item.label) {\n this.menuService.saveExpandedState(item);\n }\n }\n\n onNodeSelect(event: TreeNodeSelectEvent): void {\n const item = event.node as MenuItem;\n if (item.url) {\n this.router.navigateByUrl(item.url);\n }\n }\n\n private setMenuMinimalized(menu: ElementRef<HTMLDivElement>): void {\n if(menu) {\n menu.nativeElement.classList.add(\"menu-closed\");\n this.minimalized.emit(true);\n }\n }\n}\n","<div class=\"v-side-menu\" #sidemenu>\n <div\n [ngClass]=\"\n (screenSizeService.isMobileBlock | async)\n ? 'v-side-menu-container__mobile'\n : 'v-side-menu-container'\n \"\n >\n <ng-container *ngIf=\"(screenSizeService.isMobileBlock | async) === false\">\n <div class=\"v-side-menu-header pb-3 text-center\">\n <div class=\"logo\" [routerLink]=\"[logoRouterLink]\">\n <img [src]=\"logoUrl\" alt=\"\" />\n </div>\n <hr />\n </div>\n </ng-container>\n <div\n [ngClass]=\"{\n 'v-side-menu-body__mobile': screenSizeService.isMobileBlock | async,\n 'v-side-menu-body': (screenSizeService.isMobileBlock | async) === false\n }\"\n class=\"text-center\"\n >\n <p-tree\n selectionMode=\"single\"\n [value]=\"items\"\n (onNodeExpand)=\"onSelectionChange($event)\"\n (onNodeCollapse)=\"onSelectionChange($event)\"\n (onNodeSelect)=\"onNodeSelect($event)\"\n >\n </p-tree>\n </div>\n <div\n class=\"text-center py-3 d-flex justify-content-end flex-column support\"\n >\n <hr class=\"mx-4 divider\" />\n <v-button\n class=\"support-button\"\n [label]=\"isMinimalized ? undefined : 'Support'\"\n severity=\"primary\"\n [icon]=\"icons.questionCircle\"\n ></v-button>\n </div>\n </div>\n <div\n *ngIf=\"(screenSizeService.isMobileBlock | async) === false\"\n class=\"close-button\"\n (click)=\"menuMinimalize(sidemenu)\"\n >\n <i class=\"pi pi-chevron-left text-white close-icon\"></i>\n </div>\n</div>\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport {\n MENU_TOKEN,\n MenuItem,\n SIDE_MENU_COMPONENT_TOKEN,\n SIDE_MENU_STATE_TOKEN,\n SideMenuModuleConfig,\n SideMenuProviderService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport { SideMenuComponent } from './side-menu.component';\n\n@NgModule({\n imports: [SideMenuComponent],\n exports: [SideMenuComponent],\n providers: [\n SideMenuProviderService,\n {\n provide: SIDE_MENU_COMPONENT_TOKEN,\n useExisting: SideMenuComponent,\n },\n {\n provide: SIDE_MENU_STATE_TOKEN,\n useValue: localStorage.getItem('SideMenuStateToken') ?? {\n expanded: [],\n minimalized: false,\n },\n },\n ],\n})\nexport class SideMenuModule extends UnsubscribeComponent {\n constructor(private readonly service: SideMenuProviderService) {\n super();\n }\n\n static forRoot(\n config?: SideMenuModuleConfig\n ): ModuleWithProviders<SideMenuModule> {\n const moduleWithProvider: ModuleWithProviders<SideMenuModule> = {\n ngModule: SideMenuModule,\n };\n\n if (config?.items) {\n moduleWithProvider.providers = [\n {\n provide: MENU_TOKEN,\n useValue: config.items,\n },\n ];\n }\n\n return moduleWithProvider;\n }\n\n static forChild(menu: MenuItem[]): ModuleWithProviders<SideMenuModule> {\n return {\n ngModule: SideMenuModule,\n providers: [\n {\n provide: MENU_TOKEN,\n useValue: menu,\n },\n ],\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { FilterMetadata } from 'primeng/api';\r\n\r\ntype PrimeNgFilterDefinition = {\r\n [s: string]: FilterMetadata | FilterMetadata[];\r\n};\r\n\r\n@Pipe({\r\n name: 'primengFilter',\r\n standalone: true,\r\n})\r\nexport class TableFilterPipe<T> implements PipeTransform {\r\n transform(value: Partial<T>): PrimeNgFilterDefinition | undefined {\r\n if (value == undefined) {\r\n return undefined;\r\n }\r\n\r\n return Object.entries(value)\r\n .filter((x) => x[0] != undefined)\r\n .reduce((currentFilter: PrimeNgFilterDefinition, [key, value]) => {\r\n const filterValue = this.convertToFilterMetadata(value);\r\n if (filterValue) {\r\n if (key === 'searchField') {\r\n key = 'global';\r\n }\r\n \r\n currentFilter[key] = filterValue;\r\n }\r\n\r\n return currentFilter;\r\n }, {});\r\n }\r\n\r\n private convertToFilterMetadata(\r\n value: unknown\r\n ): FilterMetadata | FilterMetadata[] | undefined {\r\n if (value == undefined) {\r\n return undefined;\r\n }\r\n\r\n if (typeof value == 'string') {\r\n return {\r\n matchMode: 'contains',\r\n value: value,\r\n };\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n return value.map((x) =>\r\n this.convertToFilterMetadata(x)\r\n ) as FilterMetadata[];\r\n }\r\n\r\n return {\r\n matchMode: 'equals',\r\n value: value,\r\n };\r\n }\r\n}\r\n","import { FilterMetadata } from 'primeng/api';\r\n\r\nexport function convertToFilter<T>(\r\n value:\r\n | {\r\n [s: string]: FilterMetadata | FilterMetadata[] | undefined;\r\n }\r\n | Partial<T>\r\n | undefined\r\n): Partial<T> | undefined {\r\n if (value == undefined) {\r\n return undefined;\r\n }\r\n\r\n const filter: { [key: string]: unknown } = {};\r\n Object.keys(value).map((key) => {\r\n const filterValue = (value as { [s: string]: unknown })[key];\r\n if (filterValue != undefined && typeof filterValue === 'object') {\r\n filter[key] = (filterValue as FilterMetadata).value;\r\n } else {\r\n filter[key] = filterValue;\r\n }\r\n });\r\n\r\n return filter as Partial<T>;\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n OnChanges,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport {\n DEFAULT_SEARCH_LIMIT,\n LazyLoadEvent,\n Sort,\n SortDirection,\n SortDirectionType,\n} from '@verisoft/core';\nimport {\n ColumnDefinition,\n ColumnModel,\n ColumnProvider,\n RowModel,\n TABLE_COLUMN_PROVIDER,\n TABLE_COMPONENT_TOKEN,\n TableCore,\n TableSelectionModeType,\n} from '@verisoft/ui-core';\nimport { SortMeta } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { RippleModule } from 'primeng/ripple';\nimport { Table, TableLazyLoadEvent, TableModule, TablePageEvent } from 'primeng/table';\nimport { Icons } from '../../icons';\nimport { TableFilterPipe } from './table-filter.pipe';\nimport { convertToFilter } from './table.models';\n\n@Component({\n selector: 'v-table',\n imports: [\n CommonModule,\n TableModule,\n RouterModule,\n ButtonModule,\n RippleModule,\n TableFilterPipe,\n ],\n providers: [\n {\n provide: TABLE_COMPONENT_TOKEN,\n useExisting: TableComponent,\n },\n ],\n templateUrl: './table.component.html',\n styleUrl: './table.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableComponent<T>\n implements AfterViewInit, OnChanges, TableCore<T>\n{\n @ContentChildren(TABLE_COLUMN_PROVIDER) viewColumns!: QueryList<\n ColumnProvider<T>\n >;\n\n @ViewChild('table') table: Table | undefined;\n\n @ContentChild('rowDetail', { static: false })\n rowDetailTemplate!: TemplateRef<any>;\n\n sorters!: Sort[];\n\n @Input()\n data!: T[];\n\n @Input()\n total = 0;\n\n @Input() filter: Partial<T> | undefined;\n\n @Input()\n loading!: boolean;\n\n @Input()\n scrollable = true;\n\n @Input()\n pageSize = DEFAULT_SEARCH_LIMIT;\n\n @Input()\n currentPage!: number;\n\n @Input()\n showPaginator = true;\n\n @Input()\n sortMultiple = false;\n\n @Input()\n lazy = false;\n\n @Input()\n selectionMode: TableSelectionModeType | undefined;\n\n @Input()\n showPageSizePicker = true;\n\n @Input()\n entityKey: string | undefined;\n\n @Input()\n maximumColumnLength = 0;\n\n @Input()\n disableCustomClicks = false;\n\n @Input()\n set columns(value: ColumnDefinition<T>[]) {\n this._columns = value;\n this.tableColumns = (value ?? []).map((x) => new ColumnModel(x));\n }\n\n get columns(): ColumnDefinition<T>[] {\n return this._columns;\n }\n\n @Input() selection: T[] = [];\n\n @Output()\n pageSizeChange = new EventEmitter<number>();\n\n @Output()\n selectionChange = new EventEmitter<T[]>();\n\n @Output()\n pageChange = new EventEmitter<TablePageEvent>();\n\n @Output()\n sortChange = new EventEmitter<Sort[]>();\n\n @Output()\n lazyLoad = new EventEmitter<LazyLoadEvent>();\n\n sorted!: boolean;\n\n cdRef = inject(ChangeDetectorRef);\n\n tableColumns: ColumnModel<T>[] = [];\n\n tableRows: RowModel<T>[] = [];\n\n tableSelection: RowModel<T>[] | RowModel<T> | undefined;\n\n expandedRows = {};\n\n expansionTemplate!: { template: TemplateRef<any> };\n\n sortMeta: SortMeta[] | undefined;\n\n sortSignleColumn: SortMeta | undefined;\n\n globalFilterFields: string[] | undefined;\n\n router = inject(Router);\n\n route = inject(ActivatedRoute);\n\n icons = Icons;\n\n private _columns!: ColumnDefinition<T>[];\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['data']) {\n this.updateRowModels();\n }\n\n if (changes['selection'] || changes['data']) {\n this.tableSelection = this.selection\n ? this.tableRows.filter((x) => this.selection.includes(x.row))\n : undefined;\n }\n\n if (changes['filter'] && !changes['filter'].isFirstChange()) {\n this.globalFilterFields = this.columns.filter(x => x.id).map(x => 'row.' + x.id);\n setTimeout(() => {\n this.table?._filter();\n }, 0);\n }\n }\n\n ngAfterViewInit(): void {\n if (this.viewColumns?.length) {\n const templateColumnModel = this.viewColumns\n .toArray()\n .map((provider) => new ColumnModel(provider.getDefinition()));\n this.tableColumns = [...this.tableColumns, ...templateColumnModel];\n }\n\n this.expansionTemplate = {\n template: this.rowDetailTemplate,\n };\n this.cdRef.detectChanges();\n }\n\n updateRowModels(): void {\n this.tableRows = (this.data ?? []).map(\n (x) => new RowModel(x, false, false)\n );\n }\n\n pageChanged(page: TablePageEvent) {\n this.pageChange.emit(page);\n }\n\n pageSizeChanged(pageSize: number) {\n this.pageSizeChange.emit(pageSize);\n this.pageSize = pageSize;\n }\n\n sortChanged(event: SortMeta | { multisortmeta: SortMeta[] }) {\n let eventEmiterArg: Sort[];\n if ((<SortMeta>event).field) {\n const singleEvent = <SortMeta>event;\n eventEmiterArg = this.getSorts([singleEvent]) as Sort[];\n this.sortMeta = undefined;\n this.sortSignleColumn = singleEvent;\n } else {\n const multiEvent = <{ multisortmeta: SortMeta[] }>event;\n eventEmiterArg = this.getSorts(multiEvent.multisortmeta) as Sort[];\n this.sortMeta = multiEvent.multisortmeta;\n this.sortSignleColumn = undefined;\n }\n\n this.sortChange.emit(eventEmiterArg);\n }\n\n selectionChanged(event: RowModel<T>[] | RowModel<T>) {\n this.tableSelection = event;\n if (this.selectionMode) {\n const eventArgArray = Array.isArray(event) ? event : [event];\n const selection = event ? eventArgArray.map((x) => x.row) : [];\n this.selectionChange.emit(selection);\n }\n }\n\n fireLazyLoad(event: TableLazyLoadEvent) {\n if (this.lazy) {\n const sort = this.sortSignleColumn\n ? this.getSorts([this.sortSignleColumn])\n : this.sortMeta\n ? this.getSorts(this.sortMeta)\n : undefined;\n const lazyLoadEvent: LazyLoadEvent = {\n sort,\n offset: event.first ?? 0,\n limit: event.rows ?? this.pageSize,\n filter: convertToFilter(event.filters),\n };\n\n this.lazyLoad.emit(lazyLoadEvent);\n }\n }\n\n private removePrefix(input: string, prefix: string): string {\n return input.startsWith(prefix) ? input.slice(prefix.length) : input;\n }\n\n private convertToSortDirection(value: number): SortDirectionType {\n return value === 1 ? SortDirection.asc : SortDirection.desc;\n }\n\n private getSorts(value: SortMeta[] | undefined) {\n return value\n ? value.map((x: SortMeta) => ({\n field: this.removePrefix(x.field, 'row.'),\n direction: this.convertToSortDirection(x.order),\n }))\n : undefined;\n }\n}\n","<div class=\"v-table\">\n <p-table\n #table\n class=\"v-table\"\n [value]=\"tableRows\"\n [filters]=\"filter | primengFilter\"\n [paginator]=\"showPaginator\"\n [rows]=\"pageSize\"\n [totalRecords]=\"total\"\n [loading]=\"loading\"\n [lazy]=\"lazy\"\n dataKey=\"id\"\n [scrollable]=\"scrollable\"\n [sortMode]=\"sortMultiple ? 'multiple' : 'single'\"\n [scrollHeight]=\"'flex'\"\n [selectionMode]=\"selectionMode\"\n [selection]=\"tableSelection\"\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\n [expandedRowKeys]=\"expandedRows\"\n [showCurrentPageReport]=\"true\"\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords} entries\"\n [customSort]=\"lazy\"\n [multiSortMeta]=\"sortMeta\"\n [resizableColumns]=\"true\"\n columnResizeMode=\"expand\"\n [globalFilterFields]=\"globalFilterFields\"\n (onPage)=\"pageChanged($event)\"\n (onSort)=\"sortChanged($event)\"\n (selectionChange)=\"selectionChanged($event)\"\n (onLazyLoad)=\"fireLazyLoad($event)\"\n >\n <ng-template pTemplate=\"header\">\n <tr>\n @if (selectionMode === 'multiple') {\n <th>\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n } @for (column of tableColumns; track column; let index = $index) {\n <th\n *ngIf=\"column.sortable\"\n pResizableColumn\n [pSortableColumn]=\"'row.' + column.id\"\n [style.width]=\"column.width\"\n >\n {{ column.headerGetter(column.id, index) }}\n <p-sortIcon [field]=\"'row.' + column.id\"></p-sortIcon>\n </th>\n <th\n *ngIf=\"!column.sortable\"\n pResizableColumn\n [class.v-auto-cell]=\"column.template\"\n [style.width]=\"column.width\"\n >\n {{ column.headerGetter(column.id, index) }}\n </th>\n } @if (rowDetailTemplate){\n <th></th>\n }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-row let-expanded=\"expanded\">\n <tr\n [pSelectableRow]=\"row\"\n [pSelectableRowDisabled]=\"selectionMode !== 'single'\"\n (dblclick)=\"\n router.navigate(['./' + row.row[entityKey ?? 'id']], {\n relativeTo: route\n })\n \"\n >\n @if (selectionMode === 'multiple'){\n <td>\n <p-tableCheckbox [value]=\"row\"></p-tableCheckbox>\n </td>\n }\n <td\n *ngFor=\"let cd of tableColumns; let index = index\"\n [class]=\"cd.columnClass!\"\n [class.v-auto-cell]=\"cd.template\"\n >\n <ng-container *ngIf=\"cd.template\">\n <ng-container\n *ngTemplateOutlet=\"cd.template; context: { $implicit: row.row }\"\n ></ng-container>\n </ng-container>\n <span\n *ngIf=\"!row.template\"\n [queryParams]=\"cd.queryParams ? cd.queryParams : undefined\"\n [routerLink]=\"cd.routerLink ? cd.routerLink(row.row) : undefined\"\n [innerHTML]=\"cd.valueGetter(row.row, index)\"\n ></span>\n </td>\n @if (rowDetailTemplate){\n <td>\n <p-button\n type=\"button\"\n pRipple\n severity=\"primary\"\n [pRowToggler]=\"row\"\n [text]=\"true\"\n [rounded]=\"true\"\n [plain]=\"true\"\n [icon]=\"expanded ? icons.chevronDown : icons.chevronRight\"\n />\n </td>\n }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"rowexpansion\" let-row>\n <tr>\n <td [attr.colspan]=\"tableColumns.length + 1\">\n <ng-container\n class=\"w-100\"\n *ngTemplateOutlet=\"\n expansionTemplate.template;\n context: { $implicit: row.row }\n \"\n ></ng-container>\n </td>\n </tr>\n </ng-template>\n </p-table>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {\n ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n ActionButton,\n ActionButtonGroupCore,\n ControlSeverityType,\n FieldSizeType,\n} from '@verisoft/ui-core';\nimport { Observable, Subject } from 'rxjs';\nimport { Icons } from '../../../../../icons';\nimport { ButtonComponent } from '../../../../button';\n\n@Component({\n selector: 'v-action-button',\n imports: [ButtonComponent],\n templateUrl: './action-button.component.html',\n styleUrl: './action-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ActionButtonComponent implements ActionButton, OnChanges {\n @Input() disabled = false;\n @Input() toolTip?: string;\n @Input() id?: string;\n @Input() icon?: string;\n @Input() outlined = false;\n @Input() raised = false;\n @Input() severity?: ControlSeverityType;\n @Input() label?: string;\n @Input() size?: FieldSizeType;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter<MouseEvent>();\n\n icons = Icons\n\n private propertyChangeSubject = new Subject();\n\n propertyChanged: Observable<unknown> =\n this.propertyChangeSubject.asObservable();\n\n buttonGroup: ActionButtonGroupCore | null = inject<ActionButtonGroupCore>(\n ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n {\n optional: true,\n }\n );\n\n ngOnChanges(changes: SimpleChanges): void {\n const isValueChange = Object.keys(changes).some(\n (x) => !changes[x].firstChange\n );\n if (isValueChange) {\n this.propertyChangeSubject.next(null);\n }\n }\n\n handleClick(event: MouseEvent) {\n event.stopPropagation();\n this.click.emit(event);\n }\n}\n","<v-button\n [label]=\"label\"\n [disabled]=\"disabled\"\n [icon]=\"icon\"\n [outlined]=\"outlined\"\n tooltipPosition=\"bottom\"\n [size]=\"size\"\n [severity]=\"severity\"\n (click)=\"handleClick($event)\"\n></v-button>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n} from '@angular/core';\nimport {\n ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n ActionButton,\n ActionButtonGroupCore,\n IconPositionType,\n MenuItem,\n queryListChanged,\n ScreenSizeService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport {\n combineLatestWith,\n takeUntil,\n} from 'rxjs';\nimport { Icons } from '../../../icons';\nimport { DropdownButtonComponent } from '../../dropdown-button';\nimport { ActionButtonComponent } from './components/action-button/action-button.component';\n\n@Component({\n selector: 'v-action-button-group',\n imports: [ActionButtonComponent, DropdownButtonComponent],\n templateUrl: './action-button-group.component.html',\n styleUrl: './action-button-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n useExisting: ActionButtonGroupComponent,\n },\n ]\n})\nexport class ActionButtonGroupComponent\n extends UnsubscribeComponent\n implements AfterContentInit, ActionButtonGroupCore {\n @ContentChildren(ActionButtonComponent)\n actions!: QueryList<ActionButtonComponent>;\n\n @Input() maxItems = 3;\n\n @Input() maxItemsMobile = 0;\n\n @Input() items: ActionButton[] = [];\n\n @Input() menuIconPos: IconPositionType = 'right';\n\n @Input() menuIcon = Icons.action;\n\n @Input() label?: string;\n\n @Input() icon?: string;\n\n icons = Icons;\n allItems: ActionButton[] = [];\n visibleActions: ActionButton[] = [];\n menuItems: MenuItem[] = [];\n\n constructor(\n private readonly changeDetectorRef: ChangeDetectorRef,\n readonly screenSizeService: ScreenSizeService\n ) {\n super();\n }\n\n ngAfterContentInit(): void {\n this.subscribeItemChange();\n }\n\n fireClick(item: ActionButton, event: MouseEvent) {\n event.stopPropagation();\n item.click.emit();\n }\n\n private subscribeItemChange(): void {\n const screenResize$ = this.screenSizeService.isMobileBlock;\n\n const actions$ = queryListChanged(this.actions);\n\n screenResize$\n .pipe(takeUntil(this.destroyed$), combineLatestWith(actions$))\n .subscribe(([isMobile, actions]) => {\n this.computeItems(actions, isMobile);\n });\n }\n\n private computeItems(actions: ActionButton[], isMobile: boolean) {\n const allItems = [...(this.items ?? []), ...actions];\n const maxItems = isMobile ? this.maxItemsMobile : this.maxItems;\n this.visibleActions = allItems.slice(0, maxItems);\n this.menuItems = allItems.slice(maxItems).map(this.convertToMenuItem);\n this.changeDetectorRef.detectChanges();\n }\n\n private convertToMenuItem(item: ActionButton): MenuItem {\n return {\n label: item.label,\n icon: item.icon,\n command: () => {\n item.click.emit();\n },\n };\n }\n}\n","<div\n class=\"v-action-button-group align-items-center justify-content-center justify-content-md-end\"\n>\n <div class=\"v-action-button-group__actions d-flex gap-2\">\n @for (action of visibleActions; track action) {\n <v-action-button\n [disabled]=\"action.disabled\"\n [icon]=\"action.icon\"\n [id]=\"action.id\"\n [outlined]=\"action.outlined\"\n [raised]=\"action.raised\"\n [toolTip]=\"action.toolTip || action.label\"\n [severity]=\"action.severity\"\n [size]=\"action.size\"\n (click)=\"fireClick(action, $event)\"\n ></v-action-button>\n } @if (actions.length > visibleActions.length) {\n <v-dropdown-button\n [label]=\"label\"\n [icon]=\"menuIcon\"\n [items]=\"menuItems\"\n />\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n Self,\n SimpleChanges,\n ViewEncapsulation,\n OnInit,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { FilterEvent, LazyLoadEvent } from '@verisoft/core';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n DROPDOWN_COMPONENT_TOKEN,\n DropdownCore\n} from '@verisoft/ui-core';\nimport { ScrollerOptions } from 'primeng/api';\nimport {\n DropdownFilterEvent,\n DropdownModule,\n} from 'primeng/dropdown';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { MessageModule } from 'primeng/message';\nimport { ScrollerLazyLoadEvent } from 'primeng/scroller';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { Subject } from 'rxjs';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-dropdown',\n imports: [\n CommonModule,\n ReactiveFormsModule,\n DropdownModule,\n TooltipModule,\n FormFieldComponent,\n MessageModule,\n FloatLabelModule,\n ErrorComponent\n ],\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => DropdownComponent),\n multi: true,\n },\n {\n provide: DROPDOWN_COMPONENT_TOKEN,\n useExisting: DropdownComponent,\n },\n ]\n})\nexport class DropdownComponent<T>\n extends BaseFormInputComponent\n implements\n ControlValueAccessor,\n OnChanges,\n OnDestroy,\n OnInit,\n DropdownCore<T>\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() options: T[] | undefined = [];\n @Input() optionLabel: string | undefined;\n @Input() optionValue: string | undefined;\n @Input() dropdownIcon?: string;\n @Input() floatLabel?: string;\n @Input() editable = false;\n @Input() loading = false;\n @Input() lazy = false;\n @Input() filter = true;\n @Input() forceMinWidth = false;\n @Input() showFilter = false;\n @Input() localSearch = false;\n\n @Output() showed = new EventEmitter<any>();\n @Output() cleared = new EventEmitter<any>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() filtered = new EventEmitter<FilterEvent>();\n\n private destroy$ = new Subject<void>();\n\n virtualScrollOptions!: ScrollerOptions | undefined;\n virtualOptionSize = 37.5;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['lazy'] || changes['loading']) {\n this.virtualScrollOptions = this.lazy\n ? {\n showLoader: this.loading,\n lazy: true,\n onLazyLoad: this.onLazyLoad.bind(this),\n }\n : undefined;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onLazyLoad(event: ScrollerLazyLoadEvent): void {\n this.lazyLoad.emit({\n offset: event.first,\n limit: event.last - event.first,\n });\n }\n\n filterChange(event: DropdownFilterEvent): void {\n this.filtered.emit({\n filter: event.filter,\n });\n }\n\n onDropdownShow(): void {\n this.showed.emit();\n }\n\n onDropdownClear(): void {\n this.cleared.emit();\n }\n}\n","<div class=\"v-dropdown\">\n <ng-container *ngIf=\"label && !floatLabel\">\n <v-form-field\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <p-dropdown\n [baseZIndex]=\"9999\"\n class=\"w-100\"\n appendTo=\"body\"\n [formControl]=\"formControl\"\n [filter]=\"filter\"\n [title]=\"label\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder ?? ''\"\n [virtualScroll]=\"lazy\"\n [virtualScrollItemSize]=\"virtualOptionSize\"\n [virtualScrollOptions]=\"virtualScrollOptions\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [showClear]=\"formControl && clearable && !readonly\"\n [editable]=\"editable\"\n [dataKey]=\"optionValue\"\n (showEvent)=\"onDropdownShow()\"\n (clearEvent)=\"onDropdownClear()\"\n (onFilter)=\"filterChange($event)\"\n >\n </p-dropdown>\n </v-form-field>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </ng-container>\n <ng-container *ngIf=\"!label && !floatLabel\">\n <p-dropdown\n [baseZIndex]=\"9999\"\n class=\"w-100\"\n appendTo=\"body\"\n [formControl]=\"formControl\"\n [filter]=\"filter\"\n [title]=\"label\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder ? placeholder : label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [showClear]=\"formControl && clearable && !readonly\"\n [editable]=\"editable\"\n [dataKey]=\"optionValue\"\n [virtualScroll]=\"lazy\"\n [virtualScrollItemSize]=\"virtualOptionSize\"\n [virtualScrollOptions]=\"virtualScrollOptions\"\n (showEvent)=\"onDropdownShow()\"\n (clearEvent)=\"onDropdownClear()\"\n (onFilter)=\"filterChange($event)\"\n >\n </p-dropdown>\n </ng-container>\n <ng-container *ngIf=\"floatLabel && !label\">\n <p-floatLabel>\n <p-dropdown\n [baseZIndex]=\"9999\"\n class=\"w-100\"\n appendTo=\"body\"\n [formControl]=\"formControl\"\n [title]=\"label\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder ? placeholder : label\"\n [filter]=\"filter\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [showClear]=\"formControl && clearable && !readonly\"\n [editable]=\"editable\"\n [dataKey]=\"optionValue\"\n [virtualScroll]=\"lazy\"\n [virtualScrollItemSize]=\"virtualOptionSize\"\n [virtualScrollOptions]=\"virtualScrollOptions\"\n (showEvent)=\"onDropdownShow()\"\n (clearEvent)=\"onDropdownClear()\"\n (onFilter)=\"filterChange($event)\"\n (lazyLoad)=\"onLazyLoad($any($event))\"\n >\n </p-dropdown>\n <label [for]=\"inputId\">{{ floatLabel }}</label>\n </p-floatLabel>\n </ng-container>\n</div>","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n Optional,\n Output,\n Self,\n SimpleChanges,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n FilterEvent,\n LazyLoadEvent,\n} from '@verisoft/core';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n MULTISELECT_COMPONENT_TOKEN,\n MultiselectCore,\n FieldSize,\n FieldSizeType,\n} from '@verisoft/ui-core';\nimport { ScrollerOptions } from 'primeng/api';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { ScrollerLazyLoadEvent } from 'primeng/scroller';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-multiselect',\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FloatLabelModule,\n MultiSelectModule,\n ErrorComponent,\n FormFieldComponent,\n ],\n templateUrl: './multiselect.component.html',\n styleUrl: './multiselect.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => MultiselectComponent),\n multi: true,\n },\n {\n provide: MULTISELECT_COMPONENT_TOKEN,\n useExisting: MultiselectComponent,\n },\n ]\n})\nexport class MultiselectComponent<T>\n extends BaseFormInputComponent\n implements ControlValueAccessor, MultiselectCore<T>, OnChanges\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() options: T[] | undefined = [];\n @Input() optionLabel: string | undefined;\n @Input() optionValue: string | undefined;\n @Input() dropdownIcon?: string;\n @Input() floatLabel?: string;\n @Input() editable = true;\n @Input() loading = false;\n @Input() lazy = false;\n @Input() filter = true;\n @Input() size: FieldSizeType = FieldSize.medium;\n\n @Output() changed = new EventEmitter<any>();\n @Output() showed = new EventEmitter<any>();\n @Output() cleared = new EventEmitter<any>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() filtered = new EventEmitter<FilterEvent>();\n\n virtualScrollOptions!: ScrollerOptions | undefined;\n virtualOptionSize = 37.5; \n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['lazy'] || changes['loading']) {\n this.virtualScrollOptions = this.lazy\n ? {\n showLoader: this.loading,\n lazy: true,\n onLazyLoad: this.onLazyLoad.bind(this),\n }\n : undefined;\n }\n }\n\n onLazyLoad(event: ScrollerLazyLoadEvent): void {\n this.lazyLoad.emit({\n offset: event.first,\n limit: event.last - event.first,\n });\n }\n\n selectionChange(event: any): void {\n this.cleared.emit(event);\n }\n\n onDropdownShow(): void {\n this.showed.emit();\n }\n\n onDropdownClear(): void {\n this.cleared.emit();\n }\n}\n","<div class=\"v-multiple-select\">\n <ng-container *ngIf=\"label && !floatLabel\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <p-multiSelect\n [baseZIndex]=\"9999\"\n class=\"w-100\"\n appendTo=\"body\"\n [formControl]=\"formControl\"\n [title]=\"label\"\n display=\"chip\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder ? placeholder : label\"\n [virtualScrollItemSize]=\"25\"\n [lazy]=\"true\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [showClear]=\"formControl && clearable && !readonly\"\n [virtualScroll]=\"lazy\"\n [virtualScrollItemSize]=\"virtualOptionSize\"\n [virtualScrollOptions]=\"virtualScrollOptions\"\n (showEvent)=\"onDropdownShow()\"\n (clearEvent)=\"onDropdownClear()\"\n (changeEvent)=\"selectionChange($event)\"\n (lazyLoadEvent)=\"onLazyLoad($any($event))\"\n ></p-multiSelect>\n </v-form-field>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </ng-container>\n <ng-container *ngIf=\"floatLabel\">\n <p-floatLabel>\n <p-multiSelect\n [baseZIndex]=\"9999\"\n class=\"w-100\"\n appendTo=\"body\"\n [formControl]=\"formControl\"\n [title]=\"label\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder ? placeholder : label\"\n [virtualScrollItemSize]=\"25\"\n [lazy]=\"true\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [inputId]=\"inputId\"\n [showClear]=\"formControl && clearable && !readonly\"\n [virtualScroll]=\"lazy\"\n [virtualScrollItemSize]=\"virtualOptionSize\"\n [virtualScrollOptions]=\"virtualScrollOptions\"\n (showEvent)=\"onDropdownShow()\"\n (clearEvent)=\"onDropdownClear()\"\n (changeEvent)=\"selectionChange($event)\"\n (lazyLoadEvent)=\"onLazyLoad($any($event))\"\n ></p-multiSelect>\n\n <label [for]=\"inputId\">{{ floatLabel }}</label>\n </p-floatLabel>\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n DatasourceType,\n FilterEvent,\n LazyLoadEvent,\n} from '@verisoft/core';\nimport {\n BaseFormInputComponent,\n DatasourceDirective,\n FieldSize,\n FieldSizeType,\n GENERIC_FIELD_COMPONENT_TOKEN,\n GenericFieldCore,\n GenericFieldType,\n GenericFieldTypeType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../../icons';\nimport { CalendarComponent } from '../../calendar';\nimport { CheckboxComponent } from '../../checkbox';\nimport { DropdownComponent } from '../../dropdown';\nimport { MultiselectComponent } from '../../multiselect';\nimport { TextfieldComponent } from '../../textfield';\n\n@Component({\n selector: 'v-generic-field',\n imports: [\n CommonModule,\n DropdownComponent,\n CalendarComponent,\n MultiselectComponent,\n TextfieldComponent,\n ReactiveFormsModule,\n CheckboxComponent,\n DatasourceDirective,\n ],\n providers: [\n {\n provide: GENERIC_FIELD_COMPONENT_TOKEN,\n useExisting: GenericFieldComponent,\n },\n ],\n templateUrl: './generic-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GenericFieldComponent<T>\n extends BaseFormInputComponent\n implements GenericFieldCore<T>\n{\n @Input() type?: GenericFieldTypeType = GenericFieldType.text;\n\n @Input() floatLabel?: boolean;\n\n @Input() optionLabel: string | undefined;\n\n @Input() optionValue: string | undefined;\n\n @Input() options: T[] | undefined;\n\n @Input() size?: FieldSizeType = FieldSize.medium;\n\n @Input() loading = false;\n\n @Input() lazy = false;\n\n @Input() filter = true;\n\n @Input() datasource?: DatasourceType<T>\n\n @Input() filterField?: string;\n\n @Input() showFilter?: boolean;\n\n @Input() localSearch?: boolean;\n\n @Output() changed = new EventEmitter<any>();\n @Output() showed = new EventEmitter<any>();\n @Output() cleared = new EventEmitter<any>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() filtered = new EventEmitter<FilterEvent>();\n\n fieldTypes = GenericFieldType;\n icons = Icons;\n}\n","@if (!type || type === fieldTypes.text) {\n<v-textfield\n [label]=\"label\"\n [floatLabel]=\"floatLabel === true\"\n [size]=\"size\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.dropdown && !datasource) {\n<v-dropdown\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [loading]=\"loading\"\n [forceMinWidth]=\"true\"\n [formControl]=\"formControl\"\n [showFilter]=\"showFilter ?? false\"\n [localSearch]=\"localSearch ?? false\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/> \n} @else if (type === fieldTypes.dropdown && datasource) {\n <v-dropdown\n useDatasource\n [forceMinWidth]=\"true\"\n [datasource]=\"datasource\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n [showFilter]=\"showFilter ?? false\"\n [filterField]=\"filterField ?? 'fulltext'\"\n [localSearch]=\"localSearch ?? false\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n />\n} @else if (type === fieldTypes.multiselect && !datasource) {\n<v-multiselect\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/>\n} @else if (type === fieldTypes.multiselect && datasource) {\n<v-multiselect\n useDatasource\n [datasource]=\"datasource\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/>\n} @else if (type === fieldTypes.checkbox) {\n<v-checkbox\n [label]=\"label\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n [indeterminate]=\"true\"\n/>\n} @else if (type === fieldTypes.simplecheckbox) {\n<v-checkbox\n [label]=\"label\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.calendar) {\n<v-calendar\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n [icon]=\"icons.calendar\"\n/>\n}\n","import {\r\n UntypedFormControl,\r\n UntypedFormGroup,\r\n} from '@angular/forms';\r\nimport { GenericFieldDefinition } from '@verisoft/ui-core';\r\n\r\nexport function generateFormGroup(\r\n fields: GenericFieldDefinition[] | undefined,\r\n lastGroupValue: UntypedFormGroup | undefined,\r\n inputGroup: UntypedFormGroup | undefined,\r\n inputGroupChanged = false\r\n): UntypedFormGroup {\r\n const formGroup =\r\n (inputGroupChanged\r\n ? inputGroup ?? lastGroupValue\r\n : lastGroupValue ?? inputGroup) ?? new UntypedFormGroup({});\r\n\r\n fields?.forEach((field) => {\r\n const control = formGroup.get(field.name);\r\n if (!control) {\r\n formGroup.addControl(\r\n field.name,\r\n new UntypedFormControl(field.value, field.validator)\r\n );\r\n } else if (control && control.value !== field.value) {\r\n control.setValue(field.value);\r\n control.setValidators(field.validator ?? null);\r\n }\r\n else {\r\n control.setValidators(field.validator ?? null);\r\n }\r\n\r\n if (field.readonly && (control || formGroup.get(field.name))) {\r\n formGroup.get(field.name)?.disable();\r\n }\r\n });\r\n if (!inputGroupChanged) {\r\n for (const field in formGroup.controls) {\r\n const control = fields?.find((x) => x.name == field);\r\n if (!control) {\r\n formGroup.removeControl(field);\r\n }\r\n }\r\n }\r\n\r\n return formGroup;\r\n}\r\n\r\nexport function getColumnClass(value?: number): string | undefined {\r\n if (!value) {\r\n return undefined;\r\n }\r\n\r\n switch (value) {\r\n case 1:\r\n return 'col-12';\r\n case 2:\r\n return 'col-12 col-md-6';\r\n case 3:\r\n return 'col-12 col-md-4';\r\n case 4:\r\n return 'col-12 col-md-3';\r\n case 6:\r\n return 'col-12 col-md-2';\r\n }\r\n\r\n return 'col-12 col-md-1';\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GenericFieldDefinition } from '@verisoft/ui-core';\nimport { GenericFieldComponent } from '../generic-field';\nimport {\n generateFormGroup,\n getColumnClass,\n} from './generic-form.model';\n\n@Component({\n selector: 'v-generic-form',\n imports: [\n CommonModule,\n GenericFieldComponent,\n ReactiveFormsModule,\n TranslateModule,\n ],\n templateUrl: './generic-form.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GenericFormComponent implements OnChanges {\n @Input() formGroup?: UntypedFormGroup;\n\n @Input() fields?: GenericFieldDefinition[];\n\n @Input() columns?: number;\n\n @Input() showAsRow!: boolean;\n\n formGroupComputed!: UntypedFormGroup;\n\n columnClass?: string;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['fields'] || changes['formGroup']) {\n this.formGroupComputed = generateFormGroup(\n this.fields,\n this.formGroupComputed,\n this.formGroup,\n !!changes['formGroup']\n );\n }\n\n if (changes['columns']) {\n this.columnClass = getColumnClass(this.columns);\n }\n }\n}\n","@if (formGroupComputed) {\r\n <div\r\n class=\"v-generic-form\"\r\n [ngClass]=\"showAsRow ? 'd-flex flex-row' : 'row'\"\r\n [formGroup]=\"formGroupComputed\"\r\n >\r\n @for(field of fields; track field) { @if (columnClass) {\r\n <div class=\"v-generic-form__column {{ columnClass }}\">\r\n <v-generic-field\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n </div>\r\n } @else {\r\n <v-generic-field\r\n class=\"me-4\"\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n } }\r\n </div>\r\n }\r\n","import { Directive, Input } from '@angular/core';\r\nimport { ValidatorFn } from '@angular/forms';\r\nimport { DatasourceType } from '@verisoft/core';\r\nimport { GenericFieldDefinition, GenericFieldType, GenericFieldTypeType } from '@verisoft/ui-core';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'v-filter-field',\r\n standalone: true,\r\n})\r\nexport class FilterFieldDirective implements GenericFieldDefinition {\r\n @Input({ required: true }) name!: string;\r\n\r\n @Input() type: GenericFieldTypeType | undefined = GenericFieldType.text;\r\n\r\n @Input() label: string | undefined;\r\n\r\n @Input() optionLabel!: string;\r\n\r\n @Input() optionValue: string | undefined;\r\n\r\n @Input() options: unknown[] | undefined;\r\n\r\n @Input() value?: unknown;\r\n\r\n @Input() validator?: ValidatorFn[];\r\n\r\n @Input() datasource: DatasourceType<any> | undefined;\r\n\r\n @Input() filterField?: string;\r\n\r\n @Input() showFilter?: boolean;\r\n\r\n @Input() localSearch?: boolean;\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\nexport function getFilledControlCount(formGroup: FormGroup): number {\r\n let count = 0;\r\n Object.keys(formGroup.controls).forEach((key) => {\r\n const control = formGroup.get(key);\r\n if (control?.value) {\r\n if (typeof control.value === 'boolean') {\r\n count++;\r\n }\r\n if (typeof control.value === 'string' && control.value.trim() !== '') {\r\n count++;\r\n }\r\n }\r\n });\r\n\r\n return count;\r\n}\r\n","import { AsyncPipe } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n forwardRef,\n inject,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport {\n FormGroup,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseHttpService } from '@verisoft/core';\nimport {\n ButtonShortCutDirective,\n DEFAULT_DEBOUNCE_TIME,\n DialogService,\n FieldSize,\n FILTER_COMPONENT_TOKEN,\n FilterCore,\n GenericFieldDefinition,\n isFilterEmpty,\n ScreenSizeService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport {\n BehaviorSubject,\n combineLatestWith,\n debounceTime,\n distinctUntilChanged,\n map,\n Observable,\n startWith,\n takeUntil,\n} from 'rxjs';\nimport { Icons } from '../../../icons';\nimport { ButtonComponent } from '../../button';\nimport { TextfieldComponent } from '../../textfield';\nimport { generateFormGroup, GenericFormComponent } from '../generic-form';\nimport { FilterFieldDirective } from './directives/filter-field.directive';\nimport { getFilledControlCount } from './filter.model';\n\ntype FilterValueType = { [key: string]: unknown };\n\n@Component({\n selector: 'v-filter',\n imports: [\n AsyncPipe,\n ReactiveFormsModule,\n TextfieldComponent,\n GenericFormComponent,\n ButtonComponent,\n ButtonShortCutDirective,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FilterComponent),\n multi: true,\n },\n {\n provide: FILTER_COMPONENT_TOKEN,\n useExisting: FilterComponent,\n },\n ],\n templateUrl: './filter.component.html',\n styleUrl: './filter.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FilterComponent<T extends object>\n extends UnsubscribeComponent\n implements OnChanges, OnInit, AfterContentInit, FilterCore\n{\n @ContentChildren(FilterFieldDirective)\n fieldDeclarations!: QueryList<FilterFieldDirective>;\n\n @Input() fields: GenericFieldDefinition[] = [];\n\n @Input() filters: GenericFieldDefinition[] = [];\n\n @Input() title?: string;\n\n @Input() fulltextFieldName = 'searchField';\n\n @Input() showFulltext = true;\n\n @Input() showFilters = true;\n\n @Input() autoBind = true;\n\n @Input() debounceTime?: number = DEFAULT_DEBOUNCE_TIME;\n\n icons = Icons;\n\n fieldDefinitios$?: Observable<GenericFieldDefinition[]>;\n\n formGroup$?: Observable<FormGroup>;\n\n simpleFormFieldDefinitions$?: Observable<GenericFieldDefinition[]>;\n\n private searchField: GenericFieldDefinition = {\n name: this.fulltextFieldName,\n };\n\n private onTouch?: () => void;\n\n private onChange?: (value: FilterValueType | undefined) => void;\n\n private inputFields$ = new BehaviorSubject<\n GenericFieldDefinition[] | undefined\n >([...this.fields ?? [], ...this.filters ?? []]);\n\n FieldSize = FieldSize;\n\n protected screenSizeService = inject(ScreenSizeService);\n protected changeDetectorRef = inject(ChangeDetectorRef);\n protected dialogService = inject(DialogService);\n\n service!: BaseHttpService<T>;\n\n formGroup = new FormGroup({});\n\n filledFiltersCount$: Observable<string> = this.formGroup.valueChanges.pipe(\n startWith(this.formGroup),\n map(() => getFilledControlCount(this.formGroup).toString())\n );\n\n private lastFormFields: GenericFieldDefinition[] = [];\n\n ngOnInit(): void {\n this.formGroup.valueChanges\n .pipe(\n takeUntil(this.destroyed$),\n debounceTime(this.debounceTime ?? DEFAULT_DEBOUNCE_TIME),\n map((x) => this.convertFilter(x)),\n distinctUntilChanged()\n )\n .subscribe((value) => this.onChange?.(value));\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['fields'] || changes['filters']) {\n this.inputFields$.next([...this.fields ?? [], ...this.filters ?? []]);\n }\n }\n\n ngAfterContentInit(): void {\n const fieldDeclaratios$: Observable<GenericFieldDefinition[]> =\n this.fieldDeclarations.changes.pipe(\n startWith({}),\n map(() => this.fieldDeclarations.toArray())\n );\n\n this.fieldDefinitios$ = this.inputFields$.pipe(\n combineLatestWith(fieldDeclaratios$),\n map(([inputs, views]) => {\n this.searchField.name = this.fulltextFieldName;\n this.lastFormFields = [this.searchField, ...(inputs ?? []), ...views];\n return this.lastFormFields;\n })\n );\n\n this.simpleFormFieldDefinitions$ = this.fieldDefinitios$.pipe(\n map((fields) => {\n return fields\n .filter((x) => x.name !== this.fulltextFieldName)\n .map((x) => ({ ...x, floatLabel: true, size: FieldSize.large }));\n })\n );\n\n this.formGroup$ = this.fieldDefinitios$.pipe(\n map((fields) =>\n generateFormGroup(fields, this.formGroup, undefined, false)\n )\n );\n\n this.changeDetectorRef.detectChanges();\n }\n\n protected openFilter() {\n const fields = this.lastFormFields.map((x) => ({\n ...x,\n label:\n x.name === this.fulltextFieldName ? 'Fulltext' : x.label ?? x.name,\n }));\n\n const formGroup = generateFormGroup(\n this.lastFormFields,\n undefined,\n undefined,\n false\n );\n formGroup.patchValue(this.formGroup.value);\n this.dialogService.showDialog({\n title: 'Set filters',\n headerIcon: this.icons.filter,\n severity: 'primary',\n componentType: GenericFormComponent,\n data: {\n formGroup,\n fields: fields,\n columns: 1,\n },\n confirmButtonFn: () => this.setFilterValues(formGroup),\n confirmButtonText: 'Apply',\n cancelButtonFn: () => this.clear(),\n cancelButtonText: 'Clear all',\n showCancelButton: true,\n closable: false,\n });\n }\n\n protected openSearch() {\n this.dialogService.showDialog({\n headerIcon: 'pi pi-search',\n severity: 'primary',\n innerHTML: '<p>Search</p>',\n confirmButtonFn: () => this.submitValue(),\n confirmButtonText: 'Apply',\n cancelButtonFn: () => this.clear(),\n cancelButtonText: 'Clear all',\n showCancelButton: true,\n closable: false,\n });\n }\n\n writeValue(data: FilterValueType): void {\n this.formGroup.patchValue(data);\n }\n\n registerOnChange(fn: (value: FilterValueType | undefined) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n isDisabled ? this.formGroup.disable() : this.formGroup.enable();\n }\n\n submitValue() {\n if (!this.autoBind) {\n this.onChange?.(this.formGroup.value);\n }\n }\n\n setFilterValues(dialogFormGroup: FormGroup) {\n this.formGroup.setValue(dialogFormGroup.value);\n this.submitValue();\n }\n\n clear() {\n this.formGroup.reset();\n this.submitValue();\n }\n\n private convertFilter(\n value: FilterValueType | undefined\n ): FilterValueType | undefined {\n if (value == undefined) {\n return undefined;\n }\n\n const isEmpty = isFilterEmpty(value);\n if (isEmpty) {\n return undefined;\n }\n\n return value;\n }\n}\n","<div class=\"v-filter w-100 p-3 bg-primary\">\n @if (formGroup$ | async; as formGroup){\n <form [formGroup]=\"formGroup\" class=\"d-flex align-items-center\">\n @if (title) {\n <div class=\"v-filter_title pe-4\">\n <h2 class=\"text-white m-0\">{{ title }}</h2>\n </div>\n }\n <div class=\"v-filter__fulltext flex-grow-1 pe-4\">\n @if (showFulltext){\n <v-textfield\n class=\"d-none d-lg-block\"\n placeholder=\"Search\"\n size=\"large\"\n formControlName=\"searchField\"\n type=\"search\"\n [clearable]=\"true\"\n >\n </v-textfield>\n }\n </div>\n @if (simpleFormFieldDefinitions$ | async; as declaration){\n @if (showFilters)\n {\n <div class=\"v-filter_filters d-none d-sm-block me-2\">\n <v-generic-form\n [fields]=\"declaration\"\n [formGroup]=\"formGroup\"\n ></v-generic-form>\n <v-button label=\"X\" class=\"mt-3\" (click)=\"clear()\" />\n </div>\n }\n <div class=\"v-filter_action-buttons d-flex\">\n @if (declaration.length && !showFilters) {\n <v-button \n class=\"me-4\"\n [icon]=\"icons.filter\"\n [label]=\"$any(filledFiltersCount$ | async)\"\n (click)=\"openFilter()\"\n />\n } @if (!autoBind) {\n <v-button\n useShortCut\n [shortCutFn]=\"submitValue.bind(this)\"\n shortCutKey=\"Enter\"\n class=\"text-white mx-2\"\n [outlined]=\"true\"\n size=\"small\"\n label=\"Apply\"\n (click)=\"submitValue()\"\n ></v-button>\n <v-button\n useShortCut\n [shortCutFn]=\"clear.bind(this)\"\n shortCutKey=\"Escape\"\n class=\"text-white\"\n [outlined]=\"true\"\n size=\"small\"\n label=\"Clear\"\n (click)=\"clear()\"\n ></v-button>\n } \n </div>\n }\n <ng-content select=\"v-action-button-group\"></ng-content>\n </form>\n }\n</div>\n","import { Directive } from '@angular/core';\nimport { FilterFieldDirective } from '../../filter';\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'v-feature-list-filter-field',\n standalone: true,\n})\nexport class FeatureListFilterFieldDirective extends FilterFieldDirective {}","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { GenericFieldDefinition, GenericFieldType } from \"@verisoft/ui-core\";\nimport { FeatureListColumnDefinition } from \"./feature-list-page.model\";\n\n@Pipe({\n name: 'featureListColumn',\n standalone: true,\n})\nexport class FeatureListFilterPipe<T> implements PipeTransform {\n transform(value: FeatureListColumnDefinition<T>[] | undefined): GenericFieldDefinition[] | undefined {\n if (!value){\n return undefined;\n }\n\n return value.filter(x => x.filter).map((x, index) => ({\n name: x.id,\n label: typeof x.headerName === 'function'? x.headerName(x.id, index) : x.headerName ?? '',\n type: x.type as GenericFieldType,\n }));\n }\n}","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n FEATURE_LIST_PAGE_CONFIG_PROPERTY,\n FeatureListPageConfig,\n} from './feature-list-page.model';\nimport { FeatureListComponent } from './feature-list.component';\n\n@Component({\n selector: 'v-feature-list-page',\n imports: [FeatureListComponent],\n template: `\n <v-feature-list\n [title]=\"config.title\"\n [tableName]=\"config.tableName\"\n [showAdd]=\"config.showAdd ?? true\"\n [showDownload]=\"config.showDownload ?? true\"\n [showDelete]=\"config.showDelete ?? true\"\n >\n </v-feature-list>\n `\n})\nexport class FeatureListPageComponent {\n config!: FeatureListPageConfig;\n\n constructor(activatedRoute: ActivatedRoute) {\n this.config =\n activatedRoute.snapshot.data[FEATURE_LIST_PAGE_CONFIG_PROPERTY];\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Route } from '@angular/router';\nimport { ColumnDefinition, GenericFieldTypeType } from '@verisoft/ui-core';\nimport { FeatureListPageComponent } from './feature-list-page.component';\n\nexport interface FeatureListPageConfig {\n title: string;\n datasource: string;\n tableName: string;\n showAdd?: boolean;\n showDownload?: boolean;\n showDelete?: boolean;\n}\n\nexport const FEATURE_LIST_PAGE_CONFIG_PROPERTY = 'feature_list_config';\n\nexport function addFeatureListPage(\n value: Partial<Route> & { config: FeatureListPageConfig }\n): Route {\n const { config, ...route } = value;\n return {\n component: FeatureListPageComponent,\n ...route,\n data: {\n [FEATURE_LIST_PAGE_CONFIG_PROPERTY]: config,\n ...(route.data ?? {}),\n },\n };\n}\n\nexport interface FeatureListColumnDefinition<T> extends ColumnDefinition<T> {\n filter?: boolean;\n type?: GenericFieldTypeType;\n}\n\nexport const FEATURE_LIST_COLUMN_PROVIDER = new InjectionToken(\n 'FEATURE_LIST_COLUMN_PROVIDER'\n);\n\nexport interface FeatureListColumnProvider<T> {\n getDefinition: () => FeatureListColumnDefinition<T>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n AllDataRequestParams,\n BASE_URL_PATH,\n BaseHttpService,\n convertDatasource,\n DatasourceType,\n DEFAULT_PAGE_SIZE,\n} from '@verisoft/core';\nimport {\n ColumnModel,\n DialogService,\n downloadFile,\n GenericFieldDefinition,\n MAX_COLUMN_CHAR_COUNT,\n TableDatasourceDirective,\n TableFilterDirective,\n TableSelectionMode,\n TableSelectionModeType,\n} from '@verisoft/ui-core';\nimport { take, switchMap, forkJoin, Observable, of } from 'rxjs';\nimport { Icons } from '../../../icons';\nimport { TableComponent } from '../../table';\nimport {\n ActionButtonComponent,\n ActionButtonGroupComponent,\n} from '../action-button-group';\nimport { FilterComponent } from '../filter';\nimport { FeatureListFilterFieldDirective } from './directives/feature-list-filter-field.directive';\nimport { FeatureListFilterPipe } from './feature-list-filter.pipe';\nimport {\n FEATURE_LIST_COLUMN_PROVIDER,\n FeatureListColumnDefinition,\n FeatureListColumnProvider,\n} from './feature-list-page.model';\n\n@Component({\n selector: 'v-feature-list',\n imports: [\n TableComponent,\n TableDatasourceDirective,\n FilterComponent,\n TableFilterDirective,\n ActionButtonGroupComponent,\n ActionButtonComponent,\n FeatureListFilterPipe,\n ],\n templateUrl: './feature-list.component.html',\n styleUrls: ['./feature-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FeatureListComponent<T> implements AfterViewInit {\n @ContentChildren(FEATURE_LIST_COLUMN_PROVIDER) viewColumns!: QueryList<\n FeatureListColumnProvider<T>\n >;\n\n @ContentChildren(FeatureListFilterFieldDirective)\n fieldDeclarations!: QueryList<FeatureListFilterFieldDirective>;\n\n @ViewChild(TableDatasourceDirective)\n tableDatasourceDirective!: TableDatasourceDirective<T>;\n\n @Input() autoBind = true;\n\n @Input() title!: string;\n\n @Input() columns!: FeatureListColumnDefinition<T>[];\n\n @Input() filters!: GenericFieldDefinition[];\n\n @Input() maxVisibleActions = 2;\n\n @Input({ required: true }) tableName!: string;\n\n @Input() ngrxFeatureKey?: string;\n\n @Input() maxVisibleMobileActions = 0;\n\n @Input() showExtendedFilter = false;\n\n @Input() showDownload = false;\n\n @Input() showDelete = false;\n\n @Input() showAdd = false;\n\n @Input() canDownload = true;\n\n @Input() canDelete = true;\n\n @Input() canAdd = true;\n\n @Input() useRouterFilter = true;\n\n @Input() fulltextFieldName = 'searchField';\n\n @Input() showFulltext = true;\n\n @Input() deleteConfirmMessage: string | undefined;\n\n @Input() autoDeleteEnabled = true;\n\n @Input() autoDownloadEnabled = true;\n\n @Input() downloadFileName = 'export.csv';\n\n @Input() datasource!: DatasourceType<T>;\n\n @Input() extraFilter!: any;\n\n @Input() disableCustomClicks = false;\n\n @Input() maximumColumnLength = MAX_COLUMN_CHAR_COUNT;\n\n @Output() addClick = new EventEmitter();\n\n @Output() downloadClick = new EventEmitter();\n\n @Output() deleteClick = new EventEmitter<T[]>();\n\n @Output() selectionChange = new EventEmitter();\n\n @Input() set selectionMode(mode: TableSelectionModeType | undefined) {\n this._selectionMode = mode;\n }\n\n get selectionMode(): TableSelectionModeType | undefined {\n return this.canDelete\n ? TableSelectionMode.single\n : this._selectionMode;\n }\n\n icons = Icons;\n\n private httpClient = inject(HttpClient);\n\n private baseUrl: string = inject(BASE_URL_PATH);\n\n private _selectionMode: TableSelectionModeType | undefined;\n\n private cdRef = inject(ChangeDetectorRef);\n\n private dialogService = inject(DialogService);\n\n selection: T[] = [];\n\n ngAfterViewInit(): void {\n if (this.viewColumns?.length) {\n const vewColumns = this.viewColumns\n ?.toArray()\n .map((x) => x.getDefinition());\n this.columns = [...(this.columns ?? []), ...(vewColumns ?? [])];\n this.cdRef.detectChanges();\n }\n\n if (this.fieldDeclarations?.length) {\n this.filters = this.fieldDeclarations?.toArray();\n }\n\n this.cdRef.detectChanges();\n }\n\n selectItems(items: T[]) {\n this.selection = items ?? [];\n\n if (this.selectionMode !== undefined) {\n this.selectionChange.emit(\n this.selectionMode === 'multiple'\n ? this.selection\n : this.selection[0]\n );\n }\n }\n\n startDeleteItems() {\n if (!this.selection.length) {\n return;\n }\n\n if (this.deleteConfirmMessage) {\n const message = this.deleteConfirmMessage;\n this.dialogService.showDialog({\n innerHTML: message,\n confirmButtonFn: () => this.deleteItems(this.selection),\n });\n } else {\n this.deleteItems(this.selection);\n }\n }\n\n startDownload() {\n this.downloadClick.emit();\n if (!this.autoDownloadEnabled) {\n return;\n }\n\n const dowloadFn = this.createDownloadFn(this.datasource);\n if (dowloadFn) {\n this.tableDatasourceDirective.params$\n .pipe(\n take(1),\n switchMap((params) => dowloadFn(params))\n )\n .subscribe((blob) => {\n downloadFile(this.downloadFileName, blob);\n });\n }\n }\n\n private deleteItems(items: T[]) {\n if (!this.autoDeleteEnabled) {\n this.deleteClick.emit(items);\n } else {\n this.forceDelete(items);\n }\n }\n\n private forceDelete(items: T[]) {\n const deleteFn = this.createDeleteFn(this.datasource);\n if (deleteFn) {\n const deleteMethods = items.map((x) => deleteFn(x));\n forkJoin(deleteMethods)\n .pipe(take(1))\n .subscribe(() => this.finishDeletion(items));\n } else {\n this.finishDeletion(items);\n }\n }\n\n private createDeleteFn(\n datasource: DatasourceType<T>\n ): ((item: T) => Observable<unknown>) | undefined {\n if (!datasource) {\n return undefined;\n }\n\n if (typeof datasource === 'string') {\n const service = new BaseHttpService<T>(\n this.httpClient,\n this.baseUrl,\n datasource\n );\n\n return (item: T) => service.delete((item as { id: string }).id);\n }\n\n if (datasource instanceof BaseHttpService) {\n return (item: T) => datasource.delete((item as { id: string }).id);\n }\n\n return undefined;\n }\n\n private createDownloadFn(\n datasource: DatasourceType<T>\n ): ((request: AllDataRequestParams<T>) => Observable<Blob>) | undefined {\n if (!datasource) {\n return undefined;\n }\n\n if (typeof datasource === 'string') {\n const service = new BaseHttpService<T>(\n this.httpClient,\n this.baseUrl,\n datasource\n );\n\n return (request: AllDataRequestParams<T>) => service.export(request);\n }\n\n if (datasource instanceof BaseHttpService) {\n return (request: AllDataRequestParams<T>) => datasource.export(request);\n }\n\n const fetchFunction = convertDatasource(\n datasource,\n this.baseUrl,\n this.httpClient\n );\n\n return (request: AllDataRequestParams<T>) => {\n const allData: T[] = [];\n let offset = 0;\n const fetchAllData = (): Observable<Blob> => {\n return fetchFunction({\n ...request,\n offset,\n limit: DEFAULT_PAGE_SIZE,\n }).pipe(\n take(1),\n switchMap((response) => {\n allData.push(...response.data);\n if (allData.length < response.total) {\n offset = offset + DEFAULT_PAGE_SIZE;\n return fetchAllData();\n } else {\n return of(this.convertToBlob(allData));\n }\n })\n );\n };\n\n return fetchAllData();\n };\n }\n\n private finishDeletion(items: T[]) {\n if (this.datasource && Array.isArray(this.datasource)) {\n this.datasource = this.datasource.filter((x) => !items.includes(x));\n } else {\n this.tableDatasourceDirective.reload();\n }\n\n this.deleteClick.emit(items);\n }\n\n private convertToBlob(data: T[]): Blob {\n const columnModel = this.columns.map((x) => new ColumnModel(x));\n const headers = columnModel.map((x, index) => x.headerGetter(x.id, index));\n const dataValues = data.map((row, rowIndex) =>\n columnModel.map((column) => column.valueGetter(row, rowIndex))\n );\n const csvData = [headers, ...dataValues]\n .map((row) => row.join(','))\n .join('\\n');\n return new Blob([csvData], { type: 'text/csv' });\n }\n}\n","<div class=\"feature-list__container full-height-container\">\n <v-filter\n #filter\n [title]=\"title\"\n [fields]=\"columns | featureListColumn\"\n [filters]=\"filters\"\n [fulltextFieldName]=\"fulltextFieldName\"\n [showFulltext]=\"showFulltext\"\n [showFilters]=\"showExtendedFilter\"\n >\n <v-action-button-group\n [maxItems]=\"maxVisibleActions\"\n [maxItemsMobile]=\"maxVisibleMobileActions\"\n >\n @if (showAdd) {\n <v-action-button\n [icon]=\"icons.add\"\n label=\"Add\"\n [disabled]=\"!canAdd\"\n (click)=\"addClick.emit()\"\n ></v-action-button>\n } @if (showDelete){\n <v-action-button\n [icon]=\"icons.delete\"\n label=\"Delete\"\n [disabled]=\"!canDelete || !selection.length\"\n (click)=\"startDeleteItems()\"\n ></v-action-button>\n } @if (showDownload){\n <v-action-button\n [icon]=\"icons.download\"\n label=\"Download\"\n [disabled]=\"!canDownload\"\n (click)=\"startDownload()\"\n ></v-action-button>\n }\n </v-action-button-group>\n </v-filter>\n <div class=\"feature-list__table-container full-height-container\">\n <div class=\"full-height-container\">\n <v-table\n useDatasource\n useFilter\n [filterComponent]=\"filter\"\n class=\"full-height-container\"\n [selectionMode]=\"selectionMode\"\n [tableName]=\"tableName\"\n [autoBind]=\"true\"\n [datasource]=\"datasource\"\n [columns]=\"columns\"\n [extraFilter]=\"extraFilter\"\n [maximumColumnLength]=\"maximumColumnLength\"\n [disableCustomClicks]=\"disableCustomClicks\"\n (selectionChange)=\"selectItems($event)\"\n >\n </v-table>\n </div>\n </div>\n</div>\n","import { Directive, Input } from '@angular/core';\nimport { GenericFieldType, GenericFieldTypeType, TableColumnDirective } from '@verisoft/ui-core';\nimport { FEATURE_LIST_COLUMN_PROVIDER, FeatureListColumnDefinition, FeatureListColumnProvider } from '../feature-list-page.model';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'v-feature-list-column',\n standalone: true,\n providers: [\n {\n provide: FEATURE_LIST_COLUMN_PROVIDER,\n useExisting: FeatureListColumnDirective,\n multi: true,\n },\n ],\n})\nexport class FeatureListColumnDirective<T>\n extends TableColumnDirective<T>\n implements FeatureListColumnProvider<T>\n{\n @Input() filter = false;\n\n @Input() type: GenericFieldTypeType = GenericFieldType.text;\n\n override getDefinition(): FeatureListColumnDefinition<T> {\n const definition = super.getDefinition() as FeatureListColumnDefinition<T>;\n definition.filter = this.filter;\n definition.type = this.type;\n definition.format = this.format;\n return definition;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport {\r\n Injectable,\r\n ViewContainerRef,\r\n Type,\r\n ComponentFactoryResolver,\r\n Injector,\r\n ComponentRef,\r\n ComponentFactory,\r\n OnChanges,\r\n SimpleChanges,\r\n SimpleChange,\r\n EventEmitter,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { ExtendedComponent } from '@verisoft/ui-core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicComponentFactoryService implements OnDestroy {\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribeComponentEvents(this);\r\n }\r\n\r\n async createDynamicComponent<TComponent>(\r\n componentType: Type<TComponent>,\r\n viewContainerRef: ViewContainerRef,\r\n inputs: ExtendedComponent<TComponent>,\r\n injector: Injector | undefined = undefined\r\n ) {\r\n const componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n viewContainerRef.clear();\r\n const component = viewContainerRef.createComponent(\r\n componentFactory,\r\n undefined,\r\n injector\r\n );\r\n this.setComponentDataInt(componentFactory, component, inputs);\r\n this.fireComponentEvents(component.instance, inputs);\r\n return component;\r\n }\r\n\r\n setComponentData<TComponent>(\r\n component: ComponentRef<TComponent>,\r\n inputs: Partial<TComponent>\r\n ) {\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(\r\n component.componentType\r\n );\r\n\r\n this.setComponentDataInt(factory, component, inputs);\r\n }\r\n\r\n private unsubscribeComponentEvents<TComponent>(instance: TComponent) {\r\n const subscriptionStoreKey = '__outputSubscriptions__';\r\n const subscriptions = (instance as any)[subscriptionStoreKey] as Map<string, Subscription>;\r\n\r\n if (subscriptions) {\r\n subscriptions.forEach((sub) => sub.unsubscribe());\r\n subscriptions.clear();\r\n }\r\n }\r\n\r\n private fireComponentEvents<TComponent>(\r\n instance: TComponent,\r\n inputs: ExtendedComponent<TComponent>\r\n ) {\r\n if (!instance || typeof instance !== 'object') return;\r\n\r\n this.fireInputComponentEvents(instance, inputs);\r\n this.fireOutputComponentEvents(instance, inputs);\r\n }\r\n\r\n private setComponentDataInt<TComponent>(\r\n factory: ComponentFactory<TComponent>,\r\n component: ComponentRef<TComponent>,\r\n inputs: Partial<TComponent>\r\n ) {\r\n if (inputs) {\r\n const propertyNames = factory.inputs.map((x) => x.propName);\r\n const inputsHash = new Set(propertyNames);\r\n Object.keys(inputs)\r\n .filter((x) => inputsHash.has(x))\r\n .forEach((x) => {\r\n (<{ [key: string]: unknown }>component.instance)[x] = (<\r\n { [key: string]: unknown }\r\n >inputs)[x];\r\n });\r\n }\r\n }\r\n\r\n private fireInputComponentEvents<TComponent>(\r\n instance: TComponent,\r\n inputs: ExtendedComponent<TComponent>\r\n ) {\r\n const onChangeComponent = instance as unknown as OnChanges;\r\n if (onChangeComponent.ngOnChanges && inputs) {\r\n const changeEventArgs = Object.keys(inputs).reduce((changes: SimpleChanges, key: string) => {\r\n const inputValue = (inputs as { [key: string]: unknown })[key];\r\n changes[key] = new SimpleChange(undefined, inputValue, true);\r\n return changes;\r\n }, {} as SimpleChanges);\r\n\r\n onChangeComponent.ngOnChanges(changeEventArgs);\r\n }\r\n }\r\n\r\n private fireOutputComponentEvents<TComponent>(\r\n instance: TComponent & object,\r\n inputs: ExtendedComponent<TComponent>\r\n ) {\r\n const outputs = Object.keys(inputs).filter((key) => {\r\n const emitter = (instance as Record<string, any>)[key];\r\n return emitter instanceof EventEmitter;\r\n });\r\n\r\n const subscriptionStoreKey = '__outputSubscriptions__';\r\n if (!(subscriptionStoreKey in instance)) {\r\n (instance as any)[subscriptionStoreKey] = new Map<string, Subscription>();\r\n }\r\n const subscriptions = (instance as any)[subscriptionStoreKey] as Map<string, Subscription>;\r\n\r\n for (const outputKey of outputs) {\r\n const eventEmitter = (instance as Record<string, any>)[outputKey] as EventEmitter<any>;\r\n const callback = inputs[outputKey] as (value: any) => void;\r\n\r\n if (eventEmitter && typeof callback === 'function') {\r\n if (subscriptions.has(outputKey)) {\r\n subscriptions.get(outputKey)!.unsubscribe();\r\n }\r\n\r\n const subscription = eventEmitter.subscribe((value: any) => callback(value));\r\n subscriptions.set(outputKey, subscription);\r\n }\r\n }\r\n }\r\n}\r\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n Injector,\n Input,\n OnChanges,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ExtendedComponent } from '@verisoft/ui-core';\nimport { DynamicComponentFactoryService } from './dynamic-component-factory.service';\n\n@Component({\n selector: 'v-dynamic-component',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-container #dynamicContainer></ng-container>`,\n})\nexport class DynamicComponent<TComponent> implements AfterViewInit, OnChanges {\n @Input() componentType!: Type<TComponent>;\n\n @Input() data!: ExtendedComponent<TComponent>;\n\n @ViewChild('dynamicContainer', { read: ViewContainerRef, static: true })\n container!: ViewContainerRef;\n\n private factoryServices = inject(DynamicComponentFactoryService);\n\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private injector = inject(Injector);\n\n ngOnChanges(): void {\n this.createComponent();\n }\n\n ngAfterViewInit(): void {\n this.createComponent();\n this.changeDetectorRef.detectChanges();\n }\n\n private createComponent() {\n if (this.container) {\n this.factoryServices.createDynamicComponent(\n this.componentType,\n this.container,\n this.data,\n this.injector\n );\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n OnInit,\n} from '@angular/core';\nimport { PAGE_HEADER_COMPONENT_TOKEN, PageHeaderCore, PageHeaderCoreComponent } from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { ButtonComponent } from '../button';\nimport { ActionButtonGroupComponent } from '../shared-components';\n\n@Component({\n selector: 'v-page-header',\n imports: [CommonModule, ButtonComponent],\n templateUrl: './page-header.component.html',\n styleUrl: './page-header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: PAGE_HEADER_COMPONENT_TOKEN, useExisting: PageHeaderComponent },\n ]\n})\nexport class PageHeaderComponent\n extends PageHeaderCoreComponent\n implements OnInit, PageHeaderCore\n{\n @ContentChild(ActionButtonGroupComponent)\n buttonGroup?: ActionButtonGroupComponent;\n \n icons = Icons;\n}\n","<div\n class=\"v-page-header d-block d-md-flex px-3 w-100 gap-0 gap-md-4 align-items-center text-center text-md-start\"\n>\n <v-button\n *ngIf=\"showBackButton\"\n size=\"small\"\n [icon]=\"icons.arrowLeft\"\n label=\"Back\"\n [outlined]=\"true\"\n (click)=\"locationBack()\"\n ></v-button>\n <div\n class=\"align-items-center justify-content-center justify-content-md-start gap-2 w-100 d-flex\"\n >\n <h1 class=\"text-primary m-0\" [innerText]=\"title\"></h1>\n <div\n *ngIf=\"subtitle\"\n class=\"d-flex gap-2 align-items-center text-center text-md-start\"\n >\n <h1 class=\"text-default m-0\" [innerText]=\"'-'\"></h1>\n <h1 class=\"text-default\" [innerText]=\"subtitle\"></h1>\n </div>\n </div>\n <div\n class=\"align-content-center page-header-action-buttons justify-content-center w-100\"\n >\n <div *ngIf=\"buttonGroup\">\n <ng-content [select]=\"buttonGroup\"></ng-content>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n StepperCore,\n STEPPER_COMPONENT_TOKEN,\n StepperItem,\n LayoutType,\n LayoutTypeType,\n FieldSizeType,\n FieldSize\n} from '@verisoft/ui-core';\nimport { StepperModule } from 'primeng/stepper';\nimport { Icons } from '../../icons';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'v-stepper',\n imports: [CommonModule, ButtonComponent, StepperModule],\n templateUrl: './stepper.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: STEPPER_COMPONENT_TOKEN, useExisting: StepperComponent },\n ]\n})\nexport class StepperComponent \n implements StepperCore\n{\n @Input() items!: StepperItem[];\n\n icons = Icons;\n @Input() prefix!: string;\n @Input() label!: string;\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() layout: LayoutTypeType = LayoutType.horizontal;\n @Input() icon!: string;\n @Input() activeIndex = 0;\n @Input() annotation!: string;\n @Output() activeIndexChange = new EventEmitter<number>();\n}\n","<div class=\"v-stepper\">\n <p-stepper>\n <p-step-list>\n @for(item of items; track item; let idx = $index) {\n <p-step [value]=\"idx\">{{ item.header }}</p-step>\n }\n </p-step-list>\n <p-step-panels>\n @for(item of items; track item; let idx = $index) {\n <p-step-panel [value]=\"idx\">\n <ng-template pTemplate=\"content\" let-nextCallback=\"nextCallback\" let-prevCallback=\"prevCallback\"\n let-index=\"index\">\n <ng-container *ngIf=\"item.template && item.template.elementRef\">\n <ng-template *ngTemplateOutlet=\"\n item.template;\n context: { item: item, index: index }\n \" />\n </ng-container>\n <div class=\"d-flex pt-4 justify-content-between\">\n <v-button *ngIf=\"index > 0\" label=\"Back\" [icon]=\"icons.arrowLeft\" size=\"small\" [outlined]=\"true\"\n (click)=\"prevCallback.emit()\" />\n\n <v-button *ngIf=\"index < items.length - 1\" label=\"Next\" size=\"small\" [icon]=\"icons.arrowRight\"\n iconPos=\"right\" (click)=\"nextCallback.emit()\" />\n </div>\n </ng-template>\n </p-step-panel>\n }\n </p-step-panels>\n </p-stepper>\n</div>","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseFormInputComponent, BaseInputControls, SLIDER_COMPONENT_TOKEN, SliderCore } from '@verisoft/ui-core';\nimport { SliderModule } from 'primeng/slider';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-slider',\n imports: [\n CommonModule,\n SliderModule,\n ReactiveFormsModule,\n FormFieldComponent,\n ErrorComponent\n ],\n templateUrl: './slider.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => SliderComponent),\n },\n {\n provide: SLIDER_COMPONENT_TOKEN,\n useExisting: SliderComponent,\n },\n ]\n})\nexport class SliderComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, SliderCore\n{\n @Input() step = 1;\n\n @Input() min = 0;\n\n @Input() max = 100;\n\n @Input() range = false;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<div class=\"v-slider\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n >\n <p-slider\n class=\"w-100\"\n [formControl]=\"formControl\"\n [step]=\"step\"\n [range]=\"range\"\n [min]=\"min\"\n [max]=\"max\"\n />\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </v-form-field>\n</div>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport {\n CONFIRM_DIALOG_COMPONENT_TOKEN,\n ConfirmDialogCore,\n DialogData,\n DialogService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport { AvatarModule } from 'primeng/avatar';\nimport { DialogModule } from 'primeng/dialog';\nimport { takeUntil } from 'rxjs';\nimport { ButtonComponent } from '../button';\nimport { DynamicComponent } from '../shared-components';\n\n@Component({\n selector: 'v-confirm-dialog',\n imports: [\n CommonModule,\n DialogModule,\n ButtonComponent,\n AvatarModule,\n DynamicComponent,\n ],\n templateUrl: './confirm-dialog.component.html',\n styleUrl: './confirm-dialog.component.scss',\n providers: [\n {\n provide: CONFIRM_DIALOG_COMPONENT_TOKEN,\n useExisting: ConfirmDialogComponent,\n },\n ]\n})\nexport class ConfirmDialogComponent\n extends UnsubscribeComponent\n implements OnInit, ConfirmDialogCore\n{\n constructor(\n private readonly dialogService: DialogService,\n private readonly cdr: ChangeDetectorRef\n ) {\n super();\n }\n\n visible = false;\n protected closable = false;\n data!: DialogData;\n\n ngOnInit(): void {\n this.dialogService.showEvent\n .pipe(takeUntil(this.destroyed$))\n .subscribe((x: DialogData) => {\n this.data = x;\n this.visible = true;\n this.cdr.detectChanges();\n });\n }\n\n protected dialogClick(confirm: boolean) {\n const { confirmButtonFn, cancelButtonFn } = this.data;\n\n if (confirm && confirmButtonFn) {\n confirmButtonFn();\n }\n\n if (!confirm && cancelButtonFn) {\n cancelButtonFn();\n }\n\n this.visible = false;\n this.cdr.detectChanges();\n }\n}\n","<div class=\"v-dialog d-flex justify-content-center\" *ngIf=\"data\">\n <p-dialog\n [(visible)]=\"visible\"\n [modal]=\"true\"\n [closable]=\"closable\"\n [style]=\"{ width: '25rem' }\"\n >\n <ng-template pTemplate=\"header\">\n <div\n class=\"v-dialog-header w-100 align-items-center d-flex justify-content-center\"\n >\n <h1 class=\"text-center me-3\">{{ data.title }}</h1>\n <i class=\"{{ data.headerIcon }} text-{{ data.severity }}\"></i>\n </div>\n </ng-template>\n <div class=\"v-dialog-content w-100 align-items-center text-center\">\n @if (data.innerHTML) {\n <div [innerHTML]=\"data.innerHTML\"></div>\n } @else if (data.componentType) {\n <v-dynamic-component\n [componentType]=\"data.componentType\"\n [data]=\"$any(data.data)\"\n ></v-dynamic-component>\n }\n </div>\n <ng-template pTemplate=\"footer\">\n <div\n class=\"v-dialog-footer d-flex justify-content-center w-100 gap-3\"\n [ngClass]=\"{\n 'flex-row-reverse': data.buttonOrder === 'cancel-confirm'\n }\"\n >\n <v-button\n [label]=\"data.confirmButtonText ?? 'Yes'\"\n [severity]=\"data.severity\"\n (click)=\"data.confirmButtonFn ? dialogClick(true) : (visible = false)\"\n />\n <v-button\n *ngIf=\"data.showCancelButton && data.severity !== 'success'\"\n [label]=\"data.cancelButtonText ?? 'No'\"\n [outlined]=\"true\"\n [severity]=\"'secondary'\"\n (click)=\"data.cancelButtonFn ? dialogClick(false) : (visible = false)\"\n />\n </div>\n </ng-template>\n </p-dialog>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseFormInputComponent, BaseInputControls, SWITCH_COMPONENT_TOKEN, SwitchCore } from '@verisoft/ui-core';\nimport { InputSwitchModule } from 'primeng/inputswitch';\nimport { v4 as uuidv4 } from 'uuid';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-switch',\n imports: [\n CommonModule,\n InputSwitchModule,\n ReactiveFormsModule,\n FormFieldComponent,\n ErrorComponent\n ],\n templateUrl: './switch.component.html',\n styleUrl: './switch.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => SwitchComponent),\n multi: true,\n },\n {\n provide: SWITCH_COMPONENT_TOKEN,\n useExisting: SwitchComponent,\n },\n ]\n})\nexport class SwitchComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, SwitchCore\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n id = uuidv4();\n}\n","<div class=\"v-switch d-flex align-items-center\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <p-inputSwitch\n [formControl]=\"formControl\"\n [required]=\"isRequired()\"\n [title]=\"label\"\n [readonly]=\"readonly\"\n [inputId]=\"id\"\n /><v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </v-form-field>\n</div>\n","import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { catchError, Observable, throwError } from 'rxjs';\nimport { SnackbarService } from '../components/snackbar';\n\n@Injectable()\nexport class HttpErrorMessageInterceptor implements HttpInterceptor {\n constructor(private readonly snackbarService: SnackbarService) {}\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n return next.handle(req).pipe(\n catchError((errorResponse: HttpErrorResponse) => {\n if (!errorResponse.ok) {\n if (errorResponse.status === 403) {\n this.snackbarService.showError('Unauthorized request');\n console.error('Unauthorized request');\n } else {\n this.snackbarService.showError(errorResponse.message);\n console.error(errorResponse);\n }\n }\n\n return throwError(() => errorResponse);\n })\n );\n }\n}\n","import { Component, Input, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'v-tab-view-item',\n template: `<ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>`,\n\n})\nexport class TabViewItemComponent {\n @ViewChild('contentTemplate', { static: true }) contentTemplate!: TemplateRef<any>;\n\n @Input() title!: string;\n\n @Input() url?: string;\n\n @Input() icon?: string;\n\n @Input() disabled?: boolean;\n\n @Input() content?: string;\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport { RouterLink, RouterOutlet } from '@angular/router';\nimport { TAB_VIEW_COMPONENT_TOKEN, TabViewCore, TabViewItemCore } from '@verisoft/ui-core';\nimport { MenuItem } from 'primeng/api';\nimport { TabsModule } from 'primeng/tabs';\nimport { TabViewItemComponent } from './tab-view-item.component';\n@Component({\n selector: 'v-tab-view',\n templateUrl: './tab-view.component.html',\n imports: [RouterOutlet, RouterLink, TabsModule, NgTemplateOutlet],\n providers: [\n { provide: TAB_VIEW_COMPONENT_TOKEN, useExisting: TabViewComponent }],\n\n})\nexport class TabViewComponent\n implements AfterContentInit, TabViewCore {\n @ContentChildren(TabViewItemComponent)\n children!: QueryList<TabViewItemComponent>;\n\n @Input() items: TabViewItemCore[] = [];\n\n @Input() useRouting = false;\n\n @Input() activeIndex = 0;\n\n @Output() activeIndexChange = new EventEmitter<number>();\n\n mergedItems: TabViewItemCore[] = [];\n\n ngAfterContentInit(): void {\n this.mergedItems = [...this.items, ...this.children.toArray()];\n }\n\n protected activeItemChanged(item: MenuItem | number): void {\n let index: number;\n if (typeof item === 'number') {\n index = item;\n } else {\n index = this.items.indexOf(item as TabViewItemCore);\n }\n\n if (index != -1) {\n this.activeIndexChange.emit(index);\n }\n }\n}\n","<div class=\"v-tab-view\">\n @if (useRouting) {\n <p-tabs [value]=\"activeIndex\">\n <p-tablist>\n @for(tab of mergedItems; track tab.url; let index = $index){\n <p-tab [value]=\"index\" [routerLink]=\"tab.url\" (valueChange)=\"activeItemChanged(index)\">\n @if (tab.icon) {\n <i [class]=\"tab.icon\"></i>\n }\n <span>{{ tab.title }}</span>\n </p-tab>\n }\n </p-tablist>\n </p-tabs>\n <router-outlet></router-outlet>\n } @else {\n <p-tabs [value]=\"activeIndex\">\n <p-tablist>\n @for (tab of mergedItems; track tab; let index = $index) {\n <p-tab [value]=\"index\" (valueChange)=\"activeItemChanged(index)\">\n @if (tab.icon) {\n <i [class]=\"tab.icon\"></i>\n }\n <span>{{ tab.title }}</span>\n </p-tab>\n }\n </p-tablist>\n <p-tabpanels>\n @for (tab of mergedItems; track tab; let index = $index) {\n <p-tabpanel [value]=\"index\">\n @if (tab.contentTemplate){\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n } @else if (tab.content) {\n {{ tab.content }}\n }\n </p-tabpanel>\n }\n </p-tabpanels>\n </p-tabs>\n }\n</div>","import { Component, input } from \"@angular/core\";\nimport { ControlSeverityType, FieldSizeType, PositionType, TooltipCore } from \"@verisoft/ui-core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\n@Component({\n selector: \"v-tooltip\",\n templateUrl: './tooltip.component.html',\n imports: [\n TooltipModule,\n ]\n})\nexport class TooltipComponent implements TooltipCore {\n color = input<ControlSeverityType | undefined>(undefined);\n position = input<PositionType | undefined>(undefined);\n size = input<FieldSizeType | undefined>(undefined);\n tooltipText = input<string | undefined>(undefined);\n}\n","<div class=\"d-inline-block v-tooltip\" [pTooltip]=\"tooltipText()\" [tooltipPosition]=\"position()\">\n <ng-content></ng-content>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i2","i4","i1","i1.HeaderProviderService","i5","i1.SnackbarService","uuidv4"],"mappings":"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"}
|