@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
@@ -472,7 +472,6 @@ class LookupDataProvider extends DataProvider {
472
472
  }
473
473
  }
474
474
 
475
- /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
476
475
  /**
477
476
  * Generated API
478
477
  * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
@@ -486,16 +485,16 @@ class LookupDataProvider extends DataProvider {
486
485
  */
487
486
  var MediusFilterMatchType;
488
487
  (function (MediusFilterMatchType) {
489
- MediusFilterMatchType[MediusFilterMatchType["Equals"] = 'EQUALS'] = "Equals";
490
- MediusFilterMatchType[MediusFilterMatchType["NotEquals"] = 'NOT_EQUALS'] = "NotEquals";
491
- MediusFilterMatchType[MediusFilterMatchType["Contains"] = 'CONTAINS'] = "Contains";
492
- MediusFilterMatchType[MediusFilterMatchType["EndsWith"] = 'ENDS_WITH'] = "EndsWith";
493
- MediusFilterMatchType[MediusFilterMatchType["StartsWith"] = 'STARTS_WITH'] = "StartsWith";
494
- MediusFilterMatchType[MediusFilterMatchType["FromTo"] = 'FROM_TO'] = "FromTo";
495
- MediusFilterMatchType[MediusFilterMatchType["SmallerThan"] = 'SMALLER_THEN'] = "SmallerThan";
496
- MediusFilterMatchType[MediusFilterMatchType["GreaterThan"] = 'GREATER_THEN'] = "GreaterThan";
497
- MediusFilterMatchType[MediusFilterMatchType["In"] = 'IN'] = "In";
498
- MediusFilterMatchType[MediusFilterMatchType["NotIn"] = 'NOT_IN'] = "NotIn";
488
+ MediusFilterMatchType["Equals"] = "EQUALS";
489
+ MediusFilterMatchType["NotEquals"] = "NOT_EQUALS";
490
+ MediusFilterMatchType["FromTo"] = "FROM_TO";
491
+ MediusFilterMatchType["Contains"] = "CONTAINS";
492
+ MediusFilterMatchType["StartsWith"] = "STARTS_WITH";
493
+ MediusFilterMatchType["EndsWith"] = "ENDS_WITH";
494
+ MediusFilterMatchType["In"] = "IN";
495
+ MediusFilterMatchType["NotIn"] = "NOT_IN";
496
+ MediusFilterMatchType["SmallerThan"] = "SMALLER_THAN";
497
+ MediusFilterMatchType["GreaterThan"] = "GREATER_THAN";
499
498
  })(MediusFilterMatchType || (MediusFilterMatchType = {}));
500
499
 
501
500
  /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
@@ -504,23 +503,12 @@ class MediusFilterParam {
504
503
  return MediusFilterParam.attributeTypeMap;
505
504
  }
506
505
  }
507
- MediusFilterParam.discriminator = undefined;
508
506
  MediusFilterParam.attributeTypeMap = [
509
507
  {
510
508
  name: 'property',
511
509
  baseName: 'property',
512
510
  type: 'string'
513
511
  },
514
- {
515
- name: 'filterMatchCaseSensitive',
516
- baseName: 'filter_match_case_sensitive',
517
- type: 'boolean'
518
- },
519
- {
520
- name: 'filterMatchType',
521
- baseName: 'filter_match_type',
522
- type: 'FilterMatchType'
523
- },
524
512
  {
525
513
  name: 'filterValue',
526
514
  baseName: 'filter_value',
@@ -530,6 +518,16 @@ MediusFilterParam.attributeTypeMap = [
530
518
  name: 'filterValueTo',
531
519
  baseName: 'filter_value_to',
532
520
  type: 'object'
521
+ },
522
+ {
523
+ name: 'filterMatchType',
524
+ baseName: 'filter_match_type',
525
+ type: 'FilterMatchType'
526
+ },
527
+ {
528
+ name: 'filterMatchCaseSensitive',
529
+ baseName: 'filter_match_case_sensitive',
530
+ type: 'boolean'
533
531
  }
534
532
  ];
535
533
 
@@ -547,9 +545,9 @@ MediusFilterParam.attributeTypeMap = [
547
545
  */
548
546
  var MediusQueryMode;
549
547
  (function (MediusQueryMode) {
550
- MediusQueryMode[MediusQueryMode["All"] = 'ALL'] = "All";
551
- MediusQueryMode[MediusQueryMode["Count"] = 'COUNT'] = "Count";
552
- MediusQueryMode[MediusQueryMode["Data"] = 'DATA'] = "Data";
548
+ MediusQueryMode["Count"] = "COUNT";
549
+ MediusQueryMode["Data"] = "DATA";
550
+ MediusQueryMode["All"] = "ALL";
553
551
  })(MediusQueryMode || (MediusQueryMode = {}));
554
552
 
555
553
  /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
@@ -558,27 +556,16 @@ class MediusQueryParam {
558
556
  return MediusQueryParam.attributeTypeMap;
559
557
  }
560
558
  }
561
- MediusQueryParam.discriminator = undefined;
562
559
  MediusQueryParam.attributeTypeMap = [
563
560
  {
564
- name: 'filterAllParam',
565
- baseName: 'filter_all_param',
566
- type: 'string'
567
- },
568
- {
569
- name: 'filterAllProperties',
570
- baseName: 'filter_all_properties',
561
+ name: 'sortProperty',
562
+ baseName: 'sort_property',
571
563
  type: 'Array<string>'
572
564
  },
573
565
  {
574
- name: 'filterParams',
575
- baseName: 'filter_params',
576
- type: 'Array<FilterParam>'
577
- },
578
- {
579
- name: 'groupByProperties',
580
- baseName: 'group_by_properties',
581
- type: 'Array<string>'
566
+ name: 'sortAsc',
567
+ baseName: 'sort_asc',
568
+ type: 'Array<boolean>'
582
569
  },
583
570
  {
584
571
  name: 'itemsOffset',
@@ -591,34 +578,44 @@ MediusQueryParam.attributeTypeMap = [
591
578
  type: 'number'
592
579
  },
593
580
  {
594
- name: 'queryMode',
595
- baseName: 'query_mode',
596
- type: 'QueryMode'
581
+ name: 'filterParams',
582
+ baseName: 'filter_params',
583
+ type: 'Array<MediusFilterParam>'
584
+ },
585
+ {
586
+ name: 'filterAllParam',
587
+ baseName: 'filter_all_param',
588
+ type: 'string'
589
+ },
590
+ {
591
+ name: 'filterAllProperties',
592
+ baseName: 'filter_all_properties',
593
+ type: 'Array<string>'
594
+ },
595
+ {
596
+ name: 'validateProperties',
597
+ baseName: 'validate_properties',
598
+ type: 'Array<string>'
597
599
  },
598
600
  {
599
601
  name: 'selectInTwoSteps',
600
602
  baseName: 'select_in_two_steps',
601
603
  type: 'boolean'
602
604
  },
603
- {
604
- name: 'sortAsc',
605
- baseName: 'sort_asc',
606
- type: 'Array<boolean>'
607
- },
608
605
  {
609
606
  name: 'sortEnumByOrdinal',
610
607
  baseName: 'sort_enum_by_ordinal',
611
608
  type: 'boolean'
612
609
  },
613
610
  {
614
- name: 'sortProperty',
615
- baseName: 'sort_property',
611
+ name: 'groupByProperties',
612
+ baseName: 'group_by_properties',
616
613
  type: 'Array<string>'
617
614
  },
618
615
  {
619
- name: 'validateProperties',
620
- baseName: 'validate_properties',
621
- type: 'Array<string>'
616
+ name: 'queryMode',
617
+ baseName: 'query_mode',
618
+ type: 'MediusQueryMode'
622
619
  }
623
620
  ];
624
621
 
@@ -990,6 +987,7 @@ class FieldInputDescriptor extends AFieldDescriptor {
990
987
  constructor(editor, property) {
991
988
  super(editor, property);
992
989
  this._fieldType = FieldInputDescriptor.TypeEnum.Text;
990
+ this._numberUseGrouping = true;
993
991
  // radio specific properties
994
992
  this._radioOptions = [];
995
993
  this._datePickerShowTime = false;
@@ -1015,6 +1013,9 @@ class FieldInputDescriptor extends AFieldDescriptor {
1015
1013
  get numberMaxFractionDigits() {
1016
1014
  return this._numberMaxFractionDigits;
1017
1015
  }
1016
+ get numberUseGrouping() {
1017
+ return this._numberUseGrouping;
1018
+ }
1018
1019
  get radioOptions() {
1019
1020
  return this._radioOptions;
1020
1021
  }
@@ -1066,13 +1067,14 @@ class FieldInputDescriptor extends AFieldDescriptor {
1066
1067
  this._pattern = pattern;
1067
1068
  return this;
1068
1069
  }
1069
- asNumber(step, min, max, minFractionDigits, maxFractionDigits) {
1070
+ asNumber(step, min, max, minFractionDigits, maxFractionDigits, numberUseGrouping = true) {
1070
1071
  this._fieldType = FieldInputDescriptor.TypeEnum.Number;
1071
1072
  this._numberStep = step;
1072
1073
  this._numberMinFractionDigits = minFractionDigits;
1073
1074
  this._numberMaxFractionDigits = maxFractionDigits;
1074
1075
  this._numberMin = min ?? Number.MIN_SAFE_INTEGER;
1075
1076
  this._numberMax = max ?? Number.MAX_SAFE_INTEGER;
1077
+ this._numberUseGrouping = numberUseGrouping;
1076
1078
  return this;
1077
1079
  }
1078
1080
  asSwitch() {
@@ -1123,6 +1125,7 @@ class FieldInputDescriptor extends AFieldDescriptor {
1123
1125
  field._numberStep = this._numberStep;
1124
1126
  field._numberMinFractionDigits = this._numberMinFractionDigits;
1125
1127
  field._numberMaxFractionDigits = this._numberMaxFractionDigits;
1128
+ field._numberUseGrouping = this._numberUseGrouping;
1126
1129
  field._radioOptions = [...this._radioOptions];
1127
1130
  field._datePickerFormat = this._datePickerFormat;
1128
1131
  field._datePickerMin = this._datePickerMin;
@@ -1236,7 +1239,6 @@ class FieldLookupEnumDescriptor extends FieldLookupDescriptor {
1236
1239
  this.withLookupDataProvider(dataProvider);
1237
1240
  this.withItemsLabelProperty('title');
1238
1241
  this.withItemsValueProperty('value');
1239
- this.withDataKeyProperty('value');
1240
1242
  }
1241
1243
  get enumType() {
1242
1244
  return this._enumType;
@@ -2011,7 +2013,6 @@ class FilterLookupEnumDescriptor extends FilterLookupDescriptor {
2011
2013
  this.withLookupDataProvider(dataProvider);
2012
2014
  this.withItemsLabelProperty('title');
2013
2015
  this.withItemsValueProperty('value');
2014
- this.withDataKeyProperty('value');
2015
2016
  }
2016
2017
  get enumType() {
2017
2018
  return this._enumType;
@@ -3451,7 +3452,7 @@ class MngConfigurationService {
3451
3452
  const pathSegments = url.split('/');
3452
3453
  pathSegments[pathSegments.length - 1] = 'env.json';
3453
3454
  return this.http.get(pathSegments.join('/'));
3454
- }), first(), map(res => {
3455
+ }), map(res => {
3455
3456
  this.jsonEnvironments.push(res);
3456
3457
  this.mergeConfigs();
3457
3458
  return true;
@@ -4285,11 +4286,11 @@ class MngAutocompleteComponent {
4285
4286
  console.warn(`Data provider should be provided for MngAutocompleteComponent.`);
4286
4287
  }
4287
4288
  }
4289
+ ngOnDestroy() {
4290
+ this.searchSubscription?.unsubscribe();
4291
+ }
4288
4292
  onSearch(event) {
4289
- if (this.searchSubscription) {
4290
- // try to cancel existing HTTP request subscription
4291
- this.searchSubscription.unsubscribe();
4292
- }
4293
+ this.searchSubscription?.unsubscribe();
4293
4294
  if (this.dataProvider) {
4294
4295
  this.isLoading = true;
4295
4296
  const queryParamBuilder = MediusQueryParamBuilder.create();
@@ -4299,11 +4300,11 @@ class MngAutocompleteComponent {
4299
4300
  if (event.query && event.query.length > 0 && this.itemsLabelProperty) {
4300
4301
  queryParamBuilder.withFilter(this.itemsLabelProperty, event.query, undefined, MediusFilterMatchType.StartsWith);
4301
4302
  }
4302
- this.searchSubscription = this.dataProvider
4303
- .lookup(queryParamBuilder.build(), this.dataProviderService, event.query)
4304
- .pipe(first(), finalize(() => (this.isLoading = false)))
4305
- .subscribe((res) => {
4303
+ this.searchSubscription = this.dataProvider.lookup(queryParamBuilder.build(), this.dataProviderService, event.query).subscribe((res) => {
4306
4304
  this.suggestionsSubject.next(res);
4305
+ this.isLoading = false;
4306
+ }, () => {
4307
+ this.isLoading = false;
4307
4308
  });
4308
4309
  }
4309
4310
  }
@@ -4327,9 +4328,6 @@ class MngAutocompleteComponent {
4327
4328
  }
4328
4329
  writeValue(obj) {
4329
4330
  this.autocompleteFormControl.setValue(obj, { emitEvent: false });
4330
- if (this.primeAutocomplete) {
4331
- this.primeAutocomplete.writeValue(obj);
4332
- }
4333
4331
  }
4334
4332
  }
4335
4333
  MngAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngAutocompleteComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
@@ -4369,6 +4367,7 @@ class MngDropdownComponent {
4369
4367
  this.injector = injector;
4370
4368
  this.multiselect = false;
4371
4369
  this.showClear = true;
4370
+ this.selectFirstItem = false;
4372
4371
  this.className = null;
4373
4372
  this.dropdownClassName = null;
4374
4373
  this.valueChangeEventEmitter = new EventEmitter();
@@ -4389,20 +4388,13 @@ class MngDropdownComponent {
4389
4388
  if (this.dataProvider) {
4390
4389
  this.dataProviderService = this.dataProvider.serviceType ? this.injector.get(this.dataProvider.serviceType) : null;
4391
4390
  const queryParamBuilder = MediusQueryParamBuilder.create();
4392
- this.dataProvider
4393
- .lookup(queryParamBuilder.build(), this.dataProviderService)
4394
- .pipe(first())
4395
- .subscribe(res => {
4391
+ this.itemsSubscription = this.dataProvider.lookup(queryParamBuilder.build(), this.dataProviderService).subscribe(res => {
4396
4392
  this.itemsSubject.next(res);
4397
4393
  });
4398
- if (!this.dropdownFormControl?.value) {
4394
+ if (this.selectFirstItem && !this.dropdownFormControl?.value) {
4399
4395
  this.items$.pipe(first()).subscribe(res => {
4400
- // TODO: check if really only way
4401
- if (res.length === 1) {
4402
- const value = this.itemsValueProperty ? res[0][this.itemsValueProperty] : res[0];
4403
- this.dropdownFormControl?.patchValue(value);
4404
- console.log('patched dropdown form value with', value);
4405
- }
4396
+ const value = this.itemsValueProperty ? res[0][this.itemsValueProperty] : res[0];
4397
+ this.dropdownFormControl?.setValue(value);
4406
4398
  });
4407
4399
  }
4408
4400
  }
@@ -4410,6 +4402,9 @@ class MngDropdownComponent {
4410
4402
  console.warn(`Data provider should be provided for MngDropdownComponent.`);
4411
4403
  }
4412
4404
  }
4405
+ ngOnDestroy() {
4406
+ this.itemsSubscription?.unsubscribe();
4407
+ }
4413
4408
  registerOnChange(fn) {
4414
4409
  this.onChangeFn = fn;
4415
4410
  }
@@ -4426,14 +4421,13 @@ class MngDropdownComponent {
4426
4421
  }
4427
4422
  writeValue(obj) {
4428
4423
  this.dropdownFormControl.setValue(obj, { emitEvent: false });
4429
- this.primeDropdown?.writeValue(obj);
4430
4424
  }
4431
4425
  }
4432
4426
  MngDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngDropdownComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
4433
- 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 });
4427
+ 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 });
4434
4428
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngDropdownComponent, decorators: [{
4435
4429
  type: Component,
4436
- 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" }]
4430
+ 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" }]
4437
4431
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { dataProvider: [{
4438
4432
  type: Input
4439
4433
  }], dataKeyProperty: [{
@@ -4448,6 +4442,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
4448
4442
  type: Input
4449
4443
  }], showClear: [{
4450
4444
  type: Input
4445
+ }], selectFirstItem: [{
4446
+ type: Input
4451
4447
  }], className: [{
4452
4448
  type: Input
4453
4449
  }], dropdownClassName: [{
@@ -4619,10 +4615,10 @@ class MngFormlyFieldInputComponent extends FieldType {
4619
4615
  }
4620
4616
  }
4621
4617
  MngFormlyFieldInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4622
- 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 });
4618
+ 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 });
4623
4619
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldInputComponent, decorators: [{
4624
4620
  type: Component,
4625
- 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" }]
4621
+ 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" }]
4626
4622
  }] });
4627
4623
 
4628
4624
  class MngFormlyFieldDropdownComponent extends FieldType {
@@ -4632,10 +4628,10 @@ class MngFormlyFieldDropdownComponent extends FieldType {
4632
4628
  }
4633
4629
  }
4634
4630
  MngFormlyFieldDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4635
- 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 });
4631
+ 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 });
4636
4632
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldDropdownComponent, decorators: [{
4637
4633
  type: Component,
4638
- 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" }]
4634
+ 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" }]
4639
4635
  }] });
4640
4636
 
4641
4637
  class MngTableLoadEvent {
@@ -4719,7 +4715,7 @@ class MngTableColumnFilterComponent {
4719
4715
  }
4720
4716
  }
4721
4717
  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 });
4722
- 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 } });
4718
+ 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 } });
4723
4719
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
4724
4720
  type: Component,
4725
4721
  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" }]
@@ -4954,6 +4950,7 @@ class MngTableComponent {
4954
4950
  });
4955
4951
  }
4956
4952
  ngOnDestroy() {
4953
+ this.dataProviderSubscription?.unsubscribe();
4957
4954
  this.subscriptions.forEach(s => s.unsubscribe());
4958
4955
  }
4959
4956
  reload(emitEvent = false, resetParams = false) {
@@ -4997,19 +4994,14 @@ class MngTableComponent {
4997
4994
  if (!this.useDataProvider) {
4998
4995
  return;
4999
4996
  }
5000
- if (this.dataProviderSubscription) {
5001
- this.dataProviderSubscription.unsubscribe();
5002
- }
4997
+ this.dataProviderSubscription?.unsubscribe();
5003
4998
  this.dataProviderLoadingSubject.next(true);
5004
4999
  if (!queryParam) {
5005
5000
  queryParam = MediusQueryParamBuilder.create(this.rowsPerPageOptions[0]).build();
5006
5001
  }
5007
5002
  this.dataProviderLatestQueryParam = queryParam;
5008
5003
  this.dataProviderLatestQueryParamVersion++;
5009
- this.dataProviderSubscription = this.dataProvider
5010
- ?.getAll(queryParam, this.dataProviderService)
5011
- .pipe(first(), finalize(() => this.dataProviderLoadingSubject.next(false)))
5012
- .subscribe(res => {
5004
+ this.dataProviderSubscription = this.dataProvider?.getAll(queryParam, this.dataProviderService).subscribe(res => {
5013
5005
  if (this.infiniteScroll) {
5014
5006
  if (this.isFilterChanged || this.isSortChanged) {
5015
5007
  this.dataProviderInfiniteScrollItems = [];
@@ -5022,12 +5014,14 @@ class MngTableComponent {
5022
5014
  }
5023
5015
  this.isFilterChanged = false;
5024
5016
  this.isSortChanged = false;
5017
+ this.dataProviderLoadingSubject.next(false);
5025
5018
  }, err => {
5026
5019
  ToastUtil.tableNotificationError(this.translate, this.descriptor, err, this.tableviewService);
5027
5020
  const emptyQueryResult = new MediusQueryResult();
5028
5021
  emptyQueryResult.pageData = [];
5029
5022
  emptyQueryResult.allDataCount = 0;
5030
5023
  this.dataProviderQueryResultSubject.next(emptyQueryResult);
5024
+ this.dataProviderLoadingSubject.next(false);
5031
5025
  });
5032
5026
  if (emitEvent) {
5033
5027
  const mngEvent = new MngTableLoadEvent();
@@ -5260,6 +5254,7 @@ class MngFormlyFieldTableDialogMultiselectComponent extends FieldType {
5260
5254
  this.subscriptions.push(subscription);
5261
5255
  }
5262
5256
  ngOnDestroy() {
5257
+ this.lookupDataProviderSubscription?.unsubscribe();
5263
5258
  this.subscriptions.forEach(s => s.unsubscribe());
5264
5259
  }
5265
5260
  openAddDialog() {
@@ -5273,12 +5268,12 @@ class MngFormlyFieldTableDialogMultiselectComponent extends FieldType {
5273
5268
  const filterValues = this.formControl.value.map((i) => i[this.descriptor.excludeValueProperty]);
5274
5269
  queryParamBuilder.withFilter(this.descriptor.excludeFilterProperty, filterValues, undefined, MediusFilterMatchType.NotIn);
5275
5270
  }
5276
- this.descriptor.lookupTableDataProvider
5277
- ?.getAll(queryParamBuilder.build(), this.dialogDataProviderService)
5278
- .pipe(first(), finalize(() => this.dialogIsLoadingSubject.next(false)))
5279
- .subscribe(res => {
5271
+ this.lookupDataProviderSubscription = this.descriptor.lookupTableDataProvider?.getAll(queryParamBuilder.build(), this.dialogDataProviderService).subscribe(res => {
5280
5272
  this.addItemsSubject.next(res);
5281
5273
  this.dialogAreItemsLoaded = true;
5274
+ this.dialogIsLoadingSubject.next(false);
5275
+ }, () => {
5276
+ this.dialogIsLoadingSubject.next(false);
5282
5277
  });
5283
5278
  }
5284
5279
  this.dialogSelectedAddItems = [];
@@ -5819,8 +5814,6 @@ class MngTopbarComponent {
5819
5814
  this.mngCommons.user$.subscribe(u => {
5820
5815
  this.user = u;
5821
5816
  });
5822
- }
5823
- ngAfterViewInit() {
5824
5817
  this.mainLayoutService.innerWidth = window.innerWidth;
5825
5818
  }
5826
5819
  switchLanguage(language) {
@@ -5863,8 +5856,6 @@ class MngMainLayoutComponent {
5863
5856
  if (routeData?.footerComponent) {
5864
5857
  this.footerComponent = routeData.footerComponent;
5865
5858
  }
5866
- }
5867
- ngAfterViewInit() {
5868
5859
  this.mainLayoutService.innerWidth = window.innerWidth;
5869
5860
  }
5870
5861
  onWindowResize(event) {
@@ -6663,12 +6654,30 @@ class RoutesBuilder {
6663
6654
  constructor(layoutRoute) {
6664
6655
  this.routes = [];
6665
6656
  this.layoutRoute = layoutRoute?.withRoot(this);
6657
+ this.currentRoute = layoutRoute;
6666
6658
  }
6667
6659
  static create() {
6668
6660
  return new RoutesBuilder();
6669
6661
  }
6670
- static createWithLayout(layoutComponent = MngMainLayoutComponent) {
6671
- const routesBuilder = new RoutesBuilder(RouteBuilder.create('', layoutComponent));
6662
+ static createWithLayout(layoutComponent = MngMainLayoutComponent, topbarComponent, breadcrumbComponent, menuComponent, footerComponent) {
6663
+ const layoutRoute = RouteBuilder.create('', layoutComponent);
6664
+ if (topbarComponent || breadcrumbComponent || menuComponent || footerComponent) {
6665
+ const dataBuilder = RouteDataBuilder.create();
6666
+ if (topbarComponent) {
6667
+ dataBuilder.withTopbarComponent(topbarComponent);
6668
+ }
6669
+ if (breadcrumbComponent) {
6670
+ dataBuilder.withBreadcrumbComponent(breadcrumbComponent);
6671
+ }
6672
+ if (menuComponent) {
6673
+ dataBuilder.withMenuComponent(menuComponent);
6674
+ }
6675
+ if (footerComponent) {
6676
+ dataBuilder.withFooterComponent(footerComponent);
6677
+ }
6678
+ layoutRoute.withDataBuilder(dataBuilder);
6679
+ }
6680
+ const routesBuilder = new RoutesBuilder(layoutRoute);
6672
6681
  return routesBuilder;
6673
6682
  }
6674
6683
  addAngularRoute(route) {
@@ -6758,15 +6767,9 @@ class RouteBuilder {
6758
6767
  static createFromRoute(route) {
6759
6768
  return new RouteBuilder(route);
6760
6769
  }
6761
- static createTableviewRoutes(path, descriptor, tableviewDataProvider, actions, hasDetails = true, hasEdit = true, hasAdd = true) {
6770
+ static createTableviewRoutes(path, descriptor, dataProvider, actions, hasDetails = true, hasEdit = true, hasAdd = true) {
6762
6771
  const tableviewRoute = RouteBuilder.createFromRoute({
6763
- data: {
6764
- tableviewData: {
6765
- descriptor: descriptor,
6766
- dataProvider: tableviewDataProvider,
6767
- actions: actions
6768
- }
6769
- },
6772
+ data: RouteDataBuilder.create().withTableview(descriptor, dataProvider, actions).build(),
6770
6773
  path: path,
6771
6774
  component: MngTableviewRouteComponent
6772
6775
  });
@@ -6847,6 +6850,10 @@ class RouteBuilder {
6847
6850
  this.route.data = data;
6848
6851
  return this;
6849
6852
  }
6853
+ withDataBuilder(dataBuilder) {
6854
+ this.route.data = dataBuilder.build();
6855
+ return this;
6856
+ }
6850
6857
  withMngMenuItem(menuItem) {
6851
6858
  this.menuItem = menuItem;
6852
6859
  return this;
@@ -7016,6 +7023,54 @@ class RouteBuilder {
7016
7023
  return guards;
7017
7024
  }
7018
7025
  }
7026
+ class RouteDataBuilder {
7027
+ constructor(init) {
7028
+ this.data = init ?? {};
7029
+ if (!this.data.breadcrumb) {
7030
+ this.data.breadcrumb = null;
7031
+ }
7032
+ }
7033
+ static create(data) {
7034
+ return new RouteDataBuilder(data);
7035
+ }
7036
+ withBreadcrumb(breadcrumb) {
7037
+ this.data.breadcrumb = breadcrumb;
7038
+ return this;
7039
+ }
7040
+ withPageTitle(pageTitle) {
7041
+ this.data.pageTitle = pageTitle;
7042
+ return this;
7043
+ }
7044
+ withTableview(descriptor, dataProvider, actions) {
7045
+ this.data.tableview = {
7046
+ descriptor: descriptor,
7047
+ dataProvider: dataProvider
7048
+ };
7049
+ if (actions) {
7050
+ this.data.tableview.actions = actions;
7051
+ }
7052
+ return this;
7053
+ }
7054
+ withTopbarComponent(component) {
7055
+ this.data.topbarComponent = component;
7056
+ return this;
7057
+ }
7058
+ withBreadcrumbComponent(component) {
7059
+ this.data.breadcrumbComponent = component;
7060
+ return this;
7061
+ }
7062
+ withMenuComponent(component) {
7063
+ this.data.menuComponent = component;
7064
+ return this;
7065
+ }
7066
+ withFooterComponent(component) {
7067
+ this.data.footerComponent = component;
7068
+ return this;
7069
+ }
7070
+ build() {
7071
+ return this.data;
7072
+ }
7073
+ }
7019
7074
 
7020
7075
  /*
7021
7076
  * Public API Surface of mng-commons
@@ -7025,5 +7080,5 @@ class RouteBuilder {
7025
7080
  * Generated bundle index. Do not edit.
7026
7081
  */
7027
7082
 
7028
- 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 };
7083
+ 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 };
7029
7084
  //# sourceMappingURL=mediusinc-mng-commons.mjs.map