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.
- package/fesm2022/bways-grid.mjs +740 -165
- package/fesm2022/bways-grid.mjs.map +1 -1
- package/lib/components/cell/cell.component.d.ts +2 -1
- package/lib/components/column-tool-panel/column-tool-panel.component.d.ts +12 -3
- package/lib/components/filter-tool-panel/filter-tool-panel.component.d.ts +7 -1
- package/lib/components/side-bar/side-bar.component.d.ts +13 -3
- package/lib/components/ultra-grid/ultra-grid.component.d.ts +17 -9
- package/lib/models/column.model.d.ts +2 -0
- package/lib/models/grid-config.model.d.ts +5 -0
- package/lib/services/excel-export.service.d.ts +9 -0
- package/lib/workers/excel.worker.d.ts +5 -0
- package/lib/workers/generated/excel.worker.code.d.ts +1 -0
- package/lib/workers/generated/sorting.worker.code.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/workers/excel.worker.ts +103 -0
- package/src/lib/workers/generated/excel.worker.code.ts +106 -0
- package/src/lib/workers/generated/sorting.worker.code.ts +1 -1
- package/src/lib/workers/sorting.worker.ts +132 -29
- package/lib/models/csv-export.model.d.ts +0 -12
- package/lib/services/csv-export.service.d.ts +0 -11
- package/lib/workers/generated/export.worker.code.d.ts +0 -1
|
@@ -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
|
|
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
|
-
|
|
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"; "
|
|
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
|
-
|
|
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
|
-
|
|
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"; "
|
|
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 {
|
|
10
|
-
import {
|
|
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
|
|
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,
|
|
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
|
|
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
|
-
|
|
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
|
}
|
|
@@ -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
|
+
}
|