@progress/kendo-react-grid 10.2.0-develop.6 → 10.2.0-develop.8
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/GridClientContextReader.js +1 -1
- package/GridClientContextReader.mjs +14 -13
- package/GridClientWrapper.js +1 -1
- package/GridClientWrapper.mjs +160 -157
- package/GridComponent.js +1 -1
- package/GridComponent.mjs +387 -384
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/index.d.mts +643 -66
- package/index.d.ts +643 -66
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +13 -13
- package/utils/virtualColumns.js +8 -0
- package/utils/virtualColumns.mjs +32 -0
package/index.d.mts
CHANGED
|
@@ -318,23 +318,23 @@ export declare interface GridCellBaseOptions {
|
|
|
318
318
|
*/
|
|
319
319
|
export declare interface GridCellProps extends Omit<CellProps, 'onChange' | 'render'> {
|
|
320
320
|
/**
|
|
321
|
-
*
|
|
321
|
+
* The zero-based index of the data item in the data collection.
|
|
322
322
|
*/
|
|
323
323
|
dataIndex: number;
|
|
324
324
|
/**
|
|
325
|
-
* The index of the column in the rendered columns collection.
|
|
325
|
+
* The index of the column in the rendered columns collection. Optional.
|
|
326
326
|
*/
|
|
327
327
|
columnIndex?: number;
|
|
328
328
|
/**
|
|
329
|
-
* The number of rendered columns in the Grid.
|
|
329
|
+
* The total number of rendered columns in the Grid. Optional.
|
|
330
330
|
*/
|
|
331
331
|
columnsCount?: number;
|
|
332
332
|
/**
|
|
333
|
-
*
|
|
333
|
+
* Defines a set of custom cell components that the Grid will render instead of the default cell.
|
|
334
334
|
*/
|
|
335
335
|
cells?: GridCellsSettings;
|
|
336
336
|
/**
|
|
337
|
-
*
|
|
337
|
+
* Specifies the type of the row (e.g., data row, group header, etc.). Optional.
|
|
338
338
|
*/
|
|
339
339
|
rowType?: GridRowType;
|
|
340
340
|
/**
|
|
@@ -342,13 +342,13 @@ export declare interface GridCellProps extends Omit<CellProps, 'onChange' | 'ren
|
|
|
342
342
|
*/
|
|
343
343
|
level?: number;
|
|
344
344
|
/**
|
|
345
|
-
*
|
|
345
|
+
* Triggered when the cell is selected. Provides the event object.
|
|
346
346
|
*/
|
|
347
347
|
selectionChange?: (event: {
|
|
348
348
|
syntheticEvent: React.SyntheticEvent<any>;
|
|
349
349
|
}) => void;
|
|
350
350
|
/**
|
|
351
|
-
*
|
|
351
|
+
* Triggered when the cell value is changed. Provides details about the change event.
|
|
352
352
|
*/
|
|
353
353
|
onChange?: (event: {
|
|
354
354
|
dataItem: any;
|
|
@@ -362,11 +362,13 @@ export declare interface GridCellProps extends Omit<CellProps, 'onChange' | 'ren
|
|
|
362
362
|
_group?: GroupState;
|
|
363
363
|
}) => void;
|
|
364
364
|
/**
|
|
365
|
-
*
|
|
365
|
+
* Specifies the type of editor to be used when the cell is in edit mode.
|
|
366
|
+
* Supported values are `text`, `numeric`, `boolean`, and `date`.
|
|
366
367
|
*/
|
|
367
368
|
editor?: 'text' | 'numeric' | 'boolean' | 'date';
|
|
368
369
|
/**
|
|
369
|
-
* A function
|
|
370
|
+
* A function to override the default rendering of the cell.
|
|
371
|
+
* Accepts the default rendering and props as arguments and returns a React element.
|
|
370
372
|
*/
|
|
371
373
|
render?: (defaultRendering: React.ReactElement<HTMLTableCellElement> | null, props: GridCellProps) => React.ReactElement<HTMLTableCellElement> | null;
|
|
372
374
|
/**
|
|
@@ -374,7 +376,8 @@ export declare interface GridCellProps extends Omit<CellProps, 'onChange' | 'ren
|
|
|
374
376
|
*/
|
|
375
377
|
locked?: boolean | undefined;
|
|
376
378
|
/**
|
|
377
|
-
*
|
|
379
|
+
* Triggered when the ContextMenu is activated on the cell.
|
|
380
|
+
* Provides the event object, data item, and field name.
|
|
378
381
|
*/
|
|
379
382
|
onContextMenu?: (event: React.MouseEvent<HTMLElement>, dataItem: any, field?: string) => void;
|
|
380
383
|
/**
|
|
@@ -1012,6 +1015,10 @@ export declare interface GridColumnProps extends Omit<ColumnBaseProps, 'cell'> {
|
|
|
1012
1015
|
* Allows the column headers to be clicked and the `sortChange` event emitted.
|
|
1013
1016
|
* You have to handle the `sortChange` event yourself and sort the data.
|
|
1014
1017
|
*
|
|
1018
|
+
* @example
|
|
1019
|
+
* ```jsx
|
|
1020
|
+
* <GridColumn sortable={true} />
|
|
1021
|
+
* ```
|
|
1015
1022
|
* @default true
|
|
1016
1023
|
*/
|
|
1017
1024
|
sortable?: boolean | GridColumnSortSettings;
|
|
@@ -1019,94 +1026,177 @@ export declare interface GridColumnProps extends Omit<ColumnBaseProps, 'cell'> {
|
|
|
1019
1026
|
* Defines if the column is locked (frozen or sticky).
|
|
1020
1027
|
* Locked columns are the columns that are visible at all times while the user scrolls the component horizontally.
|
|
1021
1028
|
*
|
|
1029
|
+
* @example
|
|
1030
|
+
* ```jsx
|
|
1031
|
+
* <GridColumn locked={true} />
|
|
1032
|
+
* ```
|
|
1022
1033
|
* @default false
|
|
1023
1034
|
*/
|
|
1024
1035
|
locked?: boolean;
|
|
1025
1036
|
/**
|
|
1026
1037
|
* A collection of child columns.
|
|
1038
|
+
*
|
|
1039
|
+
* @example
|
|
1040
|
+
* ```jsx
|
|
1041
|
+
* <GridColumn>
|
|
1042
|
+
* <GridColumn field="child1" />
|
|
1043
|
+
* <GridColumn field="child2" />
|
|
1044
|
+
* </GridColumn>
|
|
1045
|
+
* ```
|
|
1027
1046
|
*/
|
|
1028
1047
|
children?: GridColumnProps[] | ReactElement<GridColumnProps>[] | GridColumnChildrenProps[];
|
|
1029
1048
|
/**
|
|
1030
1049
|
* Specifies a React element that will be cloned and rendered inside the column menu of the Grid ([see example]({% slug column_menu_grid %}#toc-basic-usage)).
|
|
1050
|
+
*
|
|
1051
|
+
* @example
|
|
1052
|
+
* ```jsx
|
|
1053
|
+
* <GridColumn columnMenu={CustomColumnMenu} />
|
|
1054
|
+
* ```
|
|
1031
1055
|
*/
|
|
1032
1056
|
columnMenu?: ComponentType<GridColumnMenuProps>;
|
|
1033
1057
|
/**
|
|
1034
|
-
* Specifies the
|
|
1058
|
+
* Specifies the context menu settings that will be applied to the column.
|
|
1059
|
+
*
|
|
1060
|
+
* @example
|
|
1061
|
+
* ```jsx
|
|
1062
|
+
* <GridColumn contextMenu={{ enabled: true }} />
|
|
1063
|
+
* ```
|
|
1035
1064
|
*/
|
|
1036
1065
|
contextMenu?: boolean | GridContextMenuOptions | ((options: GridCellBaseOptions) => boolean | GridContextMenuOptions);
|
|
1037
1066
|
/**
|
|
1038
1067
|
* Determines if the column can be dragged to the group panel.
|
|
1039
1068
|
*
|
|
1069
|
+
* @example
|
|
1070
|
+
* ```jsx
|
|
1071
|
+
* <GridColumn groupable={false} />
|
|
1072
|
+
* ```
|
|
1040
1073
|
* @default true
|
|
1041
1074
|
*/
|
|
1042
1075
|
groupable?: boolean;
|
|
1043
1076
|
/**
|
|
1044
1077
|
* Defines whether the column is editable ([more information and examples]({% slug editing_inline_grid %})).
|
|
1078
|
+
*
|
|
1079
|
+
* @example
|
|
1080
|
+
* ```jsx
|
|
1081
|
+
* <GridColumn editable={true} />
|
|
1082
|
+
* ```
|
|
1045
1083
|
*/
|
|
1046
1084
|
editable?: boolean;
|
|
1047
1085
|
/**
|
|
1048
1086
|
* Defines if a filter UI will be rendered for this column.
|
|
1049
1087
|
*
|
|
1088
|
+
* @example
|
|
1089
|
+
* ```jsx
|
|
1090
|
+
* <GridColumn filterable={false} />
|
|
1091
|
+
* ```
|
|
1050
1092
|
* @default true
|
|
1051
1093
|
*/
|
|
1052
1094
|
filterable?: boolean;
|
|
1053
1095
|
/**
|
|
1054
1096
|
* Defines the title which will be set to the input element in the filter cell.
|
|
1097
|
+
*
|
|
1098
|
+
* @example
|
|
1099
|
+
* ```jsx
|
|
1100
|
+
* <GridColumn filterTitle="Custom Filter Title" />
|
|
1101
|
+
* ```
|
|
1055
1102
|
*/
|
|
1056
1103
|
filterTitle?: string;
|
|
1057
1104
|
/**
|
|
1058
1105
|
* Defines the filter type that will be rendered inside the filter row.
|
|
1059
1106
|
*
|
|
1107
|
+
* @example
|
|
1108
|
+
* ```jsx
|
|
1109
|
+
* <GridColumn filter="numeric" />
|
|
1110
|
+
* ```
|
|
1060
1111
|
* @default 'text'
|
|
1061
1112
|
*/
|
|
1062
1113
|
filter?: GridDataType;
|
|
1063
1114
|
/**
|
|
1064
1115
|
* Defines the editor type. Used when the column enters the edit mode ([more information and examples]({% slug editing_inline_grid %})).
|
|
1065
1116
|
*
|
|
1117
|
+
* @example
|
|
1118
|
+
* ```jsx
|
|
1119
|
+
* <GridColumn editor="date" />
|
|
1120
|
+
* ```
|
|
1066
1121
|
* @default 'text'
|
|
1067
1122
|
*/
|
|
1068
1123
|
editor?: GridDataType;
|
|
1069
1124
|
/**
|
|
1070
|
-
* Overrides the default(three vertical dots) column menu icon or the icon set through the ([`columnMenuIcon`]({% slug api_grid_gridprops %}#toc-columnmenuicon)) property.
|
|
1125
|
+
* Overrides the default (three vertical dots) column menu icon or the icon set through the ([`columnMenuIcon`]({% slug api_grid_gridprops %}#toc-columnmenuicon)) property.
|
|
1126
|
+
*
|
|
1127
|
+
* @example
|
|
1128
|
+
* ```jsx
|
|
1129
|
+
* <GridColumn menuIcon={CustomIcon} />
|
|
1130
|
+
* ```
|
|
1071
1131
|
*/
|
|
1072
1132
|
menuIcon?: SVGIcon;
|
|
1073
1133
|
/**
|
|
1074
|
-
* Sets the colSpan of the column which will make the row content
|
|
1075
|
-
* As arguments it takes either a number or a function that returns a number
|
|
1134
|
+
* Sets the colSpan of the column which will make the row content span over multiple cells.
|
|
1135
|
+
* As arguments, it takes either a number or a function that returns a number.
|
|
1076
1136
|
*
|
|
1137
|
+
* @example
|
|
1138
|
+
* ```jsx
|
|
1139
|
+
* <GridColumn colSpan={2} />
|
|
1140
|
+
* ```
|
|
1077
1141
|
* @default 1
|
|
1078
1142
|
*/
|
|
1079
1143
|
colSpan?: number | ((colSpanProps: GridColSpanProps) => number);
|
|
1080
1144
|
/**
|
|
1081
|
-
*
|
|
1145
|
+
* Controls the visibility of the Grid's column.
|
|
1082
1146
|
*
|
|
1147
|
+
* @example
|
|
1148
|
+
* ```jsx
|
|
1149
|
+
* <GridColumn hidden={true} />
|
|
1150
|
+
* ```
|
|
1083
1151
|
* @default false
|
|
1084
1152
|
*/
|
|
1085
1153
|
hidden?: boolean;
|
|
1086
1154
|
/**
|
|
1087
1155
|
* Sets the screen size condition that needs to be satisfied for a column to remain visible. If you set the hidden property, the behavior of media is overridden.
|
|
1156
|
+
*
|
|
1157
|
+
* @example
|
|
1158
|
+
* ```jsx
|
|
1159
|
+
* <GridColumn media="(min-width: 600px)" />
|
|
1160
|
+
* ```
|
|
1088
1161
|
*/
|
|
1089
1162
|
media?: string;
|
|
1090
1163
|
/**
|
|
1091
1164
|
* Defines the component that will be rendered as a cell. If not set, a `GridCell` will be rendered by default.
|
|
1092
1165
|
*
|
|
1093
1166
|
* @deprecated This prop is deprecated in favor of the ([cells]({% slug api_grid_gridcolumnprops %}#toc-cells)) prop. We’re removing this prop in version 11.0.0.
|
|
1167
|
+
* @example
|
|
1168
|
+
* ```jsx
|
|
1169
|
+
* <GridColumn cell={CustomCell} />
|
|
1170
|
+
* ```
|
|
1094
1171
|
*/
|
|
1095
1172
|
cell?: ComponentType<GridCellProps>;
|
|
1096
1173
|
/**
|
|
1097
|
-
*
|
|
1174
|
+
* Specifies a set of cell components that the Grid will render instead of the built-in cell.
|
|
1175
|
+
*
|
|
1176
|
+
* @example
|
|
1177
|
+
* ```jsx
|
|
1178
|
+
* <GridColumn cells={{ data: CustomDataCell }} />
|
|
1179
|
+
* ```
|
|
1098
1180
|
*/
|
|
1099
1181
|
cells?: GridCellsSettings;
|
|
1100
1182
|
/**
|
|
1101
1183
|
* Defines the component that will be rendered as a filter cell. If not set, a `GridFilterCell` will be rendered by default.
|
|
1102
1184
|
*
|
|
1103
1185
|
* @deprecated This prop is deprecated in favor of the ([cells]({% slug api_grid_gridcolumnprops %}#toc-cells)) prop. We’re removing this prop in version 11.0.0.
|
|
1186
|
+
* @example
|
|
1187
|
+
* ```jsx
|
|
1188
|
+
* <GridColumn filterCell={CustomFilterCell} />
|
|
1189
|
+
* ```
|
|
1104
1190
|
*/
|
|
1105
1191
|
filterCell?: ComponentType<GridFilterCellProps>;
|
|
1106
1192
|
/**
|
|
1107
1193
|
* Defines the component that will be rendered as a header cell. If not set, a `GridHeaderCell` will be rendered by default.
|
|
1108
1194
|
*
|
|
1109
1195
|
* @deprecated This prop is deprecated in favor of the ([cells]({% slug api_grid_gridcolumnprops %}#toc-cells)) prop. We’re removing this prop in version 11.0.0.
|
|
1196
|
+
* @example
|
|
1197
|
+
* ```jsx
|
|
1198
|
+
* <GridColumn headerCell={CustomHeaderCell} />
|
|
1199
|
+
* ```
|
|
1110
1200
|
*/
|
|
1111
1201
|
headerCell?: ComponentType<GridHeaderCellProps>;
|
|
1112
1202
|
/**
|
|
@@ -1128,11 +1218,20 @@ export declare interface GridColumnProps extends Omit<ColumnBaseProps, 'cell'> {
|
|
|
1128
1218
|
/**
|
|
1129
1219
|
* Sets the type of the column and renders a dedicated column for interaction.
|
|
1130
1220
|
*
|
|
1221
|
+
* @example
|
|
1222
|
+
* ```jsx
|
|
1223
|
+
* <GridColumn columnType="checkbox" />
|
|
1224
|
+
* ```
|
|
1131
1225
|
* @default "data"
|
|
1132
1226
|
*/
|
|
1133
1227
|
columnType?: GridColumnType;
|
|
1134
1228
|
/**
|
|
1135
1229
|
* Defines if the cells of the column should be spanned when their values are the same.
|
|
1230
|
+
*
|
|
1231
|
+
* @example
|
|
1232
|
+
* ```jsx
|
|
1233
|
+
* <GridColumn rowSpannable={true} />
|
|
1234
|
+
* ```
|
|
1136
1235
|
*/
|
|
1137
1236
|
rowSpannable?: boolean | GridRowSpannableSettings;
|
|
1138
1237
|
}
|
|
@@ -2112,7 +2211,7 @@ export declare interface GridPageChangeEvent extends GridEvent {
|
|
|
2112
2211
|
* The pager settings of the Grid ([see example]({% slug paging_grid %})).
|
|
2113
2212
|
*
|
|
2114
2213
|
* @example
|
|
2115
|
-
* ```
|
|
2214
|
+
* ```jsx-no-run
|
|
2116
2215
|
*
|
|
2117
2216
|
* <Grid
|
|
2118
2217
|
* pageable="{{
|
|
@@ -2166,7 +2265,7 @@ export declare interface GridPagerSettings {
|
|
|
2166
2265
|
* * `input`—Input for typing the page number.
|
|
2167
2266
|
*
|
|
2168
2267
|
* @example
|
|
2169
|
-
* ```
|
|
2268
|
+
* ```jsx-no-run
|
|
2170
2269
|
*
|
|
2171
2270
|
* <Grid
|
|
2172
2271
|
* pageable="{{
|
|
@@ -2182,10 +2281,23 @@ declare type GridPagerType = 'numeric' | 'input';
|
|
|
2182
2281
|
*/
|
|
2183
2282
|
export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
2184
2283
|
/**
|
|
2185
|
-
* Enables data-processing inside the GridComponent based on
|
|
2284
|
+
* Enables data-processing inside the GridComponent based on its state.
|
|
2186
2285
|
* Provides an easy, built-in way to handle data operations like sorting, filtering, grouping, and paging.
|
|
2187
2286
|
*
|
|
2188
2287
|
* @default false
|
|
2288
|
+
*
|
|
2289
|
+
* @example
|
|
2290
|
+
* ```jsx
|
|
2291
|
+
* <Grid
|
|
2292
|
+
* autoProcessData={{
|
|
2293
|
+
* filter: true,
|
|
2294
|
+
* search: true,
|
|
2295
|
+
* sort: true,
|
|
2296
|
+
* group: true,
|
|
2297
|
+
* page: true
|
|
2298
|
+
* }}
|
|
2299
|
+
* />
|
|
2300
|
+
* ```
|
|
2189
2301
|
*/
|
|
2190
2302
|
autoProcessData?: boolean | {
|
|
2191
2303
|
filter?: boolean;
|
|
@@ -2196,109 +2308,272 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2196
2308
|
};
|
|
2197
2309
|
/**
|
|
2198
2310
|
* Sets the Grid row key prop to the value of this field in the dataItem.
|
|
2199
|
-
* If not set, the dataItem index will be used for the row key, which might lead to
|
|
2311
|
+
* If not set, the dataItem index will be used for the row key, which might lead to rows not updating during paging or scrolling.
|
|
2312
|
+
*
|
|
2313
|
+
* @example
|
|
2314
|
+
* ```jsx
|
|
2315
|
+
* <Grid dataItemKey="id" />
|
|
2316
|
+
* ```
|
|
2200
2317
|
*/
|
|
2201
2318
|
dataItemKey?: string;
|
|
2202
2319
|
/**
|
|
2203
|
-
* Sets a class
|
|
2320
|
+
* Sets a class for the Grid DOM element.
|
|
2321
|
+
*
|
|
2322
|
+
* @example
|
|
2323
|
+
* ```jsx
|
|
2324
|
+
* <Grid className="custom-grid-class" />
|
|
2325
|
+
* ```
|
|
2204
2326
|
*/
|
|
2205
2327
|
className?: string;
|
|
2206
2328
|
/**
|
|
2207
|
-
*
|
|
2329
|
+
* Defines a set of custom cell components that the Grid will render instead of the default cells.
|
|
2330
|
+
*
|
|
2331
|
+
* @example
|
|
2332
|
+
* ```jsx
|
|
2333
|
+
* import { GridCustomCellProps } from '@progress/kendo-react-grid';
|
|
2334
|
+
*
|
|
2335
|
+
* const CustomCell = (props: GridCustomCellProps) => (
|
|
2336
|
+
* <td {...props.tdProps}>
|
|
2337
|
+
* {props.dataItem[props.field]}
|
|
2338
|
+
* </td>
|
|
2339
|
+
* );
|
|
2340
|
+
*
|
|
2341
|
+
* <Grid
|
|
2342
|
+
* cells={{
|
|
2343
|
+
* data: CustomCell
|
|
2344
|
+
* }}
|
|
2345
|
+
* />
|
|
2346
|
+
* ```
|
|
2208
2347
|
*/
|
|
2209
2348
|
cells?: GridCellsSettings;
|
|
2210
2349
|
/**
|
|
2211
|
-
*
|
|
2350
|
+
*
|
|
2351
|
+
* @example
|
|
2352
|
+
* ```jsx
|
|
2353
|
+
* import { GridCustomRowProps } from '@progress/kendo-react-grid';
|
|
2354
|
+
*
|
|
2355
|
+
* const CustomRow = (props: GridCustomRowProps) => (
|
|
2356
|
+
* <tr {...props.trProps} style={{ backgroundColor: props.dataItem?.highlight ? 'yellow' : 'white' }}>
|
|
2357
|
+
* {props.children}
|
|
2358
|
+
* </tr>
|
|
2359
|
+
* );
|
|
2360
|
+
*
|
|
2361
|
+
* <Grid
|
|
2362
|
+
* rows={{
|
|
2363
|
+
* data: CustomRow
|
|
2364
|
+
* }}
|
|
2365
|
+
* />
|
|
2366
|
+
* ```
|
|
2212
2367
|
*/
|
|
2213
2368
|
rows?: GridRowsSettings;
|
|
2214
2369
|
/**
|
|
2215
2370
|
* Sets the data of the Grid ([see example]({% slug paging_grid %})). If you use paging, the `data` option has to contain only the items for the current page. It takes values of type null, any or [DataResult]({% slug api_kendo-data-query_dataresult%})
|
|
2371
|
+
* Accepts values of type `null`, `any[]`, or `DataResult`.
|
|
2372
|
+
*
|
|
2373
|
+
* @example
|
|
2374
|
+
* ```jsx
|
|
2375
|
+
* <Grid data={data} />
|
|
2376
|
+
* ```
|
|
2216
2377
|
*/
|
|
2217
2378
|
data?: any[] | DataResult | null;
|
|
2218
2379
|
/**
|
|
2219
|
-
* Enables
|
|
2380
|
+
* Enables sorting for the columns with their `field` option set.
|
|
2381
|
+
* ([see example]({% slug sorting_grid %}))
|
|
2382
|
+
*
|
|
2383
|
+
* @example
|
|
2384
|
+
* ```jsx
|
|
2385
|
+
* <Grid sortable={true} />
|
|
2386
|
+
* ```
|
|
2220
2387
|
*/
|
|
2221
2388
|
sortable?: GridSortSettings;
|
|
2222
2389
|
/**
|
|
2223
|
-
*
|
|
2390
|
+
* Enables clipboard copy, cut, and paste manipulations. Accepts `ClipboardSettings` or a boolean value.
|
|
2391
|
+
*
|
|
2392
|
+
* @example
|
|
2393
|
+
* ```jsx
|
|
2394
|
+
* <Grid clipboard={true} />
|
|
2395
|
+
* ```
|
|
2224
2396
|
*/
|
|
2225
2397
|
clipboard?: ClipboardSettings | boolean;
|
|
2226
2398
|
/**
|
|
2227
|
-
* Fires when clipboard support is enabled and
|
|
2399
|
+
* Fires when clipboard support is enabled, and one of the actions (e.g., copy) is triggered.
|
|
2400
|
+
* Accepts a `GridClipboardEvent` object.
|
|
2401
|
+
*
|
|
2402
|
+
* @example
|
|
2403
|
+
* ```jsx
|
|
2404
|
+
* <Grid
|
|
2405
|
+
* clipboard={true}
|
|
2406
|
+
* onClipboard={(event) => console.log('Clipboard action:', event.action)}
|
|
2407
|
+
* />
|
|
2408
|
+
* ```
|
|
2228
2409
|
*/
|
|
2229
2410
|
onClipboard?: (event: GridClipboardEvent) => void;
|
|
2230
2411
|
/**
|
|
2231
|
-
* Fires when the sorting of the Grid is changed
|
|
2412
|
+
* Fires when the sorting of the Grid is changed. You must handle the event and sort the data.
|
|
2413
|
+
* ([see example]({% slug sorting_grid %}))
|
|
2414
|
+
*
|
|
2415
|
+
* @example
|
|
2416
|
+
* ```jsx
|
|
2417
|
+
* <Grid
|
|
2418
|
+
* sortable={true}
|
|
2419
|
+
* onSortChange={(event) => console.log('Sort changed:', event.sort)}
|
|
2420
|
+
* />
|
|
2421
|
+
* ```
|
|
2232
2422
|
*/
|
|
2233
2423
|
onSortChange?: (event: GridSortChangeEvent) => void;
|
|
2234
2424
|
/**
|
|
2235
2425
|
* The ([descriptors]({% slug api_kendo-data-query_sortdescriptor %})) by which the data is sorted. Applies the sorting styles and buttons to the affected columns.
|
|
2426
|
+
*
|
|
2427
|
+
* @example
|
|
2428
|
+
* ```jsx
|
|
2429
|
+
* <Grid sort={[{ field: 'name', dir: 'asc' }]} />
|
|
2430
|
+
* ```
|
|
2236
2431
|
*/
|
|
2237
2432
|
sort?: SortDescriptor[];
|
|
2238
2433
|
/**
|
|
2239
|
-
* The default `sort` state
|
|
2434
|
+
* The default `sort` state applied to the Grid when using uncontrolled mode.
|
|
2435
|
+
* ([see example]({% slug sorting_grid %}))
|
|
2436
|
+
*
|
|
2437
|
+
* @example
|
|
2438
|
+
* ```jsx
|
|
2439
|
+
* <Grid defaultSort={[{ field: 'name', dir: 'asc' }]} />
|
|
2440
|
+
* ```
|
|
2240
2441
|
*/
|
|
2241
2442
|
defaultSort?: SortDescriptor[];
|
|
2242
2443
|
/**
|
|
2243
|
-
* Enables
|
|
2444
|
+
* Enables filtering for the columns with their `field` option set.
|
|
2445
|
+
*
|
|
2446
|
+
* @example
|
|
2447
|
+
* ```jsx
|
|
2448
|
+
* <Grid filterable={true} />
|
|
2449
|
+
* ```
|
|
2244
2450
|
*/
|
|
2245
2451
|
filterable?: boolean;
|
|
2246
2452
|
/**
|
|
2247
|
-
* The [descriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}) by which
|
|
2453
|
+
* The [descriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}) by which
|
|
2454
|
+
* the data is filtered ([more information and examples]({% slug filtering_grid %})). This affects
|
|
2455
|
+
* the values and buttons in the `FilterRow` of the Grid.
|
|
2456
|
+
*
|
|
2457
|
+
* @example
|
|
2458
|
+
* ```jsx
|
|
2459
|
+
* <Grid filter={{ logic: 'and', filters: [{ field: 'name', operator: 'contains', value: 'John' }] }} />
|
|
2460
|
+
* ```
|
|
2248
2461
|
*/
|
|
2249
2462
|
filter?: CompositeFilterDescriptor;
|
|
2250
2463
|
/**
|
|
2251
|
-
* The default `filter` state
|
|
2464
|
+
* The default `filter` state applied to the Grid when using uncontrolled mode.
|
|
2465
|
+
*
|
|
2466
|
+
* @example
|
|
2467
|
+
* ```jsx
|
|
2468
|
+
* <Grid defaultFilter={{ logic: 'and', filters: [{ field: 'name', operator: 'contains', value: 'John' }] }} />
|
|
2469
|
+
* ```
|
|
2252
2470
|
*/
|
|
2253
2471
|
defaultFilter?: CompositeFilterDescriptor;
|
|
2254
2472
|
/**
|
|
2255
2473
|
* The filter operators for the Grid filters.
|
|
2474
|
+
*
|
|
2475
|
+
* @example
|
|
2476
|
+
* ```jsx
|
|
2477
|
+
* <Grid filterOperators={{ text: [{ text: 'grid.filterContainsOperator', operator: 'contains' }] }} />
|
|
2478
|
+
* ```
|
|
2256
2479
|
*/
|
|
2257
2480
|
filterOperators?: GridFilterOperators;
|
|
2258
2481
|
/**
|
|
2259
|
-
* Fires when the Grid filter is modified through the UI
|
|
2482
|
+
* Fires when the Grid filter is modified through the UI. You must handle the event and filter the data.
|
|
2483
|
+
*
|
|
2484
|
+
* @example
|
|
2485
|
+
* ```jsx
|
|
2486
|
+
* <Grid
|
|
2487
|
+
* filterable={true}
|
|
2488
|
+
* onFilterChange={(event) => console.log('Filter changed:', event.filter)}
|
|
2489
|
+
* />
|
|
2490
|
+
* ```
|
|
2260
2491
|
*/
|
|
2261
2492
|
onFilterChange?: (event: GridFilterChangeEvent) => void;
|
|
2262
2493
|
/**
|
|
2263
|
-
* Specifies
|
|
2494
|
+
* Specifies whether the loader of the Grid will be displayed.
|
|
2495
|
+
*
|
|
2496
|
+
* @example
|
|
2497
|
+
* ```jsx
|
|
2498
|
+
* <Grid
|
|
2499
|
+
* showLoader={true}
|
|
2500
|
+
* loader={<div>Loading...</div>}
|
|
2501
|
+
* />
|
|
2502
|
+
* ```
|
|
2264
2503
|
*/
|
|
2265
2504
|
showLoader?: boolean;
|
|
2266
2505
|
/**
|
|
2267
2506
|
* A custom component that the Grid will render instead of the built-in loader.
|
|
2507
|
+
*
|
|
2508
|
+
* @example
|
|
2509
|
+
* ```jsx
|
|
2510
|
+
* <Grid loader={<div>Custom Loader...</div>} />
|
|
2511
|
+
* ```
|
|
2268
2512
|
*/
|
|
2269
2513
|
loader?: React.ReactNode;
|
|
2270
2514
|
/**
|
|
2271
2515
|
* Fires when the user reorders a row.
|
|
2516
|
+
*
|
|
2517
|
+
* @example
|
|
2518
|
+
* ```jsx
|
|
2519
|
+
* <Grid onRowReorder={(event) => console.log('Row reordered:', event)} />
|
|
2520
|
+
* ```
|
|
2272
2521
|
*/
|
|
2273
2522
|
onRowReorder?: (event: GridRowReorderEvent) => void;
|
|
2274
2523
|
/**
|
|
2275
|
-
* Specifies a React element that will be cloned and rendered inside the column menu of the Grid.
|
|
2524
|
+
* Specifies a React element that will be cloned and rendered inside the column menu of the Grid.
|
|
2525
|
+
*
|
|
2526
|
+
* @example
|
|
2527
|
+
* ```jsx
|
|
2528
|
+
* <Grid columnMenu={() => <div>Custom Column Menu</div>} />
|
|
2529
|
+
* ```
|
|
2276
2530
|
*/
|
|
2277
2531
|
columnMenu?: null | ComponentType<GridColumnMenuProps>;
|
|
2278
2532
|
/**
|
|
2279
|
-
* Specifies the
|
|
2533
|
+
* Specifies the context menu settings applied to the Grid.
|
|
2534
|
+
*
|
|
2535
|
+
* @example
|
|
2536
|
+
* ```jsx
|
|
2537
|
+
* <Grid contextMenu={true} />
|
|
2538
|
+
* ```
|
|
2280
2539
|
*/
|
|
2281
2540
|
contextMenu?: boolean | GridContextMenuOptions | ((options: GridCellBaseOptions) => boolean | GridContextMenuOptions);
|
|
2282
2541
|
/**
|
|
2283
|
-
* Globally overrides the default(three vertical dots) column menu icon for the whole Grid. If set, the prop can be overridden on column level
|
|
2542
|
+
* Globally overrides the default (three vertical dots) column menu icon for the whole Grid. If set, the prop can be overridden on column level
|
|
2543
|
+
* using the ([menuIcon]({% slug api_grid_gridcolumnprops %}#toc-menuicon)) property.
|
|
2284
2544
|
*/
|
|
2285
2545
|
columnMenuIcon?: SVGIcon_2;
|
|
2286
2546
|
/**
|
|
2287
2547
|
* The [descriptors]({% slug api_kendo-data-query_groupdescriptor %})[] by which the data will be grouped
|
|
2288
2548
|
* ([more information and examples]({% slug groupingbasics_grid %})).
|
|
2549
|
+
*
|
|
2550
|
+
* @example
|
|
2551
|
+
* ```jsx
|
|
2552
|
+
* <Grid group={[{ field: 'CategoryName' }]} />
|
|
2553
|
+
* ```
|
|
2289
2554
|
*/
|
|
2290
2555
|
group?: GroupDescriptor[];
|
|
2291
2556
|
/**
|
|
2292
|
-
* The default `group` state
|
|
2557
|
+
* The default `group` state applied to the Grid when using uncontrolled mode.
|
|
2558
|
+
*
|
|
2559
|
+
* @example
|
|
2560
|
+
* ```jsx
|
|
2561
|
+
* <Grid defaultGroup={[{ field: 'CategoryName' }]} />
|
|
2562
|
+
* ```
|
|
2293
2563
|
*/
|
|
2294
2564
|
defaultGroup?: GroupDescriptor[];
|
|
2295
2565
|
/**
|
|
2296
2566
|
* Fires when the grouping of the Grid is changed. You have to handle the event yourself and group the data
|
|
2297
2567
|
* ([more information and examples]({% slug groupingbasics_grid %})).
|
|
2568
|
+
*
|
|
2569
|
+
* @example
|
|
2570
|
+
* ```jsx
|
|
2571
|
+
* <Grid onGroupChange={(event) => console.log('Group changed:', event.group)} />
|
|
2572
|
+
* ```
|
|
2298
2573
|
*/
|
|
2299
2574
|
onGroupChange?: (event: GridGroupChangeEvent) => void;
|
|
2300
2575
|
/**
|
|
2301
|
-
* Configures the pager of the Grid ([see example]({% slug paging_grid %}))
|
|
2576
|
+
* Configures the pager of the Grid. Accepts `GridPagerSettings` or a boolean value.([see example]({% slug paging_grid %}))
|
|
2302
2577
|
*
|
|
2303
2578
|
* The available options are:
|
|
2304
2579
|
* - `buttonCount: Number`—Sets the maximum numeric buttons count before the buttons are collapsed.
|
|
@@ -2307,66 +2582,143 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2307
2582
|
* - `pageSizes: Boolean` or `Array<number>`—Shows a menu for selecting the page size.
|
|
2308
2583
|
* - `previousNext: Boolean`—Toggles the **Previous** and **Next** buttons.
|
|
2309
2584
|
* - `navigatable: Boolean`—Defines if the pager will be navigatable.
|
|
2585
|
+
*
|
|
2586
|
+
* @example
|
|
2587
|
+
* ```jsx
|
|
2588
|
+
* <Grid pageable={{ pageSizes: true }} />
|
|
2589
|
+
* ```
|
|
2310
2590
|
*/
|
|
2311
2591
|
pageable?: GridPagerSettings | boolean;
|
|
2312
2592
|
/**
|
|
2313
|
-
* Defines the page size
|
|
2593
|
+
* Defines the page size used by the Grid pager. Required for paging functionality.
|
|
2594
|
+
*
|
|
2595
|
+
* @example
|
|
2596
|
+
* ```jsx
|
|
2597
|
+
* <Grid pageSize={10} />
|
|
2598
|
+
* ```
|
|
2314
2599
|
*/
|
|
2315
2600
|
pageSize?: number;
|
|
2316
2601
|
/**
|
|
2317
|
-
* The pager component that the Grid will render instead of the built-in pager.
|
|
2602
|
+
* The pager component that the Grid will render instead of the built-in pager.
|
|
2603
|
+
* It takes values of type null and ComponentType<[PagerProps]({% slug api_data-tools_pagerprops %})>
|
|
2604
|
+
*
|
|
2605
|
+
* @example
|
|
2606
|
+
* ```jsx
|
|
2607
|
+
* <Grid pager={() => <div>Custom Pager</div>} />
|
|
2608
|
+
* ```
|
|
2318
2609
|
*/
|
|
2319
2610
|
pager?: null | ComponentType<PagerProps>;
|
|
2320
2611
|
/**
|
|
2321
|
-
* Alias
|
|
2612
|
+
* Alias for the `pageSize` property. If `take` is set, `pageSize` will be ignored.
|
|
2613
|
+
*
|
|
2614
|
+
* @example
|
|
2615
|
+
* ```jsx
|
|
2616
|
+
* <Grid take={20} />
|
|
2617
|
+
* ```
|
|
2322
2618
|
*/
|
|
2323
2619
|
take?: number;
|
|
2324
2620
|
/**
|
|
2325
|
-
* The default `take` state
|
|
2621
|
+
* The default `take` state applied to the Grid when using uncontrolled mode.
|
|
2622
|
+
*
|
|
2623
|
+
* @example
|
|
2624
|
+
* ```jsx
|
|
2625
|
+
* <Grid defaultTake={20} />
|
|
2626
|
+
* ```
|
|
2326
2627
|
*/
|
|
2327
2628
|
defaultTake?: number;
|
|
2328
2629
|
/**
|
|
2329
|
-
* Fires when the page of the Grid is changed
|
|
2630
|
+
* Fires when the page of the Grid is changed.
|
|
2631
|
+
*
|
|
2632
|
+
* @example
|
|
2633
|
+
* ```jsx
|
|
2634
|
+
* <Grid onPageChange={(event) => console.log('Page changed:', event.page)} />
|
|
2635
|
+
* ```
|
|
2330
2636
|
*/
|
|
2331
2637
|
onPageChange?: (event: GridPageChangeEvent) => void;
|
|
2332
2638
|
/**
|
|
2333
|
-
* Defines the total number of data items in all pages
|
|
2639
|
+
* Defines the total number of data items in all pages. Required for paging functionality.
|
|
2640
|
+
*
|
|
2641
|
+
* @example
|
|
2642
|
+
* ```jsx
|
|
2643
|
+
* <Grid total={100} />
|
|
2644
|
+
* ```
|
|
2334
2645
|
*/
|
|
2335
2646
|
total?: number;
|
|
2336
2647
|
/**
|
|
2337
2648
|
* Defines the number of records that will be skipped by the pager ([see example]({% slug paging_grid %})). Required by the paging functionality.
|
|
2649
|
+
*
|
|
2650
|
+
* @example
|
|
2651
|
+
* ```jsx
|
|
2652
|
+
* <Grid skip={10} />
|
|
2653
|
+
* ```
|
|
2338
2654
|
*/
|
|
2339
2655
|
skip?: number;
|
|
2340
2656
|
/**
|
|
2341
|
-
* The default `skip` state
|
|
2657
|
+
* The default `skip` state applied to the Grid when using uncontrolled mode.
|
|
2658
|
+
*
|
|
2659
|
+
* @example
|
|
2660
|
+
* ```jsx
|
|
2661
|
+
* <Grid defaultSkip={10} />
|
|
2662
|
+
* ```
|
|
2342
2663
|
*/
|
|
2343
2664
|
defaultSkip?: number;
|
|
2344
2665
|
/**
|
|
2345
|
-
* Determines if the scroll position will be updated after data change.
|
|
2666
|
+
* Determines if the scroll position will be updated after a data change.
|
|
2667
|
+
* If set to `true`, the scroll will remain in the same position.
|
|
2346
2668
|
*/
|
|
2347
2669
|
fixedScroll?: boolean;
|
|
2348
2670
|
/**
|
|
2349
|
-
* The
|
|
2671
|
+
* The descriptor by which the detail row is expanded.
|
|
2672
|
+
*
|
|
2673
|
+
* @example
|
|
2674
|
+
* ```jsx
|
|
2675
|
+
* <Grid detailExpand={{ ['item-data-key-id']: true }} />
|
|
2676
|
+
* ```
|
|
2350
2677
|
*/
|
|
2351
2678
|
detailExpand?: DetailExpandDescriptor;
|
|
2352
2679
|
/**
|
|
2353
|
-
* The default `detailExpand` state
|
|
2680
|
+
* The default `detailExpand` state applied to the Grid when using uncontrolled mode.
|
|
2681
|
+
*
|
|
2682
|
+
* @example
|
|
2683
|
+
* ```jsx
|
|
2684
|
+
* <Grid defaultDetailExpand={{ ['item-data-key-id']: true }} />
|
|
2685
|
+
* ```
|
|
2354
2686
|
*/
|
|
2355
2687
|
defaultDetailExpand?: DetailExpandDescriptor;
|
|
2356
2688
|
/**
|
|
2357
|
-
* Fires when the user
|
|
2689
|
+
* Fires when the user expands or collapses a detail row.
|
|
2690
|
+
*
|
|
2691
|
+
* @example
|
|
2692
|
+
* ```jsx
|
|
2693
|
+
* <Grid onDetailExpandChange={(event) => console.log('Detail expand changed:', event)} />
|
|
2694
|
+
* ```
|
|
2358
2695
|
*/
|
|
2359
2696
|
onDetailExpandChange?: (event: GridDetailExpandChangeEvent) => void;
|
|
2360
2697
|
/**
|
|
2361
|
-
* The
|
|
2698
|
+
* The descriptor by which the group is expanded.
|
|
2699
|
+
*
|
|
2700
|
+
* @example
|
|
2701
|
+
* ```jsx
|
|
2702
|
+
* <Grid groupExpand={[{ field: 'CategoryName', expanded: true }]} />
|
|
2703
|
+
* ```
|
|
2362
2704
|
*/
|
|
2363
2705
|
groupExpand?: GroupExpandDescriptor[];
|
|
2364
2706
|
/**
|
|
2365
|
-
* The default `groupExpand` state
|
|
2707
|
+
* The default `groupExpand` state applied to the Grid when using uncontrolled mode.
|
|
2708
|
+
*
|
|
2709
|
+
* @example
|
|
2710
|
+
* ```jsx
|
|
2711
|
+
* <Grid defaultGroupExpand={[{ field: 'CategoryName', expanded: true }]} />
|
|
2712
|
+
* ```
|
|
2366
2713
|
*/
|
|
2367
2714
|
defaultGroupExpand?: GroupExpandDescriptor[];
|
|
2368
2715
|
/**
|
|
2369
|
-
* Fires when the user expands or
|
|
2716
|
+
* Fires when the user expands or collapses a group.
|
|
2717
|
+
*
|
|
2718
|
+
* @example
|
|
2719
|
+
* ```jsx
|
|
2720
|
+
* <Grid onGroupExpandChange={(event) => console.log('Group expand changed:', event)} />
|
|
2721
|
+
* ```
|
|
2370
2722
|
*/
|
|
2371
2723
|
onGroupExpandChange?: (event: GridGroupExpandChangeEvent) => void;
|
|
2372
2724
|
/**
|
|
@@ -2374,26 +2726,45 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2374
2726
|
*
|
|
2375
2727
|
* @deprecated This prop is deprecated in favor of the [onDetailExpandChange]({% slug api_grid_gridprops %}#toc-ondetailexpandchange) and [onGroupExpandChange]({% slug api_grid_gridprops %}#toc-ongroupexpandchange) props.
|
|
2376
2728
|
* We’re removing this prop in version 11.0.0.
|
|
2729
|
+
* ```
|
|
2377
2730
|
*/
|
|
2378
2731
|
onExpandChange?: (event: GridExpandChangeEvent) => void;
|
|
2379
2732
|
/**
|
|
2733
|
+
* Specifies the name of the field which will provide a Boolean representation of the expanded state of the item.
|
|
2734
|
+
*
|
|
2380
2735
|
* Specifies the name of the field which will provide a Boolean representation of the expanded state of the item ([see example]({% slug detailrow_grid %})).
|
|
2381
2736
|
*
|
|
2382
2737
|
* @deprecated This prop is deprecated in favor of the ([detailExpand]({% slug api_grid_gridprops %}#toc-detailexpand)) and ([groupExpand]({% slug api_grid_gridprops %}#toc-groupexpand)) props.
|
|
2383
2738
|
* We’re removing this prop in version 11.0.0.
|
|
2739
|
+
* ```
|
|
2384
2740
|
*/
|
|
2385
2741
|
expandField?: string;
|
|
2386
2742
|
/**
|
|
2387
2743
|
* The [descriptor]({% slug api_data-tools_selectdescriptor %}) by which the selected state of an item is defined.
|
|
2388
2744
|
* Passing a boolean value will select the whole row, while passing an array of strings will select individual.
|
|
2745
|
+
*
|
|
2746
|
+
* @example
|
|
2747
|
+
* ```jsx
|
|
2748
|
+
* <Grid select={{ ['item-data-key-id']: true }} />
|
|
2749
|
+
* ```
|
|
2389
2750
|
*/
|
|
2390
2751
|
select?: SelectDescriptor;
|
|
2391
2752
|
/**
|
|
2392
|
-
* The default `select` state
|
|
2753
|
+
* The default `select` state applied to the Grid when using uncontrolled mode.
|
|
2754
|
+
*
|
|
2755
|
+
* @example
|
|
2756
|
+
* ```jsx
|
|
2757
|
+
* <Grid defaultSelect={{ ['item-data-key-id']: true }} />
|
|
2758
|
+
* ```
|
|
2393
2759
|
*/
|
|
2394
2760
|
defaultSelect?: SelectDescriptor;
|
|
2395
2761
|
/**
|
|
2396
2762
|
* The Grid selectable settings.
|
|
2763
|
+
*
|
|
2764
|
+
* @example
|
|
2765
|
+
* ```jsx
|
|
2766
|
+
* <Grid selectable={{ enabled: true, mode: 'single' }} />
|
|
2767
|
+
* ```
|
|
2397
2768
|
*/
|
|
2398
2769
|
selectable?: boolean | GridSelectableSettings;
|
|
2399
2770
|
/**
|
|
@@ -2403,120 +2774,247 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2403
2774
|
*
|
|
2404
2775
|
* @deprecated This prop is deprecated in favor of the ([select]({% slug api_grid_gridprops %}#toc-select)) prop.
|
|
2405
2776
|
* We’re removing this prop in version 11.0.0.
|
|
2777
|
+
* ```
|
|
2406
2778
|
*/
|
|
2407
2779
|
selectedField?: string;
|
|
2408
2780
|
/**
|
|
2409
2781
|
* Fires when the user tries to select or deselect a row or cell.
|
|
2782
|
+
*
|
|
2783
|
+
* @example
|
|
2784
|
+
* ```jsx
|
|
2785
|
+
* <Grid onSelectionChange={(event) => console.log('Selection changed:', event)} />
|
|
2786
|
+
* ```
|
|
2410
2787
|
*/
|
|
2411
2788
|
onSelectionChange?: (event: GridSelectionChangeEvent) => void;
|
|
2412
2789
|
/**
|
|
2413
|
-
* Fires when the user clicks the checkbox of a column header whose `field` matches `selectedField
|
|
2790
|
+
* Fires when the user clicks the checkbox of a column header whose `field` matches `selectedField`.
|
|
2791
|
+
*
|
|
2792
|
+
* @example
|
|
2793
|
+
* ```jsx
|
|
2794
|
+
* <Grid onHeaderSelectionChange={(event) => console.log('Header selection changed:', event)} />
|
|
2795
|
+
* ```
|
|
2414
2796
|
*/
|
|
2415
2797
|
onHeaderSelectionChange?: (event: GridHeaderSelectionChangeEvent) => void;
|
|
2416
2798
|
/**
|
|
2417
2799
|
* Fires when the user clicks a row.
|
|
2800
|
+
*
|
|
2801
|
+
* @example
|
|
2802
|
+
* ```jsx
|
|
2803
|
+
* <Grid onRowClick={(event) => console.log('Row clicked:', event)} />
|
|
2804
|
+
* ```
|
|
2418
2805
|
*/
|
|
2419
2806
|
onRowClick?: (event: GridRowClickEvent) => void;
|
|
2420
2807
|
/**
|
|
2421
2808
|
* Fires when the user double clicks a row.
|
|
2809
|
+
*
|
|
2810
|
+
* @example
|
|
2811
|
+
* ```jsx
|
|
2812
|
+
* <Grid onRowDoubleClick={(event) => console.log('Row double clicked:', event)} />
|
|
2813
|
+
* ```
|
|
2422
2814
|
*/
|
|
2423
2815
|
onRowDoubleClick?: (event: GridRowDoubleClickEvent) => void;
|
|
2424
2816
|
/**
|
|
2425
|
-
* Fires when the user changes the values of the item.
|
|
2817
|
+
* Fires when the user changes the values of the item.
|
|
2818
|
+
*
|
|
2819
|
+
* @example
|
|
2820
|
+
* ```jsx
|
|
2821
|
+
* <Grid onItemChange={(event) => console.log('Item changed:', event)} />
|
|
2822
|
+
* ```
|
|
2426
2823
|
*/
|
|
2427
2824
|
onItemChange?: (event: GridItemChangeEvent) => void;
|
|
2428
2825
|
/**
|
|
2429
|
-
* The
|
|
2826
|
+
* The descriptor by which the in-edit mode of an item is defined.
|
|
2827
|
+
*
|
|
2828
|
+
* @example
|
|
2829
|
+
* ```jsx
|
|
2830
|
+
* <Grid edit={{ ['item-data-key-id']: true }} />
|
|
2831
|
+
* ```
|
|
2430
2832
|
*/
|
|
2431
2833
|
edit?: EditDescriptor;
|
|
2432
2834
|
/**
|
|
2433
|
-
* The default `edit` state
|
|
2835
|
+
* The default `edit` state applied to the Grid when using uncontrolled mode.
|
|
2836
|
+
*
|
|
2837
|
+
* @example
|
|
2838
|
+
* ```jsx
|
|
2839
|
+
* <Grid defaultEdit={{ ['item-data-key-id']: true }} />
|
|
2840
|
+
* ```
|
|
2434
2841
|
*/
|
|
2435
2842
|
defaultEdit?: EditDescriptor;
|
|
2436
2843
|
/**
|
|
2437
2844
|
* The Grid editable settings.
|
|
2845
|
+
*
|
|
2846
|
+
* @example
|
|
2847
|
+
* ```jsx
|
|
2848
|
+
* <Grid editable={{ enabled: true, mode: 'inline' }} />
|
|
2849
|
+
* ```
|
|
2438
2850
|
*/
|
|
2439
2851
|
editable?: boolean | GridEditableSettings;
|
|
2440
2852
|
/**
|
|
2441
2853
|
* Fires when the user enters or exits an in-edit mode of a row or cell.
|
|
2854
|
+
*
|
|
2855
|
+
* @example
|
|
2856
|
+
* ```jsx
|
|
2857
|
+
* <Grid onEditChange={(event) => console.log('Edit changed:', event)} />
|
|
2858
|
+
* ```
|
|
2442
2859
|
*/
|
|
2443
2860
|
onEditChange?: (event: GridEditChangeEvent) => void;
|
|
2444
2861
|
/**
|
|
2445
|
-
* Specifies the name of the field which will provide a Boolean representation of the edit state
|
|
2862
|
+
* Specifies the name of the field which will provide a Boolean representation of the edit state
|
|
2863
|
+
* of the current item ([more information and examples]({% slug editing_inline_grid %})).
|
|
2446
2864
|
*
|
|
2447
|
-
* @
|
|
2448
|
-
*
|
|
2865
|
+
* @example
|
|
2866
|
+
* ```jsx
|
|
2867
|
+
* <Grid editField="inEdit" />
|
|
2868
|
+
* ```
|
|
2449
2869
|
*/
|
|
2450
2870
|
editField?: string;
|
|
2451
2871
|
/**
|
|
2452
2872
|
* Defines the scroll mode that is used by the Grid ([see example]({% slug scrollmodes_grid %})).
|
|
2453
2873
|
*
|
|
2454
|
-
*
|
|
2874
|
+
* The available options are:
|
|
2455
2875
|
* - `none`—Renders no scrollbar.
|
|
2456
2876
|
* - `scrollable`—This is the default scroll mode. It requires the setting of the `height` option.
|
|
2457
2877
|
* - `virtual`—Displays no pager and renders a portion of the data (optimized rendering) while the user is scrolling the content.
|
|
2878
|
+
*
|
|
2879
|
+
* @example
|
|
2880
|
+
* ```jsx
|
|
2881
|
+
* <Grid scrollable="virtual" />
|
|
2882
|
+
* ```
|
|
2458
2883
|
*/
|
|
2459
2884
|
scrollable?: ScrollMode;
|
|
2460
2885
|
/**
|
|
2461
2886
|
* Defines the row height and forces an equal height to all rows ([see example]({% slug scrollmodes_grid %})).
|
|
2887
|
+
*
|
|
2888
|
+
* @example
|
|
2889
|
+
* ```jsx
|
|
2890
|
+
* <Grid rowHeight={50} />
|
|
2891
|
+
* ```
|
|
2462
2892
|
*/
|
|
2463
2893
|
rowHeight?: number;
|
|
2464
2894
|
/**
|
|
2465
2895
|
* Defines the detail row height and forces an equal height to all detail rows.
|
|
2896
|
+
*
|
|
2897
|
+
* @example
|
|
2898
|
+
* ```jsx
|
|
2899
|
+
* <Grid detailRowHeight={100} />
|
|
2900
|
+
* ```
|
|
2466
2901
|
*/
|
|
2467
2902
|
detailRowHeight?: number;
|
|
2468
2903
|
/**
|
|
2469
|
-
* Specifies a React element that will be cloned and rendered inside the detail rows of the currently expanded items ([see example]({% slug hierarchy_grid %})).
|
|
2904
|
+
* Specifies a React element that will be cloned and rendered inside the detail rows of the currently expanded items ([see example]({% slug hierarchy_grid %})).
|
|
2905
|
+
*
|
|
2906
|
+
* @example
|
|
2907
|
+
* ```jsx
|
|
2908
|
+
* <Grid detail={()=>(<div>Detail Content</div>)} />
|
|
2909
|
+
* ```
|
|
2470
2910
|
*/
|
|
2471
2911
|
detail?: null | ComponentType<GridDetailRowProps>;
|
|
2472
2912
|
/**
|
|
2473
|
-
* The
|
|
2913
|
+
* The descriptor by which the data is searched. Its first FilterDescriptor populates the GridSearchBox.
|
|
2914
|
+
*
|
|
2915
|
+
* @example
|
|
2916
|
+
* ```jsx
|
|
2917
|
+
* <Grid search={{ logic: 'and', filters: [{ field: 'name', operator: 'contains', value: 'test' }] }} />
|
|
2918
|
+
* ```
|
|
2474
2919
|
*/
|
|
2475
2920
|
search?: CompositeFilterDescriptor;
|
|
2476
2921
|
/**
|
|
2477
|
-
* The
|
|
2922
|
+
* The descriptor by which the data is searched by default. Its first FilterDescriptor populates the GridSearchBox.
|
|
2923
|
+
*
|
|
2924
|
+
* @example
|
|
2925
|
+
* ```jsx
|
|
2926
|
+
* <Grid defaultSearch={{ logic: 'or', filters: [{ field: 'category', operator: 'eq', value: 'electronics' }] }} />
|
|
2927
|
+
* ```
|
|
2478
2928
|
*/
|
|
2479
2929
|
defaultSearch?: CompositeFilterDescriptor;
|
|
2480
2930
|
/**
|
|
2481
2931
|
* Defines the fields of the data that are filtered by the GridSearchBox.
|
|
2932
|
+
*
|
|
2933
|
+
* @example
|
|
2934
|
+
* ```jsx
|
|
2935
|
+
* <Grid searchFields={['name', 'category']} />
|
|
2936
|
+
* ```
|
|
2482
2937
|
*/
|
|
2483
2938
|
searchFields?: (string | SearchField)[];
|
|
2484
2939
|
/**
|
|
2485
2940
|
* Fires when the search value of the GridSearchBox is changed.
|
|
2941
|
+
*
|
|
2942
|
+
* @example
|
|
2943
|
+
* ```jsx
|
|
2944
|
+
* <Grid onSearchChange={(event) => console.log('Search changed:', event)} />
|
|
2945
|
+
* ```
|
|
2486
2946
|
*/
|
|
2487
2947
|
onSearchChange?: (event: GridSearchChangeEvent) => void;
|
|
2488
2948
|
/**
|
|
2489
2949
|
* Represents the `style` HTML attribute.
|
|
2950
|
+
*
|
|
2951
|
+
* @example
|
|
2952
|
+
* ```jsx
|
|
2953
|
+
* <Grid style={{ backgroundColor: 'lightblue' }} />
|
|
2954
|
+
* ```
|
|
2490
2955
|
*/
|
|
2491
2956
|
style?: React.CSSProperties;
|
|
2492
2957
|
/**
|
|
2493
2958
|
* Fires when the data state of the Grid is changed ([more information]({% slug localoperations_grid %}) and [example]({% slug odataserveroperations_grid %})).
|
|
2959
|
+
*
|
|
2960
|
+
* @example
|
|
2961
|
+
* ```jsx
|
|
2962
|
+
* <Grid onDataStateChange={(event) => console.log('Data state changed:', event)} />
|
|
2963
|
+
* ```
|
|
2494
2964
|
*/
|
|
2495
2965
|
onDataStateChange?: (event: GridDataStateChangeEvent) => void;
|
|
2496
2966
|
/**
|
|
2497
2967
|
* If set to `true`, the user can resize columns by dragging the edges (resize handles) of their header cells ([see example]({% slug resizing_columns_grid %})).
|
|
2968
|
+
*
|
|
2969
|
+
* @example
|
|
2970
|
+
* ```jsx
|
|
2971
|
+
* <Grid resizable={true} />
|
|
2972
|
+
* ```
|
|
2498
2973
|
*/
|
|
2499
2974
|
resizable?: boolean;
|
|
2500
2975
|
/**
|
|
2501
2976
|
* If set to `true`, the user can reorder columns by dragging their header cells ([see example]({% slug reordering_columns_grid %})).
|
|
2977
|
+
*
|
|
2978
|
+
* @example
|
|
2979
|
+
* ```jsx
|
|
2980
|
+
* <Grid reorderable={true} />
|
|
2981
|
+
* ```
|
|
2502
2982
|
*/
|
|
2503
2983
|
reorderable?: boolean;
|
|
2504
2984
|
/**
|
|
2505
2985
|
* Defines the row reorder settings.
|
|
2506
2986
|
*
|
|
2507
|
-
* @
|
|
2987
|
+
* @example
|
|
2988
|
+
* ```jsx
|
|
2989
|
+
* <Grid rowReorderable={true} />
|
|
2990
|
+
* ```
|
|
2508
2991
|
*/
|
|
2509
2992
|
rowReorderable?: boolean | GridRowReorderSettings;
|
|
2510
2993
|
/**
|
|
2511
2994
|
* Determines if grouping by dragging and dropping the column headers is allowed ([more information and examples]({% slug groupingbasics_grid %})).
|
|
2995
|
+
*
|
|
2996
|
+
* @example
|
|
2997
|
+
* ```jsx
|
|
2998
|
+
* <Grid groupable={true} />
|
|
2999
|
+
* ```
|
|
2512
3000
|
*/
|
|
2513
3001
|
groupable?: GridGroupableSettings | boolean;
|
|
2514
3002
|
/**
|
|
2515
3003
|
* Fires when a column is resized. Only fired when the Grid is run as a client component.
|
|
3004
|
+
*
|
|
3005
|
+
* @example
|
|
3006
|
+
* ```jsx
|
|
3007
|
+
* <Grid onColumnResize={(event) => console.log('Column resized:', event)} />
|
|
3008
|
+
* ```
|
|
2516
3009
|
*/
|
|
2517
3010
|
onColumnResize?: (event: GridColumnResizeEvent) => void;
|
|
2518
3011
|
/**
|
|
2519
3012
|
* Fires when the columns are reordered.
|
|
3013
|
+
*
|
|
3014
|
+
* @example
|
|
3015
|
+
* ```jsx
|
|
3016
|
+
* <Grid onColumnReorder={(event) => console.log('Column reordered:', event)} />
|
|
3017
|
+
* ```
|
|
2520
3018
|
*/
|
|
2521
3019
|
onColumnReorder?: (event: GridColumnReorderEvent) => void;
|
|
2522
3020
|
/**
|
|
@@ -2545,23 +3043,48 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2545
3043
|
headerCellRender?: (defaultRendering: React.ReactNode | null, props: GridHeaderCellProps) => React.ReactNode;
|
|
2546
3044
|
/**
|
|
2547
3045
|
* Fires when Grid is scrolled. Only fired when the Grid is run as a client component.
|
|
3046
|
+
*
|
|
3047
|
+
* @example
|
|
3048
|
+
* ```jsx
|
|
3049
|
+
* <Grid onScroll={(event) => console.log('Grid scrolled:', event)} />
|
|
3050
|
+
* ```
|
|
2548
3051
|
*/
|
|
2549
3052
|
onScroll?: (event: GridEvent) => void;
|
|
2550
3053
|
/**
|
|
2551
3054
|
* Enables virtualization of the columns. If virtualization is enabled, the columns outside the view are not rendered.
|
|
3055
|
+
*
|
|
3056
|
+
* @example
|
|
3057
|
+
* ```jsx
|
|
3058
|
+
* <Grid columnVirtualization={true} />
|
|
3059
|
+
* ```
|
|
2552
3060
|
*/
|
|
2553
3061
|
columnVirtualization?: boolean;
|
|
2554
3062
|
/**
|
|
2555
3063
|
* If set to `true`, the user can use dedicated shortcuts to interact with the Grid.
|
|
2556
3064
|
* By default, navigation is disabled and the Grid content is accessible in the normal tab sequence.
|
|
3065
|
+
*
|
|
3066
|
+
* @example
|
|
3067
|
+
* ```jsx
|
|
3068
|
+
* <Grid navigatable={true} />
|
|
3069
|
+
* ```
|
|
2557
3070
|
*/
|
|
2558
3071
|
navigatable?: boolean | NavigatableSettings;
|
|
2559
3072
|
/**
|
|
2560
3073
|
* Fires when Grid keyboard navigation position is changed. Only fired when the Grid is run as a client component.
|
|
3074
|
+
*
|
|
3075
|
+
* @example
|
|
3076
|
+
* ```jsx
|
|
3077
|
+
* <Grid onNavigationAction={(event) => console.log('Navigation action:', event)} />
|
|
3078
|
+
* ```
|
|
2561
3079
|
*/
|
|
2562
3080
|
onNavigationAction?: (event: GridNavigationActionEvent) => void;
|
|
2563
3081
|
/**
|
|
2564
3082
|
* Fires when the user press keyboard key. Only fired when the Grid is run as a client component.
|
|
3083
|
+
*
|
|
3084
|
+
* @example
|
|
3085
|
+
* ```jsx
|
|
3086
|
+
* <Grid onKeyDown={(event) => console.log('Key pressed:', event)} />
|
|
3087
|
+
* ```
|
|
2565
3088
|
*/
|
|
2566
3089
|
onKeyDown?: (event: GridKeyDownEvent) => void;
|
|
2567
3090
|
/**
|
|
@@ -2577,6 +3100,11 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2577
3100
|
* Defines if the group descriptor columns are locked (frozen or sticky).
|
|
2578
3101
|
* Locked columns are the columns that are visible at all times while the user scrolls the component horizontally.
|
|
2579
3102
|
* Defaults to `false`.
|
|
3103
|
+
*
|
|
3104
|
+
* @example
|
|
3105
|
+
* ```jsx
|
|
3106
|
+
* <Grid lockGroups={true} />
|
|
3107
|
+
* ```
|
|
2580
3108
|
*/
|
|
2581
3109
|
lockGroups?: boolean;
|
|
2582
3110
|
/**
|
|
@@ -2587,18 +3115,37 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2587
3115
|
* - medium
|
|
2588
3116
|
*
|
|
2589
3117
|
* @default `medium`
|
|
3118
|
+
* @example
|
|
3119
|
+
* ```jsx
|
|
3120
|
+
* <Grid size="small" />
|
|
3121
|
+
* ```
|
|
2590
3122
|
*/
|
|
2591
3123
|
size?: 'small' | 'medium';
|
|
2592
3124
|
/**
|
|
2593
3125
|
* The event that is fired when the ContextMenu is activated. Only fired when the Grid is run as a client component.
|
|
3126
|
+
*
|
|
3127
|
+
* @example
|
|
3128
|
+
* ```jsx
|
|
3129
|
+
* <Grid onContextMenu={(event) => console.log('Context menu activated:', event)} />
|
|
3130
|
+
* ```
|
|
2594
3131
|
*/
|
|
2595
3132
|
onContextMenu?: (event: GridContextMenuEvent) => void;
|
|
2596
3133
|
/**
|
|
2597
3134
|
* The event that is fired when the ContextMenu item is clicked. Only fired when the Grid is run as a client component.
|
|
3135
|
+
*
|
|
3136
|
+
* @example
|
|
3137
|
+
* ```jsx
|
|
3138
|
+
* <Grid onContextMenuItemClick={(event) => console.log('Context menu item clicked:', event)} />
|
|
3139
|
+
* ```
|
|
2598
3140
|
*/
|
|
2599
3141
|
onContextMenuItemClick?: (event: GridContextMenuItemClickEvent) => void;
|
|
2600
3142
|
/**
|
|
2601
3143
|
* Sets the `id` property of the top div element of the component.
|
|
3144
|
+
*
|
|
3145
|
+
* @example
|
|
3146
|
+
* ```jsx
|
|
3147
|
+
* <Grid id="custom-grid-id" />
|
|
3148
|
+
* ```
|
|
2602
3149
|
*/
|
|
2603
3150
|
id?: string;
|
|
2604
3151
|
/**
|
|
@@ -2607,28 +3154,58 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2607
3154
|
unstyled?: GridClassStructure;
|
|
2608
3155
|
/**
|
|
2609
3156
|
* Enables the built-in row span feature of the Grid.
|
|
3157
|
+
*
|
|
3158
|
+
* @example
|
|
3159
|
+
* ```jsx
|
|
3160
|
+
* <Grid rowSpannable={true} />
|
|
3161
|
+
* ```
|
|
2610
3162
|
*/
|
|
2611
3163
|
rowSpannable?: boolean | GridRowSpannableSettings;
|
|
2612
3164
|
/**
|
|
2613
3165
|
* The collection of column states of the grid.
|
|
3166
|
+
*
|
|
3167
|
+
* @example
|
|
3168
|
+
* ```jsx
|
|
3169
|
+
* <Grid columnsState={[{ field: 'ProductName', locked: true }]} />
|
|
3170
|
+
* ```
|
|
2614
3171
|
*/
|
|
2615
3172
|
columnsState?: GridColumnState[];
|
|
2616
3173
|
/**
|
|
2617
3174
|
* The default columns state, used only for the initial load.
|
|
3175
|
+
*
|
|
3176
|
+
* @example
|
|
3177
|
+
* ```jsx
|
|
3178
|
+
* <Grid defaultColumnsState={[{ field: 'ProductName', locked: false }]} />
|
|
3179
|
+
* ```
|
|
2618
3180
|
*/
|
|
2619
3181
|
defaultColumnsState?: GridColumnState[];
|
|
2620
3182
|
/**
|
|
2621
3183
|
* Fires when the columns state of the Grid is changed.
|
|
3184
|
+
*
|
|
3185
|
+
* @example
|
|
3186
|
+
* ```jsx
|
|
3187
|
+
* <Grid onColumnsStateChange={(event) => console.log('Columns state changed:', event)} />
|
|
3188
|
+
* ```
|
|
2622
3189
|
*/
|
|
2623
3190
|
onColumnsStateChange?: (event: GridColumnsStateChangeEvent) => void;
|
|
2624
3191
|
/**
|
|
2625
3192
|
* Sets the locale of the Grid when used as a server component.
|
|
2626
3193
|
* Have not effect when the Grid is used as a client component.
|
|
3194
|
+
*
|
|
3195
|
+
* @example
|
|
3196
|
+
* ```jsx
|
|
3197
|
+
* <Grid locale="en-US" />
|
|
3198
|
+
* ```
|
|
2627
3199
|
*/
|
|
2628
3200
|
locale?: string;
|
|
2629
3201
|
/**
|
|
2630
3202
|
* Sets the language of the Grid when used as a server component.
|
|
2631
3203
|
* Have not effect when the Grid is used as a client component.
|
|
3204
|
+
*
|
|
3205
|
+
* @example
|
|
3206
|
+
* ```jsx
|
|
3207
|
+
* <Grid language="en" />
|
|
3208
|
+
* ```
|
|
2632
3209
|
*/
|
|
2633
3210
|
language?: string;
|
|
2634
3211
|
}
|
|
@@ -2894,7 +3471,7 @@ export declare interface GridSortChangeEvent extends GridEvent {
|
|
|
2894
3471
|
* The sorting settings of the Grid ([see example]({% slug sorting_grid %})).
|
|
2895
3472
|
*
|
|
2896
3473
|
* @example
|
|
2897
|
-
* ```
|
|
3474
|
+
* ```jsx-no-run
|
|
2898
3475
|
*
|
|
2899
3476
|
* <Grid
|
|
2900
3477
|
* sortable={true}
|