bways-grid 0.0.5 → 0.0.7

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.
@@ -11,8 +11,9 @@ export declare class CellComponent {
11
11
  groupToggleClicked: EventEmitter<void>;
12
12
  get isGroup(): boolean;
13
13
  get isGroupFooter(): boolean;
14
+ get isAutoGroupColumn(): boolean;
14
15
  get value(): any;
15
- get formattedFooterValue(): string;
16
+ get formattedValue(): string;
16
17
  onCheckboxClick(event: MouseEvent): void;
17
18
  onGroupToggleClick(event: MouseEvent): void;
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<CellComponent, never>;
@@ -6,17 +6,23 @@ export declare class ColumnToolPanelComponent implements OnChanges {
6
6
  columns: UltraGridColumn[];
7
7
  groupModel: string[];
8
8
  valuesModel: ValueColumnModel[];
9
+ pivotMode: boolean;
10
+ pivotColumns: string[];
9
11
  columnsUpdated: EventEmitter<UltraGridColumn[]>;
10
12
  groupModelChanged: EventEmitter<string[]>;
11
13
  valuesModelChanged: EventEmitter<ValueColumnModel[]>;
12
- exportCsvClicked: EventEmitter<void>;
14
+ pivotModeChanged: EventEmitter<boolean>;
15
+ pivotModelChanged: EventEmitter<string[]>;
16
+ exportExcelClicked: EventEmitter<void>;
13
17
  displayColumns: UltraGridColumn[];
14
18
  groupColumns: UltraGridColumn[];
15
19
  valueColumns: ValueColumnModel[];
20
+ pivotColumnsInternal: UltraGridColumn[];
16
21
  searchQuery: string;
17
- pivotMode: boolean;
18
22
  openDropdownField: string | null;
19
23
  ngOnChanges(changes: SimpleChanges): void;
24
+ onPivotModeToggle(enabled: boolean): void;
25
+ private rebuildPivotColumns;
20
26
  private rebuildGroupColumns;
21
27
  getColumnHeader(field: string): string;
22
28
  applySearch(): void;
@@ -30,7 +36,10 @@ export declare class ColumnToolPanelComponent implements OnChanges {
30
36
  removeValue(field: string): void;
31
37
  toggleAggDropdown(field: string): void;
32
38
  setAggFunc(vCol: ValueColumnModel, func: 'sum' | 'min' | 'max' | 'count' | 'avg'): void;
39
+ onPivotDrop(event: CdkDragDrop<UltraGridColumn[]>): void;
40
+ removePivot(col: UltraGridColumn): void;
41
+ private emitPivotChange;
33
42
  private emitValuesChange;
34
43
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnToolPanelComponent, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<ColumnToolPanelComponent, "ug-column-tool-panel", never, { "columns": { "alias": "columns"; "required": false; }; "groupModel": { "alias": "groupModel"; "required": false; }; "valuesModel": { "alias": "valuesModel"; "required": false; }; }, { "columnsUpdated": "columnsUpdated"; "groupModelChanged": "groupModelChanged"; "valuesModelChanged": "valuesModelChanged"; "exportCsvClicked": "exportCsvClicked"; }, never, never, true, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColumnToolPanelComponent, "ug-column-tool-panel", never, { "columns": { "alias": "columns"; "required": false; }; "groupModel": { "alias": "groupModel"; "required": false; }; "valuesModel": { "alias": "valuesModel"; "required": false; }; "pivotMode": { "alias": "pivotMode"; "required": false; }; "pivotColumns": { "alias": "pivotColumns"; "required": false; }; }, { "columnsUpdated": "columnsUpdated"; "groupModelChanged": "groupModelChanged"; "valuesModelChanged": "valuesModelChanged"; "pivotModeChanged": "pivotModeChanged"; "pivotModelChanged": "pivotModelChanged"; "exportExcelClicked": "exportExcelClicked"; }, never, never, true, never>;
36
45
  }
@@ -20,6 +20,7 @@ interface FilterSection {
20
20
  cond2Type: FilterConditionType;
21
21
  cond2Value: string;
22
22
  cond2ValueTo: string;
23
+ cond1ValueTo: string;
23
24
  hasConditionFilter: boolean;
24
25
  }
25
26
  export declare class FilterToolPanelComponent implements OnChanges {
@@ -27,6 +28,7 @@ export declare class FilterToolPanelComponent implements OnChanges {
27
28
  columns: UltraGridColumn[];
28
29
  rowData: any[];
29
30
  activeFilters: Map<string, Set<any>>;
31
+ conditionFilters: Map<string, ColumnConditionFilter>;
30
32
  filterApplied: EventEmitter<{
31
33
  field: string;
32
34
  selected: Set<any>;
@@ -36,6 +38,8 @@ export declare class FilterToolPanelComponent implements OnChanges {
36
38
  filter: ColumnConditionFilter | null;
37
39
  }>;
38
40
  clearAllFilters: EventEmitter<void>;
41
+ saveFiltersRequested: EventEmitter<void>;
42
+ filtersImported: EventEmitter<any>;
39
43
  sections: FilterSection[];
40
44
  private _loadedFields;
41
45
  constructor(cdr: ChangeDetectorRef);
@@ -45,6 +49,7 @@ export declare class FilterToolPanelComponent implements OnChanges {
45
49
  private detectNumericColumn;
46
50
  private ensureSectionLoaded;
47
51
  private syncActiveFilters;
52
+ private syncConditionFilters;
48
53
  onConditionChanged(section: FilterSection): void;
49
54
  toggleSection(section: FilterSection): void;
50
55
  expandAll(): void;
@@ -57,7 +62,8 @@ export declare class FilterToolPanelComponent implements OnChanges {
57
62
  private emitFilter;
58
63
  onClearAll(): void;
59
64
  trackByField(index: number, section: FilterSection): string;
65
+ onFileSelected(event: any): void;
60
66
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterToolPanelComponent, never>;
61
- static ɵcmp: i0.ɵɵComponentDeclaration<FilterToolPanelComponent, "ug-filter-tool-panel", never, { "columns": { "alias": "columns"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "activeFilters": { "alias": "activeFilters"; "required": false; }; }, { "filterApplied": "filterApplied"; "conditionFilterChanged": "conditionFilterChanged"; "clearAllFilters": "clearAllFilters"; }, never, never, true, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterToolPanelComponent, "ug-filter-tool-panel", never, { "columns": { "alias": "columns"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "activeFilters": { "alias": "activeFilters"; "required": false; }; "conditionFilters": { "alias": "conditionFilters"; "required": false; }; }, { "filterApplied": "filterApplied"; "conditionFilterChanged": "conditionFilterChanged"; "clearAllFilters": "clearAllFilters"; "saveFiltersRequested": "saveFiltersRequested"; "filtersImported": "filtersImported"; }, never, never, true, never>;
62
68
  }
63
69
  export {};
@@ -6,12 +6,17 @@ export declare class SideBarComponent {
6
6
  columns: UltraGridColumn[];
7
7
  rowData: any[];
8
8
  activeFilters: Map<string, Set<any>>;
9
+ conditionFilters: Map<string, ColumnConditionFilter>;
9
10
  groupModel: string[];
10
11
  valuesModel: ValueColumnModel[];
12
+ pivotMode: boolean;
13
+ pivotColumns: string[];
11
14
  columnsUpdated: EventEmitter<UltraGridColumn[]>;
12
15
  groupModelUpdated: EventEmitter<string[]>;
13
16
  valuesModelUpdated: EventEmitter<ValueColumnModel[]>;
14
- exportCsvClicked: EventEmitter<void>;
17
+ pivotModeUpdated: EventEmitter<boolean>;
18
+ pivotModelUpdated: EventEmitter<string[]>;
19
+ exportExcelClicked: EventEmitter<void>;
15
20
  filterApplied: EventEmitter<{
16
21
  field: string;
17
22
  selected: Set<any>;
@@ -21,12 +26,15 @@ export declare class SideBarComponent {
21
26
  filter: ColumnConditionFilter | null;
22
27
  }>;
23
28
  clearAllFilters: EventEmitter<void>;
29
+ saveFiltersRequested: EventEmitter<void>;
30
+ filtersImported: EventEmitter<any>;
24
31
  activeTab: 'columns' | 'filters' | null;
32
+ private cdr;
25
33
  toggleTab(tab: 'columns' | 'filters'): void;
26
34
  closePanel(): void;
27
35
  onColumnsChanged(updatedCols: UltraGridColumn[]): void;
28
36
  onGroupModelChanged(model: string[]): void;
29
- onExportCsvClicked(): void;
37
+ onExportExcelClicked(): void;
30
38
  onFilterApplied(event: {
31
39
  field: string;
32
40
  selected: Set<any>;
@@ -37,6 +45,8 @@ export declare class SideBarComponent {
37
45
  filter: ColumnConditionFilter | null;
38
46
  }): void;
39
47
  onValuesModelChanged(model: ValueColumnModel[]): void;
48
+ onPivotModeChanged(enabled: boolean): void;
49
+ onPivotModelChanged(model: string[]): void;
40
50
  static ɵfac: i0.ɵɵFactoryDeclaration<SideBarComponent, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<SideBarComponent, "ug-side-bar", never, { "columns": { "alias": "columns"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "activeFilters": { "alias": "activeFilters"; "required": false; }; "groupModel": { "alias": "groupModel"; "required": false; }; "valuesModel": { "alias": "valuesModel"; "required": false; }; }, { "columnsUpdated": "columnsUpdated"; "groupModelUpdated": "groupModelUpdated"; "valuesModelUpdated": "valuesModelUpdated"; "exportCsvClicked": "exportCsvClicked"; "filterApplied": "filterApplied"; "conditionFilterChanged": "conditionFilterChanged"; "clearAllFilters": "clearAllFilters"; }, never, never, true, never>;
51
+ static ɵcmp: i0.ɵɵComponentDeclaration<SideBarComponent, "ug-side-bar", never, { "columns": { "alias": "columns"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "activeFilters": { "alias": "activeFilters"; "required": false; }; "conditionFilters": { "alias": "conditionFilters"; "required": false; }; "groupModel": { "alias": "groupModel"; "required": false; }; "valuesModel": { "alias": "valuesModel"; "required": false; }; "pivotMode": { "alias": "pivotMode"; "required": false; }; "pivotColumns": { "alias": "pivotColumns"; "required": false; }; }, { "columnsUpdated": "columnsUpdated"; "groupModelUpdated": "groupModelUpdated"; "valuesModelUpdated": "valuesModelUpdated"; "pivotModeUpdated": "pivotModeUpdated"; "pivotModelUpdated": "pivotModelUpdated"; "exportExcelClicked": "exportExcelClicked"; "filterApplied": "filterApplied"; "conditionFilterChanged": "conditionFilterChanged"; "clearAllFilters": "clearAllFilters"; "saveFiltersRequested": "saveFiltersRequested"; "filtersImported": "filtersImported"; }, never, never, true, never>;
42
52
  }
@@ -6,14 +6,14 @@ import { UltraGridConfig } from '../../models/grid-config.model';
6
6
  import { ServerDataSource } from '../../datasources/server-datasource.interface';
7
7
  import { InfiniteScrollDataSource } from '../../datasources/infinite-scroll.datasource';
8
8
  import { GridFlattenerService } from '../../core/grid-flattener.service';
9
- import { CsvExportService } from '../../services/csv-export.service';
10
- import { CsvExportOptions } from '../../models/csv-export.model';
9
+ import { ExcelExportService } from '../../services/excel-export.service';
10
+ import { ExcelExportOptions } from '../../workers/excel.worker';
11
11
  import * as i0 from "@angular/core";
12
12
  export declare class UltraGridComponent implements OnInit, OnDestroy, OnChanges {
13
13
  private cdr;
14
14
  private ngZone;
15
15
  private flattener;
16
- private csvExportService;
16
+ private excelExportService;
17
17
  private _workerInitialized;
18
18
  columns: UltraGridColumn[];
19
19
  rowData: any[];
@@ -34,7 +34,11 @@ export declare class UltraGridComponent implements OnInit, OnDestroy, OnChanges
34
34
  }[];
35
35
  groupModel: string[];
36
36
  valuesModel: ValueColumnModel[];
37
+ pivotColumns: string[];
37
38
  groupStateMap: Map<string, boolean>;
39
+ private _dynamicPivotColumns;
40
+ private _userColumns;
41
+ private _isRebuildingColumns;
38
42
  _internalDataSource?: InfiniteScrollDataSource<UltraGridRow>;
39
43
  _localTreeData: UltraGridNode[];
40
44
  _unpaginatedLocalData: UltraGridRow[];
@@ -72,7 +76,7 @@ export declare class UltraGridComponent implements OnInit, OnDestroy, OnChanges
72
76
  private hasHeaderCheckboxSelection;
73
77
  get rowHeight(): number;
74
78
  get showPagination(): boolean;
75
- constructor(platformId: Object, cdr: ChangeDetectorRef, ngZone: NgZone, flattener: GridFlattenerService, csvExportService: CsvExportService);
79
+ constructor(platformId: Object, cdr: ChangeDetectorRef, ngZone: NgZone, flattener: GridFlattenerService, excelExportService: ExcelExportService);
76
80
  ngOnInit(): void;
77
81
  get selectedRowsCount(): number;
78
82
  ngOnChanges(changes: SimpleChanges): void;
@@ -89,10 +93,9 @@ export declare class UltraGridComponent implements OnInit, OnDestroy, OnChanges
89
93
  private updatePaginationForLocalData;
90
94
  fetchServerPage(page: number): void;
91
95
  /**
92
- * Triggers a Web-Worker powered CSV export of the grid data.
93
- * @param options Configures whether to export all records or just visible records, as well as CSV formatting.
96
+ * Triggers a Web-Worker powered Excel export of the grid data.
94
97
  */
95
- exportCsv(options?: CsvExportOptions): Promise<void>;
98
+ exportExcel(options?: ExcelExportOptions): Promise<void>;
96
99
  onPageChanged(page: number): void;
97
100
  onSortChanged(event: {
98
101
  field: string;
@@ -101,7 +104,6 @@ export declare class UltraGridComponent implements OnInit, OnDestroy, OnChanges
101
104
  onColumnsReordered(cols: UltraGridColumn[]): void;
102
105
  onSideBarColumnsUpdated(cols: UltraGridColumn[]): void;
103
106
  onSideBarGroupModelUpdated(model: string[]): void;
104
- onValuesModelUpdated(model: ValueColumnModel[]): void;
105
107
  onColumnResized(event: {
106
108
  field: string;
107
109
  width: number;
@@ -150,6 +152,12 @@ export declare class UltraGridComponent implements OnInit, OnDestroy, OnChanges
150
152
  field: string;
151
153
  filter: ColumnConditionFilter | null;
152
154
  }): void;
155
+ private handlePivotColumns;
156
+ onValuesModelUpdated(model: ValueColumnModel[]): void;
157
+ onSideBarPivotModelUpdated(model: string[]): void;
158
+ onSideBarPivotModeUpdated(enabled: boolean): void;
159
+ handleSaveFilters(): void;
160
+ handleImportFilters(data: any): void;
153
161
  static ɵfac: i0.ɵɵFactoryDeclaration<UltraGridComponent, never>;
154
- static ɵcmp: i0.ɵɵComponentDeclaration<UltraGridComponent, "bways-grid", never, { "columns": { "alias": "columns"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "serverDataSource": { "alias": "serverDataSource"; "required": false; }; "config": { "alias": "config"; "required": false; }; "pagination": { "alias": "pagination"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; }, { "rowClicked": "rowClicked"; "sortChanged": "sortChanged"; }, never, never, true, never>;
162
+ static ɵcmp: i0.ɵɵComponentDeclaration<UltraGridComponent, "bways-grid", never, { "columns": { "alias": "columns"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "serverDataSource": { "alias": "serverDataSource"; "required": false; }; "config": { "alias": "config"; "required": false; }; "pagination": { "alias": "pagination"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "groupModel": { "alias": "groupModel"; "required": false; }; "valuesModel": { "alias": "valuesModel"; "required": false; }; "pivotColumns": { "alias": "pivotColumns"; "required": false; }; }, { "rowClicked": "rowClicked"; "sortChanged": "sortChanged"; }, never, never, true, never>;
155
163
  }
@@ -12,6 +12,8 @@ export interface UltraGridColumn {
12
12
  headerCheckboxSelection?: boolean;
13
13
  checkboxSelection?: boolean;
14
14
  aggFunc?: 'sum' | 'min' | 'max' | 'count' | 'avg';
15
+ pivot?: boolean;
16
+ enableRowGroup?: boolean;
15
17
  _leftOffset?: number;
16
18
  _rightOffset?: number;
17
19
  }
@@ -8,4 +8,9 @@ export interface UltraGridConfig {
8
8
  sideBar?: boolean;
9
9
  groupIncludeFooter?: boolean;
10
10
  statusBar?: boolean;
11
+ pivotMode?: boolean;
12
+ pivotColumns?: string[];
13
+ excelExportOptions?: {
14
+ customHeaders?: any[][];
15
+ };
11
16
  }
@@ -0,0 +1,9 @@
1
+ import { UltraGridColumn } from '../models/column.model';
2
+ import { ExcelExportOptions } from '../workers/excel.worker';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ExcelExportService {
5
+ exportDataAsExcel(options: ExcelExportOptions, columns: UltraGridColumn[], data: any[]): Promise<void>;
6
+ private downloadBlob;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExcelExportService, never>;
8
+ static ɵprov: i0.ɵɵInjectableDeclaration<ExcelExportService>;
9
+ }
@@ -0,0 +1,5 @@
1
+ export interface ExcelExportOptions {
2
+ fileName?: string;
3
+ includeHeaders?: boolean;
4
+ customHeaders?: any[][];
5
+ }