ngx-material-entity 16.1.0 → 16.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/classes/base.builder.d.ts +1 -1
  2. package/components/confirm-dialog/confirm-dialog-data.builder.d.ts +1 -1
  3. package/components/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  4. package/components/create-page/create-page.component.d.ts +11 -20
  5. package/components/create-page/page-create-data.builder.d.ts +1 -1
  6. package/components/edit-page/edit-page.component.d.ts +10 -25
  7. package/components/edit-page/page-edit-data.builder.d.ts +1 -1
  8. package/components/form/form.component.d.ts +59 -0
  9. package/components/input/array/array-date-input/array-date-input.component.d.ts +1 -1
  10. package/components/input/array/array-date-range-input/array-date-range-input.component.d.ts +1 -1
  11. package/components/input/array/array-date-time-input/array-date-time-input.component.d.ts +1 -1
  12. package/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.d.ts +1 -1
  13. package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts +1 -1
  14. package/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.d.ts +1 -1
  15. package/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.d.ts +1 -1
  16. package/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.d.ts +1 -1
  17. package/components/input/custom/custom.component.d.ts +1 -1
  18. package/components/input/date/date-input/date-input.component.d.ts +1 -1
  19. package/components/input/date/date-range-input/date-range-input.component.d.ts +1 -1
  20. package/components/input/date/date-time-input/date-time-input.component.d.ts +1 -1
  21. package/components/input/file/file-default-input/file-default-input.component.d.ts +1 -1
  22. package/components/input/file/file-image-input/file-image-input.component.d.ts +1 -1
  23. package/components/input/file/file-input/file-input.component.d.ts +1 -1
  24. package/components/input/input.component.d.ts +33 -3
  25. package/components/input/number/number-dropdown-input/number-dropdown-input.component.d.ts +1 -1
  26. package/components/input/number/number-input/number-input.component.d.ts +1 -1
  27. package/components/input/number/number-slider-input/number-slider-input.component.d.ts +1 -1
  28. package/components/input/relations/references-many-input/references-many-input.component.d.ts +1 -1
  29. package/components/input/string/string-autocomplete-input/string-autocomplete-input.component.d.ts +1 -1
  30. package/components/input/string/string-dropdown-input/string-dropdown-input.component.d.ts +1 -1
  31. package/components/input/string/string-input/string-input.component.d.ts +1 -1
  32. package/components/input/string/string-password-input/string-password-input.component.d.ts +1 -1
  33. package/components/input/string/string-textbox-input/string-textbox-input.component.d.ts +1 -1
  34. package/components/table/create-dialog/create-data.builder.d.ts +4 -1
  35. package/components/table/create-dialog/create-entity-data.builder.d.ts +2 -2
  36. package/components/table/create-dialog/create-entity-dialog.component.d.ts +22 -14
  37. package/components/table/display-column-value/display-column-value.component.d.ts +1 -1
  38. package/components/table/edit-dialog/edit-data.builder.d.ts +4 -2
  39. package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +12 -7
  40. package/components/table/edit-dialog/edit-entity.builder.d.ts +2 -2
  41. package/components/table/table-data.builder.d.ts +3 -3
  42. package/components/table/table-data.d.ts +17 -1
  43. package/components/table/table.component.d.ts +9 -7
  44. package/decorators/array/array-decorator-internal.data.d.ts +1 -1
  45. package/decorators/array/array.decorator.d.ts +1 -1
  46. package/decorators/base/decorator-types.enum.d.ts +3 -2
  47. package/decorators/boolean/boolean-decorator-internal.data.d.ts +1 -1
  48. package/decorators/custom/custom-decorator-internal.data.d.ts +1 -1
  49. package/decorators/custom/custom.decorator.d.ts +1 -1
  50. package/decorators/date/date-decorator-internal.data.d.ts +1 -1
  51. package/decorators/file/file-decorator-internal.data.d.ts +1 -1
  52. package/decorators/file/file-decorator.data.d.ts +1 -1
  53. package/decorators/has-many/has-many-decorator-internal.data.d.ts +1 -1
  54. package/decorators/has-many/has-many.decorator.d.ts +1 -1
  55. package/decorators/number/number-decorator-internal.data.d.ts +1 -2
  56. package/decorators/object/object-decorator-internal.data.d.ts +12 -1
  57. package/decorators/object/object-decorator.data.d.ts +14 -1
  58. package/decorators/object/object.decorator.d.ts +2 -2
  59. package/decorators/references-many/references-many-decorator-internal.data.d.ts +1 -1
  60. package/decorators/references-many/references-many.decorator.d.ts +1 -1
  61. package/decorators/references-one/references-one-decorator-internal.data.d.ts +1 -1
  62. package/decorators/references-one/references-one.decorator.d.ts +1 -1
  63. package/decorators/string/string-decorator-internal.data.d.ts +1 -2
  64. package/default-global-configuration-values.d.ts +0 -5
  65. package/directives/drag-drop.directive.d.ts +1 -1
  66. package/esm2022/classes/base.builder.mjs +2 -2
  67. package/esm2022/classes/entity.model.mjs +1 -1
  68. package/esm2022/components/confirm-dialog/confirm-dialog-data.builder.mjs +1 -1
  69. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +4 -4
  70. package/esm2022/components/create-page/create-data.route.mjs +1 -1
  71. package/esm2022/components/create-page/create-page.component.mjs +31 -43
  72. package/esm2022/components/create-page/page-create-data.builder.mjs +1 -1
  73. package/esm2022/components/edit-page/edit-data.route.mjs +1 -1
  74. package/esm2022/components/edit-page/edit-page.component.mjs +30 -56
  75. package/esm2022/components/edit-page/page-edit-data.builder.mjs +1 -1
  76. package/esm2022/components/form/form.component.mjs +99 -0
  77. package/esm2022/components/input/array/array-date-input/array-date-input.component.mjs +30 -14
  78. package/esm2022/components/input/array/array-date-range-input/array-date-range-input.component.mjs +28 -14
  79. package/esm2022/components/input/array/array-date-time-input/array-date-time-input.component.mjs +34 -15
  80. package/esm2022/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +22 -10
  81. package/esm2022/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +18 -9
  82. package/esm2022/components/input/array/array-table.class.mjs +1 -1
  83. package/esm2022/components/input/base-input.component.mjs +1 -1
  84. package/esm2022/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +14 -6
  85. package/esm2022/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +19 -11
  86. package/esm2022/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +16 -8
  87. package/esm2022/components/input/custom/custom.component.mjs +3 -4
  88. package/esm2022/components/input/date/date-input/date-input.component.mjs +15 -7
  89. package/esm2022/components/input/date/date-range-input/date-range-input.component.mjs +19 -11
  90. package/esm2022/components/input/date/date-time-input/date-time-input.component.mjs +26 -14
  91. package/esm2022/components/input/file/file-default-input/file-default-input.component.mjs +6 -5
  92. package/esm2022/components/input/file/file-image-input/file-image-input.component.mjs +8 -6
  93. package/esm2022/components/input/file/file-input/file-input.component.mjs +21 -10
  94. package/esm2022/components/input/input.component.mjs +156 -53
  95. package/esm2022/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +18 -8
  96. package/esm2022/components/input/number/number-input/number-input.component.mjs +12 -7
  97. package/esm2022/components/input/number/number-slider-input/number-slider-input.component.mjs +14 -8
  98. package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs +32 -17
  99. package/esm2022/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +22 -11
  100. package/esm2022/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +21 -11
  101. package/esm2022/components/input/string/string-input/string-input.component.mjs +12 -6
  102. package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +19 -9
  103. package/esm2022/components/input/string/string-textbox-input/string-textbox-input.component.mjs +12 -6
  104. package/esm2022/components/table/create-dialog/create-data.builder.mjs +14 -3
  105. package/esm2022/components/table/create-dialog/create-entity-data.builder.mjs +2 -2
  106. package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +66 -38
  107. package/esm2022/components/table/default.actions.mjs +1 -1
  108. package/esm2022/components/table/display-column-value/base-display-column-value.component.mjs +1 -1
  109. package/esm2022/components/table/display-column-value/display-column-value.component.mjs +1 -1
  110. package/esm2022/components/table/edit-dialog/edit-data.builder.mjs +18 -7
  111. package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +45 -24
  112. package/esm2022/components/table/edit-dialog/edit-entity.builder.mjs +2 -2
  113. package/esm2022/components/table/table-data.builder.mjs +7 -7
  114. package/esm2022/components/table/table-data.mjs +1 -1
  115. package/esm2022/components/table/table.component.mjs +30 -24
  116. package/esm2022/components/tooltip/tooltip.component.mjs +1 -1
  117. package/esm2022/decorators/array/array-decorator-internal.data.mjs +1 -1
  118. package/esm2022/decorators/array/array-decorator.data.mjs +1 -1
  119. package/esm2022/decorators/array/array.decorator.mjs +2 -2
  120. package/esm2022/decorators/base/base-property.decorator.mjs +1 -1
  121. package/esm2022/decorators/base/decorator-types.enum.mjs +2 -1
  122. package/esm2022/decorators/base/property-decorator-internal.data.mjs +1 -1
  123. package/esm2022/decorators/boolean/boolean-decorator-internal.data.mjs +1 -1
  124. package/esm2022/decorators/boolean/boolean.decorator.mjs +2 -2
  125. package/esm2022/decorators/custom/custom-decorator-internal.data.mjs +1 -1
  126. package/esm2022/decorators/custom/custom-decorator.data.mjs +1 -1
  127. package/esm2022/decorators/custom/custom.decorator.mjs +2 -2
  128. package/esm2022/decorators/date/date-decorator-internal.data.mjs +1 -1
  129. package/esm2022/decorators/date/date-decorator.data.mjs +1 -1
  130. package/esm2022/decorators/date/date.decorator.mjs +2 -2
  131. package/esm2022/decorators/file/file-decorator-internal.data.mjs +1 -1
  132. package/esm2022/decorators/file/file-decorator.data.mjs +1 -1
  133. package/esm2022/decorators/file/file.decorator.mjs +2 -2
  134. package/esm2022/decorators/has-many/has-many-decorator-internal.data.mjs +1 -1
  135. package/esm2022/decorators/has-many/has-many.decorator.mjs +2 -2
  136. package/esm2022/decorators/number/number-decorator-internal.data.mjs +3 -10
  137. package/esm2022/decorators/number/number.decorator.mjs +2 -2
  138. package/esm2022/decorators/object/object-decorator-internal.data.mjs +23 -1
  139. package/esm2022/decorators/object/object-decorator.data.mjs +1 -1
  140. package/esm2022/decorators/object/object.decorator.mjs +8 -3
  141. package/esm2022/decorators/references-many/references-many-decorator-internal.data.mjs +1 -1
  142. package/esm2022/decorators/references-many/references-many.decorator.mjs +2 -2
  143. package/esm2022/decorators/references-one/references-one-decorator-internal.data.mjs +1 -1
  144. package/esm2022/decorators/references-one/references-one.decorator.mjs +2 -2
  145. package/esm2022/decorators/string/string-decorator-internal.data.mjs +3 -10
  146. package/esm2022/decorators/string/string.decorator.mjs +2 -2
  147. package/esm2022/default-global-configuration-values.mjs +5 -17
  148. package/esm2022/directives/drag-drop.directive.mjs +4 -3
  149. package/esm2022/directives/dynamic-style-class.directive.mjs +1 -1
  150. package/esm2022/encapsulation/reflect.utilities.mjs +2 -1
  151. package/esm2022/functions/dropdown-values-to-function.function.mjs +14 -0
  152. package/esm2022/functions/get-validation-errors-tooltip-content.function.ts.mjs +1 -1
  153. package/esm2022/global-configuration-values.mjs +16 -2
  154. package/esm2022/public-api.mjs +1 -2
  155. package/esm2022/services/entity.service.mjs +1 -1
  156. package/esm2022/services/unsaved-changes.guard.mjs +7 -13
  157. package/esm2022/utilities/date.utilities.mjs +1 -1
  158. package/esm2022/utilities/entity.utilities.mjs +9 -9
  159. package/esm2022/utilities/file.utilities.mjs +1 -1
  160. package/esm2022/utilities/validation.utilities.mjs +11 -6
  161. package/fesm2022/ngx-material-entity.mjs +4760 -4510
  162. package/fesm2022/ngx-material-entity.mjs.map +1 -1
  163. package/functions/dropdown-values-to-function.function.d.ts +11 -0
  164. package/global-configuration-values.d.ts +15 -1
  165. package/package.json +1 -1
  166. package/public-api.d.ts +0 -1
  167. package/services/unsaved-changes.guard.d.ts +15 -8
  168. package/utilities/entity.utilities.d.ts +2 -2
  169. package/components/input/input.module.d.ts +0 -58
  170. package/esm2022/components/input/input.module.mjs +0 -192
@@ -1,5 +1,5 @@
1
- import { NgxGlobalDefaultValues } from '../global-configuration-values';
2
1
  import { BaseEntityType } from './entity.model';
2
+ import { NgxGlobalDefaultValues } from '../global-configuration-values';
3
3
  /**
4
4
  * The abstract BaseBuilder class.
5
5
  */
@@ -1,6 +1,6 @@
1
+ import { ConfirmDialogData, ConfirmDialogTypes } from './confirm-dialog-data';
1
2
  import { BaseBuilder } from '../../classes/base.builder';
2
3
  import { NgxGlobalDefaultValues } from '../../global-configuration-values';
3
- import { ConfirmDialogData, ConfirmDialogTypes } from './confirm-dialog-data';
4
4
  /**
5
5
  * The internal ConfirmDialogData. Requires all default values the user can leave out.
6
6
  */
@@ -1,8 +1,8 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { MatDialogRef } from '@angular/material/dialog';
3
- import { NgxGlobalDefaultValues } from '../../global-configuration-values';
4
3
  import { ConfirmDialogData } from './confirm-dialog-data';
5
4
  import { ConfirmDialogDataInternal } from './confirm-dialog-data.builder';
5
+ import { NgxGlobalDefaultValues } from '../../global-configuration-values';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * The Dialog used whenever confirmation by the user is required (e.g. When the user tries to delete an entity).
@@ -2,16 +2,16 @@ import { Location } from '@angular/common';
2
2
  import { HttpClient } from '@angular/common/http';
3
3
  import { ElementRef, EnvironmentInjector, InjectionToken, OnInit, Renderer2 } from '@angular/core';
4
4
  import { MatDialog } from '@angular/material/dialog';
5
- import { Observable } from 'rxjs';
5
+ import { PageCreateDataInternal } from './page-create-data.builder';
6
6
  import { BaseEntityType, EntityClassNewable } from '../../classes/entity.model';
7
7
  import { NgxGlobalDefaultValues } from '../../global-configuration-values';
8
8
  import { EntityService } from '../../services/entity.service';
9
- import { EntityTab, EntityUtilities } from '../../utilities/entity.utilities';
9
+ import { UnsavedChangesPage } from '../../services/unsaved-changes.guard';
10
+ import { EntityUtilities } from '../../utilities/entity.utilities';
10
11
  import { ValidationError } from '../../utilities/validation.utilities';
11
12
  import { ConfirmDialogData } from '../confirm-dialog/confirm-dialog-data';
12
13
  import { CreateEntityData } from '../table/create-dialog/create-entity-data';
13
14
  import { CreateData } from '../table/table-data';
14
- import { PageCreateDataInternal } from './page-create-data.builder';
15
15
  import * as i0 from "@angular/core";
16
16
  /**
17
17
  * The data that needs to be provided for a route to be able to create a entity.
@@ -53,7 +53,7 @@ export declare const NGX_CREATE_DATA: InjectionToken<PageCreateData<any>>;
53
53
  * A generic page that allows you to create a specific entity.
54
54
  * For this to work you need to provide some data for the route.
55
55
  */
56
- export declare class NgxMatEntityCreatePageComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
56
+ export declare class NgxMatEntityCreatePageComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit, UnsavedChangesPage {
57
57
  private readonly dialog;
58
58
  private readonly location;
59
59
  private readonly injector;
@@ -68,10 +68,6 @@ export declare class NgxMatEntityCreatePageComponent<EntityType extends BaseEnti
68
68
  * Contains HelperMethods around handling Entities and their property-metadata.
69
69
  */
70
70
  EntityUtilities: typeof EntityUtilities;
71
- /**
72
- * The tabs to display.
73
- */
74
- entityTabs: EntityTab<EntityType>[];
75
71
  /**
76
72
  * The entity to create.
77
73
  */
@@ -101,14 +97,14 @@ export declare class NgxMatEntityCreatePageComponent<EntityType extends BaseEnti
101
97
  * What to display inside the tooltip.
102
98
  */
103
99
  tooltipContent: string;
100
+ /**
101
+ * Whether or not the page has been loaded.
102
+ */
103
+ isLoaded: boolean;
104
104
  private inConfirmNavigation;
105
105
  get hasUnsavedChanges(): boolean;
106
106
  constructor(dialog: MatDialog, location: Location, injector: EnvironmentInjector, entityService: EntityService<EntityType>, EntityClass: EntityClassNewable<EntityType>, inputData: PageCreateData<EntityType>, http: HttpClient, el: ElementRef, renderer: Renderer2, globalConfig: NgxGlobalDefaultValues);
107
- ngOnInit(): void;
108
- /**
109
- * Whether the page can be left without confirmation (of unsaved changes).
110
- * @returns Whether or not the page can be left without confirmation.
111
- */
107
+ ngOnInit(): Promise<void>;
112
108
  canDeactivate(): boolean;
113
109
  /**
114
110
  * Checks if the bottom row should be displayed as fixed.
@@ -128,13 +124,8 @@ export declare class NgxMatEntityCreatePageComponent<EntityType extends BaseEnti
128
124
  /**
129
125
  * Tries to navigate back.
130
126
  */
131
- navigateBack(): void;
132
- /**
133
- * Opens the confirm dialog for navigating with unsaved changes.
134
- * This is exposed because the UnsavedChangesGuard needs to access this.
135
- * @returns The first observable result of the confirm dialog.
136
- */
137
- openConfirmNavigationDialog(): Observable<boolean>;
127
+ navigateBack(): Promise<void>;
128
+ openConfirmNavigationDialog(): Promise<boolean>;
138
129
  private confirmNavigateBack;
139
130
  /**
140
131
  * Checks if the input with the given key is readonly.
@@ -1,10 +1,10 @@
1
+ import { PageCreateData } from './create-page.component';
1
2
  import { BaseBuilder } from '../../classes/base.builder';
2
3
  import { BaseEntityType } from '../../classes/entity.model';
3
4
  import { NgxGlobalDefaultValues } from '../../global-configuration-values';
4
5
  import { ConfirmDialogDataInternal } from '../confirm-dialog/confirm-dialog-data.builder';
5
6
  import { CreateDataInternal } from '../table/create-dialog/create-data.builder';
6
7
  import { CreateEntityDataInternal } from '../table/create-dialog/create-entity-data.builder';
7
- import { PageCreateData } from './create-page.component';
8
8
  export type PageCreateDataInternal<EntityType extends BaseEntityType<EntityType>> = Omit<CreateEntityDataInternal<EntityType>, 'entity' | 'EntityServiceClass'> & {
9
9
  displayLoadingSpinner: boolean;
10
10
  createData: CreateDataInternal & {
@@ -3,17 +3,17 @@ import { HttpClient } from '@angular/common/http';
3
3
  import { ElementRef, EnvironmentInjector, InjectionToken, OnInit, Renderer2 } from '@angular/core';
4
4
  import { MatDialog } from '@angular/material/dialog';
5
5
  import { ActivatedRoute } from '@angular/router';
6
- import { Observable } from 'rxjs';
6
+ import { PageEditDataInternal } from './page-edit-data.builder';
7
7
  import { BaseEntityType, EntityClassNewable } from '../../classes/entity.model';
8
8
  import { NgxGlobalDefaultValues } from '../../global-configuration-values';
9
9
  import { EntityService } from '../../services/entity.service';
10
- import { EntityTab, EntityUtilities } from '../../utilities/entity.utilities';
10
+ import { UnsavedChangesPage } from '../../services/unsaved-changes.guard';
11
+ import { EntityUtilities } from '../../utilities/entity.utilities';
11
12
  import { ValidationError } from '../../utilities/validation.utilities';
12
13
  import { ConfirmDialogData } from '../confirm-dialog/confirm-dialog-data';
13
14
  import { EditActionInternal } from '../table/edit-dialog/edit-data.builder';
14
15
  import { EditEntityData } from '../table/edit-dialog/edit-entity-data';
15
16
  import { EditData } from '../table/table-data';
16
- import { PageEditDataInternal } from './page-edit-data.builder';
17
17
  import * as i0 from "@angular/core";
18
18
  /**
19
19
  * The data that needs to be provided for a route to be able to edit a entity.
@@ -55,7 +55,7 @@ export declare const NGX_EDIT_DATA: InjectionToken<PageEditData<any>>;
55
55
  * A generic page that allows you to edit a specific entity.
56
56
  * For this to work you need to provide some data for the route.
57
57
  */
58
- export declare class NgxMatEntityEditPageComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
58
+ export declare class NgxMatEntityEditPageComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit, UnsavedChangesPage {
59
59
  private readonly dialog;
60
60
  private readonly location;
61
61
  private readonly route;
@@ -71,10 +71,6 @@ export declare class NgxMatEntityEditPageComponent<EntityType extends BaseEntity
71
71
  * Contains HelperMethods around handling Entities and their property-metadata.
72
72
  */
73
73
  EntityUtilities: typeof EntityUtilities;
74
- /**
75
- * The tabs to display.
76
- */
77
- entityTabs: EntityTab<EntityType>[];
78
74
  /**
79
75
  * The entity that is being edited.
80
76
  */
@@ -111,24 +107,18 @@ export declare class NgxMatEntityEditPageComponent<EntityType extends BaseEntity
111
107
  * Whether or not the current user is allowed to delete the entity.
112
108
  */
113
109
  allowDelete: boolean;
110
+ /**
111
+ * Whether or not the page has been loaded.
112
+ */
113
+ isLoaded: boolean;
114
114
  private inConfirmNavigation;
115
115
  get hasUnsavedChanges(): boolean;
116
116
  constructor(dialog: MatDialog, location: Location, route: ActivatedRoute, injector: EnvironmentInjector, entityService: EntityService<EntityType>, EntityClass: EntityClassNewable<EntityType>, inputData: PageEditData<EntityType>, http: HttpClient, el: ElementRef, renderer: Renderer2, globalConfig: NgxGlobalDefaultValues);
117
- /**
118
- * Checks if the input with the given key is readonly.
119
- * @param key - The key for the input to check.
120
- * @returns Whether or not the input for the key is read only.
121
- */
122
- isReadOnly(key: keyof EntityType): boolean;
123
117
  ngOnInit(): Promise<void>;
124
118
  /**
125
119
  * Checks if the bottom row should be displayed as fixed.
126
120
  */
127
121
  checkOffset(): void;
128
- /**
129
- * Whether the page can be left without confirmation (of unsaved changes).
130
- * @returns Whether or not the page can be left without confirmation.
131
- */
132
122
  canDeactivate(): boolean;
133
123
  /**
134
124
  * Checks if the entity has become invalid or dirty.
@@ -150,13 +140,8 @@ export declare class NgxMatEntityEditPageComponent<EntityType extends BaseEntity
150
140
  /**
151
141
  * Tries to navigate back.
152
142
  */
153
- navigateBack(): void;
154
- /**
155
- * Opens the confirm dialog for navigating with unsaved changes.
156
- * This is exposed because the UnsavedChangesGuard needs to access this.
157
- * @returns The first observable result of the confirm dialog.
158
- */
159
- openConfirmNavigationDialog(): Observable<boolean>;
143
+ navigateBack(): Promise<void>;
144
+ openConfirmNavigationDialog(): Promise<boolean>;
160
145
  private confirmNavigateBack;
161
146
  /**
162
147
  * Runs the edit action on the entity.
@@ -1,10 +1,10 @@
1
+ import { PageEditData } from './edit-page.component';
1
2
  import { BaseBuilder } from '../../classes/base.builder';
2
3
  import { BaseEntityType } from '../../classes/entity.model';
3
4
  import { NgxGlobalDefaultValues } from '../../global-configuration-values';
4
5
  import { ConfirmDialogDataInternal } from '../confirm-dialog/confirm-dialog-data.builder';
5
6
  import { EditDataInternal } from '../table/edit-dialog/edit-data.builder';
6
7
  import { EditEntityDataInternal } from '../table/edit-dialog/edit-entity.builder';
7
- import { PageEditData } from './edit-page.component';
8
8
  export type PageEditDataInternal<EntityType extends BaseEntityType<EntityType>> = Omit<EditEntityDataInternal<EntityType>, 'entity' | 'EntityServiceClass'> & {
9
9
  displayLoadingSpinner: boolean;
10
10
  editData: EditDataInternal<EntityType> & {
@@ -0,0 +1,59 @@
1
+ import { EnvironmentInjector, EventEmitter, OnInit } from '@angular/core';
2
+ import { MatTabChangeEvent } from '@angular/material/tabs';
3
+ import { BaseEntityType } from '../../classes/entity.model';
4
+ import { EntityTab, EntityUtilities } from '../../utilities/entity.utilities';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * A form component based on the ngx-material-entity framework.
8
+ */
9
+ export declare class NgxMatEntityFormComponent<EntityType extends BaseEntityType<EntityType>> implements OnInit {
10
+ private readonly injector;
11
+ EntityUtilities: typeof EntityUtilities;
12
+ /**
13
+ * The entity that should be represented by the form.
14
+ */
15
+ entity: EntityType;
16
+ /**
17
+ * The tabs to display.
18
+ */
19
+ entityTabs: EntityTab<EntityType>[];
20
+ /**
21
+ * Whether or not the entity is readonly.
22
+ * @default false
23
+ */
24
+ isEntityReadOnly: boolean;
25
+ /**
26
+ * Whether to hide a value if it is omitted for creation.
27
+ * Is used internally for the object property.
28
+ * @default false
29
+ */
30
+ hideOmitForCreate?: boolean;
31
+ /**
32
+ * Whether to hide a value if it is omitted for editing.
33
+ * Is used internally for the object property.
34
+ * @default false
35
+ */
36
+ hideOmitForEdit?: boolean;
37
+ /**
38
+ * Additional keys that should be omitted.
39
+ */
40
+ additionalOmitKeys?: (keyof EntityType)[];
41
+ /**
42
+ * Fires whenever an input of the form changes.
43
+ */
44
+ formChange: EventEmitter<void>;
45
+ /**
46
+ * Fires when the selected tab has been changed.
47
+ */
48
+ selectedTabChange: EventEmitter<MatTabChangeEvent>;
49
+ constructor(injector: EnvironmentInjector);
50
+ ngOnInit(): void;
51
+ /**
52
+ * Checks if the input with the given key is readonly.
53
+ * @param key - The key for the input to check.
54
+ * @returns Whether or not the input for the key is read only.
55
+ */
56
+ isReadOnly(key: keyof EntityType): boolean;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityFormComponent<any>, never>;
58
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatEntityFormComponent<any>, "ngx-mat-entity-form", never, { "entity": { "alias": "entity"; "required": true; }; "isEntityReadOnly": { "alias": "isEntityReadOnly"; "required": false; }; "hideOmitForCreate": { "alias": "hideOmitForCreate"; "required": false; }; "hideOmitForEdit": { "alias": "hideOmitForEdit"; "required": false; }; "additionalOmitKeys": { "alias": "additionalOmitKeys"; "required": false; }; }, { "formChange": "formChange"; "selectedTabChange": "selectedTabChange"; }, never, never, true, never>;
59
+ }
@@ -13,5 +13,5 @@ export declare class ArrayDateInputComponent<EntityType extends BaseEntityType<E
13
13
  constructor(matDialog: MatDialog, injector: EnvironmentInjector, http: HttpClient, globalConfig: NgxGlobalDefaultValues);
14
14
  ngOnInit(): void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<ArrayDateInputComponent<any>, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<ArrayDateInputComponent<any>, "array-date-input", never, {}, {}, never, never, false, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArrayDateInputComponent<any>, "array-date-input", never, {}, {}, never, never, true, never>;
17
17
  }
@@ -21,5 +21,5 @@ export declare class ArrayDateRangeInputComponent<EntityType extends BaseEntityT
21
21
  addDateRange(): void;
22
22
  protected resetInput(): void;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<ArrayDateRangeInputComponent<any>, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<ArrayDateRangeInputComponent<any>, "array-date-range-input", never, {}, {}, never, never, false, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArrayDateRangeInputComponent<any>, "array-date-range-input", never, {}, {}, never, never, true, never>;
25
25
  }
@@ -23,5 +23,5 @@ export declare class ArrayDateTimeInputComponent<EntityType extends BaseEntityTy
23
23
  */
24
24
  addDateTime(): void;
25
25
  static ɵfac: i0.ɵɵFactoryDeclaration<ArrayDateTimeInputComponent<any>, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<ArrayDateTimeInputComponent<any>, "array-date-time-input", never, {}, {}, never, never, false, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArrayDateTimeInputComponent<any>, "array-date-time-input", never, {}, {}, never, never, true, never>;
27
27
  }
@@ -26,5 +26,5 @@ export declare class ArrayStringAutocompleteChipsComponent<EntityType extends Ba
26
26
  */
27
27
  filterAutocompleteStrings(input: string): void;
28
28
  static ɵfac: i0.ɵɵFactoryDeclaration<ArrayStringAutocompleteChipsComponent<any>, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<ArrayStringAutocompleteChipsComponent<any>, "array-string-autocomplete-chips", never, {}, {}, never, never, false, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArrayStringAutocompleteChipsComponent<any>, "array-string-autocomplete-chips", never, {}, {}, never, never, true, never>;
30
30
  }
@@ -32,5 +32,5 @@ export declare class ArrayStringChipsInputComponent<EntityType extends BaseEntit
32
32
  removeStringChipArrayValue(value: string): void;
33
33
  setValidationErrors(model: NgModel, chipsModel: NgModel): void;
34
34
  static ɵfac: i0.ɵɵFactoryDeclaration<ArrayStringChipsInputComponent<any>, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<ArrayStringChipsInputComponent<any>, "array-string-chips-input", never, {}, {}, never, never, false, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArrayStringChipsInputComponent<any>, "array-string-chips-input", never, {}, {}, never, never, true, never>;
36
36
  }
@@ -6,5 +6,5 @@ import * as i0 from "@angular/core";
6
6
  export declare class BooleanCheckboxInputComponent<EntityType extends BaseEntityType<EntityType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.BOOLEAN_CHECKBOX, boolean> implements OnInit {
7
7
  updatePropertyValue(): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<BooleanCheckboxInputComponent<any>, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<BooleanCheckboxInputComponent<any>, "boolean-checkbox-input", never, {}, {}, never, never, false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<BooleanCheckboxInputComponent<any>, "boolean-checkbox-input", never, {}, {}, never, never, true, never>;
10
10
  }
@@ -9,5 +9,5 @@ export declare class BooleanDropdownInputComponent<EntityType extends BaseEntity
9
9
  constructor(globalConfig: NgxGlobalDefaultValues);
10
10
  ngOnInit(): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<BooleanDropdownInputComponent<any>, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<BooleanDropdownInputComponent<any>, "boolean-dropdown-input", never, {}, {}, never, never, false, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<BooleanDropdownInputComponent<any>, "boolean-dropdown-input", never, {}, {}, never, never, true, never>;
13
13
  }
@@ -6,5 +6,5 @@ import * as i0 from "@angular/core";
6
6
  export declare class BooleanToggleInputComponent<EntityType extends BaseEntityType<EntityType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.BOOLEAN_TOGGLE, boolean> implements OnInit {
7
7
  updatePropertyValue(): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<BooleanToggleInputComponent<any>, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<BooleanToggleInputComponent<any>, "boolean-toggle-input", never, {}, {}, never, never, false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<BooleanToggleInputComponent<any>, "boolean-toggle-input", never, {}, {}, never, never, true, never>;
10
10
  }
@@ -9,5 +9,5 @@ export declare class CustomInputComponent<EntityType extends BaseEntityType<Enti
9
9
  constructor(viewContainerRef: ViewContainerRef);
10
10
  ngOnInit(): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<CustomInputComponent<any, any, any, any>, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<CustomInputComponent<any, any, any, any>, "custom-input", never, {}, {}, never, never, false, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomInputComponent<any, any, any, any>, "custom-input", never, {}, {}, never, never, true, never>;
13
13
  }
@@ -7,5 +7,5 @@ import * as i0 from "@angular/core";
7
7
  export declare class DateInputComponent<EntityType extends BaseEntityType<EntityType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.DATE, Date> implements OnInit {
8
8
  DateUtilities: typeof DateUtilities;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<DateInputComponent<any>, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<DateInputComponent<any>, "date-input", never, {}, {}, never, never, false, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<DateInputComponent<any>, "date-input", never, {}, {}, never, never, true, never>;
11
11
  }
@@ -18,5 +18,5 @@ export declare class DateRangeInputComponent<EntityType extends BaseEntityType<E
18
18
  */
19
19
  setDateRangeValues(): void;
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<DateRangeInputComponent<any>, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<DateRangeInputComponent<any>, "date-range-input", never, {}, {}, never, never, false, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<DateRangeInputComponent<any>, "date-range-input", never, {}, {}, never, never, true, never>;
22
22
  }
@@ -29,5 +29,5 @@ export declare class DateTimeInputComponent<EntityType extends BaseEntityType<En
29
29
  */
30
30
  setTime(): void;
31
31
  static ɵfac: i0.ɵɵFactoryDeclaration<DateTimeInputComponent<any>, never>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<DateTimeInputComponent<any>, "date-time-input", never, {}, {}, never, never, false, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<DateTimeInputComponent<any>, "date-time-input", never, {}, {}, never, never, true, never>;
33
33
  }
@@ -7,5 +7,5 @@ import * as i0 from "@angular/core";
7
7
  export declare class FileDefaultInputComponent<EntityType extends BaseEntityType<EntityType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.FILE_DEFAULT, FileData | FileData[]> implements OnInit {
8
8
  refreshFileData(fileData?: FileData | FileData[]): Promise<void>;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<FileDefaultInputComponent<any>, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<FileDefaultInputComponent<any>, "file-default-input", never, {}, {}, never, never, false, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<FileDefaultInputComponent<any>, "file-default-input", never, {}, {}, never, never, true, never>;
11
11
  }
@@ -21,5 +21,5 @@ export declare class FileImageInputComponent<EntityType extends BaseEntityType<E
21
21
  next(): Promise<void>;
22
22
  setIndex(index: number): Promise<void>;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<FileImageInputComponent<any>, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<FileImageInputComponent<any>, "file-image-input", never, {}, {}, never, never, false, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<FileImageInputComponent<any>, "file-image-input", never, {}, {}, never, never, true, never>;
25
25
  }
@@ -35,5 +35,5 @@ export declare class FileInputComponent<EntityType extends BaseEntityType<Entity
35
35
  downloadAllEnabled(): boolean;
36
36
  downloadAll(): Promise<void>;
37
37
  static ɵfac: i0.ɵɵFactoryDeclaration<FileInputComponent<any>, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<FileInputComponent<any>, "file-input", never, { "propertyValue": { "alias": "propertyValue"; "required": false; }; "entity": { "alias": "entity"; "required": false; }; "key": { "alias": "key"; "required": false; }; "metadata": { "alias": "metadata"; "required": false; }; "getValidationErrorMessage": { "alias": "getValidationErrorMessage"; "required": false; }; "isReadOnly": { "alias": "isReadOnly"; "required": false; }; }, { "fileDataChangeEvent": "fileDataChangeEvent"; }, never, never, false, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<FileInputComponent<any>, "file-input", never, { "propertyValue": { "alias": "propertyValue"; "required": false; }; "entity": { "alias": "entity"; "required": false; }; "key": { "alias": "key"; "required": false; }; "metadata": { "alias": "metadata"; "required": false; }; "getValidationErrorMessage": { "alias": "getValidationErrorMessage"; "required": false; }; "isReadOnly": { "alias": "isReadOnly"; "required": false; }; }, { "fileDataChangeEvent": "fileDataChangeEvent"; }, never, never, true, never>;
39
39
  }
@@ -12,7 +12,7 @@ import { DecoratorTypes } from '../../decorators/base/decorator-types.enum';
12
12
  import { DropdownValue } from '../../decorators/base/dropdown-value.interface';
13
13
  import { PropertyDecoratorConfigInternal } from '../../decorators/base/property-decorator-internal.data';
14
14
  import { HasManyDecoratorConfigInternal } from '../../decorators/has-many/has-many-decorator-internal.data';
15
- import { DefaultObjectDecoratorConfigInternal } from '../../decorators/object/object-decorator-internal.data';
15
+ import { DefaultObjectDecoratorConfigInternal, DropdownObjectDecoratorConfigInternal } from '../../decorators/object/object-decorator-internal.data';
16
16
  import { ReferencesOneDecoratorConfigInternal } from '../../decorators/references-one/references-one-decorator-internal.data';
17
17
  import { NgxGlobalDefaultValues } from '../../global-configuration-values';
18
18
  import { DateUtilities } from '../../utilities/date.utilities';
@@ -102,6 +102,30 @@ export declare class NgxMatEntityInputComponent<EntityType extends BaseEntityTyp
102
102
  * The tabs for the object property.
103
103
  */
104
104
  objectPropertyTabs: EntityTab<EntityType>[];
105
+ /**
106
+ * The metadata of an dropdown object property.
107
+ */
108
+ metadataDropdownObject: DropdownObjectDecoratorConfigInternal<EntityType>;
109
+ /**
110
+ * All possible dropdown values for the object property.
111
+ */
112
+ private objectDropdownValues;
113
+ /**
114
+ * A unique input name for the references one property.
115
+ */
116
+ objectDropdownName: string;
117
+ /**
118
+ * All currently shown dropdown values for the object property.
119
+ */
120
+ filteredObjectDropdownValues: DropdownValue<EntityType | undefined>[];
121
+ /**
122
+ * The currently selected object as a drop down value.
123
+ */
124
+ get currentObjectDropdownValue(): DropdownValue<EntityType | undefined> | undefined;
125
+ /**
126
+ * Whether or not the current object dropdown value should be shown in the dropdown.
127
+ */
128
+ get shouldDisplayCurrentObjectDropdownValue(): boolean;
105
129
  private readonly addArrayItemDialog;
106
130
  private addArrayItemDialogRef;
107
131
  private readonly editArrayItemDialog;
@@ -326,7 +350,7 @@ export declare class NgxMatEntityInputComponent<EntityType extends BaseEntityTyp
326
350
  * @returns The value of the display column.
327
351
  */
328
352
  getDisplayColumnValue(entity: EntityType, displayColumn: DisplayColumn<EntityType>): unknown;
329
- ngOnInit(): void;
353
+ ngOnInit(): Promise<void>;
330
354
  private initReferencesOne;
331
355
  /**
332
356
  * Filters the references one dropdown values.
@@ -335,9 +359,15 @@ export declare class NgxMatEntityInputComponent<EntityType extends BaseEntityTyp
335
359
  filterReferencesOneValues(searchInput: string): void;
336
360
  private initHasMany;
337
361
  private initEntityArray;
362
+ private initDropdownObjectInput;
338
363
  private initObjectInput;
339
364
  private startImportJson;
340
365
  private importJson;
366
+ /**
367
+ * Filters the dropdown values.
368
+ * @param searchInput - The search input to filter for.
369
+ */
370
+ filterObjectDropdownValues(searchInput: string): void;
341
371
  /**
342
372
  * Sets the references one object using the input id.
343
373
  */
@@ -489,5 +519,5 @@ export declare class NgxMatEntityInputComponent<EntityType extends BaseEntityTyp
489
519
  */
490
520
  removeFromEntityArray(): void;
491
521
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatEntityInputComponent<any>, never>;
492
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatEntityInputComponent<any>, "ngx-mat-entity-input", never, { "entity": { "alias": "entity"; "required": true; }; "propertyKey": { "alias": "propertyKey"; "required": true; }; "getValidationErrorMessage": { "alias": "getValidationErrorMessage"; "required": false; }; "hideOmitForCreate": { "alias": "hideOmitForCreate"; "required": false; }; "hideOmitForEdit": { "alias": "hideOmitForEdit"; "required": false; }; "validEmpty": { "alias": "validEmpty"; "required": false; }; "isReadOnly": { "alias": "isReadOnly"; "required": false; }; }, { "inputChangeEvent": "inputChangeEvent"; }, never, never, false, never>;
522
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatEntityInputComponent<any>, "ngx-mat-entity-input", never, { "entity": { "alias": "entity"; "required": true; }; "propertyKey": { "alias": "propertyKey"; "required": true; }; "getValidationErrorMessage": { "alias": "getValidationErrorMessage"; "required": false; }; "hideOmitForCreate": { "alias": "hideOmitForCreate"; "required": false; }; "hideOmitForEdit": { "alias": "hideOmitForEdit"; "required": false; }; "validEmpty": { "alias": "validEmpty"; "required": false; }; "isReadOnly": { "alias": "isReadOnly"; "required": false; }; }, { "inputChangeEvent": "inputChangeEvent"; }, never, never, true, never>;
493
523
  }
@@ -18,5 +18,5 @@ export declare class NumberDropdownInputComponent<EntityType extends BaseEntityT
18
18
  */
19
19
  filterDropdownValues(searchInput: string): void;
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<NumberDropdownInputComponent<any>, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<NumberDropdownInputComponent<any>, "number-dropdown-input", never, {}, {}, never, never, false, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<NumberDropdownInputComponent<any>, "number-dropdown-input", never, {}, {}, never, never, true, never>;
22
22
  }
@@ -5,5 +5,5 @@ import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class NumberInputComponent<EntityType extends BaseEntityType<EntityType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.NUMBER, number> implements OnInit {
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<NumberInputComponent<any>, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<NumberInputComponent<any>, "number-input", never, {}, {}, never, never, false, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<NumberInputComponent<any>, "number-input", never, {}, {}, never, never, true, never>;
9
9
  }
@@ -6,5 +6,5 @@ import * as i0 from "@angular/core";
6
6
  export declare class NumberSliderInputComponent<EntityType extends BaseEntityType<EntityType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.NUMBER_SLIDER, number> implements OnInit {
7
7
  updatePropertyValue(value: number): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<NumberSliderInputComponent<any>, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<NumberSliderInputComponent<any>, "number-slider-input", never, {}, {}, never, never, false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<NumberSliderInputComponent<any>, "number-slider-input", never, {}, {}, never, never, true, never>;
10
10
  }
@@ -42,5 +42,5 @@ export declare class ReferencesManyInputComponent<EntityType extends BaseEntityT
42
42
  addAll(): void;
43
43
  remove(): void;
44
44
  static ɵfac: i0.ɵɵFactoryDeclaration<ReferencesManyInputComponent<any>, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<ReferencesManyInputComponent<any>, "references-many-input", never, {}, {}, never, never, false, never>;
45
+ static ɵcmp: i0.ɵɵComponentDeclaration<ReferencesManyInputComponent<any>, "references-many-input", never, {}, {}, never, never, true, never>;
46
46
  }
@@ -15,5 +15,5 @@ export declare class StringAutocompleteInputComponent<EntityType extends BaseEnt
15
15
  */
16
16
  filterAutocompleteStrings(input?: string): void;
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<StringAutocompleteInputComponent<any>, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<StringAutocompleteInputComponent<any>, "string-autocomplete-input", never, {}, {}, never, never, false, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<StringAutocompleteInputComponent<any>, "string-autocomplete-input", never, {}, {}, never, never, true, never>;
19
19
  }
@@ -18,5 +18,5 @@ export declare class StringDropdownInputComponent<EntityType extends BaseEntityT
18
18
  */
19
19
  filterDropdownValues(searchInput: string): void;
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<StringDropdownInputComponent<any>, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<StringDropdownInputComponent<any>, "string-dropdown-input", never, {}, {}, never, never, false, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<StringDropdownInputComponent<any>, "string-dropdown-input", never, {}, {}, never, never, true, never>;
22
22
  }
@@ -5,5 +5,5 @@ import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class StringInputComponent<EntityType extends BaseEntityType<EntityType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.STRING, string> implements OnInit {
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<StringInputComponent<any>, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<StringInputComponent<any>, "string-input", never, {}, {}, never, never, false, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<StringInputComponent<any>, "string-input", never, {}, {}, never, never, true, never>;
9
9
  }
@@ -24,5 +24,5 @@ export declare class StringPasswordInputComponent<EntityType extends BaseEntityT
24
24
  private isPasswordWeak;
25
25
  private isPasswordComplex;
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<StringPasswordInputComponent<any>, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<StringPasswordInputComponent<any>, "string-password-input", never, {}, {}, never, never, false, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<StringPasswordInputComponent<any>, "string-password-input", never, {}, {}, never, never, true, never>;
28
28
  }
@@ -5,5 +5,5 @@ import { NgxMatEntityBaseInputComponent } from '../../base-input.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class StringTextboxInputComponent<EntityType extends BaseEntityType<EntityType>> extends NgxMatEntityBaseInputComponent<EntityType, DecoratorTypes.STRING_TEXTBOX, string> implements OnInit {
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<StringTextboxInputComponent<any>, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<StringTextboxInputComponent<any>, "string-textbox-input", never, {}, {}, never, never, false, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<StringTextboxInputComponent<any>, "string-textbox-input", never, {}, {}, never, never, true, never>;
9
9
  }
@@ -1,5 +1,6 @@
1
1
  import { BaseBuilder } from '../../../classes/base.builder';
2
2
  import { NgxGlobalDefaultValues } from '../../../global-configuration-values';
3
+ import { ConfirmDialogData } from '../../confirm-dialog/confirm-dialog-data';
3
4
  import { ConfirmDialogDataInternal } from '../../confirm-dialog/confirm-dialog-data.builder';
4
5
  import { CreateData } from '../table-data';
5
6
  /**
@@ -11,7 +12,9 @@ export declare class CreateDataInternal implements CreateData {
11
12
  cancelButtonLabel: string;
12
13
  createRequiresConfirmDialog: boolean;
13
14
  confirmCreateDialogData: ConfirmDialogDataInternal;
14
- constructor(title: string, createButtonLabel: string, cancelButtonLabel: string, createRequiresConfirmDialog: boolean, confirmCreateDialogData: ConfirmDialogDataInternal);
15
+ unsavedChangesRequireConfirmDialog: boolean;
16
+ confirmUnsavedChangesDialogData: ConfirmDialogData;
17
+ constructor(title: string, createButtonLabel: string, cancelButtonLabel: string, createRequiresConfirmDialog: boolean, confirmCreateDialogData: ConfirmDialogDataInternal, unsavedChangesRequireConfirmDialog: boolean, confirmUnsavedChangesDialogData: ConfirmDialogDataInternal);
15
18
  }
16
19
  /**
17
20
  * The Builder for the CreateData. Sets default values.
@@ -1,8 +1,8 @@
1
+ import { CreateDataInternal } from './create-data.builder';
2
+ import { CreateEntityData } from './create-entity-data';
1
3
  import { BaseBuilder } from '../../../classes/base.builder';
2
4
  import { BaseEntityType, EntityServiceClassNewable } from '../../../classes/entity.model';
3
5
  import { NgxGlobalDefaultValues } from '../../../global-configuration-values';
4
- import { CreateDataInternal } from './create-data.builder';
5
- import { CreateEntityData } from './create-entity-data';
6
6
  /**
7
7
  * The internal CreateEntityDialogData. Requires all default values the user can leave out.
8
8
  */