@@ -4,27 +4,32 @@ import {
4
4
EventEmitter
5
5
} from '@angular/core' ;
6
6
7
+ import { IgxOverlayOutletDirective } from '../directives/toggle/toggle.directive' ;
8
+
7
9
import { ISortingExpression } from '../data-operations/sorting-expression.interface' ;
8
10
import { IFilteringExpressionsTree } from '../data-operations/filtering-expressions-tree' ;
11
+ import { IFilteringOperation } from '../data-operations/filtering-condition' ;
9
12
10
13
import { IgxGridCellComponent } from './cell.component' ;
11
14
import { IgxColumnComponent } from './column.component' ;
12
15
import { IgxGridHeaderComponent } from './grid-header.component' ;
13
- import { IgxGridRowComponent } from '../grid/ row.component' ;
16
+ import { IgxRowBaseComponent } from './ row-base .component' ;
14
17
15
18
import { IgxBaseExporter , IgxExporterOptionsBase } from '../services/index' ;
16
19
import { IgxForOfDirective } from '../directives/for-of/for_of.directive' ;
17
20
18
21
import { DisplayDensity } from '../core/utils' ;
19
22
import { IgxSelectionAPIService } from '../core/selection' ;
20
23
24
+ import { IColumnVisibilityChangedEventArgs } from './column-hiding/column-hiding-item.directive' ;
25
+
21
26
export interface IGridCellEventArgs {
22
27
cell : IgxGridCellComponent ;
23
28
event : Event ;
24
29
}
25
30
26
31
export interface IGridEditEventArgs {
27
- row : IgxGridRowComponent ;
32
+ row : IgxRowBaseComponent < IGridComponent > ;
28
33
cell : IgxGridCellComponent ;
29
34
currentValue : any ;
30
35
newValue : any ;
@@ -53,7 +58,7 @@ export interface IColumnResizeEventArgs {
53
58
export interface IRowSelectionEventArgs {
54
59
oldSelection : any [ ] ;
55
60
newSelection : any [ ] ;
56
- row ?: IgxGridRowComponent ;
61
+ row ?: IgxRowBaseComponent < IGridComponent > ;
57
62
event ?: Event ;
58
63
}
59
64
@@ -88,15 +93,44 @@ export interface IColumnMovingEndEventArgs {
88
93
cancel : boolean ;
89
94
}
90
95
91
- export interface IGridComponent {
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 IVirtualizedComponent {
111
+ verticalScrollContainer : IgxForOfDirective < any > ;
112
+ parentVirtDir : IgxForOfDirective < any > ;
113
+ headerContainer : IgxForOfDirective < any > ;
114
+ }
115
+
116
+ export interface IFilterableComponent {
117
+ onFilteringDone : EventEmitter < IFilteringExpressionsTree > ;
118
+
119
+ clearFilter ( name ?: string ) ;
120
+ filter ( name : string , value : any , conditionOrExpressionTree ?: IFilteringOperation | IFilteringExpressionsTree , ignoreCase ?: boolean ) ;
121
+ }
122
+
123
+ export interface IGridComponent extends IToolbarComponent ,
124
+ IVirtualizedComponent ,
125
+ IFilterableComponent {
92
126
id : string ;
93
127
columns : IgxColumnComponent [ ] ;
94
128
data : any [ ] ;
95
129
filteredData : any [ ] ;
96
130
filteredSortedData : any [ ] ;
97
131
primaryKey : string ;
98
132
rowList : QueryList < any > ;
99
- dataRowList : QueryList < IgxGridRowComponent > ;
133
+ dataRowList : QueryList < IgxRowBaseComponent < IGridComponent > > ;
100
134
cdr : ChangeDetectorRef ;
101
135
sortingExpressions : ISortingExpression [ ] ;
102
136
nativeElement : any ;
@@ -114,6 +148,7 @@ export interface IGridComponent {
114
148
hasMovableColumns : boolean ;
115
149
pinnedColumns : IgxColumnComponent [ ] ;
116
150
unpinnedColumns : IgxColumnComponent [ ] ;
151
+ pinnedColumnsText : string ;
117
152
visibleColumns : IgxColumnComponent [ ] ;
118
153
headerList : QueryList < IgxGridHeaderComponent > ;
119
154
draggedColumn : IgxColumnComponent ;
@@ -122,16 +157,20 @@ export interface IGridComponent {
122
157
evenRowCSS : string ;
123
158
oddRowCSS : string ;
124
159
displayDensity : DisplayDensity | string ;
125
- rowHeight : number ;
126
- defaultRowHeight : number ;
160
+ outletDirective : IgxOverlayOutletDirective ;
161
+ hiddenColumnsCount : number ;
162
+ hiddenColumnsText : string ;
163
+ columnHiding : boolean ;
164
+ columnPinning : boolean ;
165
+
127
166
rowSelectable : boolean ;
128
167
allRowsSelected : boolean ;
129
- verticalScrollContainer : IgxForOfDirective < any > ;
130
- parentVirtDir : IgxForOfDirective < any > ;
131
168
selectionAPI : IgxSelectionAPIService ;
132
169
unpinnedWidth : number ;
133
-
170
+ calcHeight : number ;
134
171
calcPinnedContainerMaxWidth : number ;
172
+ rowHeight : number ;
173
+ defaultRowHeight : number ;
135
174
136
175
// Events
137
176
onEditDone : EventEmitter < IGridEditEventArgs > ;
@@ -145,9 +184,12 @@ export interface IGridComponent {
145
184
markForCheck ( ) ;
146
185
deselectRows ( rowIDs : any [ ] ) ;
147
186
selectRows ( rowIDs : any [ ] , clearCurrentSelection ?: boolean ) ;
148
- triggerRowSelectionChange ( newSelectionAsSet : Set < any > , row ?: IgxGridRowComponent , event ?: Event , headerStatus ?: boolean ) ;
187
+ triggerRowSelectionChange ( newSelectionAsSet : Set < any > ,
188
+ row ?: IgxRowBaseComponent < IGridComponent > , event ?: Event , headerStatus ?: boolean ) ;
149
189
getPinnedWidth ( takeHidden ?: boolean ) ;
150
190
moveColumn ( column : IgxColumnComponent , dropTarget : IgxColumnComponent ) ;
151
191
getCellByKey ( rowSelector : any , columnField : string ) ;
152
192
trackColumnChanges ( index , col ) ;
193
+ checkHeaderCheckboxStatus ( headerStatus ?: boolean ) ;
194
+ toggleColumnVisibility ( args : IColumnVisibilityChangedEventArgs ) ;
153
195
}
0 commit comments