@mediusinc/mng-commons 0.2.22 → 0.3.1

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 (36) hide show
  1. package/esm2020/lib/api/models/filter-param.model.mjs +1 -2
  2. package/esm2020/lib/api/models/mappers.mjs +2 -6
  3. package/esm2020/lib/api/models/query-mode.model.mjs +1 -2
  4. package/esm2020/lib/api/models/query-param.model.mjs +3 -4
  5. package/esm2020/lib/api/models/query-result.model.mjs +6 -34
  6. package/esm2020/lib/api/services/api.abstract.service.mjs +34 -0
  7. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +15 -32
  8. package/esm2020/lib/api/services/get-all-api.abstract.service.mjs +23 -0
  9. package/esm2020/lib/api/services/index.mjs +3 -1
  10. package/esm2020/lib/components/action/action.component.mjs +2 -2
  11. package/esm2020/lib/components/action/editor/action-editor.component.mjs +3 -3
  12. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +30 -9
  13. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +16 -3
  14. package/esm2020/lib/config/models/mng-config.model.mjs +1 -1
  15. package/esm2020/lib/descriptors/editor.descriptor.mjs +11 -12
  16. package/esm2020/lib/descriptors/table.descriptor.mjs +6 -1
  17. package/esm2020/lib/descriptors/tableview.descriptor.mjs +5 -5
  18. package/esm2020/lib/pipes/enum.pipe.mjs +4 -1
  19. package/esm2020/lib/router/route-builder.mjs +31 -25
  20. package/esm2020/lib/services/action-executor.service.mjs +5 -4
  21. package/fesm2015/mediusinc-mng-commons.mjs +172 -119
  22. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  23. package/fesm2020/mediusinc-mng-commons.mjs +169 -118
  24. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  25. package/lib/api/models/query-result.model.d.ts +4 -17
  26. package/lib/api/services/api.abstract.service.d.ts +19 -0
  27. package/lib/api/services/crud-api.abstract.service.d.ts +3 -11
  28. package/lib/api/services/get-all-api.abstract.service.d.ts +11 -0
  29. package/lib/api/services/index.d.ts +2 -0
  30. package/lib/components/tableview/route/tableview-route.component.d.ts +4 -1
  31. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +1 -0
  32. package/lib/descriptors/editor.descriptor.d.ts +4 -6
  33. package/lib/descriptors/tableview.descriptor.d.ts +2 -2
  34. package/lib/router/route-builder.d.ts +2 -0
  35. package/package.json +1 -1
  36. /package/{assets/templates → templates}/tableview-route.component.html +0 -0
@@ -169,7 +169,6 @@ var MediusFilterMatchType;
169
169
  MediusFilterMatchType["GreaterThan"] = "GREATER_THAN";
170
170
  })(MediusFilterMatchType || (MediusFilterMatchType = {}));
171
171
 
172
- /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
173
172
  class MediusFilterParam {
174
173
  static getAttributeTypeMap() {
175
174
  return MediusFilterParam.attributeTypeMap;
@@ -203,7 +202,6 @@ MediusFilterParam.attributeTypeMap = [
203
202
  }
204
203
  ];
205
204
 
206
- /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
207
205
  /**
208
206
  * Generated API
209
207
  * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
@@ -222,7 +220,6 @@ var MediusQueryMode;
222
220
  MediusQueryMode["All"] = "ALL";
223
221
  })(MediusQueryMode || (MediusQueryMode = {}));
224
222
 
225
- /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
226
223
  class MediusQueryParam {
227
224
  static getAttributeTypeMap() {
228
225
  return MediusQueryParam.attributeTypeMap;
@@ -252,7 +249,7 @@ MediusQueryParam.attributeTypeMap = [
252
249
  {
253
250
  name: 'filterParams',
254
251
  baseName: 'filter_params',
255
- type: 'Array<MediusFilterParam>'
252
+ type: 'Array<FilterParam>'
256
253
  },
257
254
  {
258
255
  name: 'filterAllParam',
@@ -287,49 +284,21 @@ MediusQueryParam.attributeTypeMap = [
287
284
  {
288
285
  name: 'queryMode',
289
286
  baseName: 'query_mode',
290
- type: 'MediusQueryMode'
287
+ type: 'QueryMode'
291
288
  }
292
289
  ];
293
290
 
294
- /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
295
- class MediusQueryResultBase {
291
+ class MediusQueryResult {
292
+ static getAttributeTypeMap() {
293
+ return MediusQueryResult.attributeTypeMap;
294
+ }
296
295
  }
297
- MediusQueryResultBase.discriminator = undefined;
298
- MediusQueryResultBase.attributeTypeMap = [
296
+ MediusQueryResult.attributeTypeMap = [
299
297
  {
300
298
  name: 'allDataCount',
301
299
  baseName: 'all_data_count',
302
300
  type: 'number'
303
301
  },
304
- {
305
- name: 'selectInTwoSteps',
306
- baseName: 'selectInTwoSteps',
307
- type: 'boolean'
308
- }
309
- ];
310
- class MediusQueryResultWithObject extends MediusQueryResultBase {
311
- static getAttributeTypeMap() {
312
- return MediusQueryResultWithObject.attributeTypeMap;
313
- }
314
- }
315
- MediusQueryResultWithObject.discriminator = undefined;
316
- MediusQueryResultWithObject.attributeTypeMap = [
317
- ...MediusQueryResultBase.attributeTypeMap,
318
- {
319
- name: 'pageData',
320
- baseName: 'page_data',
321
- type: 'Array<object>'
322
- }
323
- ];
324
- class MediusQueryResult extends MediusQueryResultBase {
325
- static getAttributeTypeMap() {
326
- return MediusQueryResultWithObject.attributeTypeMap;
327
- }
328
- }
329
- MediusQueryResult.discriminator = undefined;
330
- MediusQueryResult.attributeTypeMapBase = MediusQueryResultBase.attributeTypeMap;
331
- MediusQueryResult.attributeTypeMap = [
332
- ...MediusQueryResultBase.attributeTypeMap,
333
302
  {
334
303
  name: 'pageData',
335
304
  baseName: 'page_data',
@@ -384,16 +353,13 @@ class MediusQueryParamBuilder {
384
353
  }
385
354
  }
386
355
 
387
- /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
388
356
  const enumsMapBase = {
389
357
  FilterMatchType: MediusFilterMatchType,
390
358
  QueryMode: MediusQueryMode
391
359
  };
392
360
  const typeMapBase = {
393
361
  FilterParam: MediusFilterParam,
394
- QueryParam: MediusQueryParam,
395
- QueryResult: MediusQueryResult,
396
- QueryResultWithObject: MediusQueryResultWithObject
362
+ QueryParam: MediusQueryParam
397
363
  };
398
364
 
399
365
  class TableDataProvider extends DataProvider {
@@ -1017,13 +983,13 @@ class EditorDescriptor {
1017
983
  this.addFieldDescriptor(field);
1018
984
  return field;
1019
985
  }
1020
- addFieldManyEditor(property, type, tableviewDescriptor) {
1021
- const field = new FieldManyEditorDescriptor(this, property, type, tableviewDescriptor);
986
+ addFieldManyEditor(property, tableviewDescriptor) {
987
+ const field = new FieldManyEditorDescriptor(this, property, tableviewDescriptor);
1022
988
  this.addFieldDescriptor(field);
1023
989
  return field;
1024
990
  }
1025
- addFieldManyToManyEditor(property, type, mainTableDescriptor, lookupTableDescriptor) {
1026
- const field = new FieldManyToManyEditorDescriptor(this, property, type, mainTableDescriptor, lookupTableDescriptor);
991
+ addFieldManyToManyEditor(property, mainTableDescriptor, lookupTableDescriptor) {
992
+ const field = new FieldManyToManyEditorDescriptor(this, property, mainTableDescriptor, lookupTableDescriptor);
1027
993
  this.addFieldDescriptor(field);
1028
994
  return field;
1029
995
  }
@@ -1590,7 +1556,7 @@ class FieldLookupEnumDescriptor extends FieldLookupDescriptor {
1590
1556
  }
1591
1557
  }
1592
1558
  class FieldManyToManyEditorDescriptor extends AFieldDescriptor {
1593
- constructor(editor, property, modelType, mainTableDescriptor, lookupTableDescriptor) {
1559
+ constructor(editor, property, mainTableDescriptor, lookupTableDescriptor) {
1594
1560
  super(editor, property);
1595
1561
  this._fieldType = FieldManyToManyEditorDescriptor.TypeEnum.DialogTableMultiselect;
1596
1562
  this._lookupTableDataProvider = null;
@@ -1598,7 +1564,6 @@ class FieldManyToManyEditorDescriptor extends AFieldDescriptor {
1598
1564
  this._hasLookupExcludeValues = false;
1599
1565
  this._excludeFilterProperty = '';
1600
1566
  this._excludeValueProperty = '';
1601
- this._model = new ModelDescriptor(modelType);
1602
1567
  this._mainTableDescriptor = mainTableDescriptor;
1603
1568
  this._lookupTableDescriptor = lookupTableDescriptor;
1604
1569
  this._actions.push(FieldManyToManyEditorDescriptor.ActionEnum.Add, FieldManyToManyEditorDescriptor.ActionEnum.Delete);
@@ -1628,7 +1593,7 @@ class FieldManyToManyEditorDescriptor extends AFieldDescriptor {
1628
1593
  return this._lookupTableDescriptor;
1629
1594
  }
1630
1595
  withLookup(getAll, serviceType) {
1631
- const dataProvider = new TableviewDataProvider(this._model.type);
1596
+ const dataProvider = new TableviewDataProvider(this._mainTableDescriptor.model.type);
1632
1597
  if (serviceType) {
1633
1598
  dataProvider.withServiceType(serviceType);
1634
1599
  }
@@ -1651,7 +1616,7 @@ class FieldManyToManyEditorDescriptor extends AFieldDescriptor {
1651
1616
  return this;
1652
1617
  }
1653
1618
  copy() {
1654
- const field = new FieldManyToManyEditorDescriptor(this._editor, this._property, this._model.type, this._mainTableDescriptor.copy(), this._lookupTableDescriptor.copy());
1619
+ const field = new FieldManyToManyEditorDescriptor(this._editor, this._property, this._mainTableDescriptor.copy(), this._lookupTableDescriptor.copy());
1655
1620
  this.copyFieldsTo(field);
1656
1621
  field._fieldType = this._fieldType;
1657
1622
  field._actions = this._actions.map(a => a);
@@ -1674,12 +1639,12 @@ class FieldManyToManyEditorDescriptor extends AFieldDescriptor {
1674
1639
  })(ActionEnum = FieldManyToManyEditorDescriptor.ActionEnum || (FieldManyToManyEditorDescriptor.ActionEnum = {}));
1675
1640
  })(FieldManyToManyEditorDescriptor || (FieldManyToManyEditorDescriptor = {}));
1676
1641
  class FieldManyEditorDescriptor extends AFieldDescriptor {
1677
- constructor(editor, property, modelType, tableviewDescriptor) {
1642
+ constructor(editor, property, tableviewDescriptor) {
1678
1643
  super(editor, property);
1679
1644
  this._fieldType = FieldManyEditorDescriptor.TypeEnum.DialogEditor;
1680
1645
  this._fieldActions = [];
1681
1646
  this._actions = [];
1682
- this._modelType = modelType;
1647
+ // this._modelType = modelType;
1683
1648
  this._tableviewDescriptor = tableviewDescriptor;
1684
1649
  this._fieldActions.push(FieldManyEditorDescriptor.ActionEnum.View, FieldManyEditorDescriptor.ActionEnum.Add, FieldManyEditorDescriptor.ActionEnum.Edit, FieldManyEditorDescriptor.ActionEnum.Delete);
1685
1650
  }
@@ -1720,7 +1685,7 @@ class FieldManyEditorDescriptor extends AFieldDescriptor {
1720
1685
  return this;
1721
1686
  }
1722
1687
  copy() {
1723
- const field = new FieldManyEditorDescriptor(this._editor, this._property, this._modelType, this._tableviewDescriptor.copy());
1688
+ const field = new FieldManyEditorDescriptor(this._editor, this._property, this._tableviewDescriptor.copy());
1724
1689
  this.copyFieldsTo(field);
1725
1690
  field._fieldType = this._fieldType;
1726
1691
  field._fieldActions = this._fieldActions.map(a => a);
@@ -2172,6 +2137,9 @@ class ColumnDescriptor {
2172
2137
  descriptor._isSortEnabled = this._isSortEnabled;
2173
2138
  descriptor._columnType = this._columnType;
2174
2139
  descriptor._filterDescriptor = this._filterDescriptor?.copy();
2140
+ descriptor._enumType = this._enumType;
2141
+ descriptor._enumTitlePath = this._enumTitlePath;
2142
+ descriptor._enumNameAsValue = this._enumNameAsValue;
2175
2143
  descriptor._booleanAsIcon = this._booleanAsIcon;
2176
2144
  descriptor._booleanYes = this._booleanYes;
2177
2145
  descriptor._booleanNo = this._booleanNo;
@@ -2324,10 +2292,12 @@ class FilterLookupDescriptor extends FilterDescriptor {
2324
2292
  }
2325
2293
  withItemsValueProperty(itemsValueProperty) {
2326
2294
  this._itemsValueProperty = itemsValueProperty;
2295
+ this._dataKeyProperty = itemsValueProperty;
2327
2296
  return this;
2328
2297
  }
2329
2298
  withDataKeyProperty(dataKeyProperty) {
2330
2299
  this._dataKeyProperty = dataKeyProperty;
2300
+ this._itemsValueProperty = dataKeyProperty;
2331
2301
  return this;
2332
2302
  }
2333
2303
  withLookup(lookup, serviceType) {
@@ -2514,14 +2484,14 @@ class TableviewDescriptor {
2514
2484
  this._editEditor.addFieldDescriptor(field);
2515
2485
  return field;
2516
2486
  }
2517
- addFieldManyEditor(property, type, tableviewDescriptor) {
2518
- const field = this._viewEditor.addFieldManyEditor(property, type, tableviewDescriptor);
2487
+ addFieldManyEditor(property, tableviewDescriptor) {
2488
+ const field = this._viewEditor.addFieldManyEditor(property, tableviewDescriptor);
2519
2489
  this._addEditor.addFieldDescriptor(field);
2520
2490
  this._editEditor.addFieldDescriptor(field);
2521
2491
  return field;
2522
2492
  }
2523
- addFieldManyToManyEditor(property, type, mainTableDescriptor, lookupTableDescriptor) {
2524
- const field = this._viewEditor.addFieldManyToManyEditor(property, type, mainTableDescriptor, lookupTableDescriptor);
2493
+ addFieldManyToManyEditor(property, mainTableDescriptor, lookupTableDescriptor) {
2494
+ const field = this._viewEditor.addFieldManyToManyEditor(property, mainTableDescriptor, lookupTableDescriptor);
2525
2495
  this._addEditor.addFieldDescriptor(field);
2526
2496
  this._editEditor.addFieldDescriptor(field);
2527
2497
  return field;
@@ -3649,7 +3619,8 @@ class MngActionExecutorService {
3649
3619
  this.defaultEditorDialogComponent = defaultEditorDialogComponent;
3650
3620
  }
3651
3621
  prepareActionExecContext(action, itemId, item, dataProvider, viewContainer, sourceComponent, actionData) {
3652
- return new ActionExecContext(dataProvider ?? action.dataProvider ?? viewContainer?.getDataProvider(), this.getDataProviderService(dataProvider) ?? undefined, {
3622
+ const ctxDataProvider = dataProvider ?? action.dataProvider ?? viewContainer?.getDataProvider();
3623
+ return new ActionExecContext(ctxDataProvider, this.getDataProviderService(ctxDataProvider) ?? undefined, {
3653
3624
  item,
3654
3625
  itemId,
3655
3626
  actionData
@@ -3794,7 +3765,7 @@ class MngActionExecutorService {
3794
3765
  if (!ctxDataProvider) {
3795
3766
  const viewContainerDataProvider = viewContainer?.getDataProvider();
3796
3767
  if (viewContainerDataProvider) {
3797
- ctxDataProvider = action.dataProvider;
3768
+ ctxDataProvider = viewContainerDataProvider;
3798
3769
  }
3799
3770
  }
3800
3771
  const context = new ActionExecContext(ctxDataProvider, this.getDataProviderService(ctxDataProvider) ?? undefined, {
@@ -4443,8 +4414,8 @@ class MngActionComponent {
4443
4414
  this.loadingSubject.next(false);
4444
4415
  },
4445
4416
  error: err => {
4446
- console.error(`Error occurred while executing action ${this.action.actionName}.`, err);
4447
4417
  this.loadingSubject.next(false);
4418
+ console.warn(`Error occurred while executing action ${this.action.actionName}.`, err);
4448
4419
  }
4449
4420
  });
4450
4421
  }
@@ -5157,13 +5128,13 @@ class MngActionEditorComponent {
5157
5128
  // assign run operations
5158
5129
  action.withRunNotificationSuccess(undefined, undefined, false);
5159
5130
  if (action.submitType === ActionEditorSubmitDescriptor.TypeEnum.Submit) {
5160
- action.withRunFunction(ctx => {
5131
+ action.withRunFunction(() => {
5161
5132
  this.triggerSubmit();
5162
5133
  return of(undefined);
5163
5134
  });
5164
5135
  }
5165
5136
  else {
5166
- action.withRunFunction(ctx => {
5137
+ action.withRunFunction(() => {
5167
5138
  this.cancel();
5168
5139
  return of(undefined);
5169
5140
  });
@@ -5430,12 +5401,25 @@ class MngTableColumnFilterComponent {
5430
5401
  filterCallback(value);
5431
5402
  }
5432
5403
  }
5404
+ // eslint-disable-next-line @typescript-eslint/ban-types
5405
+ dropdownFilter(value, filterCallback) {
5406
+ if (value) {
5407
+ let filterValue = value;
5408
+ if (this.lookupDescriptor.itemsValueProperty) {
5409
+ filterValue = filterValue[this.lookupDescriptor.itemsValueProperty];
5410
+ }
5411
+ filterCallback(filterValue);
5412
+ }
5413
+ else {
5414
+ filterCallback(value);
5415
+ }
5416
+ }
5433
5417
  }
5434
5418
  MngTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, deps: [{ token: i2.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
5435
- MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *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 (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\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 (valueChange)=\"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: ["valueChange"] }, { type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.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": i3$1.TranslatePipe } });
5419
+ MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *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 (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"true\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\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: ["valueChange"] }, { type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.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": i3$1.TranslatePipe } });
5436
5420
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
5437
5421
  type: Component,
5438
- args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *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 (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\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 (valueChange)=\"filterCallback($event)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n" }]
5422
+ args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *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 (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"true\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n" }]
5439
5423
  }], ctorParameters: function () { return [{ type: i2.PrimeNGConfig }]; }, propDecorators: { descriptor: [{
5440
5424
  type: Input
5441
5425
  }], display: [{
@@ -5503,6 +5487,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
5503
5487
 
5504
5488
  class MngEnumPipe {
5505
5489
  transform(value, enumObj, i18nPath, nameAsValue = false) {
5490
+ if (!value || !enumObj) {
5491
+ return value;
5492
+ }
5506
5493
  const enumConstantName = nameAsValue ? value : EnumUtil.getConstantNameFromEnumObject(enumObj, value);
5507
5494
  if (typeof i18nPath === 'undefined') {
5508
5495
  i18nPath = TypeUtil.findEnumName(enumObj);
@@ -5976,27 +5963,48 @@ class MngTableviewRouteComponent extends AMngTableviewRouteComponent {
5976
5963
  this.route = route;
5977
5964
  }
5978
5965
  createTableviewDescriptor() {
5979
- if (!this.route.snapshot.data['tableviewData'].descriptor) {
5966
+ if (this.descriptorInit) {
5967
+ return this.descriptorInit;
5968
+ }
5969
+ const routeData = this.route.snapshot.data;
5970
+ if (!routeData?.tableview?.descriptor) {
5980
5971
  throw Error('Tableview requires a descriptor.');
5981
5972
  }
5982
- return this.route.snapshot.data['tableviewData'].descriptor;
5973
+ return routeData.tableview.descriptor;
5983
5974
  }
5984
5975
  createTableviewDataProvider() {
5985
- if (!this.route.snapshot.data['tableviewData'].dataProvider) {
5976
+ if (this.dataProviderInit) {
5977
+ return this.dataProviderInit;
5978
+ }
5979
+ const routeData = this.route.snapshot.data;
5980
+ if (!routeData?.tableview?.dataProvider) {
5986
5981
  throw Error('Tableview requires a data provider.');
5987
5982
  }
5988
- return this.route.snapshot.data['tableviewData'].dataProvider;
5983
+ return routeData.tableview.dataProvider;
5989
5984
  }
5990
5985
  createActionDescriptors() {
5991
- return this.route.snapshot.data['tableviewData'].fieldActions ?? super.createActionDescriptors();
5986
+ if (this.actionsInit) {
5987
+ return this.actionsInit;
5988
+ }
5989
+ const routeData = this.route.snapshot.data;
5990
+ return routeData?.tableview?.actions ?? super.createActionDescriptors();
5992
5991
  }
5993
5992
  }
5994
5993
  MngTableviewRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableviewRouteComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
5995
- MngTableviewRouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableviewRouteComponent, selector: "mng-tableview-route", usesInheritance: true, ngImport: i0, template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview>\n </div>\n</div>\n", components: [{ type: MngTableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }] });
5994
+ MngTableviewRouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableviewRouteComponent, selector: "mng-tableview-route", inputs: { descriptorInit: ["descriptor", "descriptorInit"], dataProviderInit: ["dataProvider", "dataProviderInit"], actionsInit: ["actions", "actionsInit"] }, usesInheritance: true, ngImport: i0, template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview>\n </div>\n</div>\n", components: [{ type: MngTableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }] });
5996
5995
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableviewRouteComponent, decorators: [{
5997
5996
  type: Component,
5998
5997
  args: [{ selector: 'mng-tableview-route', template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview>\n </div>\n</div>\n" }]
5999
- }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }]; } });
5998
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }]; }, propDecorators: { descriptorInit: [{
5999
+ type: Input,
6000
+ args: ['descriptor']
6001
+ }], dataProviderInit: [{
6002
+ type: Input,
6003
+ args: ['dataProvider']
6004
+ }], actionsInit: [{
6005
+ type: Input,
6006
+ args: ['actions']
6007
+ }] } });
6000
6008
 
6001
6009
  class MngFormlyFieldLookupDialogComponent extends FieldType {
6002
6010
  constructor(injector) {
@@ -7539,37 +7547,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
7539
7547
  }]
7540
7548
  }] });
7541
7549
 
7542
- class AMngCrudApiService {
7543
- constructor(type, queryResultType, http) {
7550
+ class AMngApiService {
7551
+ constructor(type, http) {
7544
7552
  this.type = type;
7545
- this.queryResultType = queryResultType;
7546
7553
  this.http = http;
7547
7554
  this.objectSerializer = ObjectSerializer.get();
7548
7555
  }
7549
- createPost(item, params) {
7550
- const url = `${this.getBasePath()}${this.getServiceBasePath()}${this.getCreatePostPath()}`;
7556
+ getUrl(...pathSegments) {
7557
+ let path = pathSegments.join('/');
7558
+ if (!path.startsWith('/')) {
7559
+ path = path.substring(1);
7560
+ }
7561
+ return `${this.getBasePath()}${this.getServiceBasePath()}${path}`;
7562
+ }
7563
+ deserialize(item) {
7564
+ return this.deserializeClass(item, this.type);
7565
+ }
7566
+ serialize(item) {
7567
+ return this.serializeClass(item, this.type);
7568
+ }
7569
+ serializeQueryParam(queryParam, type = 'QueryParam') {
7570
+ return this.objectSerializer.serialize(queryParam, type);
7571
+ }
7572
+ deserializeQueryResult(item, qrType) {
7573
+ return this.deserializeClass(item, qrType);
7574
+ }
7575
+ deserializeClass(item, type) {
7576
+ return this.objectSerializer.deserializeClass(item, type);
7577
+ }
7578
+ serializeClass(item, type) {
7579
+ return this.objectSerializer.serializeClass(item, type);
7580
+ }
7581
+ }
7582
+
7583
+ class AMngGetAllApiService extends AMngApiService {
7584
+ constructor(type, queryResultType, http) {
7585
+ super(type, http);
7586
+ this.queryResultType = queryResultType;
7587
+ }
7588
+ getAllPost(queryParamBody, params) {
7589
+ const url = this.getUrl(this.getGetAllPostPath());
7551
7590
  return this.http
7552
- .post(url, this.objectSerializer.serializeClass(item, this.type), {
7591
+ .post(url, queryParamBody ? this.serializeQueryParam(queryParamBody) : undefined, {
7553
7592
  withCredentials: true,
7554
7593
  observe: 'body',
7555
7594
  reportProgress: false,
7556
7595
  params: params
7557
7596
  })
7558
- .pipe(map(res => this.objectSerializer.deserializeClass(res, this.type)));
7597
+ .pipe(map(res => this.deserializeQueryResult(res, this.queryResultType)));
7559
7598
  }
7560
- getAllPost(queryParamBody, params) {
7561
- const url = `${this.getBasePath()}${this.getServiceBasePath()}${this.getGetAllPostPath()}`;
7599
+ getGetAllPostPath() {
7600
+ return '/get-all';
7601
+ }
7602
+ }
7603
+
7604
+ class AMngCrudApiService extends AMngGetAllApiService {
7605
+ constructor(type, queryResultType, http) {
7606
+ super(type, queryResultType, http);
7607
+ }
7608
+ createPost(item, params) {
7609
+ const url = this.getUrl(this.getCreatePostPath());
7562
7610
  return this.http
7563
- .post(url, this.objectSerializer.serialize(queryParamBody, 'QueryParam'), {
7611
+ .post(url, this.serialize(item), {
7564
7612
  withCredentials: true,
7565
7613
  observe: 'body',
7566
7614
  reportProgress: false,
7567
7615
  params: params
7568
7616
  })
7569
- .pipe(map(res => this.objectSerializer.deserializeClass(res, this.queryResultType)));
7617
+ .pipe(map(res => this.deserialize(res)));
7570
7618
  }
7571
7619
  getByIdGet(id, params) {
7572
- const url = `${this.getBasePath()}${this.getServiceBasePath()}${this.getGetByIdGetPath(id)}`;
7620
+ const url = this.getUrl(this.getGetByIdGetPath(id));
7573
7621
  return this.http
7574
7622
  .get(url, {
7575
7623
  withCredentials: true,
@@ -7577,33 +7625,30 @@ class AMngCrudApiService {
7577
7625
  reportProgress: false,
7578
7626
  params: params
7579
7627
  })
7580
- .pipe(map(res => this.objectSerializer.deserializeClass(res, this.type)));
7628
+ .pipe(map(res => this.deserialize(res)));
7581
7629
  }
7582
7630
  updatePut(id, item, params) {
7583
- const url = `${this.getBasePath()}${this.getServiceBasePath()}${this.getUpdatePutPath(id, item)}`;
7631
+ const url = this.getUrl(this.getUpdatePutPath(id, item));
7584
7632
  return this.http
7585
- .put(url, this.objectSerializer.serializeClass(item, this.type), {
7633
+ .put(url, this.serialize(item), {
7586
7634
  withCredentials: true,
7587
7635
  observe: 'body',
7588
7636
  reportProgress: false,
7589
7637
  params: params
7590
7638
  })
7591
- .pipe(map(res => this.objectSerializer.deserializeClass(res, this.type)));
7639
+ .pipe(map(res => this.deserialize(res)));
7592
7640
  }
7593
7641
  removeDelete(id, item, params) {
7594
- const url = `${this.getBasePath()}${this.getServiceBasePath()}${this.getRemoveDeletePath(id, item)}`;
7642
+ const url = this.getUrl(this.getRemoveDeletePath(id, item));
7595
7643
  return this.http
7596
7644
  .request('delete', url, {
7597
7645
  withCredentials: true,
7598
7646
  observe: 'body',
7599
7647
  reportProgress: false,
7600
- body: item ? this.objectSerializer.serializeClass(item, this.type) : undefined,
7648
+ body: item ? this.serialize(item) : undefined,
7601
7649
  params: params
7602
7650
  })
7603
- .pipe(map(res => this.objectSerializer.deserializeClass(res, this.type)));
7604
- }
7605
- getGetAllPostPath() {
7606
- return '/get-all';
7651
+ .pipe(map(res => this.deserialize(res)));
7607
7652
  }
7608
7653
  getCreatePostPath() {
7609
7654
  return '';
@@ -7655,25 +7700,8 @@ class RoutesBuilder {
7655
7700
  return new RoutesBuilder();
7656
7701
  }
7657
7702
  static createWithLayout(layoutComponent = MngMainLayoutComponent, topbarComponent, breadcrumbComponent, menuComponent, footerComponent) {
7658
- const layoutRoute = RouteBuilder.create('', layoutComponent);
7659
- if (topbarComponent || breadcrumbComponent || menuComponent || footerComponent) {
7660
- const dataBuilder = RouteDataBuilder.create();
7661
- if (topbarComponent) {
7662
- dataBuilder.withTopbarComponent(topbarComponent);
7663
- }
7664
- if (breadcrumbComponent) {
7665
- dataBuilder.withBreadcrumbComponent(breadcrumbComponent);
7666
- }
7667
- if (menuComponent) {
7668
- dataBuilder.withMenuComponent(menuComponent);
7669
- }
7670
- if (footerComponent) {
7671
- dataBuilder.withFooterComponent(footerComponent);
7672
- }
7673
- layoutRoute.withDataBuilder(dataBuilder);
7674
- }
7675
- const routesBuilder = new RoutesBuilder(layoutRoute);
7676
- return routesBuilder;
7703
+ const layoutRoute = RouteBuilder.createLayoutRoute('', layoutComponent, topbarComponent, breadcrumbComponent, menuComponent, footerComponent);
7704
+ return new RoutesBuilder(layoutRoute);
7677
7705
  }
7678
7706
  addAngularRoute(route) {
7679
7707
  return this.addRouteBuilder(RouteBuilder.createFromRoute(route));
@@ -7682,11 +7710,7 @@ class RoutesBuilder {
7682
7710
  return this.addRouteBuilder(RouteBuilder.createRedirect(path, redirectTo, pathMatch));
7683
7711
  }
7684
7712
  addLazyRoute(path, loadChildren, canLoad) {
7685
- const route = { path: path, loadChildren: loadChildren };
7686
- if (canLoad?.length) {
7687
- route.canLoad = canLoad;
7688
- }
7689
- return this.addRouteBuilder(RouteBuilder.createFromRoute(route));
7713
+ return this.addRouteBuilder(RouteBuilder.createLazyRoute(path, loadChildren, canLoad));
7690
7714
  }
7691
7715
  addRoute(path, component) {
7692
7716
  return this.addRouteBuilder(RouteBuilder.create(path, component));
@@ -7759,9 +7783,36 @@ class RouteBuilder {
7759
7783
  pathMatch: pathMatch
7760
7784
  });
7761
7785
  }
7786
+ static createLazyRoute(path, loadChildren, canLoad) {
7787
+ const route = { path: path, loadChildren: loadChildren };
7788
+ if (canLoad?.length) {
7789
+ route.canLoad = canLoad;
7790
+ }
7791
+ return new RouteBuilder(route);
7792
+ }
7762
7793
  static createFromRoute(route) {
7763
7794
  return new RouteBuilder(route);
7764
7795
  }
7796
+ static createLayoutRoute(path, layoutComponent = MngMainLayoutComponent, topbarComponent, breadcrumbComponent, menuComponent, footerComponent) {
7797
+ const layoutRoute = RouteBuilder.create(path, layoutComponent);
7798
+ if (topbarComponent || breadcrumbComponent || menuComponent || footerComponent) {
7799
+ const dataBuilder = RouteDataBuilder.create();
7800
+ if (topbarComponent) {
7801
+ dataBuilder.withTopbarComponent(topbarComponent);
7802
+ }
7803
+ if (breadcrumbComponent) {
7804
+ dataBuilder.withBreadcrumbComponent(breadcrumbComponent);
7805
+ }
7806
+ if (menuComponent) {
7807
+ dataBuilder.withMenuComponent(menuComponent);
7808
+ }
7809
+ if (footerComponent) {
7810
+ dataBuilder.withFooterComponent(footerComponent);
7811
+ }
7812
+ layoutRoute.withDataBuilder(dataBuilder);
7813
+ }
7814
+ return layoutRoute;
7815
+ }
7765
7816
  static createTableviewRoutes(path, descriptor, dataProvider, actions, hasDetails = true, hasEdit = true, hasAdd = true) {
7766
7817
  const tableviewRoute = RouteBuilder.createFromRoute({
7767
7818
  data: RouteDataBuilder.create().withTableview(descriptor, dataProvider, actions).build(),
@@ -8075,5 +8126,5 @@ class RouteDataBuilder {
8075
8126
  * Generated bundle index. Do not edit.
8076
8127
  */
8077
8128
 
8078
- export { AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngCrudApiService, AMngTableviewRouteComponent, ActionActivationResult, ActionActivationTriggerEnum, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionEditorSubmitDescriptor, ActionError, ActionExecContext, ActionLevelEnum, ActionPositionEnum, ActionRunResult, ActionTriggerResult, ActionTypeEnum, ColumnDescriptor, DataProvider, DefaultMngErrorMapperService, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, EnumName, EnumUtil, FieldDescriptor, FieldGroupDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldTabGroupDescriptor, FieldValidator, FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, I18nUtil, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_DROPDOWN_VALUE_ACCESSOR, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusQueryResultBase, MediusQueryResultWithObject, MediusRestUtil, MngActionComponent, MngActionEditorComponent, MngActionExecutorService, MngActionRouteComponent, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDropdownComponent, MngEnumPipe, MngErrorMapperService, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormFieldEvent, MngFormFieldEventComponentSubtype, MngFormFieldEventDialogSubtype, MngFormFieldEventTypeEnum, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngI18nPropertyPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngPropertyPathPipe, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTopbarComponent, MngViewContainerComponentService, ModelDescriptor, ModelUtil, ObjectSerializer, RouteBuilder, RouteDataBuilder, RoutesBuilder, TableDataProvider, TableDescriptor, TableviewDataProvider, TableviewDescriptor, ToastUtil, TypeName, TypeUtil, enumNameDecoratorPropertyName, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getEmailValidationMessage, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage, mngCommonsInitializerProvider, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
8129
+ export { AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngApiService, AMngCrudApiService, AMngGetAllApiService, AMngTableviewRouteComponent, ActionActivationResult, ActionActivationTriggerEnum, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionEditorSubmitDescriptor, ActionError, ActionExecContext, ActionLevelEnum, ActionPositionEnum, ActionRunResult, ActionTriggerResult, ActionTypeEnum, ColumnDescriptor, DataProvider, DefaultMngErrorMapperService, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, EnumName, EnumUtil, FieldDescriptor, FieldGroupDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldTabGroupDescriptor, FieldValidator, FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, I18nUtil, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_DROPDOWN_VALUE_ACCESSOR, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusRestUtil, MngActionComponent, MngActionEditorComponent, MngActionExecutorService, MngActionRouteComponent, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDropdownComponent, MngEnumPipe, MngErrorMapperService, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormFieldEvent, MngFormFieldEventComponentSubtype, MngFormFieldEventDialogSubtype, MngFormFieldEventTypeEnum, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngI18nPropertyPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngPropertyPathPipe, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTopbarComponent, MngViewContainerComponentService, ModelDescriptor, ModelUtil, ObjectSerializer, RouteBuilder, RouteDataBuilder, RoutesBuilder, TableDataProvider, TableDescriptor, TableviewDataProvider, TableviewDescriptor, ToastUtil, TypeName, TypeUtil, enumNameDecoratorPropertyName, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getEmailValidationMessage, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage, mngCommonsInitializerProvider, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
8079
8130
  //# sourceMappingURL=mediusinc-mng-commons.mjs.map