@progress/kendo-react-grid 15.2.0-develop.7 → 15.2.0-develop.8
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.d.ts +1 -0
- package/GridClientWrapper.js +1 -1
- package/GridClientWrapper.mjs +478 -450
- package/GridColumn.d.ts +18 -1
- package/GridComponent.js +1 -1
- package/GridComponent.mjs +509 -433
- package/cells/groupcell/GridGroupCell.js +1 -1
- package/cells/groupcell/GridGroupCell.mjs +60 -10
- package/cells/groupcell/GridGroupCellServer.js +1 -1
- package/cells/groupcell/GridGroupCellServer.mjs +31 -18
- package/cells/groupcell/utils.d.ts +19 -4
- package/cells/groupcell/utils.js +1 -1
- package/cells/groupcell/utils.mjs +255 -33
- package/cells/selectioncell/GridSelectionCellInput.d.ts +1 -0
- package/cells/selectioncell/GridSelectionCellInput.js +1 -1
- package/cells/selectioncell/GridSelectionCellInput.mjs +19 -14
- package/components/StickyGroupTable.d.ts +2 -0
- package/components/StickyGroupTable.js +1 -1
- package/components/StickyGroupTable.mjs +29 -27
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/drag/GroupingIndicator.d.ts +1 -0
- package/drag/GroupingIndicator.js +1 -1
- package/drag/GroupingIndicator.mjs +33 -30
- package/getRowContents.d.ts +5 -0
- package/getRowContents.js +1 -1
- package/getRowContents.mjs +77 -67
- package/header/GridHeaderCell.js +1 -1
- package/header/GridHeaderCell.mjs +17 -8
- package/header/GroupPanel.d.ts +3 -0
- package/header/GroupPanel.js +1 -1
- package/header/GroupPanel.mjs +35 -33
- package/header/HeaderRow.js +1 -1
- package/header/HeaderRow.mjs +48 -47
- package/index.d.mts +4 -2
- package/index.d.ts +4 -2
- package/interfaces/GridCellProps.d.ts +21 -0
- package/interfaces/GridCellsSettings.d.ts +60 -0
- package/interfaces/GridGroupColumnSettings.d.ts +170 -0
- package/interfaces/GridGroupableSettings.d.ts +66 -0
- package/interfaces/GridHeaderCellProps.d.ts +4 -0
- package/messages/index.d.ts +5 -0
- package/messages/index.js +2 -2
- package/messages/index.mjs +149 -147
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +17 -17
- package/rows/GridRowRenderer.d.ts +2 -0
- package/rows/GridRowRenderer.js +1 -1
- package/rows/GridRowRenderer.mjs +21 -19
- package/stacked/StackedModeRow.d.ts +2 -0
- package/stacked/StackedModeRow.js +1 -1
- package/stacked/StackedModeRow.mjs +97 -85
- package/utils/index.d.ts +7 -1
- package/utils/index.js +1 -1
- package/utils/index.mjs +67 -62
|
@@ -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 N=require("react"),B=require("@progress/kendo-react-common"),S=require("./utils.js"),Y=require("./useGroupCellClientTdProps.js"),F=require("../hooks.js"),w=require("../../utils/GridContext.js"),z=require("../selectioncell/GridSelectionCellInput.js"),i=require("@progress/kendo-react-data-tools"),H=require("../../utils/index.js");function J(o){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const c=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(t,e,c.get?c:{enumerable:!0,get:()=>o[e]})}}return t.default=o,Object.freeze(t)}const n=J(N),Q=o=>{var G;const{cellProps:t}=o,{tdProps:e,td2Props:c,content:a,renderToggleCell:x,hasCheckboxColumn:s,isSpacerCell:k,leadingGroupColumnSpan:O,contentColumnSpan:q,trailingGroupColumnSpan:R,getColumnIndexForField:K}=S.getGroupCellTdProps(t),r=Y.useGroupCellClientTdProps(t,x),V=F.useLegacyCellProps(t),l=n.useContext(w.GridContext),j={...t,...V},g={...e,...r,style:{...r.style,...e==null?void 0:e.style}},d=c?{...c,onContextMenu:r.onContextMenu,tabIndex:r.tabIndex,[i.KEYBOARD_NAV_DATA_ID]:r[i.KEYBOARD_NAV_DATA_ID],[i.KEYBOARD_NAV_DATA_LEVEL]:r[i.KEYBOARD_NAV_DATA_LEVEL]}:null,C=n.useMemo(()=>{var h;if(!s||!l)return null;const I=l.dataItemKey,v=(h=l.select)!=null?h:{},_=t.dataItem,D=I?B.getter(I):null,u=H.flattenGroupItems(_),p=D?u.filter(m=>v[D(m)]).length:0,E=u.length>0&&p===u.length,L=p>0&&p<u.length,M=m=>{var P;(P=l.groupSelectionChange)==null||P.call(l,{event:m,groupDataItem:_,selectAll:!E})};return n.createElement(z.GridSelectionCellInput,{selected:E,indeterminate:L,onToggle:M})},[s,l,t.dataItem]),A=a,b=s&&C&&a?n.cloneElement(A,{},C,...(G=A.props.children)!=null?G:[]):a,f=S.getCustomCell(t);if(f)return e?n.createElement(f,{...j,tdProps:g,td2Props:d,isSpacerCell:k,leadingGroupColumnSpan:O,contentColumnSpan:q,trailingGroupColumnSpan:R,getColumnIndexForField:K,groupSelectionCheckbox:s?C:void 0},b):null;const T=e?n.createElement("td",{...g,key:e==null?void 0:e.key},b):null,y=d?n.createElement("td",{...d}):null;return y?n.createElement(n.Fragment,null,T,y):T};exports.GridGroupCell=Q;
|
|
@@ -7,16 +7,66 @@
|
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
9
|
import * as t from "react";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
import { getter as O } from "@progress/kendo-react-common";
|
|
11
|
+
import { getGroupCellTdProps as Y, getCustomCell as j } from "./utils.mjs";
|
|
12
|
+
import { useGroupCellClientTdProps as q } from "./useGroupCellClientTdProps.mjs";
|
|
13
|
+
import { useLegacyCellProps as w } from "../hooks.mjs";
|
|
14
|
+
import { GridContext as z } from "../../utils/GridContext.mjs";
|
|
15
|
+
import { GridSelectionCellInput as H } from "../selectioncell/GridSelectionCellInput.mjs";
|
|
16
|
+
import { KEYBOARD_NAV_DATA_LEVEL as b, KEYBOARD_NAV_DATA_ID as S } from "@progress/kendo-react-data-tools";
|
|
17
|
+
import { flattenGroupItems as J } from "../../utils/index.mjs";
|
|
18
|
+
const oe = (k) => {
|
|
19
|
+
var x;
|
|
20
|
+
const { cellProps: o } = k, {
|
|
21
|
+
tdProps: e,
|
|
22
|
+
td2Props: a,
|
|
23
|
+
content: c,
|
|
24
|
+
renderToggleCell: D,
|
|
25
|
+
hasCheckboxColumn: r,
|
|
26
|
+
isSpacerCell: _,
|
|
27
|
+
leadingGroupColumnSpan: K,
|
|
28
|
+
contentColumnSpan: v,
|
|
29
|
+
trailingGroupColumnSpan: F,
|
|
30
|
+
getColumnIndexForField: L
|
|
31
|
+
} = Y(o), l = q(o, D), M = w(o), n = t.useContext(z), R = { ...o, ...M }, d = { ...e, ...l, style: { ...l.style, ...e == null ? void 0 : e.style } }, m = a ? {
|
|
32
|
+
...a,
|
|
33
|
+
onContextMenu: l.onContextMenu,
|
|
34
|
+
tabIndex: l.tabIndex,
|
|
35
|
+
[S]: l[S],
|
|
36
|
+
[b]: l[b]
|
|
37
|
+
} : null, p = t.useMemo(() => {
|
|
38
|
+
var A;
|
|
39
|
+
if (!r || !n)
|
|
40
|
+
return null;
|
|
41
|
+
const y = n.dataItemKey, V = (A = n.select) != null ? A : {}, E = o.dataItem, G = y ? O(y) : null, s = J(E), i = G ? s.filter((u) => V[G(u)]).length : 0, T = s.length > 0 && i === s.length, B = i > 0 && i < s.length, N = (u) => {
|
|
42
|
+
var P;
|
|
43
|
+
(P = n.groupSelectionChange) == null || P.call(n, {
|
|
44
|
+
event: u,
|
|
45
|
+
groupDataItem: E,
|
|
46
|
+
selectAll: !T
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
return /* @__PURE__ */ t.createElement(H, { selected: T, indeterminate: B, onToggle: N });
|
|
50
|
+
}, [r, n, o.dataItem]), C = c, g = r && p && c ? t.cloneElement(C, {}, p, ...(x = C.props.children) != null ? x : []) : c, f = j(o);
|
|
51
|
+
if (f)
|
|
52
|
+
return e ? /* @__PURE__ */ t.createElement(
|
|
53
|
+
f,
|
|
54
|
+
{
|
|
55
|
+
...R,
|
|
56
|
+
tdProps: d,
|
|
57
|
+
td2Props: m,
|
|
58
|
+
isSpacerCell: _,
|
|
59
|
+
leadingGroupColumnSpan: K,
|
|
60
|
+
contentColumnSpan: v,
|
|
61
|
+
trailingGroupColumnSpan: F,
|
|
62
|
+
getColumnIndexForField: L,
|
|
63
|
+
groupSelectionCheckbox: r ? p : void 0
|
|
64
|
+
},
|
|
65
|
+
g
|
|
66
|
+
) : null;
|
|
67
|
+
const I = e ? /* @__PURE__ */ t.createElement("td", { ...d, key: e == null ? void 0 : e.key }, g) : null, h = m ? /* @__PURE__ */ t.createElement("td", { ...m }) : null;
|
|
68
|
+
return h ? /* @__PURE__ */ t.createElement(t.Fragment, null, I, h) : I;
|
|
19
69
|
};
|
|
20
70
|
export {
|
|
21
|
-
|
|
71
|
+
oe as GridGroupCell
|
|
22
72
|
};
|
|
@@ -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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react"),i=require("./GridGroupCellServerContainer.js"),a=require("../../utils/index.js"),p=require("./utils.js");function O(r){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(n,e,t.get?t:{enumerable:!0,get:()=>r[e]})}}return n.default=r,Object.freeze(n)}const o=O(v),j=r=>{const{cellProps:n}=r,e=a.getClientCellProps(n),{tdProps:t,td2Props:l,content:c,renderToggleCell:u,isSpacerCell:d,leadingGroupColumnSpan:C,contentColumnSpan:m,trailingGroupColumnSpan:g,getColumnIndexForField:f}=p.getGroupCellTdProps(n),s=p.getCustomCell(n);if(s){const y=a.isClientReference(s),{key:R,...b}=t||{};return o.createElement(i.GridGroupCellServerContainer,{cellProps:e,tdProps:b,td2Props:l,isCustom:!0,isClient:y,renderToggleCell:u},o.createElement(s,{...e,tdProps:t,td2Props:l,isSpacerCell:d,leadingGroupColumnSpan:C,contentColumnSpan:m,trailingGroupColumnSpan:g,getColumnIndexForField:f},c))}const{key:P,...G}=t||{},S=t?o.createElement("td",{...G,key:P},c):null;return o.createElement(i.GridGroupCellServerContainer,{cellProps:e,renderToggleCell:u,tdProps:t,td2Props:l,content:c},S)};exports.GridGroupCellServer=j;
|
|
@@ -6,39 +6,52 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
import * as t from "react";
|
|
9
|
-
import { GridGroupCellServerContainer as
|
|
10
|
-
import { getClientCellProps as
|
|
11
|
-
import { getGroupCellTdProps as
|
|
12
|
-
const
|
|
13
|
-
const { cellProps:
|
|
9
|
+
import { GridGroupCellServerContainer as i } from "./GridGroupCellServerContainer.mjs";
|
|
10
|
+
import { getClientCellProps as S, isClientReference as E } from "../../utils/index.mjs";
|
|
11
|
+
import { getGroupCellTdProps as K, getCustomCell as R } from "./utils.mjs";
|
|
12
|
+
const x = (c) => {
|
|
13
|
+
const { cellProps: o } = c, r = S(o), { tdProps: e, td2Props: l, content: n, renderToggleCell: p, isSpacerCell: C, leadingGroupColumnSpan: u, contentColumnSpan: m, trailingGroupColumnSpan: d, getColumnIndexForField: a } = K(o), s = R(o);
|
|
14
14
|
if (s) {
|
|
15
|
-
const
|
|
15
|
+
const y = E(s), { key: k, ...G } = e || {};
|
|
16
16
|
return /* @__PURE__ */ t.createElement(
|
|
17
|
-
|
|
17
|
+
i,
|
|
18
18
|
{
|
|
19
|
-
cellProps:
|
|
20
|
-
tdProps:
|
|
19
|
+
cellProps: r,
|
|
20
|
+
tdProps: G,
|
|
21
21
|
td2Props: l,
|
|
22
22
|
isCustom: !0,
|
|
23
|
-
isClient:
|
|
24
|
-
renderToggleCell:
|
|
23
|
+
isClient: y,
|
|
24
|
+
renderToggleCell: p
|
|
25
25
|
},
|
|
26
|
-
/* @__PURE__ */ t.createElement(
|
|
26
|
+
/* @__PURE__ */ t.createElement(
|
|
27
|
+
s,
|
|
28
|
+
{
|
|
29
|
+
...r,
|
|
30
|
+
tdProps: e,
|
|
31
|
+
td2Props: l,
|
|
32
|
+
isSpacerCell: C,
|
|
33
|
+
leadingGroupColumnSpan: u,
|
|
34
|
+
contentColumnSpan: m,
|
|
35
|
+
trailingGroupColumnSpan: d,
|
|
36
|
+
getColumnIndexForField: a
|
|
37
|
+
},
|
|
38
|
+
n
|
|
39
|
+
)
|
|
27
40
|
);
|
|
28
41
|
}
|
|
29
|
-
const { key:
|
|
42
|
+
const { key: P, ...g } = e || {}, f = e ? /* @__PURE__ */ t.createElement("td", { ...g, key: P }, n) : null;
|
|
30
43
|
return /* @__PURE__ */ t.createElement(
|
|
31
|
-
|
|
44
|
+
i,
|
|
32
45
|
{
|
|
33
|
-
cellProps:
|
|
34
|
-
renderToggleCell:
|
|
46
|
+
cellProps: r,
|
|
47
|
+
renderToggleCell: p,
|
|
35
48
|
tdProps: e,
|
|
36
49
|
td2Props: l,
|
|
37
50
|
content: n
|
|
38
51
|
},
|
|
39
|
-
|
|
52
|
+
f
|
|
40
53
|
);
|
|
41
54
|
};
|
|
42
55
|
export {
|
|
43
|
-
|
|
56
|
+
x as GridGroupCellServer
|
|
44
57
|
};
|
|
@@ -7,15 +7,30 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { GridCellProps } from '../../interfaces/GridCellProps';
|
|
9
9
|
import { GridTdAttributes } from '../../index.js';
|
|
10
|
+
import * as React from 'react';
|
|
10
11
|
/**
|
|
12
|
+
* The unified shape returned by `getGroupCellTdProps` and each of its internal
|
|
13
|
+
* per-mode closures, so consumers (`GridGroupCell`, `GridGroupCellServer`) can safely
|
|
14
|
+
* destructure every property regardless of which branch produced the result.
|
|
15
|
+
*
|
|
11
16
|
* @hidden
|
|
12
17
|
*/
|
|
13
|
-
export
|
|
18
|
+
export interface GroupCellTdPropsResult {
|
|
14
19
|
tdProps: GridTdAttributes | null;
|
|
15
|
-
td2Props:
|
|
16
|
-
content:
|
|
20
|
+
td2Props: GridTdAttributes | null;
|
|
21
|
+
content: React.ReactNode | null;
|
|
17
22
|
renderToggleCell: boolean;
|
|
18
|
-
|
|
23
|
+
hasCheckboxColumn?: boolean;
|
|
24
|
+
isSpacerCell?: boolean;
|
|
25
|
+
leadingGroupColumnSpan?: number;
|
|
26
|
+
contentColumnSpan?: number;
|
|
27
|
+
trailingGroupColumnSpan?: number;
|
|
28
|
+
getColumnIndexForField?: (targetField: string) => number | undefined;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @hidden
|
|
32
|
+
*/
|
|
33
|
+
export declare const getGroupCellTdProps: (props: GridCellProps) => GroupCellTdPropsResult;
|
|
19
34
|
/**
|
|
20
35
|
* @hidden
|
|
21
36
|
*/
|
package/cells/groupcell/utils.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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const re=require("react"),D=require("@progress/kendo-react-common"),ae=require("./GridGroupCellToggle.js"),ie=require("../../utils/index.js");function se(o){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const l=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(n,e,l.get?l:{enumerable:!0,get:()=>o[e]})}}return n.default=o,Object.freeze(n)}const L=se(re),ue=10,de=24,T=(o,n,e,l,r,i)=>{if(!o||!["singleColumn","multipleColumns"].includes(o))return{leadingGroupColumnSpan:void 0,contentColumnSpan:void 0,trailingGroupColumnSpan:void 0};if(!["groupHeader","groupFooter"].includes(n||""))return{leadingGroupColumnSpan:void 0,contentColumnSpan:void 0,trailingGroupColumnSpan:void 0};if(e===void 0||l===void 0||r===void 0)return{leadingGroupColumnSpan:void 0,contentColumnSpan:void 0,trailingGroupColumnSpan:void 0};const s=o==="singleColumn"?0:l;if(i&&e<s)return{leadingGroupColumnSpan:e+1,contentColumnSpan:void 0,trailingGroupColumnSpan:void 0};if(e===s){const C=r-s-1;return{leadingGroupColumnSpan:s>0?s:void 0,contentColumnSpan:1,trailingGroupColumnSpan:C>0?C:void 0}}return{leadingGroupColumnSpan:void 0,contentColumnSpan:void 0,trailingGroupColumnSpan:void 0}},ce=(o,n,e)=>({tdProps:{...o,colSpan:0,style:{...n,position:"sticky",zIndex:2}},td2Props:{className:"k-table-td",role:"gridcell",colSpan:e,style:{borderLeftWidth:0,borderRightWidth:0}}}),k=()=>({tdProps:null,td2Props:null,content:null,renderToggleCell:!1}),pe=o=>{var z,U,W,B;const{columnIndex:n,level:e,columnsCount:l,rowType:r,dataItem:i,field:M,expanded:s,ariaColumnIndex:C,locked:S,style:a,hasCheckboxColumn:P}=o,c=o.groupingMode||"default",u=M||"",J=ie.getClientCellProps(o),R=o.columnPosition||{},p=c==="singleColumn",G=c==="multipleColumns",b=(U=(z=o.group)==null?void 0:z.value)!=null?U:i[u],g=(B=(W=o.group)==null?void 0:W.field)!=null?B:u,_=b instanceof Date?b.toString():b,y=o.columnFields,x=o.columnTitles,E=o.columnGroupFields,N=o.hiddenColumnTitleByField,h=y&&g?y.indexOf(g):-1,K=h===-1&&E&&g?E.indexOf(g):-1,w=h>-1?h:K,Q=g?N==null?void 0:N[g]:void 0,H=(w>-1?x==null?void 0:x[w]:Q)||(g?g.split(".").slice(-1)[0]:u),$=y&&n!==void 0?t=>{const m=y.findIndex((f,d)=>d>n&&f===t);return m===-1?void 0:m}:void 0,j=!p&&!G,A=!!o.isRtl,q=A?R.right:R.left,X=c==="compact"&&e!==void 0?e*de:0,Y=ue+X,Z=S&&j&&q!==void 0?{position:"sticky",[A?"right":"left"]:q+Y,zIndex:2,width:"fit-content"}:void 0,V=t=>S&&j?{...t,overflow:"visible"}:t,I=t=>L.createElement("div",{className:"k-grouping-row-content",style:Z},L.createElement(ae.GridGroupCellToggle,{...J}),L.createElement("span",{className:"k-grouping-row-text"},t)),ee=()=>{if(l===void 0||n===void 0)return k();if(r==="groupFooter")return n!==0?k():{tdProps:{className:"k-table-td",style:a,key:"g-noi-footer",role:"gridcell"},td2Props:null,content:null,renderToggleCell:!1,hasCheckboxColumn:!!P};if(n!==0||r!=="groupHeader"||i[u]===void 0)return k();const t=e!==void 0?{...a,"--kendo-grid-grouping-level":e,paddingInlineStart:`calc(var(--kendo-spacing-2.5, 10px) + ${e} * var(--kendo-spacing-6, 24px))`}:a;return{tdProps:{className:"k-table-td",style:V(t),colSpan:l,key:"g-noi-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":s,"aria-colindex":C},td2Props:null,content:I(`${H}: ${_}`),renderToggleCell:!0,hasCheckboxColumn:!!P}},ne=()=>{const t=p?0:e;if(!(n===t&&t!==void 0&&l!==void 0&&i[u]!==void 0)){if(!(G&&e!==void 0&&n!==void 0&&n<e))return k();const te={style:a,key:"g"+n,className:D.classNames("k-table-td","k-table-group-td","k-group-cell",{"k-grid-content-sticky":S}),role:"gridcell"},O=T(c,r,n,e,l,!0);return{tdProps:te,td2Props:null,content:null,renderToggleCell:!1,isSpacerCell:!0,leadingGroupColumnSpan:O.leadingGroupColumnSpan,contentColumnSpan:O.contentColumnSpan,trailingGroupColumnSpan:O.trailingGroupColumnSpan}}const f=p&&e!==void 0?{...a,"--kendo-grid-grouping-level":e,paddingInlineStart:`calc(var(--kendo-spacing-2.5, 10px) + ${e} * var(--kendo-spacing-6, 24px))`}:a;let d={className:"k-table-td",style:f,key:p?"g-single-column":"g-multi-column",role:"gridcell","aria-selected":!1,"aria-expanded":s,"aria-colindex":C},v=l-t-1>0?{className:"k-table-td",role:"gridcell",colSpan:l-t-1}:null;S&&({tdProps:d,td2Props:v}=ce(d,f,l-t));const F=T(c,r,n,e,l,!1);return{tdProps:d,td2Props:v,content:I(`${H}: ${_}`),renderToggleCell:!0,hasCheckboxColumn:!!P,leadingGroupColumnSpan:F.leadingGroupColumnSpan,contentColumnSpan:F.contentColumnSpan,trailingGroupColumnSpan:F.trailingGroupColumnSpan,getColumnIndexForField:$}},oe=()=>{if(e===void 0||n===void 0||l===void 0)return k();const t=p?0:e,m={style:a,key:"g"+n,className:D.classNames("k-table-td","k-table-group-td","k-group-cell",{"k-grid-content-sticky":S}),role:"gridcell"};if(n>t)return{tdProps:m,td2Props:null,content:null,renderToggleCell:!1,isSpacerCell:!0};if(n<t){const v=T(c,r,n,e,l,!0);return{tdProps:m,td2Props:null,content:null,renderToggleCell:!1,isSpacerCell:!0,leadingGroupColumnSpan:v.leadingGroupColumnSpan,contentColumnSpan:v.contentColumnSpan,trailingGroupColumnSpan:v.trailingGroupColumnSpan}}const f={className:"k-table-td",style:a,key:p?"g-single-footer":"g-multi-footer",role:"gridcell"},d=T(c,r,n,e,l,!1);return{tdProps:f,td2Props:null,content:null,renderToggleCell:!1,hasCheckboxColumn:!!P,leadingGroupColumnSpan:d.leadingGroupColumnSpan,contentColumnSpan:d.contentColumnSpan,trailingGroupColumnSpan:d.trailingGroupColumnSpan,getColumnIndexForField:$}},le=()=>n===void 0||e===void 0||n<e||l===void 0||r!=="groupHeader"||i[u]===void 0?{tdProps:{style:a,key:"g"+n,className:D.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":S}),role:"gridcell"},td2Props:null,content:null,renderToggleCell:!1,isSpacerCell:!0}:n!==e?{tdProps:null,td2Props:null,content:null,renderToggleCell:!1,isSpacerCell:!1}:{tdProps:{className:"k-table-td",style:V(a),colSpan:l-n,key:"g-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":s,"aria-colindex":C},td2Props:null,content:I(i[u]instanceof Date?i[u].toString():i[u]),renderToggleCell:!0,isSpacerCell:!1};return c==="compact"?ee():(p||G)&&r==="groupHeader"?ne():(G||p)&&r==="groupFooter"?oe():le()},ge=o=>{var n,e;return(e=(n=o.cells)==null?void 0:n.group)==null?void 0:e[o.rowType||"data"]};exports.getCustomCell=ge;exports.getGroupCellTdProps=pe;
|
|
@@ -5,44 +5,266 @@
|
|
|
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 { classNames as
|
|
10
|
-
import { GridGroupCellToggle as
|
|
11
|
-
import { getClientCellProps as
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
8
|
+
import * as E from "react";
|
|
9
|
+
import { classNames as D } from "@progress/kendo-react-common";
|
|
10
|
+
import { GridGroupCellToggle as rn } from "./GridGroupCellToggle.mjs";
|
|
11
|
+
import { getClientCellProps as an } from "../../utils/index.mjs";
|
|
12
|
+
const sn = 10, dn = 24, y = (o, e, n, t, r, a) => {
|
|
13
|
+
if (!o || !["singleColumn", "multipleColumns"].includes(o))
|
|
14
|
+
return { leadingGroupColumnSpan: void 0, contentColumnSpan: void 0, trailingGroupColumnSpan: void 0 };
|
|
15
|
+
if (!["groupHeader", "groupFooter"].includes(e || ""))
|
|
16
|
+
return { leadingGroupColumnSpan: void 0, contentColumnSpan: void 0, trailingGroupColumnSpan: void 0 };
|
|
17
|
+
if (n === void 0 || t === void 0 || r === void 0)
|
|
18
|
+
return { leadingGroupColumnSpan: void 0, contentColumnSpan: void 0, trailingGroupColumnSpan: void 0 };
|
|
19
|
+
const s = o === "singleColumn" ? 0 : t;
|
|
20
|
+
if (a && n < s)
|
|
21
|
+
return {
|
|
22
|
+
leadingGroupColumnSpan: n + 1,
|
|
23
|
+
contentColumnSpan: void 0,
|
|
24
|
+
trailingGroupColumnSpan: void 0
|
|
25
|
+
};
|
|
26
|
+
if (n === s) {
|
|
27
|
+
const C = r - s - 1;
|
|
28
|
+
return {
|
|
29
|
+
leadingGroupColumnSpan: s > 0 ? s : void 0,
|
|
30
|
+
contentColumnSpan: 1,
|
|
31
|
+
trailingGroupColumnSpan: C > 0 ? C : void 0
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return { leadingGroupColumnSpan: void 0, contentColumnSpan: void 0, trailingGroupColumnSpan: void 0 };
|
|
35
|
+
}, un = (o, e, n) => ({
|
|
36
|
+
tdProps: {
|
|
32
37
|
...o,
|
|
33
38
|
colSpan: 0,
|
|
34
|
-
style: { ...
|
|
35
|
-
},
|
|
39
|
+
style: { ...e, position: "sticky", zIndex: 2 }
|
|
40
|
+
},
|
|
41
|
+
td2Props: {
|
|
36
42
|
className: "k-table-td",
|
|
37
43
|
role: "gridcell",
|
|
38
|
-
colSpan: n
|
|
44
|
+
colSpan: n,
|
|
39
45
|
style: { borderLeftWidth: 0, borderRightWidth: 0 }
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
}
|
|
47
|
+
}), k = () => ({
|
|
48
|
+
tdProps: null,
|
|
49
|
+
td2Props: null,
|
|
50
|
+
content: null,
|
|
51
|
+
renderToggleCell: !1
|
|
52
|
+
}), Sn = (o) => {
|
|
53
|
+
var W, j, q, B;
|
|
54
|
+
const {
|
|
55
|
+
columnIndex: e,
|
|
56
|
+
level: n,
|
|
57
|
+
columnsCount: t,
|
|
58
|
+
rowType: r,
|
|
59
|
+
dataItem: a,
|
|
60
|
+
field: M,
|
|
61
|
+
expanded: s,
|
|
62
|
+
ariaColumnIndex: C,
|
|
63
|
+
locked: S,
|
|
64
|
+
style: i,
|
|
65
|
+
hasCheckboxColumn: G
|
|
66
|
+
} = o, c = o.groupingMode || "default", d = M || "", J = an(o), R = o.columnPosition || {}, p = c === "singleColumn", P = c === "multipleColumns", T = (j = (W = o.group) == null ? void 0 : W.value) != null ? j : a[d], g = (B = (q = o.group) == null ? void 0 : q.field) != null ? B : d, w = T instanceof Date ? T.toString() : T, x = o.columnFields, b = o.columnTitles, H = o.columnGroupFields, h = o.hiddenColumnTitleByField, I = x && g ? x.indexOf(g) : -1, K = I === -1 && H && g ? H.indexOf(g) : -1, _ = I > -1 ? I : K, Q = g ? h == null ? void 0 : h[g] : void 0, $ = (_ > -1 ? b == null ? void 0 : b[_] : Q) || (g ? g.split(".").slice(-1)[0] : d), A = x && e !== void 0 ? (l) => {
|
|
67
|
+
const m = x.findIndex(
|
|
68
|
+
(f, u) => u > e && f === l
|
|
69
|
+
);
|
|
70
|
+
return m === -1 ? void 0 : m;
|
|
71
|
+
} : void 0, O = !p && !P, V = !!o.isRtl, U = V ? R.right : R.left, X = c === "compact" && n !== void 0 ? n * dn : 0, Y = sn + X, Z = S && O && U !== void 0 ? {
|
|
72
|
+
position: "sticky",
|
|
73
|
+
[V ? "right" : "left"]: U + Y,
|
|
74
|
+
zIndex: 2,
|
|
75
|
+
width: "fit-content"
|
|
76
|
+
} : void 0, z = (l) => S && O ? { ...l, overflow: "visible" } : l, N = (l) => /* @__PURE__ */ E.createElement("div", { className: "k-grouping-row-content", style: Z }, /* @__PURE__ */ E.createElement(rn, { ...J }), /* @__PURE__ */ E.createElement("span", { className: "k-grouping-row-text" }, l)), nn = () => {
|
|
77
|
+
if (t === void 0 || e === void 0)
|
|
78
|
+
return k();
|
|
79
|
+
if (r === "groupFooter")
|
|
80
|
+
return e !== 0 ? k() : {
|
|
81
|
+
tdProps: {
|
|
82
|
+
className: "k-table-td",
|
|
83
|
+
style: i,
|
|
84
|
+
key: "g-noi-footer",
|
|
85
|
+
role: "gridcell"
|
|
86
|
+
},
|
|
87
|
+
td2Props: null,
|
|
88
|
+
content: null,
|
|
89
|
+
renderToggleCell: !1,
|
|
90
|
+
hasCheckboxColumn: !!G
|
|
91
|
+
};
|
|
92
|
+
if (e !== 0 || r !== "groupHeader" || a[d] === void 0)
|
|
93
|
+
return k();
|
|
94
|
+
const l = n !== void 0 ? {
|
|
95
|
+
...i,
|
|
96
|
+
"--kendo-grid-grouping-level": n,
|
|
97
|
+
paddingInlineStart: `calc(var(--kendo-spacing-2.5, 10px) + ${n} * var(--kendo-spacing-6, 24px))`
|
|
98
|
+
} : i;
|
|
99
|
+
return {
|
|
100
|
+
tdProps: {
|
|
101
|
+
className: "k-table-td",
|
|
102
|
+
style: z(l),
|
|
103
|
+
colSpan: t,
|
|
104
|
+
key: "g-noi-colspan",
|
|
105
|
+
role: "gridcell",
|
|
106
|
+
"aria-selected": !1,
|
|
107
|
+
"aria-expanded": s,
|
|
108
|
+
"aria-colindex": C
|
|
109
|
+
},
|
|
110
|
+
td2Props: null,
|
|
111
|
+
content: N(`${$}: ${w}`),
|
|
112
|
+
renderToggleCell: !0,
|
|
113
|
+
hasCheckboxColumn: !!G
|
|
114
|
+
};
|
|
115
|
+
}, en = () => {
|
|
116
|
+
const l = p ? 0 : n;
|
|
117
|
+
if (!(e === l && l !== void 0 && t !== void 0 && a[d] !== void 0)) {
|
|
118
|
+
if (!(P && n !== void 0 && e !== void 0 && e < n))
|
|
119
|
+
return k();
|
|
120
|
+
const tn = {
|
|
121
|
+
style: i,
|
|
122
|
+
key: "g" + e,
|
|
123
|
+
className: D("k-table-td", "k-table-group-td", "k-group-cell", {
|
|
124
|
+
"k-grid-content-sticky": S
|
|
125
|
+
}),
|
|
126
|
+
role: "gridcell"
|
|
127
|
+
}, L = y(
|
|
128
|
+
c,
|
|
129
|
+
r,
|
|
130
|
+
e,
|
|
131
|
+
n,
|
|
132
|
+
t,
|
|
133
|
+
!0
|
|
134
|
+
);
|
|
135
|
+
return {
|
|
136
|
+
tdProps: tn,
|
|
137
|
+
td2Props: null,
|
|
138
|
+
content: null,
|
|
139
|
+
renderToggleCell: !1,
|
|
140
|
+
isSpacerCell: !0,
|
|
141
|
+
leadingGroupColumnSpan: L.leadingGroupColumnSpan,
|
|
142
|
+
contentColumnSpan: L.contentColumnSpan,
|
|
143
|
+
trailingGroupColumnSpan: L.trailingGroupColumnSpan
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
const f = p && n !== void 0 ? {
|
|
147
|
+
...i,
|
|
148
|
+
"--kendo-grid-grouping-level": n,
|
|
149
|
+
paddingInlineStart: `calc(var(--kendo-spacing-2.5, 10px) + ${n} * var(--kendo-spacing-6, 24px))`
|
|
150
|
+
} : i;
|
|
151
|
+
let u = {
|
|
152
|
+
className: "k-table-td",
|
|
153
|
+
style: f,
|
|
154
|
+
key: p ? "g-single-column" : "g-multi-column",
|
|
155
|
+
role: "gridcell",
|
|
156
|
+
"aria-selected": !1,
|
|
157
|
+
"aria-expanded": s,
|
|
158
|
+
"aria-colindex": C
|
|
159
|
+
}, v = t - l - 1 > 0 ? { className: "k-table-td", role: "gridcell", colSpan: t - l - 1 } : null;
|
|
160
|
+
S && ({ tdProps: u, td2Props: v } = un(
|
|
161
|
+
u,
|
|
162
|
+
f,
|
|
163
|
+
t - l
|
|
164
|
+
));
|
|
165
|
+
const F = y(c, r, e, n, t, !1);
|
|
166
|
+
return {
|
|
167
|
+
tdProps: u,
|
|
168
|
+
td2Props: v,
|
|
169
|
+
content: N(`${$}: ${w}`),
|
|
170
|
+
renderToggleCell: !0,
|
|
171
|
+
hasCheckboxColumn: !!G,
|
|
172
|
+
leadingGroupColumnSpan: F.leadingGroupColumnSpan,
|
|
173
|
+
contentColumnSpan: F.contentColumnSpan,
|
|
174
|
+
trailingGroupColumnSpan: F.trailingGroupColumnSpan,
|
|
175
|
+
getColumnIndexForField: A
|
|
176
|
+
};
|
|
177
|
+
}, on = () => {
|
|
178
|
+
if (n === void 0 || e === void 0 || t === void 0)
|
|
179
|
+
return k();
|
|
180
|
+
const l = p ? 0 : n, m = {
|
|
181
|
+
style: i,
|
|
182
|
+
key: "g" + e,
|
|
183
|
+
className: D("k-table-td", "k-table-group-td", "k-group-cell", {
|
|
184
|
+
"k-grid-content-sticky": S
|
|
185
|
+
}),
|
|
186
|
+
role: "gridcell"
|
|
187
|
+
};
|
|
188
|
+
if (e > l)
|
|
189
|
+
return {
|
|
190
|
+
tdProps: m,
|
|
191
|
+
td2Props: null,
|
|
192
|
+
content: null,
|
|
193
|
+
renderToggleCell: !1,
|
|
194
|
+
isSpacerCell: !0
|
|
195
|
+
};
|
|
196
|
+
if (e < l) {
|
|
197
|
+
const v = y(
|
|
198
|
+
c,
|
|
199
|
+
r,
|
|
200
|
+
e,
|
|
201
|
+
n,
|
|
202
|
+
t,
|
|
203
|
+
!0
|
|
204
|
+
);
|
|
205
|
+
return {
|
|
206
|
+
tdProps: m,
|
|
207
|
+
td2Props: null,
|
|
208
|
+
content: null,
|
|
209
|
+
renderToggleCell: !1,
|
|
210
|
+
isSpacerCell: !0,
|
|
211
|
+
leadingGroupColumnSpan: v.leadingGroupColumnSpan,
|
|
212
|
+
contentColumnSpan: v.contentColumnSpan,
|
|
213
|
+
trailingGroupColumnSpan: v.trailingGroupColumnSpan
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
const f = {
|
|
217
|
+
className: "k-table-td",
|
|
218
|
+
style: i,
|
|
219
|
+
key: p ? "g-single-footer" : "g-multi-footer",
|
|
220
|
+
role: "gridcell"
|
|
221
|
+
}, u = y(c, r, e, n, t, !1);
|
|
222
|
+
return {
|
|
223
|
+
tdProps: f,
|
|
224
|
+
td2Props: null,
|
|
225
|
+
content: null,
|
|
226
|
+
renderToggleCell: !1,
|
|
227
|
+
hasCheckboxColumn: !!G,
|
|
228
|
+
leadingGroupColumnSpan: u.leadingGroupColumnSpan,
|
|
229
|
+
contentColumnSpan: u.contentColumnSpan,
|
|
230
|
+
trailingGroupColumnSpan: u.trailingGroupColumnSpan,
|
|
231
|
+
getColumnIndexForField: A
|
|
232
|
+
};
|
|
233
|
+
}, ln = () => e === void 0 || n === void 0 || e < n || t === void 0 || r !== "groupHeader" || a[d] === void 0 ? {
|
|
234
|
+
tdProps: {
|
|
235
|
+
style: i,
|
|
236
|
+
key: "g" + e,
|
|
237
|
+
className: D("k-table-td", "k-group-cell", { "k-grid-content-sticky": S }),
|
|
238
|
+
role: "gridcell"
|
|
239
|
+
},
|
|
240
|
+
td2Props: null,
|
|
241
|
+
content: null,
|
|
242
|
+
renderToggleCell: !1,
|
|
243
|
+
isSpacerCell: !0
|
|
244
|
+
} : e !== n ? { tdProps: null, td2Props: null, content: null, renderToggleCell: !1, isSpacerCell: !1 } : {
|
|
245
|
+
tdProps: {
|
|
246
|
+
className: "k-table-td",
|
|
247
|
+
style: z(i),
|
|
248
|
+
colSpan: t - e,
|
|
249
|
+
key: "g-colspan",
|
|
250
|
+
role: "gridcell",
|
|
251
|
+
"aria-selected": !1,
|
|
252
|
+
"aria-expanded": s,
|
|
253
|
+
"aria-colindex": C
|
|
254
|
+
},
|
|
255
|
+
td2Props: null,
|
|
256
|
+
content: N(
|
|
257
|
+
a[d] instanceof Date ? a[d].toString() : a[d]
|
|
258
|
+
),
|
|
259
|
+
renderToggleCell: !0,
|
|
260
|
+
isSpacerCell: !1
|
|
261
|
+
};
|
|
262
|
+
return c === "compact" ? nn() : (p || P) && r === "groupHeader" ? en() : (P || p) && r === "groupFooter" ? on() : ln();
|
|
263
|
+
}, fn = (o) => {
|
|
264
|
+
var e, n;
|
|
265
|
+
return (n = (e = o.cells) == null ? void 0 : e.group) == null ? void 0 : n[o.rowType || "data"];
|
|
44
266
|
};
|
|
45
267
|
export {
|
|
46
|
-
|
|
47
|
-
|
|
268
|
+
fn as getCustomCell,
|
|
269
|
+
Sn as getGroupCellTdProps
|
|
48
270
|
};
|
|
@@ -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 d=require("react"),m=require("@progress/kendo-react-common"),p=require("@progress/kendo-react-intl"),a=require("../../messages/index.js");function f(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const c=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,c.get?c:{enumerable:!0,get:()=>t[e]})}}return n.default=t,Object.freeze(n)}const r=f(d),k=t=>{const{selected:n,indeterminate:e,onToggle:c}=t,l=m.useId(),s=p.useLocalization(),o=r.useRef(null);r.useEffect(()=>{o.current&&(o.current.indeterminate=!!e)},[e]);const u=i=>{i.stopPropagation(),c==null||c(i)};return r.createElement("span",{className:"k-checkbox-wrap"},r.createElement("input",{ref:o,id:l,tabIndex:-1,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":s.toLanguageString(a.selectRow,a.messages[a.selectRow]),"aria-checked":e?"mixed":n,checked:n,readOnly:!0,onClick:u}))};exports.GridSelectionCellInput=k;
|
|
@@ -6,29 +6,34 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
import * as
|
|
10
|
-
import { useId as
|
|
11
|
-
import { useLocalization as
|
|
12
|
-
import { selectRow as
|
|
13
|
-
const
|
|
14
|
-
const { selected: t, onToggle:
|
|
15
|
-
|
|
9
|
+
import * as e from "react";
|
|
10
|
+
import { useId as d } from "@progress/kendo-react-common";
|
|
11
|
+
import { useLocalization as u } from "@progress/kendo-react-intl";
|
|
12
|
+
import { selectRow as r, messages as p } from "../../messages/index.mjs";
|
|
13
|
+
const x = (i) => {
|
|
14
|
+
const { selected: a, indeterminate: t, onToggle: c } = i, s = d(), l = u(), n = e.useRef(null);
|
|
15
|
+
e.useEffect(() => {
|
|
16
|
+
n.current && (n.current.indeterminate = !!t);
|
|
17
|
+
}, [t]);
|
|
18
|
+
const m = (o) => {
|
|
19
|
+
o.stopPropagation(), c == null || c(o);
|
|
16
20
|
};
|
|
17
|
-
return /* @__PURE__ */
|
|
21
|
+
return /* @__PURE__ */ e.createElement("span", { className: "k-checkbox-wrap" }, /* @__PURE__ */ e.createElement(
|
|
18
22
|
"input",
|
|
19
23
|
{
|
|
20
|
-
|
|
24
|
+
ref: n,
|
|
25
|
+
id: s,
|
|
21
26
|
tabIndex: -1,
|
|
22
27
|
type: "checkbox",
|
|
23
28
|
className: "k-checkbox k-checkbox-md k-rounded-md",
|
|
24
|
-
"aria-label":
|
|
25
|
-
"aria-checked": t,
|
|
26
|
-
checked:
|
|
29
|
+
"aria-label": l.toLanguageString(r, p[r]),
|
|
30
|
+
"aria-checked": t ? "mixed" : a,
|
|
31
|
+
checked: a,
|
|
27
32
|
readOnly: !0,
|
|
28
|
-
onClick:
|
|
33
|
+
onClick: m
|
|
29
34
|
}
|
|
30
35
|
));
|
|
31
36
|
};
|
|
32
37
|
export {
|
|
33
|
-
|
|
38
|
+
x as GridSelectionCellInput
|
|
34
39
|
};
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { DataRowContext } from '../getRowContents.js';
|
|
9
9
|
import { GridStackedLayoutSettings } from '../interfaces/GridStackedLayoutSettings';
|
|
10
|
+
import { GridRowProps } from '../interfaces/GridRowProps';
|
|
10
11
|
import * as React from 'react';
|
|
11
12
|
/**
|
|
12
13
|
* Represents the StickyGroupTable handle.
|
|
@@ -35,6 +36,7 @@ export interface StickyGroupTableProps {
|
|
|
35
36
|
groupLevelCount?: number;
|
|
36
37
|
stackedLayoutSettings?: GridStackedLayoutSettings;
|
|
37
38
|
rowHeight?: number;
|
|
39
|
+
rows?: GridRowProps['rows'];
|
|
38
40
|
}
|
|
39
41
|
/**
|
|
40
42
|
* @hidden
|