ngx-material-entity 1.1.4 → 1.1.6

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 (80) hide show
  1. package/README.md +4 -4
  2. package/classes/selection.utilities.d.ts +31 -0
  3. package/components/get-validation-error-message.function.d.ts +1 -10
  4. package/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.d.ts +1 -0
  5. package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts +1 -0
  6. package/components/input/array/array-table.class.d.ts +2 -12
  7. package/components/input/custom/custom.component.d.ts +1 -1
  8. package/components/input/input.component.d.ts +3 -21
  9. package/components/input/input.module.d.ts +20 -19
  10. package/components/input/relations/references-many-input/references-many-input.component.d.ts +27 -0
  11. package/components/table/table.component.d.ts +2 -11
  12. package/decorators/array/array-decorator-internal.data.d.ts +10 -10
  13. package/decorators/array/array-decorator.data.d.ts +5 -18
  14. package/decorators/base/decorator-types.enum.d.ts +3 -1
  15. package/decorators/custom/custom-decorator-internal.data.d.ts +1 -1
  16. package/decorators/custom/custom-decorator.data.d.ts +3 -3
  17. package/decorators/custom/custom.decorator.d.ts +1 -3
  18. package/decorators/references-many/references-many-decorator-internal.data.d.ts +20 -0
  19. package/decorators/references-many/references-many-decorator.data.d.ts +56 -0
  20. package/decorators/references-many/references-many.decorator.d.ts +9 -0
  21. package/{capsulation → encapsulation}/jszip.utilities.d.ts +0 -0
  22. package/{capsulation → encapsulation}/lodash.utilities.d.ts +0 -0
  23. package/{capsulation → encapsulation}/reflect.utilities.d.ts +0 -0
  24. package/esm2020/classes/date.utilities.mjs +2 -2
  25. package/esm2020/classes/entity.service.mjs +37 -4
  26. package/esm2020/classes/entity.utilities.mjs +14 -10
  27. package/esm2020/classes/file.utilities.mjs +3 -3
  28. package/esm2020/classes/selection.utilities.mjs +50 -0
  29. package/esm2020/components/get-validation-error-message.function.mjs +2 -2
  30. package/esm2020/components/input/add-array-item-dialog-data.builder.mjs +1 -1
  31. package/esm2020/components/input/array/array-date-input/array-date-input.component.mjs +3 -3
  32. package/esm2020/components/input/array/array-date-range-input/array-date-range-input.component.mjs +3 -3
  33. package/esm2020/components/input/array/array-date-time-input/array-date-time-input.component.mjs +3 -3
  34. package/esm2020/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +19 -26
  35. package/esm2020/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +18 -25
  36. package/esm2020/components/input/array/array-table.class.mjs +5 -30
  37. package/esm2020/components/input/base-input.component.mjs +1 -2
  38. package/esm2020/components/input/custom/custom.component.mjs +1 -1
  39. package/esm2020/components/input/date/date-range-input/date-range-input.component.mjs +2 -2
  40. package/esm2020/components/input/file/file-image-input/file-image-input.component.mjs +1 -1
  41. package/esm2020/components/input/file/file-input/dragDrop.directive.mjs +1 -2
  42. package/esm2020/components/input/file/file-input/file-input.component.mjs +2 -2
  43. package/esm2020/components/input/input.component.mjs +10 -45
  44. package/esm2020/components/input/input.module.mjs +4 -1
  45. package/esm2020/components/input/relations/references-many-input/references-many-input.component.mjs +86 -0
  46. package/esm2020/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +2 -2
  47. package/esm2020/components/input/string/string-password-input/string-password-input.component.mjs +3 -3
  48. package/esm2020/components/table/create-dialog/create-entity-dialog.component.mjs +1 -1
  49. package/esm2020/components/table/edit-dialog/edit-entity-dialog.component.mjs +2 -2
  50. package/esm2020/components/table/table-data.builder.mjs +1 -1
  51. package/esm2020/components/table/table.component.mjs +5 -25
  52. package/esm2020/components/table/table.module.mjs +2 -2
  53. package/esm2020/decorators/array/array-decorator-internal.data.mjs +2 -3
  54. package/esm2020/decorators/array/array-decorator.data.mjs +1 -1
  55. package/esm2020/decorators/base/base-property.decorator.mjs +2 -2
  56. package/esm2020/decorators/base/decorator-types.enum.mjs +2 -1
  57. package/esm2020/decorators/custom/custom-decorator-internal.data.mjs +2 -2
  58. package/esm2020/decorators/custom/custom-decorator.data.mjs +1 -1
  59. package/esm2020/decorators/custom/custom.decorator.mjs +1 -1
  60. package/esm2020/decorators/file/file-decorator-internal.data.mjs +1 -2
  61. package/esm2020/decorators/number/number-decorator.data.mjs +1 -1
  62. package/esm2020/decorators/references-many/references-many-decorator-internal.data.mjs +30 -0
  63. package/esm2020/decorators/references-many/references-many-decorator.data.mjs +2 -0
  64. package/esm2020/decorators/references-many/references-many.decorator.mjs +13 -0
  65. package/esm2020/decorators/string/string-decorator.data.mjs +1 -1
  66. package/esm2020/encapsulation/jszip.utilities.mjs +17 -0
  67. package/esm2020/encapsulation/lodash.utilities.mjs +75 -0
  68. package/esm2020/encapsulation/reflect.utilities.mjs +69 -0
  69. package/esm2020/mocks/placeholder-data.png.mjs +1 -1
  70. package/esm2020/public-api.mjs +3 -1
  71. package/fesm2015/ngx-material-entity.mjs +306 -199
  72. package/fesm2015/ngx-material-entity.mjs.map +1 -1
  73. package/fesm2020/ngx-material-entity.mjs +289 -191
  74. package/fesm2020/ngx-material-entity.mjs.map +1 -1
  75. package/mocks/placeholder-data.png.d.ts +1 -1
  76. package/package.json +1 -1
  77. package/public-api.d.ts +2 -0
  78. package/esm2020/capsulation/jszip.utilities.mjs +0 -17
  79. package/esm2020/capsulation/lodash.utilities.mjs +0 -75
  80. package/esm2020/capsulation/reflect.utilities.mjs +0 -69
package/README.md CHANGED
@@ -562,7 +562,7 @@ export interface EntityArrayDecoratorConfig<EntityType extends object> extends A
562
562
  * The definition of the columns to display. Consists of the displayName to show in the header of the row
563
563
  * and the value, which is a function that generates the value to display inside a column.
564
564
  */
565
- displayColumns: ArrayTableDisplayColumn<EntityType>[],
565
+ displayColumns: DisplayColumn<EntityType>[],
566
566
 
567
567
  /**
568
568
  * The data for the add-item-dialog.
@@ -675,7 +675,7 @@ export interface DateArrayDecoratorConfig extends ArrayDecoratorConfig {
675
675
  * The definition of the columns to display. Consists of the displayName to show in the header of the row
676
676
  * and the value, which is a function that generates the value to display inside a column.
677
677
  */
678
- displayColumns: ArrayTableDisplayColumn<Date>[],
678
+ displayColumns: DisplayColumn<Date>[],
679
679
 
680
680
  /**
681
681
  * The label for the add button.
@@ -725,7 +725,7 @@ export interface DateTimeArrayDecoratorConfig extends ArrayDecoratorConfig {
725
725
  * The definition of the columns to display. Consists of the displayName to show in the header of the row
726
726
  * and the value, which is a function that generates the value to display inside a column.
727
727
  */
728
- displayColumns: ArrayTableDisplayColumn<Date>[],
728
+ displayColumns: DisplayColumn<Date>[],
729
729
 
730
730
  /**
731
731
  * The label for the add button.
@@ -802,7 +802,7 @@ export interface DateRangeArrayDecoratorConfig extends ArrayDecoratorConfig {
802
802
  * The definition of the columns to display. Consists of the displayName to show in the header of the row
803
803
  * and the value, which is a function that generates the value to display inside a column.
804
804
  */
805
- displayColumns: ArrayTableDisplayColumn<DateRange>[],
805
+ displayColumns: DisplayColumn<DateRange>[],
806
806
 
807
807
  /**
808
808
  * The label for the add button.
@@ -0,0 +1,31 @@
1
+ import { SelectionModel } from '@angular/cdk/collections';
2
+ import { MatTableDataSource } from '@angular/material/table';
3
+ /**
4
+ * Provides functionality around material selections inside of tables.
5
+ */
6
+ export declare abstract class SelectionUtilities {
7
+ /**
8
+ * Checks if all items in the table have been selected.
9
+ * This is needed to display the "masterToggle"-checkbox correctly.
10
+ *
11
+ * @param selection - The selection to check.
12
+ * @param dataSource - The dataSource of the selection.
13
+ * @returns Whether or not all items in the table have been selected.
14
+ */
15
+ static isAllSelected(selection: SelectionModel<any>, dataSource: MatTableDataSource<any>): boolean;
16
+ /**
17
+ * Toggles all items in the table.
18
+ *
19
+ * @param selection - The selection to toggle.
20
+ * @param dataSource - The dataSource of the selection.
21
+ */
22
+ static masterToggle(selection: SelectionModel<any>, dataSource: MatTableDataSource<any>): void;
23
+ /**
24
+ * Removes all selected entries from the array.
25
+ *
26
+ * @param selection - The selection containing the items to remove.
27
+ * @param values - The values of the dataSource.
28
+ * @param dataSource - The dataSource.
29
+ */
30
+ static remove(selection: SelectionModel<any>, values: any[], dataSource: MatTableDataSource<any>): void;
31
+ }
@@ -1,11 +1,2 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import { NgModel } from '@angular/forms';
3
- export declare const NGX_GET_VALIDATION_ERROR_MESSAGE: InjectionToken<typeof getValidationErrorMessage>;
4
- /**
5
- * Generates a default error message for most validation errors.
6
- *
7
- * @param model - The ngModel to get the error from.
8
- * @returns The Validation Error Message to display.
9
- */
10
- declare function getValidationErrorMessage(model: NgModel): string;
11
- export {};
2
+ export declare const NGX_GET_VALIDATION_ERROR_MESSAGE: InjectionToken<() => string>;
@@ -45,6 +45,7 @@ export declare class ArrayStringAutocompleteChipsComponent<EntityType extends Ba
45
45
  * @param input - The input of the user.
46
46
  */
47
47
  filterAutocompleteStrings(input: unknown): void;
48
+ private validateAndSetPropertyValue;
48
49
  static ɵfac: i0.ɵɵFactoryDeclaration<ArrayStringAutocompleteChipsComponent<any>, never>;
49
50
  static ɵcmp: i0.ɵɵComponentDeclaration<ArrayStringAutocompleteChipsComponent<any>, "array-string-autocomplete-chips", never, {}, {}, never, never, false>;
50
51
  }
@@ -37,6 +37,7 @@ export declare class ArrayStringChipsInputComponent<EntityType extends BaseEntit
37
37
  * @param chipsInput - The element where the user typed the value.
38
38
  */
39
39
  selected(event: MatAutocompleteSelectedEvent, chipsInput: HTMLInputElement): void;
40
+ private validateAndSetPropertyValue;
40
41
  static ɵfac: i0.ɵɵFactoryDeclaration<ArrayStringChipsInputComponent<any>, never>;
41
42
  static ɵcmp: i0.ɵɵComponentDeclaration<ArrayStringChipsInputComponent<any>, "array-string-chips-input", never, {}, {}, never, never, false>;
42
43
  }
@@ -5,6 +5,7 @@ import { BaseEntityType } from '../../../classes/entity.model';
5
5
  import { NgxMatEntityBaseInputComponent } from '../base-input.component';
6
6
  import { DecoratorTypes } from '../../../decorators/base/decorator-types.enum';
7
7
  import { OnInit } from '@angular/core';
8
+ import { SelectionUtilities } from '../../../classes/selection.utilities';
8
9
  import * as i0 from "@angular/core";
9
10
  declare type ArrayTableType = DecoratorTypes.ARRAY | DecoratorTypes.ARRAY_DATE | DecoratorTypes.ARRAY_DATE_RANGE | DecoratorTypes.ARRAY_DATE_TIME;
10
11
  /**
@@ -16,20 +17,9 @@ export declare abstract class ArrayTableComponent<ValueType, EntityType extends
16
17
  dataSource: MatTableDataSource<ValueType>;
17
18
  selection: SelectionModel<ValueType>;
18
19
  displayedColumns: string[];
20
+ SelectionUtilities: typeof SelectionUtilities;
19
21
  constructor(matDialog: MatDialog);
20
22
  ngOnInit(): void;
21
- /**
22
- * Toggles all array-items in the table.
23
- *
24
- */
25
- masterToggle(): void;
26
- /**
27
- * Checks if all array-items in the table have been selected.
28
- * This is needed to display the "masterToggle"-checkbox correctly.
29
- *
30
- * @returns Whether or not all array-items in the table have been selected.
31
- */
32
- isAllSelected(): boolean;
33
23
  /**
34
24
  * Tries to add an item to the array.
35
25
  */
@@ -3,7 +3,7 @@ import { BaseEntityType } from '../../../classes/entity.model';
3
3
  import { DecoratorTypes } from '../../../decorators/base/decorator-types.enum';
4
4
  import { NgxMatEntityBaseInputComponent } from '../base-input.component';
5
5
  import * as i0 from "@angular/core";
6
- export declare class CustomInputComponent<EntityType extends BaseEntityType<EntityType>, MetadataType extends BaseEntityType<MetadataType>, ValueType, ComponentType extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.CUSTOM, ValueType, MetadataType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.CUSTOM, ValueType> implements OnInit {
6
+ export declare class CustomInputComponent<EntityType extends BaseEntityType<EntityType>, MetadataType extends BaseEntityType<MetadataType>, ValueType, ComponentType extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.CUSTOM, ValueType, MetadataType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.CUSTOM, ValueType, MetadataType> implements OnInit {
7
7
  private readonly viewContainerRef;
8
8
  component: ComponentRef<ComponentType>;
9
9
  constructor(viewContainerRef: ViewContainerRef);
@@ -12,6 +12,7 @@ import { AddArrayItemDialogData } from './add-array-item-dialog-data';
12
12
  import { MatDialog, MatDialogRef } from '@angular/material/dialog';
13
13
  import { DateUtilities } from '../../classes/date.utilities';
14
14
  import { BaseEntityType } from '../../classes/entity.model';
15
+ import { SelectionUtilities } from '../../classes/selection.utilities';
15
16
  import * as i0 from "@angular/core";
16
17
  /**
17
18
  * The default input component. It gets the metadata of the property from the given @Input "entity" and @Input "propertyKey"
@@ -86,6 +87,7 @@ export declare class NgxMatEntityInputComponent<EntityType extends BaseEntityTyp
86
87
  readonly DecoratorTypes: typeof DecoratorTypes;
87
88
  EntityUtilities: typeof EntityUtilities;
88
89
  DateUtilities: typeof DateUtilities;
90
+ SelectionUtilities: typeof SelectionUtilities;
89
91
  constructor(dialog: MatDialog, defaultGetValidationErrorMessage: (model: NgModel) => string);
90
92
  /**
91
93
  * This is needed for the inputs to work inside an ngFor.
@@ -125,28 +127,8 @@ export declare class NgxMatEntityInputComponent<EntityType extends BaseEntityTyp
125
127
  cancelAddArrayItem(): void;
126
128
  /**
127
129
  * Removes all selected entries from the entity array.
128
- *
129
- * @param selection - The selection containing the items to remove.
130
- * @param values - The values of the dataSource.
131
- * @param dataSource - The dataSource.
132
- */
133
- remove(selection: SelectionModel<any>, values: any[], dataSource: MatTableDataSource<any>): void;
134
- /**
135
- * Toggles all array-items in the table.
136
- *
137
- * @param selection - The selection to toggle.
138
- * @param dataSource - The dataSource of the selection.
139
- */
140
- masterToggle(selection: SelectionModel<any>, dataSource: MatTableDataSource<any>): void;
141
- /**
142
- * Checks if all array-items in the table have been selected.
143
- * This is needed to display the "masterToggle"-checkbox correctly.
144
- *
145
- * @param selection - The selection to check.
146
- * @param dataSource - The dataSource of the selection.
147
- * @returns Whether or not all array-items in the table have been selected.
148
130
  */
149
- isAllSelected(selection: SelectionModel<any>, dataSource: MatTableDataSource<any>): boolean;
131
+ remove(): void;
150
132
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityInputComponent<any>, never>;
151
133
  static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatEntityInputComponent<any>, "ngx-mat-entity-input", never, { "entity": "entity"; "propertyKey": "propertyKey"; "getValidationErrorMessage": "getValidationErrorMessage"; "hideOmitForCreate": "hideOmitForCreate"; "hideOmitForEdit": "hideOmitForEdit"; "isReadOnly": "isReadOnly"; }, { "inputChangeEvent": "inputChangeEvent"; }, never, never, false>;
152
134
  }
@@ -22,26 +22,27 @@ import * as i20 from "./file/file-input/file-input.component";
22
22
  import * as i21 from "./file/file-image-input/file-image-input.component";
23
23
  import * as i22 from "./file/file-default-input/file-default-input.component";
24
24
  import * as i23 from "./file/file-input/dragDrop.directive";
25
- import * as i24 from "./custom/custom.component";
26
- import * as i25 from "./input.component";
27
- import * as i26 from "@angular/common";
28
- import * as i27 from "@angular/material/input";
29
- import * as i28 from "@angular/forms";
30
- import * as i29 from "@angular/material/form-field";
31
- import * as i30 from "@angular/material/select";
32
- import * as i31 from "@angular/material/autocomplete";
33
- import * as i32 from "@angular/material/checkbox";
34
- import * as i33 from "@angular/material/slide-toggle";
35
- import * as i34 from "@angular/material/chips";
36
- import * as i35 from "@angular/material/icon";
37
- import * as i36 from "@angular/material/table";
38
- import * as i37 from "@angular/material/dialog";
39
- import * as i38 from "@angular/material/button";
40
- import * as i39 from "@angular/material/datepicker";
41
- import * as i40 from "@angular/material/slider";
42
- import * as i41 from "@angular/material/tabs";
25
+ import * as i24 from "./relations/references-many-input/references-many-input.component";
26
+ import * as i25 from "./custom/custom.component";
27
+ import * as i26 from "./input.component";
28
+ import * as i27 from "@angular/common";
29
+ import * as i28 from "@angular/material/input";
30
+ import * as i29 from "@angular/forms";
31
+ import * as i30 from "@angular/material/form-field";
32
+ import * as i31 from "@angular/material/select";
33
+ import * as i32 from "@angular/material/autocomplete";
34
+ import * as i33 from "@angular/material/checkbox";
35
+ import * as i34 from "@angular/material/slide-toggle";
36
+ import * as i35 from "@angular/material/chips";
37
+ import * as i36 from "@angular/material/icon";
38
+ import * as i37 from "@angular/material/table";
39
+ import * as i38 from "@angular/material/dialog";
40
+ import * as i39 from "@angular/material/button";
41
+ import * as i40 from "@angular/material/datepicker";
42
+ import * as i41 from "@angular/material/slider";
43
+ import * as i42 from "@angular/material/tabs";
43
44
  export declare class NgxMatEntityInputModule {
44
45
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityInputModule, never>;
45
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatEntityInputModule, [typeof i1.StringInputComponent, typeof i2.StringTextboxInputComponent, typeof i3.StringAutocompleteInputComponent, typeof i4.StringDropdownInputComponent, typeof i5.StringPasswordInputComponent, typeof i6.BooleanCheckboxInputComponent, typeof i7.BooleanToggleInputComponent, typeof i8.BooleanDropdownInputComponent, typeof i9.NumberInputComponent, typeof i10.NumberDropdownInputComponent, typeof i11.NumberSliderInputComponent, typeof i12.ArrayStringChipsInputComponent, typeof i13.ArrayStringAutocompleteChipsComponent, typeof i14.DateInputComponent, typeof i15.DateRangeInputComponent, typeof i16.DateTimeInputComponent, typeof i17.ArrayDateInputComponent, typeof i18.ArrayDateTimeInputComponent, typeof i19.ArrayDateRangeInputComponent, typeof i20.FileInputComponent, typeof i21.FileImageInputComponent, typeof i22.FileDefaultInputComponent, typeof i23.DragDropDirective, typeof i24.CustomInputComponent, typeof i25.NgxMatEntityInputComponent], [typeof i26.CommonModule, typeof i27.MatInputModule, typeof i28.FormsModule, typeof i29.MatFormFieldModule, typeof i30.MatSelectModule, typeof i31.MatAutocompleteModule, typeof i32.MatCheckboxModule, typeof i33.MatSlideToggleModule, typeof i34.MatChipsModule, typeof i35.MatIconModule, typeof i36.MatTableModule, typeof i37.MatDialogModule, typeof i38.MatButtonModule, typeof i39.MatDatepickerModule, typeof i40.MatSliderModule, typeof i41.MatTabsModule], [typeof i25.NgxMatEntityInputComponent]>;
46
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatEntityInputModule, [typeof i1.StringInputComponent, typeof i2.StringTextboxInputComponent, typeof i3.StringAutocompleteInputComponent, typeof i4.StringDropdownInputComponent, typeof i5.StringPasswordInputComponent, typeof i6.BooleanCheckboxInputComponent, typeof i7.BooleanToggleInputComponent, typeof i8.BooleanDropdownInputComponent, typeof i9.NumberInputComponent, typeof i10.NumberDropdownInputComponent, typeof i11.NumberSliderInputComponent, typeof i12.ArrayStringChipsInputComponent, typeof i13.ArrayStringAutocompleteChipsComponent, typeof i14.DateInputComponent, typeof i15.DateRangeInputComponent, typeof i16.DateTimeInputComponent, typeof i17.ArrayDateInputComponent, typeof i18.ArrayDateTimeInputComponent, typeof i19.ArrayDateRangeInputComponent, typeof i20.FileInputComponent, typeof i21.FileImageInputComponent, typeof i22.FileDefaultInputComponent, typeof i23.DragDropDirective, typeof i24.ReferencesManyInputComponent, typeof i25.CustomInputComponent, typeof i26.NgxMatEntityInputComponent], [typeof i27.CommonModule, typeof i28.MatInputModule, typeof i29.FormsModule, typeof i30.MatFormFieldModule, typeof i31.MatSelectModule, typeof i32.MatAutocompleteModule, typeof i33.MatCheckboxModule, typeof i34.MatSlideToggleModule, typeof i35.MatChipsModule, typeof i36.MatIconModule, typeof i37.MatTableModule, typeof i38.MatDialogModule, typeof i39.MatButtonModule, typeof i40.MatDatepickerModule, typeof i41.MatSliderModule, typeof i42.MatTabsModule], [typeof i26.NgxMatEntityInputComponent]>;
46
47
  static ɵinj: i0.ɵɵInjectorDeclaration<NgxMatEntityInputModule>;
47
48
  }
@@ -0,0 +1,27 @@
1
+ import { SelectionModel } from '@angular/cdk/collections';
2
+ import { EnvironmentInjector, OnInit } from '@angular/core';
3
+ import { MatTableDataSource } from '@angular/material/table';
4
+ import { BaseEntityType } from '../../../../classes/entity.model';
5
+ import { SelectionUtilities } from '../../../../classes/selection.utilities';
6
+ import { DecoratorTypes } from '../../../../decorators/base/decorator-types.enum';
7
+ import { DropdownValue } from '../../../../decorators/base/dropdown-value.interface';
8
+ import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
9
+ import * as i0 from "@angular/core";
10
+ export declare class ReferencesManyInputComponent<EntityType extends BaseEntityType<EntityType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.REFERENCES_MANY, string[]> implements OnInit {
11
+ private readonly injector;
12
+ allReferencedEntities: EntityType[];
13
+ allDropdownValues: DropdownValue<string>[];
14
+ dropdownValues: DropdownValue<string>[];
15
+ input: string;
16
+ referencedEntitiesDataSource: MatTableDataSource<string>;
17
+ displayedColumns: string[];
18
+ selection: SelectionModel<string>;
19
+ SelectionUtilities: typeof SelectionUtilities;
20
+ constructor(injector: EnvironmentInjector);
21
+ ngOnInit(): Promise<void>;
22
+ add(): Promise<void>;
23
+ addAll(): void;
24
+ remove(): void;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<ReferencesManyInputComponent<any>, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<ReferencesManyInputComponent<any>, "references-many-input", never, {}, {}, never, never, false>;
27
+ }
@@ -7,6 +7,7 @@ import { MatDialog } from '@angular/material/dialog';
7
7
  import { MultiSelectAction, TableData } from './table-data';
8
8
  import { TableDataInternal } from './table-data.builder';
9
9
  import { BaseEntityType } from '../../classes/entity.model';
10
+ import { SelectionUtilities } from '../../classes/selection.utilities';
10
11
  import * as i0 from "@angular/core";
11
12
  /**
12
13
  * Generates a fully functional table for displaying, creating, updating and deleting entities
@@ -30,6 +31,7 @@ export declare class NgxMatEntityTableComponent<EntityType extends BaseEntityTyp
30
31
  displayedColumns: string[];
31
32
  dataSource: MatTableDataSource<EntityType>;
32
33
  selection: SelectionModel<EntityType>;
34
+ SelectionUtilities: typeof SelectionUtilities;
33
35
  constructor(dialog: MatDialog, injector: Injector);
34
36
  /**
35
37
  * Sets up all the configuration for the table and the EntityService.
@@ -65,17 +67,6 @@ export declare class NgxMatEntityTableComponent<EntityType extends BaseEntityTyp
65
67
  * @returns Whether or not the Action can be used.
66
68
  */
67
69
  multiActionDisabled(action: MultiSelectAction<EntityType>): boolean;
68
- /**
69
- * Toggles all entries in the table.
70
- */
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
- */
78
- isAllSelected(): boolean;
79
70
  ngOnDestroy(): void;
80
71
  /**
81
72
  * Applies the search input to filter the table entries.
@@ -1,13 +1,13 @@
1
- import { CreateDialogData } from '../../components/table/table-data';
1
+ import { Time } from '@angular/common';
2
+ import { DateFilterFn } from '@angular/material/datepicker';
2
3
  import { BaseEntityType, EntityClassNewable } from '../../classes/entity.model';
4
+ import { ConfirmDialogData } from '../../components/confirm-dialog/confirm-dialog-data';
5
+ import { CreateDialogData, DisplayColumn } from '../../components/table/table-data';
3
6
  import { DecoratorTypes } from '../base/decorator-types.enum';
4
- import { PropertyDecoratorConfigInternal } from '../base/property-decorator-internal.data';
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
7
  import { DropdownValue } from '../base/dropdown-value.interface';
8
+ import { PropertyDecoratorConfigInternal } from '../base/property-decorator-internal.data';
9
9
  import { DateRange } from '../date/date-decorator.data';
10
- import { ConfirmDialogData } from '../../components/confirm-dialog/confirm-dialog-data';
10
+ import { AutocompleteStringChipsArrayDecoratorConfig, DateArrayDecoratorConfig, DateRangeArrayDecoratorConfig, DateTimeArrayDecoratorConfig, EntityArrayDecoratorConfig, StringChipsArrayDecoratorConfig } from './array-decorator.data';
11
11
  /**
12
12
  * The internal EntityArrayDecoratorConfig. Sets default values.
13
13
  */
@@ -16,7 +16,7 @@ export declare class EntityArrayDecoratorConfigInternal<EntityType extends BaseE
16
16
  allowDuplicates: boolean;
17
17
  duplicatesErrorDialog: ConfirmDialogData;
18
18
  EntityClass: EntityClassNewable<EntityType>;
19
- displayColumns: ArrayTableDisplayColumn<EntityType>[];
19
+ displayColumns: DisplayColumn<EntityType>[];
20
20
  createDialogData?: CreateDialogData;
21
21
  createInline: boolean;
22
22
  missingErrorMessage: string;
@@ -31,7 +31,7 @@ export declare class DateArrayDecoratorConfigInternal extends PropertyDecoratorC
31
31
  itemType: DecoratorTypes.DATE;
32
32
  allowDuplicates: boolean;
33
33
  duplicatesErrorDialog: ConfirmDialogData;
34
- displayColumns: ArrayTableDisplayColumn<Date>[];
34
+ displayColumns: DisplayColumn<Date>[];
35
35
  addButtonLabel: string;
36
36
  removeButtonLabel: string;
37
37
  missingErrorMessage: string;
@@ -47,7 +47,7 @@ export declare class DateTimeArrayDecoratorConfigInternal extends PropertyDecora
47
47
  itemType: DecoratorTypes.DATE_TIME;
48
48
  allowDuplicates: boolean;
49
49
  duplicatesErrorDialog: ConfirmDialogData;
50
- displayColumns: ArrayTableDisplayColumn<Date>[];
50
+ displayColumns: DisplayColumn<Date>[];
51
51
  addButtonLabel: string;
52
52
  removeButtonLabel: string;
53
53
  missingErrorMessage: string;
@@ -68,7 +68,7 @@ export declare class DateRangeArrayDecoratorConfigInternal extends PropertyDecor
68
68
  itemType: DecoratorTypes.DATE_RANGE;
69
69
  allowDuplicates: boolean;
70
70
  duplicatesErrorDialog: ConfirmDialogData;
71
- displayColumns: ArrayTableDisplayColumn<DateRange>[];
71
+ displayColumns: DisplayColumn<DateRange>[];
72
72
  addButtonLabel: string;
73
73
  removeButtonLabel: string;
74
74
  missingErrorMessage: string;
@@ -1,4 +1,4 @@
1
- import { CreateDialogData } from '../../components/table/table-data';
1
+ import { CreateDialogData, DisplayColumn } from '../../components/table/table-data';
2
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';
@@ -7,19 +7,6 @@ import { Time } from '@angular/common';
7
7
  import { DropdownValue } from '../base/dropdown-value.interface';
8
8
  import { DateRange } from '../date/date-decorator.data';
9
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>> {
14
- /**
15
- * The name inside the header.
16
- */
17
- displayName: string;
18
- /**
19
- * A method to get the value inside an row.
20
- */
21
- value: (entity: EntityType) => string;
22
- }
23
10
  /**
24
11
  * Interface definition for the @array metadata.
25
12
  */
@@ -52,7 +39,7 @@ export interface EntityArrayDecoratorConfig<EntityType extends BaseEntityType<En
52
39
  * The definition of the columns to display. Consists of the displayName to show in the header of the row
53
40
  * and the value, which is a function that generates the value to display inside a column.
54
41
  */
55
- displayColumns: ArrayTableDisplayColumn<EntityType>[];
42
+ displayColumns: DisplayColumn<EntityType>[];
56
43
  /**
57
44
  * The data for the add-item-dialog.
58
45
  * Can be omitted when adding items inline.
@@ -91,7 +78,7 @@ export interface DateArrayDecoratorConfig extends ArrayDecoratorConfig {
91
78
  * The definition of the columns to display. Consists of the displayName to show in the header of the row
92
79
  * and the value, which is a function that generates the value to display inside a column.
93
80
  */
94
- displayColumns: ArrayTableDisplayColumn<Date>[];
81
+ displayColumns: DisplayColumn<Date>[];
95
82
  /**
96
83
  * The label for the add button.
97
84
  *
@@ -130,7 +117,7 @@ export interface DateTimeArrayDecoratorConfig extends ArrayDecoratorConfig {
130
117
  * The definition of the columns to display. Consists of the displayName to show in the header of the row
131
118
  * and the value, which is a function that generates the value to display inside a column.
132
119
  */
133
- displayColumns: ArrayTableDisplayColumn<Date>[];
120
+ displayColumns: DisplayColumn<Date>[];
134
121
  /**
135
122
  * The label for the add button.
136
123
  *
@@ -191,7 +178,7 @@ export interface DateRangeArrayDecoratorConfig extends ArrayDecoratorConfig {
191
178
  * The definition of the columns to display. Consists of the displayName to show in the header of the row
192
179
  * and the value, which is a function that generates the value to display inside a column.
193
180
  */
194
- displayColumns: ArrayTableDisplayColumn<DateRange>[];
181
+ displayColumns: DisplayColumn<DateRange>[];
195
182
  /**
196
183
  * The label for the add button.
197
184
  *
@@ -5,6 +5,7 @@ import { DateRangeDateDecoratorConfigInternal, DateTimeDateDecoratorConfigIntern
5
5
  import { DefaultFileDecoratorConfigInternal, ImageFileDecoratorConfigInternal } from '../file/file-decorator-internal.data';
6
6
  import { DefaultNumberDecoratorConfigInternal, DropdownNumberDecoratorConfigInternal, SliderNumberDecoratorConfigInternal } from '../number/number-decorator-internal.data';
7
7
  import { DefaultObjectDecoratorConfigInternal } from '../object/object-decorator-internal.data';
8
+ import { ReferencesManyDecoratorConfigInternal } from '../references-many/references-many-decorator-internal.data';
8
9
  import { AutocompleteStringDecoratorConfigInternal, DefaultStringDecoratorConfigInternal, DropdownStringDecoratorConfigInternal, PasswordStringDecoratorConfigInternal, TextboxStringDecoratorConfigInternal } from '../string/string-decorator-internal.data';
9
10
  /**
10
11
  * The enum Values for all the different DecoratorTypes.
@@ -33,9 +34,10 @@ export declare enum DecoratorTypes {
33
34
  DATE_TIME = "dateTime",
34
35
  FILE_DEFAULT = "fileDefault",
35
36
  FILE_IMAGE = "fileImage",
37
+ REFERENCES_MANY = "referencesMany",
36
38
  CUSTOM = "custom"
37
39
  }
38
40
  /**
39
41
  * Gives the metadata-config Type based on the DecoratorTypes enum.
40
42
  */
41
- export declare type DecoratorType<T, CustomMetadataType extends Record<string, unknown>> = T extends DecoratorTypes.STRING ? DefaultStringDecoratorConfigInternal : T extends DecoratorTypes.STRING_TEXTBOX ? TextboxStringDecoratorConfigInternal : T extends DecoratorTypes.STRING_DROPDOWN ? DropdownStringDecoratorConfigInternal : T extends DecoratorTypes.STRING_AUTOCOMPLETE ? AutocompleteStringDecoratorConfigInternal : T extends DecoratorTypes.STRING_PASSWORD ? PasswordStringDecoratorConfigInternal : T extends DecoratorTypes.NUMBER ? DefaultNumberDecoratorConfigInternal : T extends DecoratorTypes.NUMBER_DROPDOWN ? DropdownNumberDecoratorConfigInternal : T extends DecoratorTypes.NUMBER_SLIDER ? SliderNumberDecoratorConfigInternal : T extends DecoratorTypes.BOOLEAN_CHECKBOX ? CheckboxBooleanDecoratorConfigInternal : T extends DecoratorTypes.BOOLEAN_TOGGLE ? ToggleBooleanDecoratorConfigInternal : T extends DecoratorTypes.BOOLEAN_DROPDOWN ? DropdownBooleanDecoratorConfigInternal : T extends DecoratorTypes.OBJECT ? DefaultObjectDecoratorConfigInternal<any> : T extends DecoratorTypes.ARRAY ? EntityArrayDecoratorConfigInternal<any> : T extends DecoratorTypes.ARRAY_DATE ? DateArrayDecoratorConfigInternal : T extends DecoratorTypes.ARRAY_DATE_TIME ? DateTimeArrayDecoratorConfigInternal : T extends DecoratorTypes.ARRAY_DATE_RANGE ? DateRangeArrayDecoratorConfigInternal : T extends DecoratorTypes.ARRAY_STRING_CHIPS ? StringChipsArrayDecoratorConfigInternal : T extends DecoratorTypes.ARRAY_STRING_AUTOCOMPLETE_CHIPS ? AutocompleteStringChipsArrayDecoratorConfigInternal : T extends DecoratorTypes.DATE ? DefaultDateDecoratorConfigInternal : T extends DecoratorTypes.DATE_RANGE ? DateRangeDateDecoratorConfigInternal : T extends DecoratorTypes.DATE_TIME ? DateTimeDateDecoratorConfigInternal : T extends DecoratorTypes.FILE_DEFAULT ? DefaultFileDecoratorConfigInternal : T extends DecoratorTypes.FILE_IMAGE ? ImageFileDecoratorConfigInternal : T extends DecoratorTypes.CUSTOM ? CustomDecoratorConfigInternal<any, any, CustomMetadataType, any> : never;
43
+ export declare type DecoratorType<T, CustomMetadataType extends Record<string, unknown>> = T extends DecoratorTypes.STRING ? DefaultStringDecoratorConfigInternal : T extends DecoratorTypes.STRING_TEXTBOX ? TextboxStringDecoratorConfigInternal : T extends DecoratorTypes.STRING_DROPDOWN ? DropdownStringDecoratorConfigInternal : T extends DecoratorTypes.STRING_AUTOCOMPLETE ? AutocompleteStringDecoratorConfigInternal : T extends DecoratorTypes.STRING_PASSWORD ? PasswordStringDecoratorConfigInternal : T extends DecoratorTypes.NUMBER ? DefaultNumberDecoratorConfigInternal : T extends DecoratorTypes.NUMBER_DROPDOWN ? DropdownNumberDecoratorConfigInternal : T extends DecoratorTypes.NUMBER_SLIDER ? SliderNumberDecoratorConfigInternal : T extends DecoratorTypes.BOOLEAN_CHECKBOX ? CheckboxBooleanDecoratorConfigInternal : T extends DecoratorTypes.BOOLEAN_TOGGLE ? ToggleBooleanDecoratorConfigInternal : T extends DecoratorTypes.BOOLEAN_DROPDOWN ? DropdownBooleanDecoratorConfigInternal : T extends DecoratorTypes.OBJECT ? DefaultObjectDecoratorConfigInternal<any> : T extends DecoratorTypes.ARRAY ? EntityArrayDecoratorConfigInternal<any> : T extends DecoratorTypes.ARRAY_DATE ? DateArrayDecoratorConfigInternal : T extends DecoratorTypes.ARRAY_DATE_TIME ? DateTimeArrayDecoratorConfigInternal : T extends DecoratorTypes.ARRAY_DATE_RANGE ? DateRangeArrayDecoratorConfigInternal : T extends DecoratorTypes.ARRAY_STRING_CHIPS ? StringChipsArrayDecoratorConfigInternal : T extends DecoratorTypes.ARRAY_STRING_AUTOCOMPLETE_CHIPS ? AutocompleteStringChipsArrayDecoratorConfigInternal : T extends DecoratorTypes.DATE ? DefaultDateDecoratorConfigInternal : T extends DecoratorTypes.DATE_RANGE ? DateRangeDateDecoratorConfigInternal : T extends DecoratorTypes.DATE_TIME ? DateTimeDateDecoratorConfigInternal : T extends DecoratorTypes.FILE_DEFAULT ? DefaultFileDecoratorConfigInternal : T extends DecoratorTypes.FILE_IMAGE ? ImageFileDecoratorConfigInternal : T extends DecoratorTypes.REFERENCES_MANY ? ReferencesManyDecoratorConfigInternal<any> : T extends DecoratorTypes.CUSTOM ? CustomDecoratorConfigInternal<any, any, CustomMetadataType, any> : never;
@@ -8,7 +8,7 @@ import { CustomDecoratorConfig } from './custom-decorator.data';
8
8
  * The internal config for the @custom decorator.
9
9
  * Sets default values.
10
10
  */
11
- export declare class CustomDecoratorConfigInternal<EntityType extends BaseEntityType<EntityType>, ValueType, MetadataType extends BaseEntityType<MetadataType>, ComponentType extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.CUSTOM, MetadataType>> extends PropertyDecoratorConfigInternal implements CustomDecoratorConfig<EntityType, ValueType, MetadataType, ComponentType> {
11
+ export declare class CustomDecoratorConfigInternal<EntityType extends BaseEntityType<EntityType>, ValueType, MetadataType extends BaseEntityType<MetadataType>, ComponentType extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.CUSTOM, ValueType, MetadataType>> extends PropertyDecoratorConfigInternal implements CustomDecoratorConfig<EntityType, ValueType, MetadataType, ComponentType> {
12
12
  component: Type<ComponentType>;
13
13
  isValid: (value: ValueType, omit: 'create' | 'update') => boolean;
14
14
  isEqual: (value: ValueType, valuePriorChanges: ValueType, metadata: CustomDecoratorConfig<EntityType, ValueType, MetadataType, ComponentType>) => boolean;
@@ -6,7 +6,7 @@ import { Type } from '@angular/core';
6
6
  /**
7
7
  * Definition for a custom property. Use this if the provided decorators don't fit your needs.
8
8
  */
9
- export interface CustomDecoratorConfig<EntityType extends BaseEntityType<EntityType>, ValueType, MetadataType extends BaseEntityType<MetadataType>, ComponentType extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.CUSTOM, MetadataType>> extends PropertyDecoratorConfig {
9
+ export interface CustomDecoratorConfig<EntityType extends BaseEntityType<EntityType>, ValueType, CustomMetadataType extends BaseEntityType<CustomMetadataType>, ComponentType extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.CUSTOM, ValueType, CustomMetadataType>> extends PropertyDecoratorConfig {
10
10
  /**
11
11
  * The component to use for this input.
12
12
  */
@@ -29,9 +29,9 @@ export interface CustomDecoratorConfig<EntityType extends BaseEntityType<EntityT
29
29
  *
30
30
  * @default (value: ValueType, valuePriorChanges: ValueType) => LodashUtilities.isEqual(value, valuePriorChanges)
31
31
  */
32
- isEqual?: (value: ValueType, valuePriorChanges: ValueType, metadata: CustomDecoratorConfig<EntityType, ValueType, MetadataType, ComponentType>) => boolean;
32
+ isEqual?: (value: ValueType, valuePriorChanges: ValueType, metadata: CustomDecoratorConfig<EntityType, ValueType, CustomMetadataType, ComponentType>) => boolean;
33
33
  /**
34
34
  * Any custom metadata you want to add to the property.
35
35
  */
36
- customMetadata: MetadataType;
36
+ customMetadata: CustomMetadataType;
37
37
  }
@@ -1,6 +1,4 @@
1
1
  import { BaseEntityType } from '../../classes/entity.model';
2
- import { NgxMatEntityBaseInputComponent } from '../../components/input/base-input.component';
3
- import { DecoratorTypes } from '../base/decorator-types.enum';
4
2
  import { CustomDecoratorConfig } from './custom-decorator.data';
5
3
  /**
6
4
  * Decorator for setting and getting custom property metadata.
@@ -8,4 +6,4 @@ import { CustomDecoratorConfig } from './custom-decorator.data';
8
6
  * @param metadata - The metadata of the custom property.
9
7
  * @returns The method that defines the metadata.
10
8
  */
11
- export declare function custom<ValueType, MetadataType extends BaseEntityType<MetadataType>, EntityType extends BaseEntityType<EntityType>>(metadata: CustomDecoratorConfig<EntityType, ValueType, MetadataType, NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.CUSTOM, MetadataType>>): (target: object, propertyKey: string) => void;
9
+ export declare function custom<ValueType, CustomMetadataType extends BaseEntityType<CustomMetadataType>, EntityType extends BaseEntityType<EntityType>>(metadata: CustomDecoratorConfig<EntityType, ValueType, CustomMetadataType, any>): (target: object, propertyKey: string) => void;
@@ -0,0 +1,20 @@
1
+ import { BaseEntityType } from '../../classes/entity.model';
2
+ import { DisplayColumn } from '../../components/table/table-data';
3
+ import { DropdownValue } from '../base/dropdown-value.interface';
4
+ import { PropertyDecoratorConfigInternal } from '../base/property-decorator-internal.data';
5
+ import { ReferencesManyDecoratorConfig } from './references-many-decorator.data';
6
+ /**
7
+ * The internal DefaultNumberDecoratorConfig. Sets default values.
8
+ */
9
+ export declare class ReferencesManyDecoratorConfigInternal<EntityType extends BaseEntityType<EntityType>> extends PropertyDecoratorConfigInternal implements ReferencesManyDecoratorConfig<EntityType> {
10
+ getReferencedEntities: () => Promise<EntityType[]>;
11
+ getDropdownValues: (referencedEntities: EntityType[]) => DropdownValue<string>[];
12
+ getEntityForId: (entityId: string, allReferencedEntities: EntityType[]) => EntityType;
13
+ displayColumns: DisplayColumn<EntityType>[];
14
+ addButtonLabel: string;
15
+ removeButtonLabel: string;
16
+ dropdownLabel: string;
17
+ addAll: boolean;
18
+ addAllButtonLabel: string;
19
+ constructor(data: ReferencesManyDecoratorConfig<EntityType>);
20
+ }
@@ -0,0 +1,56 @@
1
+ import { BaseEntityType } from '../../classes/entity.model';
2
+ import { DisplayColumn } from '../../components/table/table-data';
3
+ import { DropdownValue } from '../base/dropdown-value.interface';
4
+ import { PropertyDecoratorConfig } from '../base/property-decorator.data';
5
+ /**
6
+ * Definition for the @referencesMany metadata.
7
+ */
8
+ export interface ReferencesManyDecoratorConfig<EntityType extends BaseEntityType<EntityType>> extends PropertyDecoratorConfig {
9
+ /**
10
+ * The function that returns the values that can be referenced.
11
+ */
12
+ getReferencedEntities: () => Promise<EntityType[]>;
13
+ /**
14
+ * Method to get the referenced dropdown values.
15
+ */
16
+ getDropdownValues: (referencedEntities: EntityType[]) => DropdownValue<string>[];
17
+ /**
18
+ * Gets the referenced entity for the given id.
19
+ */
20
+ getEntityForId?: (entityId: string, allReferencedEntities: EntityType[]) => EntityType;
21
+ /**
22
+ * The definition of the columns to display. Consists of the displayName to show in the header of the row
23
+ * and the value, which is a function that generates the value to display inside a column.
24
+ */
25
+ displayColumns: DisplayColumn<EntityType>[];
26
+ /**
27
+ * The label for the dropdown input.
28
+ *
29
+ * @default 'Select'
30
+ */
31
+ dropdownLabel?: string;
32
+ /**
33
+ * Whether or not a button that adds all values exists.
34
+ *
35
+ * @default false
36
+ */
37
+ addAll?: boolean;
38
+ /**
39
+ * The label for the add all button.
40
+ *
41
+ * @default 'Add all'
42
+ */
43
+ addAllButtonLabel?: string;
44
+ /**
45
+ * The label for the add button when createInline is true.
46
+ *
47
+ * @default 'Add'
48
+ */
49
+ addButtonLabel?: string;
50
+ /**
51
+ * The label for the remove button when createInline is true.
52
+ *
53
+ * @default 'Remove'
54
+ */
55
+ removeButtonLabel?: string;
56
+ }
@@ -0,0 +1,9 @@
1
+ import { BaseEntityType } from '../../classes/entity.model';
2
+ import { ReferencesManyDecoratorConfig } from './references-many-decorator.data';
3
+ /**
4
+ * Decorator for setting and getting references many property metadata.
5
+ *
6
+ * @param metadata - The metadata of the references many property.
7
+ * @returns The method that defines the metadata.
8
+ */
9
+ export declare function referencesMany<EntityType extends BaseEntityType<EntityType>>(metadata: ReferencesManyDecoratorConfig<EntityType>): (target: object, propertyKey: string) => void;