@mediusinc/mng-commons 5.4.0-rc.5 → 5.4.0-rc.6

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 (45) hide show
  1. package/core/data-list/data-list-params-helpers.d.ts +12 -2
  2. package/esm2022/core/data-list/data-list-params-helpers.mjs +14 -8
  3. package/esm2022/filter/descriptors/filter-generic.descriptor.mjs +11 -1
  4. package/esm2022/form/components/autocomplete/autocomplete.component.mjs +10 -5
  5. package/esm2022/form/components/dropdown/dropdown.component.mjs +67 -99
  6. package/esm2022/table/api/descriptors/table.descriptor.mjs +6 -2
  7. package/esm2022/table/components/filter/filter-form/filter-form.component.mjs +11 -11
  8. package/esm2022/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.mjs +4 -3
  9. package/esm2022/table/components/table/table.component.mjs +45 -9
  10. package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +4 -18
  11. package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +9 -1
  12. package/esm2022/tableview/api/editor/descriptors/field-group.descriptor.mjs +10 -1
  13. package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +14 -2
  14. package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +24 -5
  15. package/esm2022/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +3 -3
  16. package/esm2022/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +3 -3
  17. package/esm2022/tableview/editor/helpers/editor-formly.mjs +7 -1
  18. package/fesm2022/mediusinc-mng-commons-core.mjs +13 -7
  19. package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
  20. package/fesm2022/mediusinc-mng-commons-filter.mjs +10 -0
  21. package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
  22. package/fesm2022/mediusinc-mng-commons-form.mjs +75 -103
  23. package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
  24. package/fesm2022/mediusinc-mng-commons-table-api.mjs +5 -1
  25. package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
  26. package/fesm2022/mediusinc-mng-commons-table.mjs +57 -20
  27. package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
  28. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +30 -1
  29. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
  30. package/fesm2022/mediusinc-mng-commons-tableview.mjs +35 -24
  31. package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
  32. package/filter/descriptors/filter-generic.descriptor.d.ts +5 -2
  33. package/form/components/autocomplete/autocomplete.component.d.ts +1 -0
  34. package/form/components/dropdown/dropdown.component.d.ts +5 -10
  35. package/package.json +7 -7
  36. package/table/api/descriptors/table.descriptor.d.ts +1 -0
  37. package/table/components/filter/filter-form/filter-form.component.d.ts +11 -8
  38. package/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.d.ts +3 -2
  39. package/table/components/table/table.component.d.ts +6 -2
  40. package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +0 -2
  41. package/tableview/api/editor/descriptors/editor.descriptor.d.ts +3 -0
  42. package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +5 -0
  43. package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +8 -0
  44. package/tableview/editor/components/editor/form-editor.component.d.ts +5 -1
  45. package/version-info.json +5 -5
@@ -2,10 +2,13 @@ import { LookupDataProviderInst } from '@mediusinc/mng-commons/form/api';
2
2
  import { FilterGenericProperty } from '../models/filter-generic-property.model';
3
3
  export declare class FilterGenericDescriptor {
4
4
  protected _propertyLookup: LookupDataProviderInst<FilterGenericProperty>;
5
+ protected _propertySearch?: boolean;
5
6
  protected _valueLookup?: LookupDataProviderInst<string, any, any, 'field'>;
6
7
  constructor(propertyLookupDataProvider: LookupDataProviderInst<FilterGenericProperty>);
7
- get propertyLookup(): LookupDataProviderInst<FilterGenericProperty, any, keyof FilterGenericProperty, keyof FilterGenericProperty, import("libs/commons/dist/core").ClassOptType<FilterGenericProperty>, import("libs/commons/dist/core").ServiceClassOptType<any>>;
8
- get valueLookup(): LookupDataProviderInst<string, any, any, "field", import("libs/commons/dist/core").ClassOptType<string>, import("libs/commons/dist/core").ServiceClassOptType<any>> | undefined;
8
+ get propertyLookup(): LookupDataProviderInst<FilterGenericProperty>;
9
+ get propertySearch(): boolean | undefined;
10
+ get valueLookup(): LookupDataProviderInst<string, any, any, 'field'> | undefined;
9
11
  withValueLookup(valueLookup: LookupDataProviderInst<string, any, any, 'field'>): this;
12
+ withPropertySearch(search?: boolean): this;
10
13
  copy(): FilterGenericDescriptor;
11
14
  }
@@ -29,6 +29,7 @@ export declare class AutocompleteComponent implements ControlValueAccessor, OnIn
29
29
  disabledInput: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
30
30
  valueChange: import("@angular/core").OutputEmitterRef<any>;
31
31
  blur: import("@angular/core").OutputEmitterRef<Event>;
32
+ private primeAutocomplete;
32
33
  private isInited;
33
34
  private searchSubscription;
34
35
  private dataProviderService;
@@ -47,8 +47,9 @@ export declare class DropdownComponent implements ControlValueAccessor {
47
47
  items: import("@angular/core").WritableSignal<any[]>;
48
48
  private firstTimeSettingItems;
49
49
  private isDropdownPanelShown;
50
- private valueSuggestionProviderSubscription;
51
- private valueSuggestionResultCacheSubject?;
50
+ private fetchedItems;
51
+ private optionsSubscription?;
52
+ private customInputSubject;
52
53
  optionsLabelProperty: import("@angular/core").Signal<string | undefined>;
53
54
  optionsValueProperty: import("@angular/core").Signal<string | undefined>;
54
55
  get value(): any;
@@ -59,11 +60,12 @@ export declare class DropdownComponent implements ControlValueAccessor {
59
60
  writeValue(value: any): void;
60
61
  onDropdownBlur(event: Event): void;
61
62
  onDropdownChange(event: DropdownChangeEvent): void;
63
+ private searchItems;
64
+ private fetchItems;
62
65
  /**
63
66
  * Sets the items in the dropdown. If a query is provided, the items will be filtered by the query (using a 'starts with' filter).
64
67
  *
65
68
  * @param items The items to set.
66
- * @param [query] The query to filter the items by.
67
69
  */
68
70
  private setItems;
69
71
  onDropdownPanelShow(): void;
@@ -75,13 +77,6 @@ export declare class DropdownComponent implements ControlValueAccessor {
75
77
  private transformItems;
76
78
  private adjustValueOnItemsValuePropertyTypeMismatch;
77
79
  private propagateValueChange;
78
- /**
79
- * Gets the lookup from the data provider.
80
- *
81
- * @param params The parameters to pass to the lookup.
82
- * @param [query] The search query to filter the items by.
83
- */
84
- private getLookup;
85
80
  /**
86
81
  * Trims the leading and/or trailing whitespace from the given value based on the search trimming mode.
87
82
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons",
3
- "version": "5.4.0-rc.5",
3
+ "version": "5.4.0-rc.6",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "^17.3.0 || ^18.0.0",
6
6
  "@angular/common": "^17.3.0 || ^18.0.0",
@@ -44,18 +44,18 @@
44
44
  "esm": "./esm2022/filter/mediusinc-mng-commons-filter.mjs",
45
45
  "default": "./fesm2022/mediusinc-mng-commons-filter.mjs"
46
46
  },
47
- "./form": {
48
- "types": "./form/index.d.ts",
49
- "esm2022": "./esm2022/form/mediusinc-mng-commons-form.mjs",
50
- "esm": "./esm2022/form/mediusinc-mng-commons-form.mjs",
51
- "default": "./fesm2022/mediusinc-mng-commons-form.mjs"
52
- },
53
47
  "./model": {
54
48
  "types": "./model/index.d.ts",
55
49
  "esm2022": "./esm2022/model/mediusinc-mng-commons-model.mjs",
56
50
  "esm": "./esm2022/model/mediusinc-mng-commons-model.mjs",
57
51
  "default": "./fesm2022/mediusinc-mng-commons-model.mjs"
58
52
  },
53
+ "./form": {
54
+ "types": "./form/index.d.ts",
55
+ "esm2022": "./esm2022/form/mediusinc-mng-commons-form.mjs",
56
+ "esm": "./esm2022/form/mediusinc-mng-commons-form.mjs",
57
+ "default": "./fesm2022/mediusinc-mng-commons-form.mjs"
58
+ },
59
59
  "./table": {
60
60
  "types": "./table/index.d.ts",
61
61
  "esm2022": "./esm2022/table/mediusinc-mng-commons-table.mjs",
@@ -422,6 +422,7 @@ export declare class TableDescriptorInst<TableModel, Sorts = keyof TableModel, F
422
422
  * @return Created filter descriptor
423
423
  */
424
424
  addFilterFromColumn<Property extends keyof TableModel, FilterModel = NonNullable<TableModel[Property]>>(property: Extract<Filters, Property>, displayType?: FilterDisplayTypeEnum, forceSimple?: boolean): FilterDescriptor<FilterModel, TableModel>;
425
+ addGenericFilter(propertyLookupDataProvider: LookupDataProviderInst<FilterGenericProperty>): FilterGenericDescriptor;
425
426
  withGenericFilter(propertyLookupDataProvider: LookupDataProviderInst<FilterGenericProperty>, valueLookupDataProvider?: LookupDataProviderInst<string, any, any, 'field'>): this;
426
427
  /**
427
428
  * Creates filter descriptors from columns. The columns must exist on table descriptor.
@@ -2,7 +2,7 @@ import { NgForm } from '@angular/forms';
2
2
  import { SelectItem } from 'primeng/api';
3
3
  import { OverlayPanel } from 'primeng/overlaypanel';
4
4
  import { FilterMatchMode, FilterMatchModeExtendedType, ILookupDataProvider } from '@mediusinc/mng-commons/core';
5
- import { FilterDescriptor, FilterLookupDescriptor, FilterLookupTypeEnum, FilterTypeEnum } from '@mediusinc/mng-commons/filter';
5
+ import { FilterDescriptor, FilterGenericDescriptor, FilterLookupDescriptor, FilterLookupTypeEnum, FilterTypeEnum } from '@mediusinc/mng-commons/filter';
6
6
  import { ModelDescriptor } from '@mediusinc/mng-commons/model';
7
7
  import { CommonsFilterMetadataWithDescriptor, FilterFormEmitEvent } from '../../../models/filter.model';
8
8
  import * as i0 from "@angular/core";
@@ -17,18 +17,16 @@ export declare class FilterFormComponent {
17
17
  private readonly translate;
18
18
  title: import("@angular/core").InputSignal<string | undefined>;
19
19
  descriptors: import("@angular/core").InputSignal<FilterDescriptor<any, any>[]>;
20
+ genericDescriptor: import("@angular/core").InputSignal<FilterGenericDescriptor | undefined>;
20
21
  model: import("@angular/core").InputSignal<ModelDescriptor<any, import("@mediusinc/mng-commons/core").ClassOptType<any>>>;
21
22
  filter: import("@angular/core").InputSignal<CommonsFilterMetadataWithDescriptor | undefined>;
22
23
  overlay: import("@angular/core").InputSignal<OverlayPanel | undefined>;
23
24
  disabledProperties: import("@angular/core").InputSignal<string[]>;
25
+ enableCaseSensitive: import("@angular/core").InputSignal<boolean>;
26
+ propertySearch: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
24
27
  apply: import("@angular/core").OutputEmitterRef<FilterFormEmitEvent>;
25
- propertyOptionsWithTranslations: import("@angular/core").Signal<{
26
- property: string;
27
- label: string;
28
- disabled: boolean;
29
- }[]>;
28
+ propertyOptionsWithTranslations: import("@angular/core").Signal<PropertyModel[]>;
30
29
  selectedDescriptor: import("@angular/core").Signal<FilterDescriptor<any, any> | undefined>;
31
- private genericValueProviderInput;
32
30
  genericValueDataProvider: import("@angular/core").Signal<ILookupDataProvider<string, any, any, "field"> | undefined>;
33
31
  selectedDescriptorAsLookup: import("@angular/core").Signal<FilterLookupDescriptor<any, any, any, string | number | symbol, string | number | symbol> | undefined>;
34
32
  matchModeOptions: import("@angular/core").Signal<SelectItem<any>[]>;
@@ -51,7 +49,7 @@ export declare class FilterFormComponent {
51
49
  resetForm(value?: FilterFormModel): void;
52
50
  private getPropertyLabelKey;
53
51
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterFormComponent, never>;
54
- static ɵcmp: i0.ɵɵComponentDeclaration<FilterFormComponent, "mng-filter-form", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "descriptors": { "alias": "descriptors"; "required": true; "isSignal": true; }; "model": { "alias": "model"; "required": true; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "overlay": { "alias": "overlay"; "required": false; "isSignal": true; }; "disabledProperties": { "alias": "disabledProperties"; "required": false; "isSignal": true; }; }, { "apply": "apply"; }, never, never, true, never>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterFormComponent, "mng-filter-form", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "descriptors": { "alias": "descriptors"; "required": true; "isSignal": true; }; "genericDescriptor": { "alias": "genericDescriptor"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": true; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "overlay": { "alias": "overlay"; "required": false; "isSignal": true; }; "disabledProperties": { "alias": "disabledProperties"; "required": false; "isSignal": true; }; "enableCaseSensitive": { "alias": "enableCaseSensitive"; "required": false; "isSignal": true; }; "propertySearch": { "alias": "propertySearch"; "required": false; "isSignal": true; }; }, { "apply": "apply"; }, never, never, true, never>;
55
53
  }
56
54
  interface FilterFormModel {
57
55
  property: string | null;
@@ -59,4 +57,9 @@ interface FilterFormModel {
59
57
  value: any | null;
60
58
  caseSensitive: boolean;
61
59
  }
60
+ interface PropertyModel {
61
+ property: string;
62
+ label: string;
63
+ disabled: boolean;
64
+ }
62
65
  export {};
@@ -1,6 +1,6 @@
1
1
  import { Signal, TemplateRef } from '@angular/core';
2
2
  import { TemplateDirective } from '@mediusinc/mng-commons/core';
3
- import { FilterDescriptor } from '@mediusinc/mng-commons/filter';
3
+ import { FilterDescriptor, FilterGenericDescriptor } from '@mediusinc/mng-commons/filter';
4
4
  import { ModelDescriptor } from '@mediusinc/mng-commons/model';
5
5
  import { CommonsFilterMetadataWithDescriptor, FilterActiveTagEvent, FilterFormEmitEvent } from '../../../models/filter.model';
6
6
  import * as i0 from "@angular/core";
@@ -11,6 +11,7 @@ export declare class FilterOverlayWithTagComponent {
11
11
  private readonly moduleConfig;
12
12
  private readonly tableConfig;
13
13
  descriptors: import("@angular/core").InputSignal<FilterDescriptor<any, any>[]>;
14
+ genericFilterDescriptor: import("@angular/core").InputSignal<FilterGenericDescriptor | undefined>;
14
15
  model: import("@angular/core").InputSignal<ModelDescriptor<any, import("@mediusinc/mng-commons/core").ClassOptType<any>>>;
15
16
  enableSearch: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
16
17
  search: import("@angular/core").InputSignal<{
@@ -51,5 +52,5 @@ export declare class FilterOverlayWithTagComponent {
51
52
  private updatePrimeTableFilter;
52
53
  private updatePrimeTableGlobalFilter;
53
54
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterOverlayWithTagComponent, never>;
54
- static ɵcmp: i0.ɵɵComponentDeclaration<FilterOverlayWithTagComponent, "mng-filter-overlay-with-tag", never, { "descriptors": { "alias": "descriptors"; "required": true; "isSignal": true; }; "model": { "alias": "model"; "required": true; "isSignal": true; }; "enableSearch": { "alias": "enableSearch"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "searchLimitWordMax": { "alias": "searchLimitWordMax"; "required": false; "isSignal": true; }; "enableCaseSensitive": { "alias": "enableCaseSensitive"; "required": false; "isSignal": true; }; }, {}, ["templates"], never, true, never>;
55
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterOverlayWithTagComponent, "mng-filter-overlay-with-tag", never, { "descriptors": { "alias": "descriptors"; "required": true; "isSignal": true; }; "genericFilterDescriptor": { "alias": "genericFilterDescriptor"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": true; "isSignal": true; }; "enableSearch": { "alias": "enableSearch"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "searchLimitWordMax": { "alias": "searchLimitWordMax"; "required": false; "isSignal": true; }; "enableCaseSensitive": { "alias": "enableCaseSensitive"; "required": false; "isSignal": true; }; }, {}, ["templates"], never, true, never>;
55
56
  }
@@ -1,6 +1,6 @@
1
1
  import { OnDestroy, Signal, TemplateRef, Type } from '@angular/core';
2
2
  import { MultiSelectChangeEvent } from 'primeng/multiselect';
3
- import { Table, TableColumnReorderEvent, TableLazyLoadEvent, TableRowReorderEvent } from 'primeng/table';
3
+ import { Table, TableColumnReorderEvent, TableFilterEvent, TableLazyLoadEvent, TableRowReorderEvent } from 'primeng/table';
4
4
  import { ComponentDirective, DataListResult, TemplateDirective } from '@mediusinc/mng-commons/core';
5
5
  import { FilterDescriptor } from '@mediusinc/mng-commons/filter';
6
6
  import { ColumnDescriptor, ITableDataProvider, TableCellClickEvent, TableDescriptorInst, TableLoadEvent, TableReloadEvent } from '@mediusinc/mng-commons/table/api';
@@ -8,6 +8,7 @@ import { ColumnWithPreferences } from '../../models/column-preferences.model';
8
8
  import { DataListService } from '../../services/data-list.service';
9
9
  import * as i0 from "@angular/core";
10
10
  export declare class TableComponent<Item = any, Service = undefined, Sorts = any, Filters extends keyof any = any> implements OnDestroy {
11
+ private readonly filterKeyPrepend;
11
12
  readonly cmpTypeName = "TableComponent";
12
13
  private readonly logger;
13
14
  private readonly injector;
@@ -84,7 +85,9 @@ export declare class TableComponent<Item = any, Service = undefined, Sorts = any
84
85
  value: string;
85
86
  caseSensitive: boolean;
86
87
  } | undefined>;
87
- private routerIsNavigationOutsideInProgress;
88
+ private lastQueryParams?;
89
+ private navigationOutOfTableInProgress;
90
+ private navigationInTableInProgress;
88
91
  constructor();
89
92
  ngOnDestroy(): void;
90
93
  reload(): void;
@@ -98,6 +101,7 @@ export declare class TableComponent<Item = any, Service = undefined, Sorts = any
98
101
  */
99
102
  reload(emitEvent: boolean, resetParams: boolean): void;
100
103
  onTableLazyLoad(event: TableLazyLoadEvent): void;
104
+ onTableFilter(event: TableFilterEvent): void;
101
105
  onCellClick(event: Event, col: ColumnDescriptor<any, Item>, item: Item, idx: number): void;
102
106
  onSelectionChange(event: Array<Item>): void;
103
107
  onRowReorder(event: TableRowReorderEvent): void;
@@ -10,7 +10,6 @@ import * as i0 from "@angular/core";
10
10
  export declare class ActionEditorInjectorContextComponent<Item = any, Service = any> implements OnInit, OnDestroy, IActionEditorComponent {
11
11
  protected readonly ActionActivationTriggerEnum: typeof ActionActivationTriggerEnum;
12
12
  readonly actionEditorSubmitTypeSubmit = ActionEditorSubmitTypeEnum.Submit;
13
- private readonly elementRef;
14
13
  private readonly translate;
15
14
  private readonly confirmationService;
16
15
  private readonly dialogService;
@@ -22,7 +21,6 @@ export declare class ActionEditorInjectorContextComponent<Item = any, Service =
22
21
  actionRun: import("@angular/core").OutputEmitterRef<Item | null | undefined>;
23
22
  actionCancel: import("@angular/core").OutputEmitterRef<Item | null | undefined>;
24
23
  formEditorCmp: import("@angular/core").Signal<FormEditorComponent<any, any> | undefined>;
25
- private focusThiefElRef;
26
24
  private hasTitle;
27
25
  title: import("@angular/core").WritableSignal<string | undefined>;
28
26
  isFormDisabled: import("@angular/core").WritableSignal<boolean>;
@@ -26,6 +26,7 @@ export declare class EditorDescriptorInst<EditorModel, ParentEditorModel = undef
26
26
  /** @ignore */ protected _currentGroup?: FieldGroupDescriptor<EditorModel>;
27
27
  /** @ignore */ protected _autoSave?: boolean;
28
28
  /** @ignore */ protected _autoSaveIdentifier?: string;
29
+ /** @ignore */ protected _autofocusOnField?: boolean;
29
30
  /** @ignore */ protected _disabled: boolean;
30
31
  /** @ignore */ protected _isLocalized: boolean;
31
32
  /** @ignore */ protected _localizationLocaleProperty?: string;
@@ -64,6 +65,7 @@ export declare class EditorDescriptorInst<EditorModel, ParentEditorModel = undef
64
65
  get localizationModel(): ModelDescriptor<any, import("@mediusinc/mng-commons/core").ClassOptType<any>> | undefined;
65
66
  get autoSave(): boolean | undefined;
66
67
  get autoSaveIdentifier(): string | undefined;
68
+ get autofocusOnField(): boolean | undefined;
67
69
  /**
68
70
  * Creates new tab group. Next added fields are added to newly created tab group.
69
71
  * @param name Name of the group.
@@ -271,6 +273,7 @@ export declare class EditorDescriptorInst<EditorModel, ParentEditorModel = undef
271
273
  */
272
274
  withValidationUnsafe<Value = EditorModel>(name: string, validator?: FormValidator<Value, ParentEditorModel>, message?: FormValidationMessage<Value, ParentEditorModel>, opts?: FieldValidationDescriptorOptsType): this;
273
275
  withAutoSave(enabled?: boolean, autoSaveIdentifier?: string): this;
276
+ withAutofocusOnField(enabled?: boolean): this;
274
277
  /**
275
278
  * Creates a copy of editor descriptor object.
276
279
  */
@@ -1,5 +1,7 @@
1
+ import { Observable } from 'rxjs';
1
2
  import { FormValidationMessage, FormValidator } from '../models/field-validation.model';
2
3
  import { FieldGroupTypeEnum } from '../models/field.model';
4
+ import { CommonsFormlyFieldConfig } from '../models/formly-field.model';
3
5
  import { AFieldDescriptor, AGenericFieldDescriptor } from './field-base.descriptor';
4
6
  import { FieldValidationDescriptor, FieldValidationDescriptorOptsType } from './field-validation.descriptor';
5
7
  export declare abstract class AFieldGroupDescriptor<EditorModel, ParentEditorModel = undefined> extends AGenericFieldDescriptor {
@@ -8,6 +10,7 @@ export declare abstract class AFieldGroupDescriptor<EditorModel, ParentEditorMod
8
10
  protected _title?: string | null;
9
11
  protected _fields: AGenericFieldDescriptor[];
10
12
  protected _validations: Array<FieldValidationDescriptor<any, any, any>>;
13
+ protected _hiddenExpression?: string | ((field?: CommonsFormlyFieldConfig<EditorModel, EditorModel>) => boolean) | Observable<boolean>;
11
14
  protected constructor(name: string);
12
15
  removeField(property: string, filterFunction: (fields: AGenericFieldDescriptor[]) => AGenericFieldDescriptor[]): AGenericFieldDescriptor[];
13
16
  get title(): string | null | undefined;
@@ -16,10 +19,12 @@ export declare abstract class AFieldGroupDescriptor<EditorModel, ParentEditorMod
16
19
  get validations(): FieldValidationDescriptor<any, any, any>[];
17
20
  get name(): string;
18
21
  get default(): boolean;
22
+ get hiddenExpression(): string | Observable<boolean> | ((field?: CommonsFormlyFieldConfig<EditorModel, EditorModel, any, import("../models/formly-field.model").CommonsFormlyFieldProps<EditorModel, EditorModel, any>> | undefined) => boolean) | undefined;
19
23
  abstract addField(field: AGenericFieldDescriptor): this;
20
24
  abstract copy(): AFieldGroupDescriptor<EditorModel, ParentEditorModel>;
21
25
  withTitle(title?: string | null): this;
22
26
  withValidation<Value = EditorModel, ParentValue = ParentEditorModel>(name: string, validator?: FormValidator<Value, ParentValue>, message?: FormValidationMessage<Value, ParentValue>, opts?: FieldValidationDescriptorOptsType): this;
27
+ withHidden(hiddenExpression: string | ((field?: CommonsFormlyFieldConfig<EditorModel, EditorModel>) => boolean) | Observable<boolean>): this;
23
28
  }
24
29
  export declare class FieldTabGroupDescriptor<EditorModel> extends AFieldGroupDescriptor<EditorModel> {
25
30
  protected _fields: FieldGroupDescriptor<EditorModel>[];
@@ -208,8 +208,16 @@ export declare class TableviewDescriptorInst<TableviewModel, Sorts = keyof Table
208
208
  addFieldManyEditorUnsafe<FieldModel, FieldValue = FieldModel[]>(property: string, tableviewDescriptor: TableviewDescriptorInst<FieldModel>): import("@mediusinc/mng-commons/tableview/api").FieldManyEditorDescriptor<FieldModel, TableviewModel, FieldValue, ParentEditorModel>;
209
209
  addFieldManyToManyEditor<Property extends keyof TableviewModel, Service, FieldModel = ArrayItemType<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(property: Property, mainTableDescriptor: TableDescriptorInst<FieldModel>, lookupTableDescriptor: TableDescriptorInst<FieldModel>, lookupDataProvider: ITableDataProvider<FieldModel, Service>): import("@mediusinc/mng-commons/tableview/api").FieldManyToManyEditorDescriptor<FieldModel, TableviewModel, Service, FieldValue, ParentEditorModel>;
210
210
  addFieldManyToManyEditorUnsafe<FieldModel, Service, FieldValue = FieldModel[]>(property: string, mainTableDescriptor: TableDescriptorInst<FieldModel>, lookupTableDescriptor: TableDescriptorInst<FieldModel>, lookupDataProvider: ITableDataProvider<FieldModel, Service>): import("@mediusinc/mng-commons/tableview/api").FieldManyToManyEditorDescriptor<FieldModel, TableviewModel, Service, FieldValue, ParentEditorModel>;
211
+ /**
212
+ * @deprecated Use withTabGroup config instead
213
+ */
211
214
  createTabGroup(name: string, title?: string): this;
215
+ /**
216
+ * @deprecated Use withTabGroup config instead
217
+ */
212
218
  createFieldGroup(name: string, title?: string): this;
219
+ withTabGroup(name: string, title?: string): this;
220
+ withFieldGroup(name: string, title?: string): this;
213
221
  copy(): TableviewDescriptorInst<TableviewModel, Sorts, Filters, ParentEditorModel>;
214
222
  localized<Property extends keyof TableviewModel, LocalizationModel = ArrayItemType<TableviewModel[Property]>>(property: Property, model: ModelDescriptor<LocalizationModel>, localeProperty: keyof LocalizationModel): this;
215
223
  localizedUnsafe<LocalizationModel>(property: string, model: ModelDescriptor<LocalizationModel>, localeProperty: string): this;
@@ -7,12 +7,13 @@ import { CommonsFormlyFormOptions, EditorDescriptorInst, FormEditorPatchFieldVal
7
7
  import { EditorAutoSavePreviewModel, EditorAutoSaveStatus } from '../../models/editor-auto-save-preview.model';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class FormEditorComponent<Item = any, ParentItem = any> implements IFormEditorComponent<Item, ParentItem>, OnInit, OnDestroy {
10
+ private readonly destroyRef;
11
+ private readonly elementRef;
10
12
  private readonly formlyConfig;
11
13
  private readonly translateService;
12
14
  private readonly commons;
13
15
  readonly cmpTypeName = "FormEditorComponent";
14
16
  private readonly logger;
15
- private readonly destroyRef;
16
17
  private readonly formService;
17
18
  private readonly commonsStorageService;
18
19
  private readonly router;
@@ -30,8 +31,10 @@ export declare class FormEditorComponent<Item = any, ParentItem = any> implement
30
31
  private autoSaveStatusSubject;
31
32
  autoSaveStatus: import("@angular/core").OutputRef<EditorAutoSaveStatus>;
32
33
  submitButtonElementRef: import("@angular/core").Signal<ElementRef<any> | undefined>;
34
+ private focusThiefElRef;
33
35
  private readonly _form;
34
36
  private readonly _formlyStateDisabledSubject;
37
+ private readonly _formlyStateDisabled;
35
38
  private readonly _formlyOptions;
36
39
  private _formlyFields;
37
40
  private _formlyInitialItem;
@@ -47,6 +50,7 @@ export declare class FormEditorComponent<Item = any, ParentItem = any> implement
47
50
  autoSaveShowRestore: import("@angular/core").Signal<boolean>;
48
51
  private autoSavePreviewDisabledForm;
49
52
  private autoSaveEventsSubscription?;
53
+ autofocusEnabled: import("@angular/core").Signal<boolean>;
50
54
  get parent(): IFormEditorComponent<ParentItem, any> | undefined;
51
55
  get form(): FormGroup<{
52
56
  [K in keyof Item]: AbstractControl<Item[K]>;
package/version-info.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons",
3
- "version": "5.4.0-rc.5",
3
+ "version": "5.4.0-rc.6",
4
4
  "tag": "v5.3.0-rc.5",
5
- "distance": 27,
6
- "hash": "80a1183f",
5
+ "distance": 38,
6
+ "hash": "594566de",
7
7
  "dirty": true,
8
- "semver": "5.3.0-rc.5+27.g80a1183f.dirty",
8
+ "semver": "5.3.0-rc.5+38.g594566de.dirty",
9
9
  "buildTimestamp": null,
10
- "raw": "v5.3.0-rc.5-27-80a1183f-dirty"
10
+ "raw": "v5.3.0-rc.5-38-594566de-dirty"
11
11
  }