ontimize-web-ngx 15.5.4 → 15.5.6

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 (36) hide show
  1. package/esm2020/lib/components/o-form-data-component.class.mjs +2 -2
  2. package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +2 -2
  3. package/esm2020/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.mjs +1 -1
  4. package/esm2020/lib/components/table/column/o-column.class.mjs +1 -1
  5. package/esm2020/lib/components/table/column/o-table-column.component.mjs +7 -3
  6. package/esm2020/lib/components/table/extensions/contextmenu/o-table-context-menu.component.mjs +24 -6
  7. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +75 -87
  8. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.mjs +53 -0
  9. package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +12 -4
  10. package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
  11. package/esm2020/lib/components/table/o-table.component.mjs +89 -8
  12. package/esm2020/lib/components/table/o-table.module.mjs +4 -1
  13. package/esm2020/lib/interfaces/o-table-column.interface.mjs +1 -1
  14. package/esm2020/lib/services/state/o-table-component-state.class.mjs +7 -1
  15. package/esm2020/lib/services/state/o-table-component-state.service.mjs +8 -2
  16. package/esm2020/lib/types/table/index.mjs +2 -1
  17. package/esm2020/lib/types/table/o-column-value-filter.type.mjs +1 -1
  18. package/esm2020/lib/types/table/o-table-expandable-row-state.type.mjs +2 -0
  19. package/fesm2015/ontimize-web-ngx.mjs +269 -99
  20. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  21. package/fesm2020/ontimize-web-ngx.mjs +253 -97
  22. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  23. package/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.d.ts +1 -1
  24. package/lib/components/table/column/o-column.class.d.ts +1 -1
  25. package/lib/components/table/extensions/contextmenu/o-table-context-menu.component.d.ts +2 -0
  26. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.d.ts +9 -6
  27. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.d.ts +12 -0
  28. package/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.d.ts +1 -1
  29. package/lib/components/table/o-table-base.class.d.ts +2 -0
  30. package/lib/components/table/o-table.component.d.ts +11 -2
  31. package/lib/interfaces/o-table-column.interface.d.ts +1 -1
  32. package/lib/services/state/o-table-component-state.class.d.ts +3 -0
  33. package/lib/types/table/index.d.ts +1 -0
  34. package/lib/types/table/o-column-value-filter.type.d.ts +3 -0
  35. package/lib/types/table/o-table-expandable-row-state.type.d.ts +5 -0
  36. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { AfterContentInit, Injector, OnInit, PipeTransform, TemplateRef } from '@angular/core';
2
2
  import { OTableColumn } from '../../../../interfaces/o-table-column.interface';
3
3
  import { Expression } from '../../../../types/expression.type';
4
- import { OTableComponent } from '../../o-table.component';
4
+ import type { OTableComponent } from '../../o-table.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare const DEFAULT_INPUTS_O_BASE_TABLE_CELL_RENDERER: string[];
7
7
  export declare class OBaseTableCellRenderer implements OnInit, AfterContentInit {
@@ -5,7 +5,7 @@ import { Expression } from '../../../types/expression.type';
5
5
  import { OperatorFunction } from '../../../types/operation-function.type';
6
6
  import { OColumnAggregate } from '../../../types/table/o-column-aggregate.type';
7
7
  import { OColumnTooltip } from '../../../types/table/o-column-tooltip.type';
8
- import { OBaseTableCellRenderer } from './cell-renderer/o-base-table-cell-renderer.class';
8
+ import type { OBaseTableCellRenderer } from './cell-renderer/o-base-table-cell-renderer.class';
9
9
  export declare class OColumn {
10
10
  attr: string;
11
11
  name: string;
@@ -64,6 +64,8 @@ export declare class OTableContextMenuComponent implements AfterViewInit {
64
64
  delete(event: any): void;
65
65
  refresh(): void;
66
66
  filterByValue(): void;
67
+ private createColumnValueFilter;
68
+ private getSelectedValues;
67
69
  groupByColumn(dateType?: string): void;
68
70
  unGroupByColumn(): void;
69
71
  unGroupAll(): void;
@@ -12,9 +12,12 @@ import { TableFilterByColumnData, TableFilterByColumnDialogResult } from '../../
12
12
  import { OTableComponent } from '../../../o-table.component';
13
13
  import { OFilterColumn } from '../../header/table-columns-filter/columns/o-table-columns-filter-column.component';
14
14
  import type { OColumn } from '../../../column/o-column.class';
15
+ import { OTableFilterByColumnService } from './o-table-filter-by-column.service';
16
+ import { SelectionModel } from '@angular/cdk/collections';
15
17
  import * as i0 from "@angular/core";
16
18
  export declare class OTableFilterByColumnDataDialogComponent implements AfterViewInit {
17
19
  dialogRef: MatDialogRef<OTableFilterByColumnDataDialogComponent>;
20
+ private readonly filterService;
18
21
  acceptAction: TableFilterByColumnDialogResult;
19
22
  cancelAction: TableFilterByColumnDialogResult;
20
23
  clearAction: TableFilterByColumnDialogResult;
@@ -37,12 +40,14 @@ export declare class OTableFilterByColumnDataDialogComponent implements AfterVie
37
40
  filter: ElementRef;
38
41
  filterValueList: MatSelectionList;
39
42
  activeSortDirection: 'asc' | 'desc' | '';
40
- sourceData: any;
43
+ sourceData: 'current-page' | 'all-data';
41
44
  queryByFilterColumnSubscription: any;
42
45
  table: OTableComponent;
43
46
  showFilterValuesOption: boolean;
44
47
  queryMethodName: string;
45
- constructor(dialogRef: MatDialogRef<OTableFilterByColumnDataDialogComponent>, data: {
48
+ previousFilter: OColumnValueFilter;
49
+ selection: SelectionModel<TableFilterByColumnData>;
50
+ constructor(dialogRef: MatDialogRef<OTableFilterByColumnDataDialogComponent>, filterService: OTableFilterByColumnService, data: {
46
51
  column: OColumn;
47
52
  table: OTableComponent;
48
53
  });
@@ -54,13 +59,10 @@ export declare class OTableFilterByColumnDataDialogComponent implements AfterVie
54
59
  protected initializeDataList(filter?: OColumnValueFilter): void;
55
60
  protected initializeFilterEvent(): void;
56
61
  protected initializeCustomFilterValues(filter: OColumnValueFilter): void;
57
- get selectedValues(): TableFilterByColumnData[];
58
62
  areAllSelected(): boolean;
59
63
  isIndeterminate(): boolean;
60
64
  onSelect(event: MatSelectionListChange): void;
61
65
  onSelectAllChange(event: MatCheckboxChange): void;
62
- protected parseListData(filter: OColumnValueFilter): void;
63
- private addIntoColumnData;
64
66
  getColumnValuesFilter(): OColumnValueFilter;
65
67
  clearValues(): void;
66
68
  onClickSortValues(): void;
@@ -77,8 +79,9 @@ export declare class OTableFilterByColumnDataDialogComponent implements AfterVie
77
79
  protected getTypedValue(control: UntypedFormControl): any;
78
80
  onChangeDataSource(event: MatRadioChange): void;
79
81
  private getData;
82
+ isSelected(item: TableFilterByColumnData): boolean;
80
83
  queryByFilterColumn(attr: string): Observable<ServiceResponse> | Observable<any>;
81
- protected getColumnDataUsingRenderer(): any[];
84
+ compareOptions(): ((o1: TableFilterByColumnData, o2: TableFilterByColumnData) => boolean) | undefined;
82
85
  static ɵfac: i0.ɵɵFactoryDeclaration<OTableFilterByColumnDataDialogComponent, never>;
83
86
  static ɵcmp: i0.ɵɵComponentDeclaration<OTableFilterByColumnDataDialogComponent, "o-table-filter-by-column-data-dialog", never, {}, {}, never, never, false, never>;
84
87
  }
@@ -0,0 +1,12 @@
1
+ import { OColumnValueFilter } from '../../../../../types/table/o-column-value-filter.type';
2
+ import { TableFilterByColumnData } from '../../../../../types/table/o-table-filter-by-column-data.type';
3
+ import { OColumn } from '../../../column/o-column.class';
4
+ import * as i0 from "@angular/core";
5
+ export declare class OTableFilterByColumnService {
6
+ 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;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<OTableFilterByColumnService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<OTableFilterByColumnService>;
12
+ }
@@ -28,7 +28,7 @@ export declare class OTableColumnsFilterComponent implements OnInit, AfterConten
28
28
  getSortValueOfFilterColumn(attr: string): string;
29
29
  getStartViewValueOfFilterColumn(attr: string): string;
30
30
  getQueryMethodOfFilterColumn(attr: string): string;
31
- getFilterValuesInData(attr: string): string;
31
+ getFilterValuesInData(attr: string): 'current-page' | 'all-data';
32
32
  getColumnComparisonValue(column: OColumn, val: any): any;
33
33
  set columns(arg: string);
34
34
  set columnsArray(arg: OFilterColumn[]);
@@ -120,4 +120,6 @@ export declare abstract class OTableBase {
120
120
  abstract setSelectedByKeys(keyValues: Array<any>): void;
121
121
  abstract setSelectedByMultipleKeys(keyValues: Array<Object>): void;
122
122
  abstract setSelectedByRowIds(rowIds: Array<number>): void;
123
+ abstract getSourceDataByFilterColumn(column: OColumn): 'current-page' | 'all-data';
124
+ abstract getValue(): any[];
123
125
  }
@@ -1,7 +1,7 @@
1
1
  import { SelectionModel } from '@angular/cdk/collections';
2
2
  import { DomPortalOutlet } from '@angular/cdk/portal';
3
3
  import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
4
- import { AfterContentInit, AfterViewInit, ApplicationRef, ElementRef, EventEmitter, Injector, OnDestroy, OnInit, QueryList, SimpleChange, ViewContainerRef } from '@angular/core';
4
+ import { AfterContentInit, AfterViewChecked, AfterViewInit, ApplicationRef, ElementRef, EventEmitter, Injector, OnDestroy, OnInit, QueryList, SimpleChange, ViewContainerRef } from '@angular/core';
5
5
  import { MatCheckboxChange } from '@angular/material/checkbox';
6
6
  import { MatDialog } from '@angular/material/dialog';
7
7
  import { MatMenu } from '@angular/material/menu';
@@ -52,11 +52,12 @@ import type { OTableMenu } from '../../interfaces/o-table-menu.interface';
52
52
  import type { OTableOptions } from '../../interfaces/o-table-options.interface';
53
53
  import type { OTablePaginator } from '../../interfaces/o-table-paginator.interface';
54
54
  import type { OTableQuickfilter } from '../../interfaces/o-table-quickfilter.interface';
55
+ import { MatRow } from '@angular/material/table';
55
56
  import * as i0 from "@angular/core";
56
57
  export declare const DEFAULT_INPUTS_O_TABLE: string[];
57
58
  export declare const DEFAULT_OUTPUTS_O_TABLE: string[];
58
59
  type DisableSelectionFunction = (item: any) => boolean;
59
- export declare class OTableComponent extends AbstractOServiceComponent<OTableComponentStateService> implements OnInit, OnDestroy, AfterViewInit, AfterContentInit {
60
+ export declare class OTableComponent extends AbstractOServiceComponent<OTableComponentStateService> implements OnInit, OnDestroy, AfterViewChecked, AfterViewInit, AfterContentInit {
60
61
  injector: Injector;
61
62
  protected dialog: MatDialog;
62
63
  private readonly _viewContainerRef;
@@ -87,6 +88,8 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
87
88
  }>;
88
89
  protected clickSubjectSubscription: Subscription;
89
90
  protected dbClickSubjectSubscription: Subscription;
91
+ protected rowChangeSubscription: Subscription;
92
+ refreshExpandableRowState: boolean;
90
93
  set oMatSort(_sort: OMatSort);
91
94
  virtualScrollViewport: CdkVirtualScrollViewport;
92
95
  oTableGlobalConfig: OTableGlobalConfig;
@@ -214,6 +217,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
214
217
  protected tableBodyEl: ElementRef;
215
218
  tableHeaderEl: ElementRef;
216
219
  tableToolbarEl: ElementRef;
220
+ rows: QueryList<MatRow>;
217
221
  horizontalScrolled: boolean;
218
222
  onUpdateScrolledState: EventEmitter<any>;
219
223
  rowWidth: any;
@@ -245,6 +249,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
245
249
  ngOnInit(): void;
246
250
  ngAfterViewInit(): void;
247
251
  ngAfterContentInit(): void;
252
+ handleTableDataChange(): void;
248
253
  setCustomDefinitionInSelectColumn(definition: OTableColumnSelectAllDirective): void;
249
254
  ngAfterViewChecked(): void;
250
255
  ngOnChanges(changes: {
@@ -294,6 +299,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
294
299
  getExpandedRowContainerClass(rowIndex: number): string;
295
300
  getExpandableItems(): any[];
296
301
  toggleRowExpandable(item: any, event?: Event): void;
302
+ saveRowExpandState(added: any[], removed: any[]): void;
297
303
  destroyAllPortalHosts(): void;
298
304
  toggleRowExpandableByRowIndex(rowIndex: number, event?: Event): void;
299
305
  private emitTableRowExpandableChangeEvent;
@@ -314,6 +320,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
314
320
  protected canSetStaticData(staticData: any): boolean;
315
321
  showDialogError(error: string, errorOptional?: string): void;
316
322
  projectContentChanged(): void;
323
+ restoreExpandableRowState(): void;
317
324
  getAttributesValuesToQuery(): Array<string>;
318
325
  getQueryArguments(filter: object, ovrrArgs?: OQueryDataArgs): Array<any>;
319
326
  getSqlTypesForFilter(filter: any): object;
@@ -326,6 +333,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
326
333
  showAndSelectAllCheckbox(): void;
327
334
  reloadPaginatedDataFromStart(clearSelectedItems?: boolean): void;
328
335
  reloadData(clearSelectedItems?: boolean): void;
336
+ reloadDataWithClearExpandableRows(clearSelectedItems?: boolean, clearExpandableItems?: boolean): void;
329
337
  handleClick(row: any, column: OColumn, rowIndex: number, cellRef: ElementRef, event: MouseEvent): void;
330
338
  doHandleClick(row: any, column: string, rowIndex: number, $event: MouseEvent): void;
331
339
  handleMultipleSelection(item: any): void;
@@ -477,6 +485,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
477
485
  isDisableCheckbox(item: any): boolean;
478
486
  getService(): any;
479
487
  getSnackService(): SnackBarService;
488
+ getSourceDataByFilterColumn(column: OColumn): 'current-page' | 'all-data';
480
489
  static ɵfac: i0.ɵɵFactoryDeclaration<OTableComponent, [null, null, null, null, null, { optional: true; }, { optional: true; }]>;
481
490
  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>;
482
491
  }
@@ -1,6 +1,6 @@
1
1
  import { ViewContainerRef } from '@angular/core';
2
2
  import { AsyncValidatorFn, ValidatorFn } from '@angular/forms';
3
- import { OTableComponent } from '../components/table/o-table.component';
3
+ import type { OTableComponent } from '../components/table/o-table.component';
4
4
  import { Expression } from '../types/expression.type';
5
5
  import { ErrorData } from '../types/error-data.type';
6
6
  export interface OTableColumn {
@@ -8,6 +8,7 @@ import { OTableConfiguration } from '../../types/table/o-table-configuration.typ
8
8
  import { OTableFiltersStatus, OTableStoredFilter } from '../../types/table/o-table-filter-status.type';
9
9
  import { OFilterBuilderValues } from '../../types/o-filter-builder-values.type';
10
10
  import { OGroupedColumnTypes } from '../../types';
11
+ import { OTableExpandableRowState } from '../../types/table/o-table-expandable-row-state.type';
11
12
  export declare class OTableComponentStateClass extends DefaultServiceComponentStateClass {
12
13
  protected 'sort-columns': string;
13
14
  protected 'oColumns-display': OColumnDisplay[];
@@ -49,6 +50,8 @@ export declare class OTableComponentStateClass extends DefaultServiceComponentSt
49
50
  get columnValueFilters(): OColumnValueFilter[];
50
51
  set columnValueFilters(value: OColumnValueFilter[]);
51
52
  get storedFilters(): OTableFiltersStatus[];
53
+ set expandableRows(value: OTableExpandableRowState[]);
54
+ get expandableRows(): OTableExpandableRowState[];
52
55
  addStoredFilter(filter: OTableFiltersStatus): void;
53
56
  deleteStoredFilter(filterName: string): void;
54
57
  getStoredFilter(filterName: string): OTableStoredFilter;
@@ -10,3 +10,4 @@ export * from './o-table-initialization-options.type';
10
10
  export * from './o-table-menu-permissions.type';
11
11
  export * from './o-table-permissions.type';
12
12
  export * from './o-table-global-config.type';
13
+ export * from './o-table-expandable-row-state.type';
@@ -1,3 +1,4 @@
1
+ import { Expression } from "../expression.type";
1
2
  export declare enum ColumnValueFilterOperator {
2
3
  IN = 0,
3
4
  LESS_EQUAL = 1,
@@ -10,4 +11,6 @@ export type OColumnValueFilter = {
10
11
  operator: ColumnValueFilterOperator;
11
12
  values: any;
12
13
  availableValues: any[];
14
+ filterValuesInData: 'current-page' | 'all-data';
15
+ filterExpresion: Expression;
13
16
  };
@@ -0,0 +1,5 @@
1
+ export type OTableExpandableRowState = {
2
+ keys: {
3
+ [k: string]: any;
4
+ };
5
+ };
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.5.4",
4
+ "version": "15.5.6",
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.",