ngx-material-entity 0.1.2 → 0.1.5

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 (183) hide show
  1. package/README.md +533 -326
  2. package/capsulation/lodash.utilities.d.ts +62 -0
  3. package/capsulation/reflect.utilities.d.ts +56 -0
  4. package/classes/base.builder.d.ts +36 -0
  5. package/classes/date.utilities.d.ts +70 -0
  6. package/classes/entity.model.d.ts +19 -0
  7. package/classes/entity.service.d.ts +108 -0
  8. package/classes/entity.utilities.d.ts +180 -0
  9. package/classes/file.utilities.d.ts +52 -0
  10. package/components/confirm-dialog/confirm-dialog-data.builder.d.ts +10 -11
  11. package/components/confirm-dialog/confirm-dialog-data.d.ts +4 -0
  12. package/components/confirm-dialog/confirm-dialog.component.d.ts +11 -0
  13. package/components/input/add-array-item-dialog-data.builder.d.ts +21 -0
  14. package/components/input/{array-table/add-array-item-dialog/add-array-item-dialog-data.d.ts → add-array-item-dialog-data.d.ts} +6 -3
  15. package/components/input/array/array-date-input/array-date-input.component.d.ts +22 -0
  16. package/components/input/array/array-date-range-input/array-date-range-input.component.d.ts +30 -0
  17. package/components/input/array/array-date-time-input/array-date-time-input.component.d.ts +32 -0
  18. package/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.d.ts +58 -0
  19. package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts +51 -0
  20. package/components/input/array/array-table.class.d.ts +48 -0
  21. package/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.d.ts +17 -0
  22. package/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.d.ts +17 -0
  23. package/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.d.ts +17 -0
  24. package/components/input/date/date-input/date-input.component.d.ts +21 -0
  25. package/components/input/date/date-range-input/date-range-input.component.d.ts +27 -0
  26. package/components/input/date/date-time-input/date-time-input.component.d.ts +38 -0
  27. package/components/input/file/file-default-input/file-default-input.component.d.ts +21 -0
  28. package/components/input/file/file-image-input/file-image-input.component.d.ts +30 -0
  29. package/components/input/file/file-input/dragDrop.directive.d.ts +32 -0
  30. package/components/input/file/file-input/file-input.component.d.ts +32 -0
  31. package/components/input/input.component.d.ts +108 -39
  32. package/components/input/input.module.d.ts +37 -13
  33. package/components/input/number/number-dropdown-input/number-dropdown-input.component.d.ts +17 -0
  34. package/components/input/number/number-input/number-input.component.d.ts +17 -0
  35. package/components/input/string/string-autocomplete-input/string-autocomplete-input.component.d.ts +25 -0
  36. package/components/input/string/string-dropdown-input/string-dropdown-input.component.d.ts +17 -0
  37. package/components/input/string/string-input/string-input.component.d.ts +17 -0
  38. package/components/input/string/string-textbox-input/string-textbox-input.component.d.ts +17 -0
  39. package/components/table/create-dialog/create-dialog-data.builder.d.ts +9 -8
  40. package/components/table/create-dialog/create-entity-dialog-data.builder.d.ts +12 -6
  41. package/components/table/create-dialog/create-entity-dialog-data.d.ts +3 -3
  42. package/components/table/create-dialog/create-entity-dialog.component.d.ts +23 -7
  43. package/components/table/edit-dialog/edit-dialog-data.builder.d.ts +11 -13
  44. package/components/table/edit-dialog/edit-entity-dialog-data.d.ts +3 -3
  45. package/components/table/edit-dialog/edit-entity-dialog.builder.d.ts +12 -6
  46. package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +25 -7
  47. package/components/table/table-data.builder.d.ts +25 -14
  48. package/components/table/table-data.d.ts +22 -10
  49. package/components/table/table.component.d.ts +48 -2
  50. package/components/table/table.module.d.ts +3 -1
  51. package/decorators/array/array-decorator-internal.data.d.ts +85 -9
  52. package/decorators/array/array-decorator.data.d.ts +200 -25
  53. package/decorators/array/array.decorator.d.ts +4 -4
  54. package/decorators/base/base-property.decorator.d.ts +2 -3
  55. package/decorators/base/decorator-types.enum.d.ts +13 -4
  56. package/decorators/base/dropdown-value.interface.d.ts +14 -0
  57. package/decorators/base/property-decorator-internal.data.d.ts +16 -3
  58. package/decorators/base/property-decorator.data.d.ts +26 -5
  59. package/decorators/boolean/boolean-decorator-internal.data.d.ts +9 -0
  60. package/decorators/boolean/boolean-decorator.data.d.ts +9 -0
  61. package/decorators/boolean/boolean.decorator.d.ts +1 -1
  62. package/decorators/date/date-decorator-internal.data.d.ts +44 -0
  63. package/decorators/date/date-decorator.data.d.ts +129 -0
  64. package/decorators/date/date.decorator.d.ts +8 -0
  65. package/decorators/file/file-decorator-internal.data.d.ts +92 -0
  66. package/decorators/file/file-decorator.data.d.ts +92 -0
  67. package/decorators/file/file.decorator.d.ts +9 -0
  68. package/decorators/number/number-decorator-internal.data.d.ts +8 -4
  69. package/decorators/number/number-decorator.data.d.ts +8 -4
  70. package/decorators/number/number.decorator.d.ts +2 -2
  71. package/decorators/object/object-decorator-internal.data.d.ts +6 -3
  72. package/decorators/object/object-decorator.data.d.ts +8 -5
  73. package/decorators/object/object.decorator.d.ts +3 -3
  74. package/decorators/string/string-decorator-internal.data.d.ts +14 -4
  75. package/decorators/string/string-decorator.data.d.ts +14 -4
  76. package/decorators/string/string.decorator.d.ts +1 -1
  77. package/esm2020/capsulation/lodash.utilities.mjs +75 -0
  78. package/esm2020/capsulation/reflect.utilities.mjs +69 -0
  79. package/esm2020/classes/base.builder.mjs +42 -0
  80. package/esm2020/classes/date.utilities.mjs +158 -0
  81. package/esm2020/classes/entity.model.mjs +19 -0
  82. package/esm2020/classes/entity.service.mjs +180 -0
  83. package/esm2020/classes/entity.utilities.mjs +669 -0
  84. package/esm2020/classes/file.utilities.mjs +123 -0
  85. package/esm2020/components/confirm-dialog/confirm-dialog-data.builder.mjs +17 -50
  86. package/esm2020/components/confirm-dialog/confirm-dialog-data.mjs +1 -1
  87. package/esm2020/components/confirm-dialog/confirm-dialog.component.mjs +15 -4
  88. package/esm2020/components/get-validation-error-message.function.mjs +5 -1
  89. package/esm2020/components/input/add-array-item-dialog-data.builder.mjs +30 -0
  90. package/esm2020/components/input/add-array-item-dialog-data.mjs +2 -0
  91. package/esm2020/components/input/array/array-date-input/array-date-input.component.mjs +44 -0
  92. package/esm2020/components/input/array/array-date-range-input/array-date-range-input.component.mjs +68 -0
  93. package/esm2020/components/input/array/array-date-time-input/array-date-time-input.component.mjs +65 -0
  94. package/esm2020/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +131 -0
  95. package/esm2020/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +116 -0
  96. package/esm2020/components/input/array/array-table.class.mjs +92 -0
  97. package/esm2020/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +38 -0
  98. package/esm2020/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +35 -0
  99. package/esm2020/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +38 -0
  100. package/esm2020/components/input/date/date-input/date-input.component.mjs +38 -0
  101. package/esm2020/components/input/date/date-range-input/date-range-input.component.mjs +63 -0
  102. package/esm2020/components/input/date/date-time-input/date-time-input.component.mjs +74 -0
  103. package/esm2020/components/input/file/file-default-input/file-default-input.component.mjs +39 -0
  104. package/esm2020/components/input/file/file-image-input/file-image-input.component.mjs +95 -0
  105. package/esm2020/components/input/file/file-input/dragDrop.directive.mjs +64 -0
  106. package/esm2020/components/input/file/file-input/file-input.component.mjs +152 -0
  107. package/esm2020/components/input/input.component.mjs +207 -110
  108. package/esm2020/components/input/input.module.mjs +87 -10
  109. package/esm2020/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +36 -0
  110. package/esm2020/components/input/number/number-input/number-input.component.mjs +34 -0
  111. package/esm2020/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +52 -0
  112. package/esm2020/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +36 -0
  113. package/esm2020/components/input/string/string-input/string-input.component.mjs +34 -0
  114. package/esm2020/components/input/string/string-textbox-input/string-textbox-input.component.mjs +35 -0
  115. package/esm2020/components/table/create-dialog/create-dialog-data.builder.mjs +18 -40
  116. package/esm2020/components/table/create-dialog/create-entity-dialog-data.builder.mjs +15 -7
  117. package/esm2020/components/table/create-dialog/create-entity-dialog-data.mjs +1 -1
  118. package/esm2020/components/table/create-dialog/create-entity-dialog.component.mjs +36 -22
  119. package/esm2020/components/table/create-dialog/create-entity-dialog.module.mjs +20 -4
  120. package/esm2020/components/table/edit-dialog/edit-dialog-data.builder.mjs +23 -63
  121. package/esm2020/components/table/edit-dialog/edit-entity-dialog-data.mjs +1 -1
  122. package/esm2020/components/table/edit-dialog/edit-entity-dialog.builder.mjs +15 -7
  123. package/esm2020/components/table/edit-dialog/edit-entity-dialog.component.mjs +50 -31
  124. package/esm2020/components/table/table-data.builder.mjs +31 -15
  125. package/esm2020/components/table/table-data.mjs +1 -1
  126. package/esm2020/components/table/table.component.mjs +77 -32
  127. package/esm2020/components/table/table.module.mjs +12 -4
  128. package/esm2020/decorators/array/array-decorator-internal.data.mjs +111 -12
  129. package/esm2020/decorators/array/array-decorator.data.mjs +2 -2
  130. package/esm2020/decorators/array/array.decorator.mjs +9 -3
  131. package/esm2020/decorators/base/base-property.decorator.mjs +4 -3
  132. package/esm2020/decorators/base/decorator-types.enum.mjs +9 -1
  133. package/esm2020/decorators/base/dropdown-value.interface.mjs +2 -0
  134. package/esm2020/decorators/base/property-decorator-internal.data.mjs +33 -10
  135. package/esm2020/decorators/base/property-decorator.data.mjs +1 -1
  136. package/esm2020/decorators/boolean/boolean-decorator-internal.data.mjs +12 -1
  137. package/esm2020/decorators/boolean/boolean-decorator.data.mjs +1 -1
  138. package/esm2020/decorators/boolean/boolean.decorator.mjs +2 -2
  139. package/esm2020/decorators/date/date-decorator-internal.data.mjs +48 -0
  140. package/esm2020/decorators/date/date-decorator.data.mjs +7 -0
  141. package/esm2020/decorators/date/date.decorator.mjs +21 -0
  142. package/esm2020/decorators/file/file-decorator-internal.data.mjs +98 -0
  143. package/esm2020/decorators/file/file-decorator.data.mjs +7 -0
  144. package/esm2020/decorators/file/file.decorator.mjs +22 -0
  145. package/esm2020/decorators/number/number-decorator-internal.data.mjs +7 -1
  146. package/esm2020/decorators/number/number-decorator.data.mjs +1 -1
  147. package/esm2020/decorators/number/number.decorator.mjs +3 -3
  148. package/esm2020/decorators/object/object-decorator-internal.data.mjs +5 -2
  149. package/esm2020/decorators/object/object-decorator.data.mjs +1 -1
  150. package/esm2020/decorators/object/object.decorator.mjs +2 -2
  151. package/esm2020/decorators/string/string-decorator-internal.data.mjs +13 -1
  152. package/esm2020/decorators/string/string-decorator.data.mjs +1 -1
  153. package/esm2020/decorators/string/string.decorator.mjs +2 -2
  154. package/esm2020/mocks/placeholder-data.png.mjs +3 -0
  155. package/esm2020/public-api.mjs +12 -5
  156. package/fesm2015/ngx-material-entity.mjs +3271 -894
  157. package/fesm2015/ngx-material-entity.mjs.map +1 -1
  158. package/fesm2020/ngx-material-entity.mjs +3140 -829
  159. package/fesm2020/ngx-material-entity.mjs.map +1 -1
  160. package/mocks/placeholder-data.png.d.ts +1 -0
  161. package/package.json +7 -1
  162. package/public-api.d.ts +12 -5
  163. package/classes/entity-model.class.d.ts +0 -9
  164. package/classes/entity-service.class.d.ts +0 -66
  165. package/classes/entity-utilities.class.d.ts +0 -112
  166. package/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.builder.d.ts +0 -17
  167. package/components/input/array-table/add-array-item-dialog/add-array-item-dialog.component.d.ts +0 -22
  168. package/components/input/array-table/add-array-item-dialog/add-array-item-dialog.module.d.ts +0 -12
  169. package/components/input/array-table/array-table.component.d.ts +0 -34
  170. package/components/input/array-table/array-table.module.d.ts +0 -19
  171. package/components/input/internal-input/internal-input.component.d.ts +0 -54
  172. package/components/input/internal-input/internal-input.module.d.ts +0 -16
  173. package/esm2020/classes/entity-model.class.mjs +0 -19
  174. package/esm2020/classes/entity-service.class.mjs +0 -76
  175. package/esm2020/classes/entity-utilities.class.mjs +0 -329
  176. package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.builder.mjs +0 -33
  177. package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.mjs +0 -2
  178. package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog.component.mjs +0 -45
  179. package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog.module.mjs +0 -22
  180. package/esm2020/components/input/array-table/array-table.component.mjs +0 -119
  181. package/esm2020/components/input/array-table/array-table.module.mjs +0 -66
  182. package/esm2020/components/input/internal-input/internal-input.component.mjs +0 -70
  183. package/esm2020/components/input/internal-input/internal-input.module.mjs +0 -54
@@ -1,40 +1,51 @@
1
- import { EntityService } from '../../classes/entity-service.class';
2
- import { Entity } from '../../classes/entity-model.class';
1
+ import { EntityService } from '../../classes/entity.service';
3
2
  import { CreateDialogDataInternal } from './create-dialog/create-dialog-data.builder';
4
3
  import { EditDialogDataInternal } from './edit-dialog/edit-dialog-data.builder';
5
4
  import { BaseData, DisplayColumn, MultiSelectAction, TableData } from './table-data';
6
5
  import { HttpClient } from '@angular/common/http';
7
- export declare class TableDataInternal<EntityType extends Entity> implements TableData<EntityType> {
6
+ import { BaseBuilder } from '../../classes/base.builder';
7
+ import { BaseEntityType, EntityClassNewable } from '../../classes/entity.model';
8
+ /**
9
+ * The internal TableData. Requires all default values the user can leave out.
10
+ */
11
+ export declare class TableDataInternal<EntityType extends BaseEntityType<EntityType>> implements TableData<EntityType> {
8
12
  baseData: BaseDataInternal<EntityType>;
9
13
  createDialogData: CreateDialogDataInternal;
10
14
  editDialogData: EditDialogDataInternal<EntityType>;
11
15
  constructor(baseData: BaseDataInternal<EntityType>, createDialogData: CreateDialogDataInternal, editDialogData: EditDialogDataInternal<EntityType>);
12
16
  }
13
- export declare class BaseDataBuilder<EntityType extends Entity> {
14
- baseData: BaseDataInternal<EntityType>;
15
- private readonly dataInput;
17
+ /**
18
+ * The Builder for the table BaseData. Sets default values.
19
+ */
20
+ export declare class BaseDataBuilder<EntityType extends BaseEntityType<EntityType>> extends BaseBuilder<BaseDataInternal<EntityType>, BaseData<EntityType>> {
16
21
  constructor(data: BaseData<EntityType>);
22
+ protected generateBaseData(data: BaseData<EntityType>): BaseDataInternal<EntityType>;
17
23
  }
18
- export declare class BaseDataInternal<EntityType extends Entity> implements BaseData<EntityType> {
24
+ /**
25
+ * The internal TableData. Requires all default values the user can leave out.
26
+ */
27
+ export declare class BaseDataInternal<EntityType extends BaseEntityType<EntityType>> implements BaseData<EntityType> {
19
28
  title: string;
20
29
  displayColumns: DisplayColumn<EntityType>[];
21
30
  EntityServiceClass: new (httpClient: HttpClient) => EntityService<EntityType>;
22
31
  searchLabel: string;
23
32
  createButtonLabel: string;
24
- searchString: (enity: EntityType) => string;
33
+ searchString: (entity: EntityType) => string;
25
34
  allowCreate: boolean;
26
35
  allowEdit: (entity: EntityType) => boolean;
27
36
  allowDelete: (entity: EntityType) => boolean;
28
37
  multiSelectActions: MultiSelectAction<EntityType>[];
29
38
  multiSelectLabel: string;
30
- EntityClass?: new (entity?: EntityType) => EntityType;
39
+ EntityClass?: EntityClassNewable<EntityType>;
31
40
  edit?: (entity: EntityType) => unknown;
32
41
  create?: (entity: EntityType) => unknown;
33
- constructor(title: string, displayColumns: DisplayColumn<EntityType>[], EntityServiceClass: new (httpClient: HttpClient) => EntityService<EntityType>, searchLabel: string, createButtonLabel: string, searchString: (enity: EntityType) => string, allowCreate: boolean, allowEdit: (entity: EntityType) => boolean, allowDelete: (entity: EntityType) => boolean, multiSelectActions: MultiSelectAction<EntityType>[], multiSelectLabel: string, EntityClass?: new (entity?: EntityType) => EntityType, edit?: (entity: EntityType) => unknown, create?: (entity: EntityType) => unknown);
42
+ constructor(title: string, displayColumns: DisplayColumn<EntityType>[], EntityServiceClass: new (httpClient: HttpClient) => EntityService<EntityType>, searchLabel: string, createButtonLabel: string, searchString: (entity: EntityType) => string, allowCreate: boolean, allowEdit: (entity: EntityType) => boolean, allowDelete: (entity: EntityType) => boolean, multiSelectActions: MultiSelectAction<EntityType>[], multiSelectLabel: string, EntityClass?: EntityClassNewable<EntityType>, edit?: (entity: EntityType) => unknown, create?: (entity: EntityType) => unknown);
34
43
  }
35
- export declare class TableDataBuilder<EntityType extends Entity> {
36
- tableData: TableDataInternal<EntityType>;
37
- private readonly dataInput;
44
+ /**
45
+ * The Builder for the complete TableData. Sets default values and validates user input.
46
+ */
47
+ export declare class TableDataBuilder<EntityType extends BaseEntityType<EntityType>> extends BaseBuilder<TableDataInternal<EntityType>, TableData<EntityType>> {
38
48
  constructor(data: TableData<EntityType>);
39
- private validateInput;
49
+ protected generateBaseData(data: TableData<EntityType>): TableDataInternal<EntityType>;
50
+ protected validateInput(data: TableData<EntityType>): void;
40
51
  }
@@ -1,11 +1,11 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
- import { Entity } from '../../classes/entity-model.class';
3
- import { EntityService } from '../../classes/entity-service.class';
2
+ import { EntityService } from '../../classes/entity.service';
3
+ import { BaseEntityType, EntityClassNewable } from '../../classes/entity.model';
4
4
  import { ConfirmDialogData } from '../confirm-dialog/confirm-dialog-data';
5
5
  /**
6
6
  * The Definition of a Column inside the table.
7
7
  */
8
- export interface DisplayColumn<EntityType extends Entity> {
8
+ export interface DisplayColumn<EntityType extends BaseEntityType<EntityType>> {
9
9
  /**
10
10
  * The name inside the header.
11
11
  */
@@ -18,7 +18,7 @@ export interface DisplayColumn<EntityType extends Entity> {
18
18
  /**
19
19
  * The Definition of an Action that can be run on multiple selected entities.
20
20
  */
21
- export interface MultiSelectAction<EntityType extends Entity> {
21
+ export interface MultiSelectAction<EntityType extends BaseEntityType<EntityType>> {
22
22
  /**
23
23
  * The name of the action.
24
24
  */
@@ -40,11 +40,14 @@ export interface MultiSelectAction<EntityType extends Entity> {
40
40
  */
41
41
  requireConfirmDialog?: (selectedEntities: EntityType[]) => boolean;
42
42
  /**
43
- * The data used to generate a confirmation dialog for the multiselect action.
43
+ * The data used to generate a confirmation dialog for the multiSelect action.
44
44
  */
45
45
  confirmDialogData?: ConfirmDialogData;
46
46
  }
47
- export interface BaseData<EntityType extends Entity> {
47
+ /**
48
+ * The base data of the ngx-mat-entity-table.
49
+ */
50
+ export interface BaseData<EntityType extends BaseEntityType<EntityType>> {
48
51
  /**
49
52
  * The title of the table.
50
53
  */
@@ -62,7 +65,7 @@ export interface BaseData<EntityType extends Entity> {
62
65
  /**
63
66
  * The Class of the entities to manage.
64
67
  */
65
- EntityClass?: new (entity?: EntityType) => EntityType;
68
+ EntityClass?: EntityClassNewable<EntityType>;
66
69
  /**
67
70
  * The label on the search bar. Defaults to "Search".
68
71
  */
@@ -86,7 +89,7 @@ export interface BaseData<EntityType extends Entity> {
86
89
  /**
87
90
  * Defines how the search string of entities is generated.
88
91
  */
89
- searchString?: (enity: EntityType) => string;
92
+ searchString?: (entity: EntityType) => string;
90
93
  /**
91
94
  * Defines whether or not the user can add new entities.
92
95
  *
@@ -113,6 +116,9 @@ export interface BaseData<EntityType extends Entity> {
113
116
  */
114
117
  multiSelectLabel?: string;
115
118
  }
119
+ /**
120
+ * The data of the default create-dialog.
121
+ */
116
122
  export interface CreateDialogData {
117
123
  /**
118
124
  * The title of the default create-dialog.
@@ -135,7 +141,10 @@ export interface CreateDialogData {
135
141
  */
136
142
  confirmCreateDialogData?: ConfirmDialogData;
137
143
  }
138
- export interface EditDialogData<EntityType extends Entity> {
144
+ /**
145
+ * The data of the default edit-dialog.
146
+ */
147
+ export interface EditDialogData<EntityType extends BaseEntityType<EntityType>> {
139
148
  /**
140
149
  * The title of the default edit-dialog.
141
150
  */
@@ -169,7 +178,10 @@ export interface EditDialogData<EntityType extends Entity> {
169
178
  */
170
179
  confirmEditDialogData?: ConfirmDialogData;
171
180
  }
172
- export interface TableData<EntityType extends Entity> {
181
+ /**
182
+ * All the configuration data required to display a ngx-mat-entity-table.
183
+ */
184
+ export interface TableData<EntityType extends BaseEntityType<EntityType>> {
173
185
  /**
174
186
  * The base data for the table-component.
175
187
  * Includes stuff like the title for the table, what to display inside the rows etc.
@@ -2,13 +2,19 @@ import { Injector, OnDestroy, OnInit } from '@angular/core';
2
2
  import { MatPaginator } from '@angular/material/paginator';
3
3
  import { MatSort } from '@angular/material/sort';
4
4
  import { MatTableDataSource } from '@angular/material/table';
5
- import { Entity } from '../../classes/entity-model.class';
6
5
  import { SelectionModel } from '@angular/cdk/collections';
7
6
  import { MatDialog } from '@angular/material/dialog';
8
7
  import { MultiSelectAction, TableData } from './table-data';
9
8
  import { TableDataInternal } from './table-data.builder';
9
+ import { BaseEntityType } from '../../classes/entity.model';
10
10
  import * as i0 from "@angular/core";
11
- export declare class NgxMatEntityTableComponent<EntityType extends Entity> implements OnInit, OnDestroy {
11
+ /**
12
+ * Generates a fully functional table for displaying, creating, updating and deleting entities
13
+ * based on the configuration passed in the @Input "tableData".
14
+ *
15
+ * It offers a lot of customization options which can be found in "TableData".
16
+ */
17
+ export declare class NgxMatEntityTableComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit, OnDestroy {
12
18
  private readonly dialog;
13
19
  private readonly injector;
14
20
  /**
@@ -25,17 +31,57 @@ export declare class NgxMatEntityTableComponent<EntityType extends Entity> imple
25
31
  dataSource: MatTableDataSource<EntityType>;
26
32
  selection: SelectionModel<EntityType>;
27
33
  constructor(dialog: MatDialog, injector: Injector);
34
+ /**
35
+ * Sets up all the configuration for the table and the EntityService.
36
+ */
28
37
  ngOnInit(): void;
38
+ /**
39
+ * Edits an entity. This either calls the edit-Method provided by the user or uses a default edit-dialog.
40
+ *
41
+ * @param entity - The entity that should be updated.
42
+ * @throws When no EntityClass was provided, as a new call is needed to initialize metadata.
43
+ */
29
44
  editEntity(entity: EntityType): void;
30
45
  private editDefault;
46
+ /**
47
+ * Creates a new Entity. This either calls the create-Method provided by the user or uses a default create-dialog.
48
+ *
49
+ * @throws When no EntityClass was provided, as a new call is needed to initialize metadata.
50
+ */
31
51
  createEntity(): void;
32
52
  private createDefault;
53
+ /**
54
+ * Runs the MultiAction for all selected entries.
55
+ * Also handles confirmation with an additional dialog if configured.
56
+ *
57
+ * @param action - The MultiAction to run.
58
+ */
33
59
  runMultiAction(action: MultiSelectAction<EntityType>): void;
34
60
  private confirmRunMultiAction;
61
+ /**
62
+ * Checks if an MultiAction is disabled (e.g. Because no entries have been selected).
63
+ *
64
+ * @param action - The MultiAction to check.
65
+ * @returns Whether or not the Action can be used.
66
+ */
35
67
  multiActionDisabled(action: MultiSelectAction<EntityType>): boolean;
68
+ /**
69
+ * Toggles all entries in the table.
70
+ */
36
71
  masterToggle(): void;
72
+ /**
73
+ * Checks if all entries in the table have been selected.
74
+ * This is needed to display the "masterToggle"-checkbox correctly.
75
+ *
76
+ * @returns Whether or not all entries in the table have been selected.
77
+ */
37
78
  isAllSelected(): boolean;
38
79
  ngOnDestroy(): void;
80
+ /**
81
+ * Applies the search input to filter the table entries.
82
+ *
83
+ * @param event - The keyup-event which contains the search-string of the user.
84
+ */
39
85
  applyFilter(event: Event): void;
40
86
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityTableComponent<any>, never>;
41
87
  static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatEntityTableComponent<any>, "ngx-mat-entity-table", never, { "tableData": "tableData"; }, {}, never, never>;
@@ -10,8 +10,10 @@ import * as i8 from "@angular/material/paginator";
10
10
  import * as i9 from "@angular/material/button";
11
11
  import * as i10 from "@angular/material/menu";
12
12
  import * as i11 from "@angular/material/dialog";
13
+ import * as i12 from "./create-dialog/create-entity-dialog.module";
14
+ import * as i13 from "./edit-dialog/edit-entity-dialog.module";
13
15
  export declare class NgxMatEntityTableModule {
14
16
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityTableModule, never>;
15
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatEntityTableModule, [typeof i1.NgxMatEntityTableComponent], [typeof i2.CommonModule, typeof i3.MatInputModule, typeof i4.FormsModule, typeof i5.MatFormFieldModule, typeof i6.MatCheckboxModule, typeof i7.MatTableModule, typeof i8.MatPaginatorModule, typeof i9.MatButtonModule, typeof i10.MatMenuModule, typeof i11.MatDialogModule], [typeof i1.NgxMatEntityTableComponent]>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatEntityTableModule, [typeof i1.NgxMatEntityTableComponent], [typeof i2.CommonModule, typeof i3.MatInputModule, typeof i4.FormsModule, typeof i5.MatFormFieldModule, typeof i6.MatCheckboxModule, typeof i7.MatTableModule, typeof i8.MatPaginatorModule, typeof i9.MatButtonModule, typeof i10.MatMenuModule, typeof i11.MatDialogModule, typeof i12.NgxMatEntityCreateDialogModule, typeof i13.NgxMatEntityEditDialogModule], [typeof i1.NgxMatEntityTableComponent]>;
16
18
  static ɵinj: i0.ɵɵInjectorDeclaration<NgxMatEntityTableModule>;
17
19
  }
@@ -1,32 +1,108 @@
1
- import { Entity } from '../../classes/entity-model.class';
2
1
  import { CreateDialogData } from '../../components/table/table-data';
2
+ import { BaseEntityType, EntityClassNewable } from '../../classes/entity.model';
3
3
  import { DecoratorTypes } from '../base/decorator-types.enum';
4
4
  import { PropertyDecoratorConfigInternal } from '../base/property-decorator-internal.data';
5
- import { ArrayTableDisplayColumn, AutocompleteStringChipsArrayDecoratorConfig, EntityArrayDecoratorConfig, StringChipsArrayDecoratorConfig } from './array-decorator.data';
6
- export declare class EntityArrayDecoratorConfigInternal<EntityType extends Entity> extends PropertyDecoratorConfigInternal implements EntityArrayDecoratorConfig<EntityType> {
5
+ import { ArrayTableDisplayColumn, AutocompleteStringChipsArrayDecoratorConfig, DateArrayDecoratorConfig, DateRangeArrayDecoratorConfig, DateTimeArrayDecoratorConfig, EntityArrayDecoratorConfig, StringChipsArrayDecoratorConfig } from './array-decorator.data';
6
+ import { DateFilterFn } from '@angular/material/datepicker';
7
+ import { Time } from '@angular/common';
8
+ import { DropdownValue } from '../base/dropdown-value.interface';
9
+ import { DateRange } from '../date/date-decorator.data';
10
+ import { ConfirmDialogData } from '../../components/confirm-dialog/confirm-dialog-data';
11
+ /**
12
+ * The internal EntityArrayDecoratorConfig. Sets default values.
13
+ */
14
+ export declare class EntityArrayDecoratorConfigInternal<EntityType extends BaseEntityType<EntityType>> extends PropertyDecoratorConfigInternal implements EntityArrayDecoratorConfig<EntityType> {
7
15
  itemType: DecoratorTypes.OBJECT;
8
- displayStyle: 'table';
9
- EntityClass: new (entity?: EntityType) => EntityType;
16
+ allowDuplicates: boolean;
17
+ duplicatesErrorDialog: ConfirmDialogData;
18
+ EntityClass: EntityClassNewable<EntityType>;
10
19
  displayColumns: ArrayTableDisplayColumn<EntityType>[];
11
20
  createDialogData?: CreateDialogData;
12
21
  createInline: boolean;
13
22
  missingErrorMessage: string;
23
+ addButtonLabel: string;
24
+ removeButtonLabel: string;
14
25
  constructor(data: EntityArrayDecoratorConfig<EntityType>);
15
26
  }
27
+ /**
28
+ * The internal DateArrayDecoratorConfig. Sets default values.
29
+ */
30
+ export declare class DateArrayDecoratorConfigInternal extends PropertyDecoratorConfigInternal implements DateArrayDecoratorConfig {
31
+ itemType: DecoratorTypes.DATE;
32
+ allowDuplicates: boolean;
33
+ duplicatesErrorDialog: ConfirmDialogData;
34
+ displayColumns: ArrayTableDisplayColumn<Date>[];
35
+ addButtonLabel: string;
36
+ removeButtonLabel: string;
37
+ missingErrorMessage: string;
38
+ min?: (date?: Date) => Date;
39
+ max?: (date?: Date) => Date;
40
+ filter?: DateFilterFn<Date | null | undefined>;
41
+ constructor(data: DateArrayDecoratorConfig);
42
+ }
43
+ /**
44
+ * The internal DateTimeArrayDecoratorConfig. Sets default values.
45
+ */
46
+ export declare class DateTimeArrayDecoratorConfigInternal extends PropertyDecoratorConfigInternal implements DateTimeArrayDecoratorConfig {
47
+ itemType: DecoratorTypes.DATE_TIME;
48
+ allowDuplicates: boolean;
49
+ duplicatesErrorDialog: ConfirmDialogData;
50
+ displayColumns: ArrayTableDisplayColumn<Date>[];
51
+ addButtonLabel: string;
52
+ removeButtonLabel: string;
53
+ missingErrorMessage: string;
54
+ times: DropdownValue<Time>[];
55
+ timeDisplayName: string;
56
+ minDate?: (date?: Date) => Date;
57
+ maxDate?: (date?: Date) => Date;
58
+ filterDate?: DateFilterFn<Date | null | undefined>;
59
+ minTime?: (date?: Date) => Time;
60
+ maxTime?: (date?: Date) => Time;
61
+ filterTime?: ((time: Time) => boolean) | (() => boolean);
62
+ constructor(data: DateTimeArrayDecoratorConfig);
63
+ }
64
+ /**
65
+ * The internal DateRangeArrayDecoratorConfig. Sets default values.
66
+ */
67
+ export declare class DateRangeArrayDecoratorConfigInternal extends PropertyDecoratorConfigInternal implements DateRangeArrayDecoratorConfig {
68
+ itemType: DecoratorTypes.DATE_RANGE;
69
+ allowDuplicates: boolean;
70
+ duplicatesErrorDialog: ConfirmDialogData;
71
+ displayColumns: ArrayTableDisplayColumn<DateRange>[];
72
+ addButtonLabel: string;
73
+ removeButtonLabel: string;
74
+ missingErrorMessage: string;
75
+ placeholderStart: string;
76
+ placeholderEnd: string;
77
+ minStart?: (date?: Date) => Date;
78
+ maxStart?: (date?: Date) => Date;
79
+ minEnd?: (date?: Date) => Date;
80
+ maxEnd?: (date?: Date) => Date;
81
+ filter?: DateFilterFn<Date>;
82
+ constructor(data: DateRangeArrayDecoratorConfig);
83
+ }
84
+ /**
85
+ * The internal StringChipsArrayDecoratorConfig. Sets default values.
86
+ */
16
87
  export declare class StringChipsArrayDecoratorConfigInternal extends PropertyDecoratorConfigInternal implements StringChipsArrayDecoratorConfig {
17
88
  itemType: DecoratorTypes.STRING;
18
- displayStyle: 'chips';
19
- deleteHtml?: string;
89
+ allowDuplicates: boolean;
90
+ duplicatesErrorDialog: ConfirmDialogData;
91
+ deleteIcon: string;
20
92
  minLength?: number;
21
93
  maxLength?: number;
22
94
  regex?: RegExp;
23
95
  constructor(data: StringChipsArrayDecoratorConfig);
24
96
  }
97
+ /**
98
+ * The internal AutocompleteStringChipsArrayDecoratorConfig. Sets default values.
99
+ */
25
100
  export declare class AutocompleteStringChipsArrayDecoratorConfigInternal extends PropertyDecoratorConfigInternal implements AutocompleteStringChipsArrayDecoratorConfig {
26
101
  autocompleteValues: string[];
27
102
  itemType: DecoratorTypes.STRING_AUTOCOMPLETE;
28
- displayStyle: 'chips';
29
- deleteHtml?: string;
103
+ allowDuplicates: boolean;
104
+ duplicatesErrorDialog: ConfirmDialogData;
105
+ deleteIcon: string;
30
106
  minLength?: number;
31
107
  maxLength?: number;
32
108
  regex?: RegExp;
@@ -1,8 +1,16 @@
1
- import { Entity } from '../../classes/entity-model.class';
2
1
  import { CreateDialogData } from '../../components/table/table-data';
2
+ import { BaseEntityType, EntityClassNewable } from '../../classes/entity.model';
3
3
  import { DecoratorTypes } from '../base/decorator-types.enum';
4
4
  import { PropertyDecoratorConfig } from '../base/property-decorator.data';
5
- export interface ArrayTableDisplayColumn<EntityType extends Entity> {
5
+ import { DateFilterFn } from '@angular/material/datepicker';
6
+ import { Time } from '@angular/common';
7
+ import { DropdownValue } from '../base/dropdown-value.interface';
8
+ import { DateRange } from '../date/date-decorator.data';
9
+ import { ConfirmDialogData } from '../../components/confirm-dialog/confirm-dialog-data';
10
+ /**
11
+ * The configuration options for an array property displayed as a table.
12
+ */
13
+ export interface ArrayTableDisplayColumn<EntityType extends BaseEntityType<EntityType>> {
6
14
  /**
7
15
  * The name inside the header.
8
16
  */
@@ -15,26 +23,31 @@ export interface ArrayTableDisplayColumn<EntityType extends Entity> {
15
23
  /**
16
24
  * Interface definition for the @array metadata.
17
25
  */
18
- declare abstract class ArrayDecoratorConfig extends PropertyDecoratorConfig {
19
- /**
20
- * How to display the string.
21
- */
22
- displayStyle: 'table' | 'chips';
26
+ export declare abstract class ArrayDecoratorConfig extends PropertyDecoratorConfig {
23
27
  /**
24
28
  * The type of the items inside the array.
25
29
  */
26
30
  itemType: DecoratorTypes;
31
+ /**
32
+ * Whether or not duplicate values are allowed inside the array.
33
+ *
34
+ * @default false
35
+ */
36
+ allowDuplicates?: boolean;
37
+ /**
38
+ * The error dialog to display when the user tries to add a duplicate entry.
39
+ */
40
+ duplicatesErrorDialog?: ConfirmDialogData;
27
41
  }
28
42
  /**
29
43
  * Definition for an array of Entities.
30
44
  */
31
- export interface EntityArrayDecoratorConfig<EntityType extends Entity> extends ArrayDecoratorConfig {
45
+ export interface EntityArrayDecoratorConfig<EntityType extends BaseEntityType<EntityType>> extends ArrayDecoratorConfig {
32
46
  itemType: DecoratorTypes.OBJECT;
33
- displayStyle: 'table';
34
47
  /**
35
48
  * The EntityClass used for generating the create inputs.
36
49
  */
37
- EntityClass: new (entity?: EntityType) => EntityType;
50
+ EntityClass: EntityClassNewable<EntityType>;
38
51
  /**
39
52
  * The definition of the columns to display. Consists of the displayName to show in the header of the row
40
53
  * and the value, which is a function that generates the value to display inside a column.
@@ -52,26 +65,193 @@ export interface EntityArrayDecoratorConfig<EntityType extends Entity> extends A
52
65
  * @default true
53
66
  */
54
67
  createInline?: boolean;
68
+ /**
69
+ * The label for the add button when createInline is true.
70
+ *
71
+ * @default 'Add'
72
+ */
73
+ addButtonLabel?: string;
74
+ /**
75
+ * The label for the remove button when createInline is true.
76
+ *
77
+ * @default 'Remove'
78
+ */
79
+ removeButtonLabel?: string;
55
80
  /**
56
81
  * The error-message to display when the array is required but contains no values.
57
82
  */
58
83
  missingErrorMessage?: string;
59
84
  }
85
+ /**
86
+ * Definition for an array of Dates.
87
+ */
88
+ export interface DateArrayDecoratorConfig extends ArrayDecoratorConfig {
89
+ itemType: DecoratorTypes.DATE;
90
+ /**
91
+ * The definition of the columns to display. Consists of the displayName to show in the header of the row
92
+ * and the value, which is a function that generates the value to display inside a column.
93
+ */
94
+ displayColumns: ArrayTableDisplayColumn<Date>[];
95
+ /**
96
+ * The label for the add button.
97
+ *
98
+ * @default 'Add'
99
+ */
100
+ addButtonLabel?: string;
101
+ /**
102
+ * The label for the remove button.
103
+ *
104
+ * @default 'Remove'
105
+ */
106
+ removeButtonLabel?: string;
107
+ /**
108
+ * The error-message to display when the array is required but contains no values.
109
+ */
110
+ missingErrorMessage?: string;
111
+ /**
112
+ * A function to get the minimum value of the date.
113
+ */
114
+ min?: (date?: Date) => Date;
115
+ /**
116
+ * A function to get the maximum value of the date.
117
+ */
118
+ max?: (date?: Date) => Date;
119
+ /**
120
+ * A filter function to do more specific filtering. This could be the removal of e.g. All weekends.
121
+ */
122
+ filter?: DateFilterFn<Date | null | undefined>;
123
+ }
124
+ /**
125
+ * Definition for an array of DateTimes.
126
+ */
127
+ export interface DateTimeArrayDecoratorConfig extends ArrayDecoratorConfig {
128
+ itemType: DecoratorTypes.DATE_TIME;
129
+ /**
130
+ * The definition of the columns to display. Consists of the displayName to show in the header of the row
131
+ * and the value, which is a function that generates the value to display inside a column.
132
+ */
133
+ displayColumns: ArrayTableDisplayColumn<Date>[];
134
+ /**
135
+ * The label for the add button.
136
+ *
137
+ * @default 'Add'
138
+ */
139
+ addButtonLabel?: string;
140
+ /**
141
+ * The label for the remove button.
142
+ *
143
+ * @default 'Remove'
144
+ */
145
+ removeButtonLabel?: string;
146
+ /**
147
+ * The error-message to display when the array is required but contains no values.
148
+ */
149
+ missingErrorMessage?: string;
150
+ /**
151
+ * The selectable times.
152
+ */
153
+ times?: DropdownValue<Time>[];
154
+ /**
155
+ * The name to use as a label for the time form field.
156
+ *
157
+ * @default 'Time'
158
+ */
159
+ timeDisplayName?: string;
160
+ /**
161
+ * A function to get the minimum value of the date.
162
+ */
163
+ minDate?: (date?: Date) => Date;
164
+ /**
165
+ * A function to get the maximum value of the date.
166
+ */
167
+ maxDate?: (date?: Date) => Date;
168
+ /**
169
+ * A filter function to do more specific date filtering. This could be the removal of e.g. All weekends.
170
+ */
171
+ filterDate?: DateFilterFn<Date | null | undefined>;
172
+ /**
173
+ * A function to get the minimum value of the time.
174
+ */
175
+ minTime?: (date?: Date) => Time;
176
+ /**
177
+ * A function to get the maximum value of the time.
178
+ */
179
+ maxTime?: (date?: Date) => Time;
180
+ /**
181
+ * A filter function to do more specific time filtering. This could be e.g. The removal of lunch breaks.
182
+ */
183
+ filterTime?: ((time: Time) => boolean) | (() => boolean);
184
+ }
185
+ /**
186
+ * Definition for an array of DateRanges.
187
+ */
188
+ export interface DateRangeArrayDecoratorConfig extends ArrayDecoratorConfig {
189
+ itemType: DecoratorTypes.DATE_RANGE;
190
+ /**
191
+ * The definition of the columns to display. Consists of the displayName to show in the header of the row
192
+ * and the value, which is a function that generates the value to display inside a column.
193
+ */
194
+ displayColumns: ArrayTableDisplayColumn<DateRange>[];
195
+ /**
196
+ * The label for the add button.
197
+ *
198
+ * @default 'Add'
199
+ */
200
+ addButtonLabel?: string;
201
+ /**
202
+ * The label for the remove button.
203
+ *
204
+ * @default 'Remove'
205
+ */
206
+ removeButtonLabel?: string;
207
+ /**
208
+ * The error-message to display when the array is required but contains no values.
209
+ */
210
+ missingErrorMessage?: string;
211
+ /**
212
+ * A function to get the minimum value of the start date.
213
+ */
214
+ minStart?: (date?: Date) => Date;
215
+ /**
216
+ * A function to get the maximum value of the start date.
217
+ */
218
+ maxStart?: (date?: Date) => Date;
219
+ /**
220
+ * A function to get the minimum value of the end date.
221
+ */
222
+ minEnd?: (date?: Date) => Date;
223
+ /**
224
+ * A function to get the maximum value of the end date.
225
+ */
226
+ maxEnd?: (date?: Date) => Date;
227
+ /**
228
+ * A filter function to do more specific filtering on the disallowed end date values. This could be the removal of e.g. All weekends.
229
+ */
230
+ filter?: DateFilterFn<Date>;
231
+ /**
232
+ * The placeholder for the start date of the date range picker.
233
+ *
234
+ * @default "Start"
235
+ */
236
+ placeholderStart?: string;
237
+ /**
238
+ * The placeholder for the end date of the date range picker.
239
+ *
240
+ * @default "End"
241
+ */
242
+ placeholderEnd?: string;
243
+ }
60
244
  /**
61
245
  * Definition for an array of strings displayed as a chips list.
62
246
  */
63
247
  export interface StringChipsArrayDecoratorConfig extends ArrayDecoratorConfig {
64
248
  itemType: DecoratorTypes.STRING;
65
- displayStyle: 'chips';
66
249
  /**
67
- * The html inside the delete-button.
68
- * Please note that custom tags such as <mat-icon></mat-icon>
69
- * need to be defined as known elements, otherwise the sanitizer will remove them.
70
- * You can however work around this by using `<span class="material-icons"></span>`.
250
+ * The class for the <i> tag used to remove an entry from the array.
71
251
  *
72
- * @default <mat-icon>cancel</mat-icon>
252
+ * @default 'fas fa-circle-minus'
73
253
  */
74
- deleteHtml?: string;
254
+ deleteIcon?: string;
75
255
  /**
76
256
  * The minimum required length of the string.
77
257
  */
@@ -90,16 +270,12 @@ export interface StringChipsArrayDecoratorConfig extends ArrayDecoratorConfig {
90
270
  */
91
271
  export interface AutocompleteStringChipsArrayDecoratorConfig extends ArrayDecoratorConfig {
92
272
  itemType: DecoratorTypes.STRING_AUTOCOMPLETE;
93
- displayStyle: 'chips';
94
273
  /**
95
- * The html inside the delete-button.
96
- * Please note that custom tags such as <mat-icon></mat-icon>
97
- * need to be defined as known elements, otherwise the sanitizer will remove them.
98
- * You can however work around this by using `<span class="material-icons"></span>`.
274
+ * The class for the <i> tag used to remove an entry from the array.
99
275
  *
100
- * @default <mat-icon>cancel</mat-icon>
276
+ * @default 'fas fa-circle-minus'
101
277
  */
102
- deleteHtml?: string;
278
+ deleteIcon?: string;
103
279
  /**
104
280
  * The autocomplete values.
105
281
  */
@@ -117,4 +293,3 @@ export interface AutocompleteStringChipsArrayDecoratorConfig extends ArrayDecora
117
293
  */
118
294
  regex?: RegExp;
119
295
  }
120
- export {};
@@ -1,10 +1,10 @@
1
- import { Entity } from '../../classes/entity-model.class';
2
- import { AutocompleteStringChipsArrayDecoratorConfig, EntityArrayDecoratorConfig, StringChipsArrayDecoratorConfig } from './array-decorator.data';
1
+ import { BaseEntityType } from '../../classes/entity.model';
2
+ import { AutocompleteStringChipsArrayDecoratorConfig, DateArrayDecoratorConfig, DateRangeArrayDecoratorConfig, DateTimeArrayDecoratorConfig, EntityArrayDecoratorConfig, StringChipsArrayDecoratorConfig } from './array-decorator.data';
3
3
  /**
4
- * Decorator for setting and getting array propery metadata.
4
+ * Decorator for setting and getting array property metadata.
5
5
  *
6
6
  * @param metadata - The metadata of the array property.
7
7
  * @returns The method that defines the metadata.
8
8
  * @throws When the given type of the array-items is unknown.
9
9
  */
10
- export declare function array<EntityType extends Entity>(metadata: EntityArrayDecoratorConfig<EntityType> | StringChipsArrayDecoratorConfig | AutocompleteStringChipsArrayDecoratorConfig): (target: object, propertyKey: string) => void;
10
+ export declare function array<EntityType extends BaseEntityType<EntityType>>(metadata: EntityArrayDecoratorConfig<EntityType> | StringChipsArrayDecoratorConfig | AutocompleteStringChipsArrayDecoratorConfig | DateArrayDecoratorConfig | DateTimeArrayDecoratorConfig | DateRangeArrayDecoratorConfig): (target: object, propertyKey: string) => void;