@progress/kendo-react-data-tools 9.0.0-develop.1 → 9.0.0-develop.3
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/README.md +27 -27
- package/columnmenu/ColumnMenu.js +1 -1
- package/columnmenu/ColumnMenu.mjs +83 -98
- package/columnmenu/ColumnMenuFilterForm.mjs +2 -22
- package/columnmenu/ColumnMenuFilterLogic.mjs +8 -2
- package/columnmenu/ColumnMenuFilters.mjs +5 -8
- package/columnmenu/ColumnMenuOperators.mjs +1 -3
- package/dist/cdn/js/kendo-react-datatools.js +1 -1
- package/drag/DragClue.mjs +8 -1
- package/filter/Expression.mjs +21 -4
- package/filter/Filter.mjs +6 -5
- package/filter/Group.mjs +43 -25
- package/filter/filters/BooleanFilter.mjs +4 -1
- package/filter/filters/EnumFilter.mjs +4 -1
- package/filter/filters/NumericFilter.mjs +4 -1
- package/filter/filters/TextFilter.mjs +3 -1
- package/filteringCells/BooleanFilter.js +1 -1
- package/filteringCells/BooleanFilter.mjs +9 -9
- package/header/HeaderRow.js +1 -1
- package/header/HeaderRow.mjs +20 -18
- package/header/utils/index.js +1 -1
- package/header/utils/index.mjs +55 -57
- package/index.d.mts +3 -3
- package/index.d.ts +3 -3
- package/navigation/TableKeyboardNavigation.js +1 -1
- package/navigation/TableKeyboardNavigation.mjs +25 -13
- package/navigation/TableKeyboardNavigationContext.mjs +3 -1
- package/navigation/utils.mjs +2 -8
- package/package-metadata.mjs +1 -1
- package/package.json +9 -9
- package/pager/PagerInput.mjs +14 -4
- package/pager/PagerNumericButtons.mjs +16 -19
- package/pager/PagerPageSizes.mjs +8 -2
- package/selection/TableSelection.mjs +17 -20
package/filter/Group.mjs
CHANGED
|
@@ -61,7 +61,9 @@ const g = class g extends r.Component {
|
|
|
61
61
|
this.props.onChange.call(void 0, o);
|
|
62
62
|
}
|
|
63
63
|
}, this.replaceFilter = (t, e) => {
|
|
64
|
-
const i = this.props.filter, o = i.filters.map(
|
|
64
|
+
const i = this.props.filter, o = i.filters.map(
|
|
65
|
+
(n) => n === t ? e : n
|
|
66
|
+
);
|
|
65
67
|
return { ...i, filters: o };
|
|
66
68
|
}, this.onChange = (t) => {
|
|
67
69
|
const i = {
|
|
@@ -89,7 +91,25 @@ const g = class g extends r.Component {
|
|
|
89
91
|
filter: i,
|
|
90
92
|
ariaLabel: o = t.toLanguageString(f, s[f])
|
|
91
93
|
} = this.props;
|
|
92
|
-
return /* @__PURE__ */ r.createElement(r.Fragment, null, /* @__PURE__ */ r.createElement("div", { className: "k-filter-toolbar" }, /* @__PURE__ */ r.createElement(b, { role: "toolbar", ariaLabel: o }, /* @__PURE__ */ r.createElement(L, { className: "k-toolbar-button-group k-button-group-solid" }, /* @__PURE__ */ r.createElement(
|
|
94
|
+
return /* @__PURE__ */ r.createElement(r.Fragment, null, /* @__PURE__ */ r.createElement("div", { className: "k-filter-toolbar" }, /* @__PURE__ */ r.createElement(b, { role: "toolbar", ariaLabel: o }, /* @__PURE__ */ r.createElement(L, { className: "k-toolbar-button-group k-button-group-solid" }, /* @__PURE__ */ r.createElement(
|
|
95
|
+
a,
|
|
96
|
+
{
|
|
97
|
+
togglable: !0,
|
|
98
|
+
onClick: this.onLogicAnd,
|
|
99
|
+
selected: i.logic === "and",
|
|
100
|
+
type: "button"
|
|
101
|
+
},
|
|
102
|
+
t.toLanguageString(v, s[v])
|
|
103
|
+
), /* @__PURE__ */ r.createElement(
|
|
104
|
+
a,
|
|
105
|
+
{
|
|
106
|
+
togglable: !0,
|
|
107
|
+
onClick: this.onLogicOr,
|
|
108
|
+
selected: i.logic === "or",
|
|
109
|
+
type: "button"
|
|
110
|
+
},
|
|
111
|
+
t.toLanguageString(m, s[m])
|
|
112
|
+
)), /* @__PURE__ */ r.createElement(
|
|
93
113
|
a,
|
|
94
114
|
{
|
|
95
115
|
className: "k-toolbar-button",
|
|
@@ -122,29 +142,27 @@ const g = class g extends r.Component {
|
|
|
122
142
|
type: "button",
|
|
123
143
|
onClick: this.onGroupRemove
|
|
124
144
|
}
|
|
125
|
-
))), i.filters.length > 0 && /* @__PURE__ */ r.createElement("ul", { role: "group", className: "k-filter-lines" }, i.filters.map(
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
))
|
|
147
|
-
)));
|
|
145
|
+
))), i.filters.length > 0 && /* @__PURE__ */ r.createElement("ul", { role: "group", className: "k-filter-lines" }, i.filters.map((n, d) => /* @__PURE__ */ r.createElement("li", { role: "treeitem", key: d, className: "k-filter-item" }, E(n) ? /* @__PURE__ */ r.createElement(
|
|
146
|
+
g,
|
|
147
|
+
{
|
|
148
|
+
filter: n,
|
|
149
|
+
fields: e,
|
|
150
|
+
onChange: this.onChange,
|
|
151
|
+
onRemove: this.onRemove,
|
|
152
|
+
defaultGroupFilter: this.props.defaultGroupFilter,
|
|
153
|
+
ariaLabel: this.props.ariaLabel,
|
|
154
|
+
ariaLabelExpression: this.props.ariaLabelExpression
|
|
155
|
+
}
|
|
156
|
+
) : /* @__PURE__ */ r.createElement(
|
|
157
|
+
k,
|
|
158
|
+
{
|
|
159
|
+
filter: n,
|
|
160
|
+
fields: e,
|
|
161
|
+
ariaLabel: this.props.ariaLabelExpression,
|
|
162
|
+
onChange: this.onChange,
|
|
163
|
+
onRemove: this.onRemove
|
|
164
|
+
}
|
|
165
|
+
)))));
|
|
148
166
|
}
|
|
149
167
|
};
|
|
150
168
|
g.propTypes = {
|
|
@@ -12,7 +12,10 @@ import { EnumFilter as s } from "./EnumFilter.mjs";
|
|
|
12
12
|
import { filterIsTrue as i, filterIsFalse as p } from "../../messages/index.mjs";
|
|
13
13
|
const e = class e extends r.Component {
|
|
14
14
|
constructor() {
|
|
15
|
-
super(...arguments), this.data = [
|
|
15
|
+
super(...arguments), this.data = [
|
|
16
|
+
{ text: i, value: !0 },
|
|
17
|
+
{ text: p, value: !1 }
|
|
18
|
+
];
|
|
16
19
|
}
|
|
17
20
|
/**
|
|
18
21
|
* @hidden
|
|
@@ -27,7 +27,10 @@ const o = class o extends n.Component {
|
|
|
27
27
|
filter: p,
|
|
28
28
|
data: c = [],
|
|
29
29
|
defaultItem: u,
|
|
30
|
-
ariaLabel: g = a.toLanguageString(
|
|
30
|
+
ariaLabel: g = a.toLanguageString(
|
|
31
|
+
s,
|
|
32
|
+
l[s]
|
|
33
|
+
)
|
|
31
34
|
} = this.props, i = c.map((t) => ({
|
|
32
35
|
...t,
|
|
33
36
|
text: a.toLanguageString(t.text, l[t.text] || t.text)
|
|
@@ -23,7 +23,9 @@ const i = class i extends o.Component {
|
|
|
23
23
|
* @hidden
|
|
24
24
|
*/
|
|
25
25
|
render() {
|
|
26
|
-
const e = l(this), {
|
|
26
|
+
const e = l(this), {
|
|
27
|
+
ariaLabel: s = e.toLanguageString(a, c[a])
|
|
28
|
+
} = this.props;
|
|
27
29
|
return /* @__PURE__ */ o.createElement(
|
|
28
30
|
n,
|
|
29
31
|
{
|
|
@@ -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 s=require("react"),f=require("./FilterComponent.js"),d=require("@progress/kendo-react-dropdowns");function p(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),f=require("./FilterComponent.js"),d=require("@progress/kendo-react-dropdowns");function p(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const g=p(s),c="eq",v={emptyFilter:{operator:c,value:""},inputComponent:e=>null,operatorComponent:function(e,n){const{filter:t=[],field:o}=n,i=t.find(r=>r.field===o);return g.createElement(d.DropDownList,{...e,value:e.data.find(r=>r.operator===(i?i.value:"")),onChange:r=>{if(!n.onFilterChange)return;const a=r.target.value.operator;if(a===""){i&&n.onFilterChange.call(void 0,{filter:t.filter(l=>l.field!==i.field),field:o,syntheticEvent:r.syntheticEvent});return}const u=i?t.map(l=>l.field===o?{...i,value:a}:l):[...t,{value:a,field:o,operator:c}];n.onFilterChange.call(void 0,{filter:u,field:o,syntheticEvent:r.syntheticEvent})}})}};class m extends f.createFilterComponent(v){}exports.BooleanFilterCell=m;
|
|
@@ -13,29 +13,29 @@ const f = "eq", m = {
|
|
|
13
13
|
emptyFilter: { operator: f, value: "" },
|
|
14
14
|
inputComponent: (o) => null,
|
|
15
15
|
operatorComponent: function(o, r) {
|
|
16
|
-
const { filter: i = [], field: n } = r,
|
|
16
|
+
const { filter: i = [], field: n } = r, e = i.find((t) => t.field === n);
|
|
17
17
|
return /* @__PURE__ */ s.createElement(
|
|
18
18
|
u,
|
|
19
19
|
{
|
|
20
20
|
...o,
|
|
21
|
-
value: o.data.find((
|
|
22
|
-
onChange: (
|
|
21
|
+
value: o.data.find((t) => t.operator === (e ? e.value : "")),
|
|
22
|
+
onChange: (t) => {
|
|
23
23
|
if (!r.onFilterChange)
|
|
24
24
|
return;
|
|
25
|
-
const a =
|
|
25
|
+
const a = t.target.value.operator;
|
|
26
26
|
if (a === "") {
|
|
27
|
-
|
|
28
|
-
filter: i.filter((l) => l.field !==
|
|
27
|
+
e && r.onFilterChange.call(void 0, {
|
|
28
|
+
filter: i.filter((l) => l.field !== e.field),
|
|
29
29
|
field: n,
|
|
30
|
-
syntheticEvent:
|
|
30
|
+
syntheticEvent: t.syntheticEvent
|
|
31
31
|
});
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
|
-
|
|
34
|
+
const c = e ? i.map((l) => l.field === n ? { ...e, value: a } : l) : [...i, { value: a, field: n, operator: f }];
|
|
35
35
|
r.onFilterChange.call(void 0, {
|
|
36
36
|
filter: c,
|
|
37
37
|
field: n,
|
|
38
|
-
syntheticEvent:
|
|
38
|
+
syntheticEvent: t.syntheticEvent
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
}
|
package/header/HeaderRow.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 z=require("react"),E=require("./HeaderCell.js"),M=require("./SortSettings.js"),q=require("../drag/ColumnResizer.js"),v=require("../drag/ColumnDraggable.js"),I=require("./HeaderThElement.js"),h=require("@progress/kendo-react-common"),C=require("@progress/kendo-react-intl"),g=require("@progress/kendo-svg-icons"),u=require("../messages/index.js");function N(a){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const r in a)if(r!=="default"){const c=Object.getOwnPropertyDescriptor(a,r);Object.defineProperty(s,r,c.get?c:{enumerable:!0,get:()=>a[r]})}}return s.default=a,Object.freeze(s)}const t=N(z),P={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},x={none:"none",asc:"ascending",desc:"descending"};class b extends t.Component{constructor(){super(...arguments),this.cellClick=(s,r)=>{if(s.preventDefault(),!this.props.sortChange)return;const{allowUnsort:c,mode:e}=M.normalize(this.props.sortable||!1,r.sortable||!1),
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("react"),E=require("./HeaderCell.js"),M=require("./SortSettings.js"),q=require("../drag/ColumnResizer.js"),v=require("../drag/ColumnDraggable.js"),I=require("./HeaderThElement.js"),h=require("@progress/kendo-react-common"),C=require("@progress/kendo-react-intl"),g=require("@progress/kendo-svg-icons"),u=require("../messages/index.js");function N(a){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const r in a)if(r!=="default"){const c=Object.getOwnPropertyDescriptor(a,r);Object.defineProperty(s,r,c.get?c:{enumerable:!0,get:()=>a[r]})}}return s.default=a,Object.freeze(s)}const t=N(z),P={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},x={none:"none",asc:"ascending",desc:"descending"};class b extends t.Component{constructor(){super(...arguments),this.cellClick=(s,r)=>{if(s.preventDefault(),!this.props.sortChange)return;const{allowUnsort:c,mode:e}=M.normalize(this.props.sortable||!1,r.sortable||!1),n=(this.props.sort||[]).filter(i=>i.field===r.field)[0],p=P[c][n&&n.dir||""],l=e==="single"?[]:(this.props.sort||[]).filter(i=>i.field!==r.field);p!==""&&r.field&&l.push({field:r.field,dir:p}),this.props.sortChange(s,l,r.field)},this.cellKeyDown=(s,r)=>{s.isDefaultPrevented()||s.keyCode===h.Keys.enter&&this.cellClick(s,r)},this.cells=s=>s.map((r,c)=>{const e=this.props.columns[r],{columnResize:n}=this.props,p=n&&n.resizable&&e.resizable,l=this.props.sortable&&e.sortable,i=this.props.sort?this.props.sort.findIndex(o=>o.field===e.field):-1,k=i>=0&&this.props.sort[i].dir||"none",m={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:e.field},f={field:e.field,onClick:l&&(o=>this.cellClick(o,e))||void 0,selectionChange:this.props.selectionChange,title:e.title,selectionValue:e.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(i),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:m},d=e.columnMenu||this.props.columnMenu,S=h.classNames("k-table-th",{"k-first":e.kFirst,"k-filterable":!!d,"k-header":!0,"k-grid-header-sticky":e.locked,"k-sorted":this.props.sort&&this.props.sort.some(o=>o.field===e.field)},e.headerClassName),y=e.locked!==void 0?{left:e.left,right:e.right,borderRightWidth:e.rightBorder?"1px":""}:{},D=C.provideLocalizationService(this).toLanguageString(u.sortAriaLabel,u.messages[u.sortAriaLabel]),H=e.isAccessible?{ariaSort:l?x[k]:void 0,role:"columnheader",ariaColumnIndex:e.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?D:""}:{role:"presentation"};return t.createElement(I.HeaderThElement,{key:c,colSpan:e.colSpan,rowSpan:e.rowSpan,className:S,style:y,columnId:e.id,navigatable:e.navigatable,onKeyDown:l&&(o=>this.cellKeyDown(o,e))||void 0,...H},e.headerCell&&t.createElement(e.headerCell,{...f}),!e.headerCell&&t.createElement("span",{className:"k-cell-inner"},t.createElement(E.HeaderCell,{...f}),d&&t.createElement(d,{...m})),n&&p&&t.createElement(q.ColumnResizer,{key:"ColumnResizer",resize:(o,w,R)=>n.dragHandler(o,e,w,R)}))})}sortIcon(s){if(!this.props.sort||s<0)return null;const r=this.props.sort[s].dir;return r?[t.createElement(h.IconWrap,{key:1,name:`sort-${r}-small`,icon:r==="asc"?g.sortAscSmallIcon:g.sortDescSmallIcon}),this.props.sort.length>1&&t.createElement("span",{key:2,className:"k-sort-order"},s+1)]:null}render(){return this.props.columnsMap.map((s,r)=>this.props.pressHandler&&t.createElement(v.ColumnDraggable,{key:r,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:r+1},this.cells(s))||t.createElement("tr",{className:"k-table-row","aria-rowindex":r+1,role:"row"},this.cells(s)))}}C.registerForLocalization(b);exports.HeaderRow=b;
|
package/header/HeaderRow.mjs
CHANGED
|
@@ -29,12 +29,12 @@ class K extends t.Component {
|
|
|
29
29
|
super(...arguments), this.cellClick = (s, r) => {
|
|
30
30
|
if (s.preventDefault(), !this.props.sortChange)
|
|
31
31
|
return;
|
|
32
|
-
const { allowUnsort: p, mode: e } = w(this.props.sortable || !1, r.sortable || !1), l = (this.props.sort || []).filter((
|
|
33
|
-
|
|
32
|
+
const { allowUnsort: p, mode: e } = w(this.props.sortable || !1, r.sortable || !1), l = (this.props.sort || []).filter((n) => n.field === r.field)[0], a = L[p][l && l.dir || ""], i = e === "single" ? [] : (this.props.sort || []).filter((n) => n.field !== r.field);
|
|
33
|
+
a !== "" && r.field && i.push({ field: r.field, dir: a }), this.props.sortChange(s, i, r.field);
|
|
34
34
|
}, this.cellKeyDown = (s, r) => {
|
|
35
35
|
s.isDefaultPrevented() || s.keyCode === z.enter && this.cellClick(s, r);
|
|
36
36
|
}, this.cells = (s) => s.map((r, p) => {
|
|
37
|
-
const e = this.props.columns[r], { columnResize: l } = this.props,
|
|
37
|
+
const e = this.props.columns[r], { columnResize: l } = this.props, a = l && l.resizable && e.resizable, i = this.props.sortable && e.sortable, n = this.props.sort ? this.props.sort.findIndex((o) => o.field === e.field) : -1, f = n >= 0 && this.props.sort[n].dir || "none", d = {
|
|
38
38
|
sort: this.props.sort,
|
|
39
39
|
onSortChange: this.props.sortChange,
|
|
40
40
|
filter: this.props.columnMenuFilter,
|
|
@@ -47,7 +47,7 @@ class K extends t.Component {
|
|
|
47
47
|
title: e.title,
|
|
48
48
|
selectionValue: e.headerSelectionValue,
|
|
49
49
|
render: this.props.cellRender,
|
|
50
|
-
children: this.sortIcon(
|
|
50
|
+
children: this.sortIcon(n),
|
|
51
51
|
sort: this.props.sort,
|
|
52
52
|
sortable: this.props.sortable,
|
|
53
53
|
sortChange: this.props.sortChange,
|
|
@@ -68,8 +68,7 @@ class K extends t.Component {
|
|
|
68
68
|
left: e.left,
|
|
69
69
|
right: e.right,
|
|
70
70
|
borderRightWidth: e.rightBorder ? "1px" : ""
|
|
71
|
-
} : {}, C = I(this).toLanguageString(m, F[m])
|
|
72
|
-
let k = e.isAccessible ? {
|
|
71
|
+
} : {}, C = I(this).toLanguageString(m, F[m]), k = e.isAccessible ? {
|
|
73
72
|
ariaSort: i ? A[f] : void 0,
|
|
74
73
|
role: "columnheader",
|
|
75
74
|
ariaColumnIndex: e.ariaColumnIndex,
|
|
@@ -93,7 +92,7 @@ class K extends t.Component {
|
|
|
93
92
|
},
|
|
94
93
|
e.headerCell && /* @__PURE__ */ t.createElement(e.headerCell, { ...h }),
|
|
95
94
|
!e.headerCell && /* @__PURE__ */ t.createElement("span", { className: "k-cell-inner" }, /* @__PURE__ */ t.createElement(y, { ...h }), c && /* @__PURE__ */ t.createElement(c, { ...d })),
|
|
96
|
-
l &&
|
|
95
|
+
l && a && /* @__PURE__ */ t.createElement(
|
|
97
96
|
D,
|
|
98
97
|
{
|
|
99
98
|
key: "ColumnResizer",
|
|
@@ -113,17 +112,20 @@ class K extends t.Component {
|
|
|
113
112
|
] : null;
|
|
114
113
|
}
|
|
115
114
|
render() {
|
|
116
|
-
return this.props.columnsMap.map(
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
115
|
+
return this.props.columnsMap.map(
|
|
116
|
+
(s, r) => this.props.pressHandler && /* @__PURE__ */ t.createElement(
|
|
117
|
+
E,
|
|
118
|
+
{
|
|
119
|
+
key: r,
|
|
120
|
+
pressHandler: this.props.pressHandler,
|
|
121
|
+
dragHandler: this.props.dragHandler,
|
|
122
|
+
releaseHandler: this.props.releaseHandler,
|
|
123
|
+
ariaRowIndex: r + 1
|
|
124
|
+
},
|
|
125
|
+
this.cells(s)
|
|
126
|
+
) || // eslint-disable-next-line react/jsx-key
|
|
127
|
+
/* @__PURE__ */ t.createElement("tr", { className: "k-table-row", "aria-rowindex": r + 1, role: "row" }, this.cells(s))
|
|
128
|
+
);
|
|
127
129
|
}
|
|
128
130
|
}
|
|
129
131
|
R(K);
|
package/header/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 x=require("../../navigation/utils.js"),w=require("../ColumnProps.js");function p(t,n){const d=t[n].depth;let i=null;for(let h=n+1;h<t.length;h++)if(t[h].depth===d){i=t[h];break}return i}const f=t=>{let n=t.width?parseFloat(t.width.toString()):0;return!n&&t.children&&t.children.length&&(n=t.children.reduce((d,i)=>f(i)+d,0)),n};function S(t,n){const d=[[]];let i=0;for(let e=t.length-1;e>=0;e--)i=Math.max(i,t[e].depth),t[e].colSpan=t[e].colSpan||1,t[e].children.length>0&&(t[e].colSpan=t[e].children.reduce((l,a)=>a.hidden?l:l+a.colSpan,0));const h=[];let r=1;return t.forEach((e,l)=>{d[e.depth]=d[e.depth]||[];let a=!1;d[e.depth].length===0&&(r<=1?r=1+(e.children.length>0?0:i-e.depth):(r--,a=!0)),e.rowSpan=1+(e.children.length>0?0:i-e.depth),e.kFirst=a,e.index=d[e.depth].length,d[e.depth].push(l),e.ariaColumnIndex=h[e.depth]?h[e.depth]+1:1;for(let o=e.depth;o<e.depth+e.rowSpan;o++)h[o]=(h[o]||0)+e.colSpan}),g(d,t,n),c(d,t,n),d}function g(t,n,d){
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("../../navigation/utils.js"),w=require("../ColumnProps.js");function p(t,n){const d=t[n].depth;let i=null;for(let h=n+1;h<t.length;h++)if(t[h].depth===d){i=t[h];break}return i}const f=t=>{let n=t.width?parseFloat(t.width.toString()):0;return!n&&t.children&&t.children.length&&(n=t.children.reduce((d,i)=>f(i)+d,0)),n};function S(t,n){const d=[[]];let i=0;for(let e=t.length-1;e>=0;e--)i=Math.max(i,t[e].depth),t[e].colSpan=t[e].colSpan||1,t[e].children.length>0&&(t[e].colSpan=t[e].children.reduce((l,a)=>a.hidden?l:l+a.colSpan,0));const h=[];let r=1;return t.forEach((e,l)=>{d[e.depth]=d[e.depth]||[];let a=!1;d[e.depth].length===0&&(r<=1?r=1+(e.children.length>0?0:i-e.depth):(r--,a=!0)),e.rowSpan=1+(e.children.length>0?0:i-e.depth),e.kFirst=a,e.index=d[e.depth].length,d[e.depth].push(l),e.ariaColumnIndex=h[e.depth]?h[e.depth]+1:1;for(let o=e.depth;o<e.depth+e.rowSpan;o++)h[o]=(h[o]||0)+e.colSpan}),g(d,t,n),c(d,t,n),d}function g(t,n,d){const i=new Array(t.length).fill(0);let h=0;n.forEach(r=>{if(r.locked&&(!r.left||d))if(r.left=i[r.depth],h=f(r),r.children.length===0)for(let e=r.depth;e<i.length;e++)i[e]+=h;else i[r.depth]+=h})}function c(t,n,d){let i=0;const h=new Array(t.length).fill(0);for(let r=n.length-1;r>=0;r--){const e=n[r];if(e.locked&&(!e.right||d)){if(e.right=h[e.depth],i=f(e),e.children.length===0)for(let a=e.depth;a<h.length;a++)h[a]+=i;else h[e.depth]+=i;const l=p(n,r);e.rightBorder=!(l&&l.locked)}}}function s(t,n,d=0){const i=[];if(!t||!t.length)return[];t.forEach(r=>{const e=s(r.children||[],n,d+1);i.push(Object.assign({},{depth:d},w.ColumnDefaultProps,r,{id:r.id?r.id:x.generateNavigatableId(`${n.prevId++}`,n.idPrefix,"column"),declarationIndex:i.length,children:e,rowSpan:0,colSpan:0,isAccessible:!0}))});const h=(r,e)=>r.orderIndex===e.orderIndex?r.declarationIndex-e.declarationIndex:(r.orderIndex||0)-(e.orderIndex||0);if(i.sort(h),d===0){const r=[],e=(l,a)=>l.forEach(o=>{o.parentIndex=a,e(o.children,r.push(o)-1)});return e(i,-1),r}return i}function y(t){return!!(t&&getComputedStyle(t).direction==="rtl")}function I(t,n){if(!n||!t||!t.originalEvent)return-1;const d={x:t.clientX,y:t.originalEvent.clientY};let i=n.ownerDocument?n.ownerDocument.elementFromPoint(d.x,d.y):null;for(;i&&i.parentElement!==n;)i=i.parentElement;if(!i&&n.matches("tr")){const r=e=>{const l=e.getBoundingClientRect();return d.x>l.left&&d.x<l.left+l.width&&d.y>l.top&&d.y<l.top+l.height};i=Array.from(n.children).find(r)||null}const h=n.children;for(let r=0;r<h.length;r++)if(h[r]===i)return r;return-1}exports.getIndex=I;exports.isRtl=y;exports.mapColumns=S;exports.nextColumn=p;exports.readColumns=s;exports.updateLeft=g;exports.updateRight=c;
|
package/header/utils/index.mjs
CHANGED
|
@@ -6,90 +6,88 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
import { generateNavigatableId as
|
|
9
|
+
import { generateNavigatableId as p } from "../../navigation/utils.mjs";
|
|
10
10
|
import { ColumnDefaultProps as g } from "../ColumnProps.mjs";
|
|
11
|
-
function c(t,
|
|
12
|
-
const
|
|
11
|
+
function c(t, n) {
|
|
12
|
+
const d = t[n].depth;
|
|
13
13
|
let i = null;
|
|
14
|
-
for (let h =
|
|
15
|
-
if (t[h].depth ===
|
|
14
|
+
for (let h = n + 1; h < t.length; h++)
|
|
15
|
+
if (t[h].depth === d) {
|
|
16
16
|
i = t[h];
|
|
17
17
|
break;
|
|
18
18
|
}
|
|
19
19
|
return i;
|
|
20
20
|
}
|
|
21
|
-
const
|
|
22
|
-
let
|
|
23
|
-
return !
|
|
21
|
+
const o = (t) => {
|
|
22
|
+
let n = t.width ? parseFloat(t.width.toString()) : 0;
|
|
23
|
+
return !n && t.children && t.children.length && (n = t.children.reduce((d, i) => o(i) + d, 0)), n;
|
|
24
24
|
};
|
|
25
|
-
function I(t,
|
|
26
|
-
const
|
|
25
|
+
function I(t, n) {
|
|
26
|
+
const d = [[]];
|
|
27
27
|
let i = 0;
|
|
28
28
|
for (let e = t.length - 1; e >= 0; e--)
|
|
29
|
-
i = Math.max(i, t[e].depth), t[e].colSpan = t[e].colSpan || 1, t[e].children.length > 0 && (t[e].colSpan = t[e].children.reduce(
|
|
29
|
+
i = Math.max(i, t[e].depth), t[e].colSpan = t[e].colSpan || 1, t[e].children.length > 0 && (t[e].colSpan = t[e].children.reduce(
|
|
30
|
+
(l, a) => a.hidden ? l : l + a.colSpan,
|
|
31
|
+
0
|
|
32
|
+
));
|
|
30
33
|
const h = [];
|
|
31
34
|
let r = 1;
|
|
32
35
|
return t.forEach((e, l) => {
|
|
33
|
-
|
|
36
|
+
d[e.depth] = d[e.depth] || [];
|
|
34
37
|
let a = !1;
|
|
35
|
-
|
|
38
|
+
d[e.depth].length === 0 && (r <= 1 ? r = 1 + (e.children.length > 0 ? 0 : i - e.depth) : (r--, a = !0)), e.rowSpan = 1 + (e.children.length > 0 ? 0 : i - e.depth), e.kFirst = a, e.index = d[e.depth].length, d[e.depth].push(l), e.ariaColumnIndex = h[e.depth] ? h[e.depth] + 1 : 1;
|
|
36
39
|
for (let f = e.depth; f < e.depth + e.rowSpan; f++)
|
|
37
40
|
h[f] = (h[f] || 0) + e.colSpan;
|
|
38
|
-
}),
|
|
41
|
+
}), s(d, t, n), x(d, t, n), d;
|
|
39
42
|
}
|
|
40
|
-
function
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
function s(t, n, d) {
|
|
44
|
+
const i = new Array(t.length).fill(0);
|
|
45
|
+
let h = 0;
|
|
46
|
+
n.forEach((r) => {
|
|
47
|
+
if (r.locked && (!r.left || d))
|
|
48
|
+
if (r.left = i[r.depth], h = o(r), r.children.length === 0)
|
|
45
49
|
for (let e = r.depth; e < i.length; e++)
|
|
46
50
|
i[e] += h;
|
|
47
51
|
else
|
|
48
52
|
i[r.depth] += h;
|
|
49
53
|
});
|
|
50
54
|
}
|
|
51
|
-
function
|
|
52
|
-
let i = 0
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
function x(t, n, d) {
|
|
56
|
+
let i = 0;
|
|
57
|
+
const h = new Array(t.length).fill(0);
|
|
58
|
+
for (let r = n.length - 1; r >= 0; r--) {
|
|
59
|
+
const e = n[r];
|
|
60
|
+
if (e.locked && (!e.right || d)) {
|
|
61
|
+
if (e.right = h[e.depth], i = o(e), e.children.length === 0)
|
|
57
62
|
for (let a = e.depth; a < h.length; a++)
|
|
58
63
|
h[a] += i;
|
|
59
64
|
else
|
|
60
65
|
h[e.depth] += i;
|
|
61
|
-
const l = c(
|
|
66
|
+
const l = c(n, r);
|
|
62
67
|
e.rightBorder = !(l && l.locked);
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
70
|
}
|
|
66
|
-
function w(t,
|
|
67
|
-
|
|
71
|
+
function w(t, n, d = 0) {
|
|
72
|
+
const i = [];
|
|
68
73
|
if (!t || !t.length)
|
|
69
74
|
return [];
|
|
70
75
|
t.forEach((r) => {
|
|
71
|
-
const e = w(r.children || [],
|
|
76
|
+
const e = w(r.children || [], n, d + 1);
|
|
72
77
|
i.push(
|
|
73
|
-
Object.assign(
|
|
74
|
-
{},
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
children: e,
|
|
82
|
-
rowSpan: 0,
|
|
83
|
-
colSpan: 0,
|
|
84
|
-
isAccessible: !0
|
|
85
|
-
}
|
|
86
|
-
)
|
|
78
|
+
Object.assign({}, { depth: d }, g, r, {
|
|
79
|
+
id: r.id ? r.id : p(`${n.prevId++}`, n.idPrefix, "column"),
|
|
80
|
+
declarationIndex: i.length,
|
|
81
|
+
children: e,
|
|
82
|
+
rowSpan: 0,
|
|
83
|
+
colSpan: 0,
|
|
84
|
+
isAccessible: !0
|
|
85
|
+
})
|
|
87
86
|
);
|
|
88
87
|
});
|
|
89
88
|
const h = (r, e) => r.orderIndex === e.orderIndex ? r.declarationIndex - e.declarationIndex : (r.orderIndex || 0) - (e.orderIndex || 0);
|
|
90
|
-
if (i.sort(h),
|
|
91
|
-
|
|
92
|
-
const e = (l, a) => l.forEach((f) => {
|
|
89
|
+
if (i.sort(h), d === 0) {
|
|
90
|
+
const r = [], e = (l, a) => l.forEach((f) => {
|
|
93
91
|
f.parentIndex = a, e(f.children, r.push(f) - 1);
|
|
94
92
|
});
|
|
95
93
|
return e(i, -1), r;
|
|
@@ -99,21 +97,21 @@ function w(t, d, n = 0) {
|
|
|
99
97
|
function E(t) {
|
|
100
98
|
return !!(t && getComputedStyle(t).direction === "rtl");
|
|
101
99
|
}
|
|
102
|
-
function k(t,
|
|
103
|
-
if (!
|
|
100
|
+
function k(t, n) {
|
|
101
|
+
if (!n || !t || !t.originalEvent)
|
|
104
102
|
return -1;
|
|
105
|
-
const
|
|
106
|
-
let i =
|
|
107
|
-
for (; i && i.parentElement !==
|
|
103
|
+
const d = { x: t.clientX, y: t.originalEvent.clientY };
|
|
104
|
+
let i = n.ownerDocument ? n.ownerDocument.elementFromPoint(d.x, d.y) : null;
|
|
105
|
+
for (; i && i.parentElement !== n; )
|
|
108
106
|
i = i.parentElement;
|
|
109
|
-
if (!i &&
|
|
107
|
+
if (!i && n.matches("tr")) {
|
|
110
108
|
const r = (e) => {
|
|
111
109
|
const l = e.getBoundingClientRect();
|
|
112
|
-
return
|
|
110
|
+
return d.x > l.left && d.x < l.left + l.width && d.y > l.top && d.y < l.top + l.height;
|
|
113
111
|
};
|
|
114
|
-
i = Array.from(
|
|
112
|
+
i = Array.from(n.children).find(r) || null;
|
|
115
113
|
}
|
|
116
|
-
const h =
|
|
114
|
+
const h = n.children;
|
|
117
115
|
for (let r = 0; r < h.length; r++)
|
|
118
116
|
if (h[r] === i)
|
|
119
117
|
return r;
|
|
@@ -125,6 +123,6 @@ export {
|
|
|
125
123
|
I as mapColumns,
|
|
126
124
|
c as nextColumn,
|
|
127
125
|
w as readColumns,
|
|
128
|
-
|
|
129
|
-
|
|
126
|
+
s as updateLeft,
|
|
127
|
+
x as updateRight
|
|
130
128
|
};
|
package/index.d.mts
CHANGED
|
@@ -1038,7 +1038,7 @@ export declare interface FilterComponentProps extends FilterCellProps {
|
|
|
1038
1038
|
*/
|
|
1039
1039
|
ariaLabel?: string;
|
|
1040
1040
|
/**
|
|
1041
|
-
* @hidden
|
|
1041
|
+
* @ hidden
|
|
1042
1042
|
*/
|
|
1043
1043
|
min?: number;
|
|
1044
1044
|
/**
|
|
@@ -1946,7 +1946,7 @@ export declare const setSelectedState: (options: {
|
|
|
1946
1946
|
/**
|
|
1947
1947
|
* The settings for sorting the component data.
|
|
1948
1948
|
*/
|
|
1949
|
-
export declare type SortSettings = boolean | ColumnSortSettings & {
|
|
1949
|
+
export declare type SortSettings = boolean | (ColumnSortSettings & {
|
|
1950
1950
|
/**
|
|
1951
1951
|
* The sort mode of the component.
|
|
1952
1952
|
*
|
|
@@ -1955,7 +1955,7 @@ export declare type SortSettings = boolean | ColumnSortSettings & {
|
|
|
1955
1955
|
* - `multiple`
|
|
1956
1956
|
*/
|
|
1957
1957
|
mode?: 'single' | 'multiple';
|
|
1958
|
-
};
|
|
1958
|
+
});
|
|
1959
1959
|
|
|
1960
1960
|
/**
|
|
1961
1961
|
* @hidden
|
package/index.d.ts
CHANGED
|
@@ -1038,7 +1038,7 @@ export declare interface FilterComponentProps extends FilterCellProps {
|
|
|
1038
1038
|
*/
|
|
1039
1039
|
ariaLabel?: string;
|
|
1040
1040
|
/**
|
|
1041
|
-
* @hidden
|
|
1041
|
+
* @ hidden
|
|
1042
1042
|
*/
|
|
1043
1043
|
min?: number;
|
|
1044
1044
|
/**
|
|
@@ -1946,7 +1946,7 @@ export declare const setSelectedState: (options: {
|
|
|
1946
1946
|
/**
|
|
1947
1947
|
* The settings for sorting the component data.
|
|
1948
1948
|
*/
|
|
1949
|
-
export declare type SortSettings = boolean | ColumnSortSettings & {
|
|
1949
|
+
export declare type SortSettings = boolean | (ColumnSortSettings & {
|
|
1950
1950
|
/**
|
|
1951
1951
|
* The sort mode of the component.
|
|
1952
1952
|
*
|
|
@@ -1955,7 +1955,7 @@ export declare type SortSettings = boolean | ColumnSortSettings & {
|
|
|
1955
1955
|
* - `multiple`
|
|
1956
1956
|
*/
|
|
1957
1957
|
mode?: 'single' | 'multiple';
|
|
1958
|
-
};
|
|
1958
|
+
});
|
|
1959
1959
|
|
|
1960
1960
|
/**
|
|
1961
1961
|
* @hidden
|
|
@@ -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 l=require("@progress/kendo-react-common"),t=require("./utils.js"),p=require("./NavigatableSettings.js"),F=e=>{const{navigatable:n,contextStateRef:i,navigationStateRef:o,idPrefix:r}=e;n&&(i.current={activeId:"",level:0},o.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:r||l.guid(),navigationMatrix:[],lastHeaderIndex:-1})},h=e=>{const{scope:n,contextStateRef:i,navigationStateRef:o}=e;if(i.current&&o.current&&n){R(e);const r=t.getFirstDataCell(o.current.navigationMatrix);if(r){const g=t.tableKeyboardNavigationTools.getActiveNavDataElement(n,r);g&&(i.current.activeId=r,g.setAttribute("tabIndex","0"))}}},S=e=>{const{contextStateRef:n,navigationStateRef:i,document:o}=e;if(n.current&&i.current&&o){const r=l.getActiveElement(o),g=t.tableKeyboardNavigationTools.getNavigatableId(r);g&&g===n.current.activeId&&(i.current.activeElementIsFocused=!0)}},B=e=>{const{scope:n,contextStateRef:i,navigationStateRef:o,focusFirst:r,newEditableRow:g,singleEditRow:c,lastActiveElement:v,navigatable:a}=e;if(r&&(F(e),h(e),t.focusFirstDataElement(e)),(!a||a&&a.mode===p.NavigatableMode.inline)&&(g&&!c||g&&c&&!v)?t.focusFirstEditor(g):a&&a.mode===p.NavigatableMode.inline&&g&&c&&v&&v.focus(),R(e),i.current&&o.current&&n){if(!t.tableKeyboardNavigationTools.getActiveNavDataElement(n,i.current.activeId)){const N=n.className.indexOf("k-treelist")===-1?t.getFirstDataCell(o.current.navigationMatrix):o.current.navigationMatrix[0][0],C=t.tableKeyboardNavigationTools.getActiveNavDataElement(n,N);N&&C&&(i.current.activeId=N,C.setAttribute("tabIndex","0"),o.current.activeElementIsFocused&&C.focus())}o.current.activeElementIsFocused=!1}},M=(e,n)=>{const{contextStateRef:i}=n;if(e.isDefaultPrevented()||!i.current)return;const o=e.target,r=t.tableKeyboardNavigationTools.getNavigatableId(o);if(r&&r!==i.current.activeId){const g=t.tableKeyboardNavigationTools.getClosestScope(o);if(!g)return;const c=t.tableKeyboardNavigationTools.getActiveNavDataElement(g,i.current.activeId);c&&!e.target.classList.contains("k-table-td")&&!e.target.classList.contains("k-detail-cell")&&c.setAttribute("tabIndex","-1"),o.setAttribute("tabIndex","0"),i.current.activeId=r}else if(o.closest(".k-filtercell")&&n.navigatable){const g=o.closest(".k-table-th");l.enableNavigatableContainer(g)}},L=async(e,n)=>{var T,x,k,D;const{contextStateRef:i,navigationStateRef:o,onNavigationAction:r,columns:g}=n;if(e.isDefaultPrevented()||!i.current||!o.current)return;let c;if(e.keyCode===l.Keys.esc&&!n.navigatable.mode){c=t.tableKeyboardNavigationTools.getClosestNavigatableElement(e.target),t.tableKeyboardNavigationTools.focusElement({elementForFocus:c,event:e,contextStateRef:i}),e.target.closest(".k-filtercell")&&c&&n.navigatable&&l.disableNavigatableContainer(c);return}const v=e.target,a=v.className.indexOf("k-checkbox")===-1?v:t.tableKeyboardNavigationTools.getClosestNavigatableElement(v),u=t.tableKeyboardNavigationTools.getNavigatableId(a)||((T=t.tableKeyboardNavigationTools.getParentCell(a))==null?void 0:T.getAttribute("data-keyboardnavid")),N=u==null?void 0:u.endsWith("column"),C=t.tableKeyboardNavigationTools.getNavigatableLevel(a),K=t.tableKeyboardNavigationTools.getClosestScope(a),E=o.current.navigationMatrix,I=e.metaKey||e.ctrlKey,b=t.getCurrentIdIndexes(o,E,u),y=a.closest(".k-table-th");if(n.navigatable&&n.navigatable.mode===p.NavigatableMode.inline){if(e.keyCode===l.Keys.enter){const d=a.classList.contains("k-grid-remove-command"),s=a.classList.contains("k-grid-cancel-command"),f=t.tableKeyboardNavigationTools.getRowAriaRowIndex(a);if(d){setTimeout(()=>{const m=t.tableKeyboardNavigationTools.getRemoveButtonByAriaRowIndex(f.current)||t.tableKeyboardNavigationTools.getRemoveButtonByAriaRowIndex(f.prev);m&&m.focus()});return}else if(s&&a.parentElement){const m=(x=t.tableKeyboardNavigationTools.getClosestNavigatableElement(a))==null?void 0:x.getAttribute("data-keyboardnavid");setTimeout(()=>{m&&t.tableKeyboardNavigationTools.getTableCellByKeyboardNavId(m).focus()});return}}if(e.keyCode===l.Keys.esc){const d=t.tableKeyboardNavigationTools.getClosestCancelButton(a);d&&d.click();const s=await t.tableKeyboardNavigationTools.getClosestEditButton(a);s&&s.focus();return}}else if(n.navigatable&&n.navigatable.mode===p.NavigatableMode.incell){const d=(k=a.closest(".k-table-td"))==null?void 0:k.classList.contains("k-grid-edit-cell");if(e.keyCode===l.Keys.esc){a.focus(),a.blur();const s=v&&v.parentElement&&v.parentElement.closest(".k-grid-edit-row"),f=t.tableKeyboardNavigationTools.getClosestCellNavId(a),m=await t.tableKeyboardNavigationTools.waitForElementToBeVisible(`[data-keyboardnavid='${f}']:not(.k-grid-edit-cell)`,s);m&&m.focus()}else if(e.keyCode===l.Keys.enter){let s;if(b){const[f,m]=b;s=t.findNextIdByRowIndex(f,m,u,E,!1)}if(!d)(D=t.tableKeyboardNavigationTools.getParentCell(a))==null||D.click();else if(d&&s){const f=s&&s[0]&&t.tableKeyboardNavigationTools.getTableCellByKeyboardNavId(s[0]);f&&f.click()}}else if(e.keyCode===l.Keys.left){if(d)return}else if(e.keyCode===l.Keys.right){if(d)return}else if(e.keyCode===l.Keys.up){if(d)return}else if(e.keyCode===l.Keys.down){if(d)return}else if(e.keyCode===l.Keys.tab&&d){if(e.shiftKey){const s=b&&g&&t.tableKeyboardNavigationTools.getPrevEditableCell(b,g,u,E);if(s&&s.prevCell&&s.prevCell.click(),s&&s.elementToFocus!=="gridcell"){a.blur();const f=t.tableKeyboardNavigationTools.getClosestCellNavId(a);setTimeout(()=>{f&&t.tableKeyboardNavigationTools.getTableCellByKeyboardNavId(f).focus()})}e.preventDefault()}else{const s=b&&g&&t.tableKeyboardNavigationTools.getNextEditableCell(b,g,u,E);if(s&&s.nextCell&&s.elementToFocus==="gridcell"&&s.nextCell.click(),s&&s.elementToFocus!=="gridcell"){a.blur();const f=t.tableKeyboardNavigationTools.getClosestCellNavId(a);f&&t.tableKeyboardNavigationTools.getTableCellByKeyboardNavId(f).focus();return}e.preventDefault()}e.preventDefault()}}if(a.closest(".k-filtercell")&&y&&n.navigatable&&l.keepFocusInContainer(e,y,l.TABBABLE_ELEMENTS),C!==void 0&&K){if(e.keyCode===l.Keys.enter){const d=t.tableKeyboardNavigationTools.getNavigatableElement(a,{level:C+1});if(d){t.tableKeyboardNavigationTools.focusElement({elementForFocus:d,event:e,contextStateRef:i,prevElement:a});return}
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@progress/kendo-react-common"),t=require("./utils.js"),p=require("./NavigatableSettings.js"),F=e=>{const{navigatable:n,contextStateRef:i,navigationStateRef:o,idPrefix:r}=e;n&&(i.current={activeId:"",level:0},o.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:r||l.guid(),navigationMatrix:[],lastHeaderIndex:-1})},h=e=>{const{scope:n,contextStateRef:i,navigationStateRef:o}=e;if(i.current&&o.current&&n){R(e);const r=t.getFirstDataCell(o.current.navigationMatrix);if(r){const g=t.tableKeyboardNavigationTools.getActiveNavDataElement(n,r);g&&(i.current.activeId=r,g.setAttribute("tabIndex","0"))}}},S=e=>{const{contextStateRef:n,navigationStateRef:i,document:o}=e;if(n.current&&i.current&&o){const r=l.getActiveElement(o),g=t.tableKeyboardNavigationTools.getNavigatableId(r);g&&g===n.current.activeId&&(i.current.activeElementIsFocused=!0)}},B=e=>{const{scope:n,contextStateRef:i,navigationStateRef:o,focusFirst:r,newEditableRow:g,singleEditRow:c,lastActiveElement:v,navigatable:a}=e;if(r&&(F(e),h(e),t.focusFirstDataElement(e)),(!a||a&&a.mode===p.NavigatableMode.inline)&&(g&&!c||g&&c&&!v)?t.focusFirstEditor(g):a&&a.mode===p.NavigatableMode.inline&&g&&c&&v&&v.focus(),R(e),i.current&&o.current&&n){if(!t.tableKeyboardNavigationTools.getActiveNavDataElement(n,i.current.activeId)){const N=n.className.indexOf("k-treelist")===-1?t.getFirstDataCell(o.current.navigationMatrix):o.current.navigationMatrix[0][0],C=t.tableKeyboardNavigationTools.getActiveNavDataElement(n,N);N&&C&&(i.current.activeId=N,C.setAttribute("tabIndex","0"),o.current.activeElementIsFocused&&C.focus())}o.current.activeElementIsFocused=!1}},M=(e,n)=>{const{contextStateRef:i}=n;if(e.isDefaultPrevented()||!i.current)return;const o=e.target,r=t.tableKeyboardNavigationTools.getNavigatableId(o);if(r&&r!==i.current.activeId){const g=t.tableKeyboardNavigationTools.getClosestScope(o);if(!g)return;const c=t.tableKeyboardNavigationTools.getActiveNavDataElement(g,i.current.activeId);c&&!e.target.classList.contains("k-table-td")&&!e.target.classList.contains("k-detail-cell")&&c.setAttribute("tabIndex","-1"),o.setAttribute("tabIndex","0"),i.current.activeId=r}else if(o.closest(".k-filtercell")&&n.navigatable){const g=o.closest(".k-table-th");l.enableNavigatableContainer(g)}},L=async(e,n)=>{var T,x,k,D;const{contextStateRef:i,navigationStateRef:o,onNavigationAction:r,columns:g}=n;if(e.isDefaultPrevented()||!i.current||!o.current)return;let c;if(e.keyCode===l.Keys.esc&&!n.navigatable.mode){c=t.tableKeyboardNavigationTools.getClosestNavigatableElement(e.target),t.tableKeyboardNavigationTools.focusElement({elementForFocus:c,event:e,contextStateRef:i}),e.target.closest(".k-filtercell")&&c&&n.navigatable&&l.disableNavigatableContainer(c);return}const v=e.target,a=v.className.indexOf("k-checkbox")===-1?v:t.tableKeyboardNavigationTools.getClosestNavigatableElement(v),u=t.tableKeyboardNavigationTools.getNavigatableId(a)||((T=t.tableKeyboardNavigationTools.getParentCell(a))==null?void 0:T.getAttribute("data-keyboardnavid")),N=u==null?void 0:u.endsWith("column"),C=t.tableKeyboardNavigationTools.getNavigatableLevel(a),K=t.tableKeyboardNavigationTools.getClosestScope(a),E=o.current.navigationMatrix,I=e.metaKey||e.ctrlKey,b=t.getCurrentIdIndexes(o,E,u),y=a.closest(".k-table-th");if(n.navigatable&&n.navigatable.mode===p.NavigatableMode.inline){if(e.keyCode===l.Keys.enter){const d=a.classList.contains("k-grid-remove-command"),s=a.classList.contains("k-grid-cancel-command"),f=t.tableKeyboardNavigationTools.getRowAriaRowIndex(a);if(d){setTimeout(()=>{const m=t.tableKeyboardNavigationTools.getRemoveButtonByAriaRowIndex(f.current)||t.tableKeyboardNavigationTools.getRemoveButtonByAriaRowIndex(f.prev);m&&m.focus()});return}else if(s&&a.parentElement){const m=(x=t.tableKeyboardNavigationTools.getClosestNavigatableElement(a))==null?void 0:x.getAttribute("data-keyboardnavid");setTimeout(()=>{m&&t.tableKeyboardNavigationTools.getTableCellByKeyboardNavId(m).focus()});return}}if(e.keyCode===l.Keys.esc){const d=t.tableKeyboardNavigationTools.getClosestCancelButton(a);d&&d.click();const s=await t.tableKeyboardNavigationTools.getClosestEditButton(a);s&&s.focus();return}}else if(n.navigatable&&n.navigatable.mode===p.NavigatableMode.incell){const d=(k=a.closest(".k-table-td"))==null?void 0:k.classList.contains("k-grid-edit-cell");if(e.keyCode===l.Keys.esc){a.focus(),a.blur();const s=v&&v.parentElement&&v.parentElement.closest(".k-grid-edit-row"),f=t.tableKeyboardNavigationTools.getClosestCellNavId(a),m=await t.tableKeyboardNavigationTools.waitForElementToBeVisible(`[data-keyboardnavid='${f}']:not(.k-grid-edit-cell)`,s);m&&m.focus()}else if(e.keyCode===l.Keys.enter){let s;if(b){const[f,m]=b;s=t.findNextIdByRowIndex(f,m,u,E,!1)}if(!d)(D=t.tableKeyboardNavigationTools.getParentCell(a))==null||D.click();else if(d&&s){const f=s&&s[0]&&t.tableKeyboardNavigationTools.getTableCellByKeyboardNavId(s[0]);f&&f.click()}}else if(e.keyCode===l.Keys.left){if(d)return}else if(e.keyCode===l.Keys.right){if(d)return}else if(e.keyCode===l.Keys.up){if(d)return}else if(e.keyCode===l.Keys.down){if(d)return}else if(e.keyCode===l.Keys.tab&&d){if(e.shiftKey){const s=b&&g&&t.tableKeyboardNavigationTools.getPrevEditableCell(b,g,u,E);if(s&&s.prevCell&&s.prevCell.click(),s&&s.elementToFocus!=="gridcell"){a.blur();const f=t.tableKeyboardNavigationTools.getClosestCellNavId(a);setTimeout(()=>{f&&t.tableKeyboardNavigationTools.getTableCellByKeyboardNavId(f).focus()})}e.preventDefault()}else{const s=b&&g&&t.tableKeyboardNavigationTools.getNextEditableCell(b,g,u,E);if(s&&s.nextCell&&s.elementToFocus==="gridcell"&&s.nextCell.click(),s&&s.elementToFocus!=="gridcell"){a.blur();const f=t.tableKeyboardNavigationTools.getClosestCellNavId(a);f&&t.tableKeyboardNavigationTools.getTableCellByKeyboardNavId(f).focus();return}e.preventDefault()}e.preventDefault()}}if(a.closest(".k-filtercell")&&y&&n.navigatable&&l.keepFocusInContainer(e,y,l.TABBABLE_ELEMENTS),C!==void 0&&K){if(e.keyCode===l.Keys.enter){const d=t.tableKeyboardNavigationTools.getNavigatableElement(a,{level:C+1});if(d){t.tableKeyboardNavigationTools.focusElement({elementForFocus:d,event:e,contextStateRef:i,prevElement:a});return}a.querySelector(".k-filtercell")&&n.navigatable&&l.enableNavigatableContainer(a),c=t.tableKeyboardNavigationTools.getFocusableElements(a)[0],t.tableKeyboardNavigationTools.focusElement({elementForFocus:c,event:e,contextStateRef:i,prevElement:a});return}if(e.keyCode===l.Keys.home&&b)if(I)t.focusFirstDataElement({scope:K,navigationStateRef:o,contextStateRef:i},e);else{const d=t.getFirstRowDataCell(o.current.navigationMatrix,b[0]);c=t.tableKeyboardNavigationTools.getActiveNavDataElement(K,d),t.tableKeyboardNavigationTools.focusElement({elementForFocus:c,event:e,contextStateRef:i})}if(e.keyCode===l.Keys.end&&b)if(I){const d=t.getLastDataCell(o.current.navigationMatrix);c=t.tableKeyboardNavigationTools.getActiveNavDataElement(K,d),t.tableKeyboardNavigationTools.focusElement({elementForFocus:c,event:e,contextStateRef:i})}else{const d=t.getLastRowDataCell(o.current.navigationMatrix,b[0]);c=t.tableKeyboardNavigationTools.getActiveNavDataElement(K,d),t.tableKeyboardNavigationTools.focusElement({elementForFocus:c,event:e,contextStateRef:i})}if(e.keyCode===l.Keys.up||e.keyCode===l.Keys.down||e.keyCode===l.Keys.left||e.keyCode===l.Keys.right){const d=e.keyCode===l.Keys.up||e.keyCode===l.Keys.left,s=e.keyCode===l.Keys.up||e.keyCode===l.Keys.down;if(b){const[f,m]=b,[w,A]=s?t.findNextIdByRowIndex(f,m,u,E,d):t.findNextIdByCellIndex(f,m,u,E,d);w&&(c=t.tableKeyboardNavigationTools.getActiveNavDataElement(K,w),t.tableKeyboardNavigationTools.focusElement({elementForFocus:c,event:e,contextStateRef:i,prevElement:a}),o.current.prevNavigationIndexes=A)}}if(I&&e.keyCode===l.Keys.left&&N){r&&r({focusElement:a,event:e,action:"reorderToLeft"}),e.preventDefault();return}if(I&&e.keyCode===l.Keys.right&&N){r&&r({focusElement:a,event:e,action:"reorderToRight"}),e.preventDefault();return}if(e.keyCode===l.Keys.pageUp){r&&r({focusElement:c,event:e,action:"moveToNextPage"}),e.preventDefault();return}if(e.keyCode===l.Keys.pageDown){r&&r({focusElement:c,event:e,action:"moveToPrevPage"}),e.preventDefault();return}r&&r({focusElement:c,event:e})}},R=e=>{const{navigationStateRef:n,scope:i}=e;if(!n.current||!i)return;const o=[],r=t.getHeaderElement(i),g=t.getBodyElement(i),c=t.getNoRecordsElement(i)||{children:[]};if(!r||!g)return;const v=Array.from(r.children),a=Array.from(g.children);[...v,...a,c].forEach((u,N)=>{Array.from(u.children).forEach(C=>{const K=t.getNavigatableId(C);if(!K)return;const E=C.rowSpan||1,I=C.colSpan||1;let b;for(let y=N,T=N+E;y<T;y++){if(o[y]||(o[y]=[]),b===void 0){const x=o[y].findIndex(k=>!k);b=x>-1?x:o[y].length}o[y][b]=K||""}for(let y=b+1,T=b+I;y<T;y++)o[N][y]=K||""})}),n.current.navigationMatrix=o.filter(u=>!!u),n.current.lastHeaderIndex=v.length-1},P={onConstructor:F,onComponentDidMount:h,onGetSnapshotBeforeUpdate:S,onComponentDidUpdate:B,onFocus:M,onKeyDown:L,generateMatrix:R,focusFirstDataElement:t.focusFirstDataElement};exports.tableKeyboardNavigation=P;
|