ontimize-web-ngx 15.0.4 → 15.1.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 (89) hide show
  1. package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +3 -3
  2. package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +15 -13
  3. package/esm2020/lib/components/bar-menu/menu-nested/o-bar-menu-nested.component.mjs +3 -3
  4. package/esm2020/lib/components/bar-menu/o-bar-menu.component.mjs +10 -1
  5. package/esm2020/lib/components/button/o-button.component.mjs +27 -11
  6. package/esm2020/lib/components/form/index.mjs +2 -1
  7. package/esm2020/lib/components/form/o-form-tokens.mjs +3 -0
  8. package/esm2020/lib/components/form/o-form.component.mjs +42 -15
  9. package/esm2020/lib/components/grid/o-grid.component.mjs +7 -3
  10. package/esm2020/lib/components/input/combo/combo-search/o-combo-search.component.mjs +4 -1
  11. package/esm2020/lib/components/input/combo/o-combo.component.mjs +10 -3
  12. package/esm2020/lib/components/input/date-input/o-date-input.component.mjs +5 -1
  13. package/esm2020/lib/components/input/radio/o-radio.component.mjs +7 -5
  14. package/esm2020/lib/components/list/o-list.component.mjs +8 -4
  15. package/esm2020/lib/components/list/renderers/o-list-item-text-renderer.class.mjs +13 -4
  16. package/esm2020/lib/components/o-service-base-component.class.mjs +11 -5
  17. package/esm2020/lib/components/o-service-component.class.mjs +64 -1
  18. package/esm2020/lib/components/table/column/cell-editor/real/o-table-cell-editor-real.component.mjs +2 -2
  19. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +2 -4
  20. package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +8 -7
  21. package/esm2020/lib/components/table/extensions/sort/o-mat-sort.mjs +2 -4
  22. package/esm2020/lib/components/table/o-table.component.mjs +30 -13
  23. package/esm2020/lib/components/tree/o-tree.component.mjs +7 -3
  24. package/esm2020/lib/interfaces/app-menu.interface.mjs +1 -1
  25. package/esm2020/lib/interfaces/service-data-component.interface.mjs +1 -1
  26. package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +1 -1
  27. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +17 -1
  28. package/esm2020/lib/services/app-menu.service.mjs +36 -2
  29. package/esm2020/lib/services/o-auth.service.mjs +7 -1
  30. package/esm2020/lib/services/permissions/permissions.service.mjs +40 -6
  31. package/esm2020/lib/types/form/index.mjs +2 -0
  32. package/esm2020/lib/types/form/o-form-global-config.type.mjs +2 -0
  33. package/esm2020/lib/types/index.mjs +3 -1
  34. package/esm2020/lib/types/o-component-permissions-by-route.type.mjs +2 -0
  35. package/esm2020/lib/types/o-form-permissions.type.mjs +1 -1
  36. package/esm2020/lib/types/o-global-config.type.mjs +3 -0
  37. package/esm2020/lib/types/o-grid-permissions.type.mjs +2 -0
  38. package/esm2020/lib/types/o-list-permissions.type.mjs +2 -0
  39. package/esm2020/lib/types/o-service-base-permissions.type.mjs +2 -0
  40. package/esm2020/lib/types/o-tree-permissions.type.mjs +2 -0
  41. package/esm2020/lib/types/table/o-table-global-config.type.mjs +1 -1
  42. package/esm2020/lib/types/table/o-table-permissions.type.mjs +1 -1
  43. package/esm2020/lib/util/codes.mjs +9 -1
  44. package/esm2020/lib/util/util.mjs +16 -1
  45. package/fesm2015/ontimize-web-ngx.mjs +1297 -1018
  46. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  47. package/fesm2020/ontimize-web-ngx.mjs +1296 -1018
  48. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  49. package/lib/components/app-sidenav/o-app-sidenav.component.d.ts +4 -4
  50. package/lib/components/bar-menu/o-bar-menu.component.d.ts +4 -0
  51. package/lib/components/button/o-button.component.d.ts +11 -2
  52. package/lib/components/form/index.d.ts +1 -0
  53. package/lib/components/form/o-form-tokens.d.ts +3 -0
  54. package/lib/components/form/o-form.component.d.ts +11 -4
  55. package/lib/components/grid/o-grid.component.d.ts +4 -0
  56. package/lib/components/input/combo/combo-search/o-combo-search.component.d.ts +1 -0
  57. package/lib/components/input/combo/o-combo.component.d.ts +2 -0
  58. package/lib/components/input/date-input/o-date-input.component.d.ts +1 -0
  59. package/lib/components/input/radio/o-radio.component.d.ts +2 -1
  60. package/lib/components/list/o-list.component.d.ts +4 -0
  61. package/lib/components/list/renderers/o-list-item-text-renderer.class.d.ts +4 -1
  62. package/lib/components/o-service-base-component.class.d.ts +2 -0
  63. package/lib/components/o-service-component.class.d.ts +11 -0
  64. package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +1 -1
  65. package/lib/components/table/o-table.component.d.ts +3 -3
  66. package/lib/components/tree/o-tree.component.d.ts +4 -0
  67. package/lib/interfaces/app-menu.interface.d.ts +1 -0
  68. package/lib/interfaces/service-data-component.interface.d.ts +1 -0
  69. package/lib/layouts/form-layout/o-form-layout-manager.component.d.ts +1 -0
  70. package/lib/services/app-menu.service.d.ts +7 -1
  71. package/lib/services/o-auth.service.d.ts +1 -0
  72. package/lib/services/permissions/permissions.service.d.ts +14 -3
  73. package/lib/types/form/index.d.ts +1 -0
  74. package/lib/types/form/o-form-global-config.type.d.ts +3 -0
  75. package/lib/types/index.d.ts +2 -0
  76. package/lib/types/o-component-permissions-by-route.type.d.ts +5 -0
  77. package/lib/types/o-form-permissions.type.d.ts +2 -7
  78. package/lib/types/o-global-config.type.d.ts +5 -0
  79. package/lib/types/o-grid-permissions.type.d.ts +2 -0
  80. package/lib/types/o-list-permissions.type.d.ts +2 -0
  81. package/lib/types/o-service-base-permissions.type.d.ts +7 -0
  82. package/lib/types/o-tree-permissions.type.d.ts +2 -0
  83. package/lib/types/table/o-table-global-config.type.d.ts +5 -0
  84. package/lib/types/table/o-table-permissions.type.d.ts +2 -4
  85. package/lib/util/codes.d.ts +8 -1
  86. package/lib/util/util.d.ts +2 -0
  87. package/package.json +1 -1
  88. package/theme.scss +72 -71
  89. package/theming/ontimize-style.scss +1 -30
@@ -19,7 +19,7 @@ export declare class OAppSidenavComponent implements OnInit, OnDestroy, AfterVie
19
19
  sidenav: MatSidenav;
20
20
  protected routerSubscription: Subscription;
21
21
  appMenuService: AppMenuService;
22
- protected _menuRootArray: MenuRootItem[];
22
+ menuRootArray: MenuRootItem[];
23
23
  protected _layoutMode: OAppLayoutMode;
24
24
  protected _sidenavMode: OSidenavMode;
25
25
  protected opened: boolean;
@@ -34,10 +34,12 @@ export declare class OAppSidenavComponent implements OnInit, OnDestroy, AfterVie
34
34
  afterSidenavToggle: EventEmitter<boolean>;
35
35
  protected oUserInfoService: OUserInfoService;
36
36
  protected userInfoSubscription: Subscription;
37
+ protected permissionSubscription: Subscription;
37
38
  protected userInfo: UserInfo;
38
39
  protected mediaWatch: Subscription;
39
40
  protected manuallyClosed: boolean;
40
41
  constructor(injector: Injector, router: Router, elRef: ElementRef, cd: ChangeDetectorRef, media: MediaObserver);
42
+ refreshMenuRoots(): void;
41
43
  onResize(): void;
42
44
  ngOnInit(): void;
43
45
  ngAfterViewInit(): void;
@@ -45,14 +47,12 @@ export declare class OAppSidenavComponent implements OnInit, OnDestroy, AfterVie
45
47
  set layoutMode(val: OAppLayoutMode);
46
48
  get sidenavMode(): OSidenavMode;
47
49
  set sidenavMode(val: OSidenavMode);
48
- protected refreshMenuRoots(): void;
50
+ protected refreshMenuItemUserInfo(): void;
49
51
  ngOnDestroy(): void;
50
52
  isScreenSmall(): boolean;
51
53
  isMobileMode(): boolean;
52
54
  isDesktopMode(): boolean;
53
55
  isSidenavOpened(): boolean;
54
- get menuRootArray(): MenuRootItem[];
55
- set menuRootArray(val: MenuRootItem[]);
56
56
  toggleSidenav(): void;
57
57
  get showUserInfo(): boolean;
58
58
  set showUserInfo(arg: boolean);
@@ -1,4 +1,5 @@
1
1
  import { ElementRef, Injector, OnInit } from '@angular/core';
2
+ import { Subscription } from 'rxjs';
2
3
  import { PermissionsService } from '../../services/permissions/permissions.service';
3
4
  import { OTranslateService } from '../../services/translate/o-translate.service';
4
5
  import { MenuRootItem } from '../../types/menu-root-item.type';
@@ -14,6 +15,7 @@ export declare class OBarMenuComponent implements OnInit {
14
15
  protected _menuTitle: string;
15
16
  protected _tooltip: string;
16
17
  protected _id: string;
18
+ protected subscription: Subscription;
17
19
  constructor(elRef: ElementRef, injector: Injector);
18
20
  ngOnInit(): void;
19
21
  setDOMTitle(): void;
@@ -26,6 +28,8 @@ export declare class OBarMenuComponent implements OnInit {
26
28
  get id(): string;
27
29
  set id(val: string);
28
30
  get menuItems(): MenuRootItem[];
31
+ refreshMenuRoots(): void;
32
+ ngOnDestroy(): void;
29
33
  static ɵfac: i0.ɵɵFactoryDeclaration<OBarMenuComponent, never>;
30
34
  static ɵcmp: i0.ɵɵComponentDeclaration<OBarMenuComponent, "o-bar-menu", never, { "menuTitle": "title"; "tooltip": "tooltip"; }, {}, never, ["*"], false, never>;
31
35
  }
@@ -1,9 +1,14 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
1
+ import { EventEmitter, Injector, OnInit } from '@angular/core';
2
2
  import { ThemePalette } from '@angular/material/core';
3
+ import { ActivatedRoute } from '@angular/router';
4
+ import { PermissionsService } from '../../services';
5
+ import { OPermissions } from '../../types';
3
6
  import * as i0 from "@angular/core";
4
7
  export declare const DEFAULT_INPUTS_O_BUTTON: string[];
5
8
  export declare const DEFAULT_OUTPUTS_O_BUTTON: string[];
6
9
  export declare class OButtonComponent implements OnInit {
10
+ protected injector: Injector;
11
+ protected actRoute: ActivatedRoute;
7
12
  protected static DEFAULT_TYPE: string;
8
13
  protected oattr: string;
9
14
  olabel: string;
@@ -14,9 +19,12 @@ export declare class OButtonComponent implements OnInit {
14
19
  image: string;
15
20
  enabled: boolean;
16
21
  color: ThemePalette;
22
+ visible: boolean;
17
23
  onClick: EventEmitter<Event>;
18
24
  click: EventEmitter<Event>;
19
- constructor();
25
+ protected permissionsService: PermissionsService;
26
+ protected permissions: OPermissions;
27
+ constructor(injector: Injector, actRoute: ActivatedRoute);
20
28
  ngOnInit(): void;
21
29
  onButtonClick(event: MouseEvent): void;
22
30
  get needsIconButtonClass(): boolean;
@@ -27,6 +35,7 @@ export declare class OButtonComponent implements OnInit {
27
35
  isBasic(): boolean;
28
36
  isMiniFab(): boolean;
29
37
  isIconButton(): boolean;
38
+ isVisible(): boolean;
30
39
  static ɵfac: i0.ɵɵFactoryDeclaration<OButtonComponent, never>;
31
40
  static ɵcmp: i0.ɵɵComponentDeclaration<OButtonComponent, "o-button", never, { "oattr": "attr"; "olabel": "label"; "otype": "type"; "icon": "icon"; "svgIcon": "svg-icon"; "iconPosition": "icon-position"; "image": "image"; "enabled": "enabled"; "color": "color"; }, { "onClick": "onClick"; "click": "click"; }, never, never, false, never>;
32
41
  }
@@ -8,3 +8,4 @@ export * from './o-form.module';
8
8
  export * from './o-form-value';
9
9
  export * from './toolbar/o-form-toolbar.component';
10
10
  export * from './toolbar/o-form-toolbar.module';
11
+ export * from './o-form-tokens';
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ import { OFormGlobalConfig } from "../../types/form/o-form-global-config.type";
3
+ export declare const O_FORM_GLOBAL_CONFIG: InjectionToken<OFormGlobalConfig>;
@@ -5,6 +5,7 @@ import { BehaviorSubject, Observable, Subscription } from 'rxjs';
5
5
  import { IComponent } from '../../interfaces/component.interface';
6
6
  import { IFormDataComponent } from '../../interfaces/form-data-component.interface';
7
7
  import { IFormDataTypeComponent } from '../../interfaces/form-data-type-component.interface';
8
+ import { OFormLayoutManagerBase } from '../../layouts/form-layout/o-form-layout-manager-base.class';
8
9
  import { DialogService } from '../../services/dialog.service';
9
10
  import { NavigationService } from '../../services/navigation.service';
10
11
  import { PermissionsService } from '../../services/permissions/permissions.service';
@@ -18,11 +19,12 @@ import { OFormCacheClass } from './cache/o-form.cache.class';
18
19
  import { CanComponentDeactivate, CanDeactivateFormGuard } from './guards/o-form-can-deactivate.guard';
19
20
  import { OFormNavigationClass } from './navigation/o-form.navigation.class';
20
21
  import { OFormMessageService } from './services/o-form-message.service';
21
- import { OFormToolbarComponent } from './toolbar/o-form-toolbar.component';
22
- import { IFormDataComponentHash } from '../../interfaces/form-data-component-hash.interface';
23
- import { OFormLayoutManagerBase } from '../../layouts/form-layout/o-form-layout-manager-base.class';
24
22
  import { OFormToolbarBase } from './toolbar/o-form-toolbar-base.class';
23
+ import { OFormToolbarComponent } from './toolbar/o-form-toolbar.component';
25
24
  import * as i0 from "@angular/core";
25
+ interface IFormDataComponentHash {
26
+ [attr: string]: IFormDataComponent;
27
+ }
26
28
  export declare const DEFAULT_INPUTS_O_FORM: string[];
27
29
  export declare const DEFAULT_OUTPUTS_O_FORM: string[];
28
30
  export declare class OFormComponent implements OnInit, OnDestroy, CanComponentDeactivate, AfterViewInit {
@@ -44,6 +46,7 @@ export declare class OFormComponent implements OnInit, OnDestroy, CanComponentDe
44
46
  entity: string;
45
47
  keys: string;
46
48
  columns: string;
49
+ setValueOrder: string;
47
50
  service: string;
48
51
  stayInRecordAfterEdit: boolean;
49
52
  afterInsertMode: 'new' | 'detail' | 'close';
@@ -64,6 +67,7 @@ export declare class OFormComponent implements OnInit, OnDestroy, CanComponentDe
64
67
  includeBreadcrumb: boolean;
65
68
  detectChangesOnBlur: boolean;
66
69
  confirmExit: boolean;
70
+ setValueOrderArray: string[];
67
71
  set ignoreOnExit(val: string[]);
68
72
  get ignoreOnExit(): string[];
69
73
  protected _ignoreOnExit: string[];
@@ -126,6 +130,7 @@ export declare class OFormComponent implements OnInit, OnDestroy, CanComponentDe
126
130
  canDiscardChanges: boolean;
127
131
  static Mode(): any;
128
132
  constructor(router: Router, actRoute: ActivatedRoute, zone: NgZone, cd: ChangeDetectorRef, injector: Injector, elRef: ElementRef);
133
+ private getGlobalConfig;
129
134
  registerFormComponent(comp: any): void;
130
135
  registerSQLTypeFormComponent(comp: IFormDataTypeComponent): void;
131
136
  registerFormControlComponent(comp: IFormDataComponent): void;
@@ -232,6 +237,7 @@ export declare class OFormComponent implements OnInit, OnDestroy, CanComponentDe
232
237
  protected determinateFormMode(): void;
233
238
  protected determinateModeFromUrlSegment(segment: UrlSegment): void;
234
239
  protected _updateFormData(newFormData: object): void;
240
+ private setDataInFormDataComponent;
235
241
  protected initializeFields(): void;
236
242
  protected clearComponentsOldValue(): void;
237
243
  protected postCorrectInsert(result: any): void;
@@ -248,5 +254,6 @@ export declare class OFormComponent implements OnInit, OnDestroy, CanComponentDe
248
254
  protected isUpdateModePath(path: string): boolean;
249
255
  private showError;
250
256
  static ɵfac: i0.ɵɵFactoryDeclaration<OFormComponent, never>;
251
- static ɵcmp: i0.ɵɵComponentDeclaration<OFormComponent, "o-form", never, { "showHeader": "show-header"; "headerMode": "header-mode"; "headerPosition": "header-position"; "labelheader": "label-header"; "labelHeaderAlign": "label-header-align"; "headeractions": "header-actions"; "showHeaderActionsText": "show-header-actions-text"; "entity": "entity"; "keys": "keys"; "columns": "columns"; "service": "service"; "stayInRecordAfterEdit": "stay-in-record-after-edit"; "afterInsertMode": "after-insert-mode"; "serviceType": "service-type"; "queryOnInit": "query-on-init"; "parentKeys": "parent-keys"; "queryMethod": "query-method"; "insertMethod": "insert-method"; "updateMethod": "update-method"; "deleteMethod": "delete-method"; "layoutDirection": "layout-direction"; "layoutAlign": "layout-align"; "editableDetail": "editable-detail"; "keysSqlTypes": "keys-sql-types"; "undoButton": "undo-button"; "showHeaderNavigation": "show-header-navigation"; "oattr": "attr"; "includeBreadcrumb": "include-breadcrumb"; "detectChangesOnBlur": "detect-changes-on-blur"; "confirmExit": "confirm-exit"; "ignoreOnExit": "ignore-on-exit"; "queryFallbackFunction": "query-fallback-function"; "ignoreDefaultNavigation": "ignore-default-navigation"; "messageServiceType": "message-service-type"; }, { "onDataLoaded": "onDataLoaded"; "beforeCloseDetail": "beforeCloseDetail"; "beforeGoEditMode": "beforeGoEditMode"; "onFormModeChange": "onFormModeChange"; "onBeforeInsert": "onBeforeInsert"; "onBeforeUpdate": "onBeforeUpdate"; "onBeforeDelete": "onBeforeDelete"; "onInsert": "onInsert"; "onUpdate": "onUpdate"; "onDelete": "onDelete"; "beforeInsertMode": "beforeInsertMode"; "beforeUpdateMode": "beforeUpdateMode"; "beforeInitialMode": "beforeInitialMode"; "onInsertMode": "onInsertMode"; "onUpdateMode": "onUpdateMode"; "onInitialMode": "onInitialMode"; "onCancel": "onCancel"; }, never, ["[o-form-toolbar-buttons]", "*"], false, never>;
257
+ static ɵcmp: i0.ɵɵComponentDeclaration<OFormComponent, "o-form", never, { "showHeader": "show-header"; "headerMode": "header-mode"; "headerPosition": "header-position"; "labelheader": "label-header"; "labelHeaderAlign": "label-header-align"; "headeractions": "header-actions"; "showHeaderActionsText": "show-header-actions-text"; "entity": "entity"; "keys": "keys"; "columns": "columns"; "service": "service"; "stayInRecordAfterEdit": "stay-in-record-after-edit"; "afterInsertMode": "after-insert-mode"; "serviceType": "service-type"; "queryOnInit": "query-on-init"; "parentKeys": "parent-keys"; "queryMethod": "query-method"; "insertMethod": "insert-method"; "updateMethod": "update-method"; "deleteMethod": "delete-method"; "layoutDirection": "layout-direction"; "layoutAlign": "layout-align"; "editableDetail": "editable-detail"; "keysSqlTypes": "keys-sql-types"; "undoButton": "undo-button"; "showHeaderNavigation": "show-header-navigation"; "oattr": "attr"; "includeBreadcrumb": "include-breadcrumb"; "detectChangesOnBlur": "detect-changes-on-blur"; "confirmExit": "confirm-exit"; "ignoreOnExit": "ignore-on-exit"; "queryFallbackFunction": "query-fallback-function"; "ignoreDefaultNavigation": "ignore-default-navigation"; "messageServiceType": "message-service-type"; "setValueOrder": "set-value-order"; }, { "onDataLoaded": "onDataLoaded"; "beforeCloseDetail": "beforeCloseDetail"; "beforeGoEditMode": "beforeGoEditMode"; "onFormModeChange": "onFormModeChange"; "onBeforeInsert": "onBeforeInsert"; "onBeforeUpdate": "onBeforeUpdate"; "onBeforeDelete": "onBeforeDelete"; "onInsert": "onInsert"; "onUpdate": "onUpdate"; "onDelete": "onDelete"; "beforeInsertMode": "beforeInsertMode"; "beforeUpdateMode": "beforeUpdateMode"; "beforeInitialMode": "beforeInitialMode"; "onInsertMode": "onInsertMode"; "onUpdateMode": "onUpdateMode"; "onInitialMode": "onInitialMode"; "onCancel": "onCancel"; }, never, ["[o-form-toolbar-buttons]", "*"], false, never>;
252
258
  }
259
+ export {};
@@ -7,6 +7,8 @@ import { Subscription } from 'rxjs';
7
7
  import { IGridItem } from '../../interfaces/o-grid-item.interface';
8
8
  import { OGridComponentStateClass } from '../../services/state/o-grid-component-state.class';
9
9
  import { OGridComponentStateService } from '../../services/state/o-grid-component-state.service';
10
+ import { OPermissions } from '../../types';
11
+ import { OGridPermissions } from '../../types/o-grid-permissions.type';
10
12
  import { OQueryDataArgs } from '../../types/query-data-args.type';
11
13
  import { SQLOrder } from '../../types/sql-order.type';
12
14
  import { OFormComponent } from '../form/o-form.component';
@@ -52,6 +54,8 @@ export declare class OGridComponent extends AbstractOServiceComponent<OGridCompo
52
54
  protected subscription: Subscription;
53
55
  protected media: MediaObserver;
54
56
  protected oMatSort: OMatSort;
57
+ protected permissions: OGridPermissions;
58
+ protected actionsPermissions: OPermissions[];
55
59
  constructor(injector: Injector, elRef: ElementRef, form: OFormComponent);
56
60
  get state(): OGridComponentStateClass;
57
61
  ngOnInit(): void;
@@ -28,6 +28,7 @@ export declare class OComboSearchComponent implements OnInit, OnDestroy {
28
28
  focus(): void;
29
29
  reset(focus?: boolean): void;
30
30
  protected initMultipleHandling(): void;
31
+ resetSelectedValues(): void;
31
32
  static ɵfac: i0.ɵɵFactoryDeclaration<OComboSearchComponent, never>;
32
33
  static ɵcmp: i0.ɵɵComponentDeclaration<OComboSearchComponent, "o-combo-search", never, {}, {}, never, never, false, never>;
33
34
  }
@@ -7,6 +7,7 @@ import { OFormValue } from '../../form/o-form-value';
7
7
  import { OFormComponent } from '../../form/o-form.component';
8
8
  import { OFormServiceComponent } from '../o-form-service-component.class';
9
9
  import { OComboCustomRenderer } from './combo-renderer/o-combo-renderer.class';
10
+ import { OComboSearchComponent } from './combo-search/o-combo-search.component';
10
11
  import * as i0 from "@angular/core";
11
12
  export declare const DEFAULT_INPUTS_O_COMBO: string[];
12
13
  export declare class OComboComponent extends OFormServiceComponent implements OnInit, AfterViewInit, OnDestroy {
@@ -20,6 +21,7 @@ export declare class OComboComponent extends OFormServiceComponent implements On
20
21
  nullSelectionLabel: string;
21
22
  protected inputModel: ElementRef;
22
23
  protected selectModel: MatSelect;
24
+ protected comboSearch: OComboSearchComponent;
23
25
  protected _filteredDataArray: any[];
24
26
  set filteredDataArray(data: any);
25
27
  get filteredDataArray(): any;
@@ -45,6 +45,7 @@ export declare class ODateInputComponent extends OTextInputComponent implements
45
45
  getValue(): any;
46
46
  get showClearButton(): boolean;
47
47
  open(): void;
48
+ clearValue(options?: FormValueOptions, setDirty?: boolean): void;
48
49
  onChangeEvent(event: MatDatepickerInputEvent<any>): void;
49
50
  onClickInput(e: Event): void;
50
51
  get filterDate(): DateFilterFunction;
@@ -8,6 +8,7 @@ export declare const DEFAULT_INPUTS_O_RADIO: string[];
8
8
  export declare class ORadioComponent extends OFormServiceComponent implements AfterViewInit {
9
9
  layout: 'row' | 'column';
10
10
  labelPosition: 'before' | 'after';
11
+ labelGap: string;
11
12
  value: OFormValue;
12
13
  constructor(form: OFormComponent, elRef: ElementRef, injector: Injector);
13
14
  ngAfterViewInit(): void;
@@ -15,5 +16,5 @@ export declare class ORadioComponent extends OFormServiceComponent implements Af
15
16
  getValueColumn(item: any): any;
16
17
  getDescriptionValue(): string;
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<ORadioComponent, [{ optional: true; }, null, null]>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<ORadioComponent, "o-radio", never, { "layout": "layout"; "labelPosition": "label-position"; }, {}, never, never, false, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<ORadioComponent, "o-radio", never, { "layout": "layout"; "labelPosition": "label-position"; "labelGap": "label-gap"; }, {}, never, never, false, never>;
19
20
  }
@@ -6,6 +6,8 @@ import { IList } from '../../interfaces/o-list.interface';
6
6
  import { OListComponentStateClass } from '../../services/state/o-list-component-state.class';
7
7
  import { OListComponentStateService } from '../../services/state/o-list-component-state.service';
8
8
  import { OListInitializationOptions } from '../../types/o-list-initialization-options.type';
9
+ import { OListPermissions } from '../../types/o-list-permissions.type';
10
+ import { OPermissions } from '../../types/o-permissions.type';
9
11
  import { OQueryDataArgs } from '../../types/query-data-args.type';
10
12
  import { SQLOrder } from '../../types/sql-order.type';
11
13
  import { OFormComponent } from '../form/o-form.component';
@@ -27,6 +29,7 @@ export declare class OListComponent extends AbstractOServiceComponent<OListCompo
27
29
  quickFilterColumns: string;
28
30
  route: string;
29
31
  sortColumns: string;
32
+ protected permissions: OListPermissions;
30
33
  sortColArray: SQLOrder[];
31
34
  onInsertButtonClick: EventEmitter<any>;
32
35
  onItemDeleted: EventEmitter<any>;
@@ -39,6 +42,7 @@ export declare class OListComponent extends AbstractOServiceComponent<OListCompo
39
42
  protected keysSqlTypes: string;
40
43
  keysSqlTypesArray: Array<string>;
41
44
  protected oMatSort: OMatSort;
45
+ protected actionsPermissions: OPermissions[];
42
46
  constructor(injector: Injector, elRef: ElementRef, form: OFormComponent);
43
47
  get state(): OListComponentStateClass;
44
48
  ngOnInit(): void;
@@ -1,4 +1,5 @@
1
- import { ElementRef, EventEmitter, Injector, Renderer2 } from '@angular/core';
1
+ import { ElementRef, EventEmitter, Injector, QueryList, Renderer2 } from '@angular/core';
2
+ import { MatListItemLine, MatListItemTitle } from '@angular/material/list';
2
3
  import { OListItemComponent } from '../list-item/o-list-item.component';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare const DEFAULT_INPUTS_O_TEXT_RENDERER: string[];
@@ -13,6 +14,8 @@ export declare class OListItemTextRenderer {
13
14
  protected _secondaryText: string;
14
15
  protected _icon: string;
15
16
  onIconClick: EventEmitter<object>;
17
+ titles: QueryList<MatListItemTitle>;
18
+ lines: QueryList<MatListItemLine>;
16
19
  constructor(elRef: ElementRef, _renderer: Renderer2, _injector: Injector, _listItem: OListItemComponent);
17
20
  modifyMatListItemElement(): void;
18
21
  onActionIconClick(e?: Event): void;
@@ -71,6 +71,7 @@ export declare abstract class AbstractOServiceBaseComponent<T extends AbstractCo
71
71
  checkColumns(): void;
72
72
  afterViewInit(): void;
73
73
  destroy(): void;
74
+ protected canSetStaticData(staticData: any): boolean;
74
75
  ngOnChanges(changes: {
75
76
  [propName: string]: SimpleChange;
76
77
  }): void;
@@ -85,6 +86,7 @@ export declare abstract class AbstractOServiceBaseComponent<T extends AbstractCo
85
86
  setDataArray(data: any): void;
86
87
  setFormComponent(form: OFormComponent): void;
87
88
  getParentKeysFromContext(parentKeys: object, context: any): {};
89
+ clearData(): void;
88
90
  queryData(filter?: any, ovrrArgs?: OQueryDataArgs): void;
89
91
  reloadData(): void;
90
92
  reloadPaginatedDataFromStart(): void;
@@ -13,6 +13,7 @@ import { PermissionsService } from '../services/permissions/permissions.service'
13
13
  import { AbstractServiceComponentStateClass } from '../services/state/o-component-state.class';
14
14
  import { AbstractComponentStateService, DefaultServiceComponentStateService } from '../services/state/o-component-state.service';
15
15
  import { OTranslateService } from '../services/translate/o-translate.service';
16
+ import { OPermissions } from '../types';
16
17
  import { Expression } from '../types/expression.type';
17
18
  import { OListInitializationOptions } from '../types/o-list-initialization-options.type';
18
19
  import { OTableInitializationOptions } from '../types/table/o-table-initialization-options.type';
@@ -90,7 +91,11 @@ export declare abstract class AbstractOServiceComponent<T extends AbstractCompon
90
91
  protected clickDelay: number;
91
92
  protected clickPrevent: boolean;
92
93
  protected _quickFilterAppearance: MatFormFieldAppearance;
94
+ private mutationObservers;
95
+ enabledInsertButton: boolean;
96
+ enabledRefreshButton: boolean;
93
97
  constructor(injector: Injector, elRef: ElementRef, form: OFormComponent);
98
+ private getGlobalInjectionTokenConfig;
94
99
  initialize(): void;
95
100
  afterViewInit(): void;
96
101
  destroy(): void;
@@ -105,6 +110,12 @@ export declare abstract class AbstractOServiceComponent<T extends AbstractCompon
105
110
  viewDetail(item: any): void;
106
111
  editDetail(item: any): void;
107
112
  protected addFormLayoutManagerRoute(routeArr: any[]): void;
113
+ protected setButtonPermissions(actionsPermissions: any): void;
114
+ protected setPermission(attr: string, visibleProp: string, enabledProp: string, actionsPermissions: any): void;
115
+ protected manageCustomPermissions(actionsPermissions: any, selector: any): void;
116
+ protected getActionsPermissions(permissions: any): OPermissions[];
117
+ protected getPermissionByAttr(attr: string, actionsPermissions: OPermissions[]): OPermissions;
118
+ protected managePermission(elementRef: any, permission: OPermissions, mutationObservers: any[], selector: string, attr?: string): void;
108
119
  protected getEncodedParentKeys(): string;
109
120
  getInsertRoute(): any[];
110
121
  getItemModeRoute(item: any, modeRoute: string): any[];
@@ -5,7 +5,7 @@ export declare class OTableSkeletonComponent extends OSkeletonComponent implemen
5
5
  protected elRef: ElementRef;
6
6
  protected injector: Injector;
7
7
  constructor(elRef: ElementRef, injector: Injector);
8
- get count(): number;
8
+ get count(): number[];
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<OTableSkeletonComponent, never>;
10
10
  static ɵcmp: i0.ɵɵComponentDeclaration<OTableSkeletonComponent, "o-table-skeleton", never, {}, {}, never, never, false, never>;
11
11
  }
@@ -12,7 +12,7 @@ import { Observable, Subscription } from 'rxjs';
12
12
  import { SnackBarService } from '../../services/snackbar.service';
13
13
  import { OTableComponentStateClass } from '../../services/state/o-table-component-state.class';
14
14
  import { OTableComponentStateService } from '../../services/state/o-table-component-state.service';
15
- import { OColumnDisplay, OFilterDefinition, OGroupedColumnTypes } from '../../types';
15
+ import { OColumnDisplay, OFilterDefinition, OGroupedColumnTypes, OTableGlobalConfig } from '../../types';
16
16
  import { Expression } from '../../types/expression.type';
17
17
  import { OPermissions } from '../../types/o-permissions.type';
18
18
  import { OQueryDataArgs } from '../../types/query-data-args.type';
@@ -20,7 +20,6 @@ import { QuickFilterFunction } from '../../types/quick-filter-function.type';
20
20
  import { SQLOrder } from '../../types/sql-order.type';
21
21
  import { OColumnAggregate } from '../../types/table/o-column-aggregate.type';
22
22
  import { OColumnValueFilter } from '../../types/table/o-column-value-filter.type';
23
- import { OTableGlobalConfig } from '../../types/table/o-table-global-config.type';
24
23
  import { OTableInitializationOptions } from '../../types/table/o-table-initialization-options.type';
25
24
  import { OTableMenuPermissions } from '../../types/table/o-table-menu-permissions.type';
26
25
  import { OTablePermissions } from '../../types/table/o-table-permissions.type';
@@ -219,7 +218,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
219
218
  protected triggerSelectionEvents: boolean;
220
219
  tooltip: QueryList<MatTooltip>;
221
220
  constructor(injector: Injector, elRef: ElementRef, dialog: MatDialog, _viewContainerRef: ViewContainerRef, appRef: ApplicationRef, form: OFormComponent, scrollStrategy: OTableVirtualScrollStrategy);
222
- private getGlobalConfig;
221
+ private getInjectionTokenConfig;
223
222
  get state(): OTableComponentStateClass;
224
223
  ngOnInit(): void;
225
224
  ngAfterViewInit(): void;
@@ -285,6 +284,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
285
284
  updatePaginationInfo(queryRes: any): void;
286
285
  initViewPort(data: any[]): void;
287
286
  protected setData(data: any, sqlTypes: any): void;
287
+ protected canSetStaticData(staticData: any): boolean;
288
288
  showDialogError(error: string, errorOptional?: string): void;
289
289
  projectContentChanged(): void;
290
290
  getAttributesValuesToQuery(): Array<string>;
@@ -9,6 +9,8 @@ import { AbstractOServiceComponent } from '../o-service-component.class';
9
9
  import { OTreeDao } from './o-tree-dao.service';
10
10
  import { OTreeDataSource } from './o-tree.datasource';
11
11
  import { OTreeNodeComponent } from './tree-node/tree-node.component';
12
+ import { OPermissions } from '../../types';
13
+ import { OTreePermissions } from '../../types/o-tree-permissions.type';
12
14
  import * as i0 from "@angular/core";
13
15
  export type OTreeFlatNode = {
14
16
  id: string | number;
@@ -66,6 +68,8 @@ export declare class OTreeComponent extends AbstractOServiceComponent<OTreeCompo
66
68
  treeControl: FlatTreeControl<OTreeFlatNode, OTreeFlatNode>;
67
69
  set nodeTemplate(value: TemplateRef<any>);
68
70
  treeNode: OTreeNodeComponent;
71
+ protected permissions: OTreePermissions;
72
+ protected actionsPermissions: OPermissions[];
69
73
  protected visibleColumnsArray: string[];
70
74
  enabledDeleteButton: boolean;
71
75
  protected subscription: Subscription;
@@ -9,6 +9,7 @@ export interface MenuCommonItem {
9
9
  svgIcon?: string;
10
10
  icon?: string;
11
11
  class?: string;
12
+ visible?: boolean;
12
13
  }
13
14
  export interface MenuGroup extends MenuCommonItem {
14
15
  items: (MenuItemAction | MenuItemLocale | MenuItemLogout | MenuItemUserInfo | MenuGroup | MenuItem | MenuItemRoute)[];
@@ -1,6 +1,7 @@
1
1
  import { OFilterBuilderComponent } from "../components/filter-builder/o-filter-builder.component";
2
2
  import { OQueryDataArgs } from "../types/query-data-args.type";
3
3
  export interface IServiceDataComponent {
4
+ clearData(): void;
4
5
  queryData(filter?: any, ovrrArgs?: OQueryDataArgs): void;
5
6
  reloadPaginatedDataFromStart(): void;
6
7
  reloadData(): void;
@@ -78,6 +78,7 @@ export declare class OFormLayoutManagerComponent implements AfterViewInit, OnIni
78
78
  protected subscription: Subscription;
79
79
  protected componentStateService: OFormLayoutManagerComponentStateService;
80
80
  constructor(injector: Injector, router: Router, actRoute: ActivatedRoute, dialog: MatDialog, elRef: ElementRef, parentFormLayoutManager: OFormLayoutManagerBase);
81
+ private getInjectionTokenConfig;
81
82
  get state(): OFormLayoutManagerComponentStateClass;
82
83
  ngOnInit(): void;
83
84
  ngAfterViewInit(): void;
@@ -2,8 +2,9 @@ import { Injector } from '@angular/core';
2
2
  import { Router } from '@angular/router';
3
3
  import { Subject } from 'rxjs';
4
4
  import { AppConfig } from '../config/app-config';
5
- import { MenuGroup, MenuItem, MenuItemRoute } from '../interfaces/app-menu.interface';
5
+ import { MenuCommonItem, MenuGroup, MenuItem, MenuItemRoute } from '../interfaces/app-menu.interface';
6
6
  import { MenuRootItem } from '../types/menu-root-item.type';
7
+ import { PermissionsService } from './permissions/permissions.service';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare class AppMenuService {
9
10
  protected injector: Injector;
@@ -12,8 +13,12 @@ export declare class AppMenuService {
12
13
  protected MENU_ROOTS: MenuRootItem[];
13
14
  protected ALL_MENU_ITEMS: MenuRootItem[];
14
15
  protected activeItem: MenuItemRoute;
16
+ protected permissionsService: PermissionsService;
15
17
  onClick: Subject<void>;
18
+ onPermissionMenuChanged: Subject<void>;
16
19
  constructor(injector: Injector);
20
+ setMenuItemsByMenuConfiguration(): void;
21
+ mergeMenuItemsWithPermissions(): void;
17
22
  getMenuRoots(): MenuRootItem[];
18
23
  getMenuRootById(id: string): MenuRootItem;
19
24
  getAllMenuItems(): MenuRootItem[];
@@ -23,6 +28,7 @@ export declare class AppMenuService {
23
28
  isMenuGroupRoute(item: MenuRootItem): boolean;
24
29
  isItemActive(item: MenuItemRoute): boolean;
25
30
  isRouteItem(item: MenuItemRoute): boolean;
31
+ isVisible(item: MenuCommonItem): boolean;
26
32
  private getMenuItems;
27
33
  private setActiveItem;
28
34
  static ɵfac: i0.ɵɵFactoryDeclaration<AppMenuService, never>;
@@ -27,6 +27,7 @@ export declare class OntimizeAuthService extends AuthService {
27
27
  getSessionInfo(): SessionInfo;
28
28
  storeSessionInfo(info: SessionInfo): void;
29
29
  redirectLogin(sessionExpired?: boolean): void;
30
+ restartPermission(): void;
30
31
  static ɵfac: i0.ɵɵFactoryDeclaration<OntimizeAuthService, never>;
31
32
  static ɵprov: i0.ɵɵInjectableDeclaration<OntimizeAuthService>;
32
33
  }
@@ -1,15 +1,20 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { ActivatedRoute } from '@angular/router';
3
- import { Observable } from 'rxjs';
3
+ import { Observable, Subject } from 'rxjs';
4
+ import { OComponentPermissionsByRoute } from '../../types/o-component-permissions-by-route.type';
4
5
  import { OComponentPermissions } from '../../types/o-component-permissions.type';
5
6
  import { OFormPermissions } from '../../types/o-form-permissions.type';
7
+ import { OGridPermissions } from '../../types/o-grid-permissions.type';
8
+ import { OListPermissions } from '../../types/o-list-permissions.type';
6
9
  import { OPermissionsDefinition } from '../../types/o-permissions-definition.type';
7
10
  import { OPermissions } from '../../types/o-permissions.type';
8
11
  import { OTableMenuPermissions } from '../../types/table/o-table-menu-permissions.type';
9
12
  import { OTablePermissions } from '../../types/table/o-table-permissions.type';
13
+ import { OTreePermissions } from '../../types/o-tree-permissions.type';
10
14
  import * as i0 from "@angular/core";
11
15
  export declare class PermissionsService {
12
16
  protected injector: Injector;
17
+ onChangePermissions: Subject<any>;
13
18
  protected permissionsService: any;
14
19
  protected ontimizePermissionsConfig: any;
15
20
  protected permissions: OPermissionsDefinition;
@@ -18,13 +23,19 @@ export declare class PermissionsService {
18
23
  restart(): void;
19
24
  hasPermissions(): boolean;
20
25
  getUserPermissionsAsPromise(): Promise<boolean>;
21
- protected queryPermissions(): Observable<any>;
26
+ queryPermissions(): Observable<any>;
22
27
  protected getPermissionIdFromActRoute(actRoute: ActivatedRoute): string;
23
28
  protected getComponentPermissionsUsingRoute(attr: string, actRoute: ActivatedRoute): OComponentPermissions;
24
- protected getOComponentPermissions(attr: string, actRoute: ActivatedRoute, selector: string): any;
29
+ getOComponentPermissions(attr: string, actRoute: ActivatedRoute, selector: string): OComponentPermissionsByRoute;
25
30
  getTablePermissions(attr: string, actRoute: ActivatedRoute): OTablePermissions;
31
+ private getServiceBasePermissions;
26
32
  getFormPermissions(attr: string, actRoute: ActivatedRoute): OFormPermissions;
33
+ getListPermissions(attr: string, actRoute: ActivatedRoute): OListPermissions;
34
+ getGridPermissions(attr: string, actRoute: ActivatedRoute): OGridPermissions;
35
+ getTreePermissions(attr: string, actRoute: ActivatedRoute): OTreePermissions;
27
36
  getMenuPermissions(attr: string): OPermissions;
37
+ getAllMenuPermissions(): OPermissions[];
38
+ getOButtonPermissions(attr: string, actRoute: ActivatedRoute): OPermissions;
28
39
  protected mergeOPermissionsArrays(permissionsA: OPermissions[], permissionsB: OPermissions[]): OPermissions[];
29
40
  protected mergeOTableMenuPermissions(permissionsA: OTableMenuPermissions, permissionsB: OTableMenuPermissions): OTableMenuPermissions;
30
41
  isPermissionIdRouteRestricted(permissionId: string): boolean;
@@ -0,0 +1 @@
1
+ export * from './o-form-global-config.type';
@@ -0,0 +1,3 @@
1
+ export type OFormGlobalConfig = {
2
+ headerActions: string;
3
+ };
@@ -37,3 +37,5 @@ export * from './session-info.type';
37
37
  export * from './sql-order.type';
38
38
  export * from './o-grouped-column-types.type';
39
39
  export * from './o-filter-definition.type';
40
+ export * from './form/index';
41
+ export * from './o-global-config.type';
@@ -0,0 +1,5 @@
1
+ import { OComponentPermissions } from "./o-component-permissions.type";
2
+ export type OComponentPermissionsByRoute = {
3
+ route?: OComponentPermissions;
4
+ component?: OComponentPermissions;
5
+ };
@@ -1,7 +1,2 @@
1
- import { OPermissions } from './o-permissions.type';
2
- export type OFormPermissions = {
3
- attr: string;
4
- selector: string;
5
- components?: OPermissions[];
6
- actions?: OPermissions[];
7
- };
1
+ import { OServiceBasePermissions } from './o-service-base-permissions.type';
2
+ export type OFormPermissions = OServiceBasePermissions;
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ export type OGlobalConfig = {
3
+ storeState: boolean;
4
+ };
5
+ export declare const O_GLOBAL_CONFIG: InjectionToken<OGlobalConfig>;
@@ -0,0 +1,2 @@
1
+ import { OServiceBasePermissions } from './o-service-base-permissions.type';
2
+ export type OGridPermissions = OServiceBasePermissions;
@@ -0,0 +1,2 @@
1
+ import { OServiceBasePermissions } from './o-service-base-permissions.type';
2
+ export type OListPermissions = OServiceBasePermissions;
@@ -0,0 +1,7 @@
1
+ import { OPermissions } from './o-permissions.type';
2
+ export type OServiceBasePermissions = {
3
+ attr: string;
4
+ selector: string;
5
+ components?: OPermissions[];
6
+ actions?: OPermissions[];
7
+ };
@@ -0,0 +1,2 @@
1
+ import { OServiceBasePermissions } from './o-service-base-permissions.type';
2
+ export type OTreePermissions = OServiceBasePermissions;
@@ -1,4 +1,9 @@
1
+ import { ORowHeight, OTableDetailMode, OTableEditionMode } from './../../util/codes';
1
2
  export type OTableGlobalConfig = {
2
3
  autoAdjust: boolean;
3
4
  autoAlignTitles: boolean;
5
+ filterColumnActiveByDefault: boolean;
6
+ editionMode: OTableEditionMode;
7
+ detailMode: OTableDetailMode;
8
+ rowHeight: ORowHeight;
4
9
  };
@@ -1,10 +1,8 @@
1
1
  import { OPermissions } from '../o-permissions.type';
2
+ import { OServiceBasePermissions } from '../o-service-base-permissions.type';
2
3
  import { OTableMenuPermissions } from './o-table-menu-permissions.type';
3
- export type OTablePermissions = {
4
- attr: string;
5
- selector: string;
4
+ export type OTablePermissions = OServiceBasePermissions & {
6
5
  menu?: OTableMenuPermissions;
7
6
  columns?: OPermissions[];
8
- actions?: OPermissions[];
9
7
  contextMenu?: OPermissions[];
10
8
  };