@mediusinc/mng-commons 0.1.0 → 0.2.0

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 (224) hide show
  1. package/esm2020/lib/api/services/{abstract-crud-api.service.mjs → crud-api.abstract.service.mjs} +2 -2
  2. package/esm2020/lib/api/services/index.mjs +2 -2
  3. package/esm2020/lib/api/utils/medius-rest.util.mjs +1 -1
  4. package/esm2020/lib/api/utils/object-serializer.util.mjs +1 -1
  5. package/esm2020/lib/components/action/action.component.mjs +9 -7
  6. package/esm2020/lib/components/action/dialog/action-dialog.component.mjs +15 -26
  7. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +2 -0
  8. package/esm2020/lib/components/action/models/action-execution.model.mjs +58 -0
  9. package/esm2020/lib/components/action/models/index.mjs +3 -0
  10. package/esm2020/lib/components/action/route/action-route.component.mjs +8 -8
  11. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +114 -0
  12. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +113 -0
  13. package/esm2020/lib/components/form/editor/form-editor.component.mjs +11 -12
  14. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +6 -6
  15. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +6 -6
  16. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +5 -5
  17. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +5 -5
  18. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +6 -6
  19. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +6 -6
  20. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +5 -5
  21. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +5 -5
  22. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +5 -5
  23. package/esm2020/lib/components/form/index.mjs +3 -3
  24. package/esm2020/lib/components/form/models/form-editor.event.mjs +7 -0
  25. package/esm2020/lib/components/form/models/index.mjs +2 -0
  26. package/esm2020/lib/components/layout/main-layout.component.mjs +36 -15
  27. package/esm2020/lib/components/layout/menu-item.component.mjs +4 -4
  28. package/esm2020/lib/components/layout/menu.component.mjs +6 -6
  29. package/esm2020/lib/components/layout/services/index.mjs +2 -0
  30. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +5 -5
  31. package/esm2020/lib/components/layout/topbar.component.mjs +35 -16
  32. package/esm2020/lib/components/tableview/models/index.mjs +2 -0
  33. package/esm2020/lib/components/tableview/models/table.event.mjs +16 -0
  34. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +2 -2
  35. package/esm2020/lib/components/tableview/services/index.mjs +2 -0
  36. package/esm2020/lib/components/tableview/services/tableview.component.service.mjs +17 -0
  37. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +4 -4
  38. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +3 -3
  39. package/esm2020/lib/components/tableview/table/table.component.mjs +11 -11
  40. package/esm2020/lib/components/tableview/tableview.component.mjs +11 -12
  41. package/esm2020/lib/config/formly.config.mjs +13 -13
  42. package/esm2020/lib/{models/config → config/models}/index.mjs +1 -1
  43. package/esm2020/lib/config/models/mng-config.model.mjs +2 -0
  44. package/esm2020/lib/data-providers/base.data-provider.mjs +24 -0
  45. package/esm2020/lib/data-providers/editor.data-provider.mjs +37 -0
  46. package/esm2020/lib/data-providers/index.mjs +6 -0
  47. package/esm2020/lib/data-providers/lookup.data-provider.mjs +16 -0
  48. package/esm2020/lib/data-providers/table.data-provider.mjs +2 -0
  49. package/esm2020/lib/data-providers/tableview.data-provider.mjs +17 -0
  50. package/esm2020/lib/descriptors/action.descriptor.mjs +332 -0
  51. package/esm2020/lib/descriptors/editor.descriptor.mjs +670 -0
  52. package/esm2020/lib/descriptors/field.validator.mjs +21 -0
  53. package/esm2020/lib/descriptors/index.mjs +8 -0
  54. package/esm2020/lib/descriptors/lookup.descriptor.mjs +2 -0
  55. package/esm2020/lib/descriptors/model.descriptor.mjs +34 -0
  56. package/esm2020/lib/descriptors/table.descriptor.mjs +401 -0
  57. package/esm2020/lib/descriptors/tableview.descriptor.mjs +131 -0
  58. package/esm2020/lib/directives/component.directive.mjs +23 -0
  59. package/esm2020/lib/directives/index.mjs +2 -1
  60. package/esm2020/lib/directives/template.directive.mjs +11 -7
  61. package/esm2020/lib/mng-commons.module.mjs +137 -70
  62. package/esm2020/lib/models/index.mjs +3 -0
  63. package/esm2020/lib/models/router.model.mjs +2 -0
  64. package/esm2020/lib/models/user.model.mjs +2 -0
  65. package/esm2020/lib/pipes/boolean.pipe.mjs +5 -5
  66. package/esm2020/lib/pipes/property-path.pipe.mjs +5 -5
  67. package/esm2020/lib/services/action.service.mjs +6 -7
  68. package/esm2020/lib/services/commons.service.mjs +5 -9
  69. package/esm2020/lib/services/configuration.service.mjs +2 -1
  70. package/esm2020/lib/services/providers/config-service.provider.mjs +10 -2
  71. package/esm2020/lib/services/providers/formly-config.provider.mjs +1 -1
  72. package/esm2020/lib/services/providers/index.mjs +2 -1
  73. package/esm2020/lib/services/tokens/browser-storage.token.mjs +6 -0
  74. package/esm2020/lib/services/tokens/index.mjs +3 -0
  75. package/esm2020/lib/services/tokens/module-config.token.mjs +3 -0
  76. package/esm2020/lib/types/index.mjs +3 -0
  77. package/esm2020/lib/types/type.decorator.mjs +7 -0
  78. package/esm2020/lib/types/type.model.mjs +2 -0
  79. package/esm2020/lib/utils/editor-formly.util.mjs +2 -2
  80. package/esm2020/lib/utils/i18n.util.mjs +1 -1
  81. package/esm2020/lib/utils/index.mjs +2 -1
  82. package/esm2020/lib/utils/model.util.mjs +1 -1
  83. package/esm2020/lib/utils/toast.util.mjs +2 -2
  84. package/esm2020/lib/utils/type.util.mjs +2 -2
  85. package/esm2020/public-api.mjs +12 -11
  86. package/fesm2015/mediusinc-mng-commons.mjs +509 -377
  87. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  88. package/fesm2020/mediusinc-mng-commons.mjs +502 -371
  89. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  90. package/lib/api/services/{abstract-crud-api.service.d.ts → crud-api.abstract.service.d.ts} +2 -2
  91. package/lib/api/services/index.d.ts +1 -1
  92. package/lib/api/utils/medius-rest.util.d.ts +1 -1
  93. package/lib/api/utils/object-serializer.util.d.ts +1 -1
  94. package/lib/components/action/action.component.d.ts +8 -8
  95. package/lib/components/action/dialog/action-dialog.component.d.ts +13 -16
  96. package/lib/{models/interfaces/confirmation-service.model.d.ts → components/action/models/action-confirmation-service.model.d.ts} +2 -2
  97. package/lib/{models/action/action.model.d.ts → components/action/models/action-execution.model.d.ts} +3 -3
  98. package/lib/components/action/models/index.d.ts +2 -0
  99. package/lib/components/action/route/action-route.component.d.ts +6 -6
  100. package/lib/components/form/autocomplete/{mng-autocomplete.component.d.ts → autocomplete.component.d.ts} +1 -1
  101. package/lib/components/form/dropdown/{mng-dropdown.component.d.ts → dropdown.component.d.ts} +1 -1
  102. package/lib/components/form/editor/form-editor.component.d.ts +6 -6
  103. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +4 -4
  104. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +4 -4
  105. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +3 -3
  106. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +4 -4
  107. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +4 -4
  108. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +4 -4
  109. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +3 -3
  110. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +3 -3
  111. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +3 -3
  112. package/lib/components/form/index.d.ts +2 -2
  113. package/lib/components/form/models/form-editor.event.d.ts +5 -0
  114. package/lib/components/form/models/index.d.ts +1 -0
  115. package/lib/components/layout/main-layout.component.d.ts +12 -4
  116. package/lib/components/layout/menu-item.component.d.ts +3 -3
  117. package/lib/components/layout/menu.component.d.ts +3 -3
  118. package/lib/components/layout/services/index.d.ts +1 -0
  119. package/lib/components/layout/services/main-layout.component.service.d.ts +3 -3
  120. package/lib/components/layout/topbar.component.d.ts +13 -6
  121. package/lib/components/tableview/models/index.d.ts +1 -0
  122. package/lib/{models/events/table-event.model.d.ts → components/tableview/models/table.event.d.ts} +2 -2
  123. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +2 -2
  124. package/lib/components/tableview/services/index.d.ts +1 -0
  125. package/lib/components/tableview/{tableview.component.service.d.ts → services/tableview.component.service.d.ts} +2 -2
  126. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +1 -1
  127. package/lib/components/tableview/table/column-value/column-value.component.d.ts +1 -1
  128. package/lib/components/tableview/table/table.component.d.ts +8 -8
  129. package/lib/components/tableview/tableview.component.d.ts +9 -10
  130. package/lib/config/formly.config.d.ts +3 -3
  131. package/lib/{models/config → config/models}/index.d.ts +0 -0
  132. package/lib/{models/config → config/models}/mng-config.model.d.ts +0 -3
  133. package/lib/data-providers/base.data-provider.d.ts +17 -0
  134. package/lib/data-providers/editor.data-provider.d.ts +25 -0
  135. package/lib/data-providers/index.d.ts +5 -0
  136. package/lib/data-providers/lookup.data-provider.d.ts +14 -0
  137. package/lib/data-providers/table.data-provider.d.ts +6 -0
  138. package/lib/data-providers/tableview.data-provider.d.ts +15 -0
  139. package/lib/{models/descriptors/action-descriptor.model.d.ts → descriptors/action.descriptor.d.ts} +6 -3
  140. package/lib/{models/descriptors/editor-descriptor.model.d.ts → descriptors/editor.descriptor.d.ts} +5 -7
  141. package/lib/{models/validators → descriptors}/field.validator.d.ts +0 -0
  142. package/lib/descriptors/index.d.ts +7 -0
  143. package/lib/{models/interfaces/lookup.model.d.ts → descriptors/lookup.descriptor.d.ts} +3 -3
  144. package/lib/{models/descriptors/model-descriptor.model.d.ts → descriptors/model.descriptor.d.ts} +0 -0
  145. package/lib/{models/descriptors/table-descriptor.model.d.ts → descriptors/table.descriptor.d.ts} +5 -5
  146. package/lib/{models/descriptors/tableview-descriptor.model.d.ts → descriptors/tableview.descriptor.d.ts} +1 -3
  147. package/lib/directives/component.directive.d.ts +11 -0
  148. package/lib/directives/index.d.ts +1 -0
  149. package/lib/directives/template.directive.d.ts +7 -5
  150. package/lib/mng-commons.module.d.ts +70 -69
  151. package/lib/models/{router/index.d.ts → index.d.ts} +1 -0
  152. package/lib/models/router.model.d.ts +14 -0
  153. package/lib/models/{user/user.model.d.ts → user.model.d.ts} +0 -0
  154. package/lib/pipes/boolean.pipe.d.ts +3 -3
  155. package/lib/pipes/property-path.pipe.d.ts +3 -3
  156. package/lib/services/action.service.d.ts +6 -6
  157. package/lib/services/commons.service.d.ts +2 -4
  158. package/lib/services/providers/config-service.provider.d.ts +1 -1
  159. package/lib/services/providers/formly-config.provider.d.ts +1 -1
  160. package/lib/services/providers/index.d.ts +1 -0
  161. package/lib/services/tokens/browser-storage.token.d.ts +2 -0
  162. package/lib/services/tokens/index.d.ts +2 -0
  163. package/lib/services/tokens/module-config.token.d.ts +3 -0
  164. package/lib/{models/types → types}/index.d.ts +0 -0
  165. package/lib/{models/types → types}/type.decorator.d.ts +0 -0
  166. package/lib/{models/types → types}/type.model.d.ts +0 -0
  167. package/lib/utils/editor-formly.util.d.ts +1 -1
  168. package/lib/utils/i18n.util.d.ts +1 -1
  169. package/lib/utils/index.d.ts +1 -0
  170. package/lib/utils/model.util.d.ts +3 -3
  171. package/lib/utils/toast.util.d.ts +3 -3
  172. package/lib/utils/type.util.d.ts +1 -1
  173. package/{mediusinc-mng-commons-0.1.0.tgz → mediusinc-mng-commons-0.2.0.tgz} +0 -0
  174. package/package.json +1 -1
  175. package/public-api.d.ts +10 -9
  176. package/scss/common/layout/_help.scss +3 -3
  177. package/scss/common/layout/_landing.scss +1 -1
  178. package/scss/common/variables/layout/_common.scss +2 -0
  179. package/scss/common/variables/layout/_layout_dark.scss +4 -3
  180. package/scss/common/variables/layout/_layout_light.scss +4 -3
  181. package/scss/layout/default/_mng-variables-layout-light.scss +2 -2
  182. package/scss/mng-commons-dark.scss +0 -5
  183. package/scss/mng-commons-light.scss +0 -8
  184. package/scss/theme/default/_mng-variables-theme-light.scss +4 -4
  185. package/.pnpm-debug.log +0 -15
  186. package/esm2020/lib/components/form/autocomplete/mng-autocomplete.component.mjs +0 -114
  187. package/esm2020/lib/components/form/dropdown/mng-dropdown.component.mjs +0 -113
  188. package/esm2020/lib/components/tableview/tableview.component.service.mjs +0 -18
  189. package/esm2020/lib/models/action/action.model.mjs +0 -58
  190. package/esm2020/lib/models/action/index.mjs +0 -2
  191. package/esm2020/lib/models/config/mng-config.model.mjs +0 -3
  192. package/esm2020/lib/models/descriptors/action-descriptor.model.mjs +0 -325
  193. package/esm2020/lib/models/descriptors/editor-descriptor.model.mjs +0 -671
  194. package/esm2020/lib/models/descriptors/index.mjs +0 -6
  195. package/esm2020/lib/models/descriptors/model-descriptor.model.mjs +0 -34
  196. package/esm2020/lib/models/descriptors/table-descriptor.model.mjs +0 -401
  197. package/esm2020/lib/models/descriptors/tableview-descriptor.model.mjs +0 -133
  198. package/esm2020/lib/models/events/editor-event.model.mjs +0 -14
  199. package/esm2020/lib/models/events/index.mjs +0 -3
  200. package/esm2020/lib/models/events/table-event.model.mjs +0 -16
  201. package/esm2020/lib/models/interfaces/confirmation-service.model.mjs +0 -2
  202. package/esm2020/lib/models/interfaces/index.mjs +0 -3
  203. package/esm2020/lib/models/interfaces/lookup.model.mjs +0 -2
  204. package/esm2020/lib/models/providers/data-provider.model.mjs +0 -86
  205. package/esm2020/lib/models/providers/index.mjs +0 -2
  206. package/esm2020/lib/models/router/index.mjs +0 -2
  207. package/esm2020/lib/models/router/router.model.mjs +0 -2
  208. package/esm2020/lib/models/types/index.mjs +0 -3
  209. package/esm2020/lib/models/types/type.decorator.mjs +0 -7
  210. package/esm2020/lib/models/types/type.model.mjs +0 -2
  211. package/esm2020/lib/models/user/index.mjs +0 -2
  212. package/esm2020/lib/models/user/user.model.mjs +0 -2
  213. package/esm2020/lib/models/validators/field.validator.mjs +0 -21
  214. package/esm2020/lib/models/validators/index.mjs +0 -2
  215. package/lib/models/action/index.d.ts +0 -1
  216. package/lib/models/descriptors/index.d.ts +0 -5
  217. package/lib/models/events/editor-event.model.d.ts +0 -11
  218. package/lib/models/events/index.d.ts +0 -2
  219. package/lib/models/interfaces/index.d.ts +0 -2
  220. package/lib/models/providers/data-provider.model.d.ts +0 -62
  221. package/lib/models/providers/index.d.ts +0 -1
  222. package/lib/models/router/router.model.d.ts +0 -9
  223. package/lib/models/user/index.d.ts +0 -1
  224. package/lib/models/validators/index.d.ts +0 -1
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Input, Pipe, EventEmitter, Component, ChangeDetectionStrategy, Output, ContentChildren, ViewChild, forwardRef, Injectable, InjectionToken, Inject, HostListener, Optional, APP_INITIALIZER, NgModule } from '@angular/core';
3
- import * as i6 from '@angular/common';
2
+ import { Directive, Input, Pipe, EventEmitter, Component, ChangeDetectionStrategy, Output, ContentChildren, ViewChild, forwardRef, Injectable, InjectionToken, Inject, ViewChildren, HostListener, Optional, APP_INITIALIZER, NgModule } from '@angular/core';
3
+ import * as i4 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i2$1 from '@angular/forms';
6
6
  import { FormGroup, NG_VALUE_ACCESSOR, FormControl, ReactiveFormsModule } from '@angular/forms';
@@ -22,7 +22,7 @@ import { ButtonModule } from 'primeng/button';
22
22
  import { CardModule } from 'primeng/card';
23
23
  import { CheckboxModule } from 'primeng/checkbox';
24
24
  import { ChipModule } from 'primeng/chip';
25
- import * as i6$1 from 'primeng/confirmdialog';
25
+ import * as i6 from 'primeng/confirmdialog';
26
26
  import { ConfirmDialogModule } from 'primeng/confirmdialog';
27
27
  import { ConfirmPopupModule } from 'primeng/confirmpopup';
28
28
  import * as i2$7 from 'primeng/dialog';
@@ -41,12 +41,12 @@ import { InputTextModule } from 'primeng/inputtext';
41
41
  import * as i8 from 'primeng/inputtextarea';
42
42
  import { InputTextareaModule } from 'primeng/inputtextarea';
43
43
  import { PaginatorModule } from 'primeng/paginator';
44
- import * as i4$2 from 'primeng/radiobutton';
44
+ import * as i4$3 from 'primeng/radiobutton';
45
45
  import { RadioButtonModule } from 'primeng/radiobutton';
46
46
  import * as i9 from 'primeng/ripple';
47
47
  import { RippleModule } from 'primeng/ripple';
48
48
  import { SelectButtonModule } from 'primeng/selectbutton';
49
- import * as i4$3 from 'primeng/table';
49
+ import * as i4$4 from 'primeng/table';
50
50
  import { Table, TableModule } from 'primeng/table';
51
51
  import { TagModule } from 'primeng/tag';
52
52
  import * as i7$1 from 'primeng/toast';
@@ -54,10 +54,11 @@ import { ToastModule } from 'primeng/toast';
54
54
  import { ToggleButtonModule } from 'primeng/togglebutton';
55
55
  import * as i8$1 from 'primeng/toolbar';
56
56
  import { ToolbarModule } from 'primeng/toolbar';
57
+ import * as i10 from 'primeng/tooltip';
57
58
  import { TooltipModule } from 'primeng/tooltip';
58
59
  import * as i3$1 from 'primeng/messages';
59
60
  import { MessagesModule } from 'primeng/messages';
60
- import * as i4 from 'primeng/progressspinner';
61
+ import * as i4$1 from 'primeng/progressspinner';
61
62
  import { ProgressSpinnerModule } from 'primeng/progressspinner';
62
63
  import * as i1$4 from 'primeng/tabview';
63
64
  import { TabViewModule } from 'primeng/tabview';
@@ -72,33 +73,58 @@ import { SkeletonModule } from 'primeng/skeleton';
72
73
  import { of, throwError, Observable, Subject, ReplaySubject, from, BehaviorSubject } from 'rxjs';
73
74
  import 'reflect-metadata';
74
75
  import { mergeMap, map, first, finalize, catchError, filter, startWith } from 'rxjs/operators';
75
- import * as i4$1 from '@angular/platform-browser';
76
+ import * as i4$2 from '@angular/platform-browser';
76
77
  import { trigger, state, style, transition, animate } from '@angular/animations';
77
78
 
78
- class TemplateDirective {
79
- constructor(template) {
79
+ class MngComponentDirective {
80
+ constructor(viewContainerRef) {
81
+ this.viewContainerRef = viewContainerRef;
82
+ }
83
+ ngOnInit() {
84
+ this.viewContainerRef.clear();
85
+ this.componentRef = this.viewContainerRef.createComponent(this.component);
86
+ }
87
+ }
88
+ MngComponentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngComponentDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
89
+ MngComponentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: MngComponentDirective, selector: "[mngComponent]", inputs: { component: ["mngComponent", "component"] }, ngImport: i0 });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngComponentDirective, decorators: [{
91
+ type: Directive,
92
+ args: [{
93
+ selector: '[mngComponent]',
94
+ }]
95
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { component: [{
96
+ type: Input,
97
+ args: ['mngComponent']
98
+ }] } });
99
+
100
+ class MngTemplateDirective {
101
+ constructor(template, viewContainerRef) {
80
102
  this.template = template;
103
+ this.viewContainerRef = viewContainerRef;
81
104
  }
82
105
  getType() {
83
106
  return this.name;
84
107
  }
108
+ getViewContainerRef() {
109
+ return this.viewContainerRef;
110
+ }
85
111
  }
86
- TemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
87
- TemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: TemplateDirective, selector: "[mngTemplate]", inputs: { type: "type", name: ["mngTemplate", "name"] }, ngImport: i0 });
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TemplateDirective, decorators: [{
112
+ MngTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTemplateDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
113
+ MngTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: MngTemplateDirective, selector: "[mngTemplate]", inputs: { type: "type", name: ["mngTemplate", "name"] }, ngImport: i0 });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTemplateDirective, decorators: [{
89
115
  type: Directive,
90
116
  args: [{
91
117
  selector: '[mngTemplate]',
92
118
  host: {}
93
119
  }]
94
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { type: [{
120
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { type: [{
95
121
  type: Input
96
122
  }], name: [{
97
123
  type: Input,
98
124
  args: ['mngTemplate']
99
125
  }] } });
100
126
 
101
- class BooleanPipe {
127
+ class MngBooleanPipe {
102
128
  transform(value) {
103
129
  if (typeof value === 'boolean') {
104
130
  return value ? 'general.yes' : 'general.no';
@@ -108,9 +134,9 @@ class BooleanPipe {
108
134
  }
109
135
  }
110
136
  }
111
- BooleanPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BooleanPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
112
- BooleanPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BooleanPipe, name: "boolean" });
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BooleanPipe, decorators: [{
137
+ MngBooleanPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngBooleanPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
138
+ MngBooleanPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngBooleanPipe, name: "boolean" });
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngBooleanPipe, decorators: [{
114
140
  type: Pipe,
115
141
  args: [{
116
142
  name: 'boolean',
@@ -118,7 +144,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
118
144
  }]
119
145
  }] });
120
146
 
121
- class PropertyPathPipe {
147
+ class MngPropertyPathPipe {
122
148
  transform(value, path = '') {
123
149
  if (path.indexOf('.') >= 0) {
124
150
  const pathSplit = path.split('.');
@@ -142,9 +168,9 @@ class PropertyPathPipe {
142
168
  }
143
169
  }
144
170
  }
145
- PropertyPathPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PropertyPathPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
146
- PropertyPathPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PropertyPathPipe, name: "propertyPath" });
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PropertyPathPipe, decorators: [{
171
+ MngPropertyPathPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngPropertyPathPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
172
+ MngPropertyPathPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngPropertyPathPipe, name: "propertyPath" });
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngPropertyPathPipe, decorators: [{
148
174
  type: Pipe,
149
175
  args: [{
150
176
  name: 'propertyPath',
@@ -152,34 +178,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
152
178
  }]
153
179
  }] });
154
180
 
155
- class MngEditorSubmitEvent {
181
+ class MngFormEditorSubmitEvent {
156
182
  constructor(formItem) {
157
183
  this.formItem = formItem;
158
184
  this.success = true;
159
185
  }
160
- }
161
- class MngEditorItemEvent {
162
- constructor(item) {
163
- this.item = item;
164
- }
165
- }
166
- class MngEditorSubmitTriggerEvent {
167
- }
168
-
169
- class MngTableLoadEvent {
170
- }
171
- class MngTableCellClickEvent {
172
- constructor(column, rowItem, rowIndex) {
173
- this.column = column;
174
- this.rowItem = rowItem;
175
- this.rowIndex = rowIndex;
176
- }
177
- }
178
- class MngTableReloadEvent {
179
- constructor() {
180
- this.resetParams = false;
181
- this.emitEvent = false;
182
- }
183
186
  }
184
187
 
185
188
  class ActionDescriptor {
@@ -238,6 +241,9 @@ class ActionDescriptor {
238
241
  get icon() {
239
242
  return this._icon;
240
243
  }
244
+ get tooltip() {
245
+ return this._tooltip;
246
+ }
241
247
  get runFunction() {
242
248
  if (!this._runFunction) {
243
249
  throw new Error('Run function is not defined and cannot be invoked');
@@ -332,6 +338,10 @@ class ActionDescriptor {
332
338
  this._icon = icon;
333
339
  return this;
334
340
  }
341
+ withTooltip(tooltip) {
342
+ this._title = tooltip;
343
+ return this;
344
+ }
335
345
  withClassName(className) {
336
346
  this._className = className;
337
347
  return this;
@@ -505,6 +515,79 @@ var ActionLevelEnum;
505
515
  ActionLevelEnum[ActionLevelEnum["Danger"] = 7] = "Danger";
506
516
  })(ActionLevelEnum || (ActionLevelEnum = {}));
507
517
 
518
+ class DataProvider {
519
+ constructor(modelType, serviceType) {
520
+ this._modelType = modelType;
521
+ this._serviceType = serviceType;
522
+ }
523
+ get serviceType() {
524
+ return this._serviceType;
525
+ }
526
+ get modelType() {
527
+ return this._modelType;
528
+ }
529
+ get enumName() {
530
+ return this._enumName;
531
+ }
532
+ withServiceType(type) {
533
+ this._serviceType = type;
534
+ return this;
535
+ }
536
+ withEnumName(enumName) {
537
+ this._enumName = enumName;
538
+ return this;
539
+ }
540
+ }
541
+
542
+ class EditorDataProvider extends DataProvider {
543
+ constructor(modelType, serviceType) {
544
+ super(modelType, serviceType);
545
+ this._fetch = (id) => throwError(`No fetch function provided for id ${id}.`);
546
+ }
547
+ get fetch() {
548
+ return this._fetch;
549
+ }
550
+ get create() {
551
+ return this._create;
552
+ }
553
+ get update() {
554
+ return this._update;
555
+ }
556
+ get delete() {
557
+ return this._delete;
558
+ }
559
+ withFetch(fetch) {
560
+ this._fetch = fetch;
561
+ return this;
562
+ }
563
+ withCreate(create) {
564
+ this._create = create;
565
+ return this;
566
+ }
567
+ withUpdate(update) {
568
+ this._update = update;
569
+ return this;
570
+ }
571
+ withDelete(deleteFn) {
572
+ this._delete = deleteFn;
573
+ return this;
574
+ }
575
+ }
576
+
577
+ class LookupDataProvider extends DataProvider {
578
+ constructor(modelType, serviceType) {
579
+ super(modelType, serviceType);
580
+ this._lookup = () => of([]);
581
+ }
582
+ get lookup() {
583
+ return this._lookup;
584
+ }
585
+ withLookup(lookup) {
586
+ this._lookup = lookup;
587
+ return this;
588
+ }
589
+ }
590
+
508
591
  /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
509
592
  /**
510
593
  * Generated API
@@ -769,76 +852,6 @@ const typeMapBase = {
769
852
  'QueryResultWithObject': MediusQueryResultWithObject
770
853
  };
771
854
 
772
- class DataProvider {
773
- constructor(modelType, serviceType) {
774
- this._modelType = modelType;
775
- this._serviceType = serviceType;
776
- }
777
- get serviceType() {
778
- return this._serviceType;
779
- }
780
- get modelType() {
781
- return this._modelType;
782
- }
783
- get enumName() {
784
- return this._enumName;
785
- }
786
- withServiceType(type) {
787
- this._serviceType = type;
788
- return this;
789
- }
790
- withEnumName(enumName) {
791
- this._enumName = enumName;
792
- return this;
793
- }
794
- }
795
- class LookupDataProvider extends DataProvider {
796
- constructor(modelType, serviceType) {
797
- super(modelType, serviceType);
798
- this._lookup = () => of([]);
799
- }
800
- get lookup() {
801
- return this._lookup;
802
- }
803
- withLookup(lookup) {
804
- this._lookup = lookup;
805
- return this;
806
- }
807
- }
808
- class EditorDataProvider extends DataProvider {
809
- constructor(modelType, serviceType) {
810
- super(modelType, serviceType);
811
- this._fetch = (id) => throwError(`No fetch function provided for id ${id}.`);
812
- }
813
- get fetch() {
814
- return this._fetch;
815
- }
816
- get create() {
817
- return this._create;
818
- }
819
- get update() {
820
- return this._update;
821
- }
822
- get delete() {
823
- return this._delete;
824
- }
825
- withFetch(fetch) {
826
- this._fetch = fetch;
827
- return this;
828
- }
829
- withCreate(create) {
830
- this._create = create;
831
- return this;
832
- }
833
- withUpdate(update) {
834
- this._update = update;
835
- return this;
836
- }
837
- withDelete(deleteFn) {
838
- this._delete = deleteFn;
839
- return this;
840
- }
841
- }
842
855
  class TableviewDataProvider extends EditorDataProvider {
843
856
  constructor(modelType, serviceType) {
844
857
  super(modelType, serviceType);
@@ -853,27 +866,6 @@ class TableviewDataProvider extends EditorDataProvider {
853
866
  }
854
867
  }
855
868
 
856
- class FieldValidator {
857
- constructor(name, expression, message, options) {
858
- this._name = name;
859
- this._expression = expression;
860
- this._message = message;
861
- this._options = options;
862
- }
863
- get name() {
864
- return this._name;
865
- }
866
- get expression() {
867
- return this._expression;
868
- }
869
- get message() {
870
- return this._message;
871
- }
872
- get options() {
873
- return this._options;
874
- }
875
- }
876
-
877
869
  class ObjectSerializer {
878
870
  constructor() {
879
871
  this._primitives = [
@@ -1884,6 +1876,27 @@ class FieldGroupDescriptor extends AFieldGroupDescriptor {
1884
1876
  }
1885
1877
  }
1886
1878
 
1879
+ class FieldValidator {
1880
+ constructor(name, expression, message, options) {
1881
+ this._name = name;
1882
+ this._expression = expression;
1883
+ this._message = message;
1884
+ this._options = options;
1885
+ }
1886
+ get name() {
1887
+ return this._name;
1888
+ }
1889
+ get expression() {
1890
+ return this._expression;
1891
+ }
1892
+ get message() {
1893
+ return this._message;
1894
+ }
1895
+ get options() {
1896
+ return this._options;
1897
+ }
1898
+ }
1899
+
1887
1900
  class ModelDescriptor {
1888
1901
  constructor(modelType, idProperty, titleProperty) {
1889
1902
  this._type = modelType;
@@ -2800,6 +2813,44 @@ class ModelUtil {
2800
2813
  }
2801
2814
  }
2802
2815
 
2816
+ class ToastUtil {
2817
+ static tableNotificationError(translationService, table, error, tableview) {
2818
+ const params = {};
2819
+ if (error?.message) {
2820
+ params.errorMessage = `: ${error.message}`;
2821
+ }
2822
+ else {
2823
+ params.errorMessage = '.';
2824
+ }
2825
+ console.log(params);
2826
+ const tableErrorTitle = I18nUtil.instantModelTranslation(translationService, table.model, 'table.error.title', undefined, undefined, 'general.error', params) ?? undefined;
2827
+ const tableErrorMessage = I18nUtil.instantModelTranslation(translationService, table.model, 'table.error.message', undefined, undefined, 'general.errorMessage', params) ?? undefined;
2828
+ tableview?.messageService?.add({ severity: 'error', summary: tableErrorTitle, detail: tableErrorMessage });
2829
+ }
2830
+ static actionNotificationSuccess(translationService, action, functionName, customTitleKey, customMessageKey, tableview, item) {
2831
+ const actionSuccessTitle = I18nUtil.instantActionTranslation(translationService, action, 'success.title', customTitleKey, item, 'general.success', functionName) ?? undefined;
2832
+ const actionSuccessMessage = I18nUtil.instantActionTranslation(translationService, action, 'success.message', customMessageKey, item, 'general.successMessage', functionName) ?? undefined;
2833
+ tableview?.messageService?.add({ severity: 'success', summary: actionSuccessTitle, detail: actionSuccessMessage });
2834
+ }
2835
+ static actionNotificationError(translationService, action, error, functionName, tableview, item) {
2836
+ const params = {};
2837
+ if (error?.message) {
2838
+ params.errorMessage = `: ${error.message}`;
2839
+ }
2840
+ else {
2841
+ params.errorMessage = '.';
2842
+ }
2843
+ const actionErrorTitle = I18nUtil.instantActionTranslation(translationService, action, 'error.title', action.runNotificationErrorTitle, item, 'general.error', functionName, params) ?? undefined;
2844
+ const actionErrorMessage = I18nUtil.instantActionTranslation(translationService, action, 'error.message', action.runNotificationErrorMessage, item, 'general.errorMessage', functionName, params) ?? undefined;
2845
+ tableview?.messageService?.add({ severity: 'error', summary: actionErrorTitle, detail: actionErrorMessage });
2846
+ }
2847
+ static getFormEditorWarningMessage(translationService, title, message) {
2848
+ const actionErrorTitle = translationService.instant(title) ?? undefined;
2849
+ const actionErrorMessage = translationService.instant(message) ?? undefined;
2850
+ return { severity: 'warn', summary: actionErrorTitle, detail: actionErrorMessage };
2851
+ }
2852
+ }
2853
+
2803
2854
  const typeNameDecoratorPropertyName = 'typeName';
2804
2855
  function TypeName(typeName) {
2805
2856
  return function (target) {
@@ -2844,45 +2895,7 @@ class TypeUtil {
2844
2895
  }
2845
2896
  }
2846
2897
 
2847
- class ToastUtil {
2848
- static tableNotificationError(translationService, table, error, tableview) {
2849
- const params = {};
2850
- if (error?.message) {
2851
- params.errorMessage = `: ${error.message}`;
2852
- }
2853
- else {
2854
- params.errorMessage = '.';
2855
- }
2856
- console.log(params);
2857
- const tableErrorTitle = I18nUtil.instantModelTranslation(translationService, table.model, 'table.error.title', undefined, undefined, 'general.error', params) ?? undefined;
2858
- const tableErrorMessage = I18nUtil.instantModelTranslation(translationService, table.model, 'table.error.message', undefined, undefined, 'general.errorMessage', params) ?? undefined;
2859
- tableview?.messageService?.add({ severity: 'error', summary: tableErrorTitle, detail: tableErrorMessage });
2860
- }
2861
- static actionNotificationSuccess(translationService, action, functionName, customTitleKey, customMessageKey, tableview, item) {
2862
- const actionSuccessTitle = I18nUtil.instantActionTranslation(translationService, action, 'success.title', customTitleKey, item, 'general.success', functionName) ?? undefined;
2863
- const actionSuccessMessage = I18nUtil.instantActionTranslation(translationService, action, 'success.message', customMessageKey, item, 'general.successMessage', functionName) ?? undefined;
2864
- tableview?.messageService?.add({ severity: 'success', summary: actionSuccessTitle, detail: actionSuccessMessage });
2865
- }
2866
- static actionNotificationError(translationService, action, error, functionName, tableview, item) {
2867
- const params = {};
2868
- if (error?.message) {
2869
- params.errorMessage = `: ${error.message}`;
2870
- }
2871
- else {
2872
- params.errorMessage = '.';
2873
- }
2874
- const actionErrorTitle = I18nUtil.instantActionTranslation(translationService, action, 'error.title', action.runNotificationErrorTitle, item, 'general.error', functionName, params) ?? undefined;
2875
- const actionErrorMessage = I18nUtil.instantActionTranslation(translationService, action, 'error.message', action.runNotificationErrorMessage, item, 'general.errorMessage', functionName, params) ?? undefined;
2876
- tableview?.messageService?.add({ severity: 'error', summary: actionErrorTitle, detail: actionErrorMessage });
2877
- }
2878
- static getFormEditorWarningMessage(translationService, title, message) {
2879
- const actionErrorTitle = translationService.instant(title) ?? undefined;
2880
- const actionErrorMessage = translationService.instant(message) ?? undefined;
2881
- return { severity: 'warn', summary: actionErrorTitle, detail: actionErrorMessage };
2882
- }
2883
- }
2884
-
2885
- class FormEditorComponent {
2898
+ class MngFormEditorComponent {
2886
2899
  constructor(translateService) {
2887
2900
  this.translateService = translateService;
2888
2901
  this.submitLoading = false;
@@ -2935,7 +2948,7 @@ class FormEditorComponent {
2935
2948
  field.setter(formSubmitItem, this.form.value[field.property]);
2936
2949
  }
2937
2950
  });
2938
- this.submitEventEmitter.next(new MngEditorSubmitEvent(formSubmitItem));
2951
+ this.submitEventEmitter.next(new MngFormEditorSubmitEvent(formSubmitItem));
2939
2952
  }
2940
2953
  else {
2941
2954
  // find and mark invalid tabs
@@ -2945,7 +2958,7 @@ class FormEditorComponent {
2945
2958
  this.formOptions.formState['tab_' + (tab.id ? tab.id : tab.templateOptions?.label) + '_invalid'] = isInvalid;
2946
2959
  }
2947
2960
  }
2948
- const event = new MngEditorSubmitEvent(formSubmitItem);
2961
+ const event = new MngFormEditorSubmitEvent(formSubmitItem);
2949
2962
  event.success = false;
2950
2963
  this.formMessages.push(ToastUtil.getFormEditorWarningMessage(this.translateService, 'mngEditor.invalidFormToastTitle', 'mngEditor.invalidFormToastMessage'));
2951
2964
  this.submitEventEmitter.next(event);
@@ -2984,9 +2997,9 @@ class FormEditorComponent {
2984
2997
  this.formOptions.formState.disabled = this.isFormDisabled !== null ? this.isFormDisabled === true : this.descriptor.disabled;
2985
2998
  }
2986
2999
  }
2987
- FormEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormEditorComponent, deps: [{ token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
2988
- FormEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormEditorComponent, selector: "mng-form-editor", inputs: { descriptor: "descriptor", submitLoading: "submitLoading", item: "item", isSubmitButtonVisible: "isSubmitButtonVisible", isFormDisabled: "isFormDisabled" }, outputs: { submitEventEmitter: "onSubmit" }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit($event)\">\n <formly-form [form]=\"form\" [fields]=\"formFields\" [options]=\"formOptions\" [model]=\"formModel\"></formly-form>\n <button #submitButton pButton type=\"submit\" [class.hidden]=\"!isSubmitButtonVisible\" [disabled]=\"form.disabled\" [loading]=\"(submitLoading$ | async) ?? false\"></button>\n</form>\n<p-messages [value]=\"formMessages\" [enableService]=\"false\"></p-messages>\n", components: [{ type: i3.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { type: i3$1.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange"] }], directives: [{ type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2989
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormEditorComponent, decorators: [{
3000
+ MngFormEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormEditorComponent, deps: [{ token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
3001
+ MngFormEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngFormEditorComponent, selector: "mng-form-editor", inputs: { descriptor: "descriptor", submitLoading: "submitLoading", item: "item", isSubmitButtonVisible: "isSubmitButtonVisible", isFormDisabled: "isFormDisabled" }, outputs: { submitEventEmitter: "onSubmit" }, queries: [{ propertyName: "templates", predicate: MngTemplateDirective }], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit($event)\">\n <formly-form [form]=\"form\" [fields]=\"formFields\" [options]=\"formOptions\" [model]=\"formModel\"></formly-form>\n <button #submitButton pButton type=\"submit\" [class.hidden]=\"!isSubmitButtonVisible\" [disabled]=\"form.disabled\" [loading]=\"(submitLoading$ | async) ?? false\"></button>\n</form>\n<p-messages [value]=\"formMessages\" [enableService]=\"false\"></p-messages>\n", components: [{ type: i3.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { type: i3$1.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange"] }], directives: [{ type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3002
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormEditorComponent, decorators: [{
2990
3003
  type: Component,
2991
3004
  args: [{ selector: 'mng-form-editor', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit($event)\">\n <formly-form [form]=\"form\" [fields]=\"formFields\" [options]=\"formOptions\" [model]=\"formModel\"></formly-form>\n <button #submitButton pButton type=\"submit\" [class.hidden]=\"!isSubmitButtonVisible\" [disabled]=\"form.disabled\" [loading]=\"(submitLoading$ | async) ?? false\"></button>\n</form>\n<p-messages [value]=\"formMessages\" [enableService]=\"false\"></p-messages>\n" }]
2992
3005
  }], ctorParameters: function () { return [{ type: i2.TranslateService }]; }, propDecorators: { descriptor: [{
@@ -3004,7 +3017,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
3004
3017
  args: ['onSubmit']
3005
3018
  }], templates: [{
3006
3019
  type: ContentChildren,
3007
- args: [TemplateDirective]
3020
+ args: [MngTemplateDirective]
3008
3021
  }], submitButtonElementRef: [{
3009
3022
  type: ViewChild,
3010
3023
  args: ['submitButton']
@@ -3088,7 +3101,7 @@ class MngAutocompleteComponent {
3088
3101
  }
3089
3102
  }
3090
3103
  MngAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngAutocompleteComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
3091
- MngAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty", itemsLabelProperty: "itemsLabelProperty", multiselect: "multiselect", placeholder: "placeholder", className: "className", dropdownClassName: "dropdownClassName" }, outputs: { onChange: "onChange" }, providers: [MNG_AUTOCOMPLETE_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeAutocomplete", first: true, predicate: AutoComplete, descendants: true }], ngImport: i0, template: "<p-autoComplete [formControl]=\"autocompleteFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dropdown]=\"true\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [field]=\"$any(itemsLabelProperty)\"\n [suggestions]=\"(suggestions$ | async) ?? []\"\n [multiple]=\"multiselect\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutcomplete.noMatches' | translate\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n</p-autoComplete>\n", components: [{ type: i1.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }], directives: [{ type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i6.AsyncPipe, "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3104
+ MngAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty", itemsLabelProperty: "itemsLabelProperty", multiselect: "multiselect", placeholder: "placeholder", className: "className", dropdownClassName: "dropdownClassName" }, outputs: { onChange: "onChange" }, providers: [MNG_AUTOCOMPLETE_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeAutocomplete", first: true, predicate: AutoComplete, descendants: true }], ngImport: i0, template: "<p-autoComplete [formControl]=\"autocompleteFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dropdown]=\"true\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [field]=\"$any(itemsLabelProperty)\"\n [suggestions]=\"(suggestions$ | async) ?? []\"\n [multiple]=\"multiselect\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutcomplete.noMatches' | translate\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n</p-autoComplete>\n", components: [{ type: i1.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }], directives: [{ type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i4.AsyncPipe, "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3092
3105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngAutocompleteComponent, decorators: [{
3093
3106
  type: Component,
3094
3107
  args: [{ selector: 'mng-autocomplete', providers: [MNG_AUTOCOMPLETE_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-autoComplete [formControl]=\"autocompleteFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dropdown]=\"true\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [field]=\"$any(itemsLabelProperty)\"\n [suggestions]=\"(suggestions$ | async) ?? []\"\n [multiple]=\"multiselect\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutcomplete.noMatches' | translate\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n</p-autoComplete>\n" }]
@@ -3186,7 +3199,7 @@ class MngDropdownComponent {
3186
3199
  }
3187
3200
  }
3188
3201
  MngDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngDropdownComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
3189
- MngDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngDropdownComponent, selector: "mng-dropdown", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty", itemsLabelProperty: "itemsLabelProperty", itemsValueProperty: "itemsValueProperty", multiselect: "multiselect", placeholder: "placeholder", showClear: "showClear", className: "className", dropdownClassName: "dropdownClassName" }, outputs: { onChange: "onChange" }, providers: [MNG_DROPDOWN_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeDropdown", first: true, predicate: Dropdown, descendants: true }], ngImport: i0, template: "<p-dropdown *ngIf=\"!multiselect; else pMultiselect\"\n [formControl]=\"dropdownFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [showClear]=\"showClear\"\n [autoDisplayFirst]=\"false\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (onChange)=\"onChange.emit($event.value)\"\n appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect display=\"chip\"\n [formControl]=\"dropdownFormControl\"\n [defaultLabel]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n [filter]=\"false\"\n (onChange)=\"onChange.emit($event.value)\"\n appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n", components: [{ type: i1$1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2$2.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "autoZIndex", "baseZIndex", "filterBy", "virtualScroll", "itemSize", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "scrollHeight", "defaultLabel", "placeholder", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onPanelShow", "onPanelHide"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3202
+ MngDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngDropdownComponent, selector: "mng-dropdown", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty", itemsLabelProperty: "itemsLabelProperty", itemsValueProperty: "itemsValueProperty", multiselect: "multiselect", placeholder: "placeholder", showClear: "showClear", className: "className", dropdownClassName: "dropdownClassName" }, outputs: { onChange: "onChange" }, providers: [MNG_DROPDOWN_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeDropdown", first: true, predicate: Dropdown, descendants: true }], ngImport: i0, template: "<p-dropdown *ngIf=\"!multiselect; else pMultiselect\"\n [formControl]=\"dropdownFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [showClear]=\"showClear\"\n [autoDisplayFirst]=\"false\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (onChange)=\"onChange.emit($event.value)\"\n appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect display=\"chip\"\n [formControl]=\"dropdownFormControl\"\n [defaultLabel]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n [filter]=\"false\"\n (onChange)=\"onChange.emit($event.value)\"\n appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n", components: [{ type: i1$1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2$2.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "autoZIndex", "baseZIndex", "filterBy", "virtualScroll", "itemSize", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "scrollHeight", "defaultLabel", "placeholder", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onPanelShow", "onPanelHide"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3190
3203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngDropdownComponent, decorators: [{
3191
3204
  type: Component,
3192
3205
  args: [{ selector: 'mng-dropdown', providers: [MNG_DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-dropdown *ngIf=\"!multiselect; else pMultiselect\"\n [formControl]=\"dropdownFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [showClear]=\"showClear\"\n [autoDisplayFirst]=\"false\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (onChange)=\"onChange.emit($event.value)\"\n appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect display=\"chip\"\n [formControl]=\"dropdownFormControl\"\n [defaultLabel]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n [filter]=\"false\"\n (onChange)=\"onChange.emit($event.value)\"\n appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n" }]
@@ -3273,7 +3286,6 @@ class ActionTriggerResult {
3273
3286
  }
3274
3287
  }
3275
3288
 
3276
- // TODO: check if legit solution
3277
3289
  class TableviewComponentService {
3278
3290
  constructor() {
3279
3291
  this.actions = [];
@@ -3289,7 +3301,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
3289
3301
  type: Injectable
3290
3302
  }], ctorParameters: function () { return []; } });
3291
3303
 
3292
- class ActionComponent {
3304
+ class MngActionComponent {
3293
3305
  constructor(route, translate, actionService, confirmationService, tableviewService) {
3294
3306
  this.route = route;
3295
3307
  this.translate = translate;
@@ -3306,6 +3318,7 @@ class ActionComponent {
3306
3318
  this.$isVisible = typeof this.action.isVisibleFunction === 'function' ? this.action.isVisibleFunction(context) : of(true);
3307
3319
  this.$isEnabled = typeof this.action.isEnabledFunction === 'function' ? this.action.isEnabledFunction(context) : of(true);
3308
3320
  this.$label = I18nUtil.streamActionTranslation(this.translate, this.action, 'title', this.action?.title ?? undefined, this.item);
3321
+ this.$tooltip = I18nUtil.streamActionTranslation(this.translate, this.action, 'tooltip', this.action?.tooltip ?? undefined, this.item);
3309
3322
  }
3310
3323
  triggerAction(event) {
3311
3324
  this.loadingSubject.next(true);
@@ -3322,11 +3335,11 @@ class ActionComponent {
3322
3335
  return `${action.actionName}_${this.cmpId}`;
3323
3336
  }
3324
3337
  }
3325
- ActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i2.TranslateService }, { token: MngActionService }, { token: i2$3.ConfirmationService }, { token: TableviewComponentService }], target: i0.ɵɵFactoryTarget.Component });
3326
- ActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ActionComponent, selector: "mng-action", inputs: { action: "action", item: "item", itemId: "itemId", actionData: "actionData" }, providers: [MessageService, ConfirmationService], ngImport: i0, template: "<ng-container *ngIf=\"$isVisible | async\">\n <button *ngIf=\"action.icon && action.title === null; else noIcon\" type=\"button\"\n pButton pRipple\n [icon]=\"action.icon\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button mng-action-button-icon p-button-rounded\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n <ng-template #noIcon>\n <button type=\"button\"\n pButton pRipple\n [icon]=\"$any(action.icon)\"\n [label]=\"($label | async) ?? ''\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button p-button-text\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n </ng-template>\n <p-confirmDialog *ngIf=\"action.hasRunConfirmation\" [key]=\"action.actionName + '_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n</ng-container>\n", components: [{ type: i6$1.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i9.Ripple, selector: "[pRipple]" }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionComponent, decorators: [{
3338
+ MngActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngActionComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i2.TranslateService }, { token: MngActionService }, { token: i2$3.ConfirmationService }, { token: TableviewComponentService }], target: i0.ɵɵFactoryTarget.Component });
3339
+ MngActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngActionComponent, selector: "mng-action", inputs: { action: "action", item: "item", itemId: "itemId", actionData: "actionData" }, providers: [MessageService, ConfirmationService], ngImport: i0, template: "<ng-container *ngIf=\"$isVisible | async\">\n <button *ngIf=\"action.icon && action.title === null; else noIcon\" type=\"button\"\n pButton pRipple\n [icon]=\"action.icon\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n [pTooltip]=\"$any($tooltip | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button mng-action-button-icon p-button-rounded\"\n [class.p-button-primary]=\"action.level === 1\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n <ng-template #noIcon>\n <button type=\"button\"\n pButton pRipple\n [icon]=\"$any(action.icon)\"\n [label]=\"($label | async) ?? ''\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n [pTooltip]=\"$any($tooltip | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button p-button-text\"\n [class.p-button-primary]=\"action.level === 1\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n </ng-template>\n <p-confirmDialog *ngIf=\"action.hasRunConfirmation\" [key]=\"action.actionName + '_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n</ng-container>\n", components: [{ type: i6.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i9.Ripple, selector: "[pRipple]" }, { type: i10.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngActionComponent, decorators: [{
3328
3341
  type: Component,
3329
- args: [{ selector: 'mng-action', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MessageService, ConfirmationService], template: "<ng-container *ngIf=\"$isVisible | async\">\n <button *ngIf=\"action.icon && action.title === null; else noIcon\" type=\"button\"\n pButton pRipple\n [icon]=\"action.icon\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button mng-action-button-icon p-button-rounded\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n <ng-template #noIcon>\n <button type=\"button\"\n pButton pRipple\n [icon]=\"$any(action.icon)\"\n [label]=\"($label | async) ?? ''\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button p-button-text\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n </ng-template>\n <p-confirmDialog *ngIf=\"action.hasRunConfirmation\" [key]=\"action.actionName + '_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n</ng-container>\n" }]
3342
+ args: [{ selector: 'mng-action', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MessageService, ConfirmationService], template: "<ng-container *ngIf=\"$isVisible | async\">\n <button *ngIf=\"action.icon && action.title === null; else noIcon\" type=\"button\"\n pButton pRipple\n [icon]=\"action.icon\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n [pTooltip]=\"$any($tooltip | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button mng-action-button-icon p-button-rounded\"\n [class.p-button-primary]=\"action.level === 1\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n <ng-template #noIcon>\n <button type=\"button\"\n pButton pRipple\n [icon]=\"$any(action.icon)\"\n [label]=\"($label | async) ?? ''\"\n [loading]=\"($loading | async) ?? false\"\n [disabled]=\"!($isEnabled | async)\"\n [pTooltip]=\"$any($tooltip | async)\"\n (click)=\"triggerAction($event)\"\n class=\"mng-action-button p-button-text\"\n [class.p-button-primary]=\"action.level === 1\"\n [class.p-button-success]=\"action.level === 5\"\n [class.p-button-danger]=\"action.level === 7\">\n </button>\n </ng-template>\n <p-confirmDialog *ngIf=\"action.hasRunConfirmation\" [key]=\"action.actionName + '_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n</ng-container>\n" }]
3330
3343
  }], ctorParameters: function () { return [{ type: i1$2.ActivatedRoute }, { type: i2.TranslateService }, { type: MngActionService }, { type: i2$3.ConfirmationService }, { type: TableviewComponentService }]; }, propDecorators: { action: [{
3331
3344
  type: Input
3332
3345
  }], item: [{
@@ -3337,7 +3350,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
3337
3350
  type: Input
3338
3351
  }] } });
3339
3352
 
3340
- class ActionRouteComponent {
3353
+ class MngActionRouteComponent {
3341
3354
  constructor(router, route, confirmationService, navigationService, actionService, tableviewService) {
3342
3355
  this.router = router;
3343
3356
  this.route = route;
@@ -3389,7 +3402,7 @@ class ActionRouteComponent {
3389
3402
  .subscribe(res => {
3390
3403
  if (res.dialogRef) {
3391
3404
  this.dialogRef = res.dialogRef;
3392
- this.dialogCloseSubscription = this.dialogRef.onClose.subscribe(e => {
3405
+ this.dialogCloseSubscription = this.dialogRef?.onClose.subscribe(e => {
3393
3406
  const actionEv = e;
3394
3407
  if (!actionEv?.error || !actionEv?.error?.dismissed) {
3395
3408
  this.tableviewService.reloadTable(); // reload only if no error in action and
@@ -3464,24 +3477,20 @@ class ActionRouteComponent {
3464
3477
  return null;
3465
3478
  }
3466
3479
  }
3467
- ActionRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionRouteComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: i2$3.ConfirmationService }, { token: MngNavigationService }, { token: MngActionService }, { token: TableviewComponentService }], target: i0.ɵɵFactoryTarget.Component });
3468
- ActionRouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ActionRouteComponent, selector: "mng-action-route", providers: [MessageService, ConfirmationService], ngImport: i0, template: "<p-confirmDialog [key]=\"'actionRoute_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n", components: [{ type: i6$1.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3469
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionRouteComponent, decorators: [{
3480
+ MngActionRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngActionRouteComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: i2$3.ConfirmationService }, { token: MngNavigationService }, { token: MngActionService }, { token: TableviewComponentService }], target: i0.ɵɵFactoryTarget.Component });
3481
+ MngActionRouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngActionRouteComponent, selector: "mng-action-route", providers: [MessageService, ConfirmationService], ngImport: i0, template: "<p-confirmDialog [key]=\"'actionRoute_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n", components: [{ type: i6.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngActionRouteComponent, decorators: [{
3470
3483
  type: Component,
3471
3484
  args: [{ selector: 'mng-action-route', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MessageService, ConfirmationService], template: "<p-confirmDialog [key]=\"'actionRoute_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n" }]
3472
3485
  }], ctorParameters: function () { return [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }, { type: i2$3.ConfirmationService }, { type: MngNavigationService }, { type: MngActionService }, { type: TableviewComponentService }]; } });
3473
3486
 
3474
- class ActionDialogComponent {
3475
- constructor(injector, translate, dialogRef, dialogConfig, actionService, mngCommonsService) {
3487
+ class MngActionDialogComponent {
3488
+ constructor(injector, translate, dialogRef, dialogConfig, actionService) {
3476
3489
  this.injector = injector;
3477
3490
  this.translate = translate;
3478
3491
  this.dialogRef = dialogRef;
3479
3492
  this.dialogConfig = dialogConfig;
3480
3493
  this.actionService = actionService;
3481
- this.mngCommonsService = mngCommonsService;
3482
- // event outputs
3483
- this.createEventEmitter = new EventEmitter();
3484
- this.visibleChangeEventEmitter = new EventEmitter();
3485
3494
  this.cmpId = Math.random().toString(36).substring(2);
3486
3495
  this.loadingSubject = new ReplaySubject(1);
3487
3496
  this.submitLoadingSubject = new ReplaySubject(1);
@@ -3575,18 +3584,18 @@ class ActionDialogComponent {
3575
3584
  .subscribe(t => {
3576
3585
  requestAnimationFrame(() => {
3577
3586
  this.dialogConfig.header = t ?? undefined;
3578
- this.mngCommonsService.setPageTitle(t ?? undefined);
3587
+ // this.mngCommonsService.setPageTitle(t ?? undefined);
3579
3588
  });
3580
3589
  });
3581
3590
  this.subscriptions.push(subscription);
3582
3591
  }
3583
3592
  }
3584
- ActionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionDialogComponent, deps: [{ token: i0.Injector }, { token: i2.TranslateService }, { token: i2$4.DynamicDialogRef }, { token: i2$4.DynamicDialogConfig }, { token: MngActionService }, { token: MngCommonsService }], target: i0.ɵɵFactoryTarget.Component });
3585
- ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ActionDialogComponent, selector: "mng-action-dialog", inputs: { action: "action", itemId: "itemId", item: "item", actionData: "actionData", dataProvider: "dataProvider" }, outputs: { createEventEmitter: "onFinished", visibleChangeEventEmitter: "onVisibleChange" }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true }, { propertyName: "editorComponent", first: true, predicate: FormEditorComponent, descendants: true }], ngImport: i0, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1\">\n <div class=\"text-center\" *ngIf=\"loading$ | async\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n <mng-form-editor *ngIf=\"action.editorDescriptor && !(loading$ | async)\"\n [descriptor]=\"action.editorDescriptor\"\n [item]=\"item\"\n (onSubmit)=\"onSubmit($event)\">\n </mng-form-editor>\n </div>\n <div class=\"flex flex-row justify-content-between\">\n <div></div>\n <div>\n <button type=\"button\" pButton pRipple [label]=\"'general.close' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"closeDialog()\" [disabled]=\"submitLoading$ | async\"></button>\n <button *ngIf=\"isSaveButton\" #submitButton type=\"button\" pButton pRipple\n [label]=\"'general.save' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-text\"\n (click)=\"saveItem()\"\n [loading]=\"(submitLoading$ | async) ?? false\"\n [disabled]=\"(submitLoading$ | async) ?? false\">\n </button>\n </div>\n </div>\n</div>\n", components: [{ type: i4.ProgressSpinner, selector: "p-progressSpinner", inputs: ["style", "styleClass", "strokeWidth", "fill", "animationDuration"] }, { type: FormEditorComponent, selector: "mng-form-editor", inputs: ["descriptor", "submitLoading", "item", "isSubmitButtonVisible", "isFormDisabled"], outputs: ["onSubmit"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i9.Ripple, selector: "[pRipple]" }], pipes: { "async": i6.AsyncPipe, "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3586
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionDialogComponent, decorators: [{
3593
+ MngActionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngActionDialogComponent, deps: [{ token: i0.Injector }, { token: i2.TranslateService }, { token: i2$4.DynamicDialogRef }, { token: i2$4.DynamicDialogConfig }, { token: MngActionService }], target: i0.ɵɵFactoryTarget.Component });
3594
+ MngActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngActionDialogComponent, selector: "mng-action-dialog", inputs: { action: "action", itemId: "itemId", item: "item", actionData: "actionData", dataProvider: "dataProvider" }, queries: [{ propertyName: "templates", predicate: MngTemplateDirective }], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true }, { propertyName: "editorComponent", first: true, predicate: MngFormEditorComponent, descendants: true }], ngImport: i0, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1\">\n <div class=\"text-center\" *ngIf=\"loading$ | async\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n <mng-form-editor *ngIf=\"action.editorDescriptor && !(loading$ | async)\"\n [descriptor]=\"action.editorDescriptor\"\n [item]=\"item\"\n (onSubmit)=\"onSubmit($event)\">\n </mng-form-editor>\n </div>\n <div class=\"flex flex-row justify-content-between\">\n <div></div>\n <div>\n <button type=\"button\" pButton pRipple [label]=\"'general.close' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"closeDialog()\" [disabled]=\"submitLoading$ | async\"></button>\n <button *ngIf=\"isSaveButton\" #submitButton type=\"button\" pButton pRipple\n [label]=\"'general.save' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-text\"\n (click)=\"saveItem()\"\n [loading]=\"(submitLoading$ | async) ?? false\"\n [disabled]=\"(submitLoading$ | async) ?? false\">\n </button>\n </div>\n </div>\n</div>\n", components: [{ type: i4$1.ProgressSpinner, selector: "p-progressSpinner", inputs: ["style", "styleClass", "strokeWidth", "fill", "animationDuration"] }, { type: MngFormEditorComponent, selector: "mng-form-editor", inputs: ["descriptor", "submitLoading", "item", "isSubmitButtonVisible", "isFormDisabled"], outputs: ["onSubmit"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i9.Ripple, selector: "[pRipple]" }], pipes: { "async": i4.AsyncPipe, "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3595
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngActionDialogComponent, decorators: [{
3587
3596
  type: Component,
3588
3597
  args: [{ selector: 'mng-action-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1\">\n <div class=\"text-center\" *ngIf=\"loading$ | async\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n <mng-form-editor *ngIf=\"action.editorDescriptor && !(loading$ | async)\"\n [descriptor]=\"action.editorDescriptor\"\n [item]=\"item\"\n (onSubmit)=\"onSubmit($event)\">\n </mng-form-editor>\n </div>\n <div class=\"flex flex-row justify-content-between\">\n <div></div>\n <div>\n <button type=\"button\" pButton pRipple [label]=\"'general.close' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"closeDialog()\" [disabled]=\"submitLoading$ | async\"></button>\n <button *ngIf=\"isSaveButton\" #submitButton type=\"button\" pButton pRipple\n [label]=\"'general.save' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-text\"\n (click)=\"saveItem()\"\n [loading]=\"(submitLoading$ | async) ?? false\"\n [disabled]=\"(submitLoading$ | async) ?? false\">\n </button>\n </div>\n </div>\n</div>\n" }]
3589
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i2.TranslateService }, { type: i2$4.DynamicDialogRef }, { type: i2$4.DynamicDialogConfig }, { type: MngActionService }, { type: MngCommonsService }]; }, propDecorators: { action: [{
3598
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i2.TranslateService }, { type: i2$4.DynamicDialogRef }, { type: i2$4.DynamicDialogConfig }, { type: MngActionService }]; }, propDecorators: { action: [{
3590
3599
  type: Input
3591
3600
  }], itemId: [{
3592
3601
  type: Input
@@ -3596,21 +3605,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
3596
3605
  type: Input
3597
3606
  }], dataProvider: [{
3598
3607
  type: Input
3599
- }], createEventEmitter: [{
3600
- type: Output,
3601
- args: ['onFinished']
3602
- }], visibleChangeEventEmitter: [{
3603
- type: Output,
3604
- args: ['onVisibleChange']
3605
3608
  }], templates: [{
3606
3609
  type: ContentChildren,
3607
- args: [TemplateDirective]
3610
+ args: [MngTemplateDirective]
3608
3611
  }], submitButtonElementRef: [{
3609
3612
  type: ViewChild,
3610
3613
  args: ['submitButton']
3611
3614
  }], editorComponent: [{
3612
3615
  type: ViewChild,
3613
- args: [FormEditorComponent]
3616
+ args: [MngFormEditorComponent]
3614
3617
  }] } });
3615
3618
 
3616
3619
  class MngActionService {
@@ -3801,7 +3804,7 @@ class MngActionService {
3801
3804
  if (sourceComponent) {
3802
3805
  dialogConfig.data.sourceComponent = sourceComponent;
3803
3806
  }
3804
- const dialogRef = this.dialogService.open(ActionDialogComponent, dialogConfig);
3807
+ const dialogRef = this.dialogService.open(MngActionDialogComponent, dialogConfig);
3805
3808
  return of(new ActionActivationResult(undefined, dialogRef));
3806
3809
  }
3807
3810
  else {
@@ -3894,6 +3897,7 @@ class MngConfigurationService {
3894
3897
  */
3895
3898
  addEnvironmentSource(environment) {
3896
3899
  this.projectEnvironment = environment;
3900
+ this.mergeConfigs();
3897
3901
  }
3898
3902
  /**
3899
3903
  * Adds new config source from JSON file.
@@ -3946,12 +3950,13 @@ class MngConfigurationService {
3946
3950
  }
3947
3951
  MngConfigurationService._instance = null;
3948
3952
 
3949
- const MNG_MODULE_CONFIG_IT = new InjectionToken('MngModuleConfig');
3950
-
3951
- const BROWSER_STORAGE_IT = new InjectionToken('Browser storage', {
3953
+ const MNG_BROWSER_STORAGE_IT = new InjectionToken('Browser storage', {
3952
3954
  providedIn: 'root',
3953
3955
  factory: () => localStorage
3954
- });
3956
+ });
3957
+
3958
+ const MNG_MODULE_CONFIG_IT = new InjectionToken('MngModuleConfig');
3959
+
3955
3960
  class MngCommonsService {
3956
3961
  constructor(router, primengConfig, translate, titleService, configurationService, moduleConfig, localStorage) {
3957
3962
  this.router = router;
@@ -4281,16 +4286,16 @@ class MngCommonsService {
4281
4286
  return titlePieces.join(' - ');
4282
4287
  }
4283
4288
  }
4284
- MngCommonsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngCommonsService, deps: [{ token: i1$2.Router }, { token: i2$3.PrimeNGConfig }, { token: i2.TranslateService }, { token: i4$1.Title }, { token: MngConfigurationService }, { token: MNG_MODULE_CONFIG_IT }, { token: BROWSER_STORAGE_IT }], target: i0.ɵɵFactoryTarget.Injectable });
4289
+ MngCommonsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngCommonsService, deps: [{ token: i1$2.Router }, { token: i2$3.PrimeNGConfig }, { token: i2.TranslateService }, { token: i4$2.Title }, { token: MngConfigurationService }, { token: MNG_MODULE_CONFIG_IT }, { token: MNG_BROWSER_STORAGE_IT }], target: i0.ɵɵFactoryTarget.Injectable });
4285
4290
  MngCommonsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngCommonsService });
4286
4291
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngCommonsService, decorators: [{
4287
4292
  type: Injectable
4288
- }], ctorParameters: function () { return [{ type: i1$2.Router }, { type: i2$3.PrimeNGConfig }, { type: i2.TranslateService }, { type: i4$1.Title }, { type: MngConfigurationService }, { type: undefined, decorators: [{
4293
+ }], ctorParameters: function () { return [{ type: i1$2.Router }, { type: i2$3.PrimeNGConfig }, { type: i2.TranslateService }, { type: i4$2.Title }, { type: MngConfigurationService }, { type: undefined, decorators: [{
4289
4294
  type: Inject,
4290
4295
  args: [MNG_MODULE_CONFIG_IT]
4291
4296
  }] }, { type: Storage, decorators: [{
4292
4297
  type: Inject,
4293
- args: [BROWSER_STORAGE_IT]
4298
+ args: [MNG_BROWSER_STORAGE_IT]
4294
4299
  }] }]; } });
4295
4300
 
4296
4301
  class MngNavigationService {
@@ -4330,11 +4335,11 @@ class MngNavigationService {
4330
4335
  }
4331
4336
  }
4332
4337
  }
4333
- MngNavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngNavigationService, deps: [{ token: i1$2.Router }, { token: i6.Location }], target: i0.ɵɵFactoryTarget.Injectable });
4338
+ MngNavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngNavigationService, deps: [{ token: i1$2.Router }, { token: i4.Location }], target: i0.ɵɵFactoryTarget.Injectable });
4334
4339
  MngNavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngNavigationService });
4335
4340
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngNavigationService, decorators: [{
4336
4341
  type: Injectable
4337
- }], ctorParameters: function () { return [{ type: i1$2.Router }, { type: i6.Location }]; } });
4342
+ }], ctorParameters: function () { return [{ type: i1$2.Router }, { type: i4.Location }]; } });
4338
4343
 
4339
4344
  class MngBreadcrumbComponent {
4340
4345
  constructor(mngCommons) {
@@ -4342,7 +4347,7 @@ class MngBreadcrumbComponent {
4342
4347
  }
4343
4348
  }
4344
4349
  MngBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngBreadcrumbComponent, deps: [{ token: MngCommonsService }], target: i0.ɵɵFactoryTarget.Component });
4345
- MngBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngBreadcrumbComponent, selector: "mng-breadcrumb", ngImport: i0, template: "<div class=\"layout-breadcrumb-container\">\n <div class=\"layout-breadcrumb\">\n <p-breadcrumb [home]=\"$any(mngCommons.breadcrumbHome$ | async)\" [model]=\"$any(mngCommons.breadcrumbs$ |async)\" styleClass=\"layout-breadcrumb py-2\"></p-breadcrumb>\n </div>\n</div>\n", components: [{ type: i2$5.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4350
+ MngBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngBreadcrumbComponent, selector: "mng-breadcrumb", ngImport: i0, template: "<div class=\"layout-breadcrumb-container\">\n <div class=\"layout-breadcrumb\">\n <p-breadcrumb [home]=\"$any(mngCommons.breadcrumbHome$ | async)\" [model]=\"$any(mngCommons.breadcrumbs$ |async)\" styleClass=\"layout-breadcrumb py-2\"></p-breadcrumb>\n </div>\n</div>\n", components: [{ type: i2$5.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4346
4351
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngBreadcrumbComponent, decorators: [{
4347
4352
  type: Component,
4348
4353
  args: [{ selector: 'mng-breadcrumb', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-breadcrumb-container\">\n <div class=\"layout-breadcrumb\">\n <p-breadcrumb [home]=\"$any(mngCommons.breadcrumbHome$ | async)\" [model]=\"$any(mngCommons.breadcrumbs$ |async)\" styleClass=\"layout-breadcrumb py-2\"></p-breadcrumb>\n </div>\n</div>\n" }]
@@ -4361,7 +4366,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
4361
4366
  args: [{ selector: 'mng-footer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-footer\">\n <div class=\"footer-logo-container\">\n <img id=\"footer-logo\" [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" alt=\"atlantis-layout\"/>\n <span class=\"app-name\">{{ mngCommons.appName | translate }}</span>\n </div>\n <span class=\"copyright\">&#169; {{ mngCommons.appOwner | translate }} - {{ currentYear }}</span>\n</div>\n" }]
4362
4367
  }], ctorParameters: function () { return [{ type: MngCommonsService }]; } });
4363
4368
 
4364
- class MainLayoutComponentService {
4369
+ class MngMainLayoutComponentService {
4365
4370
  constructor(mngCommons) {
4366
4371
  this.mngCommons = mngCommons;
4367
4372
  this._overlayMenuActive = false;
@@ -4540,9 +4545,9 @@ class MainLayoutComponentService {
4540
4545
  return width <= 991;
4541
4546
  }
4542
4547
  }
4543
- MainLayoutComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MainLayoutComponentService, deps: [{ token: MngCommonsService }], target: i0.ɵɵFactoryTarget.Injectable });
4544
- MainLayoutComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MainLayoutComponentService });
4545
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MainLayoutComponentService, decorators: [{
4548
+ MngMainLayoutComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngMainLayoutComponentService, deps: [{ token: MngCommonsService }], target: i0.ɵɵFactoryTarget.Injectable });
4549
+ MngMainLayoutComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngMainLayoutComponentService });
4550
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngMainLayoutComponentService, decorators: [{
4546
4551
  type: Injectable
4547
4552
  }], ctorParameters: function () { return [{ type: MngCommonsService }]; } });
4548
4553
 
@@ -4644,8 +4649,8 @@ class MngMenuItemComponent {
4644
4649
  }
4645
4650
  }
4646
4651
  }
4647
- MngMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngMenuItemComponent, deps: [{ token: i1$2.Router }, { token: i0.ChangeDetectorRef }, { token: MngCommonsService }, { token: MainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
4648
- MngMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngMenuItemComponent, selector: "[mng-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "root", "class.active-menuitem": "active" } }, ngImport: i0, template: "<ng-container>\n <div *ngIf=\"root && item.visible !== false\" class=\"layout-menuitem-root-text\">{{ item.label | translate }}</div>\n <a *ngIf=\"(!item.routerLink || item.items) && item.visible !== false\"\n [attr.href]=\"item.url\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"onMouseEnter()\"\n (keydown.enter)=\"itemClick($event)\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.class\"\n pRipple>\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <a *ngIf=\"(item.routerLink && !item.items) && item.visible !== false\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"hover=true\"\n (mouseleave)=\"hover=false\"\n [routerLink]=\"item.routerLink\"\n routerLinkActive=\"active-menuitem-routerlink\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.class\"\n pRipple>\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <ul *ngIf=\"((item.items && active) || (item.items && (mngCommons.menuModeIsStatic$ | async) && (root || active))) && item.visible !== false\"\n [@children]=\"((mngCommons.menuModeIsSlim$ | async) && !(mainLayoutService.isMobile$ | async) && root)\n ? (active ? 'visible' : 'hidden')\n : ((mngCommons.menuModeIsStatic$ | async) && root && !(mainLayoutService.isMobile$ | async) ? 'visible' : (active ? 'visibleAnimated' : 'hiddenAnimated'))\">\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\n <li mng-menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeClass\"></li>\n </ng-template>\n </ul>\n</ng-container>\n", components: [{ type: MngMenuItemComponent, selector: "[mng-menuitem]", inputs: ["item", "index", "root", "parentKey"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.Ripple, selector: "[pRipple]" }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i2.TranslatePipe, "async": i6.AsyncPipe }, animations: [
4652
+ MngMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngMenuItemComponent, deps: [{ token: i1$2.Router }, { token: i0.ChangeDetectorRef }, { token: MngCommonsService }, { token: MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
4653
+ MngMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngMenuItemComponent, selector: "[mng-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "root", "class.active-menuitem": "active" } }, ngImport: i0, template: "<ng-container>\n <div *ngIf=\"root && item.visible !== false\" class=\"layout-menuitem-root-text\">{{ item.label | translate }}</div>\n <a *ngIf=\"(!item.routerLink || item.items) && item.visible !== false\"\n [attr.href]=\"item.url\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"onMouseEnter()\"\n (keydown.enter)=\"itemClick($event)\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.class\"\n pRipple>\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <a *ngIf=\"(item.routerLink && !item.items) && item.visible !== false\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"hover=true\"\n (mouseleave)=\"hover=false\"\n [routerLink]=\"item.routerLink\"\n routerLinkActive=\"active-menuitem-routerlink\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.class\"\n pRipple>\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <ul *ngIf=\"((item.items && active) || (item.items && (mngCommons.menuModeIsStatic$ | async) && (root || active))) && item.visible !== false\"\n [@children]=\"((mngCommons.menuModeIsSlim$ | async) && !(mainLayoutService.isMobile$ | async) && root)\n ? (active ? 'visible' : 'hidden')\n : ((mngCommons.menuModeIsStatic$ | async) && root && !(mainLayoutService.isMobile$ | async) ? 'visible' : (active ? 'visibleAnimated' : 'hiddenAnimated'))\">\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\n <li mng-menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeClass\"></li>\n </ng-template>\n </ul>\n</ng-container>\n", components: [{ type: MngMenuItemComponent, selector: "[mng-menuitem]", inputs: ["item", "index", "root", "parentKey"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.Ripple, selector: "[pRipple]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i2.TranslatePipe, "async": i4.AsyncPipe }, animations: [
4649
4654
  trigger('children', [
4650
4655
  state('void', style({
4651
4656
  height: '0px'
@@ -4698,7 +4703,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
4698
4703
  transition('void => visibleAnimated, visibleAnimated => void', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))
4699
4704
  ])
4700
4705
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <div *ngIf=\"root && item.visible !== false\" class=\"layout-menuitem-root-text\">{{ item.label | translate }}</div>\n <a *ngIf=\"(!item.routerLink || item.items) && item.visible !== false\"\n [attr.href]=\"item.url\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"onMouseEnter()\"\n (keydown.enter)=\"itemClick($event)\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.class\"\n pRipple>\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <a *ngIf=\"(item.routerLink && !item.items) && item.visible !== false\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"hover=true\"\n (mouseleave)=\"hover=false\"\n [routerLink]=\"item.routerLink\"\n routerLinkActive=\"active-menuitem-routerlink\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.class\"\n pRipple>\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <ul *ngIf=\"((item.items && active) || (item.items && (mngCommons.menuModeIsStatic$ | async) && (root || active))) && item.visible !== false\"\n [@children]=\"((mngCommons.menuModeIsSlim$ | async) && !(mainLayoutService.isMobile$ | async) && root)\n ? (active ? 'visible' : 'hidden')\n : ((mngCommons.menuModeIsStatic$ | async) && root && !(mainLayoutService.isMobile$ | async) ? 'visible' : (active ? 'visibleAnimated' : 'hiddenAnimated'))\">\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\n <li mng-menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeClass\"></li>\n </ng-template>\n </ul>\n</ng-container>\n" }]
4701
- }], ctorParameters: function () { return [{ type: i1$2.Router }, { type: i0.ChangeDetectorRef }, { type: MngCommonsService }, { type: MainLayoutComponentService }]; }, propDecorators: { item: [{
4706
+ }], ctorParameters: function () { return [{ type: i1$2.Router }, { type: i0.ChangeDetectorRef }, { type: MngCommonsService }, { type: MngMainLayoutComponentService }]; }, propDecorators: { item: [{
4702
4707
  type: Input
4703
4708
  }], index: [{
4704
4709
  type: Input
@@ -4714,47 +4719,79 @@ class MngMenuComponent {
4714
4719
  this.mainLayoutService = mainLayoutService;
4715
4720
  }
4716
4721
  }
4717
- MngMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngMenuComponent, deps: [{ token: MngCommonsService }, { token: MainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
4718
- MngMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngMenuComponent, selector: "mng-menu", ngImport: i0, template: "<div class=\"layout-menu-wrapper\" [ngClass]=\"{ 'layout-sidebar-active': (mainLayoutService.sidebarActive$ | async) }\"\n (click)=\"mainLayoutService.onSidebarClick($event)\" (mouseover)=\"mainLayoutService.onSidebarMouseOver($event)\" (mouseleave)=\"mainLayoutService.onSidebarMouseLeave($event)\">\n <div class=\"menu-logo\">\n\n <a routerLink=\"/\" class=\"logo\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" />\n </a>\n\n <a routerLink=\"/\" class=\"app-name\" *ngIf=\"!(mngCommons.menuModeIsSlim$ | async) || (mainLayoutService.isMobile$ | async)\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoNameDark : mngCommons.appLogoNameLight\" />\n </a>\n <a *ngIf=\"mngCommons.menuPinEnabled\" href=\"javascript:void(0)\" class=\"menu-pin\" (click)=\"mainLayoutService.onToggleMenu($event)\">\n <span *ngIf=\"mngCommons.menuModeIsOverlay$ | async\" class=\"pi pi-times\"></span>\n <span *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && !(mainLayoutService.sidebarStatic$ | async) && (mainLayoutService.pinActive$ | async)\" class=\"pi pi-unlock\"></span>\n <span *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async) && (mainLayoutService.pinActive$ | async)\" class=\"pi pi-lock\"></span>\n </a>\n </div>\n\n <div class=\"layout-menu-container\">\n <ul class=\"layout-menu\">\n <ng-container *ngFor=\"let item of (mngCommons.menuItems); let i = index;\">\n <li mng-menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\n <li *ngIf=\"item.separator\" class=\"menu-separator\"></li>\n </ng-container>\n </ul>\n </div>\n</div>\n", components: [{ type: MngMenuItemComponent, selector: "[mng-menuitem]", inputs: ["item", "index", "root", "parentKey"] }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4722
+ MngMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngMenuComponent, deps: [{ token: MngCommonsService }, { token: MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
4723
+ MngMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngMenuComponent, selector: "mng-menu", ngImport: i0, template: "<div class=\"layout-menu-wrapper\" [ngClass]=\"{ 'layout-sidebar-active': (mainLayoutService.sidebarActive$ | async) }\"\n (click)=\"mainLayoutService.onSidebarClick($event)\" (mouseover)=\"mainLayoutService.onSidebarMouseOver($event)\" (mouseleave)=\"mainLayoutService.onSidebarMouseLeave($event)\">\n <div class=\"menu-logo\">\n\n <a routerLink=\"/\" class=\"logo\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" />\n </a>\n\n <a routerLink=\"/\" class=\"app-name\" *ngIf=\"!(mngCommons.menuModeIsSlim$ | async) || (mainLayoutService.isMobile$ | async)\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoNameDark : mngCommons.appLogoNameLight\" />\n </a>\n <a *ngIf=\"mngCommons.menuPinEnabled\" class=\"menu-pin\" (click)=\"mainLayoutService.onToggleMenu($event)\">\n <span *ngIf=\"mngCommons.menuModeIsOverlay$ | async\" class=\"pi pi-times\"></span>\n <span *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && !(mainLayoutService.sidebarStatic$ | async) && (mainLayoutService.pinActive$ | async)\" class=\"pi pi-unlock\"></span>\n <span *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async) && (mainLayoutService.pinActive$ | async)\" class=\"pi pi-lock\"></span>\n </a>\n </div>\n\n <div class=\"layout-menu-container\">\n <ul class=\"layout-menu\">\n <ng-container *ngFor=\"let item of (mngCommons.menuItems); let i = index;\">\n <li mng-menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\n <li *ngIf=\"item.separator\" class=\"menu-separator\"></li>\n </ng-container>\n </ul>\n </div>\n</div>\n", components: [{ type: MngMenuItemComponent, selector: "[mng-menuitem]", inputs: ["item", "index", "root", "parentKey"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4719
4724
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngMenuComponent, decorators: [{
4720
4725
  type: Component,
4721
- args: [{ selector: 'mng-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-menu-wrapper\" [ngClass]=\"{ 'layout-sidebar-active': (mainLayoutService.sidebarActive$ | async) }\"\n (click)=\"mainLayoutService.onSidebarClick($event)\" (mouseover)=\"mainLayoutService.onSidebarMouseOver($event)\" (mouseleave)=\"mainLayoutService.onSidebarMouseLeave($event)\">\n <div class=\"menu-logo\">\n\n <a routerLink=\"/\" class=\"logo\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" />\n </a>\n\n <a routerLink=\"/\" class=\"app-name\" *ngIf=\"!(mngCommons.menuModeIsSlim$ | async) || (mainLayoutService.isMobile$ | async)\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoNameDark : mngCommons.appLogoNameLight\" />\n </a>\n <a *ngIf=\"mngCommons.menuPinEnabled\" href=\"javascript:void(0)\" class=\"menu-pin\" (click)=\"mainLayoutService.onToggleMenu($event)\">\n <span *ngIf=\"mngCommons.menuModeIsOverlay$ | async\" class=\"pi pi-times\"></span>\n <span *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && !(mainLayoutService.sidebarStatic$ | async) && (mainLayoutService.pinActive$ | async)\" class=\"pi pi-unlock\"></span>\n <span *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async) && (mainLayoutService.pinActive$ | async)\" class=\"pi pi-lock\"></span>\n </a>\n </div>\n\n <div class=\"layout-menu-container\">\n <ul class=\"layout-menu\">\n <ng-container *ngFor=\"let item of (mngCommons.menuItems); let i = index;\">\n <li mng-menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\n <li *ngIf=\"item.separator\" class=\"menu-separator\"></li>\n </ng-container>\n </ul>\n </div>\n</div>\n" }]
4722
- }], ctorParameters: function () { return [{ type: MngCommonsService }, { type: MainLayoutComponentService }]; } });
4726
+ args: [{ selector: 'mng-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-menu-wrapper\" [ngClass]=\"{ 'layout-sidebar-active': (mainLayoutService.sidebarActive$ | async) }\"\n (click)=\"mainLayoutService.onSidebarClick($event)\" (mouseover)=\"mainLayoutService.onSidebarMouseOver($event)\" (mouseleave)=\"mainLayoutService.onSidebarMouseLeave($event)\">\n <div class=\"menu-logo\">\n\n <a routerLink=\"/\" class=\"logo\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" />\n </a>\n\n <a routerLink=\"/\" class=\"app-name\" *ngIf=\"!(mngCommons.menuModeIsSlim$ | async) || (mainLayoutService.isMobile$ | async)\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoNameDark : mngCommons.appLogoNameLight\" />\n </a>\n <a *ngIf=\"mngCommons.menuPinEnabled\" class=\"menu-pin\" (click)=\"mainLayoutService.onToggleMenu($event)\">\n <span *ngIf=\"mngCommons.menuModeIsOverlay$ | async\" class=\"pi pi-times\"></span>\n <span *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && !(mainLayoutService.sidebarStatic$ | async) && (mainLayoutService.pinActive$ | async)\" class=\"pi pi-unlock\"></span>\n <span *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async) && (mainLayoutService.pinActive$ | async)\" class=\"pi pi-lock\"></span>\n </a>\n </div>\n\n <div class=\"layout-menu-container\">\n <ul class=\"layout-menu\">\n <ng-container *ngFor=\"let item of (mngCommons.menuItems); let i = index;\">\n <li mng-menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\n <li *ngIf=\"item.separator\" class=\"menu-separator\"></li>\n </ng-container>\n </ul>\n </div>\n</div>\n" }]
4727
+ }], ctorParameters: function () { return [{ type: MngCommonsService }, { type: MngMainLayoutComponentService }]; } });
4723
4728
 
4724
4729
  class MngTopbarComponent {
4725
- constructor(mngCommons, mainLayoutService) {
4730
+ constructor(route, mngCommons, mainLayoutService) {
4731
+ this.route = route;
4726
4732
  this.mngCommons = mngCommons;
4727
4733
  this.mainLayoutService = mainLayoutService;
4734
+ this.breadcrumbComponent = MngBreadcrumbComponent;
4735
+ this.menuComponent = MngMenuComponent;
4728
4736
  this.languages = ['en'];
4729
4737
  this.selectedLanguage = 'en';
4730
4738
  }
4731
- switchLanguage(language) {
4732
- this.mngCommons.appLanguage = language;
4733
- }
4734
4739
  ngOnInit() {
4740
+ const routeData = this.route.snapshot.data;
4741
+ if (routeData?.breadcrumbComponent) {
4742
+ this.breadcrumbComponent = routeData.breadcrumbComponent;
4743
+ }
4744
+ if (routeData?.menuComponent) {
4745
+ this.menuComponent = routeData.menuComponent;
4746
+ }
4735
4747
  this.languages = this.mngCommons.appLanguages;
4736
4748
  this.selectedLanguage = this.mngCommons.appLanguage;
4737
4749
  this.mngCommons.user$.subscribe(u => {
4738
4750
  this.user = u;
4739
4751
  });
4740
4752
  }
4753
+ ngAfterViewInit() {
4754
+ this.mainLayoutService.innerWidth = window.innerWidth;
4755
+ }
4756
+ switchLanguage(language) {
4757
+ this.mngCommons.appLanguage = language;
4758
+ }
4741
4759
  logout(user, event) {
4742
4760
  if (typeof user.logout === 'function') {
4743
4761
  user.logout();
4744
4762
  }
4745
4763
  }
4746
4764
  }
4747
- MngTopbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTopbarComponent, deps: [{ token: MngCommonsService }, { token: MainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
4748
- MngTopbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngTopbarComponent, selector: "mng-topbar", ngImport: i0, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a href=\"#\" class=\"topbar-menu-button\" (click)=\"mainLayoutService.onMenuButtonClick($event)\" *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <mng-breadcrumb></mng-breadcrumb>\n </div>\n\n <mng-menu></mng-menu>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li #profile class=\"profile-item\" [ngClass]=\"{ 'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile }\">\n <a href=\"#\" (click)=\"mainLayoutService.onTopbarItemClick($event,profile)\">\n <i class=\"pi pi-fw pi-user\"></i>\n </a>\n <ul class=\"fadeInDown\" *ngIf=\"user\">\n <li role=\"menuitem\">\n <a>\n {{ user?.displayName ?? user?.username }}\n </a>\n </li>\n <li role=\"menuitem\" *ngIf=\"user?.logout || user?.logoutUrl\">\n <a [href]=\"user?.logoutUrl ?? 'javascript:void(0)'\" (click)=\"logout(user, $event)\">\n <i class=\"pi pi-fw pi-sign-out\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"languages.length > 1\" class=\"profile-item\" [ngClass]=\"{ 'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile }\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"selectedLanguage\" [options]=\"languages\" (onChange)=\"switchLanguage($event.value)\"></p-dropdown>\n </li>\n </ul>\n </div>\n</div>\n", components: [{ type: MngBreadcrumbComponent, selector: "mng-breadcrumb" }, { type: MngMenuComponent, selector: "mng-menu" }, { type: i1$1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i6.AsyncPipe, "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4765
+ MngTopbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTopbarComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: MngCommonsService }, { token: MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
4766
+ MngTopbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngTopbarComponent, selector: "mng-topbar", viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a href=\"#\" class=\"topbar-menu-button\" (click)=\"mainLayoutService.onMenuButtonClick($event)\" *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <ng-container [mngComponent]=\"breadcrumbComponent\"></ng-container>\n </div>\n\n <ng-container [mngComponent]=\"menuComponent\"></ng-container>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li #profile class=\"profile-item\" [ngClass]=\"{ 'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile }\">\n <a href=\"#\" (click)=\"mainLayoutService.onTopbarItemClick($event,profile)\">\n <i class=\"pi pi-fw pi-user\"></i>\n </a>\n <ul class=\"fadeInDown\" *ngIf=\"user\">\n <li role=\"menuitem\">\n <a>\n {{ user?.displayName ?? user?.username }}\n </a>\n </li>\n <li role=\"menuitem\" *ngIf=\"user?.logout || user?.logoutUrl\">\n <a [href]=\"user?.logoutUrl\" (click)=\"logout(user, $event)\">\n <i class=\"pi pi-fw pi-sign-out\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"languages.length > 1\" class=\"profile-item\" [ngClass]=\"{ 'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile }\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"selectedLanguage\" [options]=\"languages\" (onChange)=\"switchLanguage($event.value)\"></p-dropdown>\n </li>\n </ul>\n </div>\n</div>\n", components: [{ type: i1$1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i4.AsyncPipe, "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4749
4767
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTopbarComponent, decorators: [{
4750
4768
  type: Component,
4751
- args: [{ selector: 'mng-topbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a href=\"#\" class=\"topbar-menu-button\" (click)=\"mainLayoutService.onMenuButtonClick($event)\" *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <mng-breadcrumb></mng-breadcrumb>\n </div>\n\n <mng-menu></mng-menu>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li #profile class=\"profile-item\" [ngClass]=\"{ 'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile }\">\n <a href=\"#\" (click)=\"mainLayoutService.onTopbarItemClick($event,profile)\">\n <i class=\"pi pi-fw pi-user\"></i>\n </a>\n <ul class=\"fadeInDown\" *ngIf=\"user\">\n <li role=\"menuitem\">\n <a>\n {{ user?.displayName ?? user?.username }}\n </a>\n </li>\n <li role=\"menuitem\" *ngIf=\"user?.logout || user?.logoutUrl\">\n <a [href]=\"user?.logoutUrl ?? 'javascript:void(0)'\" (click)=\"logout(user, $event)\">\n <i class=\"pi pi-fw pi-sign-out\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"languages.length > 1\" class=\"profile-item\" [ngClass]=\"{ 'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile }\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"selectedLanguage\" [options]=\"languages\" (onChange)=\"switchLanguage($event.value)\"></p-dropdown>\n </li>\n </ul>\n </div>\n</div>\n" }]
4752
- }], ctorParameters: function () { return [{ type: MngCommonsService }, { type: MainLayoutComponentService }]; } });
4769
+ args: [{ selector: 'mng-topbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a href=\"#\" class=\"topbar-menu-button\" (click)=\"mainLayoutService.onMenuButtonClick($event)\" *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <ng-container [mngComponent]=\"breadcrumbComponent\"></ng-container>\n </div>\n\n <ng-container [mngComponent]=\"menuComponent\"></ng-container>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li #profile class=\"profile-item\" [ngClass]=\"{ 'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile }\">\n <a href=\"#\" (click)=\"mainLayoutService.onTopbarItemClick($event,profile)\">\n <i class=\"pi pi-fw pi-user\"></i>\n </a>\n <ul class=\"fadeInDown\" *ngIf=\"user\">\n <li role=\"menuitem\">\n <a>\n {{ user?.displayName ?? user?.username }}\n </a>\n </li>\n <li role=\"menuitem\" *ngIf=\"user?.logout || user?.logoutUrl\">\n <a [href]=\"user?.logoutUrl\" (click)=\"logout(user, $event)\">\n <i class=\"pi pi-fw pi-sign-out\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"languages.length > 1\" class=\"profile-item\" [ngClass]=\"{ 'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile }\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"selectedLanguage\" [options]=\"languages\" (onChange)=\"switchLanguage($event.value)\"></p-dropdown>\n </li>\n </ul>\n </div>\n</div>\n" }]
4770
+ }], ctorParameters: function () { return [{ type: i1$2.ActivatedRoute }, { type: MngCommonsService }, { type: MngMainLayoutComponentService }]; }, propDecorators: { templates: [{
4771
+ type: ViewChildren,
4772
+ args: [MngTemplateDirective]
4773
+ }] } });
4753
4774
 
4754
4775
  class MngMainLayoutComponent {
4755
- constructor(mngCommons, mainLayoutService) {
4776
+ constructor(route, mngCommons, mainLayoutService) {
4777
+ this.route = route;
4756
4778
  this.mngCommons = mngCommons;
4757
4779
  this.mainLayoutService = mainLayoutService;
4780
+ this.topbarComponent = MngTopbarComponent;
4781
+ this.menuComponent = MngMenuComponent;
4782
+ this.footerComponent = MngFooterComponent;
4783
+ }
4784
+ ngOnInit() {
4785
+ const routeData = this.route.snapshot.data;
4786
+ if (routeData?.topbarComponent) {
4787
+ this.topbarComponent = routeData.topbarComponent;
4788
+ }
4789
+ if (routeData?.menuComponent) {
4790
+ this.menuComponent = routeData.menuComponent;
4791
+ }
4792
+ if (routeData?.footerComponent) {
4793
+ this.footerComponent = routeData.footerComponent;
4794
+ }
4758
4795
  }
4759
4796
  ngAfterViewInit() {
4760
4797
  this.mainLayoutService.innerWidth = window.innerWidth;
@@ -4764,77 +4801,96 @@ class MngMainLayoutComponent {
4764
4801
  this.mainLayoutService.innerWidth = target?.innerWidth ?? window.innerWidth;
4765
4802
  }
4766
4803
  }
4767
- MngMainLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngMainLayoutComponent, deps: [{ token: MngCommonsService }, { token: MainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
4768
- MngMainLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngMainLayoutComponent, selector: "mng-main-layout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [MainLayoutComponentService], ngImport: i0, template: "<div class=\"layout-wrapper\" (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async) }\">\n\n <div class=\"layout-main\">\n\n <mng-topbar></mng-topbar>\n\n <mng-menu *ngIf=\"!(mainLayoutService.isMobile$ | async) && ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\"></mng-menu>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <mng-footer></mng-footer>\n </div>\n\n</div>\n", components: [{ type: MngTopbarComponent, selector: "mng-topbar" }, { type: MngMenuComponent, selector: "mng-menu" }, { type: MngFooterComponent, selector: "mng-footer" }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4804
+ MngMainLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngMainLayoutComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: MngCommonsService }, { token: MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
4805
+ MngMainLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngMainLayoutComponent, selector: "mng-main-layout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [MngMainLayoutComponentService], viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div class=\"layout-wrapper\" (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async) }\">\n\n <div class=\"layout-main\">\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n\n <ng-container *ngIf=\"!(mainLayoutService.isMobile$ | async) && ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n\n</div>\n", directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4769
4806
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngMainLayoutComponent, decorators: [{
4770
4807
  type: Component,
4771
- args: [{ selector: 'mng-main-layout', providers: [MainLayoutComponentService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-wrapper\" (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async) }\">\n\n <div class=\"layout-main\">\n\n <mng-topbar></mng-topbar>\n\n <mng-menu *ngIf=\"!(mainLayoutService.isMobile$ | async) && ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\"></mng-menu>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <mng-footer></mng-footer>\n </div>\n\n</div>\n" }]
4772
- }], ctorParameters: function () { return [{ type: MngCommonsService }, { type: MainLayoutComponentService }]; }, propDecorators: { onWindowResize: [{
4808
+ args: [{ selector: 'mng-main-layout', providers: [MngMainLayoutComponentService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-wrapper\" (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async) }\">\n\n <div class=\"layout-main\">\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n\n <ng-container *ngIf=\"!(mainLayoutService.isMobile$ | async) && ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n\n</div>\n" }]
4809
+ }], ctorParameters: function () { return [{ type: i1$2.ActivatedRoute }, { type: MngCommonsService }, { type: MngMainLayoutComponentService }]; }, propDecorators: { templates: [{
4810
+ type: ViewChildren,
4811
+ args: [MngTemplateDirective]
4812
+ }], onWindowResize: [{
4773
4813
  type: HostListener,
4774
4814
  args: ['window:resize', ['$event']]
4775
4815
  }] } });
4776
4816
 
4777
- class FormlyFieldWrapperComponent extends FieldWrapper {
4817
+ class MngFormlyFieldWrapperComponent extends FieldWrapper {
4778
4818
  ngOnInit() {
4779
4819
  }
4780
4820
  }
4781
- FormlyFieldWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4782
- FormlyFieldWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyFieldWrapperComponent, selector: "mng-formly-field-wrapper", usesInheritance: true, ngImport: i0, template: "<div class=\"field\">\n <label [for]=\"key\">{{ $any(to?.label) | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n", components: [{ type: i3.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4783
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldWrapperComponent, decorators: [{
4821
+ MngFormlyFieldWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4822
+ MngFormlyFieldWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngFormlyFieldWrapperComponent, selector: "mng-formly-field-wrapper", usesInheritance: true, ngImport: i0, template: "<div class=\"field\">\n <label [for]=\"key\">{{ $any(to?.label) | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n", components: [{ type: i3.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4823
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldWrapperComponent, decorators: [{
4784
4824
  type: Component,
4785
4825
  args: [{ selector: 'mng-formly-field-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"field\">\n <label [for]=\"key\">{{ $any(to?.label) | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n" }]
4786
4826
  }] });
4787
4827
 
4788
- class FormlyTableWrapperComponent extends FieldWrapper {
4828
+ class MngFormlyTableWrapperComponent extends FieldWrapper {
4789
4829
  ngOnInit() {
4790
4830
  }
4791
4831
  }
4792
- FormlyTableWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyTableWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4793
- FormlyTableWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyTableWrapperComponent, selector: "mng-formly-table-wrapper", usesInheritance: true, ngImport: i0, template: "<div class=\"field table\">\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n", components: [{ type: i3.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4794
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyTableWrapperComponent, decorators: [{
4832
+ MngFormlyTableWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyTableWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4833
+ MngFormlyTableWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngFormlyTableWrapperComponent, selector: "mng-formly-table-wrapper", usesInheritance: true, ngImport: i0, template: "<div class=\"field table\">\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n", components: [{ type: i3.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4834
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyTableWrapperComponent, decorators: [{
4795
4835
  type: Component,
4796
4836
  args: [{ selector: 'mng-formly-table-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"field table\">\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n" }]
4797
4837
  }] });
4798
4838
 
4799
- class FormlyFieldAutocompleteComponent extends FieldType {
4839
+ class MngFormlyFieldAutocompleteComponent extends FieldType {
4800
4840
  ngOnInit() {
4801
4841
  this.aFormControl = this.formControl;
4802
4842
  this.descriptor = this.to['descriptor'];
4803
4843
  }
4804
4844
  }
4805
- FormlyFieldAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldAutocompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4806
- FormlyFieldAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyFieldAutocompleteComponent, selector: "mng-formly-field-autocomplete", usesInheritance: true, ngImport: i0, template: "<mng-autocomplete [id]=\"$any(key)\"\n [formControl]=\"aFormControl\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"$any(descriptor.dataProvider)\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\">\n</mng-autocomplete>\n", components: [{ type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["onChange"] }], directives: [{ type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4807
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldAutocompleteComponent, decorators: [{
4845
+ MngFormlyFieldAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldAutocompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4846
+ MngFormlyFieldAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngFormlyFieldAutocompleteComponent, selector: "mng-formly-field-autocomplete", usesInheritance: true, ngImport: i0, template: "<mng-autocomplete [id]=\"$any(key)\"\n [formControl]=\"aFormControl\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"$any(descriptor.dataProvider)\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\">\n</mng-autocomplete>\n", components: [{ type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["onChange"] }], directives: [{ type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4847
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldAutocompleteComponent, decorators: [{
4808
4848
  type: Component,
4809
4849
  args: [{ selector: 'mng-formly-field-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-autocomplete [id]=\"$any(key)\"\n [formControl]=\"aFormControl\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"$any(descriptor.dataProvider)\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\">\n</mng-autocomplete>\n" }]
4810
4850
  }] });
4811
4851
 
4812
- class FormlyFieldInputComponent extends FieldType {
4852
+ class MngFormlyFieldInputComponent extends FieldType {
4813
4853
  ngOnInit() {
4814
4854
  this.iFormControl = this.formControl;
4815
4855
  this.descriptor = this.to['descriptor'];
4816
4856
  }
4817
4857
  }
4818
- FormlyFieldInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4819
- FormlyFieldInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyFieldInputComponent, selector: "mng-formly-field-input", usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"to.type\">\n <p-inputNumber *ngSwitchCase=\"'number'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [min]=\"$any(descriptor.numberMin)\"\n [max]=\"$any(descriptor.numberMax)\"\n [step]=\"$any(descriptor.numberStep)\"\n [minFractionDigits]=\"descriptor.numberMinFractionDigits || 0\"\n [maxFractionDigits]=\"descriptor.numberMaxFractionDigits || 0\">\n </p-inputNumber>\n\n <div *ngSwitchCase=\"'switch'\" class=\"flex flex-column\">\n <label [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <p-inputSwitch [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\">\n </p-inputSwitch>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n </div>\n\n <ng-container *ngSwitchCase=\"'radio'\">\n <div *ngFor=\"let category of descriptor.radioOptions\" [id]=\"$any(key)\" class=\"p-field-radiobutton\">\n <p-radioButton [value]=\"category\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\"></p-radioButton>\n <label [for]=\"category\" class=\"mng-radio-button-label\">{{category}}</label>\n </div>\n </ng-container>\n\n <textarea *ngSwitchCase=\"'textarea'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [rows]=\"descriptor.rows ?? 3\"\n pInputTextarea>\n </textarea>\n\n <p-calendar *ngSwitchCase=\"'datepicker'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [dateFormat]=\"$any(descriptor.datePickerFormat)\"\n [minDate]=\"$any(descriptor.datePickerMin)\"\n [maxDate]=\"$any(descriptor.datePickerMax)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [showIcon]=\"true\">\n </p-calendar>\n\n <input *ngSwitchDefault\n pInputText\n [id]=\"$any(key)\"\n [type]=\"to.type || 'text'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n />\n</ng-container>\n", components: [{ type: i1$3.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }, { type: i2$6.InputSwitch, selector: "p-inputSwitch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabelledBy"], outputs: ["onChange"] }, { type: i3.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { type: i4$2.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i5$1.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }], directives: [{ type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i9$1.InputText, selector: "[pInputText]" }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4820
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldInputComponent, decorators: [{
4858
+ MngFormlyFieldInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4859
+ MngFormlyFieldInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngFormlyFieldInputComponent, selector: "mng-formly-field-input", usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"to.type\">\n <p-inputNumber *ngSwitchCase=\"'number'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [min]=\"$any(descriptor.numberMin)\"\n [max]=\"$any(descriptor.numberMax)\"\n [step]=\"$any(descriptor.numberStep)\"\n [minFractionDigits]=\"descriptor.numberMinFractionDigits || 0\"\n [maxFractionDigits]=\"descriptor.numberMaxFractionDigits || 0\">\n </p-inputNumber>\n\n <div *ngSwitchCase=\"'switch'\" class=\"flex flex-column\">\n <label [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <p-inputSwitch [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\">\n </p-inputSwitch>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n </div>\n\n <ng-container *ngSwitchCase=\"'radio'\">\n <div *ngFor=\"let category of descriptor.radioOptions\" [id]=\"$any(key)\" class=\"p-field-radiobutton\">\n <p-radioButton [value]=\"category\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\"></p-radioButton>\n <label [for]=\"category\" class=\"mng-radio-button-label\">{{category}}</label>\n </div>\n </ng-container>\n\n <textarea *ngSwitchCase=\"'textarea'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [rows]=\"descriptor.rows ?? 3\"\n pInputTextarea>\n </textarea>\n\n <p-calendar *ngSwitchCase=\"'datepicker'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [dateFormat]=\"$any(descriptor.datePickerFormat)\"\n [minDate]=\"$any(descriptor.datePickerMin)\"\n [maxDate]=\"$any(descriptor.datePickerMax)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [showIcon]=\"true\">\n </p-calendar>\n\n <input *ngSwitchDefault\n pInputText\n [id]=\"$any(key)\"\n [type]=\"to.type || 'text'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n />\n</ng-container>\n", components: [{ type: i1$3.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }, { type: i2$6.InputSwitch, selector: "p-inputSwitch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabelledBy"], outputs: ["onChange"] }, { type: i3.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { type: i4$3.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i5$1.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }], directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i9$1.InputText, selector: "[pInputText]" }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4860
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldInputComponent, decorators: [{
4821
4861
  type: Component,
4822
4862
  args: [{ selector: 'mng-formly-field-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"to.type\">\n <p-inputNumber *ngSwitchCase=\"'number'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [min]=\"$any(descriptor.numberMin)\"\n [max]=\"$any(descriptor.numberMax)\"\n [step]=\"$any(descriptor.numberStep)\"\n [minFractionDigits]=\"descriptor.numberMinFractionDigits || 0\"\n [maxFractionDigits]=\"descriptor.numberMaxFractionDigits || 0\">\n </p-inputNumber>\n\n <div *ngSwitchCase=\"'switch'\" class=\"flex flex-column\">\n <label [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <p-inputSwitch [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\">\n </p-inputSwitch>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n </div>\n\n <ng-container *ngSwitchCase=\"'radio'\">\n <div *ngFor=\"let category of descriptor.radioOptions\" [id]=\"$any(key)\" class=\"p-field-radiobutton\">\n <p-radioButton [value]=\"category\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\"></p-radioButton>\n <label [for]=\"category\" class=\"mng-radio-button-label\">{{category}}</label>\n </div>\n </ng-container>\n\n <textarea *ngSwitchCase=\"'textarea'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [rows]=\"descriptor.rows ?? 3\"\n pInputTextarea>\n </textarea>\n\n <p-calendar *ngSwitchCase=\"'datepicker'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [dateFormat]=\"$any(descriptor.datePickerFormat)\"\n [minDate]=\"$any(descriptor.datePickerMin)\"\n [maxDate]=\"$any(descriptor.datePickerMax)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [showIcon]=\"true\">\n </p-calendar>\n\n <input *ngSwitchDefault\n pInputText\n [id]=\"$any(key)\"\n [type]=\"to.type || 'text'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n />\n</ng-container>\n" }]
4823
4863
  }] });
4824
4864
 
4825
- class FormlyFieldDropdownComponent extends FieldType {
4865
+ class MngFormlyFieldDropdownComponent extends FieldType {
4826
4866
  ngOnInit() {
4827
4867
  this.dFormControl = this.formControl;
4828
4868
  this.descriptor = this.to['descriptor'];
4829
4869
  }
4830
4870
  }
4831
- FormlyFieldDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4832
- FormlyFieldDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyFieldDropdownComponent, selector: "mng-formly-field-dropdown", usesInheritance: true, ngImport: i0, template: "<mng-dropdown [id]=\"$any(key)\"\n [formControl]=\"dFormControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [itemsValueProperty]=\"$any(descriptor.itemsValueProperty)\"\n [showClear]=\"!this.to.required\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\">\n</mng-dropdown>\n", components: [{ type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsValueProperty", "multiselect", "placeholder", "showClear", "className", "dropdownClassName"], outputs: ["onChange"] }], directives: [{ type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4833
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldDropdownComponent, decorators: [{
4871
+ MngFormlyFieldDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4872
+ MngFormlyFieldDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngFormlyFieldDropdownComponent, selector: "mng-formly-field-dropdown", usesInheritance: true, ngImport: i0, template: "<mng-dropdown [id]=\"$any(key)\"\n [formControl]=\"dFormControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [itemsValueProperty]=\"$any(descriptor.itemsValueProperty)\"\n [showClear]=\"!this.to.required\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\">\n</mng-dropdown>\n", components: [{ type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsValueProperty", "multiselect", "placeholder", "showClear", "className", "dropdownClassName"], outputs: ["onChange"] }], directives: [{ type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4873
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldDropdownComponent, decorators: [{
4834
4874
  type: Component,
4835
4875
  args: [{ selector: 'mng-formly-field-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-dropdown [id]=\"$any(key)\"\n [formControl]=\"dFormControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [itemsValueProperty]=\"$any(descriptor.itemsValueProperty)\"\n [showClear]=\"!this.to.required\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\">\n</mng-dropdown>\n" }]
4836
4876
  }] });
4837
4877
 
4878
+ class MngTableLoadEvent {
4879
+ }
4880
+ class MngTableCellClickEvent {
4881
+ constructor(column, rowItem, rowIndex) {
4882
+ this.column = column;
4883
+ this.rowItem = rowItem;
4884
+ this.rowIndex = rowIndex;
4885
+ }
4886
+ }
4887
+ class MngTableReloadEvent {
4888
+ constructor() {
4889
+ this.resetParams = false;
4890
+ this.emitEvent = false;
4891
+ }
4892
+ }
4893
+
4838
4894
  /**
4839
4895
  * Cannot be on push change detection strategy because of filter updates triggered from route which causes to force update values in force metadata
4840
4896
  * and these must be propagated through to this component and beyond to primeNG.
@@ -4888,7 +4944,7 @@ class MngTableColumnFilterComponent {
4888
4944
  }
4889
4945
  }
4890
4946
  MngTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTableColumnFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4891
- MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter class=\"ml-auto\"\n [type]=\"primeType\" matchMode=\"equals\"\n [field]=\"descriptor.property\" [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.typeToFilter') | translate\"\n [showMatchModes]=\"primeType === 'text' || primeType === 'date' || primeType === 'numeric'\"\n [showOperator]=\"false\" [showAddButton]=\"false\" [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.searchToFilter') | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (onChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.selectToFilter') | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"true\"\n (onChange)=\"filterCallback($event)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n", components: [{ type: i4$3.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["onChange"] }, { type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsValueProperty", "multiselect", "placeholder", "showClear", "className", "dropdownClassName"], outputs: ["onChange"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i2.TranslatePipe } });
4947
+ MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter class=\"ml-auto\"\n [type]=\"primeType\" matchMode=\"equals\"\n [field]=\"descriptor.property\" [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.typeToFilter') | translate\"\n [showMatchModes]=\"primeType === 'text' || primeType === 'date' || primeType === 'numeric'\"\n [showOperator]=\"false\" [showAddButton]=\"false\" [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.searchToFilter') | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (onChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.selectToFilter') | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"true\"\n (onChange)=\"filterCallback($event)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n", components: [{ type: i4$4.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["onChange"] }, { type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsValueProperty", "multiselect", "placeholder", "showClear", "className", "dropdownClassName"], outputs: ["onChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i2.TranslatePipe } });
4892
4948
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
4893
4949
  type: Component,
4894
4950
  args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter class=\"ml-auto\"\n [type]=\"primeType\" matchMode=\"equals\"\n [field]=\"descriptor.property\" [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.typeToFilter') | translate\"\n [showMatchModes]=\"primeType === 'text' || primeType === 'date' || primeType === 'numeric'\"\n [showOperator]=\"false\" [showAddButton]=\"false\" [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.searchToFilter') | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (onChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.selectToFilter') | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"true\"\n (onChange)=\"filterCallback($event)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n" }]
@@ -4907,7 +4963,7 @@ class MngTableColumnValueComponent {
4907
4963
  }
4908
4964
  }
4909
4965
  MngTableColumnValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTableColumnValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4910
- MngTableColumnValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: { descriptor: "descriptor", item: "item" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{ descriptor.displayPropertyPath ? (item | propertyPath: descriptor.displayPropertyPath) : item[descriptor.property] }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeNumber\">\n {{ (descriptor.displayPropertyPath ? (item | propertyPath: descriptor.displayPropertyPath) : item[descriptor.property]) | number: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeDate\">\n {{ (descriptor.displayPropertyPath ? (item | propertyPath: descriptor.displayPropertyPath) : item[descriptor.property]) | date: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeBoolean\">\n {{ (descriptor.displayPropertyPath ? (item | propertyPath: descriptor.displayPropertyPath) : item[descriptor.property]) | boolean }}\n </ng-container>\n</ng-container>\n", directives: [{ type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "propertyPath": PropertyPathPipe, "number": i6.DecimalPipe, "date": i6.DatePipe, "boolean": BooleanPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4966
+ MngTableColumnValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: { descriptor: "descriptor", item: "item" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{ descriptor.displayPropertyPath ? (item | propertyPath: descriptor.displayPropertyPath) : item[descriptor.property] }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeNumber\">\n {{ (descriptor.displayPropertyPath ? (item | propertyPath: descriptor.displayPropertyPath) : item[descriptor.property]) | number: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeDate\">\n {{ (descriptor.displayPropertyPath ? (item | propertyPath: descriptor.displayPropertyPath) : item[descriptor.property]) | date: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeBoolean\">\n {{ (descriptor.displayPropertyPath ? (item | propertyPath: descriptor.displayPropertyPath) : item[descriptor.property]) | boolean }}\n </ng-container>\n</ng-container>\n", directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "propertyPath": MngPropertyPathPipe, "number": i4.DecimalPipe, "date": i4.DatePipe, "boolean": MngBooleanPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4911
4967
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTableColumnValueComponent, decorators: [{
4912
4968
  type: Component,
4913
4969
  args: [{ selector: 'mng-table-column-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{ descriptor.displayPropertyPath ? (item | propertyPath: descriptor.displayPropertyPath) : item[descriptor.property] }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeNumber\">\n {{ (descriptor.displayPropertyPath ? (item | propertyPath: descriptor.displayPropertyPath) : item[descriptor.property]) | number: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeDate\">\n {{ (descriptor.displayPropertyPath ? (item | propertyPath: descriptor.displayPropertyPath) : item[descriptor.property]) | date: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeBoolean\">\n {{ (descriptor.displayPropertyPath ? (item | propertyPath: descriptor.displayPropertyPath) : item[descriptor.property]) | boolean }}\n </ng-container>\n</ng-container>\n" }]
@@ -4919,7 +4975,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
4919
4975
 
4920
4976
  var TypeEnum = FilterDescriptor.TypeEnum;
4921
4977
  var PaginationModeEnum = TableDescriptor.PaginationModeEnum;
4922
- class TableComponent {
4978
+ class MngTableComponent {
4923
4979
  constructor(injector, router, activatedRoute, translate, tableviewService) {
4924
4980
  this.injector = injector;
4925
4981
  this.router = router;
@@ -5166,9 +5222,9 @@ class TableComponent {
5166
5222
  }
5167
5223
  }
5168
5224
  }
5169
- TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TableComponent, deps: [{ token: i0.Injector }, { token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: i2.TranslateService }, { token: TableviewComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
5170
- TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: TableComponent, selector: "mng-table", inputs: { descriptor: "descriptor", items: "items", queryResult: "queryResult", loading: "loading", dataProvider: "dataProvider", useQueryParams: "useQueryParams", selectionEnabled: "selectionEnabled" }, outputs: { loadEventEmitter: "onLoad", cellClickEventEmitter: "onCellClick", selectionChangeEventEmitter: "onSelectionChange" }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "primeTable", first: true, predicate: Table, descendants: true }], ngImport: i0, template: "<div [style.height]=\"scrollHeight === 'flex' ? 'calc(100vh - ' + descriptor.tableFullHeightOffset + 'px)' : null\">\n <!-- MUST NOT use observable for value when using virtual scroll - does not work for some reason -->\n <p-table *ngIf=\"!useQueryParams || useQueryParamsInitialized\"\n [value]=\"infiniteScroll ? dataProviderInfiniteScrollItems : ((queryResult$ | async)?.pageData ?? [])\"\n [dataKey]=\"$any(descriptor.dataKeyProperty)\"\n [lazy]=\"useDataProvider\"\n [loading]=\"(loading$ | async) ?? false\"\n [paginator]=\"useDataProvider && !infiniteScroll\"\n [rows]=\"$any(infiniteScroll ? 20 : rows)\"\n [first]=\"$any(infiniteScroll ? 0 : offset)\"\n [totalRecords]=\"$any(infiniteScroll ? null : (queryResult$ | async)?.allDataCount ?? 0)\"\n [rowsPerPageOptions]=\"$any(infiniteScroll ? null : rowsPerPageOptions)\"\n [showCurrentPageReport]=\"!infiniteScroll\"\n [currentPageReportTemplate]=\"'mngTable.paginationMsg' | translate\"\n [multiSortMeta]=\"$any(multiSortMeta)\"\n [filters]=\"filterMetadata\"\n [(selection)]=\"selection\"\n (selectionChange)=\"onSelectionChange($event)\"\n [scrollable]=\"infiniteScroll\"\n [virtualScroll]=\"infiniteScroll\"\n [virtualRowHeight]=\"$any(rowHeight)\"\n [scrollHeight]=\"$any(scrollHeight)\"\n [rowHover]=\"true\"\n (onLazyLoad)=\"onTableLazyLoad($event)\"\n (onSort)=\"onTableSort($event)\"\n (onFilter)=\"onTableFilter($event)\"\n sortMode=\"multiple\"\n responsiveLayout=\"scroll\">\n\n <ng-template *ngIf=\"captionTemplate || descriptor.title\" pTemplate=\"caption\">\n <ng-container *ngIf=\"captionTemplate; else defaultCaption\">\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultCaption>\n <h5 class=\"p-m-0\">{{ descriptor.title }}</h5>\n </ng-template>\n </ng-template>\n\n <ng-template pTemplate=\"header\">\n <tr>\n <th *ngIf=\"selectionEnabled\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <ng-container *ngFor=\"let col of descriptor.columns\">\n <th *ngIf=\"col.isSortEnabled\" [pSortableColumn]=\"col.property\">\n <div class=\"flex justify-content-between align-items-center\">\n {{ descriptor.model.typeName + \".properties.\" + col.property | translate }}\n <p-sortIcon [field]=\"col.property\"></p-sortIcon>\n <mng-table-column-filter *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"!col.isSortEnabled\">\n {{ descriptor.model.typeName + \".properties.\" + col.property | translate }}\n <ng-container>\n <mng-table-column-filter *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </ng-container>\n </th>\n </ng-container>\n <th *ngIf=\"columnActionTemplate\"></th>\n </tr>\n <tr *ngIf=\"descriptor.filterDisplay === filterDisplayRow\">\n <th *ngFor=\"let col of descriptor.columns\">\n <div class=\"flex\" *ngIf=\"col.filterDescriptor\">\n <mng-table-column-filter [display]=\"descriptor.filterDisplay\" [descriptor]=\"col.filterDescriptor\"></mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"columnActionTemplate\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-item let-idx=\"rowIndex\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td *ngIf=\"selectionEnabled\">\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n <td *ngFor=\"let col of descriptor.columns\" (click)=\"onCellClick(col, item, idx)\" class=\"clickable\">\n <mng-table-column-value [descriptor]=\"col\" [item]=\"item\"></mng-table-column-value>\n </td>\n <td *ngIf=\"columnActionTemplate\" class=\"text-right\">\n <ng-container *ngTemplateOutlet=\"columnActionTemplate; context: { rowItem: item, rowIndex: idx }\"></ng-container>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"loadingbody\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n <div class=\"loading-text\"></div>\n <p-skeleton [ngStyle]=\"{'width': '100%'}\"></p-skeleton>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr [style.height.px]=\"rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n {{ 'mngTable.noItems' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n</div>\n", components: [{ type: i4$3.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollDelay", "virtualRowHeight", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "minBufferPx", "maxBufferPx", "responsiveLayout", "breakpoint", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { type: i4$3.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { type: i4$3.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: ["descriptor", "display"] }, { type: i4$3.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: ["descriptor", "item"] }, { type: i7.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$3.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "async": i6.AsyncPipe, "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
5171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TableComponent, decorators: [{
5225
+ MngTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTableComponent, deps: [{ token: i0.Injector }, { token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: i2.TranslateService }, { token: TableviewComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
5226
+ MngTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngTableComponent, selector: "mng-table", inputs: { descriptor: "descriptor", items: "items", queryResult: "queryResult", loading: "loading", dataProvider: "dataProvider", useQueryParams: "useQueryParams", selectionEnabled: "selectionEnabled" }, outputs: { loadEventEmitter: "onLoad", cellClickEventEmitter: "onCellClick", selectionChangeEventEmitter: "onSelectionChange" }, queries: [{ propertyName: "templates", predicate: MngTemplateDirective }], viewQueries: [{ propertyName: "primeTable", first: true, predicate: Table, descendants: true }], ngImport: i0, template: "<div [style.height]=\"scrollHeight === 'flex' ? 'calc(100vh - ' + descriptor.tableFullHeightOffset + 'px)' : null\">\n <!-- MUST NOT use observable for value when using virtual scroll - does not work for some reason -->\n <p-table *ngIf=\"!useQueryParams || useQueryParamsInitialized\"\n [value]=\"infiniteScroll ? dataProviderInfiniteScrollItems : ((queryResult$ | async)?.pageData ?? [])\"\n [dataKey]=\"$any(descriptor.dataKeyProperty)\"\n [lazy]=\"useDataProvider\"\n [loading]=\"(loading$ | async) ?? false\"\n [paginator]=\"useDataProvider && !infiniteScroll\"\n [rows]=\"$any(infiniteScroll ? 20 : rows)\"\n [first]=\"$any(infiniteScroll ? 0 : offset)\"\n [totalRecords]=\"$any(infiniteScroll ? null : (queryResult$ | async)?.allDataCount ?? 0)\"\n [rowsPerPageOptions]=\"$any(infiniteScroll ? null : rowsPerPageOptions)\"\n [showCurrentPageReport]=\"!infiniteScroll\"\n [currentPageReportTemplate]=\"'mngTable.paginationMsg' | translate\"\n [multiSortMeta]=\"$any(multiSortMeta)\"\n [filters]=\"filterMetadata\"\n [(selection)]=\"selection\"\n (selectionChange)=\"onSelectionChange($event)\"\n [scrollable]=\"infiniteScroll\"\n [virtualScroll]=\"infiniteScroll\"\n [virtualRowHeight]=\"$any(rowHeight)\"\n [scrollHeight]=\"$any(scrollHeight)\"\n [rowHover]=\"true\"\n (onLazyLoad)=\"onTableLazyLoad($event)\"\n (onSort)=\"onTableSort($event)\"\n (onFilter)=\"onTableFilter($event)\"\n sortMode=\"multiple\"\n responsiveLayout=\"scroll\">\n\n <ng-template *ngIf=\"captionTemplate || descriptor.title\" pTemplate=\"caption\">\n <ng-container *ngIf=\"captionTemplate; else defaultCaption\">\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultCaption>\n <h5 class=\"p-m-0\">{{ descriptor.title }}</h5>\n </ng-template>\n </ng-template>\n\n <ng-template pTemplate=\"header\">\n <tr>\n <th *ngIf=\"selectionEnabled\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <ng-container *ngFor=\"let col of descriptor.columns\">\n <th *ngIf=\"col.isSortEnabled\" [pSortableColumn]=\"col.property\">\n <div class=\"flex justify-content-between align-items-center\">\n {{ descriptor.model.typeName + \".properties.\" + col.property | translate }}\n <p-sortIcon [field]=\"col.property\"></p-sortIcon>\n <mng-table-column-filter *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"!col.isSortEnabled\">\n {{ descriptor.model.typeName + \".properties.\" + col.property | translate }}\n <ng-container>\n <mng-table-column-filter *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </ng-container>\n </th>\n </ng-container>\n <th *ngIf=\"columnActionTemplate\"></th>\n </tr>\n <tr *ngIf=\"descriptor.filterDisplay === filterDisplayRow\">\n <th *ngFor=\"let col of descriptor.columns\">\n <div class=\"flex\" *ngIf=\"col.filterDescriptor\">\n <mng-table-column-filter [display]=\"descriptor.filterDisplay\" [descriptor]=\"col.filterDescriptor\"></mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"columnActionTemplate\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-item let-idx=\"rowIndex\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td *ngIf=\"selectionEnabled\">\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n <td *ngFor=\"let col of descriptor.columns\" (click)=\"onCellClick(col, item, idx)\" class=\"clickable\">\n <mng-table-column-value [descriptor]=\"col\" [item]=\"item\"></mng-table-column-value>\n </td>\n <td *ngIf=\"columnActionTemplate\" class=\"text-right\">\n <ng-container *ngTemplateOutlet=\"columnActionTemplate; context: { rowItem: item, rowIndex: idx }\"></ng-container>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"loadingbody\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n <div class=\"loading-text\"></div>\n <p-skeleton [ngStyle]=\"{'width': '100%'}\"></p-skeleton>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr [style.height.px]=\"rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n {{ 'mngTable.noItems' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n</div>\n", components: [{ type: i4$4.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollDelay", "virtualRowHeight", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "minBufferPx", "maxBufferPx", "responsiveLayout", "breakpoint", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { type: i4$4.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { type: i4$4.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: ["descriptor", "display"] }, { type: i4$4.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: ["descriptor", "item"] }, { type: i7.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$4.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "async": i4.AsyncPipe, "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
5227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTableComponent, decorators: [{
5172
5228
  type: Component,
5173
5229
  args: [{ selector: 'mng-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [style.height]=\"scrollHeight === 'flex' ? 'calc(100vh - ' + descriptor.tableFullHeightOffset + 'px)' : null\">\n <!-- MUST NOT use observable for value when using virtual scroll - does not work for some reason -->\n <p-table *ngIf=\"!useQueryParams || useQueryParamsInitialized\"\n [value]=\"infiniteScroll ? dataProviderInfiniteScrollItems : ((queryResult$ | async)?.pageData ?? [])\"\n [dataKey]=\"$any(descriptor.dataKeyProperty)\"\n [lazy]=\"useDataProvider\"\n [loading]=\"(loading$ | async) ?? false\"\n [paginator]=\"useDataProvider && !infiniteScroll\"\n [rows]=\"$any(infiniteScroll ? 20 : rows)\"\n [first]=\"$any(infiniteScroll ? 0 : offset)\"\n [totalRecords]=\"$any(infiniteScroll ? null : (queryResult$ | async)?.allDataCount ?? 0)\"\n [rowsPerPageOptions]=\"$any(infiniteScroll ? null : rowsPerPageOptions)\"\n [showCurrentPageReport]=\"!infiniteScroll\"\n [currentPageReportTemplate]=\"'mngTable.paginationMsg' | translate\"\n [multiSortMeta]=\"$any(multiSortMeta)\"\n [filters]=\"filterMetadata\"\n [(selection)]=\"selection\"\n (selectionChange)=\"onSelectionChange($event)\"\n [scrollable]=\"infiniteScroll\"\n [virtualScroll]=\"infiniteScroll\"\n [virtualRowHeight]=\"$any(rowHeight)\"\n [scrollHeight]=\"$any(scrollHeight)\"\n [rowHover]=\"true\"\n (onLazyLoad)=\"onTableLazyLoad($event)\"\n (onSort)=\"onTableSort($event)\"\n (onFilter)=\"onTableFilter($event)\"\n sortMode=\"multiple\"\n responsiveLayout=\"scroll\">\n\n <ng-template *ngIf=\"captionTemplate || descriptor.title\" pTemplate=\"caption\">\n <ng-container *ngIf=\"captionTemplate; else defaultCaption\">\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultCaption>\n <h5 class=\"p-m-0\">{{ descriptor.title }}</h5>\n </ng-template>\n </ng-template>\n\n <ng-template pTemplate=\"header\">\n <tr>\n <th *ngIf=\"selectionEnabled\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <ng-container *ngFor=\"let col of descriptor.columns\">\n <th *ngIf=\"col.isSortEnabled\" [pSortableColumn]=\"col.property\">\n <div class=\"flex justify-content-between align-items-center\">\n {{ descriptor.model.typeName + \".properties.\" + col.property | translate }}\n <p-sortIcon [field]=\"col.property\"></p-sortIcon>\n <mng-table-column-filter *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"!col.isSortEnabled\">\n {{ descriptor.model.typeName + \".properties.\" + col.property | translate }}\n <ng-container>\n <mng-table-column-filter *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </ng-container>\n </th>\n </ng-container>\n <th *ngIf=\"columnActionTemplate\"></th>\n </tr>\n <tr *ngIf=\"descriptor.filterDisplay === filterDisplayRow\">\n <th *ngFor=\"let col of descriptor.columns\">\n <div class=\"flex\" *ngIf=\"col.filterDescriptor\">\n <mng-table-column-filter [display]=\"descriptor.filterDisplay\" [descriptor]=\"col.filterDescriptor\"></mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"columnActionTemplate\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-item let-idx=\"rowIndex\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td *ngIf=\"selectionEnabled\">\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n <td *ngFor=\"let col of descriptor.columns\" (click)=\"onCellClick(col, item, idx)\" class=\"clickable\">\n <mng-table-column-value [descriptor]=\"col\" [item]=\"item\"></mng-table-column-value>\n </td>\n <td *ngIf=\"columnActionTemplate\" class=\"text-right\">\n <ng-container *ngTemplateOutlet=\"columnActionTemplate; context: { rowItem: item, rowIndex: idx }\"></ng-container>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"loadingbody\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n <div class=\"loading-text\"></div>\n <p-skeleton [ngStyle]=\"{'width': '100%'}\"></p-skeleton>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr [style.height.px]=\"rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n {{ 'mngTable.noItems' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n</div>\n" }]
5174
5230
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1$2.Router }, { type: i1$2.ActivatedRoute }, { type: i2.TranslateService }, { type: TableviewComponentService, decorators: [{
@@ -5198,13 +5254,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
5198
5254
  args: ['onSelectionChange']
5199
5255
  }], templates: [{
5200
5256
  type: ContentChildren,
5201
- args: [TemplateDirective]
5257
+ args: [MngTemplateDirective]
5202
5258
  }], primeTable: [{
5203
5259
  type: ViewChild,
5204
5260
  args: [Table]
5205
5261
  }] } });
5206
5262
 
5207
- class FormlyFieldTableDialogFormComponent extends FieldType {
5263
+ class MngFormlyFieldTableDialogFormComponent extends FieldType {
5208
5264
  constructor() {
5209
5265
  super(...arguments);
5210
5266
  this.itemsSubject = new ReplaySubject(1);
@@ -5295,14 +5351,14 @@ class FormlyFieldTableDialogFormComponent extends FieldType {
5295
5351
  this.subscriptions.forEach(s => s.unsubscribe());
5296
5352
  }
5297
5353
  }
5298
- FormlyFieldTableDialogFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldTableDialogFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5299
- FormlyFieldTableDialogFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyFieldTableDialogFormComponent, selector: "mng-formly-table-dialog-form-field", usesInheritance: true, ngImport: i0, template: "<mng-table [descriptor]=\"descriptor.tableDescriptor\" [items]=\"items$\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end table-header\">\n <label class=\"mng-datatable-form-label p-m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <mng-action *ngFor=\"let action of toolbarActions\" [action]=\"action\"></mng-action>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\" let-idx=\"rowIndex\">\n <mng-action *ngFor=\"let action of rowActions\"\n [action]=\"action\" [item]=\"item\" [itemId]=\"descriptor.tableviewDescriptor.model.idPropertyName ? item[descriptor.tableviewDescriptor.model.idPropertyName] : undefined\" [actionData]=\"{ itemIndex: idx }\">\n </mng-action>\n </ng-template>\n</mng-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"], components: [{ type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionEnabled"], outputs: ["onLoad", "onCellClick", "onSelectionChange"] }, { type: ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData"] }], directives: [{ type: TemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
5300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldTableDialogFormComponent, decorators: [{
5354
+ MngFormlyFieldTableDialogFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldTableDialogFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5355
+ MngFormlyFieldTableDialogFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngFormlyFieldTableDialogFormComponent, selector: "mng-formly-table-dialog-form-field", usesInheritance: true, ngImport: i0, template: "<mng-table [descriptor]=\"descriptor.tableDescriptor\" [items]=\"items$\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end table-header\">\n <label class=\"mng-datatable-form-label p-m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <mng-action *ngFor=\"let action of toolbarActions\" [action]=\"action\"></mng-action>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\" let-idx=\"rowIndex\">\n <mng-action *ngFor=\"let action of rowActions\"\n [action]=\"action\" [item]=\"item\" [itemId]=\"descriptor.tableviewDescriptor.model.idPropertyName ? item[descriptor.tableviewDescriptor.model.idPropertyName] : undefined\" [actionData]=\"{ itemIndex: idx }\">\n </mng-action>\n </ng-template>\n</mng-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"], components: [{ type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionEnabled"], outputs: ["onLoad", "onCellClick", "onSelectionChange"] }, { type: MngActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData"] }], directives: [{ type: MngTemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
5356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldTableDialogFormComponent, decorators: [{
5301
5357
  type: Component,
5302
5358
  args: [{ selector: 'mng-formly-table-dialog-form-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-table [descriptor]=\"descriptor.tableDescriptor\" [items]=\"items$\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end table-header\">\n <label class=\"mng-datatable-form-label p-m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <mng-action *ngFor=\"let action of toolbarActions\" [action]=\"action\"></mng-action>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\" let-idx=\"rowIndex\">\n <mng-action *ngFor=\"let action of rowActions\"\n [action]=\"action\" [item]=\"item\" [itemId]=\"descriptor.tableviewDescriptor.model.idPropertyName ? item[descriptor.tableviewDescriptor.model.idPropertyName] : undefined\" [actionData]=\"{ itemIndex: idx }\">\n </mng-action>\n </ng-template>\n</mng-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"] }]
5303
5359
  }] });
5304
5360
 
5305
- class FormlyFieldTableDialogMultiselectComponent extends FieldType {
5361
+ class MngFormlyFieldTableDialogMultiselectComponent extends FieldType {
5306
5362
  constructor(injector) {
5307
5363
  super();
5308
5364
  this.injector = injector;
@@ -5401,32 +5457,32 @@ class FormlyFieldTableDialogMultiselectComponent extends FieldType {
5401
5457
  }
5402
5458
  }
5403
5459
  }
5404
- FormlyFieldTableDialogMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldTableDialogMultiselectComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
5405
- FormlyFieldTableDialogMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyFieldTableDialogMultiselectComponent, selector: "mng-formly-table-multiselect-add-field", usesInheritance: true, ngImport: i0, template: "<mng-table [descriptor]=\"descriptor.mainTableDescriptor\" [items]=\"itemsAsync\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end table-header\">\n <label class=\"mng-datatable-form-label p-m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <button *ngIf=\"hasAddAction && !formControl.disabled\" pButton pRipple type=\"button\" icon=\"pi pi-plus\" class=\"p-button-rounded p-button-success\"\n (click)=\"openAddDialog()\">\n </button>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n <button *ngIf=\"hasDeleteAction && !formControl.disabled\" pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-danger\"\n (click)=\"removeItem(item)\">\n </button>\n </ng-template>\n</mng-table>\n\n<p-dialog *ngIf=\"hasAddAction\" [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.addItem' | translate: {item: to?.label!}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"p-fluid mng-formly-field-table-multiselect-dialog\">\n <ng-template pTemplate=\"content\">\n <mng-table [descriptor]=\"descriptor.mainTableDescriptor\"\n [queryResult]=\"addItemsAsync\"\n [selectionEnabled]=\"true\"\n [loading]=\"dialogIsLoading$\"\n (onSelectionChange)=\"onSelectionChange($event)\">\n </mng-table>\n <p-messages [value]=\"dialogMessages\"></p-messages>\n </ng-template>\n\n <ng-template pTemplate=\"footer\">\n <button pButton pRipple type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"hideDialog()\"></button>\n <button pButton pRipple type=\"button\" [label]=\"'general.add' | translate\" icon=\"pi pi-check\" class=\"p-button-text\" (click)=\"addItems()\" [loading]=\"(dialogIsLoading$ | async) ?? false\" [disabled]=\"form.disabled\"></button>\n </ng-template>\n</p-dialog>\n", components: [{ type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionEnabled"], outputs: ["onLoad", "onCellClick", "onSelectionChange"] }, { type: i2$7.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { type: i3$1.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange"] }], directives: [{ type: TemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i9.Ripple, selector: "[pRipple]" }, { type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], pipes: { "translate": i2.TranslatePipe, "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
5406
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldTableDialogMultiselectComponent, decorators: [{
5460
+ MngFormlyFieldTableDialogMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldTableDialogMultiselectComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
5461
+ MngFormlyFieldTableDialogMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngFormlyFieldTableDialogMultiselectComponent, selector: "mng-formly-table-multiselect-add-field", usesInheritance: true, ngImport: i0, template: "<mng-table [descriptor]=\"descriptor.mainTableDescriptor\" [items]=\"itemsAsync\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end table-header\">\n <label class=\"mng-datatable-form-label p-m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <button *ngIf=\"hasAddAction && !formControl.disabled\" pButton pRipple type=\"button\" icon=\"pi pi-plus\" class=\"p-button-rounded p-button-success\"\n (click)=\"openAddDialog()\">\n </button>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n <button *ngIf=\"hasDeleteAction && !formControl.disabled\" pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-danger\"\n (click)=\"removeItem(item)\">\n </button>\n </ng-template>\n</mng-table>\n\n<p-dialog *ngIf=\"hasAddAction\" [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.addItem' | translate: {item: to?.label!}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"p-fluid mng-formly-field-table-multiselect-dialog\">\n <ng-template pTemplate=\"content\">\n <mng-table [descriptor]=\"descriptor.mainTableDescriptor\"\n [queryResult]=\"addItemsAsync\"\n [selectionEnabled]=\"true\"\n [loading]=\"dialogIsLoading$\"\n (onSelectionChange)=\"onSelectionChange($event)\">\n </mng-table>\n <p-messages [value]=\"dialogMessages\"></p-messages>\n </ng-template>\n\n <ng-template pTemplate=\"footer\">\n <button pButton pRipple type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"hideDialog()\"></button>\n <button pButton pRipple type=\"button\" [label]=\"'general.add' | translate\" icon=\"pi pi-check\" class=\"p-button-text\" (click)=\"addItems()\" [loading]=\"(dialogIsLoading$ | async) ?? false\" [disabled]=\"form.disabled\"></button>\n </ng-template>\n</p-dialog>\n", components: [{ type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionEnabled"], outputs: ["onLoad", "onCellClick", "onSelectionChange"] }, { type: i2$7.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { type: i3$1.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange"] }], directives: [{ type: MngTemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i9.Ripple, selector: "[pRipple]" }, { type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], pipes: { "translate": i2.TranslatePipe, "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
5462
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldTableDialogMultiselectComponent, decorators: [{
5407
5463
  type: Component,
5408
5464
  args: [{ selector: 'mng-formly-table-multiselect-add-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-table [descriptor]=\"descriptor.mainTableDescriptor\" [items]=\"itemsAsync\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end table-header\">\n <label class=\"mng-datatable-form-label p-m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <button *ngIf=\"hasAddAction && !formControl.disabled\" pButton pRipple type=\"button\" icon=\"pi pi-plus\" class=\"p-button-rounded p-button-success\"\n (click)=\"openAddDialog()\">\n </button>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n <button *ngIf=\"hasDeleteAction && !formControl.disabled\" pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-danger\"\n (click)=\"removeItem(item)\">\n </button>\n </ng-template>\n</mng-table>\n\n<p-dialog *ngIf=\"hasAddAction\" [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.addItem' | translate: {item: to?.label!}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"p-fluid mng-formly-field-table-multiselect-dialog\">\n <ng-template pTemplate=\"content\">\n <mng-table [descriptor]=\"descriptor.mainTableDescriptor\"\n [queryResult]=\"addItemsAsync\"\n [selectionEnabled]=\"true\"\n [loading]=\"dialogIsLoading$\"\n (onSelectionChange)=\"onSelectionChange($event)\">\n </mng-table>\n <p-messages [value]=\"dialogMessages\"></p-messages>\n </ng-template>\n\n <ng-template pTemplate=\"footer\">\n <button pButton pRipple type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"hideDialog()\"></button>\n <button pButton pRipple type=\"button\" [label]=\"'general.add' | translate\" icon=\"pi pi-check\" class=\"p-button-text\" (click)=\"addItems()\" [loading]=\"(dialogIsLoading$ | async) ?? false\" [disabled]=\"form.disabled\"></button>\n </ng-template>\n</p-dialog>\n" }]
5409
5465
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
5410
5466
 
5411
- class FormlyFieldTabsComponent extends FieldType {
5467
+ class MngFormlyFieldTabsComponent extends FieldType {
5412
5468
  }
5413
- FormlyFieldTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5414
- FormlyFieldTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyFieldTabsComponent, selector: "mng-formly-field-tabs", usesInheritance: true, ngImport: i0, template: "<p-tabView>\n <p-tabPanel *ngFor=\"let tab of field.fieldGroup; let i = index; let last = last;\"\n [header]=\"tab.templateOptions?.label!\"\n [headerStyleClass]=\"formControl.valid ? 'p-tabview-title' : 'bla'\">\n <ng-template pTemplate=\"header\">\n <span class=\"p-tabview-title\" [class.p-tabview-title-error]=\"formState.submittedOn && formState['tab_' + (tab.id ? tab.id : tab.templateOptions?.label!) + '_invalid']\">{{ tab.templateOptions?.label! | translate }}</span>\n </ng-template>\n <formly-field [field]=\"tab\"></formly-field>\n </p-tabPanel>\n</p-tabView>\n", components: [{ type: i1$4.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { type: i1$4.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { type: i3.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
5415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldTabsComponent, decorators: [{
5469
+ MngFormlyFieldTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5470
+ MngFormlyFieldTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngFormlyFieldTabsComponent, selector: "mng-formly-field-tabs", usesInheritance: true, ngImport: i0, template: "<p-tabView>\n <p-tabPanel *ngFor=\"let tab of field.fieldGroup; let i = index; let last = last;\"\n [header]=\"tab.templateOptions?.label!\"\n [headerStyleClass]=\"formControl.valid ? 'p-tabview-title' : 'bla'\">\n <ng-template pTemplate=\"header\">\n <span class=\"p-tabview-title\" [class.p-tabview-title-error]=\"formState.submittedOn && formState['tab_' + (tab.id ? tab.id : tab.templateOptions?.label!) + '_invalid']\">{{ tab.templateOptions?.label! | translate }}</span>\n </ng-template>\n <formly-field [field]=\"tab\"></formly-field>\n </p-tabPanel>\n</p-tabView>\n", components: [{ type: i1$4.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { type: i1$4.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { type: i3.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
5471
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldTabsComponent, decorators: [{
5416
5472
  type: Component,
5417
5473
  args: [{ selector: 'mng-formly-field-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-tabView>\n <p-tabPanel *ngFor=\"let tab of field.fieldGroup; let i = index; let last = last;\"\n [header]=\"tab.templateOptions?.label!\"\n [headerStyleClass]=\"formControl.valid ? 'p-tabview-title' : 'bla'\">\n <ng-template pTemplate=\"header\">\n <span class=\"p-tabview-title\" [class.p-tabview-title-error]=\"formState.submittedOn && formState['tab_' + (tab.id ? tab.id : tab.templateOptions?.label!) + '_invalid']\">{{ tab.templateOptions?.label! | translate }}</span>\n </ng-template>\n <formly-field [field]=\"tab\"></formly-field>\n </p-tabPanel>\n</p-tabView>\n" }]
5418
5474
  }] });
5419
5475
 
5420
- class FormlyFieldFieldsetComponent extends FieldType {
5476
+ class MngFormlyFieldFieldsetComponent extends FieldType {
5421
5477
  }
5422
- FormlyFieldFieldsetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldFieldsetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5423
- FormlyFieldFieldsetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyFieldFieldsetComponent, selector: "mng-formly-field-fieldset", usesInheritance: true, ngImport: i0, template: "<ng-container *ngFor=\"let group of field.fieldGroup; let i = index; let last = last;\">\n <p-fieldset *ngIf=\"!group.templateOptions?.['descriptor']?.default; else defaultSet\" [legend]=\"group.templateOptions?.label! | translate\">\n <formly-field [field]=\"group\"></formly-field>\n </p-fieldset>\n <ng-template #defaultSet>\n <formly-field [field]=\"group\"></formly-field>\n </ng-template>\n</ng-container>\n", components: [{ type: i1$5.Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { type: i3.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
5424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldFieldsetComponent, decorators: [{
5478
+ MngFormlyFieldFieldsetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldFieldsetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5479
+ MngFormlyFieldFieldsetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngFormlyFieldFieldsetComponent, selector: "mng-formly-field-fieldset", usesInheritance: true, ngImport: i0, template: "<ng-container *ngFor=\"let group of field.fieldGroup; let i = index; let last = last;\">\n <p-fieldset *ngIf=\"!group.templateOptions?.['descriptor']?.default; else defaultSet\" [legend]=\"group.templateOptions?.label! | translate\">\n <formly-field [field]=\"group\"></formly-field>\n </p-fieldset>\n <ng-template #defaultSet>\n <formly-field [field]=\"group\"></formly-field>\n </ng-template>\n</ng-container>\n", components: [{ type: i1$5.Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { type: i3.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
5480
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngFormlyFieldFieldsetComponent, decorators: [{
5425
5481
  type: Component,
5426
5482
  args: [{ selector: 'mng-formly-field-fieldset', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let group of field.fieldGroup; let i = index; let last = last;\">\n <p-fieldset *ngIf=\"!group.templateOptions?.['descriptor']?.default; else defaultSet\" [legend]=\"group.templateOptions?.label! | translate\">\n <formly-field [field]=\"group\"></formly-field>\n </p-fieldset>\n <ng-template #defaultSet>\n <formly-field [field]=\"group\"></formly-field>\n </ng-template>\n</ng-container>\n" }]
5427
5483
  }] });
5428
5484
 
5429
- class TableviewComponent {
5485
+ class MngTableviewComponent {
5430
5486
  constructor(route, messageService, translateService, dialogService, confirmationService, actionService, tableviewService) {
5431
5487
  this.route = route;
5432
5488
  this.messageService = messageService;
@@ -5474,11 +5530,11 @@ class TableviewComponent {
5474
5530
  }
5475
5531
  }
5476
5532
  }
5477
- TableviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TableviewComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i2$3.MessageService }, { token: i2.TranslateService }, { token: i2$4.DialogService }, { token: i2$3.ConfirmationService }, { token: MngActionService }, { token: TableviewComponentService }], target: i0.ɵɵFactoryTarget.Component });
5478
- TableviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: TableviewComponent, selector: "mng-tableview", inputs: { descriptor: "descriptor", dataProvider: "dataProvider", actions: "actions" }, providers: [MessageService, ConfirmationService, TableviewComponentService], viewQueries: [{ propertyName: "tableComponent", first: true, predicate: TableComponent, descendants: true }], ngImport: i0, template: "<div class=\"mng-tableview\">\n\t<p-toast></p-toast>\n\n\t<div class=\"card\">\n\t\t<p-toolbar styleClass=\"mb-4\">\n\t\t\t<ng-template pTemplate=\"left\">\n\t\t\t\t<mng-action *ngFor=\"let action of toolbarLeftActions\"\n\t\t\t\t\t\t\t[action]=\"action\">\n\t\t\t\t</mng-action>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template pTemplate=\"right\">\n\t\t\t\t<mng-action *ngFor=\"let action of toolbarRightActions\"\n\t\t\t\t\t\t\t[action]=\"action\">\n\t\t\t\t</mng-action>\n\t\t\t</ng-template>\n\t\t</p-toolbar>\n\n\t\t<mng-table [descriptor]=\"descriptor.table\"\n\t\t\t\t [dataProvider]=\"dataProvider\"\n\t\t\t\t [useQueryParams]=\"true\"\n\t\t\t\t (onCellClick)=\"onTableCellClick($event)\">\n\t\t\t<ng-template mngTemplate=\"caption\">\n\t\t\t\t<div class=\"flex flex-column md:flex-row md:justify-content-between table-header\">\n\t\t\t\t\t<h5 class=\"p-m-0\">{{ descriptor.tableTitle | translate }}</h5>\n\t\t\t\t\t<span class=\"p-input-icon-left\">\n\t\t\t\t\t\t<i class=\"pi pi-search\"></i>\n\t\t\t\t\t\t<input pInputText type=\"text\" [placeholder]=\"'mngTable.search' | translate\" />\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n\t\t\t\t<mng-action *ngFor=\"let action of rowInlineActions\"\n\t\t\t\t\t\t\t[action]=\"action\" [item]=\"item\" [itemId]=\"descriptor.model.idPropertyName ? item[descriptor.model.idPropertyName] : null\">\n\t\t\t\t</mng-action>\n\t\t\t</ng-template>\n\t\t</mng-table>\n\t</div>\n\n\t<router-outlet></router-outlet>\n</div>\n", components: [{ type: i7$1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { type: i8$1.Toolbar, selector: "p-toolbar", inputs: ["style", "styleClass"] }, { type: ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData"] }, { type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionEnabled"], outputs: ["onLoad", "onCellClick", "onSelectionChange"] }], directives: [{ type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: TemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { type: i9$1.InputText, selector: "[pInputText]" }, { type: i1$2.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "translate": i2.TranslatePipe } });
5479
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TableviewComponent, decorators: [{
5533
+ MngTableviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTableviewComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i2$3.MessageService }, { token: i2.TranslateService }, { token: i2$4.DialogService }, { token: i2$3.ConfirmationService }, { token: MngActionService }, { token: TableviewComponentService }], target: i0.ɵɵFactoryTarget.Component });
5534
+ MngTableviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MngTableviewComponent, selector: "mng-tableview", inputs: { descriptor: "descriptor", dataProvider: "dataProvider", actions: "actions" }, providers: [MessageService, ConfirmationService, TableviewComponentService], viewQueries: [{ propertyName: "tableComponent", first: true, predicate: MngTableComponent, descendants: true }], ngImport: i0, template: "<div class=\"mng-tableview\">\n\t<p-toast></p-toast>\n\n\t<div class=\"card\">\n\t\t<p-toolbar styleClass=\"mb-4\" *ngIf=\"toolbarLeftActions.length > 0 || toolbarRightActions.length > 0\">\n\t\t\t<ng-template pTemplate=\"left\">\n\t\t\t\t<mng-action *ngFor=\"let action of toolbarLeftActions\"\n\t\t\t\t\t\t\t[action]=\"action\">\n\t\t\t\t</mng-action>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template pTemplate=\"right\">\n\t\t\t\t<mng-action *ngFor=\"let action of toolbarRightActions\"\n\t\t\t\t\t\t\t[action]=\"action\">\n\t\t\t\t</mng-action>\n\t\t\t</ng-template>\n\t\t</p-toolbar>\n\n\t\t<mng-table [descriptor]=\"descriptor.table\"\n\t\t\t\t [dataProvider]=\"dataProvider\"\n\t\t\t\t [useQueryParams]=\"true\"\n\t\t\t\t (onCellClick)=\"onTableCellClick($event)\">\n\t\t\t<ng-template mngTemplate=\"caption\">\n\t\t\t\t<div class=\"flex flex-column md:flex-row md:justify-content-between table-header\">\n\t\t\t\t\t<h5 class=\"p-m-0\">{{ descriptor.tableTitle | translate }}</h5>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n\t\t\t\t<mng-action *ngFor=\"let action of rowInlineActions\"\n\t\t\t\t\t\t\t[action]=\"action\" [item]=\"item\" [itemId]=\"descriptor.model.idPropertyName ? item[descriptor.model.idPropertyName] : null\">\n\t\t\t\t</mng-action>\n\t\t\t</ng-template>\n\t\t</mng-table>\n\t</div>\n\n\t<router-outlet></router-outlet>\n</div>\n", components: [{ type: i7$1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { type: i8$1.Toolbar, selector: "p-toolbar", inputs: ["style", "styleClass"] }, { type: MngActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData"] }, { type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionEnabled"], outputs: ["onLoad", "onCellClick", "onSelectionChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: MngTemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { type: i1$2.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "translate": i2.TranslatePipe } });
5535
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngTableviewComponent, decorators: [{
5480
5536
  type: Component,
5481
- args: [{ selector: 'mng-tableview', providers: [MessageService, ConfirmationService, TableviewComponentService], template: "<div class=\"mng-tableview\">\n\t<p-toast></p-toast>\n\n\t<div class=\"card\">\n\t\t<p-toolbar styleClass=\"mb-4\">\n\t\t\t<ng-template pTemplate=\"left\">\n\t\t\t\t<mng-action *ngFor=\"let action of toolbarLeftActions\"\n\t\t\t\t\t\t\t[action]=\"action\">\n\t\t\t\t</mng-action>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template pTemplate=\"right\">\n\t\t\t\t<mng-action *ngFor=\"let action of toolbarRightActions\"\n\t\t\t\t\t\t\t[action]=\"action\">\n\t\t\t\t</mng-action>\n\t\t\t</ng-template>\n\t\t</p-toolbar>\n\n\t\t<mng-table [descriptor]=\"descriptor.table\"\n\t\t\t\t [dataProvider]=\"dataProvider\"\n\t\t\t\t [useQueryParams]=\"true\"\n\t\t\t\t (onCellClick)=\"onTableCellClick($event)\">\n\t\t\t<ng-template mngTemplate=\"caption\">\n\t\t\t\t<div class=\"flex flex-column md:flex-row md:justify-content-between table-header\">\n\t\t\t\t\t<h5 class=\"p-m-0\">{{ descriptor.tableTitle | translate }}</h5>\n\t\t\t\t\t<span class=\"p-input-icon-left\">\n\t\t\t\t\t\t<i class=\"pi pi-search\"></i>\n\t\t\t\t\t\t<input pInputText type=\"text\" [placeholder]=\"'mngTable.search' | translate\" />\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n\t\t\t\t<mng-action *ngFor=\"let action of rowInlineActions\"\n\t\t\t\t\t\t\t[action]=\"action\" [item]=\"item\" [itemId]=\"descriptor.model.idPropertyName ? item[descriptor.model.idPropertyName] : null\">\n\t\t\t\t</mng-action>\n\t\t\t</ng-template>\n\t\t</mng-table>\n\t</div>\n\n\t<router-outlet></router-outlet>\n</div>\n" }]
5537
+ args: [{ selector: 'mng-tableview', providers: [MessageService, ConfirmationService, TableviewComponentService], template: "<div class=\"mng-tableview\">\n\t<p-toast></p-toast>\n\n\t<div class=\"card\">\n\t\t<p-toolbar styleClass=\"mb-4\" *ngIf=\"toolbarLeftActions.length > 0 || toolbarRightActions.length > 0\">\n\t\t\t<ng-template pTemplate=\"left\">\n\t\t\t\t<mng-action *ngFor=\"let action of toolbarLeftActions\"\n\t\t\t\t\t\t\t[action]=\"action\">\n\t\t\t\t</mng-action>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template pTemplate=\"right\">\n\t\t\t\t<mng-action *ngFor=\"let action of toolbarRightActions\"\n\t\t\t\t\t\t\t[action]=\"action\">\n\t\t\t\t</mng-action>\n\t\t\t</ng-template>\n\t\t</p-toolbar>\n\n\t\t<mng-table [descriptor]=\"descriptor.table\"\n\t\t\t\t [dataProvider]=\"dataProvider\"\n\t\t\t\t [useQueryParams]=\"true\"\n\t\t\t\t (onCellClick)=\"onTableCellClick($event)\">\n\t\t\t<ng-template mngTemplate=\"caption\">\n\t\t\t\t<div class=\"flex flex-column md:flex-row md:justify-content-between table-header\">\n\t\t\t\t\t<h5 class=\"p-m-0\">{{ descriptor.tableTitle | translate }}</h5>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n\t\t\t\t<mng-action *ngFor=\"let action of rowInlineActions\"\n\t\t\t\t\t\t\t[action]=\"action\" [item]=\"item\" [itemId]=\"descriptor.model.idPropertyName ? item[descriptor.model.idPropertyName] : null\">\n\t\t\t\t</mng-action>\n\t\t\t</ng-template>\n\t\t</mng-table>\n\t</div>\n\n\t<router-outlet></router-outlet>\n</div>\n" }]
5482
5538
  }], ctorParameters: function () { return [{ type: i1$2.ActivatedRoute }, { type: i2$3.MessageService }, { type: i2.TranslateService }, { type: i2$4.DialogService }, { type: i2$3.ConfirmationService }, { type: MngActionService }, { type: TableviewComponentService }]; }, propDecorators: { descriptor: [{
5483
5539
  type: Input
5484
5540
  }], dataProvider: [{
@@ -5487,7 +5543,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
5487
5543
  type: Input
5488
5544
  }], tableComponent: [{
5489
5545
  type: ViewChild,
5490
- args: [TableComponent]
5546
+ args: [MngTableComponent]
5491
5547
  }] } });
5492
5548
 
5493
5549
  class AMngTableviewRouteComponent {
@@ -5511,6 +5567,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
5511
5567
  type: Directive
5512
5568
  }], ctorParameters: function () { return []; } });
5513
5569
 
5570
+ function mngCommonsInitializerProvider(mngCommons) {
5571
+ return () => mngCommons.initialize();
5572
+ }
5573
+
5514
5574
  const mngConfigurationServiceProvider = (httpClient, moduleConfig) => {
5515
5575
  const service = MngConfigurationService.init(httpClient);
5516
5576
  if (moduleConfig?.configuration?.projectEnvironment) {
@@ -5519,17 +5579,24 @@ const mngConfigurationServiceProvider = (httpClient, moduleConfig) => {
5519
5579
  return service;
5520
5580
  };
5521
5581
  function mngConfigJsonAppInitializerProvider(configService, moduleConfig) {
5522
- return () => configService.addJsonSource(moduleConfig?.configuration?.jsonSource ?? undefined);
5582
+ return () => {
5583
+ if (moduleConfig?.configuration?.skipJsonSourceInit) {
5584
+ return of(false);
5585
+ }
5586
+ else {
5587
+ return configService.addJsonSource(moduleConfig?.configuration?.jsonSource ?? undefined);
5588
+ }
5589
+ };
5523
5590
  }
5524
5591
 
5525
5592
  const formlyWrappersConfig = [
5526
- { name: 'field', component: FormlyFieldWrapperComponent },
5527
- { name: 'field-table', component: FormlyTableWrapperComponent }
5593
+ { name: 'field', component: MngFormlyFieldWrapperComponent },
5594
+ { name: 'field-table', component: MngFormlyTableWrapperComponent }
5528
5595
  ];
5529
5596
  const formlyTypesConfig = [
5530
5597
  {
5531
5598
  name: 'input',
5532
- component: FormlyFieldInputComponent,
5599
+ component: MngFormlyFieldInputComponent,
5533
5600
  wrappers: ['field'],
5534
5601
  },
5535
5602
  { name: 'string', extends: 'input' },
@@ -5562,7 +5629,7 @@ const formlyTypesConfig = [
5562
5629
  },
5563
5630
  {
5564
5631
  name: 'switch',
5565
- component: FormlyFieldInputComponent,
5632
+ component: MngFormlyFieldInputComponent,
5566
5633
  defaultOptions: {
5567
5634
  templateOptions: {
5568
5635
  type: 'switch',
@@ -5589,33 +5656,33 @@ const formlyTypesConfig = [
5589
5656
  },
5590
5657
  {
5591
5658
  name: 'dropdown',
5592
- component: FormlyFieldDropdownComponent,
5659
+ component: MngFormlyFieldDropdownComponent,
5593
5660
  wrappers: ['field'],
5594
5661
  },
5595
5662
  { name: 'enum', extends: 'dropdown' },
5596
5663
  {
5597
5664
  name: 'autocomplete',
5598
- component: FormlyFieldAutocompleteComponent,
5665
+ component: MngFormlyFieldAutocompleteComponent,
5599
5666
  wrappers: ['field']
5600
5667
  },
5601
5668
  {
5602
5669
  name: 'table-dialog-multiselect',
5603
- component: FormlyFieldTableDialogMultiselectComponent,
5670
+ component: MngFormlyFieldTableDialogMultiselectComponent,
5604
5671
  wrappers: ['field-table']
5605
5672
  },
5606
5673
  {
5607
5674
  name: 'table-dialog-form',
5608
- component: FormlyFieldTableDialogFormComponent,
5675
+ component: MngFormlyFieldTableDialogFormComponent,
5609
5676
  wrappers: ['field-table']
5610
5677
  },
5611
5678
  {
5612
5679
  name: 'tabs',
5613
- component: FormlyFieldTabsComponent,
5680
+ component: MngFormlyFieldTabsComponent,
5614
5681
  wrappers: []
5615
5682
  },
5616
5683
  {
5617
5684
  name: 'fieldset',
5618
- component: FormlyFieldFieldsetComponent,
5685
+ component: MngFormlyFieldFieldsetComponent,
5619
5686
  wrappers: []
5620
5687
  }
5621
5688
  ];
@@ -5686,10 +5753,6 @@ function mngFormlyConfigProvider(translate, moduleConfig = {}) {
5686
5753
  };
5687
5754
  }
5688
5755
 
5689
- function mngCommonsInitializerProvider(mngCommons) {
5690
- return () => mngCommons.initialize();
5691
- }
5692
-
5693
5756
  // primeng modules
5694
5757
  const primeNgModules = [
5695
5758
  AutoCompleteModule,
@@ -5728,10 +5791,11 @@ const primeNgModules = [
5728
5791
  ];
5729
5792
  const declarations = [
5730
5793
  // directives
5731
- TemplateDirective,
5794
+ MngComponentDirective,
5795
+ MngTemplateDirective,
5732
5796
  // pipes
5733
- PropertyPathPipe,
5734
- BooleanPipe,
5797
+ MngPropertyPathPipe,
5798
+ MngBooleanPipe,
5735
5799
  // layout components
5736
5800
  MngBreadcrumbComponent,
5737
5801
  MngFooterComponent,
@@ -5743,26 +5807,26 @@ const declarations = [
5743
5807
  MngAutocompleteComponent,
5744
5808
  MngDropdownComponent,
5745
5809
  // formly wrappers
5746
- FormlyFieldWrapperComponent,
5747
- FormlyTableWrapperComponent,
5810
+ MngFormlyFieldWrapperComponent,
5811
+ MngFormlyTableWrapperComponent,
5748
5812
  // formly fields
5749
- FormlyFieldInputComponent,
5750
- FormlyFieldDropdownComponent,
5751
- FormlyFieldAutocompleteComponent,
5752
- FormlyFieldTableDialogMultiselectComponent,
5753
- FormlyFieldTableDialogFormComponent,
5754
- FormlyFieldTabsComponent,
5755
- FormlyFieldFieldsetComponent,
5813
+ MngFormlyFieldInputComponent,
5814
+ MngFormlyFieldDropdownComponent,
5815
+ MngFormlyFieldAutocompleteComponent,
5816
+ MngFormlyFieldTableDialogMultiselectComponent,
5817
+ MngFormlyFieldTableDialogFormComponent,
5818
+ MngFormlyFieldTabsComponent,
5819
+ MngFormlyFieldFieldsetComponent,
5756
5820
  // table components
5757
- TableComponent,
5758
- TableviewComponent,
5821
+ MngTableComponent,
5822
+ MngTableviewComponent,
5759
5823
  MngTableColumnValueComponent,
5760
5824
  MngTableColumnFilterComponent,
5761
5825
  // editor components
5762
- FormEditorComponent,
5763
- ActionComponent,
5764
- ActionDialogComponent,
5765
- ActionRouteComponent
5826
+ MngFormEditorComponent,
5827
+ MngActionComponent,
5828
+ MngActionDialogComponent,
5829
+ MngActionRouteComponent
5766
5830
  ];
5767
5831
  class MngCommonsModule {
5768
5832
  static forRoot(config) {
@@ -5777,7 +5841,7 @@ class MngCommonsModule {
5777
5841
  MngNavigationService,
5778
5842
  MngCommonsService,
5779
5843
  // component service
5780
- MainLayoutComponentService,
5844
+ MngMainLayoutComponentService,
5781
5845
  TableviewComponentService,
5782
5846
  {
5783
5847
  provide: MNG_MODULE_CONFIG_IT,
@@ -5817,10 +5881,11 @@ class MngCommonsModule {
5817
5881
  MngCommonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngCommonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5818
5882
  MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngCommonsModule, declarations: [
5819
5883
  // directives
5820
- TemplateDirective,
5884
+ MngComponentDirective,
5885
+ MngTemplateDirective,
5821
5886
  // pipes
5822
- PropertyPathPipe,
5823
- BooleanPipe,
5887
+ MngPropertyPathPipe,
5888
+ MngBooleanPipe,
5824
5889
  // layout components
5825
5890
  MngBreadcrumbComponent,
5826
5891
  MngFooterComponent,
@@ -5832,26 +5897,26 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
5832
5897
  MngAutocompleteComponent,
5833
5898
  MngDropdownComponent,
5834
5899
  // formly wrappers
5835
- FormlyFieldWrapperComponent,
5836
- FormlyTableWrapperComponent,
5900
+ MngFormlyFieldWrapperComponent,
5901
+ MngFormlyTableWrapperComponent,
5837
5902
  // formly fields
5838
- FormlyFieldInputComponent,
5839
- FormlyFieldDropdownComponent,
5840
- FormlyFieldAutocompleteComponent,
5841
- FormlyFieldTableDialogMultiselectComponent,
5842
- FormlyFieldTableDialogFormComponent,
5843
- FormlyFieldTabsComponent,
5844
- FormlyFieldFieldsetComponent,
5903
+ MngFormlyFieldInputComponent,
5904
+ MngFormlyFieldDropdownComponent,
5905
+ MngFormlyFieldAutocompleteComponent,
5906
+ MngFormlyFieldTableDialogMultiselectComponent,
5907
+ MngFormlyFieldTableDialogFormComponent,
5908
+ MngFormlyFieldTabsComponent,
5909
+ MngFormlyFieldFieldsetComponent,
5845
5910
  // table components
5846
- TableComponent,
5847
- TableviewComponent,
5911
+ MngTableComponent,
5912
+ MngTableviewComponent,
5848
5913
  MngTableColumnValueComponent,
5849
5914
  MngTableColumnFilterComponent,
5850
5915
  // editor components
5851
- FormEditorComponent,
5852
- ActionComponent,
5853
- ActionDialogComponent,
5854
- ActionRouteComponent], imports: [
5916
+ MngFormEditorComponent,
5917
+ MngActionComponent,
5918
+ MngActionDialogComponent,
5919
+ MngActionRouteComponent], imports: [
5855
5920
  // angular modules
5856
5921
  CommonModule,
5857
5922
  RouterModule,
@@ -5888,12 +5953,45 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
5888
5953
  TabViewModule,
5889
5954
  FieldsetModule,
5890
5955
  MultiSelectModule,
5891
- SkeletonModule], exports: [
5956
+ SkeletonModule], exports: [AutoCompleteModule,
5957
+ BreadcrumbModule,
5958
+ ButtonModule,
5959
+ CalendarModule,
5960
+ CardModule,
5961
+ CheckboxModule,
5962
+ ChipModule,
5963
+ ConfirmDialogModule,
5964
+ ConfirmPopupModule,
5965
+ DialogModule,
5966
+ DynamicDialogModule,
5967
+ DropdownModule,
5968
+ InputNumberModule,
5969
+ InputMaskModule,
5970
+ InputSwitchModule,
5971
+ InputTextModule,
5972
+ InputTextareaModule,
5973
+ PaginatorModule,
5974
+ RadioButtonModule,
5975
+ RippleModule,
5976
+ SelectButtonModule,
5977
+ TableModule,
5978
+ TagModule,
5979
+ ToastModule,
5980
+ ToggleButtonModule,
5981
+ ToolbarModule,
5982
+ TooltipModule,
5983
+ MessagesModule,
5984
+ ProgressSpinnerModule,
5985
+ TabViewModule,
5986
+ FieldsetModule,
5987
+ MultiSelectModule,
5988
+ SkeletonModule,
5892
5989
  // directives
5893
- TemplateDirective,
5990
+ MngComponentDirective,
5991
+ MngTemplateDirective,
5894
5992
  // pipes
5895
- PropertyPathPipe,
5896
- BooleanPipe,
5993
+ MngPropertyPathPipe,
5994
+ MngBooleanPipe,
5897
5995
  // layout components
5898
5996
  MngBreadcrumbComponent,
5899
5997
  MngFooterComponent,
@@ -5905,26 +6003,26 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
5905
6003
  MngAutocompleteComponent,
5906
6004
  MngDropdownComponent,
5907
6005
  // formly wrappers
5908
- FormlyFieldWrapperComponent,
5909
- FormlyTableWrapperComponent,
6006
+ MngFormlyFieldWrapperComponent,
6007
+ MngFormlyTableWrapperComponent,
5910
6008
  // formly fields
5911
- FormlyFieldInputComponent,
5912
- FormlyFieldDropdownComponent,
5913
- FormlyFieldAutocompleteComponent,
5914
- FormlyFieldTableDialogMultiselectComponent,
5915
- FormlyFieldTableDialogFormComponent,
5916
- FormlyFieldTabsComponent,
5917
- FormlyFieldFieldsetComponent,
6009
+ MngFormlyFieldInputComponent,
6010
+ MngFormlyFieldDropdownComponent,
6011
+ MngFormlyFieldAutocompleteComponent,
6012
+ MngFormlyFieldTableDialogMultiselectComponent,
6013
+ MngFormlyFieldTableDialogFormComponent,
6014
+ MngFormlyFieldTabsComponent,
6015
+ MngFormlyFieldFieldsetComponent,
5918
6016
  // table components
5919
- TableComponent,
5920
- TableviewComponent,
6017
+ MngTableComponent,
6018
+ MngTableviewComponent,
5921
6019
  MngTableColumnValueComponent,
5922
6020
  MngTableColumnFilterComponent,
5923
6021
  // editor components
5924
- FormEditorComponent,
5925
- ActionComponent,
5926
- ActionDialogComponent,
5927
- ActionRouteComponent] });
6022
+ MngFormEditorComponent,
6023
+ MngActionComponent,
6024
+ MngActionDialogComponent,
6025
+ MngActionRouteComponent] });
5928
6026
  MngCommonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngCommonsModule, imports: [[
5929
6027
  // angular modules
5930
6028
  CommonModule,
@@ -5937,7 +6035,39 @@ MngCommonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
5937
6035
  }),
5938
6036
  FormlyModule.forChild(),
5939
6037
  ...primeNgModules
5940
- ]] });
6038
+ ], AutoCompleteModule,
6039
+ BreadcrumbModule,
6040
+ ButtonModule,
6041
+ CalendarModule,
6042
+ CardModule,
6043
+ CheckboxModule,
6044
+ ChipModule,
6045
+ ConfirmDialogModule,
6046
+ ConfirmPopupModule,
6047
+ DialogModule,
6048
+ DynamicDialogModule,
6049
+ DropdownModule,
6050
+ InputNumberModule,
6051
+ InputMaskModule,
6052
+ InputSwitchModule,
6053
+ InputTextModule,
6054
+ InputTextareaModule,
6055
+ PaginatorModule,
6056
+ RadioButtonModule,
6057
+ RippleModule,
6058
+ SelectButtonModule,
6059
+ TableModule,
6060
+ TagModule,
6061
+ ToastModule,
6062
+ ToggleButtonModule,
6063
+ ToolbarModule,
6064
+ TooltipModule,
6065
+ MessagesModule,
6066
+ ProgressSpinnerModule,
6067
+ TabViewModule,
6068
+ FieldsetModule,
6069
+ MultiSelectModule,
6070
+ SkeletonModule] });
5941
6071
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MngCommonsModule, decorators: [{
5942
6072
  type: NgModule,
5943
6073
  args: [{
@@ -5958,12 +6088,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
5958
6088
  ...declarations
5959
6089
  ],
5960
6090
  exports: [
6091
+ ...primeNgModules,
5961
6092
  ...declarations
5962
6093
  ]
5963
6094
  }]
5964
6095
  }] });
5965
6096
 
5966
- class AbstractCrudApiService {
6097
+ class AMngCrudApiService {
5967
6098
  constructor(type, queryResultType, http) {
5968
6099
  this.type = type;
5969
6100
  this.queryResultType = queryResultType;
@@ -6041,5 +6172,5 @@ class AbstractCrudApiService {
6041
6172
  * Generated bundle index. Do not edit.
6042
6173
  */
6043
6174
 
6044
- export { AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngTableviewRouteComponent, AbstractCrudApiService, ActionActivationTriggerEnum, ActionComponent, ActionDeleteDescriptor, ActionDescriptor, ActionDialogComponent, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionLevelEnum, ActionPositionEnum, ActionRouteComponent, ActionTypeEnum, BROWSER_STORAGE_IT, BooleanPipe, ColumnDescriptor, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, FieldGroupDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldTabGroupDescriptor, FieldValidator, FilterDescriptor, FilterLookupDescriptor, FormEditorComponent, FormlyFieldAutocompleteComponent, FormlyFieldDropdownComponent, FormlyFieldFieldsetComponent, FormlyFieldInputComponent, FormlyFieldTableDialogFormComponent, FormlyFieldTableDialogMultiselectComponent, FormlyFieldTabsComponent, FormlyFieldWrapperComponent, FormlyTableWrapperComponent, I18nUtil, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_DROPDOWN_VALUE_ACCESSOR, MNG_MODULE_CONFIG_IT, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusQueryResultBase, MediusQueryResultWithObject, MediusRestUtil, MngActionService, MngAutocompleteComponent, MngBreadcrumbComponent, MngCommonsModule, MngCommonsService, MngConfigurationService, MngDropdownComponent, MngEditorItemEvent, MngEditorSubmitEvent, MngEditorSubmitTriggerEvent, MngFooterComponent, MngMainLayoutComponent, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngTableCellClickEvent, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableLoadEvent, MngTableReloadEvent, MngTopbarComponent, ModelDescriptor, ModelUtil, ObjectSerializer, PropertyPathPipe, TableComponent, TableDescriptor, TableviewComponent, TableviewDataProvider, TableviewDescriptor, TemplateDirective, TypeName, TypeUtil, enumsMapBase, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
6175
+ export { AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngCrudApiService, AMngTableviewRouteComponent, ActionActivationResult, ActionActivationTriggerEnum, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionError, ActionExecContext, ActionLevelEnum, ActionPositionEnum, ActionRunResult, ActionTriggerResult, ActionTypeEnum, ColumnDescriptor, DataProvider, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, FieldGroupDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldTabGroupDescriptor, FieldValidator, FilterDescriptor, FilterLookupDescriptor, I18nUtil, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_DROPDOWN_VALUE_ACCESSOR, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusQueryResultBase, MediusQueryResultWithObject, MediusRestUtil, MngActionComponent, MngActionDialogComponent, MngActionRouteComponent, MngActionService, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDropdownComponent, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngPropertyPathPipe, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableviewComponent, MngTemplateDirective, MngTopbarComponent, ModelDescriptor, ModelUtil, ObjectSerializer, TableDescriptor, TableviewComponentService, TableviewDataProvider, TableviewDescriptor, ToastUtil, TypeName, TypeUtil, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage, mngCommonsInitializerProvider, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
6045
6176
  //# sourceMappingURL=mediusinc-mng-commons.mjs.map