@progress/kendo-react-grid 11.0.0-develop.19 → 11.0.0-develop.20
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/GridClientWrapper.js +1 -1
- package/GridClientWrapper.mjs +46 -37
- package/GridComponent.js +1 -1
- package/GridComponent.mjs +18 -18
- package/GridToolbar.js +1 -1
- package/GridToolbar.mjs +15 -20
- package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
- package/columnMenu/GridColumnMenuCheckboxFilter.mjs +2 -1
- package/columnMenu/GridColumnMenuFilterCell.js +1 -1
- package/columnMenu/GridColumnMenuFilterCell.mjs +35 -28
- package/columnMenu/GridColumnMenuWrapper.js +1 -1
- package/columnMenu/GridColumnMenuWrapper.mjs +62 -49
- package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.js +1 -1
- package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.mjs +1 -1
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/index.d.mts +244 -18
- package/index.d.ts +244 -18
- package/index.js +1 -1
- package/index.mjs +80 -72
- package/messages/index.js +1 -1
- package/messages/index.mjs +92 -76
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +16 -16
- package/toolbar-tools/GridToolbarCheckboxFilter.js +8 -0
- package/toolbar-tools/GridToolbarCheckboxFilter.mjs +312 -0
- package/toolbar-tools/GridToolbarColumnsChooser.js +8 -0
- package/toolbar-tools/GridToolbarColumnsChooser.mjs +178 -0
- package/toolbar-tools/GridToolbarFilter.js +8 -0
- package/toolbar-tools/GridToolbarFilter.mjs +281 -0
- package/toolbar-tools/GridToolbarSort.js +8 -0
- package/toolbar-tools/GridToolbarSort.mjs +146 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.js +9 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.mjs +114 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.js +9 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.mjs +89 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.js +9 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.mjs +98 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.js +9 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.mjs +68 -0
- package/toolbar-tools/adaptiveContext/GridToolbarAdaptiveContext.js +9 -0
- package/toolbar-tools/adaptiveContext/GridToolbarAdaptiveContext.mjs +17 -0
package/GridToolbar.mjs
CHANGED
|
@@ -5,29 +5,24 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import * as
|
|
9
|
-
import {
|
|
10
|
-
const
|
|
11
|
-
const {
|
|
12
|
-
return /* @__PURE__ */
|
|
13
|
-
|
|
8
|
+
import * as i from "react";
|
|
9
|
+
import { Toolbar as s } from "@progress/kendo-react-buttons";
|
|
10
|
+
const c = (o) => {
|
|
11
|
+
const { ariaLabel: r, _ariaControls: a, children: e, overflow: l = "scroll", ...t } = o;
|
|
12
|
+
return /* @__PURE__ */ i.createElement(
|
|
13
|
+
s,
|
|
14
14
|
{
|
|
15
|
-
className:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
r
|
|
22
|
-
),
|
|
23
|
-
"aria-label": e,
|
|
24
|
-
"aria-controls": l,
|
|
25
|
-
role: "toolbar"
|
|
15
|
+
className: "k-grid-toolbar",
|
|
16
|
+
role: "toolbar",
|
|
17
|
+
ariaLabel: r,
|
|
18
|
+
_ariaControls: a,
|
|
19
|
+
overflow: l,
|
|
20
|
+
...t
|
|
26
21
|
},
|
|
27
|
-
|
|
22
|
+
e
|
|
28
23
|
);
|
|
29
24
|
};
|
|
30
|
-
|
|
25
|
+
c.displayName = "KendoReactGridToolbar";
|
|
31
26
|
export {
|
|
32
|
-
|
|
27
|
+
c as GridToolbar
|
|
33
28
|
};
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react"),ee=require("./GridColumnMenuItem.js"),te=require("./GridColumnMenuItemGroup.js"),ne=require("./GridColumnMenuItemContent.js"),B=require("@progress/kendo-react-inputs"),le=require("@progress/kendo-react-intl"),a=require("../messages/index.js"),V=require("@progress/kendo-data-query"),j=require("@progress/kendo-react-common"),I=require("@progress/kendo-react-buttons"),T=require("../utils/index.js"),q=require("@progress/kendo-svg-icons"),re=require("../utils/GridContext.js"),ae=require("./adaptiveContent/GridAdaptiveCheckboxFilter.js");function ie(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const h=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,h.get?h:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const l=ie(p),z=(e,o)=>e.length!==o.length?!1:e.every((r,h)=>r===o[h]),ce={uniqueData:!0},se=e=>{const{uniqueData:o=ce.uniqueData}=e,r=l.useContext(re.GridContext),h=()=>{const t=e.column.field;return M().filters.findIndex(c=>c.filters&&c.filters.length>0&&c.filters[0].field===t)},g=(t,n)=>{const s=e.column.field||"",c=t.map(u=>T.getNestedValue(s,u));return n?c.filter((u,d)=>c.indexOf(u)===d):c},M=()=>e.filter?j.clone(e.filter):{filters:[],logic:"and"},i=l.useRef(h()),[y,_]=l.useState(e.expanded||!1),[N,x]=l.useState(!1),[G,O]=l.useState(""),[C,k]=l.useState(g(e.data,o)||[]),[$,Q]=l.useState(g(e.data,!1)||[]),[f,W]=l.useState(M());l.useEffect(()=>{const t=e.column.field||"",n=e.data.map(s=>T.getNestedValue(t,s));z(n,$)||(k(n),Q(n))},[e.column,e.data]);const D=()=>e.expanded!==void 0,H=()=>{const t=D(),n=!(t?e.expanded:y);e.onExpandChange&&e.onExpandChange(n),x(!N),!t&&!(r!=null&&r.mobileMode)&&_(n)},w=t=>{const n=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",s={logic:"and",filters:[{field:e.column.field,operator:n,value:t.target.value,ignoreCase:!0}]};O(t.target.value),k(g(V.filterBy(e.data||[],s),o))},J=()=>{const t=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",n={logic:"and",filters:[{field:e.column.field,operator:t,value:"",ignoreCase:!0}]};O(""),k(g(V.filterBy(e.data||[],n),o))},A=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=f||null;n!==null&&n.filters.length>0?(i.current>=0&&n.filters.splice(i.current,1),e.onFilterChange(n,t)):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()},L=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=f||null;e.onFilterChange(n,t),e.onCloseMenu&&e.onCloseMenu()},E=(t,n)=>{const s=e.column.field||"",c={...f},u=[...f.filters];let d=[];if(i.current!==-1&&c.filters[i.current].filters&&n!=="all"&&(d=c.filters[i.current].filters),t.value&&n==="all")C.forEach(S=>{d.push({field:s,operator:"eq",value:S})});else if(t.value)d.push({field:s,operator:"eq",value:n});else if(f){const S=d.findIndex(Z=>Z.value===n);d.splice(S,1)}c.logic="and",i.current!==-1?u[i.current]={logic:"or",filters:d}:u.push({logic:"or",filters:d}),(!t.value&&n==="all"||d.length===0)&&u.splice(i.current,1),c.filters=u,W(c)},P=()=>{let t=!1;if(f){const n=[...f.filters];return i.current===-1?!1:(t=C.every(s=>i.current!==-1&&n[i.current].filters?n[i.current].filters.findIndex(u=>u.value===s)>=0:!1),t)}return t},m=le.useLocalization(),{column:b}=e;if(!b||!b.field)return l.createElement("div",null);const R=D()?e.expanded:y,v=[];if(f){const t=[...f.filters];i.current=t.findIndex(n=>n.filters&&n.filters.length>0?n.filters[0].field===b.field:!1),i.current!==-1&&t[i.current].filters.length>0&&t[i.current].filters.forEach(n=>{n.field===e.column.field&&v.push(n.value)})}const K=()=>{x(!1)},U=()=>{x(!1),e.onCloseMenu&&e.onCloseMenu()},X=m.toLanguageString(a.filterClearButton,a.messages[a.filterClearButton]),Y=e.searchBox?l.createElement(e.searchBox,{value:G,onChange:w}):l.createElement("div",{className:`k-searchbox k-textbox k-input k-input-md k-input-solid ${r!=null&&r.mobileMode?"k-input-lg":"k-input-md"}`},l.createElement(j.IconWrap,{className:"k-input-icon",name:"search",icon:q.searchIcon}),l.createElement(B.Input,{className:"k-input-inner",type:"text",placeholder:m.toLanguageString(a.searchPlaceholder,a.messages[a.searchPlaceholder]),value:G,onChange:t=>w(t.nativeEvent)}),l.createElement(I.Button,{type:"button",rounded:null,className:"k-input-button",onClick:J,icon:"x","aria-label":X,svgIcon:q.xIcon})),F=v.filter((t,n)=>v.indexOf(t)===n);return l.createElement(te.GridColumnMenuItemGroup,null,!(e.alwaysExpand&&!(r!=null&&r.mobileMode))&&l.createElement("div",{className:"k-expander"},l.createElement(ee.GridColumnMenuItem,{title:m.toLanguageString(a.filterTitle,a.messages[a.filterTitle]),iconClass:"k-i-filter",svgIcon:q.filterIcon,expandable:!0,expanded:!!R,onClick:H})),r!=null&&r.mobileMode&&N?l.createElement(ae.GridAdaptiveCheckboxFilter,{onBackView:K,handleClose:U,searchBox:e.searchBox,handleCheckBoxChange:E,isAllSelected:P,currentData:C,uniqueFilterValues:F,submit:L,clear:A}):l.createElement(ne.GridColumnMenuItemContent,{show:(e.alwaysExpand||!!R)&&!(r!=null&&r.mobileMode)},l.createElement("form",{className:"k-filter-menu",onSubmit:L,onReset:A},l.createElement("div",{className:"k-filter-menu-container"},Y,l.createElement("ul",{className:"k-reset k-multicheck-wrap"},l.createElement("li",{className:"k-item k-check-all-wrap"},l.createElement(B.Checkbox,{label:m.toLanguageString(a.filterCheckAll,a.messages[a.filterCheckAll]),onChange:t=>E(t,"all"),checked:P()})),C.map((t,n)=>l.createElement("li",{className:"k-item",key:n},l.createElement(B.Checkbox,{label:String(t),onChange:s=>E(s,t),checked:F.includes(t)})))),l.createElement("div",{className:"k-filter-selected-items"},F.length+" "+m.toLanguageString(a.filterSelectedItems,a.messages[a.filterSelectedItems])),l.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},l.createElement(I.Button,{themeColor:"primary",type:"submit"},m.toLanguageString(a.filterSubmitButton,a.messages[a.filterSubmitButton])),l.createElement(I.Button,{className:"k-button",type:"reset"},m.toLanguageString(a.filterClearButton,a.messages[a.filterClearButton])))))))};exports.GridColumnMenuCheckboxFilter=se;exports.isArrayEqual=z;
|
|
@@ -173,5 +173,6 @@ const he = (e, m) => e.length !== m.length ? !1 : e.every((r, k) => r === m[k]),
|
|
|
173
173
|
)))), /* @__PURE__ */ l.createElement("div", { className: "k-filter-selected-items" }, S.length + " " + f.toLanguageString(T, d[T])), /* @__PURE__ */ l.createElement("div", { className: "k-actions k-hstack k-justify-content-stretch" }, /* @__PURE__ */ l.createElement(I, { themeColor: "primary", type: "submit" }, f.toLanguageString(W, d[W])), /* @__PURE__ */ l.createElement(I, { className: "k-button", type: "reset" }, f.toLanguageString(x, d[x])))))));
|
|
174
174
|
};
|
|
175
175
|
export {
|
|
176
|
-
De as GridColumnMenuCheckboxFilter
|
|
176
|
+
De as GridColumnMenuCheckboxFilter,
|
|
177
|
+
he as isArrayEqual
|
|
177
178
|
};
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),d=require("@progress/kendo-react-dropdowns"),
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),d=require("@progress/kendo-react-dropdowns"),m=require("@progress/kendo-react-inputs"),h=require("@progress/kendo-react-dateinputs"),c=require("../filterCommon.js"),x=require("../utils/GridContext.js");function p(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const a in e)if(a!=="default"){const i=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,i.get?i:{enumerable:!0,get:()=>e[a]})}}return t.default=e,Object.freeze(t)}const o=p(b),D=e=>{const t=o.useContext(x.GridContext),a=()=>{if(e.filterType==="boolean")return;const n=e.operators.find(r=>r.operator===e.operator)||null;return o.createElement(d.DropDownList,{adaptive:t.adaptive,size:t.mobileMode?"large":"medium",value:n,onChange:s,data:e.operators,textField:"text"})},i=n=>{c.cellInputChange(n.value,n.syntheticEvent,e)},s=n=>{c.cellOperatorChange(n,e.value,e.onChange)},g=n=>{c.cellBoolDropdownChange(n,e.onChange)},C=(n,r,u)=>{switch(n){case"numeric":return o.createElement(m.NumericTextBox,{value:r,size:t.mobileMode?"large":"medium",onChange:i,rangeOnEnter:!1});case"date":return o.createElement(h.DatePicker,{value:r,size:t.mobileMode?"large":"medium",onChange:i});case"boolean":{const f=l=>l==null;return o.createElement(d.DropDownList,{adaptive:t.adaptive,onChange:g,size:t.mobileMode?"large":"medium",value:u.find(l=>l.operator===(f(r)?"":r)),data:u,textField:"text"})}default:return o.createElement(m.TextBox,{size:t.mobileMode?"large":"medium",value:r||"",onChange:i})}};return o.createElement(o.Fragment,null,a(),C(e.filterType,e.value,e.booleanValues))};exports.GridColumnMenuFilterCell=D;
|
|
@@ -8,41 +8,41 @@
|
|
|
8
8
|
"use client";
|
|
9
9
|
import * as n from "react";
|
|
10
10
|
import { DropDownList as m } from "@progress/kendo-react-dropdowns";
|
|
11
|
-
import {
|
|
11
|
+
import { TextBox as h, NumericTextBox as s } from "@progress/kendo-react-inputs";
|
|
12
12
|
import { DatePicker as f } from "@progress/kendo-react-dateinputs";
|
|
13
|
-
import { cellOperatorChange as x, cellInputChange as
|
|
14
|
-
import { GridContext as
|
|
15
|
-
const
|
|
16
|
-
const
|
|
13
|
+
import { cellOperatorChange as x, cellInputChange as E, cellBoolDropdownChange as b } from "../filterCommon.mjs";
|
|
14
|
+
import { GridContext as p } from "../utils/GridContext.mjs";
|
|
15
|
+
const w = (e) => {
|
|
16
|
+
const o = n.useContext(p), d = () => {
|
|
17
17
|
if (e.filterType === "boolean")
|
|
18
18
|
return;
|
|
19
|
-
const t = e.operators.find((
|
|
19
|
+
const t = e.operators.find((r) => r.operator === e.operator) || null;
|
|
20
20
|
return /* @__PURE__ */ n.createElement(
|
|
21
21
|
m,
|
|
22
22
|
{
|
|
23
|
-
adaptive:
|
|
24
|
-
size:
|
|
23
|
+
adaptive: o.adaptive,
|
|
24
|
+
size: o.mobileMode ? "large" : "medium",
|
|
25
25
|
value: t,
|
|
26
|
-
onChange:
|
|
26
|
+
onChange: c,
|
|
27
27
|
data: e.operators,
|
|
28
28
|
textField: "text"
|
|
29
29
|
}
|
|
30
30
|
);
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
},
|
|
31
|
+
}, i = (t) => {
|
|
32
|
+
E(t.value, t.syntheticEvent, e);
|
|
33
|
+
}, c = (t) => {
|
|
34
34
|
x(t, e.value, e.onChange);
|
|
35
35
|
}, u = (t) => {
|
|
36
|
-
|
|
37
|
-
}, g = (t,
|
|
36
|
+
b(t, e.onChange);
|
|
37
|
+
}, g = (t, r, l) => {
|
|
38
38
|
switch (t) {
|
|
39
39
|
case "numeric":
|
|
40
40
|
return /* @__PURE__ */ n.createElement(
|
|
41
|
-
|
|
41
|
+
s,
|
|
42
42
|
{
|
|
43
|
-
value:
|
|
44
|
-
size:
|
|
45
|
-
onChange:
|
|
43
|
+
value: r,
|
|
44
|
+
size: o.mobileMode ? "large" : "medium",
|
|
45
|
+
onChange: i,
|
|
46
46
|
rangeOnEnter: !1
|
|
47
47
|
}
|
|
48
48
|
);
|
|
@@ -50,9 +50,9 @@ const z = (e) => {
|
|
|
50
50
|
return /* @__PURE__ */ n.createElement(
|
|
51
51
|
f,
|
|
52
52
|
{
|
|
53
|
-
value:
|
|
54
|
-
size:
|
|
55
|
-
onChange:
|
|
53
|
+
value: r,
|
|
54
|
+
size: o.mobileMode ? "large" : "medium",
|
|
55
|
+
onChange: i
|
|
56
56
|
}
|
|
57
57
|
);
|
|
58
58
|
case "boolean": {
|
|
@@ -60,21 +60,28 @@ const z = (e) => {
|
|
|
60
60
|
return /* @__PURE__ */ n.createElement(
|
|
61
61
|
m,
|
|
62
62
|
{
|
|
63
|
-
adaptive:
|
|
63
|
+
adaptive: o.adaptive,
|
|
64
64
|
onChange: u,
|
|
65
|
-
size:
|
|
66
|
-
value:
|
|
67
|
-
data:
|
|
65
|
+
size: o.mobileMode ? "large" : "medium",
|
|
66
|
+
value: l.find((a) => a.operator === (C(r) ? "" : r)),
|
|
67
|
+
data: l,
|
|
68
68
|
textField: "text"
|
|
69
69
|
}
|
|
70
70
|
);
|
|
71
71
|
}
|
|
72
72
|
default:
|
|
73
|
-
return /* @__PURE__ */ n.createElement(
|
|
73
|
+
return /* @__PURE__ */ n.createElement(
|
|
74
|
+
h,
|
|
75
|
+
{
|
|
76
|
+
size: o.mobileMode ? "large" : "medium",
|
|
77
|
+
value: r || "",
|
|
78
|
+
onChange: i
|
|
79
|
+
}
|
|
80
|
+
);
|
|
74
81
|
}
|
|
75
82
|
};
|
|
76
|
-
return /* @__PURE__ */ n.createElement(n.Fragment, null,
|
|
83
|
+
return /* @__PURE__ */ n.createElement(n.Fragment, null, d(), g(e.filterType, e.value, e.booleanValues));
|
|
77
84
|
};
|
|
78
85
|
export {
|
|
79
|
-
|
|
86
|
+
w as GridColumnMenuFilterCell
|
|
80
87
|
};
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("react"),_=require("@progress/kendo-react-popup"),s=require("@progress/kendo-react-common"),j=require("@progress/kendo-svg-icons"),h=require("../messages/index.js"),z=require("@progress/kendo-react-intl"),F=require("../utils/GridContext.js"),$=require("./adaptiveContext/GridColumnMenuAdaptiveContext.js"),L=require("./adaptiveContent/GridAdaptiveColumnMenu.js"),V=require("react-dom");function H(t){const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const c in t)if(c!=="default"){const a=Object.getOwnPropertyDescriptor(t,c);Object.defineProperty(u,c,a.get?a:{enumerable:!0,get:()=>t[c]})}}return u.default=t,Object.freeze(u)}const n=H(W),J=[".k-columnmenu-item-content",".k-filter-menu-container"].map(t=>s.TABBABLE_ELEMENTS.map(u=>`${t} ${u}`)),Q=[[".k-tabstrip-items"],[".k-columnmenu-item"],...J],U=t=>{var p;const u=n.useContext(F.GridContext),[c,a]=n.useState(!1),i=n.useRef(null),m=n.useRef(null),l=n.useRef(null),M=n.useRef(0),D=s.useDocument(i),{columnMenu:d,...b}=t,{column:C,columnMenuIcon:E,navigatable:k}=t,y=z.useLocalization(),w=C.title||C.field,S=w?`${w} `:"",T="#",q=e=>{const o=s.getActiveElement(document);clearTimeout(M.current),M.current=window.setTimeout(()=>{!u.mobileMode&&o&&e.relatedTarget!==i.current&&m.current&&!m.current.contains(o)&&f()})},R=()=>{clearTimeout(M.current)},x=e=>{e.preventDefault(),c&&t.onCloseMenu&&t.onCloseMenu(),a(!c)},f=()=>{t.onCloseMenu&&t.onCloseMenu(),a(!1),!t.navigatable&&i.current&&i.current.focus()},A=e=>{var o;if(e.keyCode===s.Keys.tab){const r=e.target,v=r&&((o=r.closest(".k-grid"))==null?void 0:o.getElementsByClassName("k-grid-content")[0]);v&&v.scrollWidth>v.clientWidth&&r.scrollIntoView({inline:"center"})}},g=n.useMemo(()=>t.show!==void 0?t.show:c,[t.show,c]),I=e=>{var o;(o=l.current)==null||o.triggerKeyboardEvent(e)},O=e=>{var o;(o=l.current)==null||o.triggerMouseEvent(e)},P=(e,o,r)=>{r.preventDefault(),r.shiftKey?o.focusPrevious(e):o.focusNext(e)},G=(e,o,r)=>{e&&(r.preventDefault(),e.click())},K=(e,o,r)=>{r.preventDefault(),f()},N=(e,o,r)=>{o.focusElement(e)},B=e=>{!e.isAnchorClicked&&a(!1)};return n.useEffect(()=>(g&&m.current&&(l.current=new s.Navigation({tabIndex:0,root:m,selectors:Q,keyboardEvents:{keydown:{Tab:P,Enter:G,Escape:K}},mouseEvents:{mousedown:N}}),l.current.focusElement(l.current.first,null)),()=>{l.current&&(l.current=null)}),[g]),n.createElement(n.Fragment,null,n.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:i,onClick:x,onKeyDown:A,href:T,tabIndex:k?-1:void 0,"aria-label":`${k?"":S}${y.toLanguageString(h.columnMenu,h.messages[h.columnMenu])}`},E?n.createElement(s.IconWrap,{name:E.name,icon:E}):n.createElement(s.IconWrap,{name:"more-vertical",icon:j.moreVerticalIcon})),n.createElement($.GridColumnMenuAdaptiveProvider,null,u.mobileMode?n.createElement(n.Fragment,null,V.createPortal(n.createElement(L.GridAdaptiveColumnMenu,{computedShow:g,ColumnMenu:d,closeMenu:f},d&&n.createElement(d,{...b,onCloseMenu:f})),(p=D())==null?void 0:p.body)):n.createElement(_.Popup,{anchor:i.current,show:g,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:B},n.createElement("div",{ref:m,onBlur:q,onFocus:R,onMouseDown:O,onKeyDown:I,className:"k-column-menu k-column-menu-md"},d&&n.createElement(d,{...b,onCloseMenu:f})))))};exports.GridColumnMenuWrapper=U;
|
|
@@ -7,55 +7,57 @@
|
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
9
|
import * as n from "react";
|
|
10
|
-
import { Popup as
|
|
11
|
-
import { TABBABLE_ELEMENTS as
|
|
12
|
-
import { moreVerticalIcon as
|
|
13
|
-
import { columnMenu as
|
|
14
|
-
import { useLocalization as
|
|
15
|
-
import { GridContext as
|
|
16
|
-
import { GridColumnMenuAdaptiveProvider as
|
|
17
|
-
import { GridAdaptiveColumnMenu as
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
import { Popup as G } from "@progress/kendo-react-popup";
|
|
11
|
+
import { TABBABLE_ELEMENTS as L, useDocument as W, Navigation as O, IconWrap as k, getActiveElement as V, Keys as _ } from "@progress/kendo-react-common";
|
|
12
|
+
import { moreVerticalIcon as H } from "@progress/kendo-svg-icons";
|
|
13
|
+
import { columnMenu as b, messages as j } from "../messages/index.mjs";
|
|
14
|
+
import { useLocalization as q } from "@progress/kendo-react-intl";
|
|
15
|
+
import { GridContext as J } from "../utils/GridContext.mjs";
|
|
16
|
+
import { GridColumnMenuAdaptiveProvider as Q } from "./adaptiveContext/GridColumnMenuAdaptiveContext.mjs";
|
|
17
|
+
import { GridAdaptiveColumnMenu as U } from "./adaptiveContent/GridAdaptiveColumnMenu.mjs";
|
|
18
|
+
import X from "react-dom";
|
|
19
|
+
const Y = [".k-columnmenu-item-content", ".k-filter-menu-container"].map((o) => L.map((i) => `${o} ${i}`)), Z = [[".k-tabstrip-items"], [".k-columnmenu-item"], ...Y], ie = (o) => {
|
|
20
|
+
var C;
|
|
21
|
+
const i = n.useContext(J), [m, d] = n.useState(!1), l = n.useRef(null), u = n.useRef(null), c = n.useRef(null), E = n.useRef(0), D = W(l), { columnMenu: s, ...g } = o, { column: v, columnMenuIcon: h, navigatable: w } = o, y = q(), p = v.title || v.field, T = p ? `${p} ` : "", S = "#", x = (e) => {
|
|
22
|
+
const t = V(document);
|
|
21
23
|
clearTimeout(E.current), E.current = window.setTimeout(() => {
|
|
22
|
-
!i.mobileMode &&
|
|
24
|
+
!i.mobileMode && t && e.relatedTarget !== l.current && u.current && !u.current.contains(t) && a();
|
|
23
25
|
});
|
|
24
|
-
},
|
|
26
|
+
}, A = () => {
|
|
25
27
|
clearTimeout(E.current);
|
|
26
|
-
},
|
|
27
|
-
e.preventDefault(), m &&
|
|
28
|
+
}, K = (e) => {
|
|
29
|
+
e.preventDefault(), m && o.onCloseMenu && o.onCloseMenu(), d(!m);
|
|
28
30
|
}, a = () => {
|
|
29
|
-
|
|
30
|
-
},
|
|
31
|
-
var
|
|
32
|
-
if (e.keyCode ===
|
|
33
|
-
const r = e.target, M = r && ((
|
|
31
|
+
o.onCloseMenu && o.onCloseMenu(), d(!1), !o.navigatable && l.current && l.current.focus();
|
|
32
|
+
}, B = (e) => {
|
|
33
|
+
var t;
|
|
34
|
+
if (e.keyCode === _.tab) {
|
|
35
|
+
const r = e.target, M = r && ((t = r.closest(".k-grid")) == null ? void 0 : t.getElementsByClassName("k-grid-content")[0]);
|
|
34
36
|
M && M.scrollWidth > M.clientWidth && r.scrollIntoView({ inline: "center" });
|
|
35
37
|
}
|
|
36
|
-
}, f = n.useMemo(() =>
|
|
37
|
-
var
|
|
38
|
-
(
|
|
39
|
-
},
|
|
40
|
-
var
|
|
41
|
-
(
|
|
42
|
-
},
|
|
43
|
-
r.preventDefault(), r.shiftKey ?
|
|
44
|
-
},
|
|
38
|
+
}, f = n.useMemo(() => o.show !== void 0 ? o.show : m, [o.show, m]), I = (e) => {
|
|
39
|
+
var t;
|
|
40
|
+
(t = c.current) == null || t.triggerKeyboardEvent(e);
|
|
41
|
+
}, N = (e) => {
|
|
42
|
+
var t;
|
|
43
|
+
(t = c.current) == null || t.triggerMouseEvent(e);
|
|
44
|
+
}, R = (e, t, r) => {
|
|
45
|
+
r.preventDefault(), r.shiftKey ? t.focusPrevious(e) : t.focusNext(e);
|
|
46
|
+
}, F = (e, t, r) => {
|
|
45
47
|
e && (r.preventDefault(), e.click());
|
|
46
|
-
},
|
|
48
|
+
}, P = (e, t, r) => {
|
|
47
49
|
r.preventDefault(), a();
|
|
48
|
-
}, $ = (e,
|
|
49
|
-
|
|
50
|
+
}, $ = (e, t, r) => {
|
|
51
|
+
t.focusElement(e);
|
|
50
52
|
}, z = (e) => {
|
|
51
53
|
!e.isAnchorClicked && d(!1);
|
|
52
54
|
};
|
|
53
|
-
return n.useEffect(() => (f && u.current && (c.current = new
|
|
55
|
+
return n.useEffect(() => (f && u.current && (c.current = new O({
|
|
54
56
|
tabIndex: 0,
|
|
55
57
|
root: u,
|
|
56
|
-
selectors:
|
|
58
|
+
selectors: Z,
|
|
57
59
|
keyboardEvents: {
|
|
58
|
-
keydown: { Tab:
|
|
60
|
+
keydown: { Tab: R, Enter: F, Escape: P }
|
|
59
61
|
},
|
|
60
62
|
mouseEvents: { mousedown: $ }
|
|
61
63
|
}), c.current.focusElement(c.current.first, null)), () => {
|
|
@@ -65,18 +67,29 @@ const J = [".k-columnmenu-item-content", ".k-filter-menu-container"].map((t) =>
|
|
|
65
67
|
{
|
|
66
68
|
className: "k-grid-header-menu k-grid-column-menu",
|
|
67
69
|
ref: l,
|
|
68
|
-
onClick:
|
|
69
|
-
onKeyDown:
|
|
70
|
-
href:
|
|
70
|
+
onClick: K,
|
|
71
|
+
onKeyDown: B,
|
|
72
|
+
href: S,
|
|
71
73
|
tabIndex: w ? -1 : void 0,
|
|
72
|
-
"aria-label": `${w ? "" :
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
"aria-label": `${w ? "" : T}${y.toLanguageString(
|
|
75
|
+
b,
|
|
76
|
+
j[b]
|
|
75
77
|
)}`
|
|
76
78
|
},
|
|
77
|
-
h ? /* @__PURE__ */ n.createElement(k, { name: h.name, icon: h }) : /* @__PURE__ */ n.createElement(k, { name: "more-vertical", icon:
|
|
78
|
-
), /* @__PURE__ */ n.createElement(
|
|
79
|
-
|
|
79
|
+
h ? /* @__PURE__ */ n.createElement(k, { name: h.name, icon: h }) : /* @__PURE__ */ n.createElement(k, { name: "more-vertical", icon: H })
|
|
80
|
+
), /* @__PURE__ */ n.createElement(Q, null, i.mobileMode ? /* @__PURE__ */ n.createElement(n.Fragment, null, X.createPortal(
|
|
81
|
+
/* @__PURE__ */ n.createElement(
|
|
82
|
+
U,
|
|
83
|
+
{
|
|
84
|
+
computedShow: f,
|
|
85
|
+
ColumnMenu: s,
|
|
86
|
+
closeMenu: a
|
|
87
|
+
},
|
|
88
|
+
s && /* @__PURE__ */ n.createElement(s, { ...g, onCloseMenu: a })
|
|
89
|
+
),
|
|
90
|
+
(C = D()) == null ? void 0 : C.body
|
|
91
|
+
)) : /* @__PURE__ */ n.createElement(
|
|
92
|
+
G,
|
|
80
93
|
{
|
|
81
94
|
anchor: l.current,
|
|
82
95
|
show: f,
|
|
@@ -87,10 +100,10 @@ const J = [".k-columnmenu-item-content", ".k-filter-menu-container"].map((t) =>
|
|
|
87
100
|
"div",
|
|
88
101
|
{
|
|
89
102
|
ref: u,
|
|
90
|
-
onBlur:
|
|
91
|
-
onFocus:
|
|
92
|
-
onMouseDown:
|
|
93
|
-
onKeyDown:
|
|
103
|
+
onBlur: x,
|
|
104
|
+
onFocus: A,
|
|
105
|
+
onMouseDown: N,
|
|
106
|
+
onKeyDown: I,
|
|
94
107
|
className: "k-column-menu k-column-menu-md"
|
|
95
108
|
},
|
|
96
109
|
s && /* @__PURE__ */ n.createElement(s, { ...g, onCloseMenu: a })
|
|
@@ -98,5 +111,5 @@ const J = [".k-columnmenu-item-content", ".k-filter-menu-container"].map((t) =>
|
|
|
98
111
|
)));
|
|
99
112
|
};
|
|
100
113
|
export {
|
|
101
|
-
|
|
114
|
+
ie as GridColumnMenuWrapper
|
|
102
115
|
};
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=require("@progress/kendo-react-layout"),m=require("@progress/kendo-react-common"),d=require("../../utils/GridContext.js"),v=require("@progress/kendo-react-buttons"),h=require("@progress/kendo-svg-icons"),C=require("../adaptiveContext/GridColumnMenuAdaptiveContext.js"),f=require("@progress/kendo-react-intl"),i=require("../../messages/index.js"),k=n=>{const a=e.useContext(d.GridContext),{actionSheetRef:c,firstViewRef:s,secondViewRef:r}=e.useContext(C.GridColumnMenuAdaptiveContext),o=m.useAdaptiveModeContext(),l=f.useLocalization(),u={animation:!0,navigatable:!1,navigatableElements:[],expand:n.computedShow,animationStyles:o&&a.adaptiveColumnMenuRef<=o.small?{top:0,width:"100%",height:"100%"}:void 0,className:"k-adaptive-actionsheet",position:o&&a.adaptiveColumnMenuRef<=o.small?"fullscreen":void 0};return e.createElement(t.ActionSheet,{...u,ref:c,style:{"--kendo-actionsheet-view-current":1},onClose:()=>{n.closeMenu()}},e.createElement(t.ActionSheetView,{className:"k-actionsheet-view-animated",ref:s,style:{transitionDuration:"500ms",transitionProperty:"transform"}},e.createElement(t.ActionSheetHeader,null,e.createElement("div",{className:"k-actionsheet-titlebar-group"},e.createElement("div",{className:"k-actionsheet-title"},e.createElement("div",{className:"k-text-center"},a.
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=require("@progress/kendo-react-layout"),m=require("@progress/kendo-react-common"),d=require("../../utils/GridContext.js"),v=require("@progress/kendo-react-buttons"),h=require("@progress/kendo-svg-icons"),C=require("../adaptiveContext/GridColumnMenuAdaptiveContext.js"),f=require("@progress/kendo-react-intl"),i=require("../../messages/index.js"),k=n=>{const a=e.useContext(d.GridContext),{actionSheetRef:c,firstViewRef:s,secondViewRef:r}=e.useContext(C.GridColumnMenuAdaptiveContext),o=m.useAdaptiveModeContext(),l=f.useLocalization(),u={animation:!0,navigatable:!1,navigatableElements:[],expand:n.computedShow,animationStyles:o&&a.adaptiveColumnMenuRef<=o.small?{top:0,width:"100%",height:"100%"}:void 0,className:"k-adaptive-actionsheet",position:o&&a.adaptiveColumnMenuRef<=o.small?"fullscreen":void 0};return e.createElement(t.ActionSheet,{...u,ref:c,style:{"--kendo-actionsheet-view-current":1},onClose:()=>{n.closeMenu()}},e.createElement(t.ActionSheetView,{className:"k-actionsheet-view-animated",ref:s,style:{transitionDuration:"500ms",transitionProperty:"transform"}},e.createElement(t.ActionSheetHeader,null,e.createElement("div",{className:"k-actionsheet-titlebar-group"},e.createElement("div",{className:"k-actionsheet-title"},e.createElement("div",{className:"k-text-center"},a.adaptiveTitle||l.toLanguageString(i.columnMenu,i.messages[i.columnMenu]))),e.createElement("div",{className:"k-actionsheet-actions"},e.createElement(v.Button,{svgIcon:h.xIcon,onClick:n.closeMenu,fillMode:"flat"})))),e.createElement(t.ActionSheetContent,null,e.createElement("div",{className:"k-column-menu k-column-menu-lg"},n.children))),e.createElement(t.ActionSheetView,{className:"k-actionsheet-view-animated",ref:r,style:{transitionDuration:"500ms",transitionProperty:"transform"}}))};exports.GridAdaptiveColumnMenu=k;
|
|
@@ -45,7 +45,7 @@ const G = (t) => {
|
|
|
45
45
|
transitionProperty: "transform"
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
|
-
/* @__PURE__ */ e.createElement(d, null, /* @__PURE__ */ e.createElement("div", { className: "k-actionsheet-titlebar-group" }, /* @__PURE__ */ e.createElement("div", { className: "k-actionsheet-title" }, /* @__PURE__ */ e.createElement("div", { className: "k-text-center" }, o.
|
|
48
|
+
/* @__PURE__ */ e.createElement(d, null, /* @__PURE__ */ e.createElement("div", { className: "k-actionsheet-titlebar-group" }, /* @__PURE__ */ e.createElement("div", { className: "k-actionsheet-title" }, /* @__PURE__ */ e.createElement("div", { className: "k-text-center" }, o.adaptiveTitle || s.toLanguageString(i, k[i]))), /* @__PURE__ */ e.createElement("div", { className: "k-actionsheet-actions" }, /* @__PURE__ */ e.createElement(h, { svgIcon: C, onClick: t.closeMenu, fillMode: "flat" })))),
|
|
49
49
|
/* @__PURE__ */ e.createElement(f, null, /* @__PURE__ */ e.createElement("div", { className: "k-column-menu k-column-menu-lg" }, t.children))
|
|
50
50
|
),
|
|
51
51
|
/* @__PURE__ */ e.createElement(
|