@mediusinc/mng-commons 0.21.1 → 1.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/assets/i18n/en.json +20 -2
  2. package/assets/i18n/sl.json +18 -1
  3. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +9 -2
  4. package/esm2020/lib/api/services/get-all-api.abstract.service.mjs +9 -2
  5. package/esm2020/lib/components/action/action.component.mjs +12 -8
  6. package/esm2020/lib/components/action/editor/action-editor.component.mjs +22 -3
  7. package/esm2020/lib/components/action/index.mjs +2 -1
  8. package/esm2020/lib/components/action/localization/data-language-dropdown.component.mjs +45 -0
  9. package/esm2020/lib/components/action/models/action-component.model.mjs +2 -0
  10. package/esm2020/lib/components/action/models/action-execution.model.mjs +5 -1
  11. package/esm2020/lib/components/action/models/index.mjs +2 -1
  12. package/esm2020/lib/components/form/editor/form-editor.component.mjs +35 -11
  13. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +17 -7
  14. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +72 -4
  15. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +8 -1
  16. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +9 -8
  17. package/esm2020/lib/components/tableview/table/table.component.mjs +11 -7
  18. package/esm2020/lib/data-providers/editor.data-provider.mjs +1 -1
  19. package/esm2020/lib/data-providers/table.data-provider.mjs +2 -2
  20. package/esm2020/lib/data-providers/tableview-crud.data-provider.mjs +3 -3
  21. package/esm2020/lib/data-providers/tableview.data-provider.mjs +2 -16
  22. package/esm2020/lib/descriptors/action.descriptor.mjs +15 -3
  23. package/esm2020/lib/descriptors/column.descriptor.mjs +20 -1
  24. package/esm2020/lib/descriptors/editor.descriptor.mjs +41 -2
  25. package/esm2020/lib/descriptors/field.descriptor.mjs +44 -2
  26. package/esm2020/lib/descriptors/table.descriptor.mjs +19 -1
  27. package/esm2020/lib/descriptors/tableview.descriptor.mjs +24 -4
  28. package/esm2020/lib/directives/component.directive.mjs +2 -2
  29. package/esm2020/lib/mng-commons.module.mjs +11 -7
  30. package/esm2020/lib/models/config.model.mjs +1 -1
  31. package/esm2020/lib/pipes/index.mjs +2 -1
  32. package/esm2020/lib/pipes/mngLocaleDefaultRowClass.pipe.mjs +26 -0
  33. package/esm2020/lib/services/action-executor.service.mjs +1 -1
  34. package/esm2020/lib/services/commons.service.mjs +27 -1
  35. package/esm2020/lib/utils/action-data-provider.util.mjs +2 -2
  36. package/esm2020/lib/utils/editor-formly.util.mjs +10 -1
  37. package/esm2020/lib/utils/i18n.util.mjs +2 -2
  38. package/esm2020/lib/utils/notification.util.mjs +6 -1
  39. package/fesm2015/mediusinc-mng-commons.mjs +4688 -4303
  40. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  41. package/fesm2020/mediusinc-mng-commons.mjs +4637 -4258
  42. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  43. package/lib/api/services/crud-api.abstract.service.d.ts +2 -2
  44. package/lib/api/services/get-all-api.abstract.service.d.ts +2 -2
  45. package/lib/components/action/action.component.d.ts +5 -3
  46. package/lib/components/action/index.d.ts +1 -0
  47. package/lib/components/action/localization/data-language-dropdown.component.d.ts +25 -0
  48. package/lib/components/action/models/action-component.model.d.ts +15 -0
  49. package/lib/components/action/models/action-execution.model.d.ts +4 -2
  50. package/lib/components/action/models/index.d.ts +1 -0
  51. package/lib/components/form/editor/form-editor.component.d.ts +8 -1
  52. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +4 -1
  53. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +6 -1
  54. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +1 -0
  55. package/lib/components/tableview/table/table.component.d.ts +4 -3
  56. package/lib/data-providers/editor.data-provider.d.ts +4 -4
  57. package/lib/data-providers/table.data-provider.d.ts +5 -5
  58. package/lib/data-providers/tableview.data-provider.d.ts +7 -11
  59. package/lib/descriptors/action.descriptor.d.ts +11 -6
  60. package/lib/descriptors/column.descriptor.d.ts +5 -0
  61. package/lib/descriptors/editor.descriptor.d.ts +21 -0
  62. package/lib/descriptors/field.descriptor.d.ts +10 -0
  63. package/lib/descriptors/table.descriptor.d.ts +6 -0
  64. package/lib/descriptors/tableview.descriptor.d.ts +7 -0
  65. package/lib/mng-commons.module.d.ts +44 -42
  66. package/lib/models/config.model.d.ts +1 -0
  67. package/lib/pipes/index.d.ts +1 -0
  68. package/lib/pipes/mngLocaleDefaultRowClass.pipe.d.ts +10 -0
  69. package/lib/services/commons.service.d.ts +5 -0
  70. package/lib/utils/notification.util.d.ts +1 -0
  71. package/{mediusinc-mng-commons-0.21.1.tgz → mediusinc-mng-commons-1.0.0-rc.1.tgz} +0 -0
  72. package/package.json +1 -1
  73. package/scss/mng-overrides/_theme_datatable.scss +6 -0
  74. package/scss/mng-overrides/_theme_forms.scss +8 -0
  75. package/version-info.json +5 -5
@@ -5,14 +5,14 @@ import { MediusQueryResult } from '../models';
5
5
  import { AMngGetAllApiService } from './get-all-api.abstract.service';
6
6
  export interface IMngCrudApiService<T> {
7
7
  createPost?(item: T, params?: HttpParams): Observable<T>;
8
- getByIdGet?(id: IdType, params?: HttpParams): Observable<T>;
8
+ getByIdGet?(id: IdType, params?: HttpParams, locale?: string): Observable<T>;
9
9
  updatePut?(id: IdType, item: T, params?: HttpParams): Observable<T>;
10
10
  removeDelete?(id: IdType, item?: T, params?: HttpParams): Observable<T | null>;
11
11
  }
12
12
  export declare abstract class AMngCrudApiService<T, QRT extends MediusQueryResult<any>> extends AMngGetAllApiService<T, QRT> implements IMngCrudApiService<T> {
13
13
  protected constructor(type: ClassType<T>, queryResultType: ClassType<QRT>);
14
14
  createPost(item: T, params?: HttpParams): Observable<T>;
15
- getByIdGet(id: IdType, params?: HttpParams): Observable<T>;
15
+ getByIdGet(id: IdType, params?: HttpParams, locale?: string): Observable<T>;
16
16
  updatePut(id: IdType, item: T, params?: HttpParams): Observable<T>;
17
17
  removeDelete(id: IdType, item?: T, params?: HttpParams): Observable<T | null>;
18
18
  protected getCreatePostPath(item: T): string;
@@ -4,11 +4,11 @@ import { ClassType } from '../../types';
4
4
  import { MediusQueryParam, MediusQueryResult } from '../models';
5
5
  import { AMngApiService } from './api.abstract.service';
6
6
  export interface IMngGetAllApiService<QRT extends MediusQueryResult<any>> {
7
- getAllPost(queryParamBody?: MediusQueryParam, params?: HttpParams): Observable<QRT>;
7
+ getAllPost(queryParamBody?: MediusQueryParam, params?: HttpParams, locale?: string): Observable<QRT>;
8
8
  }
9
9
  export declare abstract class AMngGetAllApiService<T, QRT extends MediusQueryResult<any>> extends AMngApiService<T> implements IMngGetAllApiService<QRT> {
10
10
  protected queryResultType: ClassType<QRT>;
11
11
  protected constructor(type: ClassType<T>, queryResultType: ClassType<QRT>);
12
- getAllPost(queryParamBody?: MediusQueryParam, params?: HttpParams): Observable<QRT>;
12
+ getAllPost(queryParamBody?: MediusQueryParam, params?: HttpParams, locale?: string): Observable<QRT>;
13
13
  protected getGetAllPostPath(): string;
14
14
  }
@@ -10,7 +10,8 @@ import { IViewContainer } from '../../models';
10
10
  import { MngAuthorizationService } from '../../security';
11
11
  import { MngActionExecutorService, MngViewContainerComponentService } from '../../services';
12
12
  import { IdType } from '../../types';
13
- import { ActionData, ActionInstance, IActionConfirmationService } from './models';
13
+ import { ActionData, ActionInstance, ActionParameters, IActionConfirmationService } from './models';
14
+ import { IActionComponent } from './models/action-component.model';
14
15
  import * as i0 from "@angular/core";
15
16
  export declare class MngActionComponent<T, S> implements OnInit, OnChanges, OnDestroy, IActionConfirmationService {
16
17
  private routeService;
@@ -52,7 +53,7 @@ export declare class MngActionComponent<T, S> implements OnInit, OnChanges, OnDe
52
53
  private tooltipSubject;
53
54
  private tooltipSubscription?;
54
55
  $tooltip: Observable<string | null>;
55
- private viewContainer?;
56
+ viewContainer?: IViewContainer<T, S>;
56
57
  actionLink?: ActionLinkDescriptor<T>;
57
58
  hasNoTitle: boolean;
58
59
  private subscriptions;
@@ -63,10 +64,11 @@ export declare class MngActionComponent<T, S> implements OnInit, OnChanges, OnDe
63
64
  ngOnInit(): void;
64
65
  ngOnChanges(changes: SimpleChanges): void;
65
66
  ngOnDestroy(): void;
66
- triggerAction(event: Event): void;
67
+ triggerAction(parameters?: ActionParameters<T>): void;
67
68
  getConfirmationService(): ConfirmationService;
68
69
  getConfirmationServiceInstanceKey(action: ActionDescriptor<any>): string;
69
70
  private processSubscriptions;
71
+ onCustomActionCmpInst(instance: IActionComponent<T>): void;
70
72
  static ɵfac: i0.ɵɵFactoryDeclaration<MngActionComponent<any, any>, [null, null, null, null, null, { optional: true; }]>;
71
73
  static ɵcmp: i0.ɵɵComponentDeclaration<MngActionComponent<any, any>, "mng-action", never, { "action": "action"; "item": "item"; "itemId": "itemId"; "actionData": "actionData"; "queryParam": "queryParam"; "dataProvider": "dataProvider"; "hostComponent": "hostComponent"; "routeInit": "route"; "inputDisabled": "disabled"; "inputLoading": "loading"; "viewContainerInit": "viewContainer"; "selectedItems": "selectedItems"; }, { "finishEventEmitter": "finish"; }, never, never, false>;
72
74
  }
@@ -1,3 +1,4 @@
1
1
  export * from './action.component';
2
2
  export * from './route/action-route.component';
3
3
  export * from './editor/action-editor.component';
4
+ export * from './localization/data-language-dropdown.component';
@@ -0,0 +1,25 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { LookupDataProvider } from '../../../data-providers';
3
+ import { ActionDescriptor } from '../../../descriptors';
4
+ import { IViewContainer } from '../../../models';
5
+ import { MngCommonsService } from '../../../services';
6
+ import { IdType } from '../../../types';
7
+ import { ActionData, ActionParameters, IActionComponent } from '../models';
8
+ import * as i0 from "@angular/core";
9
+ export declare class MngDataLanguageDropdownComponent<T> implements IActionComponent<T> {
10
+ mngCommons: MngCommonsService;
11
+ action: ActionDescriptor<T>;
12
+ actionData: ActionData;
13
+ item: T;
14
+ itemId: IdType;
15
+ enabled: boolean;
16
+ loading: boolean;
17
+ viewContainer: IViewContainer<T, unknown>;
18
+ triggerActionEventEmitter: EventEmitter<ActionParameters<T>>;
19
+ private dropdown?;
20
+ selectionItemsDataProvider: LookupDataProvider<any, any>;
21
+ constructor(mngCommons: MngCommonsService);
22
+ updateDataLanguage(dataLang: string): void;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngDataLanguageDropdownComponent<any>, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngDataLanguageDropdownComponent<any>, "mng-data-language-dropdown", never, { "action": "action"; "actionData": "actionData"; "item": "item"; "itemId": "itemId"; "enabled": "enabled"; "loading": "loading"; "viewContainer": "viewContainer"; }, { "triggerActionEventEmitter": "triggerActionEventEmitter"; }, never, never, false>;
25
+ }
@@ -0,0 +1,15 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ActionDescriptor } from '../../../descriptors';
3
+ import { IViewContainer } from '../../../models';
4
+ import { IdType } from '../../../types';
5
+ import { ActionData, ActionParameters } from './action-execution.model';
6
+ export interface IActionComponent<T> {
7
+ action: ActionDescriptor<T>;
8
+ item: T;
9
+ itemId: IdType;
10
+ actionData: ActionData;
11
+ enabled: boolean;
12
+ loading: boolean;
13
+ viewContainer: IViewContainer<T, unknown>;
14
+ triggerActionEventEmitter: EventEmitter<ActionParameters<T>>;
15
+ }
@@ -36,7 +36,7 @@ export declare class ActionInstance<T, S> {
36
36
  triggerRouteNavigation?: Observable<boolean>;
37
37
  activationDialogRef?: DynamicDialogRef;
38
38
  nextActionInstance?: ActionInstance<unknown, unknown>;
39
- errorActionInstance?: ActionInstance<unknown, unknown>;
39
+ errorActionInstance?: ActionInstance<T, S>;
40
40
  constructor(action: ActionDescriptor<T>, state?: ActionInstanceStateEnum, debug?: boolean);
41
41
  get isRunLoading$(): Observable<boolean>;
42
42
  get context(): ActionContext<T, S> | undefined;
@@ -99,14 +99,16 @@ export declare class ActionParameters<T> {
99
99
  hostComponent?: unknown;
100
100
  route?: ActivatedRoute;
101
101
  selectedItems: T[];
102
+ locale?: string;
102
103
  constructor(itemId?: IdType | undefined, item?: T | undefined);
103
104
  withActionData(actionData?: ActionData): this;
104
105
  withQueryParam(queryParam?: MediusQueryParam): this;
105
- withViewContainer<S>(viewContainer?: IViewContainer<T, S>): this;
106
+ withViewContainer(viewContainer?: IViewContainer<T, unknown>): this;
106
107
  withSourceComponent(sourceComponent?: any): this;
107
108
  withHostComponent(hostComponent?: unknown): this;
108
109
  withRoute(route?: ActivatedRoute): this;
109
110
  withSelectedItems(selectedItems: T[]): this;
111
+ withLocale(locale: string): this;
110
112
  }
111
113
  export declare enum ActionInstanceStateEnum {
112
114
  TriggerStart = 0,
@@ -1,3 +1,4 @@
1
1
  export * from './action-confirmation-service.model';
2
2
  export * from './action-execution.model';
3
3
  export * from './tableview-action-default-categories.model';
4
+ export * from './action-component.model';
@@ -6,9 +6,11 @@ import { Message } from 'primeng/api';
6
6
  import { Observable } from 'rxjs';
7
7
  import { EditorDescriptor } from '../../../descriptors';
8
8
  import { MngTemplateDirective } from '../../../directives';
9
+ import { MngCommonsService } from '../../../services';
9
10
  import { IFormEditorComponent, MngFormEditorSubmitEvent } from '../models';
10
11
  import * as i0 from "@angular/core";
11
12
  export declare class MngFormEditorComponent<T> implements IFormEditorComponent<T>, OnInit, OnDestroy {
13
+ private mngCommonsService;
12
14
  private translateService;
13
15
  descriptor: EditorDescriptor<T>;
14
16
  submitLoading: Observable<boolean> | boolean;
@@ -26,7 +28,7 @@ export declare class MngFormEditorComponent<T> implements IFormEditorComponent<T
26
28
  formMessages: Message[];
27
29
  submitLoading$: Observable<boolean>;
28
30
  private subscriptions;
29
- constructor(translateService: TranslateService);
31
+ constructor(mngCommonsService: MngCommonsService, translateService: TranslateService);
30
32
  ngOnInit(): void;
31
33
  ngOnDestroy(): void;
32
34
  submit(): void;
@@ -40,6 +42,11 @@ export declare class MngFormEditorComponent<T> implements IFormEditorComponent<T
40
42
  private findFormField;
41
43
  private isAnyFieldInvalid;
42
44
  private updateFormState;
45
+ /**
46
+ * @private Sets form state based on editor descriptor type.
47
+ * Possible options are: disabled, add or edit.
48
+ */
49
+ private setInitialFormState;
43
50
  static ɵfac: i0.ɵɵFactoryDeclaration<MngFormEditorComponent<any>, never>;
44
51
  static ɵcmp: i0.ɵɵComponentDeclaration<MngFormEditorComponent<any>, "mng-form-editor", never, { "descriptor": "descriptor"; "submitLoading": "submitLoading"; "item": "item"; "isSubmitButtonVisible": "isSubmitButtonVisible"; "isFormDisabled": "isFormDisabled"; }, { "formSubmitEventEmitter": "formSubmit"; }, ["templates"], never, false>;
45
52
  }
@@ -1,10 +1,11 @@
1
- import { AfterViewInit, OnDestroy, OnInit } from '@angular/core';
1
+ import { AfterViewInit, Injector, OnDestroy, OnInit } from '@angular/core';
2
2
  import { FieldType } from '@ngx-formly/core';
3
3
  import { Observable, Subject } from 'rxjs';
4
4
  import { ActionDescriptor, FieldManyEditorDescriptor } from '../../../../../descriptors';
5
5
  import { MngFormlyFieldConfig } from '../../models';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class MngFormlyFieldTableDialogFormComponent<T, ET> extends FieldType<MngFormlyFieldConfig> implements OnInit, AfterViewInit, OnDestroy {
8
+ private injector;
8
9
  descriptor: FieldManyEditorDescriptor<T, ET>;
9
10
  itemsSubject: Subject<Array<T>>;
10
11
  items$: Observable<Array<T>>;
@@ -13,9 +14,11 @@ export declare class MngFormlyFieldTableDialogFormComponent<T, ET> extends Field
13
14
  private subscriptions;
14
15
  private isDisabledSubject;
15
16
  private isEnabled$;
17
+ constructor(injector: Injector);
16
18
  ngOnInit(): void;
17
19
  ngAfterViewInit(): void;
18
20
  ngOnDestroy(): void;
21
+ private hideActionsForRowWithDefaultLocalization;
19
22
  static ɵfac: i0.ɵɵFactoryDeclaration<MngFormlyFieldTableDialogFormComponent<any, any>, never>;
20
23
  static ɵcmp: i0.ɵɵComponentDeclaration<MngFormlyFieldTableDialogFormComponent<any, any>, "mng-formly-table-dialog-form-field", never, {}, {}, never, never, false>;
21
24
  }
@@ -1,6 +1,11 @@
1
+ import { OnInit } from '@angular/core';
1
2
  import { FieldWrapper } from '@ngx-formly/core';
3
+ import { ActionDescriptor } from '../../../../../descriptors';
2
4
  import * as i0 from "@angular/core";
3
- export declare class MngFormlyFieldWrapperComponent extends FieldWrapper {
5
+ export declare class MngFormlyFieldWrapperComponent extends FieldWrapper implements OnInit {
6
+ localizationAction: ActionDescriptor<unknown>;
7
+ ngOnInit(): void;
8
+ private addMissingTranslationHelperText;
4
9
  static ɵfac: i0.ɵɵFactoryDeclaration<MngFormlyFieldWrapperComponent, never>;
5
10
  static ɵcmp: i0.ɵɵComponentDeclaration<MngFormlyFieldWrapperComponent, "mng-formly-field-wrapper", never, {}, {}, never, never, false>;
6
11
  }
@@ -23,6 +23,7 @@ export declare abstract class AMngTableviewRouteComponent<T, S> implements OnIni
23
23
  protected createActionDescriptorForDelete(descriptor?: ModelDescriptor<T>): ActionDeleteDescriptor<T> | null;
24
24
  protected createActionDescriptorForExport(descriptor?: ModelDescriptor<T>): ActionDescriptor<T> | null;
25
25
  protected createActionDescriptorForRefresh(descriptor?: ModelDescriptor<T>): ActionDescriptor<T> | null;
26
+ protected createActionDescriptorForDataTranslate(descriptor?: ModelDescriptor<T>): ActionDescriptor<T> | null;
26
27
  static ɵfac: i0.ɵɵFactoryDeclaration<AMngTableviewRouteComponent<any, any>, never>;
27
28
  static ɵdir: i0.ɵɵDirectiveDeclaration<AMngTableviewRouteComponent<any, any>, never, never, {}, {}, never, never, false>;
28
29
  }
@@ -10,7 +10,7 @@ import { ActionDescriptor, ColumnDescriptor, TableDescriptor } from '../../../de
10
10
  import { TableFilterDisplayEnum } from '../../../descriptors/types';
11
11
  import { MngComponentDirective, MngTemplateDirective } from '../../../directives';
12
12
  import { IViewContainer } from '../../../models';
13
- import { MngActionExecutorService, MngViewContainerComponentService } from '../../../services';
13
+ import { MngActionExecutorService, MngCommonsService, MngViewContainerComponentService } from '../../../services';
14
14
  import { ActionInstance } from '../../action/models';
15
15
  import { MngTableCellClickEvent, MngTableLoadEvent } from '../models';
16
16
  import * as i0 from "@angular/core";
@@ -19,6 +19,7 @@ export declare class MngTableComponent<T, S> implements OnInit, OnChanges, After
19
19
  private router;
20
20
  private route;
21
21
  private translate;
22
+ private mngCommonsService;
22
23
  private actionExecutor;
23
24
  private viewContainerService;
24
25
  readonly filterDisplayRow: TableFilterDisplayEnum;
@@ -89,7 +90,7 @@ export declare class MngTableComponent<T, S> implements OnInit, OnChanges, After
89
90
  private routerIsNavigationOutsideInProgress;
90
91
  private viewContainer?;
91
92
  private subscriptions;
92
- constructor(injector: Injector, router: Router, route: ActivatedRoute, translate: TranslateService, actionExecutor: MngActionExecutorService, viewContainerService: MngViewContainerComponentService<T, S> | null);
93
+ constructor(injector: Injector, router: Router, route: ActivatedRoute, translate: TranslateService, mngCommonsService: MngCommonsService, actionExecutor: MngActionExecutorService, viewContainerService: MngViewContainerComponentService<T, S> | null);
93
94
  ngOnInit(): void;
94
95
  ngAfterContentInit(): void;
95
96
  ngOnChanges(changes: SimpleChanges): void;
@@ -109,6 +110,6 @@ export declare class MngTableComponent<T, S> implements OnInit, OnChanges, After
109
110
  private createFilterMeta;
110
111
  private createSortMeta;
111
112
  private initializeDataLoadingTriggers;
112
- static ɵfac: i0.ɵɵFactoryDeclaration<MngTableComponent<any, any>, [null, null, null, null, null, { optional: true; }]>;
113
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngTableComponent<any, any>, [null, null, null, null, null, null, { optional: true; }]>;
113
114
  static ɵcmp: i0.ɵɵComponentDeclaration<MngTableComponent<any, any>, "mng-table", never, { "initialDescriptor": "descriptor"; "items": "items"; "queryResult": "queryResult"; "loading": "loading"; "dataProvider": "dataProvider"; "useQueryParams": "useQueryParams"; "selectionMode": "selectionMode"; "selectionEnabled": "selectionEnabled"; "actions": "actions"; "isColumnClickable": "isColumnClickable"; "viewContainerInit": "viewContainer"; "captionComponent": "captionComponent"; "columnActionComponent": "columnActionComponent"; "columnActionMinWidth": "columnActionMinWidth"; }, { "loadEventEmitter": "tableLoad"; "cellClickEventEmitter": "cellClick"; "selectionChangeEventEmitter": "selectionChange"; "captionCmpInstEventEmitter": "captionComponentInstance"; "columnActionCmpInstEventEmitter": "columnActionComponentInstance"; }, ["templates"], never, false>;
114
115
  }
@@ -3,22 +3,22 @@ import { Observable } from 'rxjs';
3
3
  import { ClassType, IdType } from '../types';
4
4
  import { DataProvider, IDataProvider } from './base.data-provider';
5
5
  export interface IEditorDataProvider<T, S> extends IDataProvider<T, S> {
6
- fetch: (id: IdType, service?: S) => Observable<T>;
6
+ fetch: (id: IdType, service?: S, locale?: string) => Observable<T>;
7
7
  create?: (item?: T, service?: S) => Observable<T>;
8
8
  update?: (id: IdType, item?: T, service?: S) => Observable<T>;
9
9
  delete?: (id: IdType, item?: T, service?: S) => Observable<T | null>;
10
10
  }
11
11
  export declare class EditorDataProvider<T, S> extends DataProvider<T, S> implements IEditorDataProvider<T, S> {
12
- protected _fetch: (id: IdType, service?: S) => Observable<T>;
12
+ protected _fetch: (id: IdType, service?: S, locale?: string) => Observable<T>;
13
13
  protected _create?: (item?: T, service?: S) => Observable<T>;
14
14
  protected _update?: (id: IdType, item?: T, service?: S) => Observable<T>;
15
15
  protected _delete?: (id: IdType, item?: T, service?: S) => Observable<T | null>;
16
16
  constructor(modelType: ClassType<T>, serviceType?: Type<S>);
17
- get fetch(): (id: IdType, service?: S | undefined) => Observable<T>;
17
+ get fetch(): (id: IdType, service?: S | undefined, locale?: string | undefined) => Observable<T>;
18
18
  get create(): ((item?: T | undefined, service?: S | undefined) => Observable<T>) | undefined;
19
19
  get update(): ((id: IdType, item?: T | undefined, service?: S | undefined) => Observable<T>) | undefined;
20
20
  get delete(): ((id: IdType, item?: T | undefined, service?: S | undefined) => Observable<T | null>) | undefined;
21
- withFetch(fetch: (id: IdType, service?: S) => Observable<T>): this;
21
+ withFetch(fetch: (id: IdType, service?: S, locale?: string) => Observable<T>): this;
22
22
  withCreate(create: (item?: T, service?: S) => Observable<T>): this;
23
23
  withUpdate(update: (id: IdType, item?: T, service?: S) => Observable<T>): this;
24
24
  withDelete(deleteFn: (id: IdType, item?: T, service?: S) => Observable<T | null>): this;
@@ -5,23 +5,23 @@ import { ClassType } from '../types';
5
5
  import { DataProvider, IDataProvider } from './base.data-provider';
6
6
  export interface ITableDataProvider<T, S> extends IDataProvider<T, S> {
7
7
  get isLazy(): boolean;
8
- getAll: (queryParam: MediusQueryParam, service?: S) => Observable<MediusQueryResult<T>>;
8
+ getAll: (queryParam: MediusQueryParam, service?: S, locale?: string) => Observable<MediusQueryResult<T>>;
9
9
  getAllReload(queryParam?: MediusQueryParam): void;
10
10
  getAllReload$: Observable<MediusQueryParam | undefined>;
11
11
  }
12
12
  export declare class TableDataProvider<T, S> extends DataProvider<T, S> implements ITableDataProvider<T, S> {
13
13
  protected _isLazy: boolean;
14
- protected _getAll: (queryParam: MediusQueryParam, service?: S) => Observable<MediusQueryResult<T>>;
14
+ protected _getAll: (queryParam: MediusQueryParam, service?: S, locale?: string) => Observable<MediusQueryResult<T>>;
15
15
  protected _getAllReloadSubject: Subject<MediusQueryParam | undefined>;
16
16
  constructor(modelType: ClassType<T>, serviceType?: Type<S>);
17
17
  get isLazy(): boolean;
18
- get getAll(): (queryParam: MediusQueryParam, service?: S | undefined) => Observable<MediusQueryResult<T>>;
18
+ get getAll(): (queryParam: MediusQueryParam, service?: S | undefined, locale?: string | undefined) => Observable<MediusQueryResult<T>>;
19
19
  get getAllReload$(): Observable<MediusQueryParam | undefined>;
20
- withGetAll(getAll: (queryParam: MediusQueryParam, service?: S) => Observable<MediusQueryResult<T>>): this;
20
+ withGetAll(getAll: (queryParam: MediusQueryParam, service?: S, locale?: string) => Observable<MediusQueryResult<T>>): this;
21
21
  /**
22
22
  * Use this method to use inline load without lazy loading features on table and use inline pagination, filtering and sorting.
23
23
  * @param getAll
24
24
  */
25
- withGetAllEagerly(getAll: (service?: S) => Observable<Array<T>>): this;
25
+ withGetAllEagerly(getAll: (service?: S, locale?: string) => Observable<Array<T>>): this;
26
26
  getAllReload(queryParam?: MediusQueryParam): void;
27
27
  }
@@ -6,32 +6,28 @@ import { EditorDataProvider, IEditorDataProvider } from './editor.data-provider'
6
6
  import { ITableDataProvider } from './table.data-provider';
7
7
  export interface ITableviewDataProvider<T, S> extends IEditorDataProvider<T, S> {
8
8
  get isLazy(): boolean;
9
- getAll: (queryParam: MediusQueryParam, service?: S) => Observable<MediusQueryResult<T>>;
9
+ getAll: (queryParam: MediusQueryParam, service?: S, locale?: string) => Observable<MediusQueryResult<T>>;
10
10
  getAllReload(queryParam?: MediusQueryParam): void;
11
11
  getAllReload$: Observable<MediusQueryParam | undefined>;
12
12
  }
13
13
  export declare class TableviewDataProvider<T, S> extends EditorDataProvider<T, S> implements ITableviewDataProvider<T, S>, ITableDataProvider<T, S>, IEditorDataProvider<T, S> {
14
14
  protected _isLazy: boolean;
15
- protected _getAll: (queryParam: MediusQueryParam, service?: S) => Observable<MediusQueryResult<T>>;
15
+ protected _getAll: (queryParam: MediusQueryParam, service?: S, locale?: string) => Observable<MediusQueryResult<T>>;
16
16
  protected _getAllReloadSubject: Subject<MediusQueryParam | undefined>;
17
17
  constructor(modelType: ClassType<T>, serviceType?: Type<S>);
18
18
  get isLazy(): boolean;
19
- get getAll(): (queryParam: MediusQueryParam, service?: S | undefined) => Observable<MediusQueryResult<T>>;
19
+ get getAll(): (queryParam: MediusQueryParam, service?: S | undefined, locale?: string | undefined) => Observable<MediusQueryResult<T>>;
20
20
  get getAllReload$(): Observable<MediusQueryParam | undefined>;
21
- withGetAll(getAll: (queryParam: MediusQueryParam, service?: S) => Observable<MediusQueryResult<T>>): this;
21
+ withGetAll(getAll: (queryParam: MediusQueryParam, service?: S, locale?: string) => Observable<MediusQueryResult<T>>): this;
22
22
  /**
23
23
  * Use this method to use inline load without lazy loading features on table and use inline pagination, filtering and sorting.
24
24
  * @param getAll
25
25
  */
26
- withGetAllEagerly(getAll: (service?: S) => Observable<Array<T>>): this;
26
+ withGetAllEagerly(getAll: (service?: S, locale?: string) => Observable<Array<T>>): this;
27
27
  getAllReload(queryParam?: MediusQueryParam): void;
28
28
  }
29
29
  export declare class DynamicTableviewDataProvider extends TableviewDataProvider<any, any> implements ITableviewDataProvider<any, any>, ITableDataProvider<any, any> {
30
- protected _getAll: (queryParam: MediusQueryParam) => Observable<MediusQueryResult<any>>;
31
- protected _fetch: (id: IdType) => Observable<any>;
30
+ protected _getAll: (queryParam: MediusQueryParam, locale?: string) => Observable<MediusQueryResult<any>>;
31
+ protected _fetch: (id: IdType, locale?: string) => Observable<any>;
32
32
  constructor();
33
- withGetAll(getAll: (queryParam: MediusQueryParam) => Observable<MediusQueryResult<any>>): this;
34
- withFetch(fetch: (id: IdType) => Observable<any>): this;
35
- get getAll(): (queryParam: MediusQueryParam) => Observable<MediusQueryResult<any>>;
36
- get fetch(): (id: IdType) => Observable<any>;
37
33
  }
@@ -1,7 +1,7 @@
1
1
  import { Type } from '@angular/core';
2
2
  import { Params, QueryParamsHandling } from '@angular/router';
3
3
  import { Observable } from 'rxjs';
4
- import { ActionContext, ActionContextValidation } from '../components/action/models';
4
+ import { ActionContext, ActionContextValidation, IActionComponent } from '../components/action/models';
5
5
  import { IDataProvider, IEditorDataProvider } from '../data-providers';
6
6
  import { APermissions } from '../security/model';
7
7
  import { StyleLevelEnum, StyleSizeEnum } from '../styles/models';
@@ -36,10 +36,11 @@ export declare class ActionDescriptor<T> {
36
36
  protected _runNotificationErrorTitle?: string;
37
37
  protected _runNotificationErrorMessage?: string;
38
38
  protected _afterRunAction?: ActionDescriptor<unknown>;
39
- protected _onRunErrorAction?: ActionDescriptor<unknown>;
39
+ protected _onRunErrorAction?: ActionDescriptor<T>;
40
40
  protected _permissions?: APermissions;
41
41
  protected _button: ActionButtonDescriptor;
42
42
  protected _hasItemsSelection: boolean;
43
+ protected _component?: Type<IActionComponent<T>>;
43
44
  constructor(model: ModelDescriptor<T> | null, actionName: string, parentType?: ClassType<unknown>, parentProperty?: string);
44
45
  get model(): ModelDescriptor<T> | null;
45
46
  get parentTypeName(): string | undefined;
@@ -67,11 +68,12 @@ export declare class ActionDescriptor<T> {
67
68
  get runNotificationErrorTitle(): string | undefined;
68
69
  get runNotificationErrorMessage(): string | undefined;
69
70
  get afterRunAction(): ActionDescriptor<unknown> | undefined;
70
- get onRunErrorAction(): ActionDescriptor<unknown> | undefined;
71
+ get onRunErrorAction(): ActionDescriptor<T> | undefined;
71
72
  get permissions(): APermissions | undefined;
72
73
  get tableviewCategory(): string | undefined;
73
74
  get hasItemsSelection(): boolean;
74
75
  get button(): ActionButtonDescriptor;
76
+ get component(): Type<IActionComponent<T>> | undefined;
75
77
  get positionTableviewCategories(): string[] | undefined;
76
78
  protected setI18nModelActionBaseKey(base?: string): void;
77
79
  withDataProvider(dataProvider: IDataProvider<T, any>): this;
@@ -87,18 +89,19 @@ export declare class ActionDescriptor<T> {
87
89
  withRunConfirmation(): ActionConfirmationDialogDescriptor<T>;
88
90
  /**
89
91
  * Add a configuration dialogue to action using ActionConfigurationDescriptor
90
- * @param confirmationDescriptor descriptor with customizable information for dialog
92
+ * @param runConfirmationDialogDescriptor descriptor with customizable information for dialog
91
93
  */
92
94
  withRunConfirmationDescriptor(runConfirmationDialogDescriptor: ActionConfirmationDialogDescriptor<T>): this;
93
95
  withRunNotificationSuccess(title?: string, message?: string, hasNotification?: boolean): this;
94
96
  withRunNotificationError(title?: string, message?: string, hasNotification?: boolean): this;
95
97
  withAfterRunAction<RT>(action: ActionDescriptor<RT>): this;
96
- withOnRunErrorAction<RT>(action: ActionDescriptor<RT>): this;
98
+ withOnRunErrorAction(action: ActionDescriptor<T>): this;
97
99
  withPermissions(permissions: APermissions): this;
98
100
  withTableviewCategory(permissionsRouteType: string): this;
99
101
  withButtonDescriptor(button: ActionButtonDescriptor): this;
100
102
  withButton(label?: string | null, icon?: string | null, styleLevel?: StyleLevelEnum, styleText?: boolean): this;
101
103
  withItemsSelection(hasSelection?: boolean): this;
104
+ withComponent(component: Type<IActionComponent<T>>): this;
102
105
  withPositionTableviewCategories(positionTableviewCategories: string[]): this;
103
106
  withI18nBase(base: ClassType<unknown> | string): this;
104
107
  }
@@ -109,6 +112,7 @@ export declare class ActionEditorDescriptor<T> extends ActionDescriptor<T> {
109
112
  private readonly _editorDescriptor;
110
113
  protected _editorActions: ActionDescriptor<T>[];
111
114
  protected _editorTitle?: string | null;
115
+ protected _editorTitleParams?: any;
112
116
  protected _hasFetchNotificationSuccess: boolean;
113
117
  protected _fetchNotificationSuccessTitle?: string;
114
118
  protected _fetchNotificationSuccessMessage?: string;
@@ -120,6 +124,7 @@ export declare class ActionEditorDescriptor<T> extends ActionDescriptor<T> {
120
124
  protected _editorComponent?: Type<any>;
121
125
  constructor(editorDescriptor: EditorDescriptor<T>, actionName: string, parentType?: ClassType<unknown>, parentProperty?: string);
122
126
  get editorTitle(): string | null | undefined;
127
+ get editorTitleParams(): any;
123
128
  get editorDescriptor(): EditorDescriptor<T>;
124
129
  get dialogSize(): StyleSizeEnum;
125
130
  get dialogClassName(): string | undefined;
@@ -132,7 +137,7 @@ export declare class ActionEditorDescriptor<T> extends ActionDescriptor<T> {
132
137
  get submitFunction(): ((ctx: ActionContext<T, any>) => Observable<T>) | undefined;
133
138
  get editorActions(): ActionDescriptor<T>[];
134
139
  get editorComponent(): Type<any> | undefined;
135
- withEditorTitle(title: string | null): this;
140
+ withEditorTitle(title: string | null, params?: any): this;
136
141
  withDataProvider(dataProvider: IEditorDataProvider<T, any>): this;
137
142
  withServiceType<S>(serviceType: Type<S>): this;
138
143
  withDialogSize(size?: StyleSizeEnum): this;
@@ -35,6 +35,8 @@ export declare class ColumnDescriptor<T, TT> {
35
35
  private _currencyDisplay?;
36
36
  private _customComponentType?;
37
37
  private _hasCopyToClipboard;
38
+ private _isLocalized;
39
+ private _localizationExistsProperty?;
38
40
  constructor(table: TableDescriptor<TT>, property: string);
39
41
  get columnType(): ColumnTypeEnum;
40
42
  get columnDisplayType(): ColumnDisplayTypeEnum;
@@ -66,6 +68,8 @@ export declare class ColumnDescriptor<T, TT> {
66
68
  get hasCopyToClipboard(): boolean;
67
69
  get template(): string | undefined;
68
70
  get getter(): ((item: TT, value?: T | null | undefined) => unknown) | undefined;
71
+ get isLocalized(): boolean;
72
+ get localizationExistsProperty(): string | undefined;
69
73
  /**
70
74
  * converts column to given type with additional arguments
71
75
  * @param type column type enum
@@ -92,6 +96,7 @@ export declare class ColumnDescriptor<T, TT> {
92
96
  withCopyToClipboard(hasCopyToCliboard?: boolean): this;
93
97
  withTemplate(template: string): this;
94
98
  withGetter(getter?: (item: TT, value?: T | null) => unknown): this;
99
+ localized(existsProperty?: string): this;
95
100
  copy(): ColumnDescriptor<T, TT>;
96
101
  protected copyFieldsTo(obj: ColumnDescriptor<T, TT>): void;
97
102
  }
@@ -1,3 +1,5 @@
1
+ import { Observable } from 'rxjs';
2
+ import { MediusQueryParam } from '../api/models';
1
3
  import { ILookupDataProvider } from '../data-providers';
2
4
  import { TableviewAttributeDef } from '../models/tableview-attr.model';
3
5
  import { ClassType, EnumConstantType, EnumType, MngFieldValidationMessage, MngFieldValidator } from '../types';
@@ -14,6 +16,11 @@ export declare class EditorDescriptor<T> {
14
16
  protected _currentTabGroup?: FieldTabGroupDescriptor<T>;
15
17
  protected _currentGroup?: FieldGroupDescriptor<T>;
16
18
  protected _disabled: boolean;
19
+ protected _isLocalized: boolean;
20
+ protected _localizationLocaleProperty?: string;
21
+ protected _localizationLocalizationProperty?: string;
22
+ protected _localizationModelType?: ClassType<any>;
23
+ protected _localeLookup?: (queryParam?: MediusQueryParam, service?: any, search?: string) => Observable<Array<string>>;
17
24
  constructor(modelType: ClassType<T>, idProperty?: string, titleProperty?: string, tableviewEditorType?: TableviewEditorTypeEnum, i18nBaseKey?: string | ClassType<unknown>);
18
25
  /**
19
26
  * auto generated editor descriptor based on openapi definition
@@ -37,7 +44,13 @@ export declare class EditorDescriptor<T> {
37
44
  get model(): ModelDescriptor<T>;
38
45
  get tabs(): FieldTabGroupDescriptor<T>[];
39
46
  get fields(): AFieldDescriptor<any, T>[];
47
+ get tableviewEditorType(): TableviewEditorTypeEnum;
40
48
  get disabled(): boolean;
49
+ get isLocalized(): boolean;
50
+ get localizationLocaleProperty(): string | undefined;
51
+ get localizationLocalizationProperty(): string | undefined;
52
+ get localizationBeanType(): ClassType<any> | undefined;
53
+ get localeLookup(): ((queryParam?: MediusQueryParam | undefined, service?: any, search?: string | undefined) => Observable<string[]>) | undefined;
41
54
  createTabGroup(name: string, title?: string): FieldTabGroupDescriptor<T>;
42
55
  createFieldGroup(name: string, title?: string | null): FieldGroupDescriptor<T>;
43
56
  addFieldDescriptor<FT>(field: AFieldDescriptor<FT, T>): this;
@@ -92,4 +105,12 @@ export declare class EditorDescriptor<T> {
92
105
  * @param args additional arguments
93
106
  */
94
107
  private upsertFieldFromAttributeDef;
108
+ /**
109
+ * This method takes care of displaying correct/localized data in the editor
110
+ * @param localizationsProperty property that tells us where on the model are localizations accessible
111
+ * @param localeProperty property by which we find the locale
112
+ * @param localizationModelType model type for localizations if it is different from the whole model
113
+ * @param localeLookup lookup provider for locales supported by the application.
114
+ */
115
+ localized<S>(localizationsProperty?: string, localeProperty?: string, localizationModelType?: ClassType<any>, localeLookup?: (queryParam?: MediusQueryParam, service?: S, search?: string) => Observable<Array<string>>): this;
95
116
  }
@@ -41,6 +41,8 @@ export declare abstract class AFieldDescriptor<T, ET> extends AGenericFieldDescr
41
41
  protected _labelClassName: string;
42
42
  protected _inputClassName: string;
43
43
  protected _size: FieldSizeEnum;
44
+ protected _isLocalized: boolean;
45
+ protected _localizationTableview?: TableviewDescriptor<any>;
44
46
  protected readonly _eventsSubject: Subject<MngFormFieldEvent<T, ET>>;
45
47
  protected constructor(editor: EditorDescriptor<ET>, property: string);
46
48
  get property(): string;
@@ -69,8 +71,10 @@ export declare abstract class AFieldDescriptor<T, ET> extends AGenericFieldDescr
69
71
  get labelClassName(): string;
70
72
  get inputClassName(): string;
71
73
  get size(): FieldSizeEnum;
74
+ get localizationTableview(): TableviewDescriptor<any> | undefined;
72
75
  get isSizeSmall(): boolean;
73
76
  get isSizeLarge(): boolean;
77
+ get isLocalized(): boolean;
74
78
  abstract copy(): AFieldDescriptor<T, ET>;
75
79
  withLabel(label: string | null): this;
76
80
  withPlaceholder(placeholder: string): this;
@@ -85,6 +89,12 @@ export declare abstract class AFieldDescriptor<T, ET> extends AGenericFieldDescr
85
89
  withAsyncValidation(name: string, asyncValidator?: MngFieldAsyncValidator, message?: MngFieldValidationMessage): this;
86
90
  withClassName(className: string, labelClassName?: string, inputClassName?: string, fieldClassName?: string): this;
87
91
  withSize(size?: FieldSizeEnum): this;
92
+ /**
93
+ * This method adds an icon with text Show all translations above the field and after clicking on it, it displays a new dialog with tableview.
94
+ * This new table view shows all available translations for specific property and allows editing it.
95
+ * @param tableview with lookup provider for locales
96
+ */
97
+ localized(tableview?: TableviewDescriptor<T>): this;
88
98
  nextEvent(type: MngFormFieldEventTypeEnum, cmpType: Type<any>, cmpInstance: any, data?: MngFormFieldEventData<T, ET>): void;
89
99
  get events$(): Observable<MngFormFieldEvent<T, ET>>;
90
100
  protected copyFieldsTo(obj: AFieldDescriptor<T, ET>): void;
@@ -31,6 +31,8 @@ export declare class TableDescriptor<T> {
31
31
  private _rowClassName?;
32
32
  private _rowClassNameMapFn?;
33
33
  private _autoGenerated;
34
+ private _isLocalized;
35
+ private _localizationLocaleProperty?;
34
36
  constructor(modelType: ClassType<T>, idProperty?: string, titleProperty?: string, i18nBaseKey?: string | ClassType<unknown>);
35
37
  /**
36
38
  * generates descriptor based on modelType attribute definition
@@ -68,6 +70,8 @@ export declare class TableDescriptor<T> {
68
70
  get rowClassName(): string | undefined;
69
71
  get rowClassNameMapFn(): ((className?: string | undefined, item?: T | undefined) => string) | undefined;
70
72
  get headerClassName(): string | undefined;
73
+ get isLocalized(): boolean;
74
+ get localizationLocaleProperty(): string | undefined;
71
75
  getColumn(property: string): ColumnDescriptor<string, T> | undefined;
72
76
  addColumnDescriptor<CT>(column: ColumnDescriptor<CT, T>): TableDescriptor<T>;
73
77
  addColumn(property: string): ColumnDescriptor<string, T>;
@@ -92,6 +96,8 @@ export declare class TableDescriptor<T> {
92
96
  withGridlines(gridlines: boolean): this;
93
97
  withRowClassName(rowClassName?: string, classNameMapFn?: (className?: string, item?: T) => string): this;
94
98
  withHeaderClassName(headerClassName: string): this;
99
+ withLocalized(): this;
100
+ withLocalizationLocaleProperty(localizationLocaleProperty: string): this;
95
101
  protected copyFieldsTo(obj: TableDescriptor<T>): void;
96
102
  copy(): TableDescriptor<T>;
97
103
  /**
@@ -1,5 +1,7 @@
1
1
  import { Type } from '@angular/core';
2
2
  import { FieldValidatorFn } from '@ngx-formly/core/lib/models/config';
3
+ import { Observable } from 'rxjs';
4
+ import { MediusQueryParam } from '../api/models';
3
5
  import { ILookupDataProvider } from '../data-providers';
4
6
  import { IColumnValueComponent } from '../models';
5
7
  import { TableviewAttributeDef } from '../models/tableview-attr.model';
@@ -14,6 +16,9 @@ export declare class TableviewDescriptor<T> {
14
16
  protected _addEditor: EditorDescriptor<T>;
15
17
  protected _editEditor: EditorDescriptor<T>;
16
18
  protected _tableTitle?: string;
19
+ protected _isLocalized: boolean;
20
+ protected _localizationLocaleProperty?: string;
21
+ protected _localizationLocalizationProperty?: string;
17
22
  constructor(modelType: ClassType<T>, idProperty?: string, titleProperty?: string, i18nBaseKey?: string | ClassType<unknown>);
18
23
  /**
19
24
  * generates descriptor from attribute definition of openaapi model
@@ -37,6 +42,7 @@ export declare class TableviewDescriptor<T> {
37
42
  get editEditor(): EditorDescriptor<T>;
38
43
  get tableTitle(): string | undefined;
39
44
  get model(): ModelDescriptor<T>;
45
+ isLocalized(): boolean;
40
46
  withTableDescriptor(descriptor: TableDescriptor<T>): this;
41
47
  withEditorDescriptors(descriptor: EditorDescriptor<T>): this;
42
48
  withDetailsDescriptor(descriptor: EditorDescriptor<T>): this;
@@ -99,6 +105,7 @@ export declare class TableviewDescriptor<T> {
99
105
  * @param filterProperty
100
106
  */
101
107
  withModifiedLookup<MT>(property: string, modelType?: ClassType<MT>, lookupProvider?: ILookupDataProvider<MT, any>, titleProperty?: string, itemsLabelProperty?: string, filterProperty?: string): this;
108
+ localized<S>(localizationProperty?: string, localeProperty?: string, localizationBeanType?: ClassType<any>, localeLookup?: (queryParam?: MediusQueryParam, service?: S, search?: string) => Observable<Array<string>>): this;
102
109
  }
103
110
  export declare class TableviewDynamicDescriptor extends TableviewDescriptor<any> {
104
111
  protected _table: TableDynamicDescriptor;