Skip to content

Commit 4f7ff9b

Browse files
committed
refactor(grid): expand the grid interface
1 parent 3373fa8 commit 4f7ff9b

File tree

2 files changed

+63
-51
lines changed

2 files changed

+63
-51
lines changed

projects/igniteui-angular/src/lib/grid-common/empty-mockgrid.ts

+31-14
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,17 @@ import {
2727
IColumnMovingStartEventArgs,
2828
IColumnMovingEventArgs,
2929
IColumnMovingEndEventArgs,
30-
IGridToolbarExportEventArgs
30+
IGridToolbarExportEventArgs,
31+
IRowSelectionEventArgs,
32+
IPinColumnEventArgs,
33+
IColumnResizeEventArgs,
34+
IGridCellEventArgs,
35+
IPageEventArgs
3136
} from './grid-interfaces';
3237

3338
export class EmptyMockGrid implements IGridComponent {
39+
id: string; nativeElement: any;
40+
cdr: ChangeDetectorRef;
3441
columns: IgxColumnComponent[];
3542
data: any[];
3643
filteredSortedData: any[];
@@ -63,6 +70,7 @@ export class EmptyMockGrid implements IGridComponent {
6370
hiddenColumnsText: string;
6471
columnHiding: boolean;
6572
columnPinning: boolean;
73+
filteredData: any[];
6674
rowSelectable: boolean;
6775
allRowsSelected: boolean;
6876
selectionAPI: IgxSelectionAPIService;
@@ -71,14 +79,9 @@ export class EmptyMockGrid implements IGridComponent {
7179
calcPinnedContainerMaxWidth: number;
7280
rowHeight: number;
7381
defaultRowHeight: number;
74-
onEditDone: EventEmitter<IGridEditEventArgs>;
75-
onRowDeleted: EventEmitter<IRowDataEventArgs>;
76-
onColumnMovingStart: EventEmitter<IColumnMovingStartEventArgs>;
77-
onColumnMoving: EventEmitter<IColumnMovingEventArgs>;
78-
onColumnMovingEnd: EventEmitter<IColumnMovingEndEventArgs>;
79-
id = 'mock-grid';
80-
nativeElement: any;
81-
cdr: ChangeDetectorRef;
82+
verticalScrollContainer: IgxForOfDirective<any>;
83+
parentVirtDir: IgxForOfDirective<any>;
84+
headerContainer: IgxForOfDirective<any>;
8285
exportExcel: boolean;
8386
exportCsv: boolean;
8487
toolbarTitle: string;
@@ -87,12 +90,26 @@ export class EmptyMockGrid implements IGridComponent {
8790
exportCsvText: string;
8891
columnHidingTitle: string;
8992
columnPinningTitle: string;
90-
onToolbarExporting: EventEmitter<IGridToolbarExportEventArgs>;
91-
verticalScrollContainer: IgxForOfDirective<any>;
92-
parentVirtDir: IgxForOfDirective<any>;
93-
headerContainer: IgxForOfDirective<any>;
94-
filteredData: any[];
93+
onCellClick: EventEmitter<IGridCellEventArgs>;
94+
onSelection: EventEmitter<IGridCellEventArgs>;
95+
onRowSelectionChange: EventEmitter<IRowSelectionEventArgs>;
96+
onColumnPinning: EventEmitter<IPinColumnEventArgs>;
97+
onEditDone: EventEmitter<IGridEditEventArgs>;
98+
onColumnInit: EventEmitter<IgxColumnComponent>;
99+
onSortingDone: EventEmitter<ISortingExpression>;
95100
onFilteringDone: EventEmitter<IFilteringExpressionsTree>;
101+
onPagingDone: EventEmitter<IPageEventArgs>;
102+
onRowAdded: EventEmitter<IRowDataEventArgs>;
103+
onRowDeleted: EventEmitter<IRowDataEventArgs>;
104+
onDataPreLoad: EventEmitter<any>;
105+
onColumnResized: EventEmitter<IColumnResizeEventArgs>;
106+
onContextMenu: EventEmitter<IGridCellEventArgs>;
107+
onDoubleClick: EventEmitter<IGridCellEventArgs>;
108+
onColumnVisibilityChanged: EventEmitter<IColumnVisibilityChangedEventArgs>;
109+
onColumnMovingStart: EventEmitter<IColumnMovingStartEventArgs>;
110+
onColumnMoving: EventEmitter<IColumnMovingEventArgs>;
111+
onColumnMovingEnd: EventEmitter<IColumnMovingEndEventArgs>;
112+
onToolbarExporting: EventEmitter<IGridToolbarExportEventArgs>;
96113
reflow() {
97114
throw new Error('Method not implemented.');
98115
}

projects/igniteui-angular/src/lib/grid-common/grid-interfaces.ts

+32-37
Original file line numberDiff line numberDiff line change
@@ -93,45 +93,10 @@ export interface IColumnMovingEndEventArgs {
9393
cancel: boolean;
9494
}
9595

96-
export interface IToolbarComponent {
97-
exportExcel: boolean;
98-
exportCsv: boolean;
99-
toolbarTitle: string;
100-
exportText: string;
101-
exportExcelText: string;
102-
exportCsvText: string;
103-
columnHidingTitle: string;
104-
columnPinningTitle: string;
105-
106-
107-
onToolbarExporting: EventEmitter<IGridToolbarExportEventArgs>;
108-
}
109-
110-
export interface IComponent {
96+
export interface IGridComponent {
11197
id: string;
11298
nativeElement: any;
11399
cdr: ChangeDetectorRef;
114-
}
115-
116-
export interface IVirtualizedComponent {
117-
verticalScrollContainer: IgxForOfDirective<any>;
118-
parentVirtDir: IgxForOfDirective<any>;
119-
headerContainer: IgxForOfDirective<any>;
120-
}
121-
122-
export interface IFilterableComponent {
123-
filteredData: any[];
124-
125-
onFilteringDone: EventEmitter<IFilteringExpressionsTree>;
126-
127-
clearFilter(name?: string);
128-
filter(name: string, value: any, conditionOrExpressionTree?: IFilteringOperation | IFilteringExpressionsTree, ignoreCase?: boolean);
129-
}
130-
131-
export interface IGridComponent extends IComponent,
132-
IToolbarComponent,
133-
IVirtualizedComponent,
134-
IFilterableComponent {
135100
columns: IgxColumnComponent[];
136101
data: any[];
137102
filteredSortedData: any[];
@@ -167,7 +132,7 @@ export interface IGridComponent extends IComponent,
167132
hiddenColumnsText: string;
168133
columnHiding: boolean;
169134
columnPinning: boolean;
170-
135+
filteredData: any[];
171136
rowSelectable: boolean;
172137
allRowsSelected: boolean;
173138
selectionAPI: IgxSelectionAPIService;
@@ -176,13 +141,41 @@ export interface IGridComponent extends IComponent,
176141
calcPinnedContainerMaxWidth: number;
177142
rowHeight: number;
178143
defaultRowHeight: number;
144+
verticalScrollContainer: IgxForOfDirective<any>;
145+
parentVirtDir: IgxForOfDirective<any>;
146+
headerContainer: IgxForOfDirective<any>;
147+
exportExcel: boolean;
148+
exportCsv: boolean;
149+
toolbarTitle: string;
150+
exportText: string;
151+
exportExcelText: string;
152+
exportCsvText: string;
153+
columnHidingTitle: string;
154+
columnPinningTitle: string;
179155

180156
// Events
157+
onCellClick: EventEmitter<IGridCellEventArgs>;
158+
onSelection: EventEmitter<IGridCellEventArgs>;
159+
onRowSelectionChange: EventEmitter<IRowSelectionEventArgs>;
160+
onColumnPinning: EventEmitter<IPinColumnEventArgs>;
181161
onEditDone: EventEmitter<IGridEditEventArgs>;
162+
onColumnInit: EventEmitter<IgxColumnComponent>;
163+
onSortingDone: EventEmitter<ISortingExpression>;
164+
onFilteringDone: EventEmitter<IFilteringExpressionsTree>;
165+
onPagingDone: EventEmitter<IPageEventArgs>;
166+
onRowAdded: EventEmitter<IRowDataEventArgs>;
182167
onRowDeleted: EventEmitter<IRowDataEventArgs>;
168+
onDataPreLoad: EventEmitter<any>;
169+
onColumnResized: EventEmitter<IColumnResizeEventArgs>;
170+
onContextMenu: EventEmitter<IGridCellEventArgs>;
171+
onDoubleClick: EventEmitter<IGridCellEventArgs>;
172+
onColumnVisibilityChanged: EventEmitter<IColumnVisibilityChangedEventArgs>;
183173
onColumnMovingStart: EventEmitter<IColumnMovingStartEventArgs>;
184174
onColumnMoving: EventEmitter<IColumnMovingEventArgs>;
185175
onColumnMovingEnd: EventEmitter<IColumnMovingEndEventArgs>;
176+
// TODO check densitiyChanged.
177+
// onDensityChanged: EventEmitter<any>;
178+
onToolbarExporting: EventEmitter<IGridToolbarExportEventArgs>;
186179

187180
// Methods
188181
reflow();
@@ -197,4 +190,6 @@ export interface IGridComponent extends IComponent,
197190
trackColumnChanges(index, col);
198191
checkHeaderCheckboxStatus(headerStatus?: boolean);
199192
toggleColumnVisibility(args: IColumnVisibilityChangedEventArgs);
193+
clearFilter(name?: string);
194+
filter(name: string, value: any, conditionOrExpressionTree?: IFilteringOperation | IFilteringExpressionsTree, ignoreCase?: boolean);
200195
}

0 commit comments

Comments
 (0)