ontimize-web-ngx 15.6.2 → 15.7.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 (47) hide show
  1. package/esm2020/lib/components/o-service-base-component.class.mjs +10 -1
  2. package/esm2020/lib/components/table/extensions/contextmenu/o-table-context-menu.component.mjs +17 -11
  3. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +41 -64
  4. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.mjs +75 -8
  5. package/esm2020/lib/components/table/extensions/dialog/visible-columns/o-table-visible-columns-dialog.component.mjs +2 -2
  6. package/esm2020/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.mjs +19 -3
  7. package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +68 -51
  8. package/esm2020/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.mjs +26 -11
  9. package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
  10. package/esm2020/lib/components/table/o-table.component.mjs +42 -5
  11. package/esm2020/lib/components/tree/o-tree-dao.service.mjs +32 -1
  12. package/esm2020/lib/components/tree/o-tree.component.mjs +144 -22
  13. package/esm2020/lib/components/tree/o-tree.datasource.mjs +28 -14
  14. package/esm2020/lib/components/tree/o-tree.module.mjs +1 -1
  15. package/esm2020/lib/components/tree/tree-node/tree-node.component.mjs +2 -20
  16. package/esm2020/lib/i18n/i18n.mjs +13 -4
  17. package/esm2020/lib/interfaces/pagination-data.interface.mjs +2 -0
  18. package/esm2020/lib/services/state/index.mjs +3 -1
  19. package/esm2020/lib/services/state/o-tree-component-state.class.mjs +1 -1
  20. package/esm2020/lib/services/state/o-tree-component-state.service.mjs +54 -14
  21. package/esm2020/lib/types/table/o-table-initialization-options.type.mjs +1 -1
  22. package/esm2020/lib/types/tree-flat-node.type.mjs +1 -1
  23. package/fesm2015/ontimize-web-ngx.mjs +578 -191
  24. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  25. package/fesm2020/ontimize-web-ngx.mjs +564 -189
  26. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  27. package/lib/components/o-service-base-component.class.d.ts +5 -1
  28. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.d.ts +10 -3
  29. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.d.ts +10 -3
  30. package/lib/components/table/extensions/header/o-table-header-components.d.ts +2 -2
  31. package/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.d.ts +19 -2
  32. package/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.d.ts +10 -9
  33. package/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.d.ts +7 -1
  34. package/lib/components/table/o-table-base.class.d.ts +12 -3
  35. package/lib/components/table/o-table.component.d.ts +4 -2
  36. package/lib/components/tree/o-tree-dao.service.d.ts +4 -2
  37. package/lib/components/tree/o-tree.component.d.ts +21 -2
  38. package/lib/components/tree/o-tree.datasource.d.ts +3 -0
  39. package/lib/components/tree/tree-node/tree-node.component.d.ts +0 -4
  40. package/lib/i18n/i18n.d.ts +9 -0
  41. package/lib/interfaces/pagination-data.interface.d.ts +6 -0
  42. package/lib/services/state/index.d.ts +2 -0
  43. package/lib/services/state/o-tree-component-state.class.d.ts +3 -0
  44. package/lib/services/state/o-tree-component-state.service.d.ts +4 -1
  45. package/lib/types/table/o-table-initialization-options.type.d.ts +4 -0
  46. package/lib/types/tree-flat-node.type.d.ts +5 -1
  47. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { ChangeDetectorRef, Injector, OnChanges, SimpleChange } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { BehaviorSubject, Observable, Subscription } from 'rxjs';
4
+ import { PaginationContext } from '../interfaces/pagination-context.interface';
4
5
  import { ILocalStorageComponent } from '../interfaces/local-storage-component.interface';
5
6
  import { ServiceResponse } from '../interfaces/service-response.interface';
6
7
  import { BaseService } from '../services/base-service.class';
@@ -99,12 +100,15 @@ export declare abstract class AbstractOServiceBaseComponent<T extends AbstractCo
99
100
  getAttributesValuesToQuery(): Array<string>;
100
101
  getQueryArguments(filter: object, ovrrArgs?: OQueryDataArgs): OQueryParams;
101
102
  updatePaginationInfo(queryRes: ServiceResponse): void;
102
- private updatePaginationContext;
103
+ protected updatePaginationContext(paginationContext: PaginationContext): void;
103
104
  getTotalRecordsNumber(): number;
104
105
  getContextComponent(): OFormComponent | OExpandableContainerComponent;
105
106
  getComponentFilter(existingFilter?: any): any;
106
107
  getSqlTypes(): any;
107
108
  getParentKeysValues(): {};
109
+ getForm(): OFormComponent;
110
+ getParentKeysEquivalence(): {};
111
+ getDataService(): BaseService<ServiceResponse>;
108
112
  protected updateStateStorage(): void;
109
113
  protected setData(data: any, sqlTypes?: any, replace?: boolean): void;
110
114
  protected registerLocalStorageServiceRouteChange(): void;
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
1
+ import { AfterViewInit, ElementRef, EventEmitter, Injector } from '@angular/core';
2
2
  import { UntypedFormControl } from '@angular/forms';
3
3
  import { MatCheckboxChange } from '@angular/material/checkbox';
4
4
  import { MatDialogRef } from '@angular/material/dialog';
@@ -14,8 +14,10 @@ import { OFilterColumn } from '../../header/table-columns-filter/columns/o-table
14
14
  import type { OColumn } from '../../../column/o-column.class';
15
15
  import { OTableFilterByColumnService } from './o-table-filter-by-column.service';
16
16
  import { SelectionModel } from '@angular/cdk/collections';
17
+ import { BaseService } from '../../../../../services/base-service.class';
17
18
  import * as i0 from "@angular/core";
18
19
  export declare class OTableFilterByColumnDataDialogComponent implements AfterViewInit {
20
+ protected injector: Injector;
19
21
  dialogRef: MatDialogRef<OTableFilterByColumnDataDialogComponent>;
20
22
  private readonly filterService;
21
23
  acceptAction: TableFilterByColumnDialogResult;
@@ -37,6 +39,7 @@ export declare class OTableFilterByColumnDataDialogComponent implements AfterVie
37
39
  protected tableData: any[];
38
40
  private readonly listDataSubject;
39
41
  protected _listData: Observable<TableFilterByColumnData[]>;
42
+ protected service: BaseService<ServiceResponse>;
40
43
  filter: ElementRef;
41
44
  filterValueList: MatSelectionList;
42
45
  activeSortDirection: 'asc' | 'desc' | '';
@@ -47,11 +50,16 @@ export declare class OTableFilterByColumnDataDialogComponent implements AfterVie
47
50
  queryMethodName: string;
48
51
  previousFilter: OColumnValueFilter;
49
52
  selection: SelectionModel<TableFilterByColumnData>;
50
- constructor(dialogRef: MatDialogRef<OTableFilterByColumnDataDialogComponent>, filterService: OTableFilterByColumnService, data: {
53
+ visibleColumnsArray: string[];
54
+ separator: string;
55
+ filterColumnDefinition: OFilterColumn;
56
+ constructor(injector: Injector, dialogRef: MatDialogRef<OTableFilterByColumnDataDialogComponent>, filterService: OTableFilterByColumnService, data: {
51
57
  column: OColumn;
52
58
  table: OTableComponent;
53
59
  });
60
+ private initFromData;
54
61
  private initialize;
62
+ private createEmptyFilter;
55
63
  private parseDataAndInitializeDataList;
56
64
  ngAfterViewInit(): void;
57
65
  get listData(): Observable<TableFilterByColumnData[]>;
@@ -80,7 +88,6 @@ export declare class OTableFilterByColumnDataDialogComponent implements AfterVie
80
88
  onChangeDataSource(event: MatRadioChange): void;
81
89
  private getData;
82
90
  isSelected(item: TableFilterByColumnData): boolean;
83
- queryByFilterColumn(attr: string): Observable<ServiceResponse> | Observable<any>;
84
91
  compareOptions(): ((o1: TableFilterByColumnData, o2: TableFilterByColumnData) => boolean) | undefined;
85
92
  static ɵfac: i0.ɵɵFactoryDeclaration<OTableFilterByColumnDataDialogComponent, never>;
86
93
  static ɵcmp: i0.ɵɵComponentDeclaration<OTableFilterByColumnDataDialogComponent, "o-table-filter-by-column-data-dialog", never, {}, {}, never, never, false, never>;
@@ -1,12 +1,19 @@
1
+ import { Injector } from '@angular/core';
1
2
  import { OColumnValueFilter } from '../../../../../types/table/o-column-value-filter.type';
2
3
  import { TableFilterByColumnData } from '../../../../../types/table/o-table-filter-by-column-data.type';
3
4
  import { OColumn } from '../../../column/o-column.class';
5
+ import { Observable } from 'rxjs';
6
+ import { OTableBase } from '../../../o-table-base.class';
7
+ import { OFilterColumn } from '../../header/table-columns-filter/columns/o-table-columns-filter-column.component';
4
8
  import * as i0 from "@angular/core";
5
9
  export declare class OTableFilterByColumnService {
6
10
  constructor();
7
- getColumnDataUsingRenderer(column: OColumn, tableData: any[]): any[];
8
- parseListData(filter: OColumnValueFilter, column: OColumn, tableData: any[], isPageable: boolean, sourceData: 'current-page' | 'all-data'): TableFilterByColumnData[];
9
- applySelectedValuesToFilter(column: OColumn, tableData: any[], filter: OColumnValueFilter, selectedValues: TableFilterByColumnData[], sourceData: 'current-page' | 'all-data', isPageable: boolean, getComponentFilterFn: () => any): void;
11
+ getColumnDataUsingRenderer(column: OColumn, tableData: any[], visibleColumns: string[], separator: string): any[];
12
+ parseListData(filter: OColumnValueFilter, column: OColumn, tableData: any[], isPageable: boolean, filterColumnDefinition: OFilterColumn): TableFilterByColumnData[];
13
+ applySelectedValuesToFilter(column: OColumn, tableData: any[], filter: OColumnValueFilter, selectedValues: TableFilterByColumnData[], filterByColumnDefinition: OFilterColumn, isPageable: boolean, getComponentFilterFn: () => any): void;
14
+ getDataForColumnFilter(injector: Injector, table: OTableBase, column: OColumn, filterColumnDefinition: OFilterColumn): Observable<any[]>;
15
+ configureService(injector: Injector, filterColumnDefinition: OFilterColumn, tableEntity: OTableBase): any;
16
+ initializeColumnFilterData(filter: OColumnValueFilter, column: OColumn, tableData: any[], isPageable: boolean, filterColumnDefinition: OFilterColumn): TableFilterByColumnData[];
10
17
  static ɵfac: i0.ɵɵFactoryDeclaration<OTableFilterByColumnService, never>;
11
18
  static ɵprov: i0.ɵɵInjectableDeclaration<OTableFilterByColumnService>;
12
19
  }
@@ -12,5 +12,5 @@ import { OTableOptionComponent } from './table-option/o-table-option.component';
12
12
  import { OTableQuickfilterComponent } from './table-quickfilter/o-table-quickfilter.component';
13
13
  import { OTableHeaderComponent } from './table-header/o-table-header.component';
14
14
  import { OTableColumnSelectAllDirective } from './table-column-select-all/o-table-column-select-all.directive';
15
- export declare const O_TABLE_HEADER_COMPONENTS: (typeof OTableColumnsFilterColumnComponent | typeof OTableColumnsGroupingColumnComponent | typeof OTableButtonComponent | typeof OTableButtonsComponent | typeof OTableColumnResizerComponent | typeof OTableColumnsFilterComponent | typeof OTableInsertableRowComponent | typeof OTableOptionComponent | typeof OTableMenuComponent | typeof OTableQuickfilterComponent | typeof OTableHeaderColumnFilterIconComponent | typeof OTableHeaderComponent | typeof OTableColumnsGroupingComponent | typeof OTableColumnSelectAllDirective)[];
16
- export declare const O_TABLE_HEADER_COMPONENTS_EXPORTED: (typeof OTableColumnsFilterColumnComponent | typeof OTableColumnsGroupingColumnComponent | typeof OTableButtonComponent | typeof OTableButtonsComponent | typeof OTableColumnResizerComponent | typeof OTableColumnsFilterComponent | typeof OTableInsertableRowComponent | typeof OTableOptionComponent | typeof OTableMenuComponent | typeof OTableQuickfilterComponent | typeof OTableHeaderComponent | typeof OTableColumnsGroupingComponent | typeof OTableColumnSelectAllDirective)[];
15
+ export declare const O_TABLE_HEADER_COMPONENTS: (typeof OTableColumnsFilterColumnComponent | typeof OTableColumnsGroupingColumnComponent | typeof OTableOptionComponent | typeof OTableButtonComponent | typeof OTableButtonsComponent | typeof OTableColumnResizerComponent | typeof OTableColumnsFilterComponent | typeof OTableInsertableRowComponent | typeof OTableMenuComponent | typeof OTableQuickfilterComponent | typeof OTableHeaderColumnFilterIconComponent | typeof OTableHeaderComponent | typeof OTableColumnsGroupingComponent | typeof OTableColumnSelectAllDirective)[];
16
+ export declare const O_TABLE_HEADER_COMPONENTS_EXPORTED: (typeof OTableColumnsFilterColumnComponent | typeof OTableColumnsGroupingColumnComponent | typeof OTableOptionComponent | typeof OTableButtonComponent | typeof OTableButtonsComponent | typeof OTableColumnResizerComponent | typeof OTableColumnsFilterComponent | typeof OTableInsertableRowComponent | typeof OTableMenuComponent | typeof OTableQuickfilterComponent | typeof OTableHeaderComponent | typeof OTableColumnsGroupingComponent | typeof OTableColumnSelectAllDirective)[];
@@ -1,3 +1,4 @@
1
+ import { OnInit } from '@angular/core';
1
2
  import * as i0 from "@angular/core";
2
3
  export type OFilterColumn = {
3
4
  attr: string;
@@ -5,14 +6,30 @@ export type OFilterColumn = {
5
6
  startView: 'month' | 'year' | 'multi-year' | '';
6
7
  queryMethod?: string;
7
8
  filterValuesInData?: 'current-page' | 'all-data';
9
+ service?: string;
10
+ entity?: string;
11
+ serviceType?: string;
12
+ separator?: string;
13
+ visibleColumns?: string[];
14
+ filterLocked?: boolean;
15
+ filterLockedMessage?: string;
8
16
  };
9
17
  export declare const DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER_COLUMN: string[];
10
- export declare class OTableColumnsFilterColumnComponent {
18
+ export declare class OTableColumnsFilterColumnComponent implements OnInit {
11
19
  attr: string;
12
20
  sort: 'asc' | 'desc' | '';
13
21
  startView: 'month' | 'year' | 'multi-year' | '';
14
22
  queryMethod: string;
15
23
  filterValuesInData: 'current-page' | 'all-data';
24
+ filterLocked: boolean;
25
+ filterLockedMessage: string;
26
+ service: string;
27
+ serviceType: string;
28
+ entity: string;
29
+ visibleColsArray: string[];
30
+ visibleColumns: string;
31
+ separator: string;
32
+ ngOnInit(): void;
16
33
  static ɵfac: i0.ɵɵFactoryDeclaration<OTableColumnsFilterColumnComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<OTableColumnsFilterColumnComponent, "o-table-columns-filter-column", never, { "attr": "attr"; "sort": "sort"; "startView": "start-view"; "queryMethod": "query-method"; "filterValuesInData": "filter-values-in-data"; }, {}, never, never, false, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<OTableColumnsFilterColumnComponent, "o-table-columns-filter-column", never, { "attr": "attr"; "sort": "sort"; "startView": "start-view"; "queryMethod": "query-method"; "filterValuesInData": "filter-values-in-data"; "filterLocked": "filter-locked"; "filterLockedMessage": "filter-locked-message"; "service": "service"; "serviceType": "service-type"; "entity": "entity"; "visibleColumns": "visible-columns"; "separator": "separator"; }, {}, never, never, false, never>;
18
35
  }
@@ -1,13 +1,13 @@
1
1
  import { AfterContentInit, Injector, OnInit, QueryList } from '@angular/core';
2
2
  import type { OColumn } from '../../../column/o-column.class';
3
- import { OTableComponent } from '../../../o-table.component';
4
3
  import { OFilterColumn, OTableColumnsFilterColumnComponent } from './columns/o-table-columns-filter-column.component';
4
+ import { OTableBase } from '../../../o-table-base.class';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare const DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER: string[];
7
7
  export declare const DEFAULT_OUTPUTS_O_TABLE_COLUMN_FILTER: any[];
8
8
  export declare class OTableColumnsFilterComponent implements OnInit, AfterContentInit {
9
9
  protected injector: Injector;
10
- protected table: OTableComponent;
10
+ table: OTableBase;
11
11
  static DEFAULT_COMPARISON_TYPE: string;
12
12
  static MODEL_COMPARISON_TYPE: string;
13
13
  static OTableColumnsFilterModes: string[];
@@ -15,24 +15,25 @@ export declare class OTableColumnsFilterComponent implements OnInit, AfterConten
15
15
  protected _mode: string;
16
16
  preloadValues: boolean;
17
17
  filterValuesInData: 'current-page' | 'all-data';
18
- get mode(): string;
19
- set mode(val: string);
20
18
  protected _columnsArray: Array<OFilterColumn>;
21
19
  protected columnsComparisonProperty: object;
22
20
  filterColumns: QueryList<OTableColumnsFilterColumnComponent>;
23
- constructor(injector: Injector, table: OTableComponent);
21
+ constructor(injector: Injector, table: OTableBase);
24
22
  ngOnInit(): void;
25
- private getFilterValuesInDataByDefault;
26
23
  ngAfterContentInit(): void;
24
+ get mode(): string;
25
+ set mode(val: string);
26
+ set columns(arg: string);
27
+ set columnsArray(arg: OFilterColumn[]);
28
+ get columnsArray(): OFilterColumn[];
29
+ getFilterColumnByAttr(attr: string): OTableColumnsFilterColumnComponent;
30
+ private getFilterValuesInDataByDefault;
27
31
  isColumnFilterable(attr: string): boolean;
28
32
  getSortValueOfFilterColumn(attr: string): string;
29
33
  getStartViewValueOfFilterColumn(attr: string): string;
30
34
  getQueryMethodOfFilterColumn(attr: string): string;
31
35
  getFilterValuesInData(attr: string): 'current-page' | 'all-data';
32
36
  getColumnComparisonValue(column: OColumn, val: any): any;
33
- set columns(arg: string);
34
- set columnsArray(arg: OFilterColumn[]);
35
- get columnsArray(): OFilterColumn[];
36
37
  parseColumns(columns: string): OFilterColumn[];
37
38
  parseFilterColumns(columns: QueryList<OTableColumnsFilterColumnComponent>): OFilterColumn[];
38
39
  static ɵfac: i0.ɵɵFactoryDeclaration<OTableColumnsFilterComponent, never>;
@@ -3,18 +3,24 @@ import { BehaviorSubject } from 'rxjs';
3
3
  import { OColumnValueFilter } from '../../../../../types/table/o-column-value-filter.type';
4
4
  import type { OColumn } from '../../../column';
5
5
  import { OTableBase } from '../../../o-table-base.class';
6
+ import { MatDialog } from '@angular/material/dialog';
7
+ import { DialogService } from '../../../../../services/dialog.service';
8
+ import { OTranslateService } from '../../../../../services/translate/o-translate.service';
6
9
  import * as i0 from "@angular/core";
7
10
  export declare const DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER_ICON: string[];
8
11
  export declare type STATEVIEW = 'HINT' | 'ACTIVE' | 'INACTIVE';
9
12
  export declare class OTableHeaderColumnFilterIconComponent implements OnInit, OnDestroy {
10
13
  table: OTableBase;
14
+ protected dialog: MatDialog;
15
+ protected dialogService: DialogService;
16
+ protected translateService: OTranslateService;
11
17
  column: OColumn;
12
18
  isColumnFilterActive: BehaviorSubject<boolean>;
13
19
  filterIconHintVisible: BehaviorSubject<boolean>;
14
20
  indicatorNumber: BehaviorSubject<string>;
15
21
  private subscription;
16
22
  filterIconStateView: BehaviorSubject<STATEVIEW>;
17
- constructor(table: OTableBase);
23
+ constructor(table: OTableBase, dialog: MatDialog, dialogService: DialogService, translateService: OTranslateService);
18
24
  ngOnInit(): void;
19
25
  updateStateColumnFilter(): void;
20
26
  protected getColumnValueFilterByAttr(): OColumnValueFilter;
@@ -1,5 +1,5 @@
1
1
  import { SelectionModel } from '@angular/cdk/collections';
2
- import { ChangeDetectorRef, EventEmitter, TemplateRef } from '@angular/core';
2
+ import { ChangeDetectorRef, EventEmitter } from '@angular/core';
3
3
  import { MatCheckboxChange } from '@angular/material/checkbox';
4
4
  import { Observable } from 'rxjs';
5
5
  import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
@@ -18,16 +18,22 @@ import type { OTableHeaderComponent } from "./extensions/header/table-header/o-t
18
18
  import type { MatPaginator } from "@angular/material/paginator";
19
19
  import type { OTableColumnSelectAllDirective } from "./extensions/header/table-column-select-all/o-table-column-select-all.directive";
20
20
  import type { OFilterBuilderComponent } from "../filter-builder/o-filter-builder.component";
21
+ import { OTableColumnsFilterComponent } from './extensions/header/table-columns-filter/o-table-columns-filter.component';
22
+ import { OFilterColumn } from './extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component';
23
+ import { BaseService } from '../../services/base-service.class';
24
+ import { ServiceResponse } from '../../interfaces/service-response.interface';
21
25
  export declare abstract class OTableBase {
22
26
  abstract getMenuPermissions(): OTableMenuPermissions;
23
27
  abstract rowHeightObservable: Observable<string>;
24
28
  abstract initializeCheckboxColumn(): any;
29
+ oTableColumnsFilterComponent: OTableColumnsFilterComponent;
25
30
  visibleExportDialogButtons: string;
26
31
  service: string;
27
32
  serviceType: string;
28
- exportServiceType: TemplateRef<any>;
33
+ exportServiceType: string;
29
34
  exportOptsTemplate: any;
30
35
  visibleColArray: string[];
36
+ queryMethod: string;
31
37
  showNotificationOfReadOnly: boolean;
32
38
  abstract reinitializeSortColumns(sortColumns?: SQLOrder[]): any;
33
39
  abstract setGroupColumns(value: any[]): any;
@@ -121,6 +127,9 @@ export declare abstract class OTableBase {
121
127
  abstract setSelectedByKeys(keyValues: Array<any>): void;
122
128
  abstract setSelectedByMultipleKeys(keyValues: Array<Object>): void;
123
129
  abstract setSelectedByRowIds(rowIds: Array<number>): void;
124
- abstract getSourceDataByFilterColumn(column: OColumn): 'current-page' | 'all-data';
130
+ abstract getFilterColumnByAttr(attr: string): OFilterColumn;
125
131
  abstract getValue(): any[];
132
+ abstract setOTableColumnsFilter(tableColumnsFilter: OTableColumnsFilterComponent): any;
133
+ abstract getAllValues(): any[];
134
+ abstract getDataService(): BaseService<ServiceResponse>;
126
135
  }
@@ -55,6 +55,7 @@ import type { OTableQuickfilter } from '../../interfaces/o-table-quickfilter.int
55
55
  import type { ServiceResponse } from '../../interfaces/service-response.interface';
56
56
  import { OQueryParams } from '../../types/query-params.type';
57
57
  import { MatRow, MatTable } from '@angular/material/table';
58
+ import { PaginationData } from '../../interfaces/pagination-data.interface';
58
59
  import * as i0 from "@angular/core";
59
60
  export declare const DEFAULT_INPUTS_O_TABLE: string[];
60
61
  export declare const DEFAULT_OUTPUTS_O_TABLE: string[];
@@ -272,6 +273,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
272
273
  protected registerDblClickListener(): void;
273
274
  protected initializeDao(): void;
274
275
  reinitialize(options: OTableInitializationOptions): void;
276
+ reinitializePaginationInfo(paginationData: PaginationData): void;
275
277
  protected initTableAfterViewInit(): void;
276
278
  parseSearcheableColumns(): void;
277
279
  destroy(): void;
@@ -317,7 +319,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
317
319
  getComponentFilter(existingFilter?: any): any;
318
320
  protected getQuickFilterExpression(): Expression;
319
321
  getColumnFiltersExpression(): Expression;
320
- updatePaginationInfo(queryRes: any): void;
322
+ updatePaginationInfo(queryRes: ServiceResponse): void;
321
323
  initViewPort(data: any[]): void;
322
324
  protected setData(data: any, sqlTypes: any): void;
323
325
  protected canSetStaticData(staticData: any): boolean;
@@ -488,7 +490,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
488
490
  isDisableCheckbox(item: any): boolean;
489
491
  getService(): import("ontimize-web-ngx").BaseService<ServiceResponse>;
490
492
  getSnackService(): SnackBarService;
491
- getSourceDataByFilterColumn(column: OColumn): 'current-page' | 'all-data';
493
+ getFilterColumnByAttr(attr: string): OFilterColumn;
492
494
  updateColumnTitles(columns: {
493
495
  attr: string;
494
496
  title: string;
@@ -1,5 +1,6 @@
1
- import { BehaviorSubject } from 'rxjs';
1
+ import { BehaviorSubject, Observable } from 'rxjs';
2
2
  import { OTreeFlatNode } from '../../types/tree-flat-node.type';
3
+ import { ServiceResponse } from '../../interfaces/service-response.interface';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class OTreeDao {
5
6
  protected _isLoadingResults: boolean;
@@ -9,10 +10,11 @@ export declare class OTreeDao {
9
10
  get data(): any[];
10
11
  rootLevelNodes: OTreeFlatNode[];
11
12
  flatNodeMap: Map<OTreeFlatNode, any>;
12
- setDataArray(data: Array<any>): import("rxjs").Observable<any[]>;
13
+ setDataArray(data: Array<any>): Observable<any[]>;
13
14
  get isLoadingResults(): boolean;
14
15
  set isLoadingResults(val: boolean);
15
16
  protected cleanTimer(): void;
17
+ queryNodeChildren(flatNode: OTreeFlatNode, recursive: boolean): Observable<ServiceResponse>;
16
18
  static ɵfac: i0.ɵɵFactoryDeclaration<OTreeDao, never>;
17
19
  static ɵprov: i0.ɵɵInjectableDeclaration<OTreeDao>;
18
20
  }
@@ -1,9 +1,9 @@
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 { Subscription } from 'rxjs';
4
+ import { Observable, Subscription } from 'rxjs';
5
+ import { ServiceResponse } from '../../interfaces/service-response.interface';
5
6
  import { OTreeComponentStateService } from '../../services/state/o-tree-component-state.service';
6
- import { OPermissions } from '../../types';
7
7
  import { OTreePermissions } from '../../types/o-tree-permissions.type';
8
8
  import { OTreeFlatNode } from '../../types/tree-flat-node.type';
9
9
  import { OFormComponent } from '../form/o-form.component';
@@ -11,6 +11,12 @@ import { AbstractOServiceComponent } from '../o-service-component.class';
11
11
  import { OTreeDao } from './o-tree-dao.service';
12
12
  import { OTreeDataSource } from './o-tree.datasource';
13
13
  import { OTreeNodeComponent } from './tree-node/tree-node.component';
14
+ import { OPermissions } from '../../types/o-permissions.type';
15
+ import { SQLOrder } from '../../types/sql-order.type';
16
+ import { OQueryDataArgs } from '../../types/query-data-args.type';
17
+ import { MatPaginator } from '@angular/material/paginator';
18
+ import { OTreeComponentStateClass } from '../../services/state/o-tree-component-state.class';
19
+ import { OQueryParams } from '../../types/query-params.type';
14
20
  import * as i0 from "@angular/core";
15
21
  export declare const DEFAULT_INPUTS_O_TREE: string[];
16
22
  export declare const DEFAULT_OUTPUTS_O_TREE: string[];
@@ -24,6 +30,9 @@ export declare class OTreeComponent extends AbstractOServiceComponent<OTreeCompo
24
30
  getComponentFilter(existingFilter?: any): any;
25
31
  hasChild: (_: number, _nodeData: OTreeFlatNode) => boolean;
26
32
  hasNoContent: (_: number, _nodeData: OTreeFlatNode) => boolean;
33
+ hasLoadMore: (node: OTreeFlatNode) => boolean;
34
+ onLoadMore(event: Event, node: OTreeFlatNode): void;
35
+ isLastChildAndHasMore(node: OTreeFlatNode): boolean;
27
36
  dataSource: OTreeDataSource;
28
37
  refreshButton: boolean;
29
38
  deleteButton: boolean;
@@ -54,6 +63,7 @@ export declare class OTreeComponent extends AbstractOServiceComponent<OTreeCompo
54
63
  parentNodeTemplate: TemplateRef<any>;
55
64
  treeFlattener: any;
56
65
  treeControl: FlatTreeControl<OTreeFlatNode, OTreeFlatNode>;
66
+ matpaginator: MatPaginator;
57
67
  set nodeTemplate(value: TemplateRef<any>);
58
68
  treeNode: OTreeNodeComponent;
59
69
  protected permissions: OTreePermissions;
@@ -62,12 +72,14 @@ export declare class OTreeComponent extends AbstractOServiceComponent<OTreeCompo
62
72
  enabledDeleteButton: boolean;
63
73
  protected subscription: Subscription;
64
74
  route: string;
75
+ sortColumnArray: SQLOrder[];
65
76
  get showTreeMenuButton(): boolean;
66
77
  constructor(injector: Injector, elRef: ElementRef, form: OFormComponent);
67
78
  ngOnInit(): void;
68
79
  initialize(): void;
69
80
  protected initializeDao(): void;
70
81
  initializeParams(): void;
82
+ get state(): OTreeComponentStateClass;
71
83
  ngAfterViewInit(): void;
72
84
  ngOnDestroy(): void;
73
85
  registerTreeNode(oTreeNode: OTreeNodeComponent): void;
@@ -103,6 +115,8 @@ export declare class OTreeComponent extends AbstractOServiceComponent<OTreeCompo
103
115
  onItemDetailClick(node: OTreeFlatNode): void;
104
116
  get selection(): SelectionModel<any>;
105
117
  getSelectedItems(): any[];
118
+ parseSortColumn(): void;
119
+ getQueryArguments(filter: object, ovrrArgs?: OQueryDataArgs): OQueryParams;
106
120
  private shouldBeRoot;
107
121
  protected createTreeNode(flatNode: OTreeFlatNode): any;
108
122
  protected getFlatNodeIdentifier(flatNode: OTreeFlatNode): string;
@@ -111,6 +125,11 @@ export declare class OTreeComponent extends AbstractOServiceComponent<OTreeCompo
111
125
  private ensureNodeInMap;
112
126
  private getSelectedNodeKeys;
113
127
  getSelectedFlatNodes(): OTreeFlatNode[];
128
+ getParentNode(node: any): OTreeFlatNode;
129
+ reloadData(clearSelectedItems?: boolean): void;
130
+ getLogicalLevel(node: OTreeFlatNode): number;
131
+ hasFakeRoot(): boolean;
132
+ childQueryData(flatNode: OTreeFlatNode): Observable<ServiceResponse> | Observable<any>;
114
133
  static ɵfac: i0.ɵɵFactoryDeclaration<OTreeComponent, [null, null, { optional: true; }]>;
115
134
  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>;
116
135
  }
@@ -5,6 +5,7 @@ import { BehaviorSubject, Observable } from 'rxjs';
5
5
  import { OTreeDao } from './o-tree-dao.service';
6
6
  import { OTreeComponent } from './o-tree.component';
7
7
  import { OTreeFlatNode } from '../../types/tree-flat-node.type';
8
+ import { MatPaginator } from '@angular/material/paginator';
8
9
  export declare class OTreeDataSource implements DataSource<OTreeFlatNode> {
9
10
  private oTree;
10
11
  private _treeControl;
@@ -12,6 +13,8 @@ export declare class OTreeDataSource implements DataSource<OTreeFlatNode> {
12
13
  dataChange: BehaviorSubject<OTreeFlatNode[]>;
13
14
  translateService: any;
14
15
  protected _database: OTreeDao;
16
+ resultsLength: number;
17
+ protected _paginator: MatPaginator;
15
18
  get data(): OTreeFlatNode[];
16
19
  set data(value: OTreeFlatNode[]);
17
20
  constructor(oTree: OTreeComponent, _treeControl: FlatTreeControl<OTreeFlatNode>, injector: Injector);
@@ -1,9 +1,6 @@
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';
4
2
  import { OFormComponent } from '../../form';
5
3
  import { OTreeComponent } from '../o-tree.component';
6
- import { OTreeFlatNode } from '../../../types/tree-flat-node.type';
7
4
  import * as i0 from "@angular/core";
8
5
  export declare class OTreeNodeComponent extends OTreeComponent implements OnInit, AfterViewInit {
9
6
  injector: Injector;
@@ -12,7 +9,6 @@ export declare class OTreeNodeComponent extends OTreeComponent implements OnInit
12
9
  constructor(injector: Injector, elementRef: ElementRef, form: OFormComponent, parentComponent: OTreeComponent, parentNode: OTreeNodeComponent);
13
10
  ngOnInit(): void;
14
11
  ngAfterViewInit(): void;
15
- childQueryData(node: OTreeFlatNode): Observable<ServiceResponse> | Observable<any>;
16
12
  static ɵfac: i0.ɵɵFactoryDeclaration<OTreeNodeComponent, [null, null, { optional: true; }, { optional: true; }, { optional: true; skipSelf: true; }]>;
17
13
  static ɵcmp: i0.ɵɵComponentDeclaration<OTreeNodeComponent, "o-tree-node", never, {}, {}, never, never, false, never>;
18
14
  }
@@ -130,6 +130,8 @@ export declare const MAP: {
130
130
  'TABLE.FILTER_BY_COLUMN.LABEL_DATA': string;
131
131
  'TABLE.FILTER_BY_COLUMN.CURRENT_PAGE': string;
132
132
  'TABLE.FILTER_BY_COLUMN.ALL_PAGE': string;
133
+ 'TABLE.FILTER_BY_COLUMN.DEFAULT_LOCKED_MESSAGE': string;
134
+ 'TABLE.FILTER_LOCKED': string;
133
135
  'TABLE.FILTER': string;
134
136
  'TABLE.FILTER.CASE_SENSITIVE': string;
135
137
  'TABLE.EMPTY': string;
@@ -309,6 +311,7 @@ export declare const MAP: {
309
311
  'EXPORT.DIALOG.EXPORT_BUTTON': string;
310
312
  'EXPORT.DIALOG.ADVANCED_OPTIONS': string;
311
313
  'EXPORT.DIALOG.FILE_NAME.PLACEHOLDER': string;
314
+ 'O_TREE.LOAD_MORE': string;
312
315
  };
313
316
  es: {
314
317
  LANGUAGE: string;
@@ -440,6 +443,8 @@ export declare const MAP: {
440
443
  'TABLE.FILTER_BY_COLUMN.LABEL_DATA': string;
441
444
  'TABLE.FILTER_BY_COLUMN.CURRENT_PAGE': string;
442
445
  'TABLE.FILTER_BY_COLUMN.ALL_PAGE': string;
446
+ 'TABLE.FILTER_BY_COLUMN.DEFAULT_LOCKED_MESSAGE': string;
447
+ 'TABLE.FILTER_LOCKED': string;
443
448
  'TABLE.FILTER': string;
444
449
  'TABLE.FILTER.CASE_SENSITIVE': string;
445
450
  'TABLE.EMPTY': string;
@@ -611,6 +616,7 @@ export declare const MAP: {
611
616
  'EXPORT.DIALOG.FILE_NAME.PLACEHOLDER': string;
612
617
  'DATERANGE.PLACEHOLDER_STARTDATE': string;
613
618
  'DATERANGE.PLACEHOLDER_ENDDATE': string;
619
+ 'O_TREE.LOAD_MORE': string;
614
620
  };
615
621
  pt: {
616
622
  LANGUAGE: string;
@@ -741,6 +747,8 @@ export declare const MAP: {
741
747
  'TABLE.FILTER_BY_COLUMN.LABEL_DATA': string;
742
748
  'TABLE.FILTER_BY_COLUMN.CURRENT_PAGE': string;
743
749
  'TABLE.FILTER_BY_COLUMN.ALL_PAGE': string;
750
+ 'TABLE.FILTER_BY_COLUMN.DEFAULT_LOCKED_MESSAGE': string;
751
+ 'TABLE.FILTER_LOCKED': string;
744
752
  'TABLE.FILTER': string;
745
753
  'TABLE.FILTER.CASE_SENSITIVE': string;
746
754
  'TABLE.EMPTY': string;
@@ -892,5 +900,6 @@ export declare const MAP: {
892
900
  'REPORT.COLUMN.FALSEVALUE': string;
893
901
  'DATERANGE.PLACEHOLDER_STARTDATE': string;
894
902
  'DATERANGE.PLACEHOLDER_ENDDATE': string;
903
+ 'O_TREE.LOAD_MORE': string;
895
904
  };
896
905
  };
@@ -0,0 +1,6 @@
1
+ export interface PaginationData {
2
+ pageNumber?: number;
3
+ pageSize?: number;
4
+ startRecordIndex?: number;
5
+ totalQueryRecordsNumber?: number;
6
+ }
@@ -8,3 +8,5 @@ export * from './o-list-component-state.class';
8
8
  export * from './o-list-component-state.service';
9
9
  export * from './o-table-component-state.service';
10
10
  export * from './o-table-component-state.class';
11
+ export * from './o-tree-component-state.class';
12
+ export * from './o-tree-component-state.service';
@@ -1,3 +1,6 @@
1
1
  import { DefaultServiceComponentStateClass } from './o-component-state.class';
2
2
  export declare class OTreeComponentStateClass extends DefaultServiceComponentStateClass {
3
+ protected 'filter': string;
4
+ 'currentPage': number;
5
+ 'selection': any[];
3
6
  }
@@ -6,8 +6,11 @@ export declare class OTreeComponentStateService extends AbstractComponentStateSe
6
6
  initialize(component: OTreeComponent): void;
7
7
  initializeState(state: OTreeComponentStateClass): void;
8
8
  getDataToStore(): any;
9
- protected getTablePropertiesToStore(properties: string[]): any;
9
+ protected getTreePropertiesToStore(properties: string[]): any;
10
10
  protected getTreePropertyToStore(property: string): any;
11
+ getQuickFilterState(): any;
12
+ protected getPageState(): any;
13
+ protected getSelectionState(): any;
11
14
  static ɵfac: i0.ɵɵFactoryDeclaration<OTreeComponentStateService, never>;
12
15
  static ɵprov: i0.ɵɵInjectableDeclaration<OTreeComponentStateService>;
13
16
  }
@@ -1,3 +1,5 @@
1
+ import { ServiceResponse } from "../../interfaces";
2
+ import { PaginationData } from "../../interfaces/pagination-data.interface";
1
3
  export type OTableInitializationOptions = {
2
4
  entity?: string;
3
5
  service?: string;
@@ -8,4 +10,6 @@ export type OTableInitializationOptions = {
8
10
  sortColumns?: string;
9
11
  parentKeys?: string;
10
12
  filterColumns?: string;
13
+ data?: ServiceResponse;
14
+ paginationData?: PaginationData;
11
15
  };
@@ -7,8 +7,12 @@ export type OTreeFlatNode = {
7
7
  rootNode?: boolean;
8
8
  expandable: boolean;
9
9
  node?: OTreeComponent | OTreeNodeComponent;
10
- treeNode?: OTreeNodeComponent;
10
+ childNode?: OTreeNodeComponent;
11
11
  data: any;
12
12
  isLoading?: boolean;
13
13
  route?: string;
14
+ hasMore?: boolean;
15
+ startIndex?: number;
16
+ offset?: number;
17
+ totalQueryRecordsNumber?: number;
14
18
  };
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.6.2",
4
+ "version": "15.7.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.",