@progress/kendo-react-data-tools 5.5.0-dev.202206271130 → 5.5.0-dev.202207010714
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/cdn/js/kendo-react-data-tools.js +1 -1
- package/dist/es/columnmenu/ColumnMenu.js +9 -1
- package/dist/es/package-metadata.js +1 -1
- package/dist/npm/columnmenu/ColumnMenu.js +9 -1
- package/dist/npm/package-metadata.js +1 -1
- package/dist/systemjs/kendo-react-data-tools.js +1 -1
- package/package.json +10 -10
|
@@ -51,6 +51,7 @@ var ColumnMenuWrapper = function (props) {
|
|
|
51
51
|
var anchor = React.useRef(null);
|
|
52
52
|
var popupRef = React.useRef(null);
|
|
53
53
|
var blurTimeout = React.useRef(null);
|
|
54
|
+
var willBlur = React.useRef(false);
|
|
54
55
|
var menuFilter = React.useCallback(function () {
|
|
55
56
|
return (filter || []).find(function (f) { return f.filters.every(function (inF) { return !isCompositeFilterDescriptor(inF) && inF.field === field; }); });
|
|
56
57
|
}, [filter, field]);
|
|
@@ -58,10 +59,17 @@ var ColumnMenuWrapper = function (props) {
|
|
|
58
59
|
setShow(false);
|
|
59
60
|
}, []);
|
|
60
61
|
var onBlur = React.useCallback(function () {
|
|
62
|
+
if (willBlur.current) {
|
|
63
|
+
willBlur.current = false;
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
61
66
|
clearTimeout(blurTimeout.current);
|
|
62
67
|
blurTimeout.current = window.setTimeout(function () { closeMenu(); });
|
|
63
68
|
}, [closeMenu]);
|
|
64
69
|
var onFocus = React.useCallback(function () { return clearTimeout(blurTimeout.current); }, []);
|
|
70
|
+
var onAnchorMouseDown = React.useCallback(function (event) {
|
|
71
|
+
willBlur.current = show && event.currentTarget === anchor.current;
|
|
72
|
+
}, [show]);
|
|
65
73
|
var onColumnMenuButtonClick = React.useCallback(function () {
|
|
66
74
|
setShow(!show);
|
|
67
75
|
if (field && initialFilter) {
|
|
@@ -156,7 +164,7 @@ var ColumnMenuWrapper = function (props) {
|
|
|
156
164
|
SecondFilterComponent &&
|
|
157
165
|
React.createElement(SecondFilterComponent, { filter: currentFilter.filters[1], onFilterChange: filterChange })))) : null;
|
|
158
166
|
var menuItems = [sorting, filtering];
|
|
159
|
-
var button = (React.createElement("span", { ref: anchor, onClick: onColumnMenuButtonClick, className: 'k-grid-column-menu k-grid-filter' + (Boolean(menuFilter()) ? ' k-active' : ''), key: "button" },
|
|
167
|
+
var button = (React.createElement("span", { ref: anchor, onClick: onColumnMenuButtonClick, onMouseDown: onAnchorMouseDown, className: 'k-grid-column-menu k-grid-filter' + (Boolean(menuFilter()) ? ' k-active' : ''), key: "button" },
|
|
160
168
|
React.createElement("span", { className: "k-icon k-i-more-vertical" })));
|
|
161
169
|
var popup = (React.createElement(Popup, { anchor: anchor.current, show: show, key: "popup" },
|
|
162
170
|
React.createElement("div", { className: "k-grid-columnmenu-popup", ref: popupRef, tabIndex: 0, onBlur: onBlur, onFocus: onFocus, style: { outline: 'none' } }, props.itemsRender ?
|
|
@@ -5,7 +5,7 @@ export var packageMetadata = {
|
|
|
5
5
|
name: '@progress/kendo-react-data-tools',
|
|
6
6
|
productName: 'KendoReact',
|
|
7
7
|
productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
|
|
8
|
-
publishDate:
|
|
8
|
+
publishDate: 1656658690,
|
|
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
|
};
|
|
@@ -54,6 +54,7 @@ var ColumnMenuWrapper = function (props) {
|
|
|
54
54
|
var anchor = React.useRef(null);
|
|
55
55
|
var popupRef = React.useRef(null);
|
|
56
56
|
var blurTimeout = React.useRef(null);
|
|
57
|
+
var willBlur = React.useRef(false);
|
|
57
58
|
var menuFilter = React.useCallback(function () {
|
|
58
59
|
return (filter || []).find(function (f) { return f.filters.every(function (inF) { return !(0, kendo_data_query_1.isCompositeFilterDescriptor)(inF) && inF.field === field; }); });
|
|
59
60
|
}, [filter, field]);
|
|
@@ -61,10 +62,17 @@ var ColumnMenuWrapper = function (props) {
|
|
|
61
62
|
setShow(false);
|
|
62
63
|
}, []);
|
|
63
64
|
var onBlur = React.useCallback(function () {
|
|
65
|
+
if (willBlur.current) {
|
|
66
|
+
willBlur.current = false;
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
64
69
|
clearTimeout(blurTimeout.current);
|
|
65
70
|
blurTimeout.current = window.setTimeout(function () { closeMenu(); });
|
|
66
71
|
}, [closeMenu]);
|
|
67
72
|
var onFocus = React.useCallback(function () { return clearTimeout(blurTimeout.current); }, []);
|
|
73
|
+
var onAnchorMouseDown = React.useCallback(function (event) {
|
|
74
|
+
willBlur.current = show && event.currentTarget === anchor.current;
|
|
75
|
+
}, [show]);
|
|
68
76
|
var onColumnMenuButtonClick = React.useCallback(function () {
|
|
69
77
|
setShow(!show);
|
|
70
78
|
if (field && initialFilter) {
|
|
@@ -159,7 +167,7 @@ var ColumnMenuWrapper = function (props) {
|
|
|
159
167
|
SecondFilterComponent &&
|
|
160
168
|
React.createElement(SecondFilterComponent, { filter: currentFilter.filters[1], onFilterChange: filterChange })))) : null;
|
|
161
169
|
var menuItems = [sorting, filtering];
|
|
162
|
-
var button = (React.createElement("span", { ref: anchor, onClick: onColumnMenuButtonClick, className: 'k-grid-column-menu k-grid-filter' + (Boolean(menuFilter()) ? ' k-active' : ''), key: "button" },
|
|
170
|
+
var button = (React.createElement("span", { ref: anchor, onClick: onColumnMenuButtonClick, onMouseDown: onAnchorMouseDown, className: 'k-grid-column-menu k-grid-filter' + (Boolean(menuFilter()) ? ' k-active' : ''), key: "button" },
|
|
163
171
|
React.createElement("span", { className: "k-icon k-i-more-vertical" })));
|
|
164
172
|
var popup = (React.createElement(kendo_react_popup_1.Popup, { anchor: anchor.current, show: show, key: "popup" },
|
|
165
173
|
React.createElement("div", { className: "k-grid-columnmenu-popup", ref: popupRef, tabIndex: 0, onBlur: onBlur, onFocus: onFocus, style: { outline: 'none' } }, props.itemsRender ?
|
|
@@ -8,7 +8,7 @@ exports.packageMetadata = {
|
|
|
8
8
|
name: '@progress/kendo-react-data-tools',
|
|
9
9
|
productName: 'KendoReact',
|
|
10
10
|
productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
|
|
11
|
-
publishDate:
|
|
11
|
+
publishDate: 1656658690,
|
|
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
|
};
|