@progress/kendo-react-grid 8.2.0-develop.9 → 8.2.0
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/Grid.js +1 -1
- package/Grid.mjs +193 -185
- package/cells/GridEditCell.js +1 -1
- package/cells/GridEditCell.mjs +27 -27
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/header/FilterRow.js +1 -1
- package/header/FilterRow.mjs +1 -1
- package/header/Header.js +1 -1
- package/header/Header.mjs +8 -6
- package/index.d.mts +27 -9
- package/index.d.ts +27 -9
- package/package-metadata.mjs +1 -1
- package/package.json +10 -10
- package/utils/index.js +1 -1
- package/utils/index.mjs +82 -82
package/header/Header.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),l=require("@progress/kendo-react-common"),o=require("@progress/kendo-react-data-tools");function
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),l=require("@progress/kendo-react-common"),o=require("@progress/kendo-react-data-tools");function c(s){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const t in s)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,a.get?a:{enumerable:!0,get:()=>s[t]})}}return e.default=s,Object.freeze(e)}const r=c(i);class n extends r.Component{constructor(){super(...arguments),this.headerWrap=null,this.table=null,this.syncScroll=!1,this.scrollbarWidth=l.getScrollbarWidth(),this.onScroll=e=>{if(this.syncScroll){this.syncScroll=!1;return}if(!this.headerWrap)return;const t=this.headerWrap.scrollLeft,a=this.props.scrollableDataElement();a&&a.scrollLeft!==t&&(a.scrollLeft=t)}}get element(){return this.props.elemRef.current}componentDidMount(){const e=o.isRtl(this.element);this.props.columnResize&&this.props.columnResize.setIsRtl(e),this.forceUpdate()}setScrollLeft(e){this.headerWrap&&this.headerWrap.scrollLeft!==e&&(this.syncScroll=!0,this.headerWrap.scrollLeft=e)}setWidth(e){this.table&&(this.table.style.width=e+"px")}render(){return this.props.staticHeaders?r.createElement("div",{ref:this.props.elemRef,className:l.classNames("k-grid-header",this.props.className,{"k-grid-draggable-header":this.props.draggable}),role:"presentation"},r.createElement("div",{ref:e=>{this.headerWrap=e},className:"k-grid-header-wrap",style:this.props.hasScrollbarWidth?{}:{borderWidth:0},onScroll:this.onScroll,role:"presentation"},r.createElement("table",{ref:e=>{this.table=e},className:l.classNames("k-table k-grid-header-table",{"k-table-md":!this.props.size,[`k-table-${l.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},r.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupHeader=e}},this.props.cols),r.createElement("thead",{className:"k-table-thead",role:"rowgroup",...o.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)))):r.createElement("thead",{role:"presentation",className:l.classNames("k-table-thead",this.props.className,{"k-grid-draggable-header":this.props.draggable}),...o.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)}}exports.Header=n;
|
package/header/Header.mjs
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"use client";
|
|
9
9
|
import * as t from "react";
|
|
10
10
|
import { getScrollbarWidth as o, classNames as s, kendoThemeMaps as i } from "@progress/kendo-react-common";
|
|
11
|
-
import { isRtl as
|
|
11
|
+
import { isRtl as p, tableKeyboardNavigationHeaderAttributes as l } from "@progress/kendo-react-data-tools";
|
|
12
12
|
class d extends t.Component {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments), this.headerWrap = null, this.table = null, this.syncScroll = !1, this.scrollbarWidth = o(), this.onScroll = (e) => {
|
|
@@ -18,15 +18,15 @@ class d extends t.Component {
|
|
|
18
18
|
}
|
|
19
19
|
if (!this.headerWrap)
|
|
20
20
|
return;
|
|
21
|
-
const
|
|
22
|
-
r && r.scrollLeft !==
|
|
21
|
+
const a = this.headerWrap.scrollLeft, r = this.props.scrollableDataElement();
|
|
22
|
+
r && r.scrollLeft !== a && (r.scrollLeft = a);
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
get element() {
|
|
26
26
|
return this.props.elemRef.current;
|
|
27
27
|
}
|
|
28
28
|
componentDidMount() {
|
|
29
|
-
const e =
|
|
29
|
+
const e = p(this.element);
|
|
30
30
|
this.props.columnResize && this.props.columnResize.setIsRtl(e), this.forceUpdate();
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
@@ -50,6 +50,7 @@ class d extends t.Component {
|
|
|
50
50
|
ref: this.props.elemRef,
|
|
51
51
|
className: s(
|
|
52
52
|
"k-grid-header",
|
|
53
|
+
this.props.className,
|
|
53
54
|
{ "k-grid-draggable-header": this.props.draggable }
|
|
54
55
|
),
|
|
55
56
|
role: "presentation"
|
|
@@ -84,7 +85,7 @@ class d extends t.Component {
|
|
|
84
85
|
/* @__PURE__ */ t.createElement("colgroup", { ref: (e) => {
|
|
85
86
|
this.props.columnResize.colGroupHeader = e;
|
|
86
87
|
} }, this.props.cols),
|
|
87
|
-
/* @__PURE__ */ t.createElement("thead", { className: "k-table-thead", role: "rowgroup", ...
|
|
88
|
+
/* @__PURE__ */ t.createElement("thead", { className: "k-table-thead", role: "rowgroup", ...l }, this.props.headerRow, this.props.filterRow)
|
|
88
89
|
)
|
|
89
90
|
)
|
|
90
91
|
) : /* @__PURE__ */ t.createElement(
|
|
@@ -93,9 +94,10 @@ class d extends t.Component {
|
|
|
93
94
|
role: "presentation",
|
|
94
95
|
className: s(
|
|
95
96
|
"k-table-thead",
|
|
97
|
+
this.props.className,
|
|
96
98
|
{ "k-grid-draggable-header": this.props.draggable }
|
|
97
99
|
),
|
|
98
|
-
...
|
|
100
|
+
...l
|
|
99
101
|
},
|
|
100
102
|
this.props.headerRow,
|
|
101
103
|
this.props.filterRow
|
package/index.d.mts
CHANGED
|
@@ -25,6 +25,7 @@ import { HeaderCellBaseProps } from '@progress/kendo-react-data-tools';
|
|
|
25
25
|
import { HeaderThElementProps } from '@progress/kendo-react-data-tools';
|
|
26
26
|
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
|
27
27
|
import { KendoReactComponentBaseProps } from '@progress/kendo-react-common';
|
|
28
|
+
import { NavigatableSettings } from '@progress/kendo-react-data-tools';
|
|
28
29
|
import { PagerProps } from '@progress/kendo-react-data-tools';
|
|
29
30
|
import { PagerTargetEvent } from '@progress/kendo-react-data-tools';
|
|
30
31
|
import PropTypes from 'prop-types';
|
|
@@ -318,7 +319,9 @@ export declare class GridClassComponent extends React_2.Component<GridProps> {
|
|
|
318
319
|
onColumnResize: PropTypes.Requireable<(...args: any[]) => any>;
|
|
319
320
|
onColumnReorder: PropTypes.Requireable<(...args: any[]) => any>;
|
|
320
321
|
dataItemKey: PropTypes.Requireable<string>;
|
|
321
|
-
navigatable: PropTypes.Requireable<boolean
|
|
322
|
+
navigatable: PropTypes.Requireable<NonNullable<boolean | PropTypes.InferProps<{
|
|
323
|
+
mode: PropTypes.Requireable<string>;
|
|
324
|
+
}> | null | undefined>>;
|
|
322
325
|
size: PropTypes.Requireable<string>;
|
|
323
326
|
};
|
|
324
327
|
/** @hidden */
|
|
@@ -329,6 +332,9 @@ export declare class GridClassComponent extends React_2.Component<GridProps> {
|
|
|
329
332
|
private _columnsMutations;
|
|
330
333
|
private _resized;
|
|
331
334
|
private _focusFirst;
|
|
335
|
+
private _newEditableRow?;
|
|
336
|
+
private _singleEditRow?;
|
|
337
|
+
private _lastActiveElement?;
|
|
332
338
|
private _shouldUpdateLeftRight;
|
|
333
339
|
private _scrollbarWidth?;
|
|
334
340
|
private contextStateRef;
|
|
@@ -396,6 +402,7 @@ export declare class GridClassComponent extends React_2.Component<GridProps> {
|
|
|
396
402
|
private isRtl;
|
|
397
403
|
private rowIndex;
|
|
398
404
|
private headTable;
|
|
405
|
+
private rowsInEdit;
|
|
399
406
|
private get _header();
|
|
400
407
|
private get _gridId();
|
|
401
408
|
private observer;
|
|
@@ -477,7 +484,7 @@ export declare class GridClassComponent extends React_2.Component<GridProps> {
|
|
|
477
484
|
private childrenToArray;
|
|
478
485
|
private readColumns;
|
|
479
486
|
private mapColumns;
|
|
480
|
-
private
|
|
487
|
+
private filterColumnsByMediaProp;
|
|
481
488
|
private initColumns;
|
|
482
489
|
private configureColumns;
|
|
483
490
|
private getHeaderRow;
|
|
@@ -486,6 +493,7 @@ export declare class GridClassComponent extends React_2.Component<GridProps> {
|
|
|
486
493
|
private getArguments;
|
|
487
494
|
private getLeafDataItems;
|
|
488
495
|
private getSlicedLeafDataItems;
|
|
496
|
+
private handleFocusInEditableRows;
|
|
489
497
|
}
|
|
490
498
|
|
|
491
499
|
/**
|
|
@@ -493,6 +501,12 @@ export declare class GridClassComponent extends React_2.Component<GridProps> {
|
|
|
493
501
|
*/
|
|
494
502
|
export declare const GridColumn: React_2.FunctionComponent<GridColumnProps>;
|
|
495
503
|
|
|
504
|
+
/**
|
|
505
|
+
* The type of elements that the children property of the Grid accepts.
|
|
506
|
+
*/
|
|
507
|
+
export declare interface GridColumnChildrenProps extends GridColumnProps, ReactElement<GridColumnProps> {
|
|
508
|
+
}
|
|
509
|
+
|
|
496
510
|
/**
|
|
497
511
|
* @hidden
|
|
498
512
|
*/
|
|
@@ -787,7 +801,7 @@ export declare class GridColumnMenuFilter extends React_2.Component<GridColumnMe
|
|
|
787
801
|
*/
|
|
788
802
|
declare interface GridColumnMenuFilterBaseProps extends GridColumnMenuBaseProps {
|
|
789
803
|
/**
|
|
790
|
-
* The current filter state of the Grid.It takes value of type [CompositeFilterDescriptor]({% api_kendo-data-query_compositefilterdescriptor %})
|
|
804
|
+
* The current filter state of the Grid.It takes value of type [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %})
|
|
791
805
|
*/
|
|
792
806
|
filter?: CompositeFilterDescriptor;
|
|
793
807
|
/**
|
|
@@ -1227,7 +1241,7 @@ export declare interface GridColumnProps extends Omit<ColumnBaseProps, 'cell'> {
|
|
|
1227
1241
|
/**
|
|
1228
1242
|
* A collection of child columns.
|
|
1229
1243
|
*/
|
|
1230
|
-
children?: GridColumnProps[] | ReactElement<GridColumnProps>[];
|
|
1244
|
+
children?: GridColumnProps[] | ReactElement<GridColumnProps>[] | GridColumnChildrenProps[];
|
|
1231
1245
|
/**
|
|
1232
1246
|
* 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)).
|
|
1233
1247
|
*/
|
|
@@ -1480,7 +1494,7 @@ export declare interface GridCustomFooterCellProps extends GridFooterCellProps {
|
|
|
1480
1494
|
*/
|
|
1481
1495
|
export declare interface GridCustomHeaderCellProps extends GridHeaderCellProps {
|
|
1482
1496
|
/**
|
|
1483
|
-
* The props and attributes that are applied to the `th` element by default. The property should be used with the [HeaderThElement](slug:) component as demonstrated in [this example](slug:cells_grid#toc-group-header-group-footer-header-cell-footer-cell-filter-cell-and-data-cell).
|
|
1497
|
+
* The props and attributes that are applied to the `th` element by default. The property should be used with the [HeaderThElement](slug:api_data-tools_headerthelement) component as demonstrated in [this example](slug:cells_grid#toc-group-header-group-footer-header-cell-footer-cell-filter-cell-and-data-cell).
|
|
1484
1498
|
*/
|
|
1485
1499
|
thProps?: GridThAttributes | null;
|
|
1486
1500
|
/**
|
|
@@ -1498,7 +1512,7 @@ export declare interface GridCustomHeaderCellProps extends GridHeaderCellProps {
|
|
|
1498
1512
|
*/
|
|
1499
1513
|
export declare interface GridDataStateChangeEvent extends GridEvent {
|
|
1500
1514
|
/**
|
|
1501
|
-
* The [State]({% api_kendo-data-query_state %}) of the Grid based on the user action.
|
|
1515
|
+
* The [State]({% slug api_kendo-data-query_state %}) of the Grid based on the user action.
|
|
1502
1516
|
*/
|
|
1503
1517
|
dataState: State;
|
|
1504
1518
|
targetEvent?: PagerTargetEvent;
|
|
@@ -1685,7 +1699,7 @@ export declare interface GridFilterCellProps {
|
|
|
1685
1699
|
*/
|
|
1686
1700
|
export declare interface GridFilterChangeEvent extends GridEvent {
|
|
1687
1701
|
/**
|
|
1688
|
-
* The new [CompositeFilterDescriptor]({% api_kendo-data-query_compositefilterdescriptor %}) based on the user action.
|
|
1702
|
+
* The new [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}) based on the user action.
|
|
1689
1703
|
*/
|
|
1690
1704
|
filter: CompositeFilterDescriptor;
|
|
1691
1705
|
}
|
|
@@ -2160,7 +2174,7 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2160
2174
|
*/
|
|
2161
2175
|
filterable?: boolean;
|
|
2162
2176
|
/**
|
|
2163
|
-
* The [descriptor]({% api_kendo-data-query_compositefilterdescriptor %}) by which the data is filtered ([more information and examples]({% slug filtering_grid %})). This affects the values and buttons in the `FilterRow` of the Grid.
|
|
2177
|
+
* The [descriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}) by which the data is filtered ([more information and examples]({% slug filtering_grid %})). This affects the values and buttons in the `FilterRow` of the Grid.
|
|
2164
2178
|
*/
|
|
2165
2179
|
filter?: CompositeFilterDescriptor;
|
|
2166
2180
|
/**
|
|
@@ -2336,6 +2350,10 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2336
2350
|
* Fires when a header cell is about to be rendered. Overrides the default appearance of the header cell.
|
|
2337
2351
|
*/
|
|
2338
2352
|
headerCellRender?: (defaultRendering: React.ReactNode | null, props: GridHeaderCellProps) => React.ReactNode;
|
|
2353
|
+
/**
|
|
2354
|
+
* @hidden
|
|
2355
|
+
*/
|
|
2356
|
+
headerClassName?: string;
|
|
2339
2357
|
/**
|
|
2340
2358
|
* Fires when Grid is scrolled.
|
|
2341
2359
|
*/
|
|
@@ -2348,7 +2366,7 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2348
2366
|
* If set to `true`, the user can use dedicated shortcuts to interact with the Grid.
|
|
2349
2367
|
* By default, navigation is disabled and the Grid content is accessible in the normal tab sequence.
|
|
2350
2368
|
*/
|
|
2351
|
-
navigatable?: boolean;
|
|
2369
|
+
navigatable?: boolean | NavigatableSettings;
|
|
2352
2370
|
/**
|
|
2353
2371
|
* Fires when Grid keyboard navigation position is changed.
|
|
2354
2372
|
*/
|
package/index.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ import { HeaderCellBaseProps } from '@progress/kendo-react-data-tools';
|
|
|
25
25
|
import { HeaderThElementProps } from '@progress/kendo-react-data-tools';
|
|
26
26
|
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
|
27
27
|
import { KendoReactComponentBaseProps } from '@progress/kendo-react-common';
|
|
28
|
+
import { NavigatableSettings } from '@progress/kendo-react-data-tools';
|
|
28
29
|
import { PagerProps } from '@progress/kendo-react-data-tools';
|
|
29
30
|
import { PagerTargetEvent } from '@progress/kendo-react-data-tools';
|
|
30
31
|
import PropTypes from 'prop-types';
|
|
@@ -318,7 +319,9 @@ export declare class GridClassComponent extends React_2.Component<GridProps> {
|
|
|
318
319
|
onColumnResize: PropTypes.Requireable<(...args: any[]) => any>;
|
|
319
320
|
onColumnReorder: PropTypes.Requireable<(...args: any[]) => any>;
|
|
320
321
|
dataItemKey: PropTypes.Requireable<string>;
|
|
321
|
-
navigatable: PropTypes.Requireable<boolean
|
|
322
|
+
navigatable: PropTypes.Requireable<NonNullable<boolean | PropTypes.InferProps<{
|
|
323
|
+
mode: PropTypes.Requireable<string>;
|
|
324
|
+
}> | null | undefined>>;
|
|
322
325
|
size: PropTypes.Requireable<string>;
|
|
323
326
|
};
|
|
324
327
|
/** @hidden */
|
|
@@ -329,6 +332,9 @@ export declare class GridClassComponent extends React_2.Component<GridProps> {
|
|
|
329
332
|
private _columnsMutations;
|
|
330
333
|
private _resized;
|
|
331
334
|
private _focusFirst;
|
|
335
|
+
private _newEditableRow?;
|
|
336
|
+
private _singleEditRow?;
|
|
337
|
+
private _lastActiveElement?;
|
|
332
338
|
private _shouldUpdateLeftRight;
|
|
333
339
|
private _scrollbarWidth?;
|
|
334
340
|
private contextStateRef;
|
|
@@ -396,6 +402,7 @@ export declare class GridClassComponent extends React_2.Component<GridProps> {
|
|
|
396
402
|
private isRtl;
|
|
397
403
|
private rowIndex;
|
|
398
404
|
private headTable;
|
|
405
|
+
private rowsInEdit;
|
|
399
406
|
private get _header();
|
|
400
407
|
private get _gridId();
|
|
401
408
|
private observer;
|
|
@@ -477,7 +484,7 @@ export declare class GridClassComponent extends React_2.Component<GridProps> {
|
|
|
477
484
|
private childrenToArray;
|
|
478
485
|
private readColumns;
|
|
479
486
|
private mapColumns;
|
|
480
|
-
private
|
|
487
|
+
private filterColumnsByMediaProp;
|
|
481
488
|
private initColumns;
|
|
482
489
|
private configureColumns;
|
|
483
490
|
private getHeaderRow;
|
|
@@ -486,6 +493,7 @@ export declare class GridClassComponent extends React_2.Component<GridProps> {
|
|
|
486
493
|
private getArguments;
|
|
487
494
|
private getLeafDataItems;
|
|
488
495
|
private getSlicedLeafDataItems;
|
|
496
|
+
private handleFocusInEditableRows;
|
|
489
497
|
}
|
|
490
498
|
|
|
491
499
|
/**
|
|
@@ -493,6 +501,12 @@ export declare class GridClassComponent extends React_2.Component<GridProps> {
|
|
|
493
501
|
*/
|
|
494
502
|
export declare const GridColumn: React_2.FunctionComponent<GridColumnProps>;
|
|
495
503
|
|
|
504
|
+
/**
|
|
505
|
+
* The type of elements that the children property of the Grid accepts.
|
|
506
|
+
*/
|
|
507
|
+
export declare interface GridColumnChildrenProps extends GridColumnProps, ReactElement<GridColumnProps> {
|
|
508
|
+
}
|
|
509
|
+
|
|
496
510
|
/**
|
|
497
511
|
* @hidden
|
|
498
512
|
*/
|
|
@@ -787,7 +801,7 @@ export declare class GridColumnMenuFilter extends React_2.Component<GridColumnMe
|
|
|
787
801
|
*/
|
|
788
802
|
declare interface GridColumnMenuFilterBaseProps extends GridColumnMenuBaseProps {
|
|
789
803
|
/**
|
|
790
|
-
* The current filter state of the Grid.It takes value of type [CompositeFilterDescriptor]({% api_kendo-data-query_compositefilterdescriptor %})
|
|
804
|
+
* The current filter state of the Grid.It takes value of type [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %})
|
|
791
805
|
*/
|
|
792
806
|
filter?: CompositeFilterDescriptor;
|
|
793
807
|
/**
|
|
@@ -1227,7 +1241,7 @@ export declare interface GridColumnProps extends Omit<ColumnBaseProps, 'cell'> {
|
|
|
1227
1241
|
/**
|
|
1228
1242
|
* A collection of child columns.
|
|
1229
1243
|
*/
|
|
1230
|
-
children?: GridColumnProps[] | ReactElement<GridColumnProps>[];
|
|
1244
|
+
children?: GridColumnProps[] | ReactElement<GridColumnProps>[] | GridColumnChildrenProps[];
|
|
1231
1245
|
/**
|
|
1232
1246
|
* 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)).
|
|
1233
1247
|
*/
|
|
@@ -1480,7 +1494,7 @@ export declare interface GridCustomFooterCellProps extends GridFooterCellProps {
|
|
|
1480
1494
|
*/
|
|
1481
1495
|
export declare interface GridCustomHeaderCellProps extends GridHeaderCellProps {
|
|
1482
1496
|
/**
|
|
1483
|
-
* The props and attributes that are applied to the `th` element by default. The property should be used with the [HeaderThElement](slug:) component as demonstrated in [this example](slug:cells_grid#toc-group-header-group-footer-header-cell-footer-cell-filter-cell-and-data-cell).
|
|
1497
|
+
* The props and attributes that are applied to the `th` element by default. The property should be used with the [HeaderThElement](slug:api_data-tools_headerthelement) component as demonstrated in [this example](slug:cells_grid#toc-group-header-group-footer-header-cell-footer-cell-filter-cell-and-data-cell).
|
|
1484
1498
|
*/
|
|
1485
1499
|
thProps?: GridThAttributes | null;
|
|
1486
1500
|
/**
|
|
@@ -1498,7 +1512,7 @@ export declare interface GridCustomHeaderCellProps extends GridHeaderCellProps {
|
|
|
1498
1512
|
*/
|
|
1499
1513
|
export declare interface GridDataStateChangeEvent extends GridEvent {
|
|
1500
1514
|
/**
|
|
1501
|
-
* The [State]({% api_kendo-data-query_state %}) of the Grid based on the user action.
|
|
1515
|
+
* The [State]({% slug api_kendo-data-query_state %}) of the Grid based on the user action.
|
|
1502
1516
|
*/
|
|
1503
1517
|
dataState: State;
|
|
1504
1518
|
targetEvent?: PagerTargetEvent;
|
|
@@ -1685,7 +1699,7 @@ export declare interface GridFilterCellProps {
|
|
|
1685
1699
|
*/
|
|
1686
1700
|
export declare interface GridFilterChangeEvent extends GridEvent {
|
|
1687
1701
|
/**
|
|
1688
|
-
* The new [CompositeFilterDescriptor]({% api_kendo-data-query_compositefilterdescriptor %}) based on the user action.
|
|
1702
|
+
* The new [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}) based on the user action.
|
|
1689
1703
|
*/
|
|
1690
1704
|
filter: CompositeFilterDescriptor;
|
|
1691
1705
|
}
|
|
@@ -2160,7 +2174,7 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2160
2174
|
*/
|
|
2161
2175
|
filterable?: boolean;
|
|
2162
2176
|
/**
|
|
2163
|
-
* The [descriptor]({% api_kendo-data-query_compositefilterdescriptor %}) by which the data is filtered ([more information and examples]({% slug filtering_grid %})). This affects the values and buttons in the `FilterRow` of the Grid.
|
|
2177
|
+
* The [descriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}) by which the data is filtered ([more information and examples]({% slug filtering_grid %})). This affects the values and buttons in the `FilterRow` of the Grid.
|
|
2164
2178
|
*/
|
|
2165
2179
|
filter?: CompositeFilterDescriptor;
|
|
2166
2180
|
/**
|
|
@@ -2336,6 +2350,10 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2336
2350
|
* Fires when a header cell is about to be rendered. Overrides the default appearance of the header cell.
|
|
2337
2351
|
*/
|
|
2338
2352
|
headerCellRender?: (defaultRendering: React.ReactNode | null, props: GridHeaderCellProps) => React.ReactNode;
|
|
2353
|
+
/**
|
|
2354
|
+
* @hidden
|
|
2355
|
+
*/
|
|
2356
|
+
headerClassName?: string;
|
|
2339
2357
|
/**
|
|
2340
2358
|
* Fires when Grid is scrolled.
|
|
2341
2359
|
*/
|
|
@@ -2348,7 +2366,7 @@ export declare interface GridProps extends KendoReactComponentBaseProps {
|
|
|
2348
2366
|
* If set to `true`, the user can use dedicated shortcuts to interact with the Grid.
|
|
2349
2367
|
* By default, navigation is disabled and the Grid content is accessible in the normal tab sequence.
|
|
2350
2368
|
*/
|
|
2351
|
-
navigatable?: boolean;
|
|
2369
|
+
navigatable?: boolean | NavigatableSettings;
|
|
2352
2370
|
/**
|
|
2353
2371
|
* Fires when Grid keyboard navigation position is changed.
|
|
2354
2372
|
*/
|
package/package-metadata.mjs
CHANGED
|
@@ -10,7 +10,7 @@ const e = {
|
|
|
10
10
|
name: "@progress/kendo-react-grid",
|
|
11
11
|
productName: "KendoReact",
|
|
12
12
|
productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
|
|
13
|
-
publishDate:
|
|
13
|
+
publishDate: 1722844128,
|
|
14
14
|
version: "",
|
|
15
15
|
licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
|
|
16
16
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-react-grid",
|
|
3
|
-
"version": "8.2.0
|
|
3
|
+
"version": "8.2.0",
|
|
4
4
|
"description": "React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -25,15 +25,15 @@
|
|
|
25
25
|
"@progress/kendo-data-query": "^1.0.0",
|
|
26
26
|
"@progress/kendo-drawing": "^1.20.1",
|
|
27
27
|
"@progress/kendo-licensing": "^1.3.4",
|
|
28
|
-
"@progress/kendo-react-animation": "8.2.0
|
|
29
|
-
"@progress/kendo-react-buttons": "8.2.0
|
|
30
|
-
"@progress/kendo-react-common": "8.2.0
|
|
31
|
-
"@progress/kendo-react-data-tools": "8.2.0
|
|
32
|
-
"@progress/kendo-react-dateinputs": "8.2.0
|
|
33
|
-
"@progress/kendo-react-dropdowns": "8.2.0
|
|
34
|
-
"@progress/kendo-react-inputs": "8.2.0
|
|
35
|
-
"@progress/kendo-react-intl": "8.2.0
|
|
36
|
-
"@progress/kendo-react-popup": "8.2.0
|
|
28
|
+
"@progress/kendo-react-animation": "8.2.0",
|
|
29
|
+
"@progress/kendo-react-buttons": "8.2.0",
|
|
30
|
+
"@progress/kendo-react-common": "8.2.0",
|
|
31
|
+
"@progress/kendo-react-data-tools": "8.2.0",
|
|
32
|
+
"@progress/kendo-react-dateinputs": "8.2.0",
|
|
33
|
+
"@progress/kendo-react-dropdowns": "8.2.0",
|
|
34
|
+
"@progress/kendo-react-inputs": "8.2.0",
|
|
35
|
+
"@progress/kendo-react-intl": "8.2.0",
|
|
36
|
+
"@progress/kendo-react-popup": "8.2.0",
|
|
37
37
|
"@progress/kendo-svg-icons": "^3.0.0",
|
|
38
38
|
"react": "^16.8.2 || ^17.0.0 || ^18.0.0",
|
|
39
39
|
"react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
|
package/utils/index.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("../GridColumn.js"),g=require("@progress/kendo-react-data-tools");function f(e,r){const a=(e||"").split(".");let o=r;return a.forEach(d=>{o=o?o[d]:void 0}),o}function u(e,r,a,o,d,l,s=0){let t=s;for(let n=0;n<r.length;n++){if(!d||r[n].value===void 0||r[n].items===void 0){e[e.length]={dataIndex:o.index,dataItem:r[n],rowType:"data",level:s,expanded:l===void 0||f(l,r[n])},o.index++;continue}t=Math.max(t,s+1);const i=l===void 0||f(l,r[n])===void 0||f(l,r[n]);e[e.length]={dataIndex:-1,dataItem:r[n],level:s,rowType:"groupHeader",expanded:i},i&&(t=Math.max(u(e,r[n].items,a,o,d,l,s+1),t)),(a==="always"||i&&a==="visible")&&(e[e.length]={dataIndex:-1,dataItem:r[n],rowType:"groupFooter",level:s,expanded:i})}return t}function p(e,r,a,o=0){let d=[];if(!e)return[];e&&e.length===void 0&&(e=[e]),e.filter(t=>t&&t.props?!t.props.hidden:!t.hidden).forEach((t,n)=>{t=t.props?t.props:t;const i=r[n]||null,h=p(t.children,i&&i.children||[],a,o+1);d.push(Object.assign({depth:o},x.gridDefaultProps,h.length?{cell:()=>null,filterCell:()=>null}:{},i?{width:i.width,orderIndex:i.orderIndex}:{},t,{id:t.id?t.id:g.tableKeyboardNavigationTools.generateNavigatableId(`${a.prevId++}`,a.idPrefix,"column"),declarationIndex:d.length,children:h,rowSpan:0,colSpan:0,isAccessible:!0,left:i&&Math.floor(i.left),right:i&&Math.floor(i.right)}))});const s=(t,n)=>t.orderIndex===n.orderIndex?t.declarationIndex-n.declarationIndex:(t.orderIndex||0)-(n.orderIndex||0);if(d.sort(s),o===0){let t=[];const n=(i,h)=>i.forEach(c=>{c.parentIndex=h,n(c.children,t.push(c)-1)});return n(d,-1),t}return d}function v(e,r,a,o){let d=[];Array.isArray(e)?d=e:e&&(d=e.data);const l=[];if(d.length>0){let s=d[0];if(r)for(let n=0;n<r.length;n++)s=s.items&&s.items[0];Object.getOwnPropertyNames(s).forEach(n=>{n!==a&&l.push(Object.assign({id:g.tableKeyboardNavigationTools.generateNavigatableId(`${o.prevId++}`,o.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,rowSpan:0,index:0,left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0},x.gridDefaultProps,{field:n}))})}return l}const w=(e,r)=>{let a=e[r.parentIndex];for(;a;){if(a.footerCell)return!0;a=e[a.parentIndex]}return!1},y=e=>e.filter(r=>w(e,r)?!1:!!r.footerCell||!(r.children&&r.children.length>0)),b=e=>e.width!==void 0?Math.floor(parseFloat(e.width.toString()))+"px":void 0,I=e=>(e.sort((r,a)=>r.declarationIndex-a.declarationIndex),e.map(r=>{const{declarationIndex:a,parentIndex:o,depth:d,colSpan:l,rowSpan:s,index:t,kFirst:n,children:i,...h}=r;return i.length?{children:I(i),...h}:h})),m=typeof window!="undefined"&&/Firefox/.test(window.navigator.userAgent),S=17895697,C=(e,r)=>{if(!(!e&&!r))return r?e?{...e,...r,select:{...e.select||{},...r.select||{}},hierarchy:{...e.hierarchy||{},...r.hierarchy||{}},group:{...e.group||{},...r.group||{}},edit:{...e.edit||{},...r.edit||{}}}:r:e};exports.autoGenerateColumns=v;exports.firefox=m;exports.firefoxMaxHeight=S;exports.flatData=u;exports.footerColumns=y;exports.getColumnWidth=b;exports.getNestedValue=f;exports.readColumns=p;exports.resolveCells=C;exports.sanitizeColumns=I;
|
package/utils/index.mjs
CHANGED
|
@@ -6,99 +6,99 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
import { gridDefaultProps as
|
|
10
|
-
import { tableKeyboardNavigationTools as
|
|
11
|
-
function
|
|
9
|
+
import { gridDefaultProps as x } from "../GridColumn.mjs";
|
|
10
|
+
import { tableKeyboardNavigationTools as p } from "@progress/kendo-react-data-tools";
|
|
11
|
+
function l(e, r) {
|
|
12
12
|
const a = (e || "").split(".");
|
|
13
|
-
let
|
|
14
|
-
return a.forEach((
|
|
15
|
-
|
|
16
|
-
}),
|
|
13
|
+
let o = r;
|
|
14
|
+
return a.forEach((d) => {
|
|
15
|
+
o = o ? o[d] : void 0;
|
|
16
|
+
}), o;
|
|
17
17
|
}
|
|
18
|
-
function g(e, r, a,
|
|
19
|
-
let
|
|
20
|
-
for (let
|
|
21
|
-
if (!
|
|
18
|
+
function g(e, r, a, o, d, s, h = 0) {
|
|
19
|
+
let t = h;
|
|
20
|
+
for (let n = 0; n < r.length; n++) {
|
|
21
|
+
if (!d || r[n].value === void 0 || r[n].items === void 0) {
|
|
22
22
|
e[e.length] = {
|
|
23
|
-
dataIndex:
|
|
24
|
-
dataItem: r[
|
|
23
|
+
dataIndex: o.index,
|
|
24
|
+
dataItem: r[n],
|
|
25
25
|
rowType: "data",
|
|
26
|
-
level:
|
|
27
|
-
expanded:
|
|
28
|
-
},
|
|
26
|
+
level: h,
|
|
27
|
+
expanded: s === void 0 || l(s, r[n])
|
|
28
|
+
}, o.index++;
|
|
29
29
|
continue;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
const
|
|
31
|
+
t = Math.max(t, h + 1);
|
|
32
|
+
const i = s === void 0 || l(s, r[n]) === void 0 || l(s, r[n]);
|
|
33
33
|
e[e.length] = {
|
|
34
34
|
dataIndex: -1,
|
|
35
|
-
dataItem: r[
|
|
36
|
-
level:
|
|
35
|
+
dataItem: r[n],
|
|
36
|
+
level: h,
|
|
37
37
|
rowType: "groupHeader",
|
|
38
|
-
expanded:
|
|
39
|
-
},
|
|
40
|
-
g(e, r[
|
|
41
|
-
|
|
42
|
-
)), (a === "always" ||
|
|
38
|
+
expanded: i
|
|
39
|
+
}, i && (t = Math.max(
|
|
40
|
+
g(e, r[n].items, a, o, d, s, h + 1),
|
|
41
|
+
t
|
|
42
|
+
)), (a === "always" || i && a === "visible") && (e[e.length] = {
|
|
43
43
|
dataIndex: -1,
|
|
44
|
-
dataItem: r[
|
|
44
|
+
dataItem: r[n],
|
|
45
45
|
rowType: "groupFooter",
|
|
46
|
-
level:
|
|
47
|
-
expanded:
|
|
46
|
+
level: h,
|
|
47
|
+
expanded: i
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
|
-
return
|
|
50
|
+
return t;
|
|
51
51
|
}
|
|
52
|
-
function I(e, r, a,
|
|
53
|
-
let
|
|
52
|
+
function I(e, r, a, o = 0) {
|
|
53
|
+
let d = [];
|
|
54
54
|
if (!e)
|
|
55
55
|
return [];
|
|
56
|
-
e && e.length === void 0 && (e = [e]), e.forEach((
|
|
57
|
-
|
|
58
|
-
const
|
|
59
|
-
|
|
56
|
+
e && e.length === void 0 && (e = [e]), e.filter((t) => t && t.props ? !t.props.hidden : !t.hidden).forEach((t, n) => {
|
|
57
|
+
t = t.props ? t.props : t;
|
|
58
|
+
const i = r[n] || null, f = I(t.children, i && i.children || [], a, o + 1);
|
|
59
|
+
d.push(
|
|
60
60
|
Object.assign(
|
|
61
|
-
{ depth:
|
|
62
|
-
|
|
61
|
+
{ depth: o },
|
|
62
|
+
x,
|
|
63
63
|
f.length ? { cell: () => null, filterCell: () => null } : {},
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
i ? { width: i.width, orderIndex: i.orderIndex } : {},
|
|
65
|
+
t,
|
|
66
66
|
{
|
|
67
|
-
id:
|
|
68
|
-
declarationIndex:
|
|
67
|
+
id: t.id ? t.id : p.generateNavigatableId(`${a.prevId++}`, a.idPrefix, "column"),
|
|
68
|
+
declarationIndex: d.length,
|
|
69
69
|
children: f,
|
|
70
70
|
rowSpan: 0,
|
|
71
71
|
colSpan: 0,
|
|
72
72
|
isAccessible: !0,
|
|
73
|
-
left:
|
|
74
|
-
right:
|
|
73
|
+
left: i && Math.floor(i.left),
|
|
74
|
+
right: i && Math.floor(i.right)
|
|
75
75
|
}
|
|
76
76
|
)
|
|
77
77
|
);
|
|
78
78
|
});
|
|
79
|
-
const h = (
|
|
80
|
-
if (
|
|
81
|
-
let
|
|
82
|
-
const
|
|
83
|
-
|
|
79
|
+
const h = (t, n) => t.orderIndex === n.orderIndex ? t.declarationIndex - n.declarationIndex : (t.orderIndex || 0) - (n.orderIndex || 0);
|
|
80
|
+
if (d.sort(h), o === 0) {
|
|
81
|
+
let t = [];
|
|
82
|
+
const n = (i, f) => i.forEach((c) => {
|
|
83
|
+
c.parentIndex = f, n(c.children, t.push(c) - 1);
|
|
84
84
|
});
|
|
85
|
-
return d
|
|
85
|
+
return n(d, -1), t;
|
|
86
86
|
}
|
|
87
|
-
return
|
|
87
|
+
return d;
|
|
88
88
|
}
|
|
89
|
-
function
|
|
90
|
-
let
|
|
91
|
-
Array.isArray(e) ?
|
|
92
|
-
const
|
|
93
|
-
if (
|
|
94
|
-
let
|
|
89
|
+
function b(e, r, a, o) {
|
|
90
|
+
let d = [];
|
|
91
|
+
Array.isArray(e) ? d = e : e && (d = e.data);
|
|
92
|
+
const s = [];
|
|
93
|
+
if (d.length > 0) {
|
|
94
|
+
let h = d[0];
|
|
95
95
|
if (r)
|
|
96
|
-
for (let
|
|
97
|
-
|
|
98
|
-
Object.getOwnPropertyNames(
|
|
99
|
-
|
|
96
|
+
for (let n = 0; n < r.length; n++)
|
|
97
|
+
h = h.items && h.items[0];
|
|
98
|
+
Object.getOwnPropertyNames(h).forEach((n) => {
|
|
99
|
+
n !== a && s.push(Object.assign(
|
|
100
100
|
{
|
|
101
|
-
id:
|
|
101
|
+
id: p.generateNavigatableId(`${o.prevId++}`, o.idPrefix, "column"),
|
|
102
102
|
declarationIndex: -1,
|
|
103
103
|
parentIndex: -1,
|
|
104
104
|
depth: 0,
|
|
@@ -112,14 +112,14 @@ function y(e, r, a, i) {
|
|
|
112
112
|
ariaColumnIndex: 0,
|
|
113
113
|
isAccessible: !0
|
|
114
114
|
},
|
|
115
|
-
|
|
116
|
-
{ field:
|
|
115
|
+
x,
|
|
116
|
+
{ field: n }
|
|
117
117
|
));
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
|
-
return
|
|
120
|
+
return s;
|
|
121
121
|
}
|
|
122
|
-
const
|
|
122
|
+
const v = (e, r) => {
|
|
123
123
|
let a = e[r.parentIndex];
|
|
124
124
|
for (; a; ) {
|
|
125
125
|
if (a.footerCell)
|
|
@@ -127,22 +127,22 @@ const p = (e, r) => {
|
|
|
127
127
|
a = e[a.parentIndex];
|
|
128
128
|
}
|
|
129
129
|
return !1;
|
|
130
|
-
},
|
|
130
|
+
}, S = (e) => e.filter((r) => v(e, r) ? !1 : !!r.footerCell || !(r.children && r.children.length > 0)), m = (e) => e.width !== void 0 ? Math.floor(parseFloat(e.width.toString())) + "px" : void 0, w = (e) => (e.sort((r, a) => r.declarationIndex - a.declarationIndex), e.map((r) => {
|
|
131
131
|
const {
|
|
132
132
|
declarationIndex: a,
|
|
133
|
-
parentIndex:
|
|
134
|
-
depth:
|
|
135
|
-
colSpan:
|
|
136
|
-
rowSpan:
|
|
137
|
-
index:
|
|
138
|
-
kFirst:
|
|
139
|
-
children:
|
|
140
|
-
...
|
|
133
|
+
parentIndex: o,
|
|
134
|
+
depth: d,
|
|
135
|
+
colSpan: s,
|
|
136
|
+
rowSpan: h,
|
|
137
|
+
index: t,
|
|
138
|
+
kFirst: n,
|
|
139
|
+
children: i,
|
|
140
|
+
...f
|
|
141
141
|
} = r;
|
|
142
|
-
return
|
|
143
|
-
children: w(
|
|
144
|
-
...
|
|
145
|
-
} :
|
|
142
|
+
return i.length ? {
|
|
143
|
+
children: w(i),
|
|
144
|
+
...f
|
|
145
|
+
} : f;
|
|
146
146
|
})), F = typeof window != "undefined" && /Firefox/.test(window.navigator.userAgent), M = 17895697, A = (e, r) => {
|
|
147
147
|
if (!(!e && !r))
|
|
148
148
|
return r ? e ? {
|
|
@@ -167,13 +167,13 @@ const p = (e, r) => {
|
|
|
167
167
|
} : r : e;
|
|
168
168
|
};
|
|
169
169
|
export {
|
|
170
|
-
|
|
170
|
+
b as autoGenerateColumns,
|
|
171
171
|
F as firefox,
|
|
172
172
|
M as firefoxMaxHeight,
|
|
173
173
|
g as flatData,
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
174
|
+
S as footerColumns,
|
|
175
|
+
m as getColumnWidth,
|
|
176
|
+
l as getNestedValue,
|
|
177
177
|
I as readColumns,
|
|
178
178
|
A as resolveCells,
|
|
179
179
|
w as sanitizeColumns
|