@progress/kendo-react-grid 5.20.0-dev.202310040609 → 5.20.0-dev.202310061256

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/dist/es/Grid.js CHANGED
@@ -637,7 +637,7 @@ var Grid = /** @class */ (function (_super) {
637
637
  var statusBar = children.filter(function (child) { return child && child.type &&
638
638
  child.type.displayName === 'KendoReactGridStatusBar'; });
639
639
  var leafColumns = this._columns.filter(function (c) { return c.children.length === 0; });
640
- var groupingPanel = groupable && (React.createElement(GroupPanel, { group: this.props.group || [], groupChange: this.groupChange, pressHandler: this.dragLogic.pressHandler, dragHandler: this.dragLogic.dragHandler, releaseHandler: this.dragLogic.releaseHandler, refCallback: this.dragLogic.refGroupPanelDiv, resolveTitle: this.resolveTitle, ariaControls: this._gridRoleElementId }));
640
+ var groupingPanel = groupable && (React.createElement(GroupPanel, { group: this.props.group || [], groupChange: this.groupChange, pressHandler: this.dragLogic.pressHandler, dragHandler: this.dragLogic.dragHandler, releaseHandler: this.dragLogic.releaseHandler, refCallback: this.dragLogic.refGroupPanelDiv, resolveTitle: this.resolveTitle, ariaControls: this._gridRoleElementId, onContextMenu: this.onContextMenu }));
641
641
  var _g = this.props, sort = _g.sort, sortable = _g.sortable, group = _g.group, filter = _g.filter, filterable = _g.filterable, _h = _g.filterOperators, filterOperators = _h === void 0 ? operators : _h, headerCellRender = _g.headerCellRender, columnMenu = _g.columnMenu;
642
642
  var header = (React.createElement(Header, { size: this.props.size, columnResize: this.columnResize, staticHeaders: this.props.scrollable !== 'none', scrollableDataElement: function () { return _this.vs.container; }, draggable: this.props.reorderable || groupable, ref: this.headerRef, elemRef: this.headerElementRef, headerRow: this.getHeaderRow(sort, sortable, group, groupable, filter, filterable, filterOperators, headerCellRender, columnMenu, this._columns, this._columnsMap, this.isRtl), filterRow: this.props.filterable && React.createElement(FilterRow, { cells: this.props.cells, size: this.props.size, columns: this._columns, filter: this.props.filter, filterOperators: this.props.filterOperators || operators, filterChange: this.filterChange, sort: this.props.sort, cellRender: this.props.filterCellRender, isRtl: this.isRtl, ariaRowIndex: this._columnsMap.length + 1 }) || undefined, cols: leafColumns.map(function (column, index) { return (React.createElement("col", { key: index.toString(), width: getColumnWidth(column) })); }) }));
643
643
  var scrollLeft = this.vs && this.vs.container && this.vs.container.scrollLeft || 0;
@@ -3,10 +3,12 @@ import * as React from 'react';
3
3
  * @hidden
4
4
  */
5
5
  export interface GroupingIndicatorProps {
6
+ index: number;
6
7
  title: string;
7
8
  dir: 'asc' | 'desc';
8
9
  onRemove?: (event: React.MouseEvent<HTMLButtonElement>) => void;
9
10
  onSortChange?: (event: React.MouseEvent<HTMLDivElement>, dir: string) => void;
11
+ onContextMenu?: (event: React.MouseEvent<HTMLElement>, dataItem: any) => void;
10
12
  onDrag?: (draggableEvent: any, element: HTMLDivElement) => void;
11
13
  onPress?: (draggableEvent: any, element: HTMLDivElement) => void;
12
14
  onRelease?: (draggableEvent: any) => void;
@@ -30,5 +32,6 @@ export declare class GroupingIndicator extends React.Component<GroupingIndicator
30
32
  onRelease: (data: any) => void;
31
33
  sortChange: (event: React.MouseEvent<HTMLDivElement>) => void;
32
34
  groupRemove: (event: React.MouseEvent<HTMLButtonElement>) => void;
35
+ onContextMenu: (event: React.MouseEvent<HTMLElement>) => void;
33
36
  render(): JSX.Element;
34
37
  }
@@ -13,6 +13,17 @@ var __extends = (this && this.__extends) || (function () {
13
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
14
  };
15
15
  })();
16
+ var __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
16
27
  import * as React from 'react';
17
28
  import { Draggable, IconWrap } from '@progress/kendo-react-common';
18
29
  import { registerForLocalization } from '@progress/kendo-react-intl';
@@ -66,13 +77,23 @@ var GroupingIndicator = /** @class */ (function (_super) {
66
77
  _this.props.onRemove(event);
67
78
  }
68
79
  };
80
+ _this.onContextMenu = function (event) {
81
+ var dataItem = {
82
+ title: _this.props.title,
83
+ dir: _this.props.dir,
84
+ index: _this.props.index
85
+ };
86
+ if (_this.props.onContextMenu) {
87
+ _this.props.onContextMenu.call(undefined, event, { dataItem: __assign({}, dataItem) });
88
+ }
89
+ };
69
90
  return _this;
70
91
  }
71
92
  GroupingIndicator.prototype.render = function () {
72
93
  var _this = this;
73
94
  var dir = this.props.dir;
74
95
  return (React.createElement(Draggable, { onPress: this.onPress, onDrag: this.onDrag, onRelease: this.onRelease, ref: function (component) { _this.draggable = component; } },
75
- React.createElement("div", { className: "k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md", onClick: this.sortChange, role: "button", style: { touchAction: 'none' } },
96
+ React.createElement("div", { className: "k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md", onClick: this.sortChange, onContextMenu: this.onContextMenu, role: "button", style: { touchAction: 'none' } },
76
97
  React.createElement("span", null,
77
98
  React.createElement(IconWrap, { name: 'sort-' + dir + '-small', icon: dir === 'asc' ? sortAscSmallIcon : sortDescSmallIcon, size: 'small' })),
78
99
  React.createElement("span", { className: 'k-chip-content' }, this.props.title),
@@ -9,6 +9,7 @@ export interface GroupPanelProps extends ColumnDraggableProps {
9
9
  groupChange: (groups: GroupDescriptor[], event: React.MouseEvent<HTMLElement>) => void;
10
10
  refCallback: (e: HTMLDivElement | null) => void;
11
11
  resolveTitle: (field: string) => string;
12
+ onContextMenu?: (event: React.MouseEvent<HTMLElement>, dataItem: any, field?: string) => void;
12
13
  ariaControls: string;
13
14
  }
14
15
  /**
@@ -40,11 +40,11 @@ var GroupPanel = /** @class */ (function (_super) {
40
40
  GroupPanel.prototype.render = function () {
41
41
  var _this = this;
42
42
  var groupsProp = this.props.group || [];
43
- var groups = groupsProp.map(function (groupDesc, index) { return (React.createElement(GroupingIndicator, { key: index, dir: groupDesc.dir || 'asc', title: _this.props.resolveTitle(groupDesc.field), onRemove: function (event) {
43
+ var groups = groupsProp.map(function (groupDesc, index) { return (React.createElement(GroupingIndicator, { key: index, index: index, dir: groupDesc.dir || 'asc', title: _this.props.resolveTitle(groupDesc.field), onRemove: function (event) {
44
44
  _this.onGroupRemove(event, index);
45
45
  }, onSortChange: function (event, dir) {
46
46
  _this.onGroupSortChange(event, index, groupDesc, dir);
47
- }, onPress: _this.props.pressHandler, onDrag: _this.props.dragHandler, onRelease: _this.props.releaseHandler })); });
47
+ }, onPress: _this.props.pressHandler, onDrag: _this.props.dragHandler, onRelease: _this.props.releaseHandler, onContextMenu: _this.props.onContextMenu })); });
48
48
  return (React.createElement("div", { ref: this.props.refCallback, className: "k-grouping-header", role: "toolbar", "aria-label": intl(this).toLanguageString(groupPanelAriaLabel, messages[groupPanelAriaLabel]), "aria-controls": this.props.ariaControls || '' },
49
49
  React.createElement("div", { className: "k-chip-list k-chip-list-md", role: "none" }, groups),
50
50
  React.createElement("div", { className: "k-grouping-drop-container" },
@@ -102,7 +102,8 @@ var HeaderRow = /** @class */ (function (_super) {
102
102
  field: column.field,
103
103
  title: column.title,
104
104
  locked: column.locked,
105
- filter: column.filter
105
+ filter: column.filter,
106
+ id: column.id
106
107
  },
107
108
  sortable: sortable && _this.props.sortable,
108
109
  sort: _this.props.sort,
@@ -18,4 +18,8 @@ export interface GridColumnMenuColumnProps {
18
18
  * @hidden
19
19
  */
20
20
  title?: string;
21
+ /**
22
+ * The column id.
23
+ */
24
+ id?: string;
21
25
  }
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-react-grid',
6
6
  productName: 'KendoReact',
7
7
  productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
8
- publishDate: 1696398308,
8
+ publishDate: 1696595463,
9
9
  version: '',
10
10
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
11
11
  };
package/dist/npm/Grid.js CHANGED
@@ -640,7 +640,7 @@ var Grid = /** @class */ (function (_super) {
640
640
  var statusBar = children.filter(function (child) { return child && child.type &&
641
641
  child.type.displayName === 'KendoReactGridStatusBar'; });
642
642
  var leafColumns = this._columns.filter(function (c) { return c.children.length === 0; });
643
- var groupingPanel = groupable && (React.createElement(GroupPanel_1.GroupPanel, { group: this.props.group || [], groupChange: this.groupChange, pressHandler: this.dragLogic.pressHandler, dragHandler: this.dragLogic.dragHandler, releaseHandler: this.dragLogic.releaseHandler, refCallback: this.dragLogic.refGroupPanelDiv, resolveTitle: this.resolveTitle, ariaControls: this._gridRoleElementId }));
643
+ var groupingPanel = groupable && (React.createElement(GroupPanel_1.GroupPanel, { group: this.props.group || [], groupChange: this.groupChange, pressHandler: this.dragLogic.pressHandler, dragHandler: this.dragLogic.dragHandler, releaseHandler: this.dragLogic.releaseHandler, refCallback: this.dragLogic.refGroupPanelDiv, resolveTitle: this.resolveTitle, ariaControls: this._gridRoleElementId, onContextMenu: this.onContextMenu }));
644
644
  var _g = this.props, sort = _g.sort, sortable = _g.sortable, group = _g.group, filter = _g.filter, filterable = _g.filterable, _h = _g.filterOperators, filterOperators = _h === void 0 ? filterCommon_1.operators : _h, headerCellRender = _g.headerCellRender, columnMenu = _g.columnMenu;
645
645
  var header = (React.createElement(Header_1.Header, { size: this.props.size, columnResize: this.columnResize, staticHeaders: this.props.scrollable !== 'none', scrollableDataElement: function () { return _this.vs.container; }, draggable: this.props.reorderable || groupable, ref: this.headerRef, elemRef: this.headerElementRef, headerRow: this.getHeaderRow(sort, sortable, group, groupable, filter, filterable, filterOperators, headerCellRender, columnMenu, this._columns, this._columnsMap, this.isRtl), filterRow: this.props.filterable && React.createElement(FilterRow_1.FilterRow, { cells: this.props.cells, size: this.props.size, columns: this._columns, filter: this.props.filter, filterOperators: this.props.filterOperators || filterCommon_1.operators, filterChange: this.filterChange, sort: this.props.sort, cellRender: this.props.filterCellRender, isRtl: this.isRtl, ariaRowIndex: this._columnsMap.length + 1 }) || undefined, cols: leafColumns.map(function (column, index) { return (React.createElement("col", { key: index.toString(), width: (0, index_1.getColumnWidth)(column) })); }) }));
646
646
  var scrollLeft = this.vs && this.vs.container && this.vs.container.scrollLeft || 0;
@@ -3,10 +3,12 @@ import * as React from 'react';
3
3
  * @hidden
4
4
  */
5
5
  export interface GroupingIndicatorProps {
6
+ index: number;
6
7
  title: string;
7
8
  dir: 'asc' | 'desc';
8
9
  onRemove?: (event: React.MouseEvent<HTMLButtonElement>) => void;
9
10
  onSortChange?: (event: React.MouseEvent<HTMLDivElement>, dir: string) => void;
11
+ onContextMenu?: (event: React.MouseEvent<HTMLElement>, dataItem: any) => void;
10
12
  onDrag?: (draggableEvent: any, element: HTMLDivElement) => void;
11
13
  onPress?: (draggableEvent: any, element: HTMLDivElement) => void;
12
14
  onRelease?: (draggableEvent: any) => void;
@@ -30,5 +32,6 @@ export declare class GroupingIndicator extends React.Component<GroupingIndicator
30
32
  onRelease: (data: any) => void;
31
33
  sortChange: (event: React.MouseEvent<HTMLDivElement>) => void;
32
34
  groupRemove: (event: React.MouseEvent<HTMLButtonElement>) => void;
35
+ onContextMenu: (event: React.MouseEvent<HTMLElement>) => void;
33
36
  render(): JSX.Element;
34
37
  }
@@ -14,6 +14,17 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
17
28
  Object.defineProperty(exports, "__esModule", { value: true });
18
29
  exports.GroupingIndicator = void 0;
19
30
  var React = require("react");
@@ -69,13 +80,23 @@ var GroupingIndicator = /** @class */ (function (_super) {
69
80
  _this.props.onRemove(event);
70
81
  }
71
82
  };
83
+ _this.onContextMenu = function (event) {
84
+ var dataItem = {
85
+ title: _this.props.title,
86
+ dir: _this.props.dir,
87
+ index: _this.props.index
88
+ };
89
+ if (_this.props.onContextMenu) {
90
+ _this.props.onContextMenu.call(undefined, event, { dataItem: __assign({}, dataItem) });
91
+ }
92
+ };
72
93
  return _this;
73
94
  }
74
95
  GroupingIndicator.prototype.render = function () {
75
96
  var _this = this;
76
97
  var dir = this.props.dir;
77
98
  return (React.createElement(kendo_react_common_1.Draggable, { onPress: this.onPress, onDrag: this.onDrag, onRelease: this.onRelease, ref: function (component) { _this.draggable = component; } },
78
- React.createElement("div", { className: "k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md", onClick: this.sortChange, role: "button", style: { touchAction: 'none' } },
99
+ React.createElement("div", { className: "k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md", onClick: this.sortChange, onContextMenu: this.onContextMenu, role: "button", style: { touchAction: 'none' } },
79
100
  React.createElement("span", null,
80
101
  React.createElement(kendo_react_common_1.IconWrap, { name: 'sort-' + dir + '-small', icon: dir === 'asc' ? kendo_svg_icons_1.sortAscSmallIcon : kendo_svg_icons_1.sortDescSmallIcon, size: 'small' })),
81
102
  React.createElement("span", { className: 'k-chip-content' }, this.props.title),
@@ -9,6 +9,7 @@ export interface GroupPanelProps extends ColumnDraggableProps {
9
9
  groupChange: (groups: GroupDescriptor[], event: React.MouseEvent<HTMLElement>) => void;
10
10
  refCallback: (e: HTMLDivElement | null) => void;
11
11
  resolveTitle: (field: string) => string;
12
+ onContextMenu?: (event: React.MouseEvent<HTMLElement>, dataItem: any, field?: string) => void;
12
13
  ariaControls: string;
13
14
  }
14
15
  /**
@@ -43,11 +43,11 @@ var GroupPanel = /** @class */ (function (_super) {
43
43
  GroupPanel.prototype.render = function () {
44
44
  var _this = this;
45
45
  var groupsProp = this.props.group || [];
46
- var groups = groupsProp.map(function (groupDesc, index) { return (React.createElement(GroupingIndicator_1.GroupingIndicator, { key: index, dir: groupDesc.dir || 'asc', title: _this.props.resolveTitle(groupDesc.field), onRemove: function (event) {
46
+ var groups = groupsProp.map(function (groupDesc, index) { return (React.createElement(GroupingIndicator_1.GroupingIndicator, { key: index, index: index, dir: groupDesc.dir || 'asc', title: _this.props.resolveTitle(groupDesc.field), onRemove: function (event) {
47
47
  _this.onGroupRemove(event, index);
48
48
  }, onSortChange: function (event, dir) {
49
49
  _this.onGroupSortChange(event, index, groupDesc, dir);
50
- }, onPress: _this.props.pressHandler, onDrag: _this.props.dragHandler, onRelease: _this.props.releaseHandler })); });
50
+ }, onPress: _this.props.pressHandler, onDrag: _this.props.dragHandler, onRelease: _this.props.releaseHandler, onContextMenu: _this.props.onContextMenu })); });
51
51
  return (React.createElement("div", { ref: this.props.refCallback, className: "k-grouping-header", role: "toolbar", "aria-label": (0, kendo_react_intl_1.provideLocalizationService)(this).toLanguageString(messages_1.groupPanelAriaLabel, messages_1.messages[messages_1.groupPanelAriaLabel]), "aria-controls": this.props.ariaControls || '' },
52
52
  React.createElement("div", { className: "k-chip-list k-chip-list-md", role: "none" }, groups),
53
53
  React.createElement("div", { className: "k-grouping-drop-container" },
@@ -105,7 +105,8 @@ var HeaderRow = /** @class */ (function (_super) {
105
105
  field: column.field,
106
106
  title: column.title,
107
107
  locked: column.locked,
108
- filter: column.filter
108
+ filter: column.filter,
109
+ id: column.id
109
110
  },
110
111
  sortable: sortable && _this.props.sortable,
111
112
  sort: _this.props.sort,
@@ -18,4 +18,8 @@ export interface GridColumnMenuColumnProps {
18
18
  * @hidden
19
19
  */
20
20
  title?: string;
21
+ /**
22
+ * The column id.
23
+ */
24
+ id?: string;
21
25
  }
@@ -8,7 +8,7 @@ exports.packageMetadata = {
8
8
  name: '@progress/kendo-react-grid',
9
9
  productName: 'KendoReact',
10
10
  productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
11
- publishDate: 1696398308,
11
+ publishDate: 1696595463,
12
12
  version: '',
13
13
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
14
14
  };