@mediusinc/mng-commons 0.2.16 → 0.2.19

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 (100) hide show
  1. package/assets/i18n/en.json +4 -2
  2. package/assets/i18n/sl.json +19 -17
  3. package/esm2020/lib/api/models/filter-param.model.mjs +1 -1
  4. package/esm2020/lib/api/models/query-param.model.mjs +1 -1
  5. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +17 -12
  6. package/esm2020/lib/components/action/action.component.mjs +32 -18
  7. package/esm2020/lib/components/action/editor/action-editor.component.mjs +182 -0
  8. package/esm2020/lib/components/action/index.mjs +2 -2
  9. package/esm2020/lib/components/action/models/action-execution.model.mjs +3 -3
  10. package/esm2020/lib/components/action/route/action-route.component.mjs +17 -12
  11. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +13 -11
  12. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +5 -7
  13. package/esm2020/lib/components/form/editor/form-editor.component.mjs +56 -4
  14. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +3 -3
  15. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +3 -3
  16. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +3 -3
  17. package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +179 -0
  18. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +28 -9
  19. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +14 -10
  20. package/esm2020/lib/components/form/formly/fields/index.mjs +2 -1
  21. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +3 -3
  22. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +4 -3
  23. package/esm2020/lib/components/form/models/form-editor.event.mjs +28 -1
  24. package/esm2020/lib/components/layout/main-layout.component.mjs +1 -1
  25. package/esm2020/lib/components/layout/topbar.component.mjs +2 -4
  26. package/esm2020/lib/components/tableview/table/table.component.mjs +43 -20
  27. package/esm2020/lib/components/tableview/tableview.component.mjs +22 -15
  28. package/esm2020/lib/config/formly.config.mjs +7 -2
  29. package/esm2020/lib/data-providers/table.data-provider.mjs +17 -2
  30. package/esm2020/lib/descriptors/action.descriptor.mjs +112 -1
  31. package/esm2020/lib/descriptors/editor.descriptor.interface.mjs +2 -0
  32. package/esm2020/lib/descriptors/editor.descriptor.mjs +129 -28
  33. package/esm2020/lib/directives/component.directive.mjs +8 -3
  34. package/esm2020/lib/mng-commons.module.mjs +18 -11
  35. package/esm2020/lib/models/index.mjs +2 -1
  36. package/esm2020/lib/models/view-container.model.mjs +2 -0
  37. package/esm2020/lib/router/models/router.model.mjs +1 -1
  38. package/esm2020/lib/router/route-builder.mjs +75 -11
  39. package/esm2020/lib/services/action-executor.service.mjs +291 -0
  40. package/esm2020/lib/services/configuration.service.mjs +3 -3
  41. package/esm2020/lib/services/index.mjs +2 -2
  42. package/esm2020/lib/services/mng-view-container-component.service.mjs +35 -0
  43. package/esm2020/lib/services/tokens/default-setting.token.mjs +3 -0
  44. package/esm2020/lib/services/tokens/index.mjs +2 -1
  45. package/esm2020/lib/utils/editor-formly.util.mjs +14 -3
  46. package/esm2020/lib/utils/toast.util.mjs +15 -7
  47. package/esm2020/public-api.mjs +1 -2
  48. package/fesm2015/mediusinc-mng-commons.mjs +1738 -1012
  49. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  50. package/fesm2020/mediusinc-mng-commons.mjs +1578 -878
  51. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  52. package/lib/api/models/filter-param.model.d.ts +1 -1
  53. package/lib/api/models/query-param.model.d.ts +1 -1
  54. package/lib/api/services/crud-api.abstract.service.d.ts +9 -8
  55. package/lib/components/action/action.component.d.ts +12 -7
  56. package/lib/components/action/{dialog/action-dialog.component.d.ts → editor/action-editor.component.d.ts} +18 -12
  57. package/lib/components/action/index.d.ts +1 -1
  58. package/lib/components/action/models/action-execution.model.d.ts +3 -3
  59. package/lib/components/action/route/action-route.component.d.ts +6 -6
  60. package/lib/components/form/autocomplete/autocomplete.component.d.ts +3 -2
  61. package/lib/components/form/dropdown/dropdown.component.d.ts +4 -4
  62. package/lib/components/form/editor/form-editor.component.d.ts +7 -2
  63. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +45 -0
  64. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +2 -0
  65. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +1 -0
  66. package/lib/components/form/formly/fields/index.d.ts +1 -0
  67. package/lib/components/form/models/form-editor.event.d.ts +32 -0
  68. package/lib/components/layout/topbar.component.d.ts +2 -3
  69. package/lib/components/tableview/table/table.component.d.ts +14 -6
  70. package/lib/components/tableview/tableview.component.d.ts +10 -7
  71. package/lib/data-providers/table.data-provider.d.ts +9 -1
  72. package/lib/descriptors/action.descriptor.d.ts +41 -5
  73. package/lib/descriptors/editor.descriptor.d.ts +62 -19
  74. package/lib/descriptors/editor.descriptor.interface.d.ts +9 -0
  75. package/lib/directives/component.directive.d.ts +5 -4
  76. package/lib/mng-commons.module.d.ts +55 -54
  77. package/lib/models/index.d.ts +1 -0
  78. package/lib/models/view-container.model.d.ts +6 -0
  79. package/lib/router/models/router.model.d.ts +2 -2
  80. package/lib/router/route-builder.d.ts +18 -4
  81. package/lib/services/{action.service.d.ts → action-executor.service.d.ts} +19 -18
  82. package/lib/services/index.d.ts +1 -1
  83. package/lib/services/mng-view-container-component.service.d.ts +22 -0
  84. package/lib/services/tokens/default-setting.token.d.ts +2 -0
  85. package/lib/services/tokens/index.d.ts +1 -0
  86. package/lib/utils/toast.util.d.ts +5 -4
  87. package/package.json +1 -1
  88. package/public-api.d.ts +0 -1
  89. package/scss/mng-overrides/_layout_forms.scss +2 -0
  90. package/scss/mng-overrides/_mixins.scss +7 -0
  91. package/scss/mng-overrides/_theme_button.scss +58 -0
  92. package/scss/mng-overrides/_theme_dropdown.scss +17 -0
  93. package/scss/mng-overrides/_theme_styles.scss +1 -0
  94. package/scss/mng-overrides/_variables.scss +2 -0
  95. package/esm2020/lib/components/action/dialog/action-dialog.component.mjs +0 -151
  96. package/esm2020/lib/components/tableview/services/index.mjs +0 -2
  97. package/esm2020/lib/components/tableview/services/tableview.component.service.mjs +0 -21
  98. package/esm2020/lib/services/action.service.mjs +0 -273
  99. package/lib/components/tableview/services/index.d.ts +0 -1
  100. package/lib/components/tableview/services/tableview.component.service.d.ts +0 -14
@@ -9,8 +9,8 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
- import { AttributeDef } from './serialization.model';
13
12
  import { MediusFilterMatchType } from './filter-match-type.model';
13
+ import { AttributeDef } from './serialization.model';
14
14
  export declare class MediusFilterParam {
15
15
  property?: string;
16
16
  filterValue?: object;
@@ -9,9 +9,9 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
- import { AttributeDef } from './serialization.model';
13
12
  import { MediusFilterParam } from './filter-param.model';
14
13
  import { MediusQueryMode } from './query-mode.model';
14
+ import { AttributeDef } from './serialization.model';
15
15
  export declare class MediusQueryParam {
16
16
  sortProperty?: Array<string>;
17
17
  sortAsc?: Array<boolean>;
@@ -1,23 +1,24 @@
1
- import { HttpClient } from '@angular/common/http';
1
+ import { HttpClient, HttpParams } from '@angular/common/http';
2
2
  import { Observable } from 'rxjs';
3
3
  import { ClassType } from '../../types';
4
4
  import { MediusQueryParam, MediusQueryResult } from '../models';
5
+ import { ObjectSerializer } from '../utils';
5
6
  export declare abstract class AMngCrudApiService<T, QRT extends MediusQueryResult<T>> {
6
7
  protected type: ClassType<T>;
7
8
  protected queryResultType: ClassType<QRT>;
8
9
  protected http: HttpClient;
9
- private readonly objectSerializer;
10
+ protected readonly objectSerializer: ObjectSerializer;
10
11
  protected constructor(type: ClassType<T>, queryResultType: ClassType<QRT>, http: HttpClient);
11
- createPost(item: T): Observable<T>;
12
- getAllPost(queryParam?: MediusQueryParam): Observable<QRT>;
13
- getByIdGet(id: any): Observable<T>;
14
- updatePut(id: any, item: T): Observable<T>;
15
- removeDelete(id: any, item: T): Observable<any>;
12
+ createPost(item: T, params?: HttpParams): Observable<T>;
13
+ getAllPost(queryParamBody?: MediusQueryParam, params?: HttpParams): Observable<QRT>;
14
+ getByIdGet(id: any, params?: HttpParams): Observable<T>;
15
+ updatePut(id: any, item: T, params?: HttpParams): Observable<T>;
16
+ removeDelete(id: any, item?: T, params?: HttpParams): Observable<any>;
16
17
  protected abstract getBasePath(): string;
17
18
  protected abstract getServiceBasePath(): string;
18
19
  protected getGetAllPostPath(): string;
19
20
  protected getCreatePostPath(): string;
20
21
  protected getUpdatePutPath(id: any, item: T): string;
21
22
  protected getGetByIdGetPath(id: any): string;
22
- protected getRemoveDeletePath(id: any, item: T): string;
23
+ protected getRemoveDeletePath(id: any, item?: T): string;
23
24
  }
@@ -3,22 +3,26 @@ import { ActivatedRoute } from '@angular/router';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import { ConfirmationService } from 'primeng/api';
5
5
  import { Observable } from 'rxjs';
6
+ import { DataProvider } from '../../data-providers';
6
7
  import { ActionDescriptor } from '../../descriptors';
7
- import { MngActionService } from '../../services';
8
+ import { IViewContainer } from '../../models';
9
+ import { MngActionExecutorService } from '../../services';
10
+ import { MngViewContainerComponentService } from '../../services/mng-view-container-component.service';
8
11
  import { IdType } from '../../types';
9
- import { TableviewComponentService } from '../tableview/services';
10
12
  import { ActionData, IActionConfirmationService } from './models';
11
13
  import * as i0 from "@angular/core";
12
14
  export declare class MngActionComponent<T, S> implements OnInit, IActionConfirmationService {
13
15
  private route;
14
16
  private translate;
15
- private actionService;
17
+ private actionExecutor;
16
18
  private confirmationService;
17
- private tableviewService;
19
+ private viewContainerService;
18
20
  action: ActionDescriptor<T>;
19
21
  item?: T;
20
22
  itemId?: IdType;
21
23
  actionData?: ActionData;
24
+ dataProvider?: DataProvider<T, S>;
25
+ viewContainerInit?: IViewContainer<T, S>;
22
26
  private loadingSubject;
23
27
  $loading: Observable<boolean>;
24
28
  cmpId: string;
@@ -26,11 +30,12 @@ export declare class MngActionComponent<T, S> implements OnInit, IActionConfirma
26
30
  $isEnabled: Observable<boolean>;
27
31
  $label: Observable<string | null>;
28
32
  $tooltip: Observable<string | null>;
29
- constructor(route: ActivatedRoute, translate: TranslateService, actionService: MngActionService, confirmationService: ConfirmationService, tableviewService: TableviewComponentService<T, S>);
33
+ private viewContainer?;
34
+ constructor(route: ActivatedRoute, translate: TranslateService, actionExecutor: MngActionExecutorService, confirmationService: ConfirmationService, viewContainerService: MngViewContainerComponentService<T, S> | null);
30
35
  ngOnInit(): void;
31
36
  triggerAction(event: Event): void;
32
37
  getConfirmationService(): ConfirmationService;
33
38
  getConfirmationServiceInstanceKey(action: ActionDescriptor<any>): string;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<MngActionComponent<any, any>, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<MngActionComponent<any, any>, "mng-action", never, { "action": "action"; "item": "item"; "itemId": "itemId"; "actionData": "actionData"; }, {}, never, never>;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngActionComponent<any, any>, [null, null, null, null, { optional: true; }]>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngActionComponent<any, any>, "mng-action", never, { "action": "action"; "item": "item"; "itemId": "itemId"; "actionData": "actionData"; "dataProvider": "dataProvider"; "viewContainerInit": "viewContainer"; }, {}, never, never>;
36
41
  }
@@ -5,43 +5,49 @@ import { Observable } from 'rxjs';
5
5
  import { IEditorDataProvider } from '../../../data-providers';
6
6
  import { ActionEditorDescriptor } from '../../../descriptors';
7
7
  import { MngTemplateDirective } from '../../../directives';
8
- import { MngActionService, MngCommonsService } from '../../../services';
8
+ import { IViewContainer } from '../../../models';
9
+ import { MngActionExecutorService, MngCommonsService } from '../../../services';
10
+ import { MngViewContainerComponentService } from '../../../services/mng-view-container-component.service';
9
11
  import { IdType } from '../../../types';
10
12
  import { MngFormEditorSubmitEvent } from '../../form/models';
11
13
  import { ActionData, ActionRunResult } from '../models';
12
14
  import * as i0 from "@angular/core";
13
- export declare class MngActionDialogComponent<T, S> implements OnInit, OnDestroy {
15
+ export declare class MngActionEditorComponent<T, S> implements OnInit, OnDestroy {
14
16
  private injector;
15
17
  private translate;
16
- dialogRef: DynamicDialogRef;
17
- dialogConfig: DynamicDialogConfig;
18
- private actionService;
18
+ private actionExecutor;
19
19
  private mngCommonsService;
20
+ private dialogRef;
21
+ private dialogConfig;
22
+ private viewContainerService;
20
23
  action: ActionEditorDescriptor<T>;
21
24
  itemId?: IdType;
22
25
  item?: T;
23
26
  actionData?: ActionData;
24
27
  dataProvider?: IEditorDataProvider<T, S>;
28
+ viewContainerInit?: IViewContainer<T, S>;
25
29
  templates: QueryList<MngTemplateDirective>;
26
- cmpId: string;
27
- isSaveButton: boolean;
28
30
  private submitButtonElementRef;
29
31
  private editorComponent;
32
+ cmpId: string;
33
+ title?: string;
34
+ isDialog: boolean;
35
+ isSaveButton: boolean;
30
36
  private loadingSubject;
31
37
  loading$: Observable<boolean>;
32
38
  private submitLoadingSubject;
33
39
  submitLoading$: Observable<boolean>;
34
- private tableviewService?;
40
+ private viewContainer?;
35
41
  private sourceComponent;
36
42
  private subscriptions;
37
- constructor(injector: Injector, translate: TranslateService, dialogRef: DynamicDialogRef, dialogConfig: DynamicDialogConfig, actionService: MngActionService, mngCommonsService: MngCommonsService);
43
+ constructor(injector: Injector, translate: TranslateService, actionExecutor: MngActionExecutorService, mngCommonsService: MngCommonsService, dialogRef: DynamicDialogRef | null, dialogConfig: DynamicDialogConfig | null, viewContainerService: MngViewContainerComponentService<T, S> | null);
38
44
  ngOnInit(): void;
39
45
  ngOnDestroy(): void;
40
46
  onSubmit(event: MngFormEditorSubmitEvent<T>): void;
41
47
  closeDialog(result?: ActionRunResult<T, any, any>): void;
42
48
  saveItem(): void;
43
49
  private loadItemWithDataProvider;
44
- private setDialogHeaderTitle;
45
- static ɵfac: i0.ɵɵFactoryDeclaration<MngActionDialogComponent<any, any>, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<MngActionDialogComponent<any, any>, "mng-action-dialog", never, { "action": "action"; "itemId": "itemId"; "item": "item"; "actionData": "actionData"; "dataProvider": "dataProvider"; }, {}, ["templates"], never>;
50
+ private setTitle;
51
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngActionEditorComponent<any, any>, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngActionEditorComponent<any, any>, "mng-action-editor", never, { "action": "action"; "itemId": "itemId"; "item": "item"; "actionData": "actionData"; "dataProvider": "dataProvider"; "viewContainerInit": "viewContainer"; }, {}, ["templates"], never>;
47
53
  }
@@ -1,3 +1,3 @@
1
1
  export * from './action.component';
2
2
  export * from './route/action-route.component';
3
- export * from './dialog/action-dialog.component';
3
+ export * from './editor/action-editor.component';
@@ -1,8 +1,8 @@
1
1
  import { DynamicDialogRef } from 'primeng/dynamicdialog';
2
2
  import { Observable } from 'rxjs';
3
3
  import { IDataProvider } from '../../../data-providers';
4
+ import { IViewContainer } from '../../../models';
4
5
  import { IdType } from '../../../types';
5
- import { TableviewComponentService } from '../../tableview/services';
6
6
  export declare class ActionExecContext<T, S, DP extends IDataProvider<T, S>> {
7
7
  readonly dataProvider?: DP | undefined;
8
8
  readonly serviceInstance?: S | undefined;
@@ -12,12 +12,12 @@ export declare class ActionExecContext<T, S, DP extends IDataProvider<T, S>> {
12
12
  actionData?: ActionData | undefined;
13
13
  } | undefined;
14
14
  readonly sourceComponent: any;
15
- readonly tableview: TableviewComponentService<T, S> | null;
15
+ readonly viewContainer: IViewContainer<T, S> | null;
16
16
  constructor(dataProvider?: DP | undefined, serviceInstance?: S | undefined, data?: {
17
17
  item?: T | undefined;
18
18
  itemId?: IdType | undefined;
19
19
  actionData?: ActionData | undefined;
20
- } | undefined, sourceComponent?: any, tableview?: TableviewComponentService<T, S> | null);
20
+ } | undefined, sourceComponent?: any, viewContainer?: IViewContainer<T, S> | null);
21
21
  }
22
22
  export declare class ActionError {
23
23
  readonly error: any;
@@ -2,8 +2,8 @@ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { ConfirmationService } from 'primeng/api';
4
4
  import { ActionDescriptor } from '../../../descriptors';
5
- import { MngActionService, MngNavigationService } from '../../../services';
6
- import { TableviewComponentService } from '../../tableview/services';
5
+ import { MngActionExecutorService, MngNavigationService } from '../../../services';
6
+ import { MngViewContainerComponentService } from '../../../services/mng-view-container-component.service';
7
7
  import { IActionConfirmationService } from '../models';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class MngActionRouteComponent<T, S> implements OnInit, OnDestroy, IActionConfirmationService {
@@ -11,15 +11,15 @@ export declare class MngActionRouteComponent<T, S> implements OnInit, OnDestroy,
11
11
  private route;
12
12
  private confirmationService;
13
13
  private navigationService;
14
- private actionService;
15
- private tableviewService;
14
+ private actionExecutor;
15
+ private viewContainerService;
16
16
  cmpId: string;
17
17
  private actions;
18
18
  private activeAction?;
19
19
  private dialogRef?;
20
20
  private dialogCloseSubscription?;
21
21
  private subscriptions;
22
- constructor(router: Router, route: ActivatedRoute, confirmationService: ConfirmationService, navigationService: MngNavigationService, actionService: MngActionService, tableviewService: TableviewComponentService<T, S>);
22
+ constructor(router: Router, route: ActivatedRoute, confirmationService: ConfirmationService, navigationService: MngNavigationService, actionExecutor: MngActionExecutorService, viewContainerService: MngViewContainerComponentService<T, S> | null);
23
23
  ngOnInit(): void;
24
24
  ngOnDestroy(): void;
25
25
  getConfirmationService(): ConfirmationService;
@@ -27,6 +27,6 @@ export declare class MngActionRouteComponent<T, S> implements OnInit, OnDestroy,
27
27
  private activateAction;
28
28
  private deactivateAction;
29
29
  private findActiveAction;
30
- static ɵfac: i0.ɵɵFactoryDeclaration<MngActionRouteComponent<any, any>, never>;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngActionRouteComponent<any, any>, [null, null, null, null, null, { optional: true; }]>;
31
31
  static ɵcmp: i0.ɵɵComponentDeclaration<MngActionRouteComponent<any, any>, "mng-action-route", never, {}, {}, never, never>;
32
32
  }
@@ -1,11 +1,11 @@
1
- import { EventEmitter, ExistingProvider, Injector, OnInit } from '@angular/core';
1
+ import { EventEmitter, ExistingProvider, Injector, OnDestroy, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor, FormControl } from '@angular/forms';
3
3
  import { AutoComplete } from 'primeng/autocomplete';
4
4
  import { Observable } from 'rxjs';
5
5
  import { ILookupDataProvider } from '../../../data-providers';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare const MNG_AUTOCOMPLETE_VALUE_ACCESSOR: ExistingProvider;
8
- export declare class MngAutocompleteComponent implements OnInit, ControlValueAccessor {
8
+ export declare class MngAutocompleteComponent implements OnInit, OnDestroy, ControlValueAccessor {
9
9
  private injector;
10
10
  dataProvider?: ILookupDataProvider<any, any>;
11
11
  dataKeyProperty?: string;
@@ -26,6 +26,7 @@ export declare class MngAutocompleteComponent implements OnInit, ControlValueAcc
26
26
  isLoading: boolean;
27
27
  constructor(injector: Injector);
28
28
  ngOnInit(): void;
29
+ ngOnDestroy(): void;
29
30
  onSearch(event: any): void;
30
31
  onSelect(value: any): void;
31
32
  registerOnChange(fn: any): void;
@@ -1,11 +1,11 @@
1
- import { EventEmitter, ExistingProvider, Injector, OnInit } from '@angular/core';
1
+ import { EventEmitter, ExistingProvider, Injector, OnDestroy, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor, FormControl } from '@angular/forms';
3
3
  import { Dropdown } from 'primeng/dropdown';
4
4
  import { Observable } from 'rxjs';
5
5
  import { ILookupDataProvider } from '../../../data-providers';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare const MNG_DROPDOWN_VALUE_ACCESSOR: ExistingProvider;
8
- export declare class MngDropdownComponent implements OnInit, ControlValueAccessor {
8
+ export declare class MngDropdownComponent implements OnInit, OnDestroy, ControlValueAccessor {
9
9
  private injector;
10
10
  dataProvider?: ILookupDataProvider<any, any>;
11
11
  dataKeyProperty?: string;
@@ -25,10 +25,10 @@ export declare class MngDropdownComponent implements OnInit, ControlValueAccesso
25
25
  private onTouchedFn;
26
26
  dropdownFormControl: FormControl;
27
27
  items$: Observable<Array<any>>;
28
- items: Array<any>;
29
- itemsLoaded: boolean;
28
+ private itemsSubscription?;
30
29
  constructor(injector: Injector);
31
30
  ngOnInit(): void;
31
+ ngOnDestroy(): void;
32
32
  registerOnChange(fn: any): void;
33
33
  registerOnTouched(fn: any): void;
34
34
  setDisabledState(isDisabled: boolean): void;
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, EventEmitter, OnDestroy, OnInit, QueryList } from '@angular/core';
2
- import { FormGroup } from '@angular/forms';
2
+ import { AbstractControl, FormGroup } from '@angular/forms';
3
3
  import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
4
4
  import { TranslateService } from '@ngx-translate/core';
5
5
  import { Message } from 'primeng/api';
@@ -32,8 +32,13 @@ export declare class MngFormEditorComponent<T> implements OnInit, OnDestroy {
32
32
  submit(): void;
33
33
  onSubmit(event: Event): void;
34
34
  getFormValue(): T;
35
+ getFormField(key: string): AbstractControl | null;
36
+ setFormFieldValue(key: string, value: any): void;
37
+ patchFormFieldValue(key: string, value: any): void;
38
+ resetFormFieldValue(key: string, value?: any): void;
39
+ private findFormField;
35
40
  private isAnyFieldInvalid;
36
- private updateFormModel;
41
+ private resetFormModel;
37
42
  private updateFormState;
38
43
  static ɵfac: i0.ɵɵFactoryDeclaration<MngFormEditorComponent<any>, never>;
39
44
  static ɵcmp: i0.ɵɵComponentDeclaration<MngFormEditorComponent<any>, "mng-form-editor", never, { "descriptor": "descriptor"; "submitLoading": "submitLoading"; "item": "item"; "isSubmitButtonVisible": "isSubmitButtonVisible"; "isFormDisabled": "isFormDisabled"; }, { "formSubmitEventEmitter": "formSubmit"; }, ["templates"], never>;
@@ -0,0 +1,45 @@
1
+ import { AfterViewInit, Injector, OnDestroy, OnInit } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { FieldType } from '@ngx-formly/core';
4
+ import { Message } from 'primeng/api';
5
+ import { Observable, Subject } from 'rxjs';
6
+ import { MediusQueryResult } from '../../../../../api/models';
7
+ import { FieldLookupDescriptor } from '../../../../../descriptors';
8
+ import { FieldLookupConfig } from '../../../../../descriptors/editor.descriptor.interface';
9
+ import { MngTableComponent } from '../../../../tableview';
10
+ import * as i0 from "@angular/core";
11
+ export declare class MngFormlyFieldLookupDialogComponent<T, ET> extends FieldType implements OnInit, AfterViewInit, OnDestroy {
12
+ private injector;
13
+ mngTable?: MngTableComponent<any, any>;
14
+ descriptor: FieldLookupDescriptor<T, ET>;
15
+ config: FieldLookupConfig;
16
+ fieldLabelFormControl: FormControl;
17
+ itemsSubject: Subject<T>;
18
+ itemsAsync: Observable<T>;
19
+ addItemsSubject: Subject<MediusQueryResult<T>>;
20
+ addItemsAsync: Observable<MediusQueryResult<T>>;
21
+ dialogUseDataProvider: boolean;
22
+ private dialogDataProviderService;
23
+ private dialogIsLoadingSubject;
24
+ isDialogVisible: boolean;
25
+ dialogAreItemsLoaded: boolean;
26
+ dialogSelectedItem: any;
27
+ dialogMessages: Message[];
28
+ dialogIsLoading$: Observable<boolean>;
29
+ private lookupDataProviderSubscription?;
30
+ private subscriptions;
31
+ constructor(injector: Injector);
32
+ ngOnInit(): void;
33
+ ngAfterViewInit(): void;
34
+ ngOnDestroy(): void;
35
+ openSelectDialog(): void;
36
+ onSelectionChange(item: any): void;
37
+ onCaptionCmpInst(instance: any): void;
38
+ onColumnActionCmpInst(instance: any): void;
39
+ clear(): void;
40
+ hideDialog(): void;
41
+ addItem(): void;
42
+ private setFieldLabelValue;
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngFormlyFieldLookupDialogComponent<any, any>, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngFormlyFieldLookupDialogComponent<any, any>, "mng-formly-field-lookup-dialog", never, {}, {}, never, never>;
45
+ }
@@ -10,6 +10,8 @@ export declare class MngFormlyFieldTableDialogFormComponent<T, ET> extends Field
10
10
  toolbarActions: Array<ActionDescriptor<T>>;
11
11
  rowActions: Array<ActionDescriptor<T>>;
12
12
  private subscriptions;
13
+ private isDisabledSubject;
14
+ private isEnabled$;
13
15
  ngOnInit(): void;
14
16
  ngOnDestroy(): void;
15
17
  static ɵfac: i0.ɵɵFactoryDeclaration<MngFormlyFieldTableDialogFormComponent<any, any>, never>;
@@ -22,6 +22,7 @@ export declare class MngFormlyFieldTableDialogMultiselectComponent<T, ET> extend
22
22
  dialogIsLoading$: Observable<boolean>;
23
23
  hasAddAction: boolean;
24
24
  hasDeleteAction: boolean;
25
+ private lookupDataProviderSubscription?;
25
26
  private subscriptions;
26
27
  constructor(injector: Injector);
27
28
  ngOnInit(): void;
@@ -1,6 +1,7 @@
1
1
  export * from './formly-field-autocomplete/formly-field-autocomplete.component';
2
2
  export * from './formly-field-input/formly-field-input.component';
3
3
  export * from './formly-field-dropdown/formly-field-dropdown.component';
4
+ export * from './formly-field-lookup-dialog/formly-field-lookup-dialog.component';
4
5
  export * from './formly-field-table-dialog-form/formly-field-table-dialog-form.component';
5
6
  export * from './formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component';
6
7
  export * from './formly-field-tabs/formly-field-tabs.component';
@@ -1,5 +1,37 @@
1
+ import { Type } from '@angular/core';
1
2
  export declare class MngFormEditorSubmitEvent<T> {
2
3
  readonly formItem: T;
3
4
  success: boolean;
4
5
  constructor(formItem: T);
5
6
  }
7
+ export declare enum MngFormFieldEventTypeEnum {
8
+ Component = 0,
9
+ ValueChange = 1,
10
+ DataProvider = 2,
11
+ Dialog = 3,
12
+ Other = 4
13
+ }
14
+ export declare class MngFormFieldEventComponentSubtype {
15
+ static readonly ON_INIT = "Component.OnInit";
16
+ static readonly ON_VIEW_INIT = "Component.OnViewInit";
17
+ static readonly ON_CONTENT_INIT = "Component.OnContentInit";
18
+ static readonly ON_DESTROY = "Component.OnDestroy";
19
+ }
20
+ export declare class MngFormFieldEventDialogSubtype {
21
+ static readonly VISIBILITY = "Dialog.Visibility";
22
+ static readonly TABLE_CAPTION_COMPONENT_INSTANCE = "Dialog.MngTable.CaptionComponentInstance";
23
+ static readonly TABLE_COLUMN_ACTIONS_COMPONENT_INSTANCE = "Dialog.MngTable.ColumnActionsComponentInstance";
24
+ }
25
+ export interface MngFormFieldEventData<T, ET> {
26
+ eventSubtype?: string;
27
+ value?: T;
28
+ formValue?: ET;
29
+ [key: string]: any;
30
+ }
31
+ export declare class MngFormFieldEvent<T, ET> {
32
+ readonly type: MngFormFieldEventTypeEnum;
33
+ readonly componentType: Type<any>;
34
+ readonly componentInstance: any;
35
+ readonly data: MngFormFieldEventData<T, ET>;
36
+ constructor(type: MngFormFieldEventTypeEnum, componentType: Type<any>, componentInstance: any, data?: MngFormFieldEventData<T, ET>);
37
+ }
@@ -1,11 +1,11 @@
1
- import { AfterViewInit, OnInit, QueryList, Type } from '@angular/core';
1
+ import { OnInit, QueryList, Type } from '@angular/core';
2
2
  import { ActivatedRoute } from '@angular/router';
3
3
  import { MngTemplateDirective } from '../../directives';
4
4
  import { IUser } from '../../models';
5
5
  import { MngCommonsService } from '../../services';
6
6
  import { MngMainLayoutComponentService } from './services';
7
7
  import * as i0 from "@angular/core";
8
- export declare class MngTopbarComponent implements OnInit, AfterViewInit {
8
+ export declare class MngTopbarComponent implements OnInit {
9
9
  private route;
10
10
  mngCommons: MngCommonsService;
11
11
  mainLayoutService: MngMainLayoutComponentService;
@@ -17,7 +17,6 @@ export declare class MngTopbarComponent implements OnInit, AfterViewInit {
17
17
  user?: IUser;
18
18
  constructor(route: ActivatedRoute, mngCommons: MngCommonsService, mainLayoutService: MngMainLayoutComponentService);
19
19
  ngOnInit(): void;
20
- ngAfterViewInit(): void;
21
20
  switchLanguage(language: string): void;
22
21
  logout(user: IUser, event: Event): void;
23
22
  static ɵfac: i0.ɵɵFactoryDeclaration<MngTopbarComponent, never>;
@@ -1,4 +1,4 @@
1
- import { AfterContentInit, EventEmitter, Injector, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core';
1
+ import { AfterContentInit, EventEmitter, Injector, OnDestroy, OnInit, QueryList, TemplateRef, Type } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import { LazyLoadEvent, SortMeta } from 'primeng/api';
@@ -8,16 +8,16 @@ import { Observable } from 'rxjs';
8
8
  import { MediusQueryResult } from '../../../api/models';
9
9
  import { ITableDataProvider } from '../../../data-providers';
10
10
  import { ColumnDescriptor, TableDescriptor } from '../../../descriptors';
11
- import { MngTemplateDirective } from '../../../directives';
11
+ import { MngComponentDirective, MngTemplateDirective } from '../../../directives';
12
+ import { MngViewContainerComponentService } from '../../../services/mng-view-container-component.service';
12
13
  import { MngTableCellClickEvent, MngTableLoadEvent } from '../models';
13
- import { TableviewComponentService } from '../services';
14
14
  import * as i0 from "@angular/core";
15
15
  export declare class MngTableComponent<T, S> implements OnInit, AfterContentInit, OnDestroy {
16
16
  private injector;
17
17
  private router;
18
18
  private activatedRoute;
19
19
  private translate;
20
- private tableviewService;
20
+ private viewContainerService;
21
21
  readonly filterDisplayRow: TableDescriptor.FilterDisplayEnum;
22
22
  readonly filterDisplayMenu: TableDescriptor.FilterDisplayEnum;
23
23
  descriptor: TableDescriptor<T>;
@@ -26,11 +26,17 @@ export declare class MngTableComponent<T, S> implements OnInit, AfterContentInit
26
26
  loading?: Observable<boolean> | boolean;
27
27
  dataProvider?: ITableDataProvider<T, any>;
28
28
  useQueryParams: boolean;
29
+ selectionMode: string;
29
30
  selectionEnabled: boolean;
31
+ captionComponent?: Type<any>;
32
+ columnActionComponent?: Type<any>;
30
33
  loadEventEmitter: EventEmitter<MngTableLoadEvent>;
31
34
  cellClickEventEmitter: EventEmitter<MngTableCellClickEvent<T>>;
32
35
  selectionChangeEventEmitter: EventEmitter<T[]>;
36
+ captionCmpInstEventEmitter: EventEmitter<any>;
37
+ columnActionCmpInstEventEmitter: EventEmitter<any>;
33
38
  templates: QueryList<MngTemplateDirective>;
39
+ components: QueryList<MngComponentDirective<any>>;
34
40
  primeTable: Table;
35
41
  captionTemplate?: TemplateRef<any>;
36
42
  columnActionTemplate?: TemplateRef<any>;
@@ -62,7 +68,7 @@ export declare class MngTableComponent<T, S> implements OnInit, AfterContentInit
62
68
  private isSortChanged;
63
69
  private filterDescriptors;
64
70
  private subscriptions;
65
- constructor(injector: Injector, router: Router, activatedRoute: ActivatedRoute, translate: TranslateService, tableviewService: TableviewComponentService<T, S>);
71
+ constructor(injector: Injector, router: Router, activatedRoute: ActivatedRoute, translate: TranslateService, viewContainerService: MngViewContainerComponentService<T, S> | null);
66
72
  ngOnInit(): void;
67
73
  ngAfterContentInit(): void;
68
74
  ngOnDestroy(): void;
@@ -72,10 +78,12 @@ export declare class MngTableComponent<T, S> implements OnInit, AfterContentInit
72
78
  onTableFilter(event: any): void;
73
79
  onCellClick(col: ColumnDescriptor<any, T>, item: T, idx: number): void;
74
80
  onSelectionChange(event: Array<T>): void;
81
+ onCaptionCmpInst<C>(instance: C): void;
82
+ onColumnActionCmpInst<C>(instance: C): void;
75
83
  private loadTableWithDataProvider;
76
84
  private loadTableFromRouteUpdate;
77
85
  private updatePrimeSortAndFilter;
78
86
  private getDefaultSortMeta;
79
87
  static ɵfac: i0.ɵɵFactoryDeclaration<MngTableComponent<any, any>, [null, null, null, null, { optional: true; }]>;
80
- static ɵcmp: i0.ɵɵComponentDeclaration<MngTableComponent<any, any>, "mng-table", never, { "descriptor": "descriptor"; "items": "items"; "queryResult": "queryResult"; "loading": "loading"; "dataProvider": "dataProvider"; "useQueryParams": "useQueryParams"; "selectionEnabled": "selectionEnabled"; }, { "loadEventEmitter": "tableLoad"; "cellClickEventEmitter": "cellClick"; "selectionChangeEventEmitter": "selectionChange"; }, ["templates"], never>;
88
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngTableComponent<any, any>, "mng-table", never, { "descriptor": "descriptor"; "items": "items"; "queryResult": "queryResult"; "loading": "loading"; "dataProvider": "dataProvider"; "useQueryParams": "useQueryParams"; "selectionMode": "selectionMode"; "selectionEnabled": "selectionEnabled"; "captionComponent": "captionComponent"; "columnActionComponent": "columnActionComponent"; }, { "loadEventEmitter": "tableLoad"; "cellClickEventEmitter": "cellClick"; "selectionChangeEventEmitter": "selectionChange"; "captionCmpInstEventEmitter": "captionComponentInstance"; "columnActionCmpInstEventEmitter": "columnActionComponentInstance"; }, ["templates"], never>;
81
89
  }
@@ -3,21 +3,22 @@ import { ActivatedRoute } from '@angular/router';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import { ConfirmationService, MessageService } from 'primeng/api';
5
5
  import { DialogService } from 'primeng/dynamicdialog';
6
- import { ITableviewDataProvider } from '../../data-providers';
6
+ import { IDataProvider, ITableviewDataProvider } from '../../data-providers';
7
7
  import { ActionDescriptor, TableviewDescriptor } from '../../descriptors';
8
- import { MngActionService } from '../../services';
8
+ import { IViewContainer } from '../../models';
9
+ import { MngActionExecutorService } from '../../services';
10
+ import { MngViewContainerComponentService } from '../../services/mng-view-container-component.service';
9
11
  import { MngTableCellClickEvent } from './models';
10
- import { TableviewComponentService } from './services';
11
12
  import { MngTableComponent } from './table/table.component';
12
13
  import * as i0 from "@angular/core";
13
- export declare class MngTableviewComponent<T, S> implements OnInit, OnDestroy {
14
+ export declare class MngTableviewComponent<T, S> implements OnInit, OnDestroy, IViewContainer<T, S> {
14
15
  private route;
15
16
  private messageService;
16
17
  private translateService;
17
18
  private dialogService;
18
19
  private confirmationService;
19
- private actionService;
20
- private tableviewService;
20
+ private actionExecutor;
21
+ private viewContainerService;
21
22
  descriptor: TableviewDescriptor<T>;
22
23
  dataProvider?: ITableviewDataProvider<T, S>;
23
24
  actions: Array<ActionDescriptor<T>>;
@@ -27,9 +28,11 @@ export declare class MngTableviewComponent<T, S> implements OnInit, OnDestroy {
27
28
  toolbarLeftActions: ActionDescriptor<T>[];
28
29
  toolbarRightActions: ActionDescriptor<T>[];
29
30
  private subscriptions;
30
- constructor(route: ActivatedRoute, messageService: MessageService, translateService: TranslateService, dialogService: DialogService, confirmationService: ConfirmationService, actionService: MngActionService, tableviewService: TableviewComponentService<T, S>);
31
+ constructor(route: ActivatedRoute, messageService: MessageService, translateService: TranslateService, dialogService: DialogService, confirmationService: ConfirmationService, actionExecutor: MngActionExecutorService, viewContainerService: MngViewContainerComponentService<T, S>);
31
32
  ngOnInit(): void;
32
33
  ngOnDestroy(): void;
34
+ getMessageService(): MessageService;
35
+ getDataProvider(): IDataProvider<T, S> | undefined;
33
36
  reloadTable(): void;
34
37
  onTableCellClick(event: MngTableCellClickEvent<T>): void;
35
38
  static ɵfac: i0.ɵɵFactoryDeclaration<MngTableviewComponent<any, any>, never>;
@@ -1,6 +1,14 @@
1
+ import { Type } from '@angular/core';
1
2
  import { Observable } from 'rxjs';
2
3
  import { MediusQueryParam, MediusQueryResult } from '../api/models';
3
- import { IDataProvider } from './base.data-provider';
4
+ import { ClassType } from '../types';
5
+ import { DataProvider, IDataProvider } from './base.data-provider';
4
6
  export interface ITableDataProvider<T, S> extends IDataProvider<T, S> {
5
7
  getAll: (queryParam: MediusQueryParam, service?: S) => Observable<MediusQueryResult<T>>;
6
8
  }
9
+ export declare class TableDataProvider<T, S> extends DataProvider<T, S> implements ITableDataProvider<T, S> {
10
+ protected _getAll: (queryParam: MediusQueryParam, service?: S) => Observable<MediusQueryResult<T>>;
11
+ constructor(modelType: ClassType<T>, serviceType?: Type<S>);
12
+ get getAll(): (queryParam: MediusQueryParam, service?: S | undefined) => Observable<MediusQueryResult<T>>;
13
+ withGetAll(getAll: (queryParam: MediusQueryParam, service?: S) => Observable<MediusQueryResult<T>>): this;
14
+ }