ngx-material-entity 0.1.4 → 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 (130) hide show
  1. package/capsulation/lodash.utilities.d.ts +62 -0
  2. package/capsulation/reflect.utilities.d.ts +56 -0
  3. package/classes/base.builder.d.ts +2 -1
  4. package/classes/date.utilities.d.ts +16 -4
  5. package/classes/entity.model.d.ts +7 -1
  6. package/classes/entity.service.d.ts +38 -1
  7. package/classes/entity.utilities.d.ts +43 -16
  8. package/classes/file.utilities.d.ts +52 -0
  9. package/components/input/add-array-item-dialog-data.builder.d.ts +3 -2
  10. package/components/input/add-array-item-dialog-data.d.ts +2 -1
  11. package/components/input/array/array-date-input/array-date-input.component.d.ts +22 -0
  12. package/components/input/array/array-date-range-input/array-date-range-input.component.d.ts +30 -0
  13. package/components/input/array/array-date-time-input/array-date-time-input.component.d.ts +32 -0
  14. package/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.d.ts +58 -0
  15. package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts +51 -0
  16. package/components/input/array/array-table.class.d.ts +48 -0
  17. package/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.d.ts +17 -0
  18. package/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.d.ts +17 -0
  19. package/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.d.ts +17 -0
  20. package/components/input/date/date-input/date-input.component.d.ts +21 -0
  21. package/components/input/date/date-range-input/date-range-input.component.d.ts +27 -0
  22. package/components/input/date/date-time-input/date-time-input.component.d.ts +38 -0
  23. package/components/input/file/file-default-input/file-default-input.component.d.ts +21 -0
  24. package/components/input/file/file-image-input/file-image-input.component.d.ts +30 -0
  25. package/components/input/file/file-input/dragDrop.directive.d.ts +32 -0
  26. package/components/input/file/file-input/file-input.component.d.ts +32 -0
  27. package/components/input/input.component.d.ts +37 -92
  28. package/components/input/input.module.d.ts +37 -16
  29. package/components/input/number/number-dropdown-input/number-dropdown-input.component.d.ts +17 -0
  30. package/components/input/number/number-input/number-input.component.d.ts +17 -0
  31. package/components/input/string/string-autocomplete-input/string-autocomplete-input.component.d.ts +25 -0
  32. package/components/input/string/string-dropdown-input/string-dropdown-input.component.d.ts +17 -0
  33. package/components/input/string/string-input/string-input.component.d.ts +17 -0
  34. package/components/input/string/string-textbox-input/string-textbox-input.component.d.ts +17 -0
  35. package/components/table/create-dialog/create-entity-dialog-data.builder.d.ts +3 -2
  36. package/components/table/create-dialog/create-entity-dialog-data.d.ts +2 -1
  37. package/components/table/create-dialog/create-entity-dialog.component.d.ts +7 -2
  38. package/components/table/edit-dialog/edit-dialog-data.builder.d.ts +3 -2
  39. package/components/table/edit-dialog/edit-entity-dialog-data.d.ts +2 -1
  40. package/components/table/edit-dialog/edit-entity-dialog.builder.d.ts +3 -2
  41. package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +5 -2
  42. package/components/table/table-data.builder.d.ts +5 -5
  43. package/components/table/table-data.d.ts +6 -6
  44. package/components/table/table.component.d.ts +2 -1
  45. package/decorators/array/array-decorator-internal.data.d.ts +71 -6
  46. package/decorators/array/array-decorator.data.d.ts +178 -12
  47. package/decorators/array/array.decorator.d.ts +3 -2
  48. package/decorators/base/base-property.decorator.d.ts +2 -3
  49. package/decorators/base/decorator-types.enum.d.ts +9 -3
  50. package/decorators/date/date-decorator-internal.data.d.ts +2 -2
  51. package/decorators/date/date.decorator.d.ts +8 -0
  52. package/decorators/file/file-decorator-internal.data.d.ts +92 -0
  53. package/decorators/file/file-decorator.data.d.ts +92 -0
  54. package/decorators/file/file.decorator.d.ts +9 -0
  55. package/decorators/object/object-decorator-internal.data.d.ts +2 -2
  56. package/decorators/object/object-decorator.data.d.ts +3 -3
  57. package/decorators/object/object.decorator.d.ts +2 -1
  58. package/esm2020/capsulation/lodash.utilities.mjs +75 -0
  59. package/esm2020/capsulation/reflect.utilities.mjs +69 -0
  60. package/esm2020/classes/base.builder.mjs +2 -3
  61. package/esm2020/classes/date.utilities.mjs +33 -13
  62. package/esm2020/classes/entity.model.mjs +1 -1
  63. package/esm2020/classes/entity.service.mjs +103 -6
  64. package/esm2020/classes/entity.utilities.mjs +202 -71
  65. package/esm2020/classes/file.utilities.mjs +123 -0
  66. package/esm2020/components/confirm-dialog/confirm-dialog-data.builder.mjs +4 -4
  67. package/esm2020/components/confirm-dialog/confirm-dialog.component.mjs +3 -3
  68. package/esm2020/components/input/add-array-item-dialog-data.builder.mjs +2 -2
  69. package/esm2020/components/input/add-array-item-dialog-data.mjs +1 -1
  70. package/esm2020/components/input/array/array-date-input/array-date-input.component.mjs +44 -0
  71. package/esm2020/components/input/array/array-date-range-input/array-date-range-input.component.mjs +68 -0
  72. package/esm2020/components/input/array/array-date-time-input/array-date-time-input.component.mjs +65 -0
  73. package/esm2020/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +131 -0
  74. package/esm2020/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +116 -0
  75. package/esm2020/components/input/array/array-table.class.mjs +92 -0
  76. package/esm2020/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +38 -0
  77. package/esm2020/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +35 -0
  78. package/esm2020/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +38 -0
  79. package/esm2020/components/input/date/date-input/date-input.component.mjs +38 -0
  80. package/esm2020/components/input/date/date-range-input/date-range-input.component.mjs +63 -0
  81. package/esm2020/components/input/date/date-time-input/date-time-input.component.mjs +74 -0
  82. package/esm2020/components/input/file/file-default-input/file-default-input.component.mjs +39 -0
  83. package/esm2020/components/input/file/file-image-input/file-image-input.component.mjs +95 -0
  84. package/esm2020/components/input/file/file-input/dragDrop.directive.mjs +64 -0
  85. package/esm2020/components/input/file/file-input/file-input.component.mjs +152 -0
  86. package/esm2020/components/input/input.component.mjs +124 -234
  87. package/esm2020/components/input/input.module.mjs +66 -3
  88. package/esm2020/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +36 -0
  89. package/esm2020/components/input/number/number-input/number-input.component.mjs +34 -0
  90. package/esm2020/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +52 -0
  91. package/esm2020/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +36 -0
  92. package/esm2020/components/input/string/string-input/string-input.component.mjs +34 -0
  93. package/esm2020/components/input/string/string-textbox-input/string-textbox-input.component.mjs +35 -0
  94. package/esm2020/components/table/create-dialog/create-dialog-data.builder.mjs +2 -2
  95. package/esm2020/components/table/create-dialog/create-entity-dialog-data.builder.mjs +1 -1
  96. package/esm2020/components/table/create-dialog/create-entity-dialog-data.mjs +1 -1
  97. package/esm2020/components/table/create-dialog/create-entity-dialog.component.mjs +15 -8
  98. package/esm2020/components/table/edit-dialog/edit-dialog-data.builder.mjs +2 -2
  99. package/esm2020/components/table/edit-dialog/edit-entity-dialog-data.mjs +1 -1
  100. package/esm2020/components/table/edit-dialog/edit-entity-dialog.builder.mjs +2 -2
  101. package/esm2020/components/table/edit-dialog/edit-entity-dialog.component.mjs +18 -10
  102. package/esm2020/components/table/table-data.builder.mjs +3 -3
  103. package/esm2020/components/table/table-data.mjs +1 -1
  104. package/esm2020/components/table/table.component.mjs +21 -23
  105. package/esm2020/decorators/array/array-decorator-internal.data.mjs +102 -14
  106. package/esm2020/decorators/array/array-decorator.data.mjs +2 -2
  107. package/esm2020/decorators/array/array.decorator.mjs +8 -2
  108. package/esm2020/decorators/base/base-property.decorator.mjs +4 -3
  109. package/esm2020/decorators/base/decorator-types.enum.mjs +6 -1
  110. package/esm2020/decorators/base/property-decorator-internal.data.mjs +10 -10
  111. package/esm2020/decorators/base/property-decorator.data.mjs +1 -1
  112. package/esm2020/decorators/boolean/boolean-decorator-internal.data.mjs +3 -3
  113. package/esm2020/decorators/date/date-decorator-internal.data.mjs +5 -5
  114. package/esm2020/decorators/date/date.decorator.mjs +21 -0
  115. package/esm2020/decorators/file/file-decorator-internal.data.mjs +98 -0
  116. package/esm2020/decorators/file/file-decorator.data.mjs +7 -0
  117. package/esm2020/decorators/file/file.decorator.mjs +22 -0
  118. package/esm2020/decorators/object/object-decorator-internal.data.mjs +1 -1
  119. package/esm2020/decorators/object/object-decorator.data.mjs +1 -1
  120. package/esm2020/decorators/object/object.decorator.mjs +1 -1
  121. package/esm2020/decorators/string/string.decorator.mjs +1 -1
  122. package/esm2020/mocks/placeholder-data.png.mjs +3 -0
  123. package/esm2020/public-api.mjs +6 -1
  124. package/fesm2015/ngx-material-entity.mjs +2452 -459
  125. package/fesm2015/ngx-material-entity.mjs.map +1 -1
  126. package/fesm2020/ngx-material-entity.mjs +2370 -464
  127. package/fesm2020/ngx-material-entity.mjs.map +1 -1
  128. package/mocks/placeholder-data.png.d.ts +1 -0
  129. package/package.json +1 -1
  130. package/public-api.d.ts +5 -0
@@ -1,26 +1,17 @@
1
- import { OnInit, TemplateRef } from '@angular/core';
1
+ import { EventEmitter, OnInit, TemplateRef } from '@angular/core';
2
2
  import { NgModel } from '@angular/forms';
3
3
  import { EntityRow, EntityUtilities } from '../../classes/entity.utilities';
4
4
  import { DecoratorTypes } from '../../decorators/base/decorator-types.enum';
5
- import { MatChipInputEvent } from '@angular/material/chips';
6
- import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
7
- import { AutocompleteStringChipsArrayDecoratorConfigInternal, EntityArrayDecoratorConfigInternal, StringChipsArrayDecoratorConfigInternal } from '../../decorators/array/array-decorator-internal.data';
8
- import { DropdownBooleanDecoratorConfigInternal } from '../../decorators/boolean/boolean-decorator-internal.data';
9
- import { DefaultNumberDecoratorConfigInternal, DropdownNumberDecoratorConfigInternal } from '../../decorators/number/number-decorator-internal.data';
5
+ import { EntityArrayDecoratorConfigInternal } from '../../decorators/array/array-decorator-internal.data';
10
6
  import { DefaultObjectDecoratorConfigInternal } from '../../decorators/object/object-decorator-internal.data';
11
- import { AutocompleteStringDecoratorConfigInternal, DefaultStringDecoratorConfigInternal, DropdownStringDecoratorConfigInternal, TextboxStringDecoratorConfigInternal } from '../../decorators/string/string-decorator-internal.data';
12
7
  import { PropertyDecoratorConfigInternal } from '../../decorators/base/property-decorator-internal.data';
13
8
  import { MatTableDataSource } from '@angular/material/table';
14
9
  import { SelectionModel } from '@angular/cdk/collections';
15
10
  import { AddArrayItemDialogDataInternal } from './add-array-item-dialog-data.builder';
16
11
  import { AddArrayItemDialogData } from './add-array-item-dialog-data';
17
12
  import { MatDialog, MatDialogRef } from '@angular/material/dialog';
18
- import { DateRangeDateDecoratorConfigInternal, DateTimeDateDecoratorConfigInternal, DefaultDateDecoratorConfigInternal } from '../../decorators/date/date-decorator-internal.data';
19
13
  import { DateUtilities } from '../../classes/date.utilities';
20
- import { DateFilterFn } from '@angular/material/datepicker';
21
- import { DateRange } from '../../decorators/date/date-decorator.data';
22
- import { Time } from '@angular/common';
23
- import { DropdownValue } from '../../decorators/base/dropdown-value.interface';
14
+ import { BaseEntityType } from '../../classes/entity.model';
24
15
  import * as i0 from "@angular/core";
25
16
  /**
26
17
  * The default input component. It gets the metadata of the property from the given @Input "entity" and @Input "propertyKey"
@@ -30,21 +21,24 @@ import * as i0 from "@angular/core";
30
21
  * that it should be omitted for creating or updating.
31
22
  * The last part being mostly relevant if you want to use this component inside an ngFor.
32
23
  */
33
- export declare class NgxMatEntityInputComponent<EntityType extends object> implements OnInit {
24
+ export declare class NgxMatEntityInputComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
34
25
  private readonly dialog;
35
26
  /**
36
27
  * The entity on which the property exists. Used in conjunction with the "propertyKey"
37
28
  * to determine the property for which the input should be generated.
38
29
  */
39
- entity: EntityType;
30
+ entity?: EntityType;
31
+ internalEntity: EntityType;
40
32
  /**
41
33
  * The name of the property to generate the input for. Used in conjunction with the "entity".
42
34
  */
43
- propertyKey: keyof EntityType;
35
+ propertyKey?: keyof EntityType;
36
+ internalPropertyKey: keyof EntityType;
44
37
  /**
45
38
  * (optional) A custom function to generate the error-message for invalid inputs.
46
39
  */
47
- getValidationErrorMessage: (model: NgModel) => string;
40
+ getValidationErrorMessage?: (model: NgModel) => string;
41
+ internalGetValidationErrorMessage: (model: NgModel) => string;
48
42
  /**
49
43
  * Whether to hide a value if it is omitted for creation.
50
44
  * Is used internally for the object property.
@@ -55,51 +49,31 @@ export declare class NgxMatEntityInputComponent<EntityType extends object> imple
55
49
  * Is used internally for the object property.
56
50
  */
57
51
  hideOmitForEdit?: boolean;
52
+ inputChangeEvent: EventEmitter<void>;
58
53
  addArrayItemDialog: TemplateRef<unknown>;
59
54
  addArrayItemDialogRef: MatDialogRef<unknown>;
60
55
  type: DecoratorTypes;
61
56
  metadata: PropertyDecoratorConfigInternal;
62
- metadataDefaultString: DefaultStringDecoratorConfigInternal;
63
- metadataTextboxString: TextboxStringDecoratorConfigInternal;
64
- metadataAutocompleteString: AutocompleteStringDecoratorConfigInternal;
65
- autocompleteStrings: string[];
66
- filteredAutocompleteStrings: string[];
67
- metadataDropdownString: DropdownStringDecoratorConfigInternal;
68
- metadataDropdownBoolean: DropdownBooleanDecoratorConfigInternal;
69
- metadataDefaultNumber: DefaultNumberDecoratorConfigInternal;
70
- metadataDropdownNumber: DropdownNumberDecoratorConfigInternal;
71
57
  metadataDefaultObject: DefaultObjectDecoratorConfigInternal<EntityType>;
72
58
  objectProperty: EntityType;
73
59
  objectPropertyRows: EntityRow<EntityType>[];
74
60
  metadataEntityArray: EntityArrayDecoratorConfigInternal<EntityType>;
75
61
  entityArrayValues: EntityType[];
76
- metadataStringChipsArray: StringChipsArrayDecoratorConfigInternal;
77
- stringChipsArrayValues: string[];
78
- chipsInput: string;
79
- metadataAutocompleteStringChipsArray: AutocompleteStringChipsArrayDecoratorConfigInternal;
80
- metadataDefaultDate: DefaultDateDecoratorConfigInternal;
81
- metadataDateRangeDate: DateRangeDateDecoratorConfigInternal;
82
- metadataDateTimeDate: DateTimeDateDecoratorConfigInternal;
83
- dateRange: DateRange;
84
- dateRangeStart: Date;
85
- dateRangeEnd: Date;
86
- dateTime: Date;
87
- time: Time;
88
- timeDropdownValues: DropdownValue<Time>[];
89
62
  arrayItem: EntityType;
90
63
  private arrayItemPriorChanges;
91
64
  arrayItemInlineRows: EntityRow<EntityType>[];
92
65
  dataSource: MatTableDataSource<EntityType>;
93
66
  selection: SelectionModel<EntityType>;
94
67
  displayedColumns: string[];
68
+ isArrayItemValid: boolean;
95
69
  dialogInputData: AddArrayItemDialogData<EntityType>;
96
70
  dialogData: AddArrayItemDialogDataInternal<EntityType>;
97
71
  arrayItemDialogRows: EntityRow<EntityType>[];
72
+ isDialogArrayItemValid: boolean;
98
73
  readonly DecoratorTypes: typeof DecoratorTypes;
99
74
  EntityUtilities: typeof EntityUtilities;
100
75
  DateUtilities: typeof DateUtilities;
101
76
  constructor(dialog: MatDialog);
102
- defaultDateFilter: DateFilterFn<Date | null | undefined>;
103
77
  /**
104
78
  * This is needed for the inputs to work inside an ngFor.
105
79
  *
@@ -108,28 +82,26 @@ export declare class NgxMatEntityInputComponent<EntityType extends object> imple
108
82
  */
109
83
  trackByFn(index: unknown): unknown;
110
84
  ngOnInit(): void;
85
+ private initEntityArray;
86
+ private initObjectInput;
111
87
  /**
112
- * Checks if two times are equal. Is needed for the dropdown.
113
- *
114
- * @param time1 - The first time to compare.
115
- * @param time2 - The second time to compare.
116
- * @returns Whether or not the time objects are the same.
88
+ * Checks if the arrayItem is valid.
117
89
  */
118
- compareTimes(time1: Time, time2: Time): boolean;
90
+ checkIsArrayItemValid(): void;
119
91
  /**
120
- * Updates the date range values based on the start and end date.
92
+ * Checks if the arrayItem inside the dialog is valid.
121
93
  */
122
- setDateRangeValues(): void;
94
+ checkIsDialogArrayItemValid(): void;
123
95
  /**
124
- * Sets the time on a datetime property.
96
+ * Emits that a the value has been changed.
125
97
  */
126
- setTime(): void;
98
+ emitChange(): void;
127
99
  /**
128
- * Tries to add an item to the array.
100
+ * Tries to add an item to the entity array.
129
101
  * Does this either inline if the "createInline"-metadata is set to true
130
102
  * or in a separate dialog if it is set to false.
131
103
  */
132
- add(): void;
104
+ addEntity(): void;
133
105
  /**
134
106
  * Adds the array item defined in the dialog.
135
107
  */
@@ -139,56 +111,29 @@ export declare class NgxMatEntityInputComponent<EntityType extends object> imple
139
111
  */
140
112
  cancelAddArrayItem(): void;
141
113
  /**
142
- * Removes all selected entries from the array.
114
+ * Removes all selected entries from the entity array.
115
+ *
116
+ * @param selection - The selection containing the items to remove.
117
+ * @param values - The values of the dataSource.
118
+ * @param dataSource - The dataSource.
143
119
  */
144
- remove(): void;
120
+ remove(selection: SelectionModel<any>, values: any[], dataSource: MatTableDataSource<any>): void;
145
121
  /**
146
122
  * Toggles all array-items in the table.
123
+ *
124
+ * @param selection - The selection to toggle.
125
+ * @param dataSource - The dataSource of the selection.
147
126
  */
148
- masterToggle(): void;
127
+ masterToggle(selection: SelectionModel<any>, dataSource: MatTableDataSource<any>): void;
149
128
  /**
150
129
  * Checks if all array-items in the table have been selected.
151
130
  * This is needed to display the "masterToggle"-checkbox correctly.
152
131
  *
132
+ * @param selection - The selection to check.
133
+ * @param dataSource - The dataSource of the selection.
153
134
  * @returns Whether or not all array-items in the table have been selected.
154
135
  */
155
- isAllSelected(): boolean;
156
- /**
157
- * Handles adding strings to the chipsArray.
158
- * Checks validation and also creates a new array if it is undefined.
159
- * This is needed because two things are validated: The array itself
160
- * and the contents of the array. And we need a way to display an
161
- * mat-error. As the only validation for the array is whether or not
162
- * it contains values, we can set it to undefined when the last element is removed
163
- * (removeStringChipArrayValue). That way we can use the "required" validator.
164
- *
165
- * @param event - The event that fires when a new chip is completed.
166
- */
167
- addStringChipArrayValue(event: MatChipInputEvent): void;
168
- /**
169
- * Removes the given value from the array.
170
- * Sets the array to undefined if it is now empty.
171
- * This is needed because two things are validated: The array itself
172
- * and the contents of the array. And we need a way to display an
173
- * mat-error. As the only validation for the array is whether or not
174
- * it is empty, setting it to undefined here enables us to use the "required" validator.
175
- *
176
- * @param value - The string to remove from the array.
177
- */
178
- removeStringChipArrayValue(value: string): void;
179
- /**
180
- * Handles adding a string to the array when an autocomplete value has been selected.
181
- *
182
- * @param event - The autocomplete selected event.
183
- * @param chipsInput - The element where the user typed the value.
184
- */
185
- selected(event: MatAutocompleteSelectedEvent, chipsInput: HTMLInputElement): void;
186
- /**
187
- * Dynamically filters the Autocomplete options when the user inputs something.
188
- *
189
- * @param input - The input of the user.
190
- */
191
- filterAutocompleteStrings(input: unknown): void;
136
+ isAllSelected(selection: SelectionModel<any>, dataSource: MatTableDataSource<any>): boolean;
192
137
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityInputComponent<any>, never>;
193
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatEntityInputComponent<any>, "ngx-mat-entity-input", never, { "entity": "entity"; "propertyKey": "propertyKey"; "getValidationErrorMessage": "getValidationErrorMessage"; "hideOmitForCreate": "hideOmitForCreate"; "hideOmitForEdit": "hideOmitForEdit"; }, {}, never, never>;
138
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatEntityInputComponent<any>, "ngx-mat-entity-input", never, { "entity": "entity"; "propertyKey": "propertyKey"; "getValidationErrorMessage": "getValidationErrorMessage"; "hideOmitForCreate": "hideOmitForCreate"; "hideOmitForEdit": "hideOmitForEdit"; }, { "inputChangeEvent": "inputChangeEvent"; }, never, never>;
194
139
  }
@@ -1,21 +1,42 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./input.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "@angular/material/input";
5
- import * as i4 from "@angular/forms";
6
- import * as i5 from "@angular/material/form-field";
7
- import * as i6 from "@angular/material/select";
8
- import * as i7 from "@angular/material/autocomplete";
9
- import * as i8 from "@angular/material/checkbox";
10
- import * as i9 from "@angular/material/slide-toggle";
11
- import * as i10 from "@angular/material/chips";
12
- import * as i11 from "@angular/material/icon";
13
- import * as i12 from "@angular/material/table";
14
- import * as i13 from "@angular/material/dialog";
15
- import * as i14 from "@angular/material/button";
16
- import * as i15 from "@angular/material/datepicker";
2
+ import * as i1 from "./string/string-input/string-input.component";
3
+ import * as i2 from "./string/string-textbox-input/string-textbox-input.component";
4
+ import * as i3 from "./string/string-autocomplete-input/string-autocomplete-input.component";
5
+ import * as i4 from "./string/string-dropdown-input/string-dropdown-input.component";
6
+ import * as i5 from "./boolean/boolean-checkbox-input/boolean-checkbox-input.component";
7
+ import * as i6 from "./boolean/boolean-toggle-input/boolean-toggle-input.component";
8
+ import * as i7 from "./boolean/boolean-dropdown-input/boolean-dropdown-input.component";
9
+ import * as i8 from "./number/number-input/number-input.component";
10
+ import * as i9 from "./number/number-dropdown-input/number-dropdown-input.component";
11
+ import * as i10 from "./array/array-string-chips-input/array-string-chips-input.component";
12
+ import * as i11 from "./array/array-string-autocomplete-chips/array-string-autocomplete-chips.component";
13
+ import * as i12 from "./date/date-input/date-input.component";
14
+ import * as i13 from "./date/date-range-input/date-range-input.component";
15
+ import * as i14 from "./date/date-time-input/date-time-input.component";
16
+ import * as i15 from "./array/array-date-input/array-date-input.component";
17
+ import * as i16 from "./array/array-date-time-input/array-date-time-input.component";
18
+ import * as i17 from "./array/array-date-range-input/array-date-range-input.component";
19
+ import * as i18 from "./file/file-input/file-input.component";
20
+ import * as i19 from "./file/file-image-input/file-image-input.component";
21
+ import * as i20 from "./file/file-default-input/file-default-input.component";
22
+ import * as i21 from "./file/file-input/dragDrop.directive";
23
+ import * as i22 from "./input.component";
24
+ import * as i23 from "@angular/common";
25
+ import * as i24 from "@angular/material/input";
26
+ import * as i25 from "@angular/forms";
27
+ import * as i26 from "@angular/material/form-field";
28
+ import * as i27 from "@angular/material/select";
29
+ import * as i28 from "@angular/material/autocomplete";
30
+ import * as i29 from "@angular/material/checkbox";
31
+ import * as i30 from "@angular/material/slide-toggle";
32
+ import * as i31 from "@angular/material/chips";
33
+ import * as i32 from "@angular/material/icon";
34
+ import * as i33 from "@angular/material/table";
35
+ import * as i34 from "@angular/material/dialog";
36
+ import * as i35 from "@angular/material/button";
37
+ import * as i36 from "@angular/material/datepicker";
17
38
  export declare class NgxMatEntityInputModule {
18
39
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityInputModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatEntityInputModule, [typeof i1.NgxMatEntityInputComponent], [typeof i2.CommonModule, typeof i3.MatInputModule, typeof i4.FormsModule, typeof i5.MatFormFieldModule, typeof i6.MatSelectModule, typeof i7.MatAutocompleteModule, typeof i8.MatCheckboxModule, typeof i9.MatSlideToggleModule, typeof i10.MatChipsModule, typeof i11.MatIconModule, typeof i12.MatTableModule, typeof i13.MatDialogModule, typeof i14.MatButtonModule, typeof i15.MatDatepickerModule], [typeof i1.NgxMatEntityInputComponent]>;
40
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatEntityInputModule, [typeof i1.StringInputComponent, typeof i2.StringTextboxInputComponent, typeof i3.StringAutocompleteInputComponent, typeof i4.StringDropdownInputComponent, typeof i5.BooleanCheckboxInputComponent, typeof i6.BooleanToggleInputComponent, typeof i7.BooleanDropdownInputComponent, typeof i8.NumberInputComponent, typeof i9.NumberDropdownInputComponent, typeof i10.ArrayStringChipsInputComponent, typeof i11.ArrayStringAutocompleteChipsComponent, typeof i12.DateInputComponent, typeof i13.DateRangeInputComponent, typeof i14.DateTimeInputComponent, typeof i15.ArrayDateInputComponent, typeof i16.ArrayDateTimeInputComponent, typeof i17.ArrayDateRangeInputComponent, typeof i18.FileInputComponent, typeof i19.FileImageInputComponent, typeof i20.FileDefaultInputComponent, typeof i21.DragDropDirective, typeof i22.NgxMatEntityInputComponent], [typeof i23.CommonModule, typeof i24.MatInputModule, typeof i25.FormsModule, typeof i26.MatFormFieldModule, typeof i27.MatSelectModule, typeof i28.MatAutocompleteModule, typeof i29.MatCheckboxModule, typeof i30.MatSlideToggleModule, typeof i31.MatChipsModule, typeof i32.MatIconModule, typeof i33.MatTableModule, typeof i34.MatDialogModule, typeof i35.MatButtonModule, typeof i36.MatDatepickerModule], [typeof i22.NgxMatEntityInputComponent]>;
20
41
  static ɵinj: i0.ɵɵInjectorDeclaration<NgxMatEntityInputModule>;
21
42
  }
@@ -0,0 +1,17 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { DropdownNumberDecoratorConfigInternal } from '../../../../decorators/number/number-decorator-internal.data';
3
+ import { NgModel } from '@angular/forms';
4
+ import { BaseEntityType } from '../../../../classes/entity.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class NumberDropdownInputComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
7
+ entity: EntityType;
8
+ key: keyof EntityType;
9
+ getValidationErrorMessage: (model: NgModel) => string;
10
+ inputChangeEvent: EventEmitter<void>;
11
+ metadata: DropdownNumberDecoratorConfigInternal;
12
+ constructor();
13
+ ngOnInit(): void;
14
+ emitChange(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<NumberDropdownInputComponent<any>, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<NumberDropdownInputComponent<any>, "number-dropdown-input", never, { "entity": "entity"; "key": "key"; "getValidationErrorMessage": "getValidationErrorMessage"; }, { "inputChangeEvent": "inputChangeEvent"; }, never, never>;
17
+ }
@@ -0,0 +1,17 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { DefaultNumberDecoratorConfigInternal } from '../../../../decorators/number/number-decorator-internal.data';
3
+ import { NgModel } from '@angular/forms';
4
+ import { BaseEntityType } from '../../../../classes/entity.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class NumberInputComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
7
+ entity: EntityType;
8
+ key: keyof EntityType;
9
+ getValidationErrorMessage: (model: NgModel) => string;
10
+ inputChangeEvent: EventEmitter<void>;
11
+ metadata: DefaultNumberDecoratorConfigInternal;
12
+ constructor();
13
+ ngOnInit(): void;
14
+ emitChange(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<NumberInputComponent<any>, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<NumberInputComponent<any>, "number-input", never, { "entity": "entity"; "key": "key"; "getValidationErrorMessage": "getValidationErrorMessage"; }, { "inputChangeEvent": "inputChangeEvent"; }, never, never>;
17
+ }
@@ -0,0 +1,25 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { NgModel } from '@angular/forms';
3
+ import { AutocompleteStringDecoratorConfigInternal } from '../../../../decorators/string/string-decorator-internal.data';
4
+ import { BaseEntityType } from '../../../../classes/entity.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class StringAutocompleteInputComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
7
+ entity: EntityType;
8
+ key: keyof EntityType;
9
+ getValidationErrorMessage: (model: NgModel) => string;
10
+ inputChangeEvent: EventEmitter<void>;
11
+ metadata: AutocompleteStringDecoratorConfigInternal;
12
+ autocompleteStrings: string[];
13
+ filteredAutocompleteStrings: string[];
14
+ constructor();
15
+ ngOnInit(): void;
16
+ /**
17
+ * Dynamically filters the Autocomplete options when the user inputs something.
18
+ *
19
+ * @param input - The input of the user.
20
+ */
21
+ filterAutocompleteStrings(input: unknown): void;
22
+ emitChange(): void;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<StringAutocompleteInputComponent<any>, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<StringAutocompleteInputComponent<any>, "string-autocomplete-input", never, { "entity": "entity"; "key": "key"; "getValidationErrorMessage": "getValidationErrorMessage"; }, { "inputChangeEvent": "inputChangeEvent"; }, never, never>;
25
+ }
@@ -0,0 +1,17 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { DropdownStringDecoratorConfigInternal } from '../../../../decorators/string/string-decorator-internal.data';
3
+ import { NgModel } from '@angular/forms';
4
+ import { BaseEntityType } from '../../../../classes/entity.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class StringDropdownInputComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
7
+ entity: EntityType;
8
+ key: keyof EntityType;
9
+ getValidationErrorMessage: (model: NgModel) => string;
10
+ inputChangeEvent: EventEmitter<void>;
11
+ metadata: DropdownStringDecoratorConfigInternal;
12
+ constructor();
13
+ ngOnInit(): void;
14
+ emitChange(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<StringDropdownInputComponent<any>, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<StringDropdownInputComponent<any>, "string-dropdown-input", never, { "entity": "entity"; "key": "key"; "getValidationErrorMessage": "getValidationErrorMessage"; }, { "inputChangeEvent": "inputChangeEvent"; }, never, never>;
17
+ }
@@ -0,0 +1,17 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { DefaultStringDecoratorConfigInternal } from '../../../../decorators/string/string-decorator-internal.data';
3
+ import { NgModel } from '@angular/forms';
4
+ import { BaseEntityType } from '../../../../classes/entity.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class StringInputComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
7
+ entity: EntityType;
8
+ key: keyof EntityType;
9
+ getValidationErrorMessage: (model: NgModel) => string;
10
+ inputChangeEvent: EventEmitter<void>;
11
+ metadata: DefaultStringDecoratorConfigInternal;
12
+ constructor();
13
+ ngOnInit(): void;
14
+ emitChange(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<StringInputComponent<any>, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<StringInputComponent<any>, "string-input", never, { "entity": "entity"; "key": "key"; "getValidationErrorMessage": "getValidationErrorMessage"; }, { "inputChangeEvent": "inputChangeEvent"; }, never, never>;
17
+ }
@@ -0,0 +1,17 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { NgModel } from '@angular/forms';
3
+ import { TextboxStringDecoratorConfigInternal } from '../../../../decorators/string/string-decorator-internal.data';
4
+ import { BaseEntityType } from '../../../../classes/entity.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class StringTextboxInputComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
7
+ entity: EntityType;
8
+ key: keyof EntityType;
9
+ getValidationErrorMessage: (model: NgModel) => string;
10
+ inputChangeEvent: EventEmitter<void>;
11
+ metadata: TextboxStringDecoratorConfigInternal;
12
+ constructor();
13
+ ngOnInit(): void;
14
+ emitChange(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<StringTextboxInputComponent<any>, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<StringTextboxInputComponent<any>, "string-textbox-input", never, { "entity": "entity"; "key": "key"; "getValidationErrorMessage": "getValidationErrorMessage"; }, { "inputChangeEvent": "inputChangeEvent"; }, never, never>;
17
+ }
@@ -3,10 +3,11 @@ import { CreateEntityDialogData } from './create-entity-dialog-data';
3
3
  import { HttpClient } from '@angular/common/http';
4
4
  import { CreateDialogDataInternal } from './create-dialog-data.builder';
5
5
  import { BaseBuilder } from '../../../classes/base.builder';
6
+ import { BaseEntityType } from '../../../classes/entity.model';
6
7
  /**
7
8
  * The internal CreateEntityDialogData. Requires all default values the user can leave out.
8
9
  */
9
- export declare class CreateEntityDialogDataInternal<EntityType extends object> implements CreateEntityDialogData<EntityType> {
10
+ export declare class CreateEntityDialogDataInternal<EntityType extends BaseEntityType<EntityType>> implements CreateEntityDialogData<EntityType> {
10
11
  entity: EntityType;
11
12
  EntityServiceClass: new (httpClient: HttpClient) => EntityService<EntityType>;
12
13
  createDialogData: CreateDialogDataInternal;
@@ -15,7 +16,7 @@ export declare class CreateEntityDialogDataInternal<EntityType extends object> i
15
16
  /**
16
17
  * The Builder for the CreateEntityDialogData. Sets default values.
17
18
  */
18
- export declare class CreateEntityDialogDataBuilder<EntityType extends object> extends BaseBuilder<CreateEntityDialogDataInternal<EntityType>, CreateEntityDialogData<EntityType>> {
19
+ export declare class CreateEntityDialogDataBuilder<EntityType extends BaseEntityType<EntityType>> extends BaseBuilder<CreateEntityDialogDataInternal<EntityType>, CreateEntityDialogData<EntityType>> {
19
20
  constructor(data: CreateEntityDialogData<EntityType>);
20
21
  protected generateBaseData(data: CreateEntityDialogData<EntityType>): CreateEntityDialogDataInternal<EntityType>;
21
22
  }
@@ -1,10 +1,11 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
+ import { BaseEntityType } from '../../../classes/entity.model';
2
3
  import { EntityService } from '../../../classes/entity.service';
3
4
  import { CreateDialogData } from '../table-data';
4
5
  /**
5
6
  * The Definition of the Create Entity Dialog Data.
6
7
  */
7
- export interface CreateEntityDialogData<EntityType extends object> {
8
+ export interface CreateEntityDialogData<EntityType extends BaseEntityType<EntityType>> {
8
9
  /**
9
10
  * An empty entity that is used as the data model.
10
11
  */
@@ -4,6 +4,7 @@ import { EntityService } from '../../../classes/entity.service';
4
4
  import { EntityRow, EntityUtilities } from '../../../classes/entity.utilities';
5
5
  import { CreateEntityDialogDataInternal } from './create-entity-dialog-data.builder';
6
6
  import { CreateEntityDialogData } from './create-entity-dialog-data';
7
+ import { BaseEntityType } from '../../../classes/entity.model';
7
8
  import * as i0 from "@angular/core";
8
9
  /**
9
10
  * The default dialog used to create new entities based on the configuration passed in the MAT_DIALOG_DATA "inputData".
@@ -11,7 +12,7 @@ import * as i0 from "@angular/core";
11
12
  *
12
13
  * It offers a lot of customization options which can be found in "CreateEntityDialogData".
13
14
  */
14
- export declare class NgxMatEntityCreateDialogComponent<EntityType extends object> implements OnInit {
15
+ export declare class NgxMatEntityCreateDialogComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
15
16
  private readonly inputData;
16
17
  dialogRef: MatDialogRef<NgxMatEntityCreateDialogComponent<EntityType>>;
17
18
  private readonly injector;
@@ -20,9 +21,13 @@ export declare class NgxMatEntityCreateDialogComponent<EntityType extends object
20
21
  entityRows: EntityRow<EntityType>[];
21
22
  entityService: EntityService<EntityType>;
22
23
  data: CreateEntityDialogDataInternal<EntityType>;
23
- getWidth: typeof EntityUtilities.getWidth;
24
+ isEntityValid: boolean;
24
25
  constructor(inputData: CreateEntityDialogData<EntityType>, dialogRef: MatDialogRef<NgxMatEntityCreateDialogComponent<EntityType>>, injector: Injector, dialog: MatDialog);
25
26
  ngOnInit(): void;
27
+ /**
28
+ * Checks if the entity is valid.
29
+ */
30
+ checkIsEntityValid(): void;
26
31
  /**
27
32
  * Tries add the new entity and close the dialog afterwards.
28
33
  * Also handles the confirmation if required.
@@ -1,10 +1,11 @@
1
+ import { BaseEntityType } from '../../../classes/entity.model';
1
2
  import { BaseBuilder } from '../../../classes/base.builder';
2
3
  import { ConfirmDialogData } from '../../confirm-dialog/confirm-dialog-data';
3
4
  import { EditDialogData } from '../table-data';
4
5
  /**
5
6
  * The internal EditDialogData. Requires all default values the user can leave out.
6
7
  */
7
- export declare class EditDialogDataInternal<EntityType extends object> implements EditDialogData<EntityType> {
8
+ export declare class EditDialogDataInternal<EntityType extends BaseEntityType<EntityType>> implements EditDialogData<EntityType> {
8
9
  title: (entity: EntityType) => string;
9
10
  confirmButtonLabel: string;
10
11
  deleteButtonLabel: string;
@@ -18,7 +19,7 @@ export declare class EditDialogDataInternal<EntityType extends object> implement
18
19
  /**
19
20
  * The Builder for the EditDialogData. Sets default values.
20
21
  */
21
- export declare class EditDialogDataBuilder<EntityType extends object> extends BaseBuilder<EditDialogDataInternal<EntityType>, EditDialogData<EntityType>> {
22
+ export declare class EditDialogDataBuilder<EntityType extends BaseEntityType<EntityType>> extends BaseBuilder<EditDialogDataInternal<EntityType>, EditDialogData<EntityType>> {
22
23
  constructor(data?: EditDialogData<EntityType>);
23
24
  protected generateBaseData(data?: EditDialogData<EntityType>): EditDialogDataInternal<EntityType>;
24
25
  }
@@ -1,10 +1,11 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
+ import { BaseEntityType } from '../../../classes/entity.model';
2
3
  import { EntityService } from '../../../classes/entity.service';
3
4
  import { EditDialogData } from '../table-data';
4
5
  /**
5
6
  * The Definition of the Edit Entity Dialog Data.
6
7
  */
7
- export interface EditEntityDialogData<EntityType extends object> {
8
+ export interface EditEntityDialogData<EntityType extends BaseEntityType<EntityType>> {
8
9
  /**
9
10
  * The entity to edit.
10
11
  */
@@ -3,10 +3,11 @@ import { HttpClient } from '@angular/common/http';
3
3
  import { EditEntityDialogData } from './edit-entity-dialog-data';
4
4
  import { EditDialogDataInternal } from './edit-dialog-data.builder';
5
5
  import { BaseBuilder } from '../../../classes/base.builder';
6
+ import { BaseEntityType } from '../../../classes/entity.model';
6
7
  /**
7
8
  * The internal EditEntityDialogData. Requires all default values the user can leave out.
8
9
  */
9
- export declare class EditEntityDialogDataInternal<EntityType extends object> implements EditEntityDialogData<EntityType> {
10
+ export declare class EditEntityDialogDataInternal<EntityType extends BaseEntityType<EntityType>> implements EditEntityDialogData<EntityType> {
10
11
  entity: EntityType;
11
12
  EntityServiceClass: new (httpClient: HttpClient) => EntityService<EntityType>;
12
13
  editDialogData: EditDialogDataInternal<EntityType>;
@@ -16,7 +17,7 @@ export declare class EditEntityDialogDataInternal<EntityType extends object> imp
16
17
  /**
17
18
  * The Builder for the EditEntityDialogData. Sets default values.
18
19
  */
19
- export declare class EditEntityDialogDataBuilder<EntityType extends object> extends BaseBuilder<EditEntityDialogDataInternal<EntityType>, EditEntityDialogData<EntityType>> {
20
+ export declare class EditEntityDialogDataBuilder<EntityType extends BaseEntityType<EntityType>> extends BaseBuilder<EditEntityDialogDataInternal<EntityType>, EditEntityDialogData<EntityType>> {
20
21
  constructor(data: EditEntityDialogData<EntityType>);
21
22
  protected generateBaseData(data: EditEntityDialogData<EntityType>): EditEntityDialogDataInternal<EntityType>;
22
23
  }
@@ -4,6 +4,7 @@ import { EntityService } from '../../../classes/entity.service';
4
4
  import { EntityRow, EntityUtilities } from '../../../classes/entity.utilities';
5
5
  import { EditEntityDialogData } from './edit-entity-dialog-data';
6
6
  import { EditEntityDialogDataInternal } from './edit-entity-dialog.builder';
7
+ import { BaseEntityType } from '../../../classes/entity.model';
7
8
  import * as i0 from "@angular/core";
8
9
  /**
9
10
  * The default dialog used to edit an existing entity based on the configuration passed in the MAT_DIALOG_DATA "inputData".
@@ -11,7 +12,7 @@ import * as i0 from "@angular/core";
11
12
  *
12
13
  * It offers a lot of customization options which can be found in "EditEntityDialogData".
13
14
  */
14
- export declare class NgxMatEntityEditDialogComponent<EntityType extends object> implements OnInit {
15
+ export declare class NgxMatEntityEditDialogComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
15
16
  private readonly inputData;
16
17
  dialogRef: MatDialogRef<NgxMatEntityEditDialogComponent<EntityType>>;
17
18
  private readonly injector;
@@ -21,9 +22,11 @@ export declare class NgxMatEntityEditDialogComponent<EntityType extends object>
21
22
  entityService: EntityService<EntityType>;
22
23
  entityPriorChanges: EntityType;
23
24
  data: EditEntityDialogDataInternal<EntityType>;
24
- getWidth: typeof EntityUtilities.getWidth;
25
+ isEntityValid: boolean;
26
+ isEntityDirty: Promise<boolean>;
25
27
  constructor(inputData: EditEntityDialogData<EntityType>, dialogRef: MatDialogRef<NgxMatEntityEditDialogComponent<EntityType>>, injector: Injector, dialog: MatDialog);
26
28
  ngOnInit(): void;
29
+ checkEntity(): void;
27
30
  /**
28
31
  * Tries to save the changes and close the dialog afterwards.
29
32
  * Also handles the confirmation if required.
@@ -4,11 +4,11 @@ import { EditDialogDataInternal } from './edit-dialog/edit-dialog-data.builder';
4
4
  import { BaseData, DisplayColumn, MultiSelectAction, TableData } from './table-data';
5
5
  import { HttpClient } from '@angular/common/http';
6
6
  import { BaseBuilder } from '../../classes/base.builder';
7
- import { EntityClassNewable } from '../../classes/entity.model';
7
+ import { BaseEntityType, EntityClassNewable } from '../../classes/entity.model';
8
8
  /**
9
9
  * The internal TableData. Requires all default values the user can leave out.
10
10
  */
11
- export declare class TableDataInternal<EntityType extends object> implements TableData<EntityType> {
11
+ export declare class TableDataInternal<EntityType extends BaseEntityType<EntityType>> implements TableData<EntityType> {
12
12
  baseData: BaseDataInternal<EntityType>;
13
13
  createDialogData: CreateDialogDataInternal;
14
14
  editDialogData: EditDialogDataInternal<EntityType>;
@@ -17,14 +17,14 @@ export declare class TableDataInternal<EntityType extends object> implements Tab
17
17
  /**
18
18
  * The Builder for the table BaseData. Sets default values.
19
19
  */
20
- export declare class BaseDataBuilder<EntityType extends object> extends BaseBuilder<BaseDataInternal<EntityType>, BaseData<EntityType>> {
20
+ export declare class BaseDataBuilder<EntityType extends BaseEntityType<EntityType>> extends BaseBuilder<BaseDataInternal<EntityType>, BaseData<EntityType>> {
21
21
  constructor(data: BaseData<EntityType>);
22
22
  protected generateBaseData(data: BaseData<EntityType>): BaseDataInternal<EntityType>;
23
23
  }
24
24
  /**
25
25
  * The internal TableData. Requires all default values the user can leave out.
26
26
  */
27
- export declare class BaseDataInternal<EntityType extends object> implements BaseData<EntityType> {
27
+ export declare class BaseDataInternal<EntityType extends BaseEntityType<EntityType>> implements BaseData<EntityType> {
28
28
  title: string;
29
29
  displayColumns: DisplayColumn<EntityType>[];
30
30
  EntityServiceClass: new (httpClient: HttpClient) => EntityService<EntityType>;
@@ -44,7 +44,7 @@ export declare class BaseDataInternal<EntityType extends object> implements Base
44
44
  /**
45
45
  * The Builder for the complete TableData. Sets default values and validates user input.
46
46
  */
47
- export declare class TableDataBuilder<EntityType extends object> extends BaseBuilder<TableDataInternal<EntityType>, TableData<EntityType>> {
47
+ export declare class TableDataBuilder<EntityType extends BaseEntityType<EntityType>> extends BaseBuilder<TableDataInternal<EntityType>, TableData<EntityType>> {
48
48
  constructor(data: TableData<EntityType>);
49
49
  protected generateBaseData(data: TableData<EntityType>): TableDataInternal<EntityType>;
50
50
  protected validateInput(data: TableData<EntityType>): void;