@verisoft/ui-core 18.7.0 → 19.0.0-1

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 (216) hide show
  1. package/README.md +7 -56
  2. package/fesm2022/verisoft-ui-core.mjs +2022 -0
  3. package/fesm2022/verisoft-ui-core.mjs.map +1 -0
  4. package/{src/index.ts → index.d.ts} +6 -6
  5. package/lib/common/angular-helper.d.ts +1 -0
  6. package/lib/common/constants.d.ts +3 -0
  7. package/lib/common/control.models.d.ts +69 -0
  8. package/lib/common/datasource-component.model.d.ts +19 -0
  9. package/{src/lib/common/deactivate-guard.model.ts → lib/common/deactivate-guard.model.d.ts} +4 -5
  10. package/lib/common/download-file.d.ts +2 -0
  11. package/lib/common/filter.d.ts +1 -0
  12. package/{src/lib/common/icons.ts → lib/common/icons.d.ts} +34 -34
  13. package/{src/lib/common/index.ts → lib/common/index.d.ts} +10 -10
  14. package/{src/lib/common/notificable-property.model.ts → lib/common/notificable-property.model.d.ts} +4 -5
  15. package/lib/common/rxjs.d.ts +2 -0
  16. package/lib/components/action-button-group/action-button-group.model.d.ts +12 -0
  17. package/lib/components/action-button-group/action-button.model.d.ts +14 -0
  18. package/{src/lib/components/action-button-group/index.ts → lib/components/action-button-group/index.d.ts} +2 -2
  19. package/lib/components/base-form/base-form-input.component.d.ts +30 -0
  20. package/lib/components/base-form/base-form.component.d.ts +50 -0
  21. package/lib/components/base-form/directives/detail-store.directive.d.ts +35 -0
  22. package/{src/lib/components/base-form/index.ts → lib/components/base-form/index.d.ts} +4 -4
  23. package/lib/components/base-form/models/base-form-input.models.d.ts +7 -0
  24. package/lib/components/base-form/models/base-form.models.d.ts +18 -0
  25. package/{src/lib/components/base-form/models/index.ts → lib/components/base-form/models/index.d.ts} +2 -2
  26. package/{src/lib/components/breadcrumb/breadcrumb.model.ts → lib/components/breadcrumb/breadcrumb.model.d.ts} +16 -21
  27. package/lib/components/breadcrumb/breadcrumb.service.d.ts +8 -0
  28. package/lib/components/breadcrumb/breadcrumbcore.component.d.ts +30 -0
  29. package/lib/components/breadcrumb/index.d.ts +3 -0
  30. package/{src/lib/components/button/button.model.ts → lib/components/button/button.model.d.ts} +17 -21
  31. package/lib/components/button/index.d.ts +1 -0
  32. package/{src/lib/components/calendar/calendar.model.ts → lib/components/calendar/calendar.model.d.ts} +12 -16
  33. package/lib/components/calendar/index.d.ts +1 -0
  34. package/lib/components/checkbox/checkbox.model.d.ts +6 -0
  35. package/lib/components/checkbox/index.d.ts +1 -0
  36. package/lib/components/confirm-dialog/confirm-dialog.model.d.ts +25 -0
  37. package/lib/components/confirm-dialog/index.d.ts +1 -0
  38. package/{src/lib/components/dropdown/dropdown.model.ts → lib/components/dropdown/dropdown.model.d.ts} +12 -16
  39. package/lib/components/dropdown/index.d.ts +1 -0
  40. package/lib/components/dropdown-button/dropdown-button.model.d.ts +14 -0
  41. package/lib/components/dropdown-button/index.d.ts +1 -0
  42. package/lib/components/dynamic-component/dynamic-component.model.d.ts +3 -0
  43. package/lib/components/dynamic-component/index.d.ts +1 -0
  44. package/lib/components/filter/filter.model.d.ts +13 -0
  45. package/{src/lib/components/filter/index.ts → lib/components/filter/index.d.ts} +1 -1
  46. package/{src/lib/components/form-field/form-field.model.ts → lib/components/form-field/form-field.model.d.ts} +11 -15
  47. package/lib/components/form-field/index.d.ts +1 -0
  48. package/{src/lib/components/generic-field/generic-field.model.ts → lib/components/generic-field/generic-field.model.d.ts} +6 -10
  49. package/lib/components/generic-field/index.d.ts +1 -0
  50. package/lib/components/generic-form/generic-form.component.d.ts +30 -0
  51. package/{src/lib/components/generic-form/index.ts → lib/components/generic-form/index.d.ts} +1 -1
  52. package/{src/lib/components/header/header.model.ts → lib/components/header/header.model.d.ts} +11 -18
  53. package/lib/components/header/index.d.ts +1 -0
  54. package/lib/components/icons/icons.component.d.ts +6 -0
  55. package/lib/components/icons/icons.model.d.ts +6 -0
  56. package/lib/components/icons/index.d.ts +2 -0
  57. package/{src/lib/components/index.ts → lib/components/index.d.ts} +36 -35
  58. package/lib/components/input-group/index.d.ts +1 -0
  59. package/{src/lib/components/input-group/input-group.model.ts → lib/components/input-group/input-group.model.d.ts} +12 -17
  60. package/lib/components/loader/index.d.ts +1 -0
  61. package/lib/components/loader/loader.model.d.ts +3 -0
  62. package/lib/components/multiselect/index.d.ts +1 -0
  63. package/{src/lib/components/multiselect/mutiselect.model.ts → lib/components/multiselect/mutiselect.model.d.ts} +9 -13
  64. package/lib/components/number-input/index.d.ts +1 -0
  65. package/{src/lib/components/number-input/number-input.model.ts → lib/components/number-input/number-input.model.d.ts} +10 -14
  66. package/{src/lib/components/page-header/index.ts → lib/components/page-header/index.d.ts} +3 -3
  67. package/{src/lib/components/page-header/page-header.model.ts → lib/components/page-header/page-header.model.d.ts} +7 -11
  68. package/lib/components/page-header/page-header.service.d.ts +8 -0
  69. package/lib/components/page-header/page-headercore.component.d.ts +20 -0
  70. package/lib/components/password/index.d.ts +1 -0
  71. package/{src/lib/components/password/password.model.ts → lib/components/password/password.model.d.ts} +19 -25
  72. package/lib/components/radiobutton/index.d.ts +1 -0
  73. package/{src/lib/components/radiobutton/radiobutton.model.ts → lib/components/radiobutton/radiobutton.model.d.ts} +11 -16
  74. package/lib/components/section/index.d.ts +1 -0
  75. package/{src/lib/components/section/section.model.ts → lib/components/section/section.model.d.ts} +7 -11
  76. package/lib/components/side-menu/directives/side-menu-service.directive.d.ts +11 -0
  77. package/{src/lib/components/side-menu/index.ts → lib/components/side-menu/index.d.ts} +4 -4
  78. package/lib/components/side-menu/services/side-menu-provider.service.d.ts +10 -0
  79. package/lib/components/side-menu/services/side-menu.service.d.ts +15 -0
  80. package/lib/components/side-menu/side-menu.model.d.ts +42 -0
  81. package/lib/components/slider/index.d.ts +1 -0
  82. package/{src/lib/components/slider/slider.model.ts → lib/components/slider/slider.model.d.ts} +9 -13
  83. package/lib/components/snackbar/index.d.ts +1 -0
  84. package/lib/components/snackbar/snackbar.model.d.ts +3 -0
  85. package/lib/components/stepper/index.d.ts +1 -0
  86. package/{src/lib/components/stepper/stepper.model.ts → lib/components/stepper/stepper.model.d.ts} +19 -24
  87. package/lib/components/switch/index.d.ts +1 -0
  88. package/lib/components/switch/switch.model.d.ts +4 -0
  89. package/lib/components/tab-view/index.d.ts +1 -0
  90. package/{src/lib/components/tab-view/tab-view.model.ts → lib/components/tab-view/tab-view.model.d.ts} +17 -22
  91. package/lib/components/table/column-configuration.d.ts +12 -0
  92. package/{src/lib/components/table/index.ts → lib/components/table/index.d.ts} +4 -4
  93. package/lib/components/table/table-builder.d.ts +15 -0
  94. package/lib/components/table/table-column.directive.d.ts +25 -0
  95. package/lib/components/table/table.models.d.ts +132 -0
  96. package/lib/components/table-filter/index.d.ts +1 -0
  97. package/{src/lib/components/table-filter/table-filter.model.ts → lib/components/table-filter/table-filter.model.d.ts} +17 -22
  98. package/lib/components/textarea/index.d.ts +1 -0
  99. package/{src/lib/components/textarea/textarea.model.ts → lib/components/textarea/textarea.model.d.ts} +9 -13
  100. package/lib/components/textfield/index.d.ts +1 -0
  101. package/{src/lib/components/textfield/textfield.model.ts → lib/components/textfield/textfield.model.d.ts} +9 -13
  102. package/lib/components/tooltip/index.d.ts +1 -0
  103. package/lib/components/tooltip/tooltip.model.d.ts +9 -0
  104. package/lib/components/unsubscribe.component.d.ts +9 -0
  105. package/lib/directives/datasource.directive.d.ts +32 -0
  106. package/{src/lib/directives/index.ts → lib/directives/index.d.ts} +4 -4
  107. package/lib/directives/shortcut.directive.d.ts +11 -0
  108. package/lib/directives/table-datasource.directive.d.ts +29 -0
  109. package/lib/directives/table-filter.directive.d.ts +17 -0
  110. package/lib/format/format.d.ts +9 -0
  111. package/lib/pipes/error/error.codes.d.ts +5 -0
  112. package/lib/pipes/error/error.models.d.ts +8 -0
  113. package/lib/pipes/error/error.pipe.d.ts +8 -0
  114. package/lib/pipes/error/warning.codes.d.ts +5 -0
  115. package/lib/pipes/error/warning.pipe.d.ts +8 -0
  116. package/lib/pipes/helper/enumToList.pipe.d.ts +7 -0
  117. package/{src/lib/pipes/index.ts → lib/pipes/index.d.ts} +7 -7
  118. package/lib/pipes/keyOrFn/keyOrFn.pipe.d.ts +7 -0
  119. package/lib/services/confirm-dialog.service.d.ts +12 -0
  120. package/{src/lib/services/index.ts → lib/services/index.d.ts} +4 -4
  121. package/lib/services/leave-form.service.d.ts +13 -0
  122. package/lib/services/screen-size.service.d.ts +10 -0
  123. package/lib/services/table.service.d.ts +13 -0
  124. package/package.json +33 -19
  125. package/.eslintrc.json +0 -48
  126. package/jest.config.ts +0 -21
  127. package/ng-package.json +0 -7
  128. package/project.json +0 -36
  129. package/src/lib/common/angular-helper.ts +0 -44
  130. package/src/lib/common/constants.ts +0 -5
  131. package/src/lib/common/control.models.ts +0 -71
  132. package/src/lib/common/datasource-component.model.spec.ts +0 -42
  133. package/src/lib/common/datasource-component.model.ts +0 -43
  134. package/src/lib/common/download-file.ts +0 -20
  135. package/src/lib/common/filter.ts +0 -7
  136. package/src/lib/common/rxjs.spec.ts +0 -58
  137. package/src/lib/common/rxjs.ts +0 -21
  138. package/src/lib/components/action-button-group/action-button-group.model.ts +0 -15
  139. package/src/lib/components/action-button-group/action-button.model.ts +0 -15
  140. package/src/lib/components/base-form/base-form-input.component.ts +0 -121
  141. package/src/lib/components/base-form/base-form.component.ts +0 -236
  142. package/src/lib/components/base-form/directives/detail-store.directive.ts +0 -219
  143. package/src/lib/components/base-form/models/base-form-input.models.ts +0 -11
  144. package/src/lib/components/base-form/models/base-form.models.ts +0 -31
  145. package/src/lib/components/breadcrumb/breadcrumb.service.ts +0 -9
  146. package/src/lib/components/breadcrumb/breadcrumbcore.component.ts +0 -115
  147. package/src/lib/components/breadcrumb/index.ts +0 -3
  148. package/src/lib/components/button/index.ts +0 -1
  149. package/src/lib/components/calendar/index.ts +0 -1
  150. package/src/lib/components/checkbox/checkbox.model.ts +0 -8
  151. package/src/lib/components/checkbox/index.ts +0 -1
  152. package/src/lib/components/confirm-dialog/confirm-dialog.model.ts +0 -31
  153. package/src/lib/components/confirm-dialog/index.ts +0 -1
  154. package/src/lib/components/dropdown/index.ts +0 -1
  155. package/src/lib/components/dynamic-component/dynamic-component.model.ts +0 -2
  156. package/src/lib/components/dynamic-component/index.ts +0 -1
  157. package/src/lib/components/filter/filter.model.ts +0 -17
  158. package/src/lib/components/form-field/index.ts +0 -1
  159. package/src/lib/components/generic-field/index.ts +0 -1
  160. package/src/lib/components/generic-form/generic-form.component.ts +0 -33
  161. package/src/lib/components/header/index.ts +0 -1
  162. package/src/lib/components/icons/icons.component.ts +0 -17
  163. package/src/lib/components/icons/icons.model.ts +0 -10
  164. package/src/lib/components/icons/index.ts +0 -2
  165. package/src/lib/components/input-group/index.ts +0 -1
  166. package/src/lib/components/loader/index.ts +0 -1
  167. package/src/lib/components/loader/loader.model.ts +0 -7
  168. package/src/lib/components/multiselect/index.ts +0 -1
  169. package/src/lib/components/number-input/index.ts +0 -1
  170. package/src/lib/components/page-header/page-header.service.ts +0 -9
  171. package/src/lib/components/page-header/page-headercore.component.ts +0 -40
  172. package/src/lib/components/password/index.ts +0 -1
  173. package/src/lib/components/radiobutton/index.ts +0 -1
  174. package/src/lib/components/section/index.ts +0 -1
  175. package/src/lib/components/side-menu/directives/side-menu-service.directive.ts +0 -31
  176. package/src/lib/components/side-menu/services/side-menu-provider.service.ts +0 -13
  177. package/src/lib/components/side-menu/services/side-menu.service.ts +0 -62
  178. package/src/lib/components/side-menu/side-menu.model.ts +0 -67
  179. package/src/lib/components/slider/index.ts +0 -1
  180. package/src/lib/components/snackbar/index.ts +0 -1
  181. package/src/lib/components/snackbar/snackbar.model.ts +0 -7
  182. package/src/lib/components/stepper/index.ts +0 -1
  183. package/src/lib/components/switch/index.ts +0 -1
  184. package/src/lib/components/switch/switch.model.ts +0 -8
  185. package/src/lib/components/tab-view/index.ts +0 -1
  186. package/src/lib/components/table/column-configuration.ts +0 -38
  187. package/src/lib/components/table/table-builder.ts +0 -93
  188. package/src/lib/components/table/table-column.directive.ts +0 -62
  189. package/src/lib/components/table/table.models.ts +0 -261
  190. package/src/lib/components/table-filter/index.ts +0 -1
  191. package/src/lib/components/textarea/index.ts +0 -1
  192. package/src/lib/components/textfield/index.ts +0 -1
  193. package/src/lib/components/tristatecheckbox/index.ts +0 -1
  194. package/src/lib/components/tristatecheckbox/tristatecheckbox.model.ts +0 -8
  195. package/src/lib/components/unsubscribe.component.ts +0 -12
  196. package/src/lib/directives/datasource.directive.ts +0 -275
  197. package/src/lib/directives/shortcut.directive.ts +0 -37
  198. package/src/lib/directives/table-datasource.directive.ts +0 -184
  199. package/src/lib/directives/table-filter.directive.ts +0 -69
  200. package/src/lib/format/format.ts +0 -74
  201. package/src/lib/pipes/error/error.codes.ts +0 -11
  202. package/src/lib/pipes/error/error.models.ts +0 -27
  203. package/src/lib/pipes/error/error.pipe.ts +0 -27
  204. package/src/lib/pipes/error/warning.codes.ts +0 -5
  205. package/src/lib/pipes/error/warning.pipe.ts +0 -27
  206. package/src/lib/pipes/helper/enumToList.pipe.ts +0 -16
  207. package/src/lib/pipes/keyOrFn/keyOrFn.pipe.ts +0 -23
  208. package/src/lib/services/confirm-dialog.service.ts +0 -44
  209. package/src/lib/services/leave-form.service.ts +0 -53
  210. package/src/lib/services/screen-size.service.ts +0 -25
  211. package/src/lib/services/table.service.ts +0 -22
  212. package/src/test-setup.ts +0 -8
  213. package/tsconfig.json +0 -28
  214. package/tsconfig.lib.json +0 -17
  215. package/tsconfig.lib.prod.json +0 -9
  216. package/tsconfig.spec.json +0 -16
@@ -0,0 +1,25 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import { Params } from '@angular/router';
3
+ import { FieldAlignType } from '../../common';
4
+ import { ColumnDefinition, ColumnProvider, ColumnVisibilityType } from './table.models';
5
+ import * as i0 from "@angular/core";
6
+ export declare class TableColumnDirective<T> implements ColumnProvider<T> {
7
+ template: TemplateRef<{
8
+ $implicit: T;
9
+ }>;
10
+ index: number;
11
+ id: string;
12
+ columnClass: string;
13
+ sortable: boolean;
14
+ routerLink: (row: T) => string;
15
+ queryParams: Params;
16
+ headerName: ((column: string, index?: number) => string) | string;
17
+ width: string | number | undefined;
18
+ textAlign: FieldAlignType;
19
+ format: (row: T) => string;
20
+ forceVisibility: ColumnVisibilityType;
21
+ visible: boolean;
22
+ getDefinition(): ColumnDefinition<T>;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableColumnDirective<any>, never>;
24
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TableColumnDirective<any>, "v-table-column", never, { "index": { "alias": "index"; "required": false; }; "id": { "alias": "id"; "required": false; }; "columnClass": { "alias": "columnClass"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "routerLink": { "alias": "routerLink"; "required": false; }; "queryParams": { "alias": "queryParams"; "required": false; }; "headerName": { "alias": "headerName"; "required": false; }; "width": { "alias": "width"; "required": false; }; "textAlign": { "alias": "textAlign"; "required": false; }; "format": { "alias": "format"; "required": false; }; "forceVisibility": { "alias": "forceVisibility"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, {}, ["template"], never, true, never>;
25
+ }
@@ -0,0 +1,132 @@
1
+ import { EventEmitter, InjectionToken, TemplateRef } from '@angular/core';
2
+ import { Params } from '@angular/router';
3
+ import { LazyLoadEvent, Sort, SortDirectionType } from '@verisoft/core';
4
+ import { FieldAlignType } from '../../common';
5
+ export declare const TABLE_COMPONENT_TOKEN: InjectionToken<TableCore<any>>;
6
+ export declare const TABLE_COLUMN_PROVIDER: InjectionToken<unknown>;
7
+ export declare enum TableSelectionMode {
8
+ single = "single",
9
+ multiple = "multiple"
10
+ }
11
+ export declare enum TableButtonSeverity {
12
+ success = "success",
13
+ info = "info",
14
+ warning = "warning",
15
+ danger = "danger",
16
+ help = "help",
17
+ primary = "primary",
18
+ secondary = "secondary",
19
+ contrast = "contrast"
20
+ }
21
+ export declare enum ColumnVisibility {
22
+ visible = "visible",
23
+ hidden = "hidden",
24
+ default = "default"
25
+ }
26
+ export type TableSelectionModeType = keyof typeof TableSelectionMode;
27
+ export type TableButtonSeverityType = keyof typeof TableButtonSeverity;
28
+ export type ColumnVisibilityType = keyof typeof ColumnVisibility;
29
+ export interface TableCore<T> {
30
+ sorters: Sort[];
31
+ columns: ColumnDefinition<T>[];
32
+ data: T[];
33
+ total: number;
34
+ filter: Partial<T> | undefined;
35
+ loading: boolean;
36
+ scrollable: boolean;
37
+ pageSize: number;
38
+ currentPage: number;
39
+ showPaginator: boolean;
40
+ sortMultiple: boolean;
41
+ lazy: boolean;
42
+ selection: T[];
43
+ selectionMode: TableSelectionModeType | undefined;
44
+ showPageSizePicker: boolean;
45
+ entityKey: string | undefined;
46
+ selectionChange: EventEmitter<T[]>;
47
+ lazyLoad: EventEmitter<LazyLoadEvent>;
48
+ maximumColumnLength: number;
49
+ disableCustomClicks: boolean;
50
+ }
51
+ export interface TableSignal {
52
+ name: string;
53
+ symbol: symbol;
54
+ }
55
+ export interface ActionColumnsDefinition<T> {
56
+ severity?: TableButtonSeverity;
57
+ title?: string;
58
+ icon?: string;
59
+ tooltip?: string;
60
+ rounded?: boolean;
61
+ outlined?: boolean;
62
+ raised?: boolean;
63
+ badge?: string;
64
+ visible?: (row: T) => boolean;
65
+ routerLink?: (row: T) => string;
66
+ queryParams?: Params;
67
+ disabled?: boolean | ((row: T) => boolean);
68
+ onClick?: (row: T, event?: MouseEvent) => void;
69
+ }
70
+ export interface ColumnProvider<T> {
71
+ getDefinition(): ColumnDefinition<T>;
72
+ index: number;
73
+ }
74
+ export interface ColumnDefinition<T, _KEY = keyof T> {
75
+ id: string;
76
+ value?: (row: T, index?: number) => string;
77
+ headerName?: ((columnId: string, index?: number) => string) | string;
78
+ icon?: string | ((row?: T | undefined) => string);
79
+ type?: string;
80
+ sortable?: boolean;
81
+ format?: (row: T) => string;
82
+ routerLink?: (row: T) => string | string;
83
+ queryParams?: Params;
84
+ columnClass?: string;
85
+ template?: TemplateRef<{
86
+ $implicit: T;
87
+ }>;
88
+ actions?: ActionColumnsDefinition<T>[];
89
+ textAlign?: FieldAlignType;
90
+ width?: string | number;
91
+ forceVisibility?: ColumnVisibilityType;
92
+ visible?: boolean;
93
+ }
94
+ export declare function LinkRenderer<T>(text: string, href: string): (row: T, index: number | undefined) => string;
95
+ export declare function routerRenderer<T>(link: string, text: string): (row: T, index?: number | undefined) => {
96
+ text: string;
97
+ link: string;
98
+ };
99
+ export declare function Renderer<T>(fnc: (row: T) => string): (row: T) => string;
100
+ export declare class ColumnModel<T> {
101
+ readonly configuration: ColumnDefinition<T>;
102
+ sortDirection: SortDirectionType | undefined;
103
+ columnClass?: string;
104
+ queryParams?: Params;
105
+ routerLink?: (row: T) => string | string;
106
+ valueGetter: (row: T, index: number) => string;
107
+ headerGetter: (columnId: string, index: number) => string | string;
108
+ template?: TemplateRef<{
109
+ $implicit: T;
110
+ }>;
111
+ actions?: ActionColumnsDefinition<T>[];
112
+ sortable?: boolean;
113
+ id: string;
114
+ format: Function;
115
+ textAlign?: FieldAlignType;
116
+ width: string | undefined;
117
+ forceVisibility: ColumnVisibilityType;
118
+ visible: boolean;
119
+ constructor(configuration: ColumnDefinition<T>);
120
+ }
121
+ export declare class RowModel<T> {
122
+ row: T;
123
+ index?: number;
124
+ id: number | string;
125
+ selected: boolean;
126
+ marked?: boolean;
127
+ focused?: boolean;
128
+ expanded: boolean;
129
+ fnc?: void;
130
+ customRoute: string | undefined;
131
+ constructor(row: T, selected: boolean, expanded: boolean, marked?: boolean, index?: number, fnc?: void, customRoute?: string, entityKey?: string);
132
+ }
@@ -0,0 +1 @@
1
+ export * from './table-filter.model';
@@ -1,22 +1,17 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { BaseFormDirectiveCore } from '../base-form';
3
-
4
- export const TABLE_FILTER_COMPONENT_TOKEN = new InjectionToken<TableFilterCore<any>>(
5
- 'TableFilterComponentToken'
6
- );
7
-
8
- export interface FilterDefinition {
9
- optionLabel: string;
10
- label: string;
11
- optionValue?: string;
12
- url?: string;
13
- filterType?: 'dropdown' | 'checkbox' | 'calendar' | 'multiselect';
14
- initialValue?: any;
15
- }
16
-
17
- export interface TableFilterCore<T> extends BaseFormDirectiveCore<T> {
18
- filterDefinitions: FilterDefinition[];
19
- title: string;
20
- hideSearch?: boolean;
21
- debounceTime?: number;
22
- }
1
+ import { InjectionToken } from '@angular/core';
2
+ import { BaseFormDirectiveCore } from '../base-form';
3
+ export declare const TABLE_FILTER_COMPONENT_TOKEN: InjectionToken<TableFilterCore<any>>;
4
+ export interface FilterDefinition {
5
+ optionLabel: string;
6
+ label: string;
7
+ optionValue?: string;
8
+ url?: string;
9
+ filterType?: 'dropdown' | 'checkbox' | 'calendar' | 'multiselect';
10
+ initialValue?: any;
11
+ }
12
+ export interface TableFilterCore<T> extends BaseFormDirectiveCore<T> {
13
+ filterDefinitions: FilterDefinition[];
14
+ title: string;
15
+ hideSearch?: boolean;
16
+ debounceTime?: number;
17
+ }
@@ -0,0 +1 @@
1
+ export * from './textarea.model';
@@ -1,13 +1,9 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { BaseFormCore } from '../base-form';
3
-
4
- export const TEXTAREA_COMPONENT_TOKEN = new InjectionToken<TextareaCore>(
5
- 'TextareaComponentToken'
6
- );
7
-
8
- export interface TextareaCore extends BaseFormCore {
9
- rows: number;
10
- cols: number;
11
- autoResize: boolean;
12
- floatLabel: string | undefined;
13
- }
1
+ import { InjectionToken } from '@angular/core';
2
+ import { BaseFormCore } from '../base-form';
3
+ export declare const TEXTAREA_COMPONENT_TOKEN: InjectionToken<TextareaCore>;
4
+ export interface TextareaCore extends BaseFormCore {
5
+ rows: number;
6
+ cols: number;
7
+ autoResize: boolean;
8
+ floatLabel: string | undefined;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './textfield.model';
@@ -1,13 +1,9 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { FieldSizeType, FieldTypeType } from '../../common';
3
- import { BaseFormCore } from '../base-form';
4
-
5
- export const TEXTFIELD_COMPONENT_TOKEN = new InjectionToken<TextfieldCore>(
6
- 'TextfieldComponentToken'
7
- );
8
-
9
- export interface TextfieldCore extends BaseFormCore {
10
- size: FieldSizeType | undefined;
11
- type: FieldTypeType;
12
- floatLabel: boolean;
13
- }
1
+ import { InjectionToken } from '@angular/core';
2
+ import { FieldSizeType, FieldTypeType } from '../../common';
3
+ import { BaseFormCore } from '../base-form';
4
+ export declare const TEXTFIELD_COMPONENT_TOKEN: InjectionToken<TextfieldCore>;
5
+ export interface TextfieldCore extends BaseFormCore {
6
+ size: FieldSizeType | undefined;
7
+ type: FieldTypeType;
8
+ floatLabel: boolean;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './tooltip.model';
@@ -0,0 +1,9 @@
1
+ import { InjectionToken, Signal } from '@angular/core';
2
+ import { ControlSeverityType, FieldSizeType, PositionType } from '../../common';
3
+ export declare const TOOLTIP_COMPONENT_TOKEN: InjectionToken<TooltipCore>;
4
+ export interface TooltipCore {
5
+ color: Signal<ControlSeverityType | undefined>;
6
+ position: Signal<PositionType | undefined>;
7
+ size: Signal<FieldSizeType | undefined>;
8
+ tooltipText: Signal<string | undefined>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare abstract class UnsubscribeComponent implements OnDestroy {
5
+ destroyed$: Subject<void>;
6
+ ngOnDestroy(): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<UnsubscribeComponent, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UnsubscribeComponent, never, never, {}, {}, never, never, true, never>;
9
+ }
@@ -0,0 +1,32 @@
1
+ import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { DatasourceType } from '@verisoft/core';
3
+ import { DataSourceComponentModel } from '../common';
4
+ import { UnsubscribeComponent } from '../components';
5
+ import * as i0 from "@angular/core";
6
+ export declare class DatasourceDirective<T> extends UnsubscribeComponent implements OnChanges, OnInit {
7
+ datasource: DatasourceType<T>;
8
+ autoBind: boolean;
9
+ loadingText: string;
10
+ filterField: string | undefined;
11
+ transformFn?: (data: T) => unknown;
12
+ extraFilter: any;
13
+ get activeComponent(): DataSourceComponentModel<T>;
14
+ private httpClient;
15
+ private baseUrl;
16
+ private changeDetectorRef;
17
+ private isAllDataLoaded;
18
+ private parameters$;
19
+ private lastParameter;
20
+ private dropdownComponent;
21
+ private multiSelectComponent;
22
+ private genericField;
23
+ private dataSourceService?;
24
+ private loadingPlaceholderItem;
25
+ ngOnInit(): void;
26
+ ngOnChanges(changes: SimpleChanges): void;
27
+ private isDataForRequestLoaded;
28
+ private setDataToControl;
29
+ private changeComponent;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatasourceDirective<any>, never>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DatasourceDirective<any>, "v-dropdown[useDatasource], v-multiselect[useDatasource], v-generic-field[useDatasource]", never, { "datasource": { "alias": "datasource"; "required": false; }; "autoBind": { "alias": "autoBind"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "filterField": { "alias": "filterField"; "required": false; }; "transformFn": { "alias": "transformFn"; "required": false; }; "extraFilter": { "alias": "extraFilter"; "required": false; }; }, {}, never, never, true, never>;
32
+ }
@@ -1,4 +1,4 @@
1
- export * from './datasource.directive';
2
- export * from './table-datasource.directive';
3
- export * from './shortcut.directive';
4
- export * from './table-filter.directive';
1
+ export * from './datasource.directive';
2
+ export * from './table-datasource.directive';
3
+ export * from './shortcut.directive';
4
+ export * from './table-filter.directive';
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ButtonShortCutDirective {
3
+ shortCutFn?: () => void;
4
+ shortCutKey: string;
5
+ private keyMap;
6
+ onKeyDown(event: KeyboardEvent): void;
7
+ onKeyUp(event: KeyboardEvent): void;
8
+ private checkShortcut;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<ButtonShortCutDirective, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ButtonShortCutDirective, "v-button[useShortCut]", ["useShortCut"], { "shortCutFn": { "alias": "shortCutFn"; "required": false; }; "shortCutKey": { "alias": "shortCutKey"; "required": false; }; }, {}, never, never, true, never>;
11
+ }
@@ -0,0 +1,29 @@
1
+ import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { Store } from '@ngrx/store';
3
+ import { DatasourceType } from '@verisoft/core';
4
+ import { ExtendedRequestType } from '../common';
5
+ import { UnsubscribeComponent } from '../components';
6
+ import * as i0 from "@angular/core";
7
+ export declare class TableDatasourceDirective<T> extends UnsubscribeComponent implements OnInit, OnChanges {
8
+ protected readonly store: Store<any>;
9
+ autoBind: boolean;
10
+ tableName: string;
11
+ debounceTime: number;
12
+ datasource: DatasourceType<T>;
13
+ extraFilter: any;
14
+ transformFn?: (data: T) => unknown;
15
+ private tableComponent;
16
+ private changeDetectorRef;
17
+ private httpClient;
18
+ private baseUrl;
19
+ private dataSourceService?;
20
+ private parameters$;
21
+ params$: import("rxjs").Observable<Partial<ExtendedRequestType<T>>>;
22
+ ngOnInit(): void;
23
+ ngOnChanges(changes: SimpleChanges): void;
24
+ reload(): void;
25
+ private changeComponent;
26
+ private setDataToControl;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableDatasourceDirective<any>, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TableDatasourceDirective<any>, "v-table[useDatasource]", ["useDatasource"], { "autoBind": { "alias": "autoBind"; "required": false; }; "tableName": { "alias": "tableName"; "required": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "datasource": { "alias": "datasource"; "required": false; }; "extraFilter": { "alias": "extraFilter"; "required": false; }; "transformFn": { "alias": "transformFn"; "required": false; }; }, {}, never, never, true, never>;
29
+ }
@@ -0,0 +1,17 @@
1
+ import { OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
2
+ import { FilterCore } from '../components';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TableFilterDirective<T> implements OnChanges, OnDestroy {
5
+ filterComponent: FilterCore;
6
+ private filterChange$;
7
+ private subscription;
8
+ private tableComponent;
9
+ private changeDetectorRef;
10
+ ngOnChanges(changes: SimpleChanges): void;
11
+ private onFilterChange;
12
+ ngOnDestroy(): void;
13
+ private unRegister;
14
+ private register;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableFilterDirective<any>, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TableFilterDirective<any>, "v-table[useFilter]", ["tableFilterDirective"], { "filterComponent": { "alias": "filterComponent"; "required": true; }; }, {}, never, never, true, never>;
17
+ }
@@ -0,0 +1,9 @@
1
+ export declare class Format {
2
+ static concatArray(value: any[], itemFormatter?: Function, delimeter?: string): string;
3
+ static czechDate(value: Date | string): string;
4
+ static date(value: Date | string): string;
5
+ static dateAndTime(value: Date | string): string;
6
+ static convertToUserLocaleDate(value?: Date | string): string;
7
+ static bool(value: boolean): "Yes" | "No";
8
+ static boolWithIcon(value: boolean): "<span>✓</span>" | "<span>⨯</span>";
9
+ }
@@ -0,0 +1,5 @@
1
+ type ErrorCodesFn = (value?: any) => string;
2
+ export declare const ErrorCodesFns: {
3
+ [key: string]: ErrorCodesFn;
4
+ };
5
+ export {};
@@ -0,0 +1,8 @@
1
+ import { AbstractControl, ValidationErrors } from '@angular/forms';
2
+ type ErrorValue = {
3
+ key: string;
4
+ value: string;
5
+ } | null;
6
+ export declare function getFirstErrorFromControl<T extends AbstractControl>(control: T): ErrorValue;
7
+ export declare function getFirstError(errors: ValidationErrors): ErrorValue;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { ValidationErrors } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ErrorPipe implements PipeTransform {
5
+ transform(errors: ValidationErrors | undefined | null): string;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<ErrorPipe, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<ErrorPipe, "error", true>;
8
+ }
@@ -0,0 +1,5 @@
1
+ type WarningCodesFn = (value?: any) => string;
2
+ export declare const WarningCodesFns: {
3
+ [key: string]: WarningCodesFn;
4
+ };
5
+ export {};
@@ -0,0 +1,8 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { ValidationErrors } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ export declare class WarningPipe implements PipeTransform {
5
+ transform(warnings: ValidationErrors | undefined | null): string;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<WarningPipe, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<WarningPipe, "warning", true>;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export declare class EnumToListPipe implements PipeTransform {
4
+ transform(data: any): any[];
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<EnumToListPipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<EnumToListPipe, "enumToList", true>;
7
+ }
@@ -1,7 +1,7 @@
1
- export * from './error/error.codes';
2
- export * from './error/error.models';
3
- export * from './error/error.pipe';
4
- export * from './error/warning.pipe';
5
- export * from './error/warning.codes';
6
- export * from './keyOrFn/keyOrFn.pipe';
7
- export * from './helper/enumToList.pipe'
1
+ export * from './error/error.codes';
2
+ export * from './error/error.models';
3
+ export * from './error/error.pipe';
4
+ export * from './error/warning.pipe';
5
+ export * from './error/warning.codes';
6
+ export * from './keyOrFn/keyOrFn.pipe';
7
+ export * from './helper/enumToList.pipe';
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class KeyOrFunctionPipe implements PipeTransform {
4
+ transform(keyOrFn: any, row: any): any;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<KeyOrFunctionPipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<KeyOrFunctionPipe, "keyOrFn", true>;
7
+ }
@@ -0,0 +1,12 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ExtendedDialogData } from '../components';
3
+ import * as i0 from "@angular/core";
4
+ export declare class DialogService {
5
+ showEvent: EventEmitter<ExtendedDialogData>;
6
+ closeEvent: EventEmitter<null>;
7
+ showDialog<TInputs, TOutputs>(data: ExtendedDialogData<TInputs, TOutputs>): void;
8
+ private mapInputAndOutpus;
9
+ closeModal(): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<DialogService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<DialogService>;
12
+ }
@@ -1,4 +1,4 @@
1
- export * from './screen-size.service';
2
- export * from './confirm-dialog.service';
3
- export * from './leave-form.service';
4
- export * from './table.service';
1
+ export * from './screen-size.service';
2
+ export * from './confirm-dialog.service';
3
+ export * from './leave-form.service';
4
+ export * from './table.service';
@@ -0,0 +1,13 @@
1
+ import { CanDeactivate } from '@angular/router';
2
+ import { Observable } from 'rxjs';
3
+ import { PreventUnsavedChangesCore } from '../common';
4
+ import * as i0 from "@angular/core";
5
+ export declare class PreventUnsavedChangesDirective implements CanDeactivate<PreventUnsavedChangesCore> {
6
+ private dialogService;
7
+ private translateService;
8
+ private readonly Icons;
9
+ canDeactivate(component: PreventUnsavedChangesCore): Observable<boolean> | Promise<boolean> | boolean;
10
+ showConfirmationDialog(): Observable<boolean>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<PreventUnsavedChangesDirective, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<PreventUnsavedChangesDirective>;
13
+ }
@@ -0,0 +1,10 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ScreenSizeService {
4
+ isMobileBlock: BehaviorSubject<boolean>;
5
+ prevState: boolean;
6
+ constructor();
7
+ checkScreenSize(): Promise<void>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScreenSizeService, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<ScreenSizeService>;
10
+ }
@@ -0,0 +1,13 @@
1
+ import { TableSignal } from "../components";
2
+ import * as i0 from "@angular/core";
3
+ export declare class TableService {
4
+ readonly reload: import("@angular/core").WritableSignal<symbol | TableSignal>;
5
+ /**
6
+ * If name is set, reload a specific table with the set`[tableName]`
7
+ *
8
+ * If name is NOT set, reload all tables in the current DOM
9
+ * */
10
+ forceReload(name?: string): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<TableService>;
13
+ }
package/package.json CHANGED
@@ -1,19 +1,33 @@
1
- {
2
- "name": "@verisoft/ui-core",
3
- "version": "18.7.0",
4
- "peerDependencies": {
5
- "@angular/core": "^18.2.8",
6
- "@angular/router": "18.2.8",
7
- "@verisoft/core": "18.7.0",
8
- "@angular/forms": "18.2.8",
9
- "rxjs": "~7.8.0",
10
- "@angular/common": "^18.2.8",
11
- "lodash-es": "^4.17.21",
12
- "@verisoft/store": "18.7.0",
13
- "@ngrx/store": "18.0.2",
14
- "@angular/platform-browser": "18.2.8",
15
- "uuid": "^10.0.0",
16
- "@ngx-translate/core": "^15.0.0"
17
- },
18
- "sideEffects": false
19
- }
1
+ {
2
+ "name": "@verisoft/ui-core",
3
+ "version": "19.0.0-1",
4
+ "peerDependencies": {
5
+ "@verisoft/core": "19.0.0-1",
6
+ "@verisoft/store": "19.0.0-1",
7
+ "@angular/core": "19.2.9",
8
+ "@angular/common": "19.2.9",
9
+ "@angular/forms": "19.2.9",
10
+ "@angular/platform-browser": "19.2.9",
11
+ "@angular/router": "19.2.9",
12
+ "@ngrx/store": "19.2.1",
13
+ "@ngx-translate/core": "^16.0.4",
14
+ "lodash-es": "^4.17.21",
15
+ "rxjs": "~7.8.0",
16
+ "uuid": "^10.0.0"
17
+ },
18
+ "sideEffects": false,
19
+ "module": "fesm2022/verisoft-ui-core.mjs",
20
+ "typings": "index.d.ts",
21
+ "exports": {
22
+ "./package.json": {
23
+ "default": "./package.json"
24
+ },
25
+ ".": {
26
+ "types": "./index.d.ts",
27
+ "default": "./fesm2022/verisoft-ui-core.mjs"
28
+ }
29
+ },
30
+ "dependencies": {
31
+ "tslib": "^2.3.0"
32
+ }
33
+ }
package/.eslintrc.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "extends": ["../../../.eslintrc.base.json"],
3
- "ignorePatterns": ["!**/*"],
4
- "overrides": [
5
- {
6
- "files": ["*.ts"],
7
- "extends": [
8
- "plugin:@nx/angular",
9
- "plugin:@angular-eslint/template/process-inline-templates"
10
- ],
11
- "rules": {
12
- "@angular-eslint/directive-selector": [
13
- "error",
14
- {
15
- "type": "attribute",
16
- "prefix": "v",
17
- "style": "camelCase"
18
- }
19
- ],
20
- "@angular-eslint/component-selector": [
21
- "error",
22
- {
23
- "type": "element",
24
- "prefix": "v",
25
- "style": "kebab-case"
26
- }
27
- ]
28
- }
29
- },
30
- {
31
- "files": ["*.html"],
32
- "extends": ["plugin:@nx/angular-template"],
33
- "rules": {}
34
- },
35
- {
36
- "files": ["*.json"],
37
- "parser": "jsonc-eslint-parser",
38
- "rules": {
39
- "@nx/dependency-checks": [
40
- "error",
41
- {
42
- "ignoredFiles": ["{projectRoot}/eslint.config.{js,cjs,mjs}"]
43
- }
44
- ]
45
- }
46
- }
47
- ]
48
- }