ngx-material-entity 16.1.1 → 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 (137) 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 +5 -14
  5. package/components/create-page/page-create-data.builder.d.ts +1 -1
  6. package/components/edit-page/edit-page.component.d.ts +5 -14
  7. package/components/edit-page/page-edit-data.builder.d.ts +1 -1
  8. package/components/input/input.component.d.ts +32 -2
  9. package/components/table/create-dialog/create-data.builder.d.ts +4 -1
  10. package/components/table/create-dialog/create-entity-data.builder.d.ts +2 -2
  11. package/components/table/create-dialog/create-entity-dialog.component.d.ts +21 -9
  12. package/components/table/display-column-value/display-column-value.component.d.ts +1 -1
  13. package/components/table/edit-dialog/edit-data.builder.d.ts +4 -2
  14. package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +12 -7
  15. package/components/table/edit-dialog/edit-entity.builder.d.ts +2 -2
  16. package/components/table/table-data.builder.d.ts +3 -3
  17. package/components/table/table-data.d.ts +17 -1
  18. package/components/table/table.component.d.ts +8 -4
  19. package/decorators/array/array-decorator-internal.data.d.ts +1 -1
  20. package/decorators/array/array.decorator.d.ts +1 -1
  21. package/decorators/base/decorator-types.enum.d.ts +3 -2
  22. package/decorators/boolean/boolean-decorator-internal.data.d.ts +1 -1
  23. package/decorators/custom/custom-decorator-internal.data.d.ts +1 -1
  24. package/decorators/custom/custom.decorator.d.ts +1 -1
  25. package/decorators/date/date-decorator-internal.data.d.ts +1 -1
  26. package/decorators/file/file-decorator-internal.data.d.ts +1 -1
  27. package/decorators/file/file-decorator.data.d.ts +1 -1
  28. package/decorators/has-many/has-many-decorator-internal.data.d.ts +1 -1
  29. package/decorators/has-many/has-many.decorator.d.ts +1 -1
  30. package/decorators/number/number-decorator-internal.data.d.ts +1 -2
  31. package/decorators/object/object-decorator-internal.data.d.ts +12 -1
  32. package/decorators/object/object-decorator.data.d.ts +14 -1
  33. package/decorators/object/object.decorator.d.ts +2 -2
  34. package/decorators/references-many/references-many-decorator-internal.data.d.ts +1 -1
  35. package/decorators/references-many/references-many.decorator.d.ts +1 -1
  36. package/decorators/references-one/references-one-decorator-internal.data.d.ts +1 -1
  37. package/decorators/references-one/references-one.decorator.d.ts +1 -1
  38. package/decorators/string/string-decorator-internal.data.d.ts +1 -2
  39. package/esm2022/classes/base.builder.mjs +2 -2
  40. package/esm2022/classes/entity.model.mjs +1 -1
  41. package/esm2022/components/confirm-dialog/confirm-dialog-data.builder.mjs +1 -1
  42. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +2 -2
  43. package/esm2022/components/create-page/create-data.route.mjs +1 -1
  44. package/esm2022/components/create-page/create-page.component.mjs +12 -20
  45. package/esm2022/components/create-page/page-create-data.builder.mjs +1 -1
  46. package/esm2022/components/edit-page/edit-data.route.mjs +1 -1
  47. package/esm2022/components/edit-page/edit-page.component.mjs +12 -20
  48. package/esm2022/components/edit-page/page-edit-data.builder.mjs +1 -1
  49. package/esm2022/components/form/form.component.mjs +1 -1
  50. package/esm2022/components/input/array/array-date-input/array-date-input.component.mjs +1 -1
  51. package/esm2022/components/input/array/array-date-range-input/array-date-range-input.component.mjs +1 -1
  52. package/esm2022/components/input/array/array-date-time-input/array-date-time-input.component.mjs +1 -1
  53. package/esm2022/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +1 -1
  54. package/esm2022/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +1 -1
  55. package/esm2022/components/input/array/array-table.class.mjs +1 -1
  56. package/esm2022/components/input/base-input.component.mjs +1 -1
  57. package/esm2022/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +1 -1
  58. package/esm2022/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +1 -1
  59. package/esm2022/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +1 -1
  60. package/esm2022/components/input/custom/custom.component.mjs +1 -1
  61. package/esm2022/components/input/date/date-input/date-input.component.mjs +1 -1
  62. package/esm2022/components/input/date/date-range-input/date-range-input.component.mjs +2 -2
  63. package/esm2022/components/input/date/date-time-input/date-time-input.component.mjs +1 -1
  64. package/esm2022/components/input/file/file-default-input/file-default-input.component.mjs +1 -1
  65. package/esm2022/components/input/file/file-image-input/file-image-input.component.mjs +1 -1
  66. package/esm2022/components/input/file/file-input/file-input.component.mjs +1 -1
  67. package/esm2022/components/input/input.component.mjs +78 -27
  68. package/esm2022/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +1 -1
  69. package/esm2022/components/input/number/number-input/number-input.component.mjs +1 -1
  70. package/esm2022/components/input/number/number-slider-input/number-slider-input.component.mjs +1 -1
  71. package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs +1 -1
  72. package/esm2022/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +1 -1
  73. package/esm2022/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +1 -1
  74. package/esm2022/components/input/string/string-input/string-input.component.mjs +1 -1
  75. package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +1 -1
  76. package/esm2022/components/input/string/string-textbox-input/string-textbox-input.component.mjs +1 -1
  77. package/esm2022/components/table/create-dialog/create-data.builder.mjs +14 -3
  78. package/esm2022/components/table/create-dialog/create-entity-data.builder.mjs +2 -2
  79. package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +60 -20
  80. package/esm2022/components/table/default.actions.mjs +1 -1
  81. package/esm2022/components/table/display-column-value/base-display-column-value.component.mjs +1 -1
  82. package/esm2022/components/table/display-column-value/display-column-value.component.mjs +1 -1
  83. package/esm2022/components/table/edit-dialog/edit-data.builder.mjs +17 -6
  84. package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +35 -7
  85. package/esm2022/components/table/edit-dialog/edit-entity.builder.mjs +2 -2
  86. package/esm2022/components/table/table-data.builder.mjs +3 -3
  87. package/esm2022/components/table/table-data.mjs +1 -1
  88. package/esm2022/components/table/table.component.mjs +26 -15
  89. package/esm2022/components/tooltip/tooltip.component.mjs +1 -1
  90. package/esm2022/decorators/array/array-decorator-internal.data.mjs +1 -1
  91. package/esm2022/decorators/array/array-decorator.data.mjs +1 -1
  92. package/esm2022/decorators/array/array.decorator.mjs +2 -2
  93. package/esm2022/decorators/base/base-property.decorator.mjs +1 -1
  94. package/esm2022/decorators/base/decorator-types.enum.mjs +2 -1
  95. package/esm2022/decorators/base/property-decorator-internal.data.mjs +1 -1
  96. package/esm2022/decorators/boolean/boolean-decorator-internal.data.mjs +1 -1
  97. package/esm2022/decorators/boolean/boolean.decorator.mjs +2 -2
  98. package/esm2022/decorators/custom/custom-decorator-internal.data.mjs +1 -1
  99. package/esm2022/decorators/custom/custom-decorator.data.mjs +1 -1
  100. package/esm2022/decorators/custom/custom.decorator.mjs +2 -2
  101. package/esm2022/decorators/date/date-decorator-internal.data.mjs +1 -1
  102. package/esm2022/decorators/date/date-decorator.data.mjs +1 -1
  103. package/esm2022/decorators/date/date.decorator.mjs +2 -2
  104. package/esm2022/decorators/file/file-decorator-internal.data.mjs +1 -1
  105. package/esm2022/decorators/file/file-decorator.data.mjs +1 -1
  106. package/esm2022/decorators/file/file.decorator.mjs +2 -2
  107. package/esm2022/decorators/has-many/has-many-decorator-internal.data.mjs +1 -1
  108. package/esm2022/decorators/has-many/has-many.decorator.mjs +2 -2
  109. package/esm2022/decorators/number/number-decorator-internal.data.mjs +3 -10
  110. package/esm2022/decorators/number/number.decorator.mjs +2 -2
  111. package/esm2022/decorators/object/object-decorator-internal.data.mjs +23 -1
  112. package/esm2022/decorators/object/object-decorator.data.mjs +1 -1
  113. package/esm2022/decorators/object/object.decorator.mjs +8 -3
  114. package/esm2022/decorators/references-many/references-many-decorator-internal.data.mjs +1 -1
  115. package/esm2022/decorators/references-many/references-many.decorator.mjs +2 -2
  116. package/esm2022/decorators/references-one/references-one-decorator-internal.data.mjs +1 -1
  117. package/esm2022/decorators/references-one/references-one.decorator.mjs +2 -2
  118. package/esm2022/decorators/string/string-decorator-internal.data.mjs +3 -10
  119. package/esm2022/decorators/string/string.decorator.mjs +2 -2
  120. package/esm2022/default-global-configuration-values.mjs +5 -1
  121. package/esm2022/directives/dynamic-style-class.directive.mjs +1 -1
  122. package/esm2022/encapsulation/reflect.utilities.mjs +2 -1
  123. package/esm2022/functions/dropdown-values-to-function.function.mjs +14 -0
  124. package/esm2022/functions/get-validation-errors-tooltip-content.function.ts.mjs +1 -1
  125. package/esm2022/global-configuration-values.mjs +1 -1
  126. package/esm2022/services/entity.service.mjs +1 -1
  127. package/esm2022/services/unsaved-changes.guard.mjs +7 -13
  128. package/esm2022/utilities/date.utilities.mjs +1 -1
  129. package/esm2022/utilities/entity.utilities.mjs +4 -4
  130. package/esm2022/utilities/file.utilities.mjs +1 -1
  131. package/esm2022/utilities/validation.utilities.mjs +11 -6
  132. package/fesm2022/ngx-material-entity.mjs +4494 -4333
  133. package/fesm2022/ngx-material-entity.mjs.map +1 -1
  134. package/functions/dropdown-values-to-function.function.d.ts +11 -0
  135. package/global-configuration-values.d.ts +11 -1
  136. package/package.json +1 -1
  137. package/services/unsaved-changes.guard.d.ts +15 -8
@@ -0,0 +1,11 @@
1
+ import { DropdownValue } from '../decorators/base/dropdown-value.interface';
2
+ /**
3
+ * Generic Type for all possible values that can be provided as dropdown values.
4
+ */
5
+ export type DropdownValues<T> = DropdownValue<T | undefined>[] | ((entity: any) => DropdownValue<T | undefined>[]) | ((entity: any) => Promise<DropdownValue<T | undefined>[]>);
6
+ /**
7
+ * Transforms the given dropdown values to an async function.
8
+ * @param dropdownValues - The dropdown values to transform.
9
+ * @returns An abstract function.
10
+ */
11
+ export declare function dropdownValuesToFunction<T>(dropdownValues: DropdownValues<T>): (entity: any) => Promise<DropdownValue<T | undefined>[]>;
@@ -88,16 +88,26 @@ export interface NgxGlobalDefaultValues {
88
88
  * @default 'Leave'
89
89
  */
90
90
  confirmUnsavedChangesLabel: string;
91
+ /**
92
+ * The label for the button to close a dialog without changes.
93
+ * @default 'Close'
94
+ */
95
+ confirmUnsavedChangesDialogLabel: string;
91
96
  /**
92
97
  * The title for confirming to leave without changes.
93
98
  * @default 'Unsaved Changes'
94
99
  */
95
100
  confirmUnsavedChangesTitle: string;
96
101
  /**
97
- * The text for confirming to leave without changes.
102
+ * The text for confirming to leave a page without changes.
98
103
  * @default ['You have unsaved changes that will be deleted when you leave this page.', 'Continue?']
99
104
  */
100
105
  confirmUnsavedChangesText: string[];
106
+ /**
107
+ * The text for confirming to leave a dialog without changes.
108
+ * @default ['You have unsaved changes that will be deleted when you close this dialog.', 'Continue?']
109
+ */
110
+ confirmUnsavedChangesDialogText: string[];
101
111
  /**
102
112
  * The title for the add array item dialog.
103
113
  * @default 'Add to array'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-material-entity",
3
- "version": "16.1.1",
3
+ "version": "16.1.2",
4
4
  "license": "MIT",
5
5
  "keywords": [
6
6
  "angular",
@@ -1,16 +1,23 @@
1
- import { UrlTree } from '@angular/router';
2
- import { Observable } from 'rxjs';
3
- import { NgxMatEntityCreatePageComponent } from '../components/create-page/create-page.component';
4
- import { NgxMatEntityEditPageComponent } from '../components/edit-page/edit-page.component';
1
+ import { CanDeactivateFn } from '@angular/router';
5
2
  /**
6
- * Can be either an edit or an create page.
3
+ * Interface definition for a page that can work with the UnsavedChangesGuard.
7
4
  */
8
- type PageComponent = NgxMatEntityEditPageComponent<any> | NgxMatEntityCreatePageComponent<any>;
5
+ export interface UnsavedChangesPage {
6
+ /**
7
+ * Whether the page can be left without confirmation of unsaved changes.
8
+ * @returns Whether or not the page can be left without confirmation.
9
+ */
10
+ canDeactivate: () => boolean;
11
+ /**
12
+ * Opens the confirm dialog for navigating with unsaved changes.
13
+ * @returns The the promise boolean result of the confirm dialog.
14
+ */
15
+ openConfirmNavigationDialog: () => Promise<boolean>;
16
+ }
9
17
  /**
10
18
  * A guard that checks if the user has unsaved changes and then prompts a confirmation from him.
11
19
  * Is used by the ngx-material-entity edit and create pages.
12
20
  * @param component - The component, can be either an edit or create page.
13
21
  * @returns An observable containing whether or not the user can continue.
14
22
  */
15
- export declare function UnsavedChangesGuard(component: PageComponent): Observable<boolean | UrlTree>;
16
- export {};
23
+ export declare const UnsavedChangesGuard: CanDeactivateFn<UnsavedChangesPage>;