ontimize-web-ngx 15.2.2 → 15.3.0

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 (51) hide show
  1. package/esm2020/lib/components/o-service-base-component.class.mjs +1 -1
  2. package/esm2020/lib/components/o-service-component.class.mjs +12 -3
  3. package/esm2020/lib/components/table/column/cell-renderer/action/o-table-cell-renderer-action.component.mjs +7 -1
  4. package/esm2020/lib/components/table/column/o-column.class.mjs +4 -1
  5. package/esm2020/lib/components/table/column/o-table-column.component.mjs +1 -2
  6. package/esm2020/lib/components/table/extensions/header/table-button/o-table-button.component.mjs +10 -2
  7. package/esm2020/lib/components/table/extensions/header/table-buttons/o-table-buttons.component.mjs +3 -3
  8. package/esm2020/lib/components/table/extensions/header/table-quickfilter/o-table-quickfilter.component.mjs +3 -2
  9. package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
  10. package/esm2020/lib/components/table/o-table.component.mjs +97 -14
  11. package/esm2020/lib/components/tree/o-tree-dao.service.mjs +1 -1
  12. package/esm2020/lib/components/tree/o-tree.component.mjs +17 -24
  13. package/esm2020/lib/components/tree/o-tree.datasource.mjs +1 -1
  14. package/esm2020/lib/components/tree/tree-node/tree-node.component.mjs +27 -6
  15. package/esm2020/lib/i18n/i18n.mjs +4 -1
  16. package/esm2020/lib/interfaces/layout-manager-component.interface.mjs +1 -1
  17. package/esm2020/lib/layouts/form-layout/dialog/o-form-layout-dialog.component.mjs +5 -2
  18. package/esm2020/lib/layouts/form-layout/guards/o-form-layout-can-activate-child.guard.mjs +3 -2
  19. package/esm2020/lib/layouts/form-layout/o-form-layout-manager-base.class.mjs +1 -1
  20. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +8 -4
  21. package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +1 -1
  22. package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +5 -2
  23. package/esm2020/lib/services/o-form-layout-manager.service.mjs +7 -1
  24. package/esm2020/lib/services/snackbar.service.mjs +1 -1
  25. package/esm2020/lib/types/form-layout-manager-context.type.mjs +2 -0
  26. package/esm2020/lib/types/table/o-table-global-config.type.mjs +1 -1
  27. package/esm2020/lib/types/tree-flat-node.type.mjs +2 -0
  28. package/esm2020/lib/util/util.mjs +8 -1
  29. package/fesm2015/ontimize-web-ngx.mjs +225 -79
  30. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  31. package/fesm2020/ontimize-web-ngx.mjs +223 -79
  32. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  33. package/lib/components/o-service-base-component.class.d.ts +1 -0
  34. package/lib/components/o-service-component.class.d.ts +5 -3
  35. package/lib/components/table/extensions/header/table-button/o-table-button.component.d.ts +1 -0
  36. package/lib/components/table/o-table-base.class.d.ts +13 -5
  37. package/lib/components/table/o-table.component.d.ts +11 -2
  38. package/lib/components/tree/o-tree-dao.service.d.ts +1 -1
  39. package/lib/components/tree/o-tree.component.d.ts +5 -16
  40. package/lib/components/tree/o-tree.datasource.d.ts +2 -1
  41. package/lib/components/tree/tree-node/tree-node.component.d.ts +6 -2
  42. package/lib/i18n/i18n.d.ts +3 -0
  43. package/lib/interfaces/layout-manager-component.interface.d.ts +1 -0
  44. package/lib/layouts/form-layout/o-form-layout-manager-base.class.d.ts +2 -0
  45. package/lib/layouts/form-layout/o-form-layout-manager.component.d.ts +2 -1
  46. package/lib/services/o-form-layout-manager.service.d.ts +5 -1
  47. package/lib/types/form-layout-manager-context.type.d.ts +3 -0
  48. package/lib/types/table/o-table-global-config.type.d.ts +2 -0
  49. package/lib/types/tree-flat-node.type.d.ts +14 -0
  50. package/lib/util/util.d.ts +2 -0
  51. package/package.json +1 -1
@@ -19,6 +19,7 @@ export declare abstract class AbstractOServiceBaseComponent<T extends AbstractCo
19
19
  componentStateService: T;
20
20
  protected dialogService: DialogService;
21
21
  protected oErrorDialogManager: OErrorDialogManager;
22
+ parentComponent: AbstractOServiceBaseComponent<T>;
22
23
  oattr: string;
23
24
  service: string;
24
25
  serviceType: string;
@@ -20,6 +20,7 @@ import { OTableInitializationOptions } from '../types/table/o-table-initializati
20
20
  import { OFormComponent } from './form/o-form.component';
21
21
  import { AbstractOServiceBaseComponent } from './o-service-base-component.class';
22
22
  import { OFormLayoutManagerBase } from '../layouts/form-layout/o-form-layout-manager-base.class';
23
+ import { OFormLayoutManagerContext } from '../types/form-layout-manager-context.type';
23
24
  import * as i0 from "@angular/core";
24
25
  interface ItemClick {
25
26
  getItemData(): any;
@@ -75,8 +76,8 @@ export declare abstract class AbstractOServiceComponent<T extends AbstractCompon
75
76
  onPaginatedDataLoaded: EventEmitter<any>;
76
77
  onSearch: EventEmitter<any>;
77
78
  filterBuilder: OFilterBuilderComponent;
78
- protected _selection: SelectionModel<Element>;
79
- get selection(): SelectionModel<Element>;
79
+ protected _selection: SelectionModel<any>;
80
+ get selection(): SelectionModel<any>;
80
81
  protected onTriggerUpdateSubscription: any;
81
82
  protected formLayoutManager: OFormLayoutManagerBase;
82
83
  protected formLayoutManagerTabIndex: number;
@@ -108,7 +109,7 @@ export declare abstract class AbstractOServiceComponent<T extends AbstractCompon
108
109
  setSelected(item: any): void;
109
110
  protected navigateToDetail(route: any[], qParams: any, relativeTo: ActivatedRoute): void;
110
111
  insertDetail(): void;
111
- viewDetail(item: any): void;
112
+ viewDetail(item: any, context?: OFormLayoutManagerContext): void;
112
113
  editDetail(item: any): void;
113
114
  protected addFormLayoutManagerRoute(routeArr: any[]): void;
114
115
  protected setButtonPermissions(actionsPermissions: any): void;
@@ -159,6 +160,7 @@ export declare abstract class AbstractOServiceComponent<T extends AbstractCompon
159
160
  get quickFilterAppearance(): MatFormFieldAppearance;
160
161
  set quickFilterAppearance(value: MatFormFieldAppearance);
161
162
  protected getSqlTypesOfKeys(): {};
163
+ compareRow(): ((o1: any, o2: any) => boolean) | undefined;
162
164
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractOServiceComponent<any>, never>;
163
165
  static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractOServiceComponent<any>, never, never, { "oattr": "attr"; "service": "service"; "serviceType": "service-type"; "entity": "entity"; "queryOnInit": "query-on-init"; "queryOnBind": "query-on-bind"; "queryOnEvent": "query-on-event"; "pageable": "pageable"; "columns": "columns"; "keys": "keys"; "parentKeys": "parent-keys"; "staticData": "static-data"; "queryMethod": "query-method"; "paginatedQueryMethod": "paginated-query-method"; "oQueryRows": "query-rows"; "insertMethod": "insert-method"; "updateMethod": "update-method"; "deleteMethod": "delete-method"; "storeState": "store-state"; "queryWithNullParentKeys": "query-with-null-parent-keys"; "queryFallbackFunction": "query-fallback-function"; "_title": "title"; "ovisible": "visible"; "oenabled": "enabled"; "controls": "controls"; "detailMode": "detail-mode"; "detailFormRoute": "detail-form-route"; "recursiveDetail": "recursive-detail"; "detailButtonInRow": "detail-button-in-row"; "detailButtonInRowIcon": "detail-button-in-row-icon"; "editFormRoute": "edit-form-route"; "recursiveEdit": "recursive-edit"; "editButtonInRow": "edit-button-in-row"; "editButtonInRowIcon": "edit-button-in-row-icon"; "insertButton": "insert-button"; "rowHeight": "row-height"; "insertFormRoute": "insert-form-route"; "recursiveInsert": "recursive-insert"; "filterCaseSensitive": "filter-case-sensitive"; "quickFilter": "quick-filter"; "quickFilterPlaceholder": "quick-filter-placeholder"; "paginationControls": "pagination-controls"; "pageSizeOptions": "page-size-options"; "quickFilterAppearance": "quick-filter-appearance"; "disablePageSizeCalculation": "disable-page-size-calculation"; }, { "onClick": "onClick"; "onDoubleClick": "onDoubleClick"; "onDataLoaded": "onDataLoaded"; "onPaginatedDataLoaded": "onPaginatedDataLoaded"; "onSearch": "onSearch"; }, never, never, false, never>;
164
166
  }
@@ -18,6 +18,7 @@ export declare class OTableButtonComponent implements OTableButton, OnInit {
18
18
  constructor(injector: Injector, elRef: ElementRef, _table: OTableBase);
19
19
  ngOnInit(): void;
20
20
  innerOnClick(event: any): void;
21
+ isReadOnly(): boolean;
21
22
  isIconPositionLeft(): boolean;
22
23
  get table(): OTableBase;
23
24
  static ɵfac: i0.ɵɵFactoryDeclaration<OTableButtonComponent, never>;
@@ -1,20 +1,21 @@
1
- import { BehaviorSubject } from "rxjs/internal/BehaviorSubject";
1
+ import { SelectionModel } from '@angular/cdk/collections';
2
+ import { ChangeDetectorRef, EventEmitter, TemplateRef } from '@angular/core';
3
+ import { MatCheckboxChange } from '@angular/material/checkbox';
4
+ import { Observable } from 'rxjs';
5
+ import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
6
+ import type { SnackBarService } from './../../services/snackbar.service';
2
7
  import type { QuickFilterFunction } from "../../types/quick-filter-function.type";
3
8
  import type { OColumn } from "./column/o-column.class";
4
- import { ChangeDetectorRef, EventEmitter, TemplateRef } from "@angular/core";
5
9
  import type { OPermissions } from "../../types/o-permissions.type";
6
- import { SelectionModel } from "@angular/cdk/collections";
7
10
  import type { OTableButtons } from "../../interfaces/o-table-buttons.interface";
8
11
  import type { OTableQuickfilter } from "../../interfaces/o-table-quickfilter.interface";
9
12
  import type { OTableMenu } from "../../interfaces/o-table-menu.interface";
10
13
  import type { OColumnValueFilter } from "../../types/table/o-column-value-filter.type";
11
14
  import type { OContextMenuComponent } from "../contextmenu/o-context-menu.component";
12
15
  import type { Expression, OFilterDefinition, OGroupedColumnTypes, OTableMenuPermissions, SQLOrder } from "../../types";
13
- import { Observable } from "rxjs";
14
16
  import type { OTableComponentStateClass } from "../../services/state/o-table-component-state.class";
15
17
  import type { OTableHeaderComponent } from "./extensions/header/table-header/o-table-header.component";
16
18
  import type { MatPaginator } from "@angular/material/paginator";
17
- import { MatCheckboxChange } from "@angular/material/checkbox";
18
19
  import type { OTableColumnSelectAllDirective } from "./extensions/header/table-column-select-all/o-table-column-select-all.directive";
19
20
  import type { OFilterBuilderComponent } from "../filter-builder/o-filter-builder.component";
20
21
  export declare abstract class OTableBase {
@@ -26,6 +27,7 @@ export declare abstract class OTableBase {
26
27
  exportServiceType: TemplateRef<any>;
27
28
  exportOptsTemplate: any;
28
29
  visibleColArray: string[];
30
+ showNotificationOfReadOnly: boolean;
29
31
  abstract reinitializeSortColumns(sortColumns?: SQLOrder[]): any;
30
32
  abstract setGroupColumns(value: any[]): any;
31
33
  abstract clearColumnFilters(triggerDatasourceUpdate?: boolean, columnsAttr?: string[]): void;
@@ -112,4 +114,10 @@ export declare abstract class OTableBase {
112
114
  abstract columns: string;
113
115
  abstract getParentKeysValues(): any;
114
116
  abstract filterBuilder: OFilterBuilderComponent;
117
+ abstract readOnlyFunction: (configuration: any) => boolean;
118
+ abstract isComponentReadOnly(selector: string, attr: string): boolean;
119
+ abstract getSnackService(): SnackBarService;
120
+ abstract setSelectedByKeys(keyValues: Array<any>): void;
121
+ abstract setSelectedByMultipleKeys(keyValues: Array<Object>): void;
122
+ abstract setSelectedByRowIds(rowIds: Array<number>): void;
115
123
  }
@@ -92,7 +92,12 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
92
92
  showButtonsText: boolean;
93
93
  filterColumnActiveByDefault: boolean;
94
94
  showResetWidthOption: boolean;
95
+ readOnly: boolean;
96
+ showNotificationOfReadOnly: boolean;
95
97
  showExpandableIconFunction: (row: any, rowIndex: number) => boolean | Promise<boolean> | Observable<boolean>;
98
+ readOnlyFunction: (configuration: any) => boolean;
99
+ readOnlyConfiguration: any;
100
+ isComponentReadOnly(selector: string, attr: string): any;
96
101
  protected _oTableOptions: OTableOptions;
97
102
  get oTableOptions(): OTableOptions;
98
103
  set oTableOptions(value: OTableOptions);
@@ -259,7 +264,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
259
264
  parseSortColumns(): void;
260
265
  protected ensureColumnsOrder(): void;
261
266
  initializeParams(): void;
262
- get selection(): SelectionModel<Element>;
267
+ get selection(): SelectionModel<any>;
263
268
  updateStateExpandedColumn(): void;
264
269
  registerTabListener(): void;
265
270
  protected insideTabBugWorkaround(): void;
@@ -323,6 +328,9 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
323
328
  selectedRow(row: any): void;
324
329
  clearSelection(): void;
325
330
  setSelected(item: any): void;
331
+ setSelectedByKeys(keyValues: Array<any>): void;
332
+ setSelectedByMultipleKeys(keyValues: Array<Object>): void;
333
+ setSelectedByRowIds(rowIds: Array<number>): void;
326
334
  get showDeleteButton(): boolean;
327
335
  getTrackByFunction(): (index: number, item: any) => string;
328
336
  queryRowAsyncData(rowIndex: number, rowData: any): void;
@@ -447,7 +455,8 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
447
455
  updateColumnsDOMWidth(): void;
448
456
  isDisableCheckbox(item: any): boolean;
449
457
  getService(): any;
458
+ getSnackService(): SnackBarService;
450
459
  static ɵfac: i0.ɵɵFactoryDeclaration<OTableComponent, [null, null, null, null, null, { optional: true; }, { optional: true; }]>;
451
- static ɵcmp: i0.ɵɵComponentDeclaration<OTableComponent, "o-table", never, { "visibleColumns": "visible-columns"; "defaultVisibleColumns": "default-visible-columns"; "sortColumns": "sort-columns"; "quickFilterCallback": "quick-filter-function"; "deleteButton": "delete-button"; "refreshButton": "refresh-button"; "columnsVisibilityButton": "columns-visibility-button"; "exportButton": "export-button"; "showConfigurationOption": "show-configuration-option"; "showButtonsText": "show-buttons-text"; "selectAllCheckbox": "select-all-checkbox"; "paginationControls": "pagination-controls"; "fixedHeader": "fixed-header"; "showTitle": "show-title"; "editionMode": "edition-mode"; "selectionMode": "selection-mode"; "horizontalScroll": "horizontal-scroll"; "showPaginatorFirstLastButtons": "show-paginator-first-last-buttons"; "autoAlignTitles": "auto-align-titles"; "multipleSort": "multiple-sort"; "selectAllCheckboxVisible": "select-all-checkbox-visible"; "orderable": "orderable"; "resizable": "resizable"; "keepSelectedItems": "keep-selected-items"; "exportMode": "export-mode"; "exportServiceType": "export-service-type"; "autoAdjust": "auto-adjust"; "showFilterOption": "show-filter-option"; "visibleExportDialogButtons": "visible-export-dialog-buttons"; "rowClass": "row-class"; "filterColumnActiveByDefault": "filter-column-active-by-default"; "groupedColumns": "grouped-columns"; "groupable": "groupable"; "expandGroupsSameLevel": "expand-groups-same-level"; "collapseGroupedColumns": "collapse-grouped-columns"; "virtualScroll": "virtual-scroll"; "contextMenu": "context-menu"; "showExpandableIconFunction": "show-expandable-icon-function"; "showReportOnDemandOption": "show-report-on-demand-option"; "showChartsOnDemandOption": "show-charts-on-demand-option"; "showResetWidthOption": "show-reset-width-option"; "disableSelectionFunction": "disable-selection-function"; "nonHidableColumns": "non-hidable-columns"; }, { "onRowSelected": "onRowSelected"; "onRowDeselected": "onRowDeselected"; "onRowDeleted": "onRowDeleted"; }, ["tableRowExpandable", "quickfilterContentChild", "tableColumnSelectAllContentChild", "contextMenuContentChild", "tableOptions", "tableButtons", "exportOptsTemplate"], ["o-table-button", "[o-table-toolbar][position=start]", "[o-table-toolbar][position=end]", "[o-table-toolbar]", "o-table-quickfilter", "o-table-option"], false, never>;
460
+ static ɵcmp: i0.ɵɵComponentDeclaration<OTableComponent, "o-table", never, { "visibleColumns": "visible-columns"; "defaultVisibleColumns": "default-visible-columns"; "sortColumns": "sort-columns"; "quickFilterCallback": "quick-filter-function"; "deleteButton": "delete-button"; "refreshButton": "refresh-button"; "columnsVisibilityButton": "columns-visibility-button"; "exportButton": "export-button"; "showConfigurationOption": "show-configuration-option"; "showButtonsText": "show-buttons-text"; "selectAllCheckbox": "select-all-checkbox"; "paginationControls": "pagination-controls"; "fixedHeader": "fixed-header"; "showTitle": "show-title"; "editionMode": "edition-mode"; "selectionMode": "selection-mode"; "horizontalScroll": "horizontal-scroll"; "showPaginatorFirstLastButtons": "show-paginator-first-last-buttons"; "autoAlignTitles": "auto-align-titles"; "multipleSort": "multiple-sort"; "selectAllCheckboxVisible": "select-all-checkbox-visible"; "orderable": "orderable"; "resizable": "resizable"; "keepSelectedItems": "keep-selected-items"; "exportMode": "export-mode"; "exportServiceType": "export-service-type"; "autoAdjust": "auto-adjust"; "showFilterOption": "show-filter-option"; "visibleExportDialogButtons": "visible-export-dialog-buttons"; "rowClass": "row-class"; "filterColumnActiveByDefault": "filter-column-active-by-default"; "groupedColumns": "grouped-columns"; "groupable": "groupable"; "expandGroupsSameLevel": "expand-groups-same-level"; "collapseGroupedColumns": "collapse-grouped-columns"; "virtualScroll": "virtual-scroll"; "contextMenu": "context-menu"; "showExpandableIconFunction": "show-expandable-icon-function"; "showReportOnDemandOption": "show-report-on-demand-option"; "showChartsOnDemandOption": "show-charts-on-demand-option"; "showResetWidthOption": "show-reset-width-option"; "disableSelectionFunction": "disable-selection-function"; "nonHidableColumns": "non-hidable-columns"; "readOnly": "read-only"; "readOnlyConfiguration": "read-only-configuration"; "showNotificationOfReadOnly": "show-notification-of-read-only"; }, { "onRowSelected": "onRowSelected"; "onRowDeselected": "onRowDeselected"; "onRowDeleted": "onRowDeleted"; }, ["tableRowExpandable", "quickfilterContentChild", "tableColumnSelectAllContentChild", "contextMenuContentChild", "tableOptions", "tableButtons", "exportOptsTemplate"], ["o-table-button", "[o-table-toolbar][position=start]", "[o-table-toolbar][position=end]", "[o-table-toolbar]", "o-table-quickfilter", "o-table-option"], false, never>;
452
461
  }
453
462
  export {};
@@ -1,5 +1,5 @@
1
1
  import { BehaviorSubject } from 'rxjs';
2
- import { OTreeFlatNode } from './o-tree.component';
2
+ import { OTreeFlatNode } from '../../types/tree-flat-node.type';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class OTreeDao {
5
5
  protected _isLoadingResults: boolean;
@@ -1,28 +1,17 @@
1
1
  import { SelectionModel } from '@angular/cdk/collections';
2
2
  import { FlatTreeControl } from '@angular/cdk/tree';
3
3
  import { AfterViewInit, ElementRef, EventEmitter, Injector, OnDestroy, OnInit, TemplateRef } from '@angular/core';
4
- import { Observable, Subscription } from 'rxjs';
5
- import { ServiceResponse } from '../../interfaces/service-response.interface';
4
+ import { Subscription } from 'rxjs';
6
5
  import { OTreeComponentStateService } from '../../services/state/o-tree-component-state.service';
6
+ import { OPermissions } from '../../types';
7
+ import { OTreePermissions } from '../../types/o-tree-permissions.type';
8
+ import { OTreeFlatNode } from '../../types/tree-flat-node.type';
7
9
  import { OFormComponent } from '../form/o-form.component';
8
10
  import { AbstractOServiceComponent } from '../o-service-component.class';
9
11
  import { OTreeDao } from './o-tree-dao.service';
10
12
  import { OTreeDataSource } from './o-tree.datasource';
11
13
  import { OTreeNodeComponent } from './tree-node/tree-node.component';
12
- import { OPermissions } from '../../types';
13
- import { OTreePermissions } from '../../types/o-tree-permissions.type';
14
14
  import * as i0 from "@angular/core";
15
- export type OTreeFlatNode = {
16
- id: string | number;
17
- label: string;
18
- level: number;
19
- rootNode?: boolean;
20
- expandable: boolean;
21
- treeNode?: OTreeNodeComponent;
22
- data: any;
23
- isLoading?: boolean;
24
- route?: string;
25
- };
26
15
  export declare const DEFAULT_INPUTS_O_TREE: string[];
27
16
  export declare const DEFAULT_OUTPUTS_O_TREE: string[];
28
17
  export declare class OTreeComponent extends AbstractOServiceComponent<OTreeComponentStateService> implements OnInit, OnDestroy, AfterViewInit {
@@ -110,9 +99,9 @@ export declare class OTreeComponent extends AbstractOServiceComponent<OTreeCompo
110
99
  protected filterByQuickFilterColumns(item: any, quickfilter: string): boolean;
111
100
  add(e?: Event): void;
112
101
  protected getNodeId(item: any, parentNode: any): string;
113
- childQueryData(node: OTreeFlatNode): Observable<ServiceResponse> | Observable<any>;
114
102
  protected navigateToViewDetail(node: OTreeFlatNode): void;
115
103
  isSelectedNode(node: OTreeFlatNode): boolean;
104
+ onItemDetailClick(node: OTreeFlatNode): void;
116
105
  static ɵfac: i0.ɵɵFactoryDeclaration<OTreeComponent, [null, null, { optional: true; }]>;
117
106
  static ɵcmp: i0.ɵɵComponentDeclaration<OTreeComponent, "o-tree", never, { "oattr": "attr"; "service": "service"; "entity": "entity"; "columns": "columns"; "keys": "keys"; "parentKeys": "parent-keys"; "queryMethod": "query-method"; "insertButton": "insert-button"; "refreshButton": "refresh-button"; "deleteButton": "delete-button"; "visibleColumns": "visible-columns"; "selectAllCheckbox": "select-all-checkbox"; "separator": "separator"; "parentColumn": "parent-column"; "sortColumn": "sort-column"; "selectAllCheckboxVisible": "select-all-checkbox-visible"; "filterCaseSensitive": "filter-case-sensitive"; "quickFilter": "quick-filter"; "quickFilterPlaceholder": "quick-filter-placeholder"; "quickFilterColumns": "quick-filter-columns"; "detailMode": "detail-mode"; "detailFormRoute": "detail-form-route"; "showButtonsText": "show-buttons-text"; "rootTitle": "root-title"; "recursive": "recursive"; "route": "route"; }, { "onNodeSelected": "onNodeSelected"; "onNodeExpanded": "onNodeExpanded"; "onNodeCollapsed": "onNodeCollapsed"; "onLoadNextLevel": "onLoadNextLevel"; "onDataLoaded": "onDataLoaded"; "onNodeClick": "onNodeClick"; }, ["leafNodeTemplate", "parentNodeTemplate", "nodeTemplate", "treeNode"], ["[o-tree-button]"], false, never>;
118
107
  }
@@ -3,7 +3,8 @@ import { FlatTreeControl } from '@angular/cdk/tree';
3
3
  import { Injector } from '@angular/core';
4
4
  import { BehaviorSubject, Observable } from 'rxjs';
5
5
  import { OTreeDao } from './o-tree-dao.service';
6
- import { OTreeComponent, OTreeFlatNode } from './o-tree.component';
6
+ import { OTreeComponent } from './o-tree.component';
7
+ import { OTreeFlatNode } from '../../types/tree-flat-node.type';
7
8
  export declare class OTreeDataSource implements DataSource<OTreeFlatNode> {
8
9
  private oTree;
9
10
  private _treeControl;
@@ -1,14 +1,18 @@
1
1
  import { AfterViewInit, ElementRef, Injector, OnInit } from '@angular/core';
2
+ import { Observable } from 'rxjs/internal/Observable';
3
+ import { ServiceResponse } from '../../../interfaces/service-response.interface';
2
4
  import { OFormComponent } from '../../form';
3
5
  import { OTreeComponent } from '../o-tree.component';
6
+ import { OTreeFlatNode } from '../../../types/tree-flat-node.type';
4
7
  import * as i0 from "@angular/core";
5
8
  export declare class OTreeNodeComponent extends OTreeComponent implements OnInit, AfterViewInit {
6
9
  injector: Injector;
7
- oTree: OTreeComponent;
10
+ parentComponent: OTreeComponent;
8
11
  parentNode: OTreeNodeComponent;
9
- constructor(injector: Injector, elRef: ElementRef, form: OFormComponent, oTree: OTreeComponent, parentNode: OTreeNodeComponent);
12
+ constructor(injector: Injector, elementRef: ElementRef, form: OFormComponent, parentComponent: OTreeComponent, parentNode: OTreeNodeComponent);
10
13
  ngOnInit(): void;
11
14
  ngAfterViewInit(): void;
15
+ childQueryData(node: OTreeFlatNode): Observable<ServiceResponse> | Observable<any>;
12
16
  static ɵfac: i0.ɵɵFactoryDeclaration<OTreeNodeComponent, [null, null, { optional: true; }, { optional: true; }, { optional: true; skipSelf: true; }]>;
13
17
  static ɵcmp: i0.ɵɵComponentDeclaration<OTreeNodeComponent, "o-tree-node", never, {}, {}, never, never, false, never>;
14
18
  }
@@ -114,6 +114,7 @@ export declare const MAP: {
114
114
  'MESSAGES.ERROR_403_TEXT': string;
115
115
  'MESSAGES.ERROR_403_TEXT_BUTTON': string;
116
116
  'MESSAGES.AVOID_QUERY_WITHOUT_QUICKFILTER_COLUMNS': string;
117
+ 'MESSAGES.OPERATION_NOT_ALLOWED_READONLY': string;
117
118
  'INPUT.COMBO.EMPTY': string;
118
119
  'INPUT.COMBO.MESSAGE_TRIGGER': string;
119
120
  'TABLE.FILTER_BY_COLUMN.CHECK_ALL': string;
@@ -415,6 +416,7 @@ export declare const MAP: {
415
416
  'MESSAGES.ERROR_EXPORT_TABLE_DATA': string;
416
417
  'MESSAGES.SUCCESS_EXPORT_TABLE_DATA': string;
417
418
  'MESSAGES.OPERATION_NOT_ALLOWED_PERMISSION': string;
419
+ 'MESSAGES.OPERATION_NOT_ALLOWED_READONLY': string;
418
420
  'MESSAGES.NAVIGATION_NOT_ALLOWED_PERMISSION': string;
419
421
  'MESSAGES.NAVIGATION_REDIRECTED_PERMISSION': string;
420
422
  'MESSAGES.ERROR_403_TEXT': string;
@@ -712,6 +714,7 @@ export declare const MAP: {
712
714
  'MESSAGES.ERROR_EXPORT_TABLE_DATA': string;
713
715
  'MESSAGES.SUCCESS_EXPORT_TABLE_DATA': string;
714
716
  'MESSAGES.OPERATION_NOT_ALLOWED_PERMISSION': string;
717
+ 'MESSAGES.OPERATION_NOT_ALLOWED_READONLY': string;
715
718
  'MESSAGES.NAVIGATION_NOT_ALLOWED_PERMISSION': string;
716
719
  'MESSAGES.NAVIGATION_REDIRECTED_PERMISSION': string;
717
720
  'MESSAGES.ERROR_403_TEXT': string;
@@ -3,4 +3,5 @@ import type { OFormLayoutDialogComponent } from '../layouts/form-layout/dialog/o
3
3
  export interface ILayoutManagerComponent {
4
4
  oFormLayoutDialog: OFormLayoutDialogComponent;
5
5
  elementRef: ElementRef;
6
+ parentComponent: any;
6
7
  }
@@ -25,6 +25,8 @@ export declare abstract class OFormLayoutManagerBase {
25
25
  abstract getRouteOfActiveItem(): any[];
26
26
  abstract isMainComponent(comp: ILayoutManagerComponent): boolean;
27
27
  abstract isTabMode(): boolean;
28
+ abstract isSplitPaneMode(): boolean;
29
+ abstract isDialogMode(): boolean;
28
30
  abstract setAsActiveFormLayoutManager(): any;
29
31
  abstract hasToConfirmExit(data: FormLayoutDetailComponentData, options?: FormLayoutCloseDetailOptions): boolean;
30
32
  abstract setModifiedState(formAttr: string, modified: boolean, confirmExit: boolean): any;
@@ -14,6 +14,7 @@ import { OTranslateService } from '../../services/translate/o-translate.service'
14
14
  import { FormLayoutCloseDetailOptions, FormLayoutDetailComponentData } from '../../types/form-layout-detail-component-data.type';
15
15
  import { OFormLayoutDialogComponent } from './dialog/o-form-layout-dialog.component';
16
16
  import { OFormLayoutManagerBase } from './o-form-layout-manager-base.class';
17
+ import { OFormLayoutManagerContext } from '../../types/form-layout-manager-context.type';
17
18
  import * as i0 from "@angular/core";
18
19
  export declare const DEFAULT_INPUTS_O_FORM_LAYOUT_MANAGER: string[];
19
20
  export declare const DEFAULT_OUTPUTS_O_FORM_LAYOUT_MANAGER: string[];
@@ -95,7 +96,7 @@ export declare class OFormLayoutManagerComponent implements AfterViewInit, OnIni
95
96
  isDialogMode(): boolean;
96
97
  isTabMode(): boolean;
97
98
  isSplitPaneMode(): boolean;
98
- addDetailComponent(childRoute: ActivatedRouteSnapshot, url: string): void;
99
+ addDetailComponent(childRoute: ActivatedRouteSnapshot, url: string, context?: OFormLayoutManagerContext): void;
99
100
  closeDetail(options?: FormLayoutCloseDetailOptions): void;
100
101
  closeDetails(detailsData?: any[], options?: FormLayoutCloseDetailOptions): void;
101
102
  openFormLayoutDialog(detailComp: FormLayoutDetailComponentData): void;
@@ -1,15 +1,19 @@
1
1
  import { Injector } from '@angular/core';
2
- import { OFormLayoutManagerComponent } from '../layouts/form-layout/o-form-layout-manager.component';
2
+ import type { OFormLayoutManagerComponent } from '../layouts/form-layout/o-form-layout-manager.component';
3
+ import { OFormLayoutManagerContext } from '../types/form-layout-manager-context.type';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class OFormLayoutManagerService {
5
6
  protected injector: Injector;
6
7
  protected registeredFormLayoutManagers: {};
7
8
  protected _activeFormLayoutManager: OFormLayoutManagerComponent;
9
+ private _context;
8
10
  constructor(injector: Injector);
9
11
  registerFormLayoutManager(comp: OFormLayoutManagerComponent): void;
10
12
  removeFormLayoutManager(comp: OFormLayoutManagerComponent): void;
11
13
  get activeFormLayoutManager(): OFormLayoutManagerComponent;
12
14
  set activeFormLayoutManager(arg: OFormLayoutManagerComponent);
15
+ set context(value: OFormLayoutManagerContext);
16
+ get context(): OFormLayoutManagerContext;
13
17
  static ɵfac: i0.ɵɵFactoryDeclaration<OFormLayoutManagerService, never>;
14
18
  static ɵprov: i0.ɵɵInjectableDeclaration<OFormLayoutManagerService>;
15
19
  }
@@ -0,0 +1,3 @@
1
+ export type OFormLayoutManagerContext = {
2
+ label: string;
3
+ };
@@ -6,4 +6,6 @@ export type OTableGlobalConfig = {
6
6
  editionMode: OTableEditionMode;
7
7
  detailMode: OTableDetailMode;
8
8
  rowHeight: ORowHeight;
9
+ showChartsOnDemandOption: boolean;
10
+ showReportOnDemandOption: boolean;
9
11
  };
@@ -0,0 +1,14 @@
1
+ import { OTreeComponent } from "../components/tree/o-tree.component";
2
+ import { OTreeNodeComponent } from "../components/tree/tree-node/tree-node.component";
3
+ export type OTreeFlatNode = {
4
+ id: string | number;
5
+ label: string;
6
+ level: number;
7
+ rootNode?: boolean;
8
+ expandable: boolean;
9
+ node?: OTreeComponent | OTreeNodeComponent;
10
+ treeNode?: OTreeNodeComponent;
11
+ data: any;
12
+ isLoading?: boolean;
13
+ route?: string;
14
+ };
@@ -6,6 +6,7 @@ import { IPermissionsService } from '../interfaces/permissions-service.interface
6
6
  import { ODateValueType } from '../types/o-date-value.type';
7
7
  import { OConfigureServiceArgs } from '../types/configure-service-args.type';
8
8
  import { OConfigureMessageServiceArgs } from '../types/configure-message-service-args.type';
9
+ import { ActivatedRouteSnapshot } from '@angular/router';
9
10
  export declare class Util {
10
11
  static readonly columnAggregates: string[];
11
12
  static isObject(val: any): boolean;
@@ -48,4 +49,5 @@ export declare class Util {
48
49
  static stringify(obj: object): string;
49
50
  static sortFunction(propertyA: string | number, propertyB: string | number, activeSortDirection: string): number;
50
51
  static cloneArray<T>(arr: T[]): T[];
52
+ static getLastActivateRoute(routeSnapshot: ActivatedRouteSnapshot): ActivatedRouteSnapshot;
51
53
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ontimize-web-ngx",
3
3
  "homepage": "https://github.com/OntimizeWeb/ontimize-web-ngx#readme",
4
- "version": "15.2.2",
4
+ "version": "15.3.0",
5
5
  "description": "Ontimize Web framework using Angular 15",
6
6
  "bugs": "https://github.com/OntimizeWeb/ontimize-web-ngx/issues",
7
7
  "author": "Imatia S.L.",