@verisoft/ui-primeng 20.1.0 → 20.1.2

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.
Files changed (219) hide show
  1. package/fesm2022/verisoft-ui-primeng.mjs +3003 -0
  2. package/fesm2022/verisoft-ui-primeng.mjs.map +1 -0
  3. package/index.d.ts +752 -0
  4. package/package.json +18 -6
  5. package/.eslintrc.json +0 -43
  6. package/assets/.gitkeep +0 -0
  7. package/jest.config.ts +0 -22
  8. package/ng-package.json +0 -14
  9. package/project.json +0 -36
  10. package/src/index.ts +0 -34
  11. package/src/lib/components/breadcrumb/breadcrumb.component.html +0 -11
  12. package/src/lib/components/breadcrumb/breadcrumb.component.scss +0 -18
  13. package/src/lib/components/breadcrumb/breadcrumb.component.spec.ts +0 -21
  14. package/src/lib/components/breadcrumb/breadcrumb.component.stories.ts +0 -36
  15. package/src/lib/components/breadcrumb/breadcrumb.component.ts +0 -27
  16. package/src/lib/components/breadcrumb/breadcrumb.pipe.ts +0 -13
  17. package/src/lib/components/breadcrumb/index.ts +0 -1
  18. package/src/lib/components/button/button-severity.pipe.ts +0 -20
  19. package/src/lib/components/button/button.component.html +0 -20
  20. package/src/lib/components/button/button.component.scss +0 -0
  21. package/src/lib/components/button/button.component.spec.ts +0 -21
  22. package/src/lib/components/button/button.component.ts +0 -49
  23. package/src/lib/components/button/index.ts +0 -1
  24. package/src/lib/components/calendar/calendar.component.html +0 -53
  25. package/src/lib/components/calendar/calendar.component.scss +0 -0
  26. package/src/lib/components/calendar/calendar.component.spec.ts +0 -21
  27. package/src/lib/components/calendar/calendar.component.ts +0 -70
  28. package/src/lib/components/calendar/index.ts +0 -1
  29. package/src/lib/components/checkbox/checkbox.component.html +0 -20
  30. package/src/lib/components/checkbox/checkbox.component.scss +0 -15
  31. package/src/lib/components/checkbox/checkbox.component.spec.ts +0 -21
  32. package/src/lib/components/checkbox/checkbox.component.stories.ts +0 -72
  33. package/src/lib/components/checkbox/checkbox.component.ts +0 -46
  34. package/src/lib/components/checkbox/index.ts +0 -1
  35. package/src/lib/components/confirm-dialog/confirm-dialog.component.html +0 -51
  36. package/src/lib/components/confirm-dialog/confirm-dialog.component.scss +0 -3
  37. package/src/lib/components/confirm-dialog/confirm-dialog.component.spec.ts +0 -21
  38. package/src/lib/components/confirm-dialog/confirm-dialog.component.stories.ts +0 -74
  39. package/src/lib/components/confirm-dialog/confirm-dialog.component.ts +0 -73
  40. package/src/lib/components/confirm-dialog/index.ts +0 -1
  41. package/src/lib/components/dropdown/dropdown.component.html +0 -93
  42. package/src/lib/components/dropdown/dropdown.component.scss +0 -16
  43. package/src/lib/components/dropdown/dropdown.component.spec.ts +0 -21
  44. package/src/lib/components/dropdown/dropdown.component.ts +0 -139
  45. package/src/lib/components/dropdown/index.ts +0 -1
  46. package/src/lib/components/dropdown-button/dropdown-button.component.html +0 -1
  47. package/src/lib/components/dropdown-button/dropdown-button.component.ts +0 -20
  48. package/src/lib/components/dropdown-button/index.ts +0 -1
  49. package/src/lib/components/errors/error.component.html +0 -7
  50. package/src/lib/components/errors/error.component.scss +0 -3
  51. package/src/lib/components/errors/error.component.ts +0 -34
  52. package/src/lib/components/errors/index.ts +0 -1
  53. package/src/lib/components/feature-list/directives/feature-list-column.directive.ts +0 -32
  54. package/src/lib/components/feature-list/directives/feature-list-filter-field.directive.ts +0 -8
  55. package/src/lib/components/feature-list/feature-list-filter.pipe.ts +0 -21
  56. package/src/lib/components/feature-list/feature-list-page.component.ts +0 -32
  57. package/src/lib/components/feature-list/feature-list-page.model.ts +0 -42
  58. package/src/lib/components/feature-list/feature-list.component.html +0 -59
  59. package/src/lib/components/feature-list/feature-list.component.scss +0 -10
  60. package/src/lib/components/feature-list/feature-list.component.ts +0 -341
  61. package/src/lib/components/feature-list/index.ts +0 -5
  62. package/src/lib/components/filter/directives/filter-field.directive.ts +0 -34
  63. package/src/lib/components/filter/filter.component.html +0 -68
  64. package/src/lib/components/filter/filter.component.scss +0 -0
  65. package/src/lib/components/filter/filter.component.spec.ts +0 -21
  66. package/src/lib/components/filter/filter.component.stories.ts +0 -23
  67. package/src/lib/components/filter/filter.component.ts +0 -281
  68. package/src/lib/components/filter/filter.model.ts +0 -18
  69. package/src/lib/components/filter/index.ts +0 -2
  70. package/src/lib/components/form-field/form-field.component.html +0 -42
  71. package/src/lib/components/form-field/form-field.component.scss +0 -0
  72. package/src/lib/components/form-field/form-field.component.spec.ts +0 -21
  73. package/src/lib/components/form-field/form-field.component.stories.ts +0 -69
  74. package/src/lib/components/form-field/form-field.component.ts +0 -37
  75. package/src/lib/components/form-field/index.ts +0 -1
  76. package/src/lib/components/header/header.component.html +0 -84
  77. package/src/lib/components/header/header.component.scss +0 -0
  78. package/src/lib/components/header/header.component.spec.ts +0 -21
  79. package/src/lib/components/header/header.component.stories.ts +0 -24
  80. package/src/lib/components/header/header.component.ts +0 -65
  81. package/src/lib/components/header/index.ts +0 -2
  82. package/src/lib/components/header/services/header-provider.service.ts +0 -15
  83. package/src/lib/components/icon/icon.component.html +0 -2
  84. package/src/lib/components/icon/icon.component.scss +0 -51
  85. package/src/lib/components/icon/icon.component.ts +0 -86
  86. package/src/lib/components/icon/index.ts +0 -2
  87. package/src/lib/components/input-group/index.ts +0 -1
  88. package/src/lib/components/input-group/input-group.component.html +0 -34
  89. package/src/lib/components/input-group/input-group.component.spec.ts +0 -21
  90. package/src/lib/components/input-group/input-group.component.ts +0 -58
  91. package/src/lib/components/loader/index.ts +0 -1
  92. package/src/lib/components/loader/loader.component.html +0 -5
  93. package/src/lib/components/loader/loader.component.scss +0 -0
  94. package/src/lib/components/loader/loader.component.spec.ts +0 -21
  95. package/src/lib/components/loader/loader.component.ts +0 -16
  96. package/src/lib/components/multiselect/index.ts +0 -1
  97. package/src/lib/components/multiselect/multiselect.component.html +0 -67
  98. package/src/lib/components/multiselect/multiselect.component.scss +0 -0
  99. package/src/lib/components/multiselect/multiselect.component.spec.ts +0 -21
  100. package/src/lib/components/multiselect/multiselect.component.ts +0 -120
  101. package/src/lib/components/number-input/index.ts +0 -1
  102. package/src/lib/components/number-input/number-input.component.html +0 -22
  103. package/src/lib/components/number-input/number-input.component.spec.ts +0 -21
  104. package/src/lib/components/number-input/number-input.component.ts +0 -55
  105. package/src/lib/components/page-header/index.ts +0 -1
  106. package/src/lib/components/page-header/page-header.component.html +0 -35
  107. package/src/lib/components/page-header/page-header.component.scss +0 -0
  108. package/src/lib/components/page-header/page-header.component.spec.ts +0 -21
  109. package/src/lib/components/page-header/page-header.component.ts +0 -31
  110. package/src/lib/components/password/index.ts +0 -1
  111. package/src/lib/components/password/password.component.html +0 -24
  112. package/src/lib/components/password/password.component.scss +0 -0
  113. package/src/lib/components/password/password.component.spec.ts +0 -21
  114. package/src/lib/components/password/password.component.ts +0 -56
  115. package/src/lib/components/radiobutton/index.ts +0 -1
  116. package/src/lib/components/radiobutton/radiobutton.component.html +0 -34
  117. package/src/lib/components/radiobutton/radiobutton.component.scss +0 -6
  118. package/src/lib/components/radiobutton/radiobutton.component.spec.ts +0 -21
  119. package/src/lib/components/radiobutton/radiobutton.component.stories.ts +0 -71
  120. package/src/lib/components/radiobutton/radiobutton.component.ts +0 -61
  121. package/src/lib/components/section/index.ts +0 -1
  122. package/src/lib/components/section/section.component.html +0 -25
  123. package/src/lib/components/section/section.component.scss +0 -0
  124. package/src/lib/components/section/section.component.spec.ts +0 -21
  125. package/src/lib/components/section/section.component.ts +0 -31
  126. package/src/lib/components/shared-components/.eslintrc.json +0 -42
  127. package/src/lib/components/shared-components/action-button-group/action-button-group.component.html +0 -25
  128. package/src/lib/components/shared-components/action-button-group/action-button-group.component.scss +0 -0
  129. package/src/lib/components/shared-components/action-button-group/action-button-group.component.spec.ts +0 -21
  130. package/src/lib/components/shared-components/action-button-group/action-button-group.component.ts +0 -111
  131. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.html +0 -10
  132. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.scss +0 -0
  133. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.spec.ts +0 -21
  134. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.ts +0 -69
  135. package/src/lib/components/shared-components/action-button-group/index.ts +0 -2
  136. package/src/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.ts +0 -142
  137. package/src/lib/components/shared-components/dynamic-component/dynamic-component.component.ts +0 -56
  138. package/src/lib/components/shared-components/dynamic-component/index.ts +0 -2
  139. package/src/lib/components/shared-components/generic-field/generic-field.component.html +0 -98
  140. package/src/lib/components/shared-components/generic-field/generic-field.component.spec.ts +0 -21
  141. package/src/lib/components/shared-components/generic-field/generic-field.component.ts +0 -90
  142. package/src/lib/components/shared-components/generic-field/index.ts +0 -1
  143. package/src/lib/components/shared-components/generic-form/generic-form.component.html +0 -46
  144. package/src/lib/components/shared-components/generic-form/generic-form.component.spec.ts +0 -21
  145. package/src/lib/components/shared-components/generic-form/generic-form.component.ts +0 -56
  146. package/src/lib/components/shared-components/generic-form/generic-form.model.spec.ts +0 -82
  147. package/src/lib/components/shared-components/generic-form/generic-form.model.ts +0 -68
  148. package/src/lib/components/shared-components/generic-form/index.ts +0 -2
  149. package/src/lib/components/shared-components/index.ts +0 -4
  150. package/src/lib/components/side-menu/index.ts +0 -2
  151. package/src/lib/components/side-menu/side-menu.component.html +0 -53
  152. package/src/lib/components/side-menu/side-menu.component.scss +0 -0
  153. package/src/lib/components/side-menu/side-menu.component.spec.ts +0 -21
  154. package/src/lib/components/side-menu/side-menu.component.ts +0 -96
  155. package/src/lib/components/side-menu/side-menu.module.ts +0 -66
  156. package/src/lib/components/slider/index.ts +0 -1
  157. package/src/lib/components/slider/slider.component.html +0 -19
  158. package/src/lib/components/slider/slider.component.spec.ts +0 -21
  159. package/src/lib/components/slider/slider.component.ts +0 -56
  160. package/src/lib/components/snackbar/index.ts +0 -2
  161. package/src/lib/components/snackbar/services/snackbar.service.ts +0 -45
  162. package/src/lib/components/snackbar/snackbar.component.html +0 -3
  163. package/src/lib/components/snackbar/snackbar.component.scss +0 -0
  164. package/src/lib/components/snackbar/snackbar.component.spec.ts +0 -21
  165. package/src/lib/components/snackbar/snackbar.component.stories.ts +0 -70
  166. package/src/lib/components/snackbar/snackbar.component.ts +0 -25
  167. package/src/lib/components/stepper/index.ts +0 -1
  168. package/src/lib/components/stepper/stepper.component.html +0 -35
  169. package/src/lib/components/stepper/stepper.component.spec.ts +0 -21
  170. package/src/lib/components/stepper/stepper.component.ts +0 -39
  171. package/src/lib/components/switch/index.ts +0 -1
  172. package/src/lib/components/switch/switch.component.html +0 -18
  173. package/src/lib/components/switch/switch.component.scss +0 -0
  174. package/src/lib/components/switch/switch.component.spec.ts +0 -21
  175. package/src/lib/components/switch/switch.component.stories.ts +0 -65
  176. package/src/lib/components/switch/switch.component.ts +0 -52
  177. package/src/lib/components/tab-view/index.ts +0 -2
  178. package/src/lib/components/tab-view/tab-view-item.component.ts +0 -22
  179. package/src/lib/components/tab-view/tab-view.component.html +0 -41
  180. package/src/lib/components/tab-view/tab-view.component.ts +0 -55
  181. package/src/lib/components/table/index.ts +0 -1
  182. package/src/lib/components/table/table-filter.pipe.ts +0 -59
  183. package/src/lib/components/table/table.component.html +0 -127
  184. package/src/lib/components/table/table.component.scss +0 -11
  185. package/src/lib/components/table/table.component.spec.ts +0 -21
  186. package/src/lib/components/table/table.component.stories.ts +0 -55
  187. package/src/lib/components/table/table.component.ts +0 -288
  188. package/src/lib/components/table/table.models.ts +0 -26
  189. package/src/lib/components/tag/index.ts +0 -2
  190. package/src/lib/components/tag/tag.component.html +0 -12
  191. package/src/lib/components/tag/tag.component.scss +0 -33
  192. package/src/lib/components/tag/tag.component.ts +0 -83
  193. package/src/lib/components/textarea/index.ts +0 -1
  194. package/src/lib/components/textarea/textarea.component.html +0 -40
  195. package/src/lib/components/textarea/textarea.component.scss +0 -5
  196. package/src/lib/components/textarea/textarea.component.spec.ts +0 -21
  197. package/src/lib/components/textarea/textarea.component.stories.ts +0 -98
  198. package/src/lib/components/textarea/textarea.component.ts +0 -62
  199. package/src/lib/components/textfield/index.ts +0 -1
  200. package/src/lib/components/textfield/textfield.component.html +0 -82
  201. package/src/lib/components/textfield/textfield.component.scss +0 -23
  202. package/src/lib/components/textfield/textfield.component.spec.ts +0 -21
  203. package/src/lib/components/textfield/textfield.component.stories.ts +0 -85
  204. package/src/lib/components/textfield/textfield.component.ts +0 -68
  205. package/src/lib/components/tooltip/index.ts +0 -1
  206. package/src/lib/components/tooltip/tooltip.component.html +0 -3
  207. package/src/lib/components/tooltip/tooltip.component.ts +0 -17
  208. package/src/lib/icons.ts +0 -36
  209. package/src/lib/interceptors/http-error-message.interceptor.ts +0 -35
  210. package/src/lib/pages/not-found-page/not-found-page.component.html +0 -26
  211. package/src/lib/pages/not-found-page/not-found-page.component.scss +0 -0
  212. package/src/lib/pages/not-found-page/not-found-page.component.spec.ts +0 -21
  213. package/src/lib/pages/not-found-page/not-found-page.component.ts +0 -16
  214. package/src/tab-view.ts +0 -1
  215. package/src/test-setup.ts +0 -8
  216. package/tsconfig.json +0 -29
  217. package/tsconfig.lib.json +0 -18
  218. package/tsconfig.lib.prod.json +0 -9
  219. package/tsconfig.spec.json +0 -16
@@ -1,21 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { GenericFormComponent } from './generic-form.component';
3
-
4
- describe('GenericFormComponent', () => {
5
- let component: GenericFormComponent;
6
- let fixture: ComponentFixture<GenericFormComponent>;
7
-
8
- beforeEach(async () => {
9
- await TestBed.configureTestingModule({
10
- imports: [GenericFormComponent],
11
- }).compileComponents();
12
-
13
- fixture = TestBed.createComponent(GenericFormComponent);
14
- component = fixture.componentInstance;
15
- fixture.detectChanges();
16
- });
17
-
18
- it('should create', () => {
19
- expect(component).toBeTruthy();
20
- });
21
- });
@@ -1,56 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- Input,
6
- OnChanges,
7
- SimpleChanges,
8
- } from '@angular/core';
9
- import { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';
10
- import { TranslateModule } from '@ngx-translate/core';
11
- import { GenericFieldDefinition } from '@verisoft/ui-core';
12
- import { GenericFieldComponent } from '../generic-field';
13
- import {
14
- generateFormGroup,
15
- getColumnClass,
16
- } from './generic-form.model';
17
-
18
- @Component({
19
- selector: 'v-generic-form',
20
- imports: [
21
- CommonModule,
22
- GenericFieldComponent,
23
- ReactiveFormsModule,
24
- TranslateModule,
25
- ],
26
- templateUrl: './generic-form.component.html',
27
- changeDetection: ChangeDetectionStrategy.OnPush
28
- })
29
- export class GenericFormComponent implements OnChanges {
30
- @Input() formGroup?: UntypedFormGroup;
31
-
32
- @Input() fields?: GenericFieldDefinition[];
33
-
34
- @Input() columns?: number;
35
-
36
- @Input() showAsRow!: boolean;
37
-
38
- formGroupComputed!: UntypedFormGroup;
39
-
40
- columnClass?: string;
41
-
42
- ngOnChanges(changes: SimpleChanges): void {
43
- if (changes['fields'] || changes['formGroup']) {
44
- this.formGroupComputed = generateFormGroup(
45
- this.fields,
46
- this.formGroupComputed,
47
- this.formGroup,
48
- !!changes['formGroup']
49
- );
50
- }
51
-
52
- if (changes['columns']) {
53
- this.columnClass = getColumnClass(this.columns);
54
- }
55
- }
56
- }
@@ -1,82 +0,0 @@
1
- import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
2
- import { generateFormGroup, GenericFieldDefinition } from './generic-form.model';
3
-
4
- describe('GenericFormModel', () => {
5
- describe('generateFormGroup', () => {
6
- const fields = [{ name: 'name' }, { name: 'age' }];
7
-
8
- const containsField = (formGroup: UntypedFormGroup, field: GenericFieldDefinition) => expect(formGroup.get(field.name)).toBeDefined();
9
-
10
- test('Should create a new group when no group was provided', () => {
11
- const formGroup = generateFormGroup([], undefined, undefined, false);
12
-
13
- expect(formGroup).toBeDefined();
14
- });
15
-
16
- test('Should create a new group when no fields are provided', () => {
17
- const formGroup = generateFormGroup(
18
- undefined,
19
- undefined,
20
- undefined,
21
- false
22
- );
23
-
24
- expect(formGroup).toBeDefined();
25
- });
26
-
27
- test('Should create a new group with defined control when fields are provided', () => {
28
- const formGroup = generateFormGroup(fields, undefined, undefined, false);
29
-
30
- expect(formGroup).toBeDefined();
31
- containsField(formGroup, fields[0]);
32
- containsField(formGroup, fields[1]);
33
- });
34
-
35
- test('Should used input group and creates control when fields are provided and formgroup does not have a controls', () => {
36
- const inputGroup = new UntypedFormGroup({});
37
-
38
- const formGroup = generateFormGroup(fields, undefined, inputGroup, false);
39
-
40
- expect(formGroup).toBe(inputGroup);
41
- containsField(formGroup, fields[0]);
42
- });
43
-
44
- test('Should not remove control from input group when input group is provided and fields does not contain control definition.', () => {
45
- const inputGroup = new UntypedFormGroup({
46
- student: new UntypedFormControl(),
47
- });
48
-
49
- const formGroup = generateFormGroup(fields, undefined, inputGroup, false);
50
-
51
- expect(formGroup.get('student')).toBeDefined();
52
- });
53
-
54
- test('Should use existing group when input group is provided but have already defined group.', () => {
55
- const inputGroup = new UntypedFormGroup({
56
- student: new UntypedFormControl(),
57
- });
58
-
59
- const lastGroup = new UntypedFormGroup({
60
- });
61
-
62
- const formGroup = generateFormGroup(fields, lastGroup, inputGroup, false);
63
-
64
- expect(formGroup).toBe(lastGroup);
65
- containsField(formGroup, fields[0]);
66
- });
67
-
68
- test('Should use existing a new input group when last form group exists, but input group was changed.', () => {
69
- const inputGroup = new UntypedFormGroup({
70
- student: new UntypedFormControl(),
71
- });
72
-
73
- const lastGroup = new UntypedFormGroup({
74
- });
75
-
76
- const formGroup = generateFormGroup(fields, lastGroup, inputGroup, true);
77
-
78
- expect(formGroup).toBe(inputGroup);
79
- containsField(formGroup, fields[0]);
80
- });
81
- });
82
- });
@@ -1,68 +0,0 @@
1
- import {
2
- UntypedFormControl,
3
- UntypedFormGroup,
4
- } from '@angular/forms';
5
- import { GenericFieldDefinition } from '@verisoft/ui-core';
6
-
7
- export function generateFormGroup(
8
- fields: GenericFieldDefinition[] | undefined,
9
- lastGroupValue: UntypedFormGroup | undefined,
10
- inputGroup: UntypedFormGroup | undefined,
11
- inputGroupChanged = false
12
- ): UntypedFormGroup {
13
- const formGroup =
14
- (inputGroupChanged
15
- ? inputGroup ?? lastGroupValue
16
- : lastGroupValue ?? inputGroup) ?? new UntypedFormGroup({});
17
-
18
- fields?.forEach((field) => {
19
- const control = formGroup.get(field.name);
20
- if (!control) {
21
- formGroup.addControl(
22
- field.name,
23
- new UntypedFormControl(field.value, field.validator)
24
- );
25
- } else if (control && control.value !== field.value) {
26
- control.setValue(field.value);
27
- control.setValidators(field.validator ?? null);
28
- }
29
- else {
30
- control.setValidators(field.validator ?? null);
31
- }
32
-
33
- if (field.readonly && (control || formGroup.get(field.name))) {
34
- formGroup.get(field.name)?.disable();
35
- }
36
- });
37
- if (!inputGroupChanged) {
38
- for (const field in formGroup.controls) {
39
- const control = fields?.find((x) => x.name == field);
40
- if (!control) {
41
- formGroup.removeControl(field);
42
- }
43
- }
44
- }
45
-
46
- return formGroup;
47
- }
48
-
49
- export function getColumnClass(value?: number): string | undefined {
50
- if (!value) {
51
- return undefined;
52
- }
53
-
54
- switch (value) {
55
- case 1:
56
- return 'col-12';
57
- case 2:
58
- return 'col-12 col-md-6';
59
- case 3:
60
- return 'col-12 col-md-4';
61
- case 4:
62
- return 'col-12 col-md-3';
63
- case 6:
64
- return 'col-12 col-md-2';
65
- }
66
-
67
- return 'col-12 col-md-1';
68
- }
@@ -1,2 +0,0 @@
1
- export * from './generic-form.component';
2
- export * from './generic-form.model';
@@ -1,4 +0,0 @@
1
- export * from './action-button-group';
2
- export * from './generic-field';
3
- export * from './generic-form';
4
- export * from './dynamic-component';
@@ -1,2 +0,0 @@
1
- export * from './side-menu.module';
2
- export * from './side-menu.component';
@@ -1,53 +0,0 @@
1
- <div class="v-side-menu" #sidemenu>
2
- <div
3
- [ngClass]="
4
- (screenSizeService.isMobileBlock | async)
5
- ? 'v-side-menu-container__mobile'
6
- : 'v-side-menu-container'
7
- "
8
- >
9
- @if ((screenSizeService.isMobileBlock | async) === false) {
10
- <div class="v-side-menu-header pb-3 text-center">
11
- <div class="logo" [routerLink]="[logoRouterLink]">
12
- <img [src]="logoUrl" alt="" />
13
- </div>
14
- <hr />
15
- </div>
16
- }
17
- <div
18
- [ngClass]="{
19
- 'v-side-menu-body__mobile': screenSizeService.isMobileBlock | async,
20
- 'v-side-menu-body': (screenSizeService.isMobileBlock | async) === false
21
- }"
22
- class="text-center"
23
- >
24
- <p-tree
25
- selectionMode="single"
26
- [value]="items"
27
- (onNodeExpand)="onSelectionChange($event)"
28
- (onNodeCollapse)="onSelectionChange($event)"
29
- (onNodeSelect)="onNodeSelect($event)"
30
- >
31
- </p-tree>
32
- </div>
33
- <div
34
- class="text-center py-3 d-flex justify-content-end flex-column support"
35
- >
36
- <hr class="mx-4 divider" />
37
- <v-button
38
- class="support-button"
39
- [label]="isMinimalized ? undefined : 'Support'"
40
- severity="primary"
41
- [icon]="icons.questionCircle"
42
- ></v-button>
43
- </div>
44
- </div>
45
- @if ((screenSizeService.isMobileBlock | async) === false) {
46
- <div
47
- class="close-button"
48
- (click)="menuMinimalize(sidemenu)"
49
- >
50
- <i class="pi pi-chevron-left text-white close-icon"></i>
51
- </div>
52
- }
53
- </div>
@@ -1,21 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { SideMenuComponent } from './side-menu.component';
3
-
4
- describe('SideMenuComponent', () => {
5
- let component: SideMenuComponent;
6
- let fixture: ComponentFixture<SideMenuComponent>;
7
-
8
- beforeEach(async () => {
9
- await TestBed.configureTestingModule({
10
- imports: [SideMenuComponent],
11
- }).compileComponents();
12
-
13
- fixture = TestBed.createComponent(SideMenuComponent);
14
- component = fixture.componentInstance;
15
- fixture.detectChanges();
16
- });
17
-
18
- it('should create', () => {
19
- expect(component).toBeTruthy();
20
- });
21
- });
@@ -1,96 +0,0 @@
1
- import { AsyncPipe, NgClass } from '@angular/common';
2
- import {
3
- AfterContentInit,
4
- ChangeDetectionStrategy,
5
- Component,
6
- ElementRef,
7
- EventEmitter,
8
- inject,
9
- Input,
10
- Output,
11
- ViewChild,
12
- } from '@angular/core';
13
- import { Router, RouterModule } from '@angular/router';
14
- import { TranslateModule } from '@ngx-translate/core';
15
- import { MenuItem, ScreenSizeService, SideMenuCore, SideMenuService, UnsubscribeComponent } from '@verisoft/ui-core';
16
- import { AvatarModule } from 'primeng/avatar';
17
- import { TreeModule, TreeNodeSelectEvent } from 'primeng/tree';
18
- import { Icons } from '../../icons';
19
- import { ButtonComponent } from '../button';
20
-
21
- @Component({
22
- selector: 'v-side-menu',
23
- imports: [
24
- NgClass,
25
- AsyncPipe,
26
- TreeModule,
27
- ButtonComponent,
28
- TranslateModule,
29
- AvatarModule,
30
- RouterModule
31
- ],
32
- templateUrl: './side-menu.component.html',
33
- styleUrl: './side-menu.component.scss',
34
- changeDetection: ChangeDetectionStrategy.OnPush
35
- })
36
- export class SideMenuComponent
37
- extends UnsubscribeComponent
38
- implements SideMenuCore, AfterContentInit
39
- {
40
- @Input() items: MenuItem[] = [];
41
- @Input() logoUrl = '';
42
- @Input() userName!: string;
43
- @Input() userRole!: any | any[] | undefined;
44
- @Output() minimalized = new EventEmitter<boolean>();
45
- @Output() itemSelected = new EventEmitter<MenuItem>();
46
-
47
- @ViewChild ('sidemenu', { static: true }) menu!: ElementRef<HTMLDivElement>;
48
-
49
- menuService = inject(SideMenuService);
50
- router = inject(Router);
51
- icons = Icons;
52
-
53
- protected screenSizeService = inject(ScreenSizeService);
54
- protected logoRouterLink!: string;
55
- protected isMinimalized = false;
56
-
57
- ngAfterContentInit(): void {
58
- if (this.menuService.menuMinimalized) {
59
- this.setMenuMinimalized(this.menu);
60
- }
61
- }
62
-
63
- protected menuMinimalize(menu: HTMLDivElement): void {
64
- const audit = document.getElementsByClassName('detail-audit');
65
- if (audit.length > 0) {
66
- audit.item(0)?.classList.toggle('menu-close__audit');
67
- }
68
- if (menu) {
69
- menu.classList.toggle('menu-closed');
70
- this.isMinimalized = menu.classList.contains('menu-closed');
71
- this.menuService.saveMinimalizedState(this.isMinimalized);
72
- this.minimalized.emit(this.isMinimalized);
73
- }
74
- }
75
-
76
- onSelectionChange(event: any) {
77
- const item = event.node;
78
- if (item.label) {
79
- this.menuService.saveExpandedState(item);
80
- }
81
- }
82
-
83
- onNodeSelect(event: TreeNodeSelectEvent): void {
84
- const item = event.node as MenuItem;
85
- if (item.url) {
86
- this.router.navigateByUrl(item.url);
87
- }
88
- }
89
-
90
- private setMenuMinimalized(menu: ElementRef<HTMLDivElement>): void {
91
- if(menu) {
92
- menu.nativeElement.classList.add("menu-closed");
93
- this.minimalized.emit(true);
94
- }
95
- }
96
- }
@@ -1,66 +0,0 @@
1
- import { NgModule, ModuleWithProviders } from '@angular/core';
2
- import {
3
- MENU_TOKEN,
4
- MenuItem,
5
- SIDE_MENU_COMPONENT_TOKEN,
6
- SIDE_MENU_STATE_TOKEN,
7
- SideMenuModuleConfig,
8
- SideMenuProviderService,
9
- UnsubscribeComponent,
10
- } from '@verisoft/ui-core';
11
- import { SideMenuComponent } from './side-menu.component';
12
-
13
- @NgModule({
14
- imports: [SideMenuComponent],
15
- exports: [SideMenuComponent],
16
- providers: [
17
- SideMenuProviderService,
18
- {
19
- provide: SIDE_MENU_COMPONENT_TOKEN,
20
- useExisting: SideMenuComponent,
21
- },
22
- {
23
- provide: SIDE_MENU_STATE_TOKEN,
24
- useValue: localStorage.getItem('SideMenuStateToken') ?? {
25
- expanded: [],
26
- minimalized: false,
27
- },
28
- },
29
- ],
30
- })
31
- export class SideMenuModule extends UnsubscribeComponent {
32
- constructor(private readonly service: SideMenuProviderService) {
33
- super();
34
- }
35
-
36
- static forRoot(
37
- config?: SideMenuModuleConfig
38
- ): ModuleWithProviders<SideMenuModule> {
39
- const moduleWithProvider: ModuleWithProviders<SideMenuModule> = {
40
- ngModule: SideMenuModule,
41
- };
42
-
43
- if (config?.items) {
44
- moduleWithProvider.providers = [
45
- {
46
- provide: MENU_TOKEN,
47
- useValue: config.items,
48
- },
49
- ];
50
- }
51
-
52
- return moduleWithProvider;
53
- }
54
-
55
- static forChild(menu: MenuItem[]): ModuleWithProviders<SideMenuModule> {
56
- return {
57
- ngModule: SideMenuModule,
58
- providers: [
59
- {
60
- provide: MENU_TOKEN,
61
- useValue: menu,
62
- },
63
- ],
64
- };
65
- }
66
- }
@@ -1 +0,0 @@
1
- export * from './slider.component';
@@ -1,19 +0,0 @@
1
- <div class="v-slider">
2
- <v-form-field
3
- class="w-100"
4
- [label]="label"
5
- [tooltip]="tooltip"
6
- [required]="isRequired()"
7
- [testId]="testId"
8
- >
9
- <p-slider
10
- class="w-100"
11
- [formControl]="formControl"
12
- [step]="step"
13
- [range]="range"
14
- [min]="min"
15
- [max]="max"
16
- />
17
- <v-validation-message [ngControl]="ngControl"></v-validation-message>
18
- </v-form-field>
19
- </div>
@@ -1,21 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { SliderComponent } from './slider.component';
3
-
4
- describe('VSliderComponent', () => {
5
- let component: SliderComponent;
6
- let fixture: ComponentFixture<SliderComponent>;
7
-
8
- beforeEach(async () => {
9
- await TestBed.configureTestingModule({
10
- imports: [SliderComponent],
11
- }).compileComponents();
12
-
13
- fixture = TestBed.createComponent(SliderComponent);
14
- component = fixture.componentInstance;
15
- fixture.detectChanges();
16
- });
17
-
18
- it('should create', () => {
19
- expect(component).toBeTruthy();
20
- });
21
- });
@@ -1,56 +0,0 @@
1
-
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- forwardRef,
6
- Input,
7
- Optional,
8
- Self,
9
- } from '@angular/core';
10
- import {
11
- ControlValueAccessor,
12
- NgControl,
13
- ReactiveFormsModule,
14
- } from '@angular/forms';
15
- import { BaseFormInputComponent, BaseInputControls, SLIDER_COMPONENT_TOKEN, SliderCore } from '@verisoft/ui-core';
16
- import { SliderModule } from 'primeng/slider';
17
- import { ErrorComponent } from '../errors';
18
- import { FormFieldComponent } from '../form-field';
19
-
20
- @Component({
21
- selector: 'v-slider',
22
- imports: [
23
- SliderModule,
24
- ReactiveFormsModule,
25
- FormFieldComponent,
26
- ErrorComponent
27
- ],
28
- templateUrl: './slider.component.html',
29
- changeDetection: ChangeDetectionStrategy.OnPush,
30
- providers: [
31
- {
32
- provide: BaseInputControls,
33
- useExisting: forwardRef(() => SliderComponent),
34
- },
35
- {
36
- provide: SLIDER_COMPONENT_TOKEN,
37
- useExisting: SliderComponent,
38
- },
39
- ]
40
- })
41
- export class SliderComponent
42
- extends BaseFormInputComponent
43
- implements ControlValueAccessor, SliderCore
44
- {
45
- @Input() step = 1;
46
-
47
- @Input() min = 0;
48
-
49
- @Input() max = 100;
50
-
51
- @Input() range = false;
52
-
53
- constructor(@Optional() @Self() ngControl: NgControl) {
54
- super(ngControl);
55
- }
56
- }
@@ -1,2 +0,0 @@
1
- export * from './services/snackbar.service';
2
- export * from './snackbar.component';
@@ -1,45 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { MessageService } from 'primeng/api';
3
-
4
- @Injectable({
5
- providedIn: 'root',
6
- })
7
- export class SnackbarService {
8
- constructor(readonly messageService: MessageService) {}
9
-
10
- showSuccess(message: string, icon?: string) {
11
- this.messageService.add({
12
- severity: 'success',
13
- summary: 'Success',
14
- detail: message,
15
- icon: icon,
16
- });
17
- }
18
-
19
- showInfo(message: string, icon?: string) {
20
- this.messageService.add({
21
- severity: 'info',
22
- summary: 'Info',
23
- detail: message,
24
- icon: icon,
25
- });
26
- }
27
-
28
- showWarn(message: string, icon?: string) {
29
- this.messageService.add({
30
- severity: 'warn',
31
- summary: 'Warn',
32
- detail: message,
33
- icon: icon,
34
- });
35
- }
36
-
37
- showError(message: string, icon?: string) {
38
- this.messageService.add({
39
- severity: 'error',
40
- summary: 'Error',
41
- detail: message,
42
- icon: icon,
43
- });
44
- }
45
- }
@@ -1,3 +0,0 @@
1
- <div class="v-snackbar">
2
- <p-toast />
3
- </div>
@@ -1,21 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { SnackbarComponent } from './snackbar.component';
3
-
4
- describe('SnackbarComponent', () => {
5
- let component: SnackbarComponent;
6
- let fixture: ComponentFixture<SnackbarComponent>;
7
-
8
- beforeEach(async () => {
9
- await TestBed.configureTestingModule({
10
- imports: [SnackbarComponent],
11
- }).compileComponents();
12
-
13
- fixture = TestBed.createComponent(SnackbarComponent);
14
- component = fixture.componentInstance;
15
- fixture.detectChanges();
16
- });
17
-
18
- it('should create', () => {
19
- expect(component).toBeTruthy();
20
- });
21
- });