@mediusinc/mng-commons 0.2.14 → 0.2.17

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 (37) hide show
  1. package/esm2020/lib/api/models/filter-match-type.model.mjs +11 -12
  2. package/esm2020/lib/api/models/filter-param.model.mjs +11 -12
  3. package/esm2020/lib/api/models/query-mode.model.mjs +4 -4
  4. package/esm2020/lib/api/models/query-param.model.mjs +29 -30
  5. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +9 -13
  6. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +13 -15
  7. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +3 -3
  8. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +3 -3
  9. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +7 -6
  10. package/esm2020/lib/components/layout/main-layout.component.mjs +1 -3
  11. package/esm2020/lib/components/layout/topbar.component.mjs +1 -3
  12. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +1 -1
  13. package/esm2020/lib/components/tableview/table/table.component.mjs +7 -9
  14. package/esm2020/lib/descriptors/editor.descriptor.mjs +8 -3
  15. package/esm2020/lib/descriptors/table.descriptor.mjs +1 -2
  16. package/esm2020/lib/router/models/router.model.mjs +1 -1
  17. package/esm2020/lib/router/route-builder.mjs +75 -11
  18. package/esm2020/lib/services/configuration.service.mjs +3 -3
  19. package/fesm2015/mediusinc-mng-commons.mjs +176 -111
  20. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  21. package/fesm2020/mediusinc-mng-commons.mjs +169 -114
  22. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  23. package/lib/api/models/filter-match-type.model.d.ts +10 -10
  24. package/lib/api/models/filter-param.model.d.ts +6 -6
  25. package/lib/api/models/query-mode.model.d.ts +3 -3
  26. package/lib/api/models/query-param.model.d.ts +13 -13
  27. package/lib/components/form/autocomplete/autocomplete.component.d.ts +3 -2
  28. package/lib/components/form/dropdown/dropdown.component.d.ts +6 -3
  29. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +1 -0
  30. package/lib/components/layout/main-layout.component.d.ts +2 -3
  31. package/lib/components/layout/topbar.component.d.ts +2 -3
  32. package/lib/descriptors/editor.descriptor.d.ts +3 -1
  33. package/lib/router/models/router.model.d.ts +2 -2
  34. package/lib/router/route-builder.d.ts +18 -4
  35. package/openapi/templates/model.mustache +82 -0
  36. package/openapi/templates/models.mustache +50 -0
  37. package/package.json +1 -1
@@ -483,7 +483,6 @@ class LookupDataProvider extends DataProvider {
483
483
  }
484
484
  }
485
485
 
486
- /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
487
486
  /**
488
487
  * Generated API
489
488
  * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
@@ -497,16 +496,16 @@ class LookupDataProvider extends DataProvider {
497
496
  */
498
497
  var MediusFilterMatchType;
499
498
  (function (MediusFilterMatchType) {
500
- MediusFilterMatchType[MediusFilterMatchType["Equals"] = 'EQUALS'] = "Equals";
501
- MediusFilterMatchType[MediusFilterMatchType["NotEquals"] = 'NOT_EQUALS'] = "NotEquals";
502
- MediusFilterMatchType[MediusFilterMatchType["Contains"] = 'CONTAINS'] = "Contains";
503
- MediusFilterMatchType[MediusFilterMatchType["EndsWith"] = 'ENDS_WITH'] = "EndsWith";
504
- MediusFilterMatchType[MediusFilterMatchType["StartsWith"] = 'STARTS_WITH'] = "StartsWith";
505
- MediusFilterMatchType[MediusFilterMatchType["FromTo"] = 'FROM_TO'] = "FromTo";
506
- MediusFilterMatchType[MediusFilterMatchType["SmallerThan"] = 'SMALLER_THEN'] = "SmallerThan";
507
- MediusFilterMatchType[MediusFilterMatchType["GreaterThan"] = 'GREATER_THEN'] = "GreaterThan";
508
- MediusFilterMatchType[MediusFilterMatchType["In"] = 'IN'] = "In";
509
- MediusFilterMatchType[MediusFilterMatchType["NotIn"] = 'NOT_IN'] = "NotIn";
499
+ MediusFilterMatchType["Equals"] = "EQUALS";
500
+ MediusFilterMatchType["NotEquals"] = "NOT_EQUALS";
501
+ MediusFilterMatchType["FromTo"] = "FROM_TO";
502
+ MediusFilterMatchType["Contains"] = "CONTAINS";
503
+ MediusFilterMatchType["StartsWith"] = "STARTS_WITH";
504
+ MediusFilterMatchType["EndsWith"] = "ENDS_WITH";
505
+ MediusFilterMatchType["In"] = "IN";
506
+ MediusFilterMatchType["NotIn"] = "NOT_IN";
507
+ MediusFilterMatchType["SmallerThan"] = "SMALLER_THAN";
508
+ MediusFilterMatchType["GreaterThan"] = "GREATER_THAN";
510
509
  })(MediusFilterMatchType || (MediusFilterMatchType = {}));
511
510
 
512
511
  /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
@@ -515,23 +514,12 @@ class MediusFilterParam {
515
514
  return MediusFilterParam.attributeTypeMap;
516
515
  }
517
516
  }
518
- MediusFilterParam.discriminator = undefined;
519
517
  MediusFilterParam.attributeTypeMap = [
520
518
  {
521
519
  name: 'property',
522
520
  baseName: 'property',
523
521
  type: 'string'
524
522
  },
525
- {
526
- name: 'filterMatchCaseSensitive',
527
- baseName: 'filter_match_case_sensitive',
528
- type: 'boolean'
529
- },
530
- {
531
- name: 'filterMatchType',
532
- baseName: 'filter_match_type',
533
- type: 'FilterMatchType'
534
- },
535
523
  {
536
524
  name: 'filterValue',
537
525
  baseName: 'filter_value',
@@ -541,6 +529,16 @@ MediusFilterParam.attributeTypeMap = [
541
529
  name: 'filterValueTo',
542
530
  baseName: 'filter_value_to',
543
531
  type: 'object'
532
+ },
533
+ {
534
+ name: 'filterMatchType',
535
+ baseName: 'filter_match_type',
536
+ type: 'FilterMatchType'
537
+ },
538
+ {
539
+ name: 'filterMatchCaseSensitive',
540
+ baseName: 'filter_match_case_sensitive',
541
+ type: 'boolean'
544
542
  }
545
543
  ];
546
544
 
@@ -558,9 +556,9 @@ MediusFilterParam.attributeTypeMap = [
558
556
  */
559
557
  var MediusQueryMode;
560
558
  (function (MediusQueryMode) {
561
- MediusQueryMode[MediusQueryMode["All"] = 'ALL'] = "All";
562
- MediusQueryMode[MediusQueryMode["Count"] = 'COUNT'] = "Count";
563
- MediusQueryMode[MediusQueryMode["Data"] = 'DATA'] = "Data";
559
+ MediusQueryMode["Count"] = "COUNT";
560
+ MediusQueryMode["Data"] = "DATA";
561
+ MediusQueryMode["All"] = "ALL";
564
562
  })(MediusQueryMode || (MediusQueryMode = {}));
565
563
 
566
564
  /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
@@ -569,27 +567,16 @@ class MediusQueryParam {
569
567
  return MediusQueryParam.attributeTypeMap;
570
568
  }
571
569
  }
572
- MediusQueryParam.discriminator = undefined;
573
570
  MediusQueryParam.attributeTypeMap = [
574
571
  {
575
- name: 'filterAllParam',
576
- baseName: 'filter_all_param',
577
- type: 'string'
578
- },
579
- {
580
- name: 'filterAllProperties',
581
- baseName: 'filter_all_properties',
572
+ name: 'sortProperty',
573
+ baseName: 'sort_property',
582
574
  type: 'Array<string>'
583
575
  },
584
576
  {
585
- name: 'filterParams',
586
- baseName: 'filter_params',
587
- type: 'Array<FilterParam>'
588
- },
589
- {
590
- name: 'groupByProperties',
591
- baseName: 'group_by_properties',
592
- type: 'Array<string>'
577
+ name: 'sortAsc',
578
+ baseName: 'sort_asc',
579
+ type: 'Array<boolean>'
593
580
  },
594
581
  {
595
582
  name: 'itemsOffset',
@@ -602,34 +589,44 @@ MediusQueryParam.attributeTypeMap = [
602
589
  type: 'number'
603
590
  },
604
591
  {
605
- name: 'queryMode',
606
- baseName: 'query_mode',
607
- type: 'QueryMode'
592
+ name: 'filterParams',
593
+ baseName: 'filter_params',
594
+ type: 'Array<MediusFilterParam>'
595
+ },
596
+ {
597
+ name: 'filterAllParam',
598
+ baseName: 'filter_all_param',
599
+ type: 'string'
600
+ },
601
+ {
602
+ name: 'filterAllProperties',
603
+ baseName: 'filter_all_properties',
604
+ type: 'Array<string>'
605
+ },
606
+ {
607
+ name: 'validateProperties',
608
+ baseName: 'validate_properties',
609
+ type: 'Array<string>'
608
610
  },
609
611
  {
610
612
  name: 'selectInTwoSteps',
611
613
  baseName: 'select_in_two_steps',
612
614
  type: 'boolean'
613
615
  },
614
- {
615
- name: 'sortAsc',
616
- baseName: 'sort_asc',
617
- type: 'Array<boolean>'
618
- },
619
616
  {
620
617
  name: 'sortEnumByOrdinal',
621
618
  baseName: 'sort_enum_by_ordinal',
622
619
  type: 'boolean'
623
620
  },
624
621
  {
625
- name: 'sortProperty',
626
- baseName: 'sort_property',
622
+ name: 'groupByProperties',
623
+ baseName: 'group_by_properties',
627
624
  type: 'Array<string>'
628
625
  },
629
626
  {
630
- name: 'validateProperties',
631
- baseName: 'validate_properties',
632
- type: 'Array<string>'
627
+ name: 'queryMode',
628
+ baseName: 'query_mode',
629
+ type: 'MediusQueryMode'
633
630
  }
634
631
  ];
635
632
 
@@ -1005,6 +1002,7 @@ class FieldInputDescriptor extends AFieldDescriptor {
1005
1002
  constructor(editor, property) {
1006
1003
  super(editor, property);
1007
1004
  this._fieldType = FieldInputDescriptor.TypeEnum.Text;
1005
+ this._numberUseGrouping = true;
1008
1006
  // radio specific properties
1009
1007
  this._radioOptions = [];
1010
1008
  this._datePickerShowTime = false;
@@ -1030,6 +1028,9 @@ class FieldInputDescriptor extends AFieldDescriptor {
1030
1028
  get numberMaxFractionDigits() {
1031
1029
  return this._numberMaxFractionDigits;
1032
1030
  }
1031
+ get numberUseGrouping() {
1032
+ return this._numberUseGrouping;
1033
+ }
1033
1034
  get radioOptions() {
1034
1035
  return this._radioOptions;
1035
1036
  }
@@ -1081,13 +1082,14 @@ class FieldInputDescriptor extends AFieldDescriptor {
1081
1082
  this._pattern = pattern;
1082
1083
  return this;
1083
1084
  }
1084
- asNumber(step, min, max, minFractionDigits, maxFractionDigits) {
1085
+ asNumber(step, min, max, minFractionDigits, maxFractionDigits, numberUseGrouping = true) {
1085
1086
  this._fieldType = FieldInputDescriptor.TypeEnum.Number;
1086
1087
  this._numberStep = step;
1087
1088
  this._numberMinFractionDigits = minFractionDigits;
1088
1089
  this._numberMaxFractionDigits = maxFractionDigits;
1089
1090
  this._numberMin = min !== null && min !== void 0 ? min : Number.MIN_SAFE_INTEGER;
1090
1091
  this._numberMax = max !== null && max !== void 0 ? max : Number.MAX_SAFE_INTEGER;
1092
+ this._numberUseGrouping = numberUseGrouping;
1091
1093
  return this;
1092
1094
  }
1093
1095
  asSwitch() {
@@ -1138,6 +1140,7 @@ class FieldInputDescriptor extends AFieldDescriptor {
1138
1140
  field._numberStep = this._numberStep;
1139
1141
  field._numberMinFractionDigits = this._numberMinFractionDigits;
1140
1142
  field._numberMaxFractionDigits = this._numberMaxFractionDigits;
1143
+ field._numberUseGrouping = this._numberUseGrouping;
1141
1144
  field._radioOptions = [...this._radioOptions];
1142
1145
  field._datePickerFormat = this._datePickerFormat;
1143
1146
  field._datePickerMin = this._datePickerMin;
@@ -1251,7 +1254,6 @@ class FieldLookupEnumDescriptor extends FieldLookupDescriptor {
1251
1254
  this.withLookupDataProvider(dataProvider);
1252
1255
  this.withItemsLabelProperty('title');
1253
1256
  this.withItemsValueProperty('value');
1254
- this.withDataKeyProperty('value');
1255
1257
  }
1256
1258
  get enumType() {
1257
1259
  return this._enumType;
@@ -2028,7 +2030,6 @@ class FilterLookupEnumDescriptor extends FilterLookupDescriptor {
2028
2030
  this.withLookupDataProvider(dataProvider);
2029
2031
  this.withItemsLabelProperty('title');
2030
2032
  this.withItemsValueProperty('value');
2031
- this.withDataKeyProperty('value');
2032
2033
  }
2033
2034
  get enumType() {
2034
2035
  return this._enumType;
@@ -3482,7 +3483,7 @@ class MngConfigurationService {
3482
3483
  const pathSegments = url.split('/');
3483
3484
  pathSegments[pathSegments.length - 1] = 'env.json';
3484
3485
  return this.http.get(pathSegments.join('/'));
3485
- }), first(), map(res => {
3486
+ }), map(res => {
3486
3487
  this.jsonEnvironments.push(res);
3487
3488
  this.mergeConfigs();
3488
3489
  return true;
@@ -4336,11 +4337,13 @@ class MngAutocompleteComponent {
4336
4337
  console.warn(`Data provider should be provided for MngAutocompleteComponent.`);
4337
4338
  }
4338
4339
  }
4340
+ ngOnDestroy() {
4341
+ var _a;
4342
+ (_a = this.searchSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
4343
+ }
4339
4344
  onSearch(event) {
4340
- if (this.searchSubscription) {
4341
- // try to cancel existing HTTP request subscription
4342
- this.searchSubscription.unsubscribe();
4343
- }
4345
+ var _a;
4346
+ (_a = this.searchSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
4344
4347
  if (this.dataProvider) {
4345
4348
  this.isLoading = true;
4346
4349
  const queryParamBuilder = MediusQueryParamBuilder.create();
@@ -4350,11 +4353,11 @@ class MngAutocompleteComponent {
4350
4353
  if (event.query && event.query.length > 0 && this.itemsLabelProperty) {
4351
4354
  queryParamBuilder.withFilter(this.itemsLabelProperty, event.query, undefined, MediusFilterMatchType.StartsWith);
4352
4355
  }
4353
- this.searchSubscription = this.dataProvider
4354
- .lookup(queryParamBuilder.build(), this.dataProviderService, event.query)
4355
- .pipe(first(), finalize(() => (this.isLoading = false)))
4356
- .subscribe((res) => {
4356
+ this.searchSubscription = this.dataProvider.lookup(queryParamBuilder.build(), this.dataProviderService, event.query).subscribe((res) => {
4357
4357
  this.suggestionsSubject.next(res);
4358
+ this.isLoading = false;
4359
+ }, () => {
4360
+ this.isLoading = false;
4358
4361
  });
4359
4362
  }
4360
4363
  }
@@ -4378,9 +4381,6 @@ class MngAutocompleteComponent {
4378
4381
  }
4379
4382
  writeValue(obj) {
4380
4383
  this.autocompleteFormControl.setValue(obj, { emitEvent: false });
4381
- if (this.primeAutocomplete) {
4382
- this.primeAutocomplete.writeValue(obj);
4383
- }
4384
4384
  }
4385
4385
  }
4386
4386
  MngAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngAutocompleteComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
@@ -4420,6 +4420,7 @@ class MngDropdownComponent {
4420
4420
  this.injector = injector;
4421
4421
  this.multiselect = false;
4422
4422
  this.showClear = true;
4423
+ this.selectFirstItem = false;
4423
4424
  this.className = null;
4424
4425
  this.dropdownClassName = null;
4425
4426
  this.valueChangeEventEmitter = new EventEmitter();
@@ -4441,21 +4442,14 @@ class MngDropdownComponent {
4441
4442
  if (this.dataProvider) {
4442
4443
  this.dataProviderService = this.dataProvider.serviceType ? this.injector.get(this.dataProvider.serviceType) : null;
4443
4444
  const queryParamBuilder = MediusQueryParamBuilder.create();
4444
- this.dataProvider
4445
- .lookup(queryParamBuilder.build(), this.dataProviderService)
4446
- .pipe(first())
4447
- .subscribe(res => {
4445
+ this.itemsSubscription = this.dataProvider.lookup(queryParamBuilder.build(), this.dataProviderService).subscribe(res => {
4448
4446
  this.itemsSubject.next(res);
4449
4447
  });
4450
- if (!((_a = this.dropdownFormControl) === null || _a === void 0 ? void 0 : _a.value)) {
4448
+ if (this.selectFirstItem && !((_a = this.dropdownFormControl) === null || _a === void 0 ? void 0 : _a.value)) {
4451
4449
  this.items$.pipe(first()).subscribe(res => {
4452
4450
  var _a;
4453
- // TODO: check if really only way
4454
- if (res.length === 1) {
4455
- const value = this.itemsValueProperty ? res[0][this.itemsValueProperty] : res[0];
4456
- (_a = this.dropdownFormControl) === null || _a === void 0 ? void 0 : _a.patchValue(value);
4457
- console.log('patched dropdown form value with', value);
4458
- }
4451
+ const value = this.itemsValueProperty ? res[0][this.itemsValueProperty] : res[0];
4452
+ (_a = this.dropdownFormControl) === null || _a === void 0 ? void 0 : _a.setValue(value);
4459
4453
  });
4460
4454
  }
4461
4455
  }
@@ -4463,6 +4457,10 @@ class MngDropdownComponent {
4463
4457
  console.warn(`Data provider should be provided for MngDropdownComponent.`);
4464
4458
  }
4465
4459
  }
4460
+ ngOnDestroy() {
4461
+ var _a;
4462
+ (_a = this.itemsSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
4463
+ }
4466
4464
  registerOnChange(fn) {
4467
4465
  this.onChangeFn = fn;
4468
4466
  }
@@ -4478,16 +4476,14 @@ class MngDropdownComponent {
4478
4476
  }
4479
4477
  }
4480
4478
  writeValue(obj) {
4481
- var _a;
4482
4479
  this.dropdownFormControl.setValue(obj, { emitEvent: false });
4483
- (_a = this.primeDropdown) === null || _a === void 0 ? void 0 : _a.writeValue(obj);
4484
4480
  }
4485
4481
  }
4486
4482
  MngDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngDropdownComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
4487
- MngDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", 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: { valueChangeEventEmitter: "valueChange" }, providers: [MNG_DROPDOWN_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeDropdown", first: true, predicate: Dropdown, descendants: true }], ngImport: i0, template: "<p-dropdown\n *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 appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect\n 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 appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n", components: [{ type: i1$2.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$4.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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i4$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4483
+ MngDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngDropdownComponent, selector: "mng-dropdown", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty", itemsLabelProperty: "itemsLabelProperty", itemsValueProperty: "itemsValueProperty", multiselect: "multiselect", placeholder: "placeholder", showClear: "showClear", selectFirstItem: "selectFirstItem", className: "className", dropdownClassName: "dropdownClassName" }, outputs: { valueChangeEventEmitter: "valueChange" }, providers: [MNG_DROPDOWN_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeDropdown", first: true, predicate: Dropdown, descendants: true }], ngImport: i0, template: "<p-dropdown\n *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]=\"$any(items$ | async)\"\n [showClear]=\"showClear\"\n [autoDisplayFirst]=\"false\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect\n 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 appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n", components: [{ type: i1$2.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$4.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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i4$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4488
4484
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngDropdownComponent, decorators: [{
4489
4485
  type: Component,
4490
- args: [{ selector: 'mng-dropdown', providers: [MNG_DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-dropdown\n *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 appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect\n 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 appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n" }]
4486
+ args: [{ selector: 'mng-dropdown', providers: [MNG_DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-dropdown\n *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]=\"$any(items$ | async)\"\n [showClear]=\"showClear\"\n [autoDisplayFirst]=\"false\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect\n 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 appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n" }]
4491
4487
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { dataProvider: [{
4492
4488
  type: Input
4493
4489
  }], dataKeyProperty: [{
@@ -4502,6 +4498,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
4502
4498
  type: Input
4503
4499
  }], showClear: [{
4504
4500
  type: Input
4501
+ }], selectFirstItem: [{
4502
+ type: Input
4505
4503
  }], className: [{
4506
4504
  type: Input
4507
4505
  }], dropdownClassName: [{
@@ -4674,10 +4672,10 @@ class MngFormlyFieldInputComponent extends FieldType {
4674
4672
  }
4675
4673
  }
4676
4674
  MngFormlyFieldInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4677
- MngFormlyFieldInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldInputComponent, selector: "mng-formly-field-input", usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"to.type\">\n <p-inputNumber\n *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)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\"></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 option of descriptor.radioOptions\" [id]=\"$any(key)\" class=\"field-radiobutton\">\n <p-radioButton [name]=\"$any(key)\" [value]=\"option.value\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\"></p-radioButton>\n <label [for]=\"option.value\" class=\"mng-radio-button-label\">{{ option.title | translate }}</label>\n </div>\n </ng-container>\n\n <textarea *ngSwitchCase=\"'textarea'\" [id]=\"$any(key)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [rows]=\"descriptor.rows ?? 3\" pInputTextarea> </textarea>\n\n <p-calendar\n *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 <p-inputMask\n *ngSwitchCase=\"'mask'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"$any(descriptor.mask)\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [slotChar]=\"$any(descriptor.slotChar)\">\n </p-inputMask>\n\n <input *ngSwitchDefault pInputText [id]=\"$any(key)\" [type]=\"to.type || 'text'\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" />\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$5.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.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"] }, { type: i6$1.InputMask, selector: "p-inputMask", inputs: ["type", "slotChar", "autoClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autoFocus", "autocomplete", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown"] }], directives: [{ type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$3.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: i9$1.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { type: i4$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i10$1.InputText, selector: "[pInputText]" }], pipes: { "translate": i2$2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4675
+ MngFormlyFieldInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldInputComponent, selector: "mng-formly-field-input", usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"to.type\">\n <p-inputNumber\n *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 [useGrouping]=\"$any(descriptor.numberUseGrouping)\"\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)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\"></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 option of descriptor.radioOptions\" [id]=\"$any(key)\" class=\"field-radiobutton\">\n <p-radioButton [name]=\"$any(key)\" [value]=\"option.value\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\"></p-radioButton>\n <label [for]=\"option.value\" class=\"mng-radio-button-label\">{{ option.title | translate }}</label>\n </div>\n </ng-container>\n\n <textarea *ngSwitchCase=\"'textarea'\" [id]=\"$any(key)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [rows]=\"descriptor.rows ?? 3\" pInputTextarea> </textarea>\n\n <p-calendar\n *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 <p-inputMask\n *ngSwitchCase=\"'mask'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"$any(descriptor.mask)\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [slotChar]=\"$any(descriptor.slotChar)\">\n </p-inputMask>\n\n <input *ngSwitchDefault pInputText [id]=\"$any(key)\" [type]=\"to.type || 'text'\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" />\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$5.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.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"] }, { type: i6$1.InputMask, selector: "p-inputMask", inputs: ["type", "slotChar", "autoClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autoFocus", "autocomplete", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown"] }], directives: [{ type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$3.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: i9$1.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { type: i4$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i10$1.InputText, selector: "[pInputText]" }], pipes: { "translate": i2$2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4678
4676
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldInputComponent, decorators: [{
4679
4677
  type: Component,
4680
- args: [{ selector: 'mng-formly-field-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"to.type\">\n <p-inputNumber\n *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)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\"></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 option of descriptor.radioOptions\" [id]=\"$any(key)\" class=\"field-radiobutton\">\n <p-radioButton [name]=\"$any(key)\" [value]=\"option.value\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\"></p-radioButton>\n <label [for]=\"option.value\" class=\"mng-radio-button-label\">{{ option.title | translate }}</label>\n </div>\n </ng-container>\n\n <textarea *ngSwitchCase=\"'textarea'\" [id]=\"$any(key)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [rows]=\"descriptor.rows ?? 3\" pInputTextarea> </textarea>\n\n <p-calendar\n *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 <p-inputMask\n *ngSwitchCase=\"'mask'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"$any(descriptor.mask)\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [slotChar]=\"$any(descriptor.slotChar)\">\n </p-inputMask>\n\n <input *ngSwitchDefault pInputText [id]=\"$any(key)\" [type]=\"to.type || 'text'\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" />\n</ng-container>\n" }]
4678
+ args: [{ selector: 'mng-formly-field-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"to.type\">\n <p-inputNumber\n *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 [useGrouping]=\"$any(descriptor.numberUseGrouping)\"\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)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\"></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 option of descriptor.radioOptions\" [id]=\"$any(key)\" class=\"field-radiobutton\">\n <p-radioButton [name]=\"$any(key)\" [value]=\"option.value\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\"></p-radioButton>\n <label [for]=\"option.value\" class=\"mng-radio-button-label\">{{ option.title | translate }}</label>\n </div>\n </ng-container>\n\n <textarea *ngSwitchCase=\"'textarea'\" [id]=\"$any(key)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [rows]=\"descriptor.rows ?? 3\" pInputTextarea> </textarea>\n\n <p-calendar\n *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 <p-inputMask\n *ngSwitchCase=\"'mask'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"$any(descriptor.mask)\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [slotChar]=\"$any(descriptor.slotChar)\">\n </p-inputMask>\n\n <input *ngSwitchDefault pInputText [id]=\"$any(key)\" [type]=\"to.type || 'text'\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" />\n</ng-container>\n" }]
4681
4679
  }] });
4682
4680
 
4683
4681
  class MngFormlyFieldDropdownComponent extends FieldType {
@@ -4687,10 +4685,10 @@ class MngFormlyFieldDropdownComponent extends FieldType {
4687
4685
  }
4688
4686
  }
4689
4687
  MngFormlyFieldDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4690
- MngFormlyFieldDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldDropdownComponent, selector: "mng-formly-field-dropdown", usesInheritance: true, ngImport: i0, template: "<mng-dropdown\n [id]=\"$any(key)\"\n [formControl]=\"dFormControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [dataProvider]=\"descriptor.dataProvider\"\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: ["valueChange"] }], directives: [{ type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4688
+ MngFormlyFieldDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldDropdownComponent, selector: "mng-formly-field-dropdown", usesInheritance: true, ngImport: i0, template: "<mng-dropdown\n [id]=\"$any(key)\"\n [formControl]=\"dFormControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [dataProvider]=\"descriptor.dataProvider\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [itemsValueProperty]=\"$any(descriptor.itemsValueProperty)\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\"\n [showClear]=\"!this.to.required\">\n</mng-dropdown>\n", components: [{ type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsValueProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4691
4689
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldDropdownComponent, decorators: [{
4692
4690
  type: Component,
4693
- args: [{ selector: 'mng-formly-field-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-dropdown\n [id]=\"$any(key)\"\n [formControl]=\"dFormControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [dataProvider]=\"descriptor.dataProvider\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [itemsValueProperty]=\"$any(descriptor.itemsValueProperty)\"\n [showClear]=\"!this.to.required\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\">\n</mng-dropdown>\n" }]
4691
+ args: [{ selector: 'mng-formly-field-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-dropdown\n [id]=\"$any(key)\"\n [formControl]=\"dFormControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [dataProvider]=\"descriptor.dataProvider\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [itemsValueProperty]=\"$any(descriptor.itemsValueProperty)\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\"\n [showClear]=\"!this.to.required\">\n</mng-dropdown>\n" }]
4694
4692
  }] });
4695
4693
 
4696
4694
  class MngTableLoadEvent {
@@ -4775,7 +4773,7 @@ class MngTableColumnFilterComponent {
4775
4773
  }
4776
4774
  }
4777
4775
  MngTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, deps: [{ token: i2$1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
4778
- 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 [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", "itemsValueProperty", "multiselect", "placeholder", "showClear", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i2$2.TranslatePipe } });
4776
+ 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 [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", "itemsValueProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i2$2.TranslatePipe } });
4779
4777
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
4780
4778
  type: Component,
4781
4779
  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 [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" }]
@@ -5010,6 +5008,8 @@ class MngTableComponent {
5010
5008
  });
5011
5009
  }
5012
5010
  ngOnDestroy() {
5011
+ var _a;
5012
+ (_a = this.dataProviderSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
5013
5013
  this.subscriptions.forEach(s => s.unsubscribe());
5014
5014
  }
5015
5015
  reload(emitEvent = false, resetParams = false) {
@@ -5051,20 +5051,18 @@ class MngTableComponent {
5051
5051
  this.selectionChangeEventEmitter.emit(event);
5052
5052
  }
5053
5053
  loadTableWithDataProvider(queryParam = null, emitEvent = true) {
5054
- var _a, _b;
5054
+ var _a, _b, _c;
5055
5055
  if (!this.useDataProvider) {
5056
5056
  return;
5057
5057
  }
5058
- if (this.dataProviderSubscription) {
5059
- this.dataProviderSubscription.unsubscribe();
5060
- }
5058
+ (_a = this.dataProviderSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
5061
5059
  this.dataProviderLoadingSubject.next(true);
5062
5060
  if (!queryParam) {
5063
5061
  queryParam = MediusQueryParamBuilder.create(this.rowsPerPageOptions[0]).build();
5064
5062
  }
5065
5063
  this.dataProviderLatestQueryParam = queryParam;
5066
5064
  this.dataProviderLatestQueryParamVersion++;
5067
- this.dataProviderSubscription = (_a = this.dataProvider) === null || _a === void 0 ? void 0 : _a.getAll(queryParam, this.dataProviderService).pipe(first(), finalize(() => this.dataProviderLoadingSubject.next(false))).subscribe(res => {
5065
+ this.dataProviderSubscription = (_b = this.dataProvider) === null || _b === void 0 ? void 0 : _b.getAll(queryParam, this.dataProviderService).subscribe(res => {
5068
5066
  var _a, _b, _c;
5069
5067
  if (this.infiniteScroll) {
5070
5068
  if (this.isFilterChanged || this.isSortChanged) {
@@ -5078,16 +5076,18 @@ class MngTableComponent {
5078
5076
  }
5079
5077
  this.isFilterChanged = false;
5080
5078
  this.isSortChanged = false;
5079
+ this.dataProviderLoadingSubject.next(false);
5081
5080
  }, err => {
5082
5081
  ToastUtil.tableNotificationError(this.translate, this.descriptor, err, this.tableviewService);
5083
5082
  const emptyQueryResult = new MediusQueryResult();
5084
5083
  emptyQueryResult.pageData = [];
5085
5084
  emptyQueryResult.allDataCount = 0;
5086
5085
  this.dataProviderQueryResultSubject.next(emptyQueryResult);
5086
+ this.dataProviderLoadingSubject.next(false);
5087
5087
  });
5088
5088
  if (emitEvent) {
5089
5089
  const mngEvent = new MngTableLoadEvent();
5090
- mngEvent.originalEvent = (_b = this.dataProviderLatestLazyLoadEvent) !== null && _b !== void 0 ? _b : undefined;
5090
+ mngEvent.originalEvent = (_c = this.dataProviderLatestLazyLoadEvent) !== null && _c !== void 0 ? _c : undefined;
5091
5091
  mngEvent.queryParam = queryParam;
5092
5092
  this.loadEventEmitter.next(mngEvent);
5093
5093
  }
@@ -5324,6 +5324,8 @@ class MngFormlyFieldTableDialogMultiselectComponent extends FieldType {
5324
5324
  this.subscriptions.push(subscription);
5325
5325
  }
5326
5326
  ngOnDestroy() {
5327
+ var _a;
5328
+ (_a = this.lookupDataProviderSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
5327
5329
  this.subscriptions.forEach(s => s.unsubscribe());
5328
5330
  }
5329
5331
  openAddDialog() {
@@ -5338,9 +5340,12 @@ class MngFormlyFieldTableDialogMultiselectComponent extends FieldType {
5338
5340
  const filterValues = this.formControl.value.map((i) => i[this.descriptor.excludeValueProperty]);
5339
5341
  queryParamBuilder.withFilter(this.descriptor.excludeFilterProperty, filterValues, undefined, MediusFilterMatchType.NotIn);
5340
5342
  }
5341
- (_a = this.descriptor.lookupTableDataProvider) === null || _a === void 0 ? void 0 : _a.getAll(queryParamBuilder.build(), this.dialogDataProviderService).pipe(first(), finalize(() => this.dialogIsLoadingSubject.next(false))).subscribe(res => {
5343
+ this.lookupDataProviderSubscription = (_a = this.descriptor.lookupTableDataProvider) === null || _a === void 0 ? void 0 : _a.getAll(queryParamBuilder.build(), this.dialogDataProviderService).subscribe(res => {
5342
5344
  this.addItemsSubject.next(res);
5343
5345
  this.dialogAreItemsLoaded = true;
5346
+ this.dialogIsLoadingSubject.next(false);
5347
+ }, () => {
5348
+ this.dialogIsLoadingSubject.next(false);
5344
5349
  });
5345
5350
  }
5346
5351
  this.dialogSelectedAddItems = [];
@@ -5883,8 +5888,6 @@ class MngTopbarComponent {
5883
5888
  this.mngCommons.user$.subscribe(u => {
5884
5889
  this.user = u;
5885
5890
  });
5886
- }
5887
- ngAfterViewInit() {
5888
5891
  this.mainLayoutService.innerWidth = window.innerWidth;
5889
5892
  }
5890
5893
  switchLanguage(language) {
@@ -5927,8 +5930,6 @@ class MngMainLayoutComponent {
5927
5930
  if (routeData === null || routeData === void 0 ? void 0 : routeData.footerComponent) {
5928
5931
  this.footerComponent = routeData.footerComponent;
5929
5932
  }
5930
- }
5931
- ngAfterViewInit() {
5932
5933
  this.mainLayoutService.innerWidth = window.innerWidth;
5933
5934
  }
5934
5935
  onWindowResize(event) {
@@ -6740,12 +6741,30 @@ class RoutesBuilder {
6740
6741
  constructor(layoutRoute) {
6741
6742
  this.routes = [];
6742
6743
  this.layoutRoute = layoutRoute === null || layoutRoute === void 0 ? void 0 : layoutRoute.withRoot(this);
6744
+ this.currentRoute = layoutRoute;
6743
6745
  }
6744
6746
  static create() {
6745
6747
  return new RoutesBuilder();
6746
6748
  }
6747
- static createWithLayout(layoutComponent = MngMainLayoutComponent) {
6748
- const routesBuilder = new RoutesBuilder(RouteBuilder.create('', layoutComponent));
6749
+ static createWithLayout(layoutComponent = MngMainLayoutComponent, topbarComponent, breadcrumbComponent, menuComponent, footerComponent) {
6750
+ const layoutRoute = RouteBuilder.create('', layoutComponent);
6751
+ if (topbarComponent || breadcrumbComponent || menuComponent || footerComponent) {
6752
+ const dataBuilder = RouteDataBuilder.create();
6753
+ if (topbarComponent) {
6754
+ dataBuilder.withTopbarComponent(topbarComponent);
6755
+ }
6756
+ if (breadcrumbComponent) {
6757
+ dataBuilder.withBreadcrumbComponent(breadcrumbComponent);
6758
+ }
6759
+ if (menuComponent) {
6760
+ dataBuilder.withMenuComponent(menuComponent);
6761
+ }
6762
+ if (footerComponent) {
6763
+ dataBuilder.withFooterComponent(footerComponent);
6764
+ }
6765
+ layoutRoute.withDataBuilder(dataBuilder);
6766
+ }
6767
+ const routesBuilder = new RoutesBuilder(layoutRoute);
6749
6768
  return routesBuilder;
6750
6769
  }
6751
6770
  addAngularRoute(route) {
@@ -6835,15 +6854,9 @@ class RouteBuilder {
6835
6854
  static createFromRoute(route) {
6836
6855
  return new RouteBuilder(route);
6837
6856
  }
6838
- static createTableviewRoutes(path, descriptor, tableviewDataProvider, actions, hasDetails = true, hasEdit = true, hasAdd = true) {
6857
+ static createTableviewRoutes(path, descriptor, dataProvider, actions, hasDetails = true, hasEdit = true, hasAdd = true) {
6839
6858
  const tableviewRoute = RouteBuilder.createFromRoute({
6840
- data: {
6841
- tableviewData: {
6842
- descriptor: descriptor,
6843
- dataProvider: tableviewDataProvider,
6844
- actions: actions
6845
- }
6846
- },
6859
+ data: RouteDataBuilder.create().withTableview(descriptor, dataProvider, actions).build(),
6847
6860
  path: path,
6848
6861
  component: MngTableviewRouteComponent
6849
6862
  });
@@ -6925,6 +6938,10 @@ class RouteBuilder {
6925
6938
  this.route.data = data;
6926
6939
  return this;
6927
6940
  }
6941
+ withDataBuilder(dataBuilder) {
6942
+ this.route.data = dataBuilder.build();
6943
+ return this;
6944
+ }
6928
6945
  withMngMenuItem(menuItem) {
6929
6946
  this.menuItem = menuItem;
6930
6947
  return this;
@@ -7095,6 +7112,54 @@ class RouteBuilder {
7095
7112
  return guards;
7096
7113
  }
7097
7114
  }
7115
+ class RouteDataBuilder {
7116
+ constructor(init) {
7117
+ this.data = init !== null && init !== void 0 ? init : {};
7118
+ if (!this.data.breadcrumb) {
7119
+ this.data.breadcrumb = null;
7120
+ }
7121
+ }
7122
+ static create(data) {
7123
+ return new RouteDataBuilder(data);
7124
+ }
7125
+ withBreadcrumb(breadcrumb) {
7126
+ this.data.breadcrumb = breadcrumb;
7127
+ return this;
7128
+ }
7129
+ withPageTitle(pageTitle) {
7130
+ this.data.pageTitle = pageTitle;
7131
+ return this;
7132
+ }
7133
+ withTableview(descriptor, dataProvider, actions) {
7134
+ this.data.tableview = {
7135
+ descriptor: descriptor,
7136
+ dataProvider: dataProvider
7137
+ };
7138
+ if (actions) {
7139
+ this.data.tableview.actions = actions;
7140
+ }
7141
+ return this;
7142
+ }
7143
+ withTopbarComponent(component) {
7144
+ this.data.topbarComponent = component;
7145
+ return this;
7146
+ }
7147
+ withBreadcrumbComponent(component) {
7148
+ this.data.breadcrumbComponent = component;
7149
+ return this;
7150
+ }
7151
+ withMenuComponent(component) {
7152
+ this.data.menuComponent = component;
7153
+ return this;
7154
+ }
7155
+ withFooterComponent(component) {
7156
+ this.data.footerComponent = component;
7157
+ return this;
7158
+ }
7159
+ build() {
7160
+ return this.data;
7161
+ }
7162
+ }
7098
7163
 
7099
7164
  /*
7100
7165
  * Public API Surface of mng-commons
@@ -7104,5 +7169,5 @@ class RouteBuilder {
7104
7169
  * Generated bundle index. Do not edit.
7105
7170
  */
7106
7171
 
7107
- 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, EnumName, EnumUtil, 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, MngActionDialogComponent, MngActionRouteComponent, MngActionService, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDropdownComponent, MngEnumPipe, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngI18nPropertyPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngPropertyPathPipe, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTopbarComponent, ModelDescriptor, ModelUtil, ObjectSerializer, RouteBuilder, RoutesBuilder, TableDescriptor, TableviewComponentService, TableviewDataProvider, TableviewDescriptor, ToastUtil, TypeName, TypeUtil, enumNameDecoratorPropertyName, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getEmailValidationMessage, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage, mngCommonsInitializerProvider, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
7172
+ 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, EnumName, EnumUtil, 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, MngActionDialogComponent, MngActionRouteComponent, MngActionService, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDropdownComponent, MngEnumPipe, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngI18nPropertyPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngPropertyPathPipe, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTopbarComponent, ModelDescriptor, ModelUtil, ObjectSerializer, RouteBuilder, RouteDataBuilder, RoutesBuilder, TableDescriptor, TableviewComponentService, TableviewDataProvider, TableviewDescriptor, ToastUtil, TypeName, TypeUtil, enumNameDecoratorPropertyName, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getEmailValidationMessage, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage, mngCommonsInitializerProvider, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
7108
7173
  //# sourceMappingURL=mediusinc-mng-commons.mjs.map