@mediusinc/mng-commons 0.2.16 → 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 (26) hide show
  1. package/esm2020/lib/api/models/filter-param.model.mjs +1 -1
  2. package/esm2020/lib/api/models/query-param.model.mjs +1 -1
  3. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +9 -10
  4. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +5 -7
  5. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +3 -3
  6. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +7 -6
  7. package/esm2020/lib/components/layout/topbar.component.mjs +1 -3
  8. package/esm2020/lib/components/tableview/table/table.component.mjs +7 -9
  9. package/esm2020/lib/descriptors/editor.descriptor.mjs +8 -2
  10. package/esm2020/lib/router/models/router.model.mjs +1 -1
  11. package/esm2020/lib/router/route-builder.mjs +75 -11
  12. package/esm2020/lib/services/configuration.service.mjs +3 -3
  13. package/fesm2015/mediusinc-mng-commons.mjs +114 -38
  14. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  15. package/fesm2020/mediusinc-mng-commons.mjs +107 -42
  16. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  17. package/lib/api/models/filter-param.model.d.ts +1 -1
  18. package/lib/api/models/query-param.model.d.ts +1 -1
  19. package/lib/components/form/autocomplete/autocomplete.component.d.ts +3 -2
  20. package/lib/components/form/dropdown/dropdown.component.d.ts +4 -4
  21. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +1 -0
  22. package/lib/components/layout/topbar.component.d.ts +2 -3
  23. package/lib/descriptors/editor.descriptor.d.ts +3 -1
  24. package/lib/router/models/router.model.d.ts +2 -2
  25. package/lib/router/route-builder.d.ts +18 -4
  26. package/package.json +1 -1
@@ -1002,6 +1002,7 @@ class FieldInputDescriptor extends AFieldDescriptor {
1002
1002
  constructor(editor, property) {
1003
1003
  super(editor, property);
1004
1004
  this._fieldType = FieldInputDescriptor.TypeEnum.Text;
1005
+ this._numberUseGrouping = true;
1005
1006
  // radio specific properties
1006
1007
  this._radioOptions = [];
1007
1008
  this._datePickerShowTime = false;
@@ -1027,6 +1028,9 @@ class FieldInputDescriptor extends AFieldDescriptor {
1027
1028
  get numberMaxFractionDigits() {
1028
1029
  return this._numberMaxFractionDigits;
1029
1030
  }
1031
+ get numberUseGrouping() {
1032
+ return this._numberUseGrouping;
1033
+ }
1030
1034
  get radioOptions() {
1031
1035
  return this._radioOptions;
1032
1036
  }
@@ -1078,13 +1082,14 @@ class FieldInputDescriptor extends AFieldDescriptor {
1078
1082
  this._pattern = pattern;
1079
1083
  return this;
1080
1084
  }
1081
- asNumber(step, min, max, minFractionDigits, maxFractionDigits) {
1085
+ asNumber(step, min, max, minFractionDigits, maxFractionDigits, numberUseGrouping = true) {
1082
1086
  this._fieldType = FieldInputDescriptor.TypeEnum.Number;
1083
1087
  this._numberStep = step;
1084
1088
  this._numberMinFractionDigits = minFractionDigits;
1085
1089
  this._numberMaxFractionDigits = maxFractionDigits;
1086
1090
  this._numberMin = min !== null && min !== void 0 ? min : Number.MIN_SAFE_INTEGER;
1087
1091
  this._numberMax = max !== null && max !== void 0 ? max : Number.MAX_SAFE_INTEGER;
1092
+ this._numberUseGrouping = numberUseGrouping;
1088
1093
  return this;
1089
1094
  }
1090
1095
  asSwitch() {
@@ -1135,6 +1140,7 @@ class FieldInputDescriptor extends AFieldDescriptor {
1135
1140
  field._numberStep = this._numberStep;
1136
1141
  field._numberMinFractionDigits = this._numberMinFractionDigits;
1137
1142
  field._numberMaxFractionDigits = this._numberMaxFractionDigits;
1143
+ field._numberUseGrouping = this._numberUseGrouping;
1138
1144
  field._radioOptions = [...this._radioOptions];
1139
1145
  field._datePickerFormat = this._datePickerFormat;
1140
1146
  field._datePickerMin = this._datePickerMin;
@@ -3477,7 +3483,7 @@ class MngConfigurationService {
3477
3483
  const pathSegments = url.split('/');
3478
3484
  pathSegments[pathSegments.length - 1] = 'env.json';
3479
3485
  return this.http.get(pathSegments.join('/'));
3480
- }), first(), map(res => {
3486
+ }), map(res => {
3481
3487
  this.jsonEnvironments.push(res);
3482
3488
  this.mergeConfigs();
3483
3489
  return true;
@@ -4331,11 +4337,13 @@ class MngAutocompleteComponent {
4331
4337
  console.warn(`Data provider should be provided for MngAutocompleteComponent.`);
4332
4338
  }
4333
4339
  }
4340
+ ngOnDestroy() {
4341
+ var _a;
4342
+ (_a = this.searchSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
4343
+ }
4334
4344
  onSearch(event) {
4335
- if (this.searchSubscription) {
4336
- // try to cancel existing HTTP request subscription
4337
- this.searchSubscription.unsubscribe();
4338
- }
4345
+ var _a;
4346
+ (_a = this.searchSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
4339
4347
  if (this.dataProvider) {
4340
4348
  this.isLoading = true;
4341
4349
  const queryParamBuilder = MediusQueryParamBuilder.create();
@@ -4345,11 +4353,11 @@ class MngAutocompleteComponent {
4345
4353
  if (event.query && event.query.length > 0 && this.itemsLabelProperty) {
4346
4354
  queryParamBuilder.withFilter(this.itemsLabelProperty, event.query, undefined, MediusFilterMatchType.StartsWith);
4347
4355
  }
4348
- this.searchSubscription = this.dataProvider
4349
- .lookup(queryParamBuilder.build(), this.dataProviderService, event.query)
4350
- .pipe(first(), finalize(() => (this.isLoading = false)))
4351
- .subscribe((res) => {
4356
+ this.searchSubscription = this.dataProvider.lookup(queryParamBuilder.build(), this.dataProviderService, event.query).subscribe((res) => {
4352
4357
  this.suggestionsSubject.next(res);
4358
+ this.isLoading = false;
4359
+ }, () => {
4360
+ this.isLoading = false;
4353
4361
  });
4354
4362
  }
4355
4363
  }
@@ -4424,8 +4432,6 @@ class MngDropdownComponent {
4424
4432
  this.onTouchedFn = () => { };
4425
4433
  this.dropdownFormControl = new FormControl();
4426
4434
  this.items$ = this.itemsSubject.asObservable();
4427
- this.items = [];
4428
- this.itemsLoaded = false;
4429
4435
  }
4430
4436
  ngOnInit() {
4431
4437
  var _a;
@@ -4436,10 +4442,7 @@ class MngDropdownComponent {
4436
4442
  if (this.dataProvider) {
4437
4443
  this.dataProviderService = this.dataProvider.serviceType ? this.injector.get(this.dataProvider.serviceType) : null;
4438
4444
  const queryParamBuilder = MediusQueryParamBuilder.create();
4439
- this.dataProvider
4440
- .lookup(queryParamBuilder.build(), this.dataProviderService)
4441
- .pipe(first())
4442
- .subscribe(res => {
4445
+ this.itemsSubscription = this.dataProvider.lookup(queryParamBuilder.build(), this.dataProviderService).subscribe(res => {
4443
4446
  this.itemsSubject.next(res);
4444
4447
  });
4445
4448
  if (this.selectFirstItem && !((_a = this.dropdownFormControl) === null || _a === void 0 ? void 0 : _a.value)) {
@@ -4454,6 +4457,10 @@ class MngDropdownComponent {
4454
4457
  console.warn(`Data provider should be provided for MngDropdownComponent.`);
4455
4458
  }
4456
4459
  }
4460
+ ngOnDestroy() {
4461
+ var _a;
4462
+ (_a = this.itemsSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
4463
+ }
4457
4464
  registerOnChange(fn) {
4458
4465
  this.onChangeFn = fn;
4459
4466
  }
@@ -4665,10 +4672,10 @@ class MngFormlyFieldInputComponent extends FieldType {
4665
4672
  }
4666
4673
  }
4667
4674
  MngFormlyFieldInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4668
- 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 });
4669
4676
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldInputComponent, decorators: [{
4670
4677
  type: Component,
4671
- 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" }]
4672
4679
  }] });
4673
4680
 
4674
4681
  class MngFormlyFieldDropdownComponent extends FieldType {
@@ -5001,6 +5008,8 @@ class MngTableComponent {
5001
5008
  });
5002
5009
  }
5003
5010
  ngOnDestroy() {
5011
+ var _a;
5012
+ (_a = this.dataProviderSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
5004
5013
  this.subscriptions.forEach(s => s.unsubscribe());
5005
5014
  }
5006
5015
  reload(emitEvent = false, resetParams = false) {
@@ -5042,20 +5051,18 @@ class MngTableComponent {
5042
5051
  this.selectionChangeEventEmitter.emit(event);
5043
5052
  }
5044
5053
  loadTableWithDataProvider(queryParam = null, emitEvent = true) {
5045
- var _a, _b;
5054
+ var _a, _b, _c;
5046
5055
  if (!this.useDataProvider) {
5047
5056
  return;
5048
5057
  }
5049
- if (this.dataProviderSubscription) {
5050
- this.dataProviderSubscription.unsubscribe();
5051
- }
5058
+ (_a = this.dataProviderSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
5052
5059
  this.dataProviderLoadingSubject.next(true);
5053
5060
  if (!queryParam) {
5054
5061
  queryParam = MediusQueryParamBuilder.create(this.rowsPerPageOptions[0]).build();
5055
5062
  }
5056
5063
  this.dataProviderLatestQueryParam = queryParam;
5057
5064
  this.dataProviderLatestQueryParamVersion++;
5058
- 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 => {
5059
5066
  var _a, _b, _c;
5060
5067
  if (this.infiniteScroll) {
5061
5068
  if (this.isFilterChanged || this.isSortChanged) {
@@ -5069,16 +5076,18 @@ class MngTableComponent {
5069
5076
  }
5070
5077
  this.isFilterChanged = false;
5071
5078
  this.isSortChanged = false;
5079
+ this.dataProviderLoadingSubject.next(false);
5072
5080
  }, err => {
5073
5081
  ToastUtil.tableNotificationError(this.translate, this.descriptor, err, this.tableviewService);
5074
5082
  const emptyQueryResult = new MediusQueryResult();
5075
5083
  emptyQueryResult.pageData = [];
5076
5084
  emptyQueryResult.allDataCount = 0;
5077
5085
  this.dataProviderQueryResultSubject.next(emptyQueryResult);
5086
+ this.dataProviderLoadingSubject.next(false);
5078
5087
  });
5079
5088
  if (emitEvent) {
5080
5089
  const mngEvent = new MngTableLoadEvent();
5081
- mngEvent.originalEvent = (_b = this.dataProviderLatestLazyLoadEvent) !== null && _b !== void 0 ? _b : undefined;
5090
+ mngEvent.originalEvent = (_c = this.dataProviderLatestLazyLoadEvent) !== null && _c !== void 0 ? _c : undefined;
5082
5091
  mngEvent.queryParam = queryParam;
5083
5092
  this.loadEventEmitter.next(mngEvent);
5084
5093
  }
@@ -5315,6 +5324,8 @@ class MngFormlyFieldTableDialogMultiselectComponent extends FieldType {
5315
5324
  this.subscriptions.push(subscription);
5316
5325
  }
5317
5326
  ngOnDestroy() {
5327
+ var _a;
5328
+ (_a = this.lookupDataProviderSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
5318
5329
  this.subscriptions.forEach(s => s.unsubscribe());
5319
5330
  }
5320
5331
  openAddDialog() {
@@ -5329,9 +5340,12 @@ class MngFormlyFieldTableDialogMultiselectComponent extends FieldType {
5329
5340
  const filterValues = this.formControl.value.map((i) => i[this.descriptor.excludeValueProperty]);
5330
5341
  queryParamBuilder.withFilter(this.descriptor.excludeFilterProperty, filterValues, undefined, MediusFilterMatchType.NotIn);
5331
5342
  }
5332
- (_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 => {
5333
5344
  this.addItemsSubject.next(res);
5334
5345
  this.dialogAreItemsLoaded = true;
5346
+ this.dialogIsLoadingSubject.next(false);
5347
+ }, () => {
5348
+ this.dialogIsLoadingSubject.next(false);
5335
5349
  });
5336
5350
  }
5337
5351
  this.dialogSelectedAddItems = [];
@@ -5874,8 +5888,6 @@ class MngTopbarComponent {
5874
5888
  this.mngCommons.user$.subscribe(u => {
5875
5889
  this.user = u;
5876
5890
  });
5877
- }
5878
- ngAfterViewInit() {
5879
5891
  this.mainLayoutService.innerWidth = window.innerWidth;
5880
5892
  }
5881
5893
  switchLanguage(language) {
@@ -6729,12 +6741,30 @@ class RoutesBuilder {
6729
6741
  constructor(layoutRoute) {
6730
6742
  this.routes = [];
6731
6743
  this.layoutRoute = layoutRoute === null || layoutRoute === void 0 ? void 0 : layoutRoute.withRoot(this);
6744
+ this.currentRoute = layoutRoute;
6732
6745
  }
6733
6746
  static create() {
6734
6747
  return new RoutesBuilder();
6735
6748
  }
6736
- static createWithLayout(layoutComponent = MngMainLayoutComponent) {
6737
- 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);
6738
6768
  return routesBuilder;
6739
6769
  }
6740
6770
  addAngularRoute(route) {
@@ -6824,15 +6854,9 @@ class RouteBuilder {
6824
6854
  static createFromRoute(route) {
6825
6855
  return new RouteBuilder(route);
6826
6856
  }
6827
- 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) {
6828
6858
  const tableviewRoute = RouteBuilder.createFromRoute({
6829
- data: {
6830
- tableviewData: {
6831
- descriptor: descriptor,
6832
- dataProvider: tableviewDataProvider,
6833
- actions: actions
6834
- }
6835
- },
6859
+ data: RouteDataBuilder.create().withTableview(descriptor, dataProvider, actions).build(),
6836
6860
  path: path,
6837
6861
  component: MngTableviewRouteComponent
6838
6862
  });
@@ -6914,6 +6938,10 @@ class RouteBuilder {
6914
6938
  this.route.data = data;
6915
6939
  return this;
6916
6940
  }
6941
+ withDataBuilder(dataBuilder) {
6942
+ this.route.data = dataBuilder.build();
6943
+ return this;
6944
+ }
6917
6945
  withMngMenuItem(menuItem) {
6918
6946
  this.menuItem = menuItem;
6919
6947
  return this;
@@ -7084,6 +7112,54 @@ class RouteBuilder {
7084
7112
  return guards;
7085
7113
  }
7086
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
+ }
7087
7163
 
7088
7164
  /*
7089
7165
  * Public API Surface of mng-commons
@@ -7093,5 +7169,5 @@ class RouteBuilder {
7093
7169
  * Generated bundle index. Do not edit.
7094
7170
  */
7095
7171
 
7096
- 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 };
7097
7173
  //# sourceMappingURL=mediusinc-mng-commons.mjs.map