@progress/kendo-react-grid 7.2.4-develop.3 → 7.2.4-develop.4
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/Grid.js +8 -0
- package/Grid.mjs +1108 -0
- package/GridColumn.js +8 -0
- package/GridColumn.mjs +53 -0
- package/GridNoRecords.js +8 -0
- package/GridNoRecords.mjs +25 -0
- package/GridToolbar.js +8 -0
- package/GridToolbar.mjs +39 -0
- package/StatusBar.js +8 -0
- package/StatusBar.mjs +53 -0
- package/VirtualScroll.js +8 -0
- package/VirtualScroll.mjs +128 -0
- package/VirtualScrollFixed.js +8 -0
- package/VirtualScrollFixed.mjs +86 -0
- package/cells/GridCell.js +8 -0
- package/cells/GridCell.mjs +57 -0
- package/cells/GridDetailCell.js +8 -0
- package/cells/GridDetailCell.mjs +30 -0
- package/cells/GridDetailHierarchyCell.js +8 -0
- package/cells/GridDetailHierarchyCell.mjs +17 -0
- package/cells/GridEditCell.js +8 -0
- package/cells/GridEditCell.mjs +172 -0
- package/cells/GridFilterCell.js +8 -0
- package/cells/GridFilterCell.mjs +145 -0
- package/cells/GridGroupCell.js +8 -0
- package/cells/GridGroupCell.mjs +115 -0
- package/cells/GridHierarchyCell.js +8 -0
- package/cells/GridHierarchyCell.mjs +84 -0
- package/cells/GridSelectionCell.js +8 -0
- package/cells/GridSelectionCell.mjs +54 -0
- package/columnMenu/GridColumnMenuCheckboxFilter.js +8 -0
- package/columnMenu/GridColumnMenuCheckboxFilter.mjs +199 -0
- package/columnMenu/GridColumnMenuColumnsList.js +8 -0
- package/columnMenu/GridColumnMenuColumnsList.mjs +60 -0
- package/columnMenu/GridColumnMenuFilter.js +8 -0
- package/columnMenu/GridColumnMenuFilter.mjs +188 -0
- package/columnMenu/GridColumnMenuFilterCell.js +8 -0
- package/columnMenu/GridColumnMenuFilterCell.mjs +96 -0
- package/columnMenu/GridColumnMenuFilterUI.js +8 -0
- package/columnMenu/GridColumnMenuFilterUI.mjs +36 -0
- package/columnMenu/GridColumnMenuGroup.js +8 -0
- package/columnMenu/GridColumnMenuGroup.mjs +50 -0
- package/columnMenu/GridColumnMenuItem.js +8 -0
- package/columnMenu/GridColumnMenuItem.mjs +22 -0
- package/columnMenu/GridColumnMenuItemContent.js +8 -0
- package/columnMenu/GridColumnMenuItemContent.mjs +30 -0
- package/columnMenu/GridColumnMenuItemGroup.js +8 -0
- package/columnMenu/GridColumnMenuItemGroup.mjs +30 -0
- package/columnMenu/GridColumnMenuSort.js +8 -0
- package/columnMenu/GridColumnMenuSort.mjs +75 -0
- package/columnMenu/GridColumnMenuWrapper.js +8 -0
- package/columnMenu/GridColumnMenuWrapper.mjs +91 -0
- package/constants/index.js +8 -0
- package/constants/index.mjs +15 -0
- package/dist/cdn/js/kendo-react-grid.js +8 -5
- package/drag/ColumnDraggable.js +8 -0
- package/drag/ColumnDraggable.mjs +43 -0
- package/drag/ColumnResize.js +8 -0
- package/drag/ColumnResize.mjs +128 -0
- package/drag/CommonDragLogic.js +8 -0
- package/drag/CommonDragLogic.mjs +104 -0
- package/drag/GroupingIndicator.js +8 -0
- package/drag/GroupingIndicator.mjs +91 -0
- package/filterCommon.js +8 -0
- package/filterCommon.mjs +103 -0
- package/footer/Footer.js +8 -0
- package/footer/Footer.mjs +76 -0
- package/footer/FooterRow.js +8 -0
- package/footer/FooterRow.mjs +46 -0
- package/header/FilterRow.js +8 -0
- package/header/FilterRow.mjs +96 -0
- package/header/GridHeaderCell.js +8 -0
- package/header/GridHeaderCell.mjs +38 -0
- package/header/GridHeaderSelectionCell.js +8 -0
- package/header/GridHeaderSelectionCell.mjs +44 -0
- package/header/GroupPanel.js +8 -0
- package/header/GroupPanel.mjs +60 -0
- package/header/Header.js +8 -0
- package/header/Header.mjs +107 -0
- package/header/HeaderRow.js +8 -0
- package/header/HeaderRow.mjs +155 -0
- package/index.d.mts +2771 -5
- package/index.d.ts +2771 -57
- package/index.js +8 -5
- package/index.mjs +89 -3845
- package/interfaces/GridSortSettings.js +8 -0
- package/interfaces/GridSortSettings.mjs +12 -0
- package/messages/index.js +8 -0
- package/messages/index.mjs +105 -0
- package/package-metadata.js +8 -0
- package/package-metadata.mjs +19 -0
- package/package.json +10 -10
- package/paging/GridPagerSettings.js +8 -0
- package/paging/GridPagerSettings.mjs +28 -0
- package/rows/GridDetailRow.js +8 -0
- package/rows/GridDetailRow.mjs +20 -0
- package/rows/GridRow.js +8 -0
- package/rows/GridRow.mjs +51 -0
- package/utils/index.js +8 -0
- package/utils/index.mjs +180 -0
- package/Grid.d.ts +0 -267
- package/GridColumn.d.ts +0 -28
- package/GridNoRecords.d.ts +0 -40
- package/GridToolbar.d.ts +0 -54
- package/ScrollMode.d.ts +0 -5
- package/StatusBar.d.ts +0 -51
- package/VirtualScroll.d.ts +0 -51
- package/VirtualScrollFixed.d.ts +0 -53
- package/cells/GridCell.d.ts +0 -6
- package/cells/GridDetailCell.d.ts +0 -18
- package/cells/GridDetailHierarchyCell.d.ts +0 -10
- package/cells/GridEditCell.d.ts +0 -9
- package/cells/GridFilterCell.d.ts +0 -20
- package/cells/GridGroupCell.d.ts +0 -9
- package/cells/GridHierarchyCell.d.ts +0 -9
- package/cells/GridSelectionCell.d.ts +0 -9
- package/columnMenu/GridColumnMenuCheckboxFilter.d.ts +0 -122
- package/columnMenu/GridColumnMenuColumnsList.d.ts +0 -31
- package/columnMenu/GridColumnMenuFilter.d.ts +0 -165
- package/columnMenu/GridColumnMenuFilterCell.d.ts +0 -37
- package/columnMenu/GridColumnMenuFilterUI.d.ts +0 -12
- package/columnMenu/GridColumnMenuGroup.d.ts +0 -77
- package/columnMenu/GridColumnMenuItem.d.ts +0 -40
- package/columnMenu/GridColumnMenuItemContent.d.ts +0 -24
- package/columnMenu/GridColumnMenuItemGroup.d.ts +0 -20
- package/columnMenu/GridColumnMenuSort.d.ts +0 -89
- package/columnMenu/GridColumnMenuWrapper.d.ts +0 -49
- package/constants/index.d.ts +0 -10
- package/drag/ColumnDraggable.d.ts +0 -38
- package/drag/ColumnResize.d.ts +0 -37
- package/drag/CommonDragLogic.d.ts +0 -44
- package/drag/GroupingIndicator.d.ts +0 -41
- package/filterCommon.d.ts +0 -73
- package/footer/Footer.d.ts +0 -38
- package/footer/FooterRow.d.ts +0 -25
- package/header/FilterRow.d.ts +0 -38
- package/header/GridHeaderCell.d.ts +0 -56
- package/header/GridHeaderSelectionCell.d.ts +0 -10
- package/header/GroupPanel.d.ts +0 -26
- package/header/Header.d.ts +0 -46
- package/header/HeaderRow.d.ts +0 -51
- package/interfaces/GridCellProps.d.ts +0 -73
- package/interfaces/GridCellsSettings.d.ts +0 -115
- package/interfaces/GridColumnMenuBaseProps.d.ts +0 -18
- package/interfaces/GridColumnMenuColumnProps.d.ts +0 -29
- package/interfaces/GridColumnMenuFilterBaseProps.d.ts +0 -28
- package/interfaces/GridColumnMenuFilterUIProps.d.ts +0 -35
- package/interfaces/GridColumnMenuGroupBaseProps.d.ts +0 -23
- package/interfaces/GridColumnMenuProps.d.ts +0 -12
- package/interfaces/GridColumnMenuSortBaseProps.d.ts +0 -24
- package/interfaces/GridColumnProps.d.ts +0 -92
- package/interfaces/GridDetailRowProps.d.ts +0 -17
- package/interfaces/GridFilterCellProps.d.ts +0 -68
- package/interfaces/GridFilterOperator.d.ts +0 -10
- package/interfaces/GridFilterOperators.d.ts +0 -53
- package/interfaces/GridFooterCellProps.d.ts +0 -26
- package/interfaces/GridGroupableSettings.d.ts +0 -17
- package/interfaces/GridHeaderCellProps.d.ts +0 -24
- package/interfaces/GridNoRecordsProps.d.ts +0 -13
- package/interfaces/GridProps.d.ts +0 -333
- package/interfaces/GridRowProps.d.ts +0 -67
- package/interfaces/GridRowType.d.ts +0 -13
- package/interfaces/GridSelectableSettings.d.ts +0 -22
- package/interfaces/GridSortSettings.d.ts +0 -17
- package/interfaces/GridToolbarProps.d.ts +0 -37
- package/interfaces/VirtualScrollInterface.d.ts +0 -31
- package/interfaces/events.d.ts +0 -232
- package/messages/index.d.ts +0 -199
- package/package-metadata.d.ts +0 -9
- package/paging/GridPagerSettings.d.ts +0 -71
- package/paging/Page.d.ts +0 -17
- package/rows/GridDetailRow.d.ts +0 -55
- package/rows/GridRow.d.ts +0 -15
- package/utils/index.d.ts +0 -73
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as a from "react";
|
|
10
|
+
import { getNestedValue as f } from "../utils/index.mjs";
|
|
11
|
+
import { NumericTextBox as b } from "@progress/kendo-react-inputs";
|
|
12
|
+
import { DatePicker as r } from "@progress/kendo-react-dateinputs";
|
|
13
|
+
import { classNames as s, useId as N } from "@progress/kendo-react-common";
|
|
14
|
+
import { useTableKeyboardNavigation as S } from "@progress/kendo-react-data-tools";
|
|
15
|
+
import { GRID_COL_INDEX_ATTRIBUTE as x } from "../constants/index.mjs";
|
|
16
|
+
const R = (e) => {
|
|
17
|
+
const c = f(e.field, e.dataItem);
|
|
18
|
+
let d = null;
|
|
19
|
+
const i = s("k-table-td", "k-grid-edit-cell", {
|
|
20
|
+
"k-selected": e.isSelected
|
|
21
|
+
}, e.className), C = N(), m = S(e.id);
|
|
22
|
+
let l = null, n = null;
|
|
23
|
+
const I = a.useCallback(
|
|
24
|
+
(t) => {
|
|
25
|
+
if (e.onChange) {
|
|
26
|
+
const h = t.target.type === "checkbox" ? t.target.checked : t.target.value;
|
|
27
|
+
e.onChange({
|
|
28
|
+
dataItem: e.dataItem,
|
|
29
|
+
dataIndex: e.dataIndex,
|
|
30
|
+
field: e.field,
|
|
31
|
+
syntheticEvent: t,
|
|
32
|
+
value: h
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
[e.onChange, e.dataItem, e.dataIndex, e.field]
|
|
37
|
+
), u = a.useCallback((t) => {
|
|
38
|
+
e.onContextMenu && e.onContextMenu.call(void 0, t, e.dataItem, e.field);
|
|
39
|
+
}, [e.onContextMenu, e.dataItem, e.field]), k = a.useCallback(
|
|
40
|
+
(t) => {
|
|
41
|
+
e.onChange && e.onChange({
|
|
42
|
+
dataItem: e.dataItem,
|
|
43
|
+
dataIndex: e.dataIndex,
|
|
44
|
+
field: e.field,
|
|
45
|
+
syntheticEvent: t.syntheticEvent,
|
|
46
|
+
value: t.value
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
[e.onChange, e.dataItem, e.dataIndex, e.field]
|
|
50
|
+
);
|
|
51
|
+
switch (e.editor) {
|
|
52
|
+
case "numeric": {
|
|
53
|
+
l = {
|
|
54
|
+
onContextMenu: u,
|
|
55
|
+
colSpan: e.colSpan,
|
|
56
|
+
style: e.style,
|
|
57
|
+
className: i,
|
|
58
|
+
"aria-colindex": e.ariaColumnIndex,
|
|
59
|
+
"aria-selected": e.isSelected,
|
|
60
|
+
[x]: e.columnIndex,
|
|
61
|
+
role: "gridcell",
|
|
62
|
+
...m
|
|
63
|
+
}, n = /* @__PURE__ */ a.createElement(
|
|
64
|
+
b,
|
|
65
|
+
{
|
|
66
|
+
width: "100%",
|
|
67
|
+
value: c === void 0 ? null : c,
|
|
68
|
+
onChange: k
|
|
69
|
+
}
|
|
70
|
+
), d = /* @__PURE__ */ a.createElement(
|
|
71
|
+
"td",
|
|
72
|
+
{
|
|
73
|
+
...l
|
|
74
|
+
},
|
|
75
|
+
n
|
|
76
|
+
);
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
case "date":
|
|
80
|
+
l = {
|
|
81
|
+
onContextMenu: u,
|
|
82
|
+
colSpan: e.colSpan,
|
|
83
|
+
style: e.style,
|
|
84
|
+
className: i,
|
|
85
|
+
"aria-colindex": e.ariaColumnIndex,
|
|
86
|
+
"aria-selected": e.isSelected,
|
|
87
|
+
[x]: e.columnIndex,
|
|
88
|
+
role: "gridcell",
|
|
89
|
+
...m
|
|
90
|
+
}, n = /* @__PURE__ */ a.createElement(
|
|
91
|
+
r,
|
|
92
|
+
{
|
|
93
|
+
width: "100%",
|
|
94
|
+
value: c,
|
|
95
|
+
onChange: k
|
|
96
|
+
}
|
|
97
|
+
), d = /* @__PURE__ */ a.createElement(
|
|
98
|
+
"td",
|
|
99
|
+
{
|
|
100
|
+
...l
|
|
101
|
+
},
|
|
102
|
+
n
|
|
103
|
+
);
|
|
104
|
+
break;
|
|
105
|
+
case "boolean":
|
|
106
|
+
l = {
|
|
107
|
+
onContextMenu: u,
|
|
108
|
+
colSpan: e.colSpan,
|
|
109
|
+
style: e.style,
|
|
110
|
+
className: i,
|
|
111
|
+
"aria-colindex": e.ariaColumnIndex,
|
|
112
|
+
"aria-selected": e.isSelected,
|
|
113
|
+
[x]: e.columnIndex,
|
|
114
|
+
role: "gridcell",
|
|
115
|
+
...m
|
|
116
|
+
}, n = [
|
|
117
|
+
/* @__PURE__ */ a.createElement("span", { key: 1, className: "k-checkbox-wrap" }, /* @__PURE__ */ a.createElement(
|
|
118
|
+
"input",
|
|
119
|
+
{
|
|
120
|
+
checked: c || !1,
|
|
121
|
+
id: C,
|
|
122
|
+
type: "checkbox",
|
|
123
|
+
className: "k-checkbox k-checkbox-md k-rounded-md",
|
|
124
|
+
onChange: I
|
|
125
|
+
}
|
|
126
|
+
)),
|
|
127
|
+
/* @__PURE__ */ a.createElement("label", { className: "k-checkbox-label", htmlFor: C, key: 2 })
|
|
128
|
+
], d = /* @__PURE__ */ a.createElement(
|
|
129
|
+
"td",
|
|
130
|
+
{
|
|
131
|
+
...l
|
|
132
|
+
},
|
|
133
|
+
n
|
|
134
|
+
);
|
|
135
|
+
break;
|
|
136
|
+
default:
|
|
137
|
+
l = {
|
|
138
|
+
onContextMenu: u,
|
|
139
|
+
colSpan: e.colSpan,
|
|
140
|
+
style: e.style,
|
|
141
|
+
className: i,
|
|
142
|
+
"aria-colindex": e.ariaColumnIndex,
|
|
143
|
+
"aria-selected": e.isSelected,
|
|
144
|
+
[x]: e.columnIndex,
|
|
145
|
+
role: "gridcell",
|
|
146
|
+
...m
|
|
147
|
+
}, n = /* @__PURE__ */ a.createElement(
|
|
148
|
+
"input",
|
|
149
|
+
{
|
|
150
|
+
style: { width: "100%" },
|
|
151
|
+
className: "k-input",
|
|
152
|
+
value: c || "",
|
|
153
|
+
onChange: I
|
|
154
|
+
}
|
|
155
|
+
), d = /* @__PURE__ */ a.createElement(
|
|
156
|
+
"td",
|
|
157
|
+
{
|
|
158
|
+
...l
|
|
159
|
+
},
|
|
160
|
+
n
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
const g = e.editor || "text", o = e.cells;
|
|
164
|
+
if (o && o.edit && o.edit[g]) {
|
|
165
|
+
const t = o.edit[g];
|
|
166
|
+
return /* @__PURE__ */ a.createElement(t, { ...e, tdProps: l }, n);
|
|
167
|
+
}
|
|
168
|
+
return e.render ? e.render.call(void 0, d, e) : d;
|
|
169
|
+
};
|
|
170
|
+
export {
|
|
171
|
+
R as GridEditCell
|
|
172
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),g=require("@progress/kendo-react-buttons"),l=require("@progress/kendo-react-dropdowns"),c=require("@progress/kendo-react-inputs"),C=require("@progress/kendo-react-dateinputs"),n=require("../messages/index.js"),u=require("@progress/kendo-react-intl"),h=require("@progress/kendo-svg-icons"),p=require("../filterCommon.js"),m=require("@progress/kendo-react-common");function b(s){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const t in s)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:()=>s[t]})}}return e.default=s,Object.freeze(e)}const i=b(f);class d extends i.Component{constructor(e){super(e),this._inputRef=i.createRef(),this.renderOperatorEditor=t=>{if(this.props.filterType==="boolean")return;const o=this.props.operators.find(r=>r.operator===this.props.operator)||null;return i.createElement(l.DropDownList,{size:this.props.size,value:o,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter k-icon",svgIcon:h.filterIcon,data:this.props.operators,textField:"text",title:t.toLanguageString(n.filterChooseOperator,n.messages[n.filterChooseOperator]),popupSettings:{width:""}})},this.inputChange=this.inputChange.bind(this),this.clear=this.clear.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){const e=u.provideLocalizationService(this),t=i.createElement("div",{className:"k-filtercell"},i.createElement("div",{className:"k-filtercell-wrapper"},this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues),i.createElement("div",{className:"k-filtercell-operator"},this.renderOperatorEditor(e)," ",i.createElement(g.Button,{size:this.props.size,icon:"filter-clear",svgIcon:h.filterClearIcon,className:m.classNames({"k-clear-button-visible":!!(!(this.props.value===null||this.props.value==="")||this.props.operator)}),title:e.toLanguageString(n.filterClearButton,n.messages[n.filterClearButton]),type:"button",onClick:this.clear,disabled:!(!(this.props.value===null||this.props.value==="")||this.props.operator)}))));return this.props.render?this.props.render.call(void 0,t,this.props):t}inputChange(e,t){p.cellInputChange(e,t,this.props)}operatorChange(e){p.cellOperatorChange(e,this.props.value,this.props.onChange)}boolDropdownChange(e){p.cellBoolDropdownChange(e,this.props.onChange)}clear(e){e.preventDefault(),this.props.onChange({value:"",operator:"",syntheticEvent:e}),this._inputRef.current&&(this._inputRef.current.element.value="",setTimeout(()=>{this._inputRef.current.element.focus()},0))}filterComponent(e,t,o){switch(e){case"numeric":return i.createElement(c.NumericTextBox,{ref:this._inputRef,size:this.props.size,value:t,onChange:r=>{this.inputChange(r.value,r.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"date":return i.createElement(C.DatePicker,{ref:this._inputRef,size:this.props.size,value:t,onChange:r=>{this.inputChange(r.value,r.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"boolean":{const r=a=>a==null;return i.createElement(l.DropDownList,{ref:this._inputRef,size:this.props.size,onChange:this.boolDropdownChange,value:o.find(a=>a.operator===(r(t)?"":t)),data:o,textField:"text",title:this.props.title,ariaLabel:this.props.ariaLabel})}default:return i.createElement(c.TextBox,{ref:this._inputRef,size:this.props.size,value:t||"",onChange:r=>{this.inputChange(r.target.value,r.syntheticEvent)},title:this.props.title,"aria-label":this.props.ariaLabel})}}}u.registerForLocalization(d);exports.GridFilterCell=d;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as i from "react";
|
|
10
|
+
import { Button as h } from "@progress/kendo-react-buttons";
|
|
11
|
+
import { DropDownList as a } from "@progress/kendo-react-dropdowns";
|
|
12
|
+
import { TextBox as c, NumericTextBox as u } from "@progress/kendo-react-inputs";
|
|
13
|
+
import { DatePicker as m } from "@progress/kendo-react-dateinputs";
|
|
14
|
+
import { filterChooseOperator as n, messages as p, filterClearButton as l } from "../messages/index.mjs";
|
|
15
|
+
import { provideLocalizationService as f, registerForLocalization as d } from "@progress/kendo-react-intl";
|
|
16
|
+
import { filterIcon as g, filterClearIcon as C } from "@progress/kendo-svg-icons";
|
|
17
|
+
import { cellInputChange as v, cellOperatorChange as b, cellBoolDropdownChange as z } from "../filterCommon.mjs";
|
|
18
|
+
import { classNames as E } from "@progress/kendo-react-common";
|
|
19
|
+
class L extends i.Component {
|
|
20
|
+
constructor(e) {
|
|
21
|
+
super(e), this._inputRef = i.createRef(), this.renderOperatorEditor = (t) => {
|
|
22
|
+
if (this.props.filterType === "boolean")
|
|
23
|
+
return;
|
|
24
|
+
const o = this.props.operators.find((r) => r.operator === this.props.operator) || null;
|
|
25
|
+
return /* @__PURE__ */ i.createElement(
|
|
26
|
+
a,
|
|
27
|
+
{
|
|
28
|
+
size: this.props.size,
|
|
29
|
+
value: o,
|
|
30
|
+
onChange: this.operatorChange,
|
|
31
|
+
className: "k-dropdown-operator",
|
|
32
|
+
iconClassName: "k-i-filter k-icon",
|
|
33
|
+
svgIcon: g,
|
|
34
|
+
data: this.props.operators,
|
|
35
|
+
textField: "text",
|
|
36
|
+
title: t.toLanguageString(n, p[n]),
|
|
37
|
+
popupSettings: {
|
|
38
|
+
width: ""
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}, this.inputChange = this.inputChange.bind(this), this.clear = this.clear.bind(this), this.operatorChange = this.operatorChange.bind(this), this.boolDropdownChange = this.boolDropdownChange.bind(this);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @hidden
|
|
46
|
+
*/
|
|
47
|
+
render() {
|
|
48
|
+
const e = f(this), t = /* @__PURE__ */ i.createElement("div", { className: "k-filtercell" }, /* @__PURE__ */ i.createElement("div", { className: "k-filtercell-wrapper" }, this.filterComponent(this.props.filterType, this.props.value, this.props.booleanValues), /* @__PURE__ */ i.createElement("div", { className: "k-filtercell-operator" }, this.renderOperatorEditor(e), " ", /* @__PURE__ */ i.createElement(
|
|
49
|
+
h,
|
|
50
|
+
{
|
|
51
|
+
size: this.props.size,
|
|
52
|
+
icon: "filter-clear",
|
|
53
|
+
svgIcon: C,
|
|
54
|
+
className: E({
|
|
55
|
+
"k-clear-button-visible": !!(!(this.props.value === null || this.props.value === "") || this.props.operator)
|
|
56
|
+
}),
|
|
57
|
+
title: e.toLanguageString(l, p[l]),
|
|
58
|
+
type: "button",
|
|
59
|
+
onClick: this.clear,
|
|
60
|
+
disabled: !(!(this.props.value === null || this.props.value === "") || this.props.operator)
|
|
61
|
+
}
|
|
62
|
+
))));
|
|
63
|
+
return this.props.render ? this.props.render.call(void 0, t, this.props) : t;
|
|
64
|
+
}
|
|
65
|
+
inputChange(e, t) {
|
|
66
|
+
v(e, t, this.props);
|
|
67
|
+
}
|
|
68
|
+
operatorChange(e) {
|
|
69
|
+
b(e, this.props.value, this.props.onChange);
|
|
70
|
+
}
|
|
71
|
+
boolDropdownChange(e) {
|
|
72
|
+
z(e, this.props.onChange);
|
|
73
|
+
}
|
|
74
|
+
clear(e) {
|
|
75
|
+
e.preventDefault(), this.props.onChange({ value: "", operator: "", syntheticEvent: e }), this._inputRef.current && (this._inputRef.current.element.value = "", setTimeout(() => {
|
|
76
|
+
this._inputRef.current.element.focus();
|
|
77
|
+
}, 0));
|
|
78
|
+
}
|
|
79
|
+
filterComponent(e, t, o) {
|
|
80
|
+
switch (e) {
|
|
81
|
+
case "numeric":
|
|
82
|
+
return /* @__PURE__ */ i.createElement(
|
|
83
|
+
u,
|
|
84
|
+
{
|
|
85
|
+
ref: this._inputRef,
|
|
86
|
+
size: this.props.size,
|
|
87
|
+
value: t,
|
|
88
|
+
onChange: (r) => {
|
|
89
|
+
this.inputChange(r.value, r.syntheticEvent);
|
|
90
|
+
},
|
|
91
|
+
title: this.props.title,
|
|
92
|
+
ariaLabel: this.props.ariaLabel
|
|
93
|
+
}
|
|
94
|
+
);
|
|
95
|
+
case "date":
|
|
96
|
+
return /* @__PURE__ */ i.createElement(
|
|
97
|
+
m,
|
|
98
|
+
{
|
|
99
|
+
ref: this._inputRef,
|
|
100
|
+
size: this.props.size,
|
|
101
|
+
value: t,
|
|
102
|
+
onChange: (r) => {
|
|
103
|
+
this.inputChange(r.value, r.syntheticEvent);
|
|
104
|
+
},
|
|
105
|
+
title: this.props.title,
|
|
106
|
+
ariaLabel: this.props.ariaLabel
|
|
107
|
+
}
|
|
108
|
+
);
|
|
109
|
+
case "boolean": {
|
|
110
|
+
const r = (s) => s == null;
|
|
111
|
+
return /* @__PURE__ */ i.createElement(
|
|
112
|
+
a,
|
|
113
|
+
{
|
|
114
|
+
ref: this._inputRef,
|
|
115
|
+
size: this.props.size,
|
|
116
|
+
onChange: this.boolDropdownChange,
|
|
117
|
+
value: o.find((s) => s.operator === (r(t) ? "" : t)),
|
|
118
|
+
data: o,
|
|
119
|
+
textField: "text",
|
|
120
|
+
title: this.props.title,
|
|
121
|
+
ariaLabel: this.props.ariaLabel
|
|
122
|
+
}
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
default:
|
|
126
|
+
return /* @__PURE__ */ i.createElement(
|
|
127
|
+
c,
|
|
128
|
+
{
|
|
129
|
+
ref: this._inputRef,
|
|
130
|
+
size: this.props.size,
|
|
131
|
+
value: t || "",
|
|
132
|
+
onChange: (r) => {
|
|
133
|
+
this.inputChange(r.target.value, r.syntheticEvent);
|
|
134
|
+
},
|
|
135
|
+
title: this.props.title,
|
|
136
|
+
"aria-label": this.props.ariaLabel
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
d(L);
|
|
143
|
+
export {
|
|
144
|
+
L as GridFilterCell
|
|
145
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("@progress/kendo-react-common"),j=require("@progress/kendo-react-data-tools"),z=require("@progress/kendo-react-intl"),C=require("@progress/kendo-svg-icons"),A=require("react"),v=require("../messages/index.js");function G(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,c.get?c:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const n=G(A),K=e=>{let a=null;const{columnIndex:t,level:c,columnsCount:g,rowType:R,dataItem:o,field:w,onChange:d,expanded:r,render:x,dataIndex:f,ariaColumnIndex:M,isRtl:I}=e,s=w||"",N=j.useTableKeyboardNavigation(e.id),T=z.useLocalization();let i=null,m=null,y=null;const q=n.useCallback(l=>{l.isDefaultPrevented()||l.keyCode===b.Keys.enter&&d&&(l.preventDefault(),d({dataItem:o,dataIndex:f,syntheticEvent:l,field:void 0,value:!r}))},[r,d,o,f]),k=n.useCallback(l=>{e.onContextMenu&&e.onContextMenu.call(void 0,l,e.dataItem,e.field)},[e.onContextMenu,e.dataItem,e.field]),E=(l,O)=>{const D=r?v.groupCollapse:v.groupExpand,P=T.toLanguageString(D,v.messages[D]);return i={className:"k-table-td",style:{...e.style,...O},colSpan:l,key:"g-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":r,"aria-colindex":M,onKeyDown:q,onContextMenu:k,...N},y=n.createElement("p",{className:"k-reset"},n.createElement("a",{onClick:h=>{h.preventDefault(),d&&d({dataItem:o,dataIndex:f,syntheticEvent:h,field:void 0,value:!r})},href:"#",tabIndex:-1,"aria-label":P},n.createElement(b.IconWrap,{name:r?"caret-alt-down":I?"caret-alt-left":"caret-alt-right",icon:r?C.caretAltDownIcon:I?C.caretAltLeftIcon:C.caretAltRightIcon})),o[s]instanceof Date&&o[s].toString?o[s].toString():o[s]),n.createElement("td",{...i,key:i.key},y)};t===void 0||c===void 0||t<c||g===void 0||R!=="groupHeader"||o[s]===void 0?(i={style:e.style,key:"g"+t,className:b.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":e.locked}),role:"gridcell",onContextMenu:k},a=n.createElement("td",{...i,key:i.key})):t<=c&&!e.locked?a=E(g-t,{}):t<=c&&e.locked&&(m={className:"k-table-td",role:"gridcell",colSpan:g-t,style:{borderLeftWidth:0,borderRightWidth:0},onContextMenu:k},a=n.createElement(n.Fragment,null,E(0,{position:"sticky",zIndex:2}),n.createElement("td",{...m})));const S=e.rowType||"data",u=e.cells;if(u&&u.group&&u.group[S]){const l=u.group[S];return n.createElement(l,{...e,tdProps:i,td2Props:m},y)}return x?x.call(void 0,a,e):a};exports.GridGroupCell=K;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import { Keys as K, classNames as L, IconWrap as T } from "@progress/kendo-react-common";
|
|
10
|
+
import { useTableKeyboardNavigation as z } from "@progress/kendo-react-data-tools";
|
|
11
|
+
import { useLocalization as P } from "@progress/kendo-react-intl";
|
|
12
|
+
import { caretAltDownIcon as W, caretAltLeftIcon as F, caretAltRightIcon as G } from "@progress/kendo-svg-icons";
|
|
13
|
+
import * as t from "react";
|
|
14
|
+
import { messages as H, groupCollapse as j, groupExpand as q } from "../messages/index.mjs";
|
|
15
|
+
const V = (e) => {
|
|
16
|
+
let c = null;
|
|
17
|
+
const { columnIndex: a, level: s, columnsCount: m, rowType: h, dataItem: n, field: w, onChange: r, expanded: o, render: C, dataIndex: f, ariaColumnIndex: D, isRtl: v } = e, d = w || "", N = z(e.id), S = P();
|
|
18
|
+
let i = null, g = null, y = null;
|
|
19
|
+
const M = t.useCallback(
|
|
20
|
+
(l) => {
|
|
21
|
+
l.isDefaultPrevented() || l.keyCode === K.enter && r && (l.preventDefault(), r({
|
|
22
|
+
dataItem: n,
|
|
23
|
+
dataIndex: f,
|
|
24
|
+
syntheticEvent: l,
|
|
25
|
+
field: void 0,
|
|
26
|
+
value: !o
|
|
27
|
+
}));
|
|
28
|
+
},
|
|
29
|
+
[o, r, n, f]
|
|
30
|
+
), k = t.useCallback((l) => {
|
|
31
|
+
e.onContextMenu && e.onContextMenu.call(void 0, l, e.dataItem, e.field);
|
|
32
|
+
}, [e.onContextMenu, e.dataItem, e.field]), x = (l, R) => {
|
|
33
|
+
const I = o ? j : q, A = S.toLanguageString(I, H[I]);
|
|
34
|
+
return i = {
|
|
35
|
+
className: "k-table-td",
|
|
36
|
+
style: { ...e.style, ...R },
|
|
37
|
+
colSpan: l,
|
|
38
|
+
key: "g-colspan",
|
|
39
|
+
role: "gridcell",
|
|
40
|
+
"aria-selected": !1,
|
|
41
|
+
"aria-expanded": o,
|
|
42
|
+
"aria-colindex": D,
|
|
43
|
+
onKeyDown: M,
|
|
44
|
+
onContextMenu: k,
|
|
45
|
+
...N
|
|
46
|
+
}, y = /* @__PURE__ */ t.createElement("p", { className: "k-reset" }, /* @__PURE__ */ t.createElement(
|
|
47
|
+
"a",
|
|
48
|
+
{
|
|
49
|
+
onClick: (E) => {
|
|
50
|
+
E.preventDefault(), r && r({
|
|
51
|
+
dataItem: n,
|
|
52
|
+
dataIndex: f,
|
|
53
|
+
syntheticEvent: E,
|
|
54
|
+
field: void 0,
|
|
55
|
+
value: !o
|
|
56
|
+
});
|
|
57
|
+
},
|
|
58
|
+
href: "#",
|
|
59
|
+
tabIndex: -1,
|
|
60
|
+
"aria-label": A
|
|
61
|
+
},
|
|
62
|
+
/* @__PURE__ */ t.createElement(
|
|
63
|
+
T,
|
|
64
|
+
{
|
|
65
|
+
name: o ? "caret-alt-down" : v ? "caret-alt-left" : "caret-alt-right",
|
|
66
|
+
icon: o ? W : v ? F : G
|
|
67
|
+
}
|
|
68
|
+
)
|
|
69
|
+
), n[d] instanceof Date && n[d].toString ? n[d].toString() : n[d]), /* @__PURE__ */ t.createElement(
|
|
70
|
+
"td",
|
|
71
|
+
{
|
|
72
|
+
...i,
|
|
73
|
+
key: i.key
|
|
74
|
+
},
|
|
75
|
+
y
|
|
76
|
+
);
|
|
77
|
+
};
|
|
78
|
+
a === void 0 || s === void 0 || a < s || m === void 0 || h !== "groupHeader" || n[d] === void 0 ? (i = {
|
|
79
|
+
style: e.style,
|
|
80
|
+
key: "g" + a,
|
|
81
|
+
className: L(
|
|
82
|
+
"k-table-td",
|
|
83
|
+
"k-group-cell",
|
|
84
|
+
{ "k-grid-content-sticky": e.locked }
|
|
85
|
+
),
|
|
86
|
+
role: "gridcell",
|
|
87
|
+
onContextMenu: k
|
|
88
|
+
}, c = /* @__PURE__ */ t.createElement(
|
|
89
|
+
"td",
|
|
90
|
+
{
|
|
91
|
+
...i,
|
|
92
|
+
key: i.key
|
|
93
|
+
}
|
|
94
|
+
)) : a <= s && !e.locked ? c = x(m - a, {}) : a <= s && e.locked && (g = {
|
|
95
|
+
className: "k-table-td",
|
|
96
|
+
role: "gridcell",
|
|
97
|
+
colSpan: m - a,
|
|
98
|
+
style: { borderLeftWidth: 0, borderRightWidth: 0 },
|
|
99
|
+
onContextMenu: k
|
|
100
|
+
}, c = /* @__PURE__ */ t.createElement(t.Fragment, null, x(0, { position: "sticky", zIndex: 2 }), /* @__PURE__ */ t.createElement(
|
|
101
|
+
"td",
|
|
102
|
+
{
|
|
103
|
+
...g
|
|
104
|
+
}
|
|
105
|
+
)));
|
|
106
|
+
const b = e.rowType || "data", u = e.cells;
|
|
107
|
+
if (u && u.group && u.group[b]) {
|
|
108
|
+
const l = u.group[b];
|
|
109
|
+
return /* @__PURE__ */ t.createElement(l, { ...e, tdProps: i, td2Props: g }, y);
|
|
110
|
+
}
|
|
111
|
+
return C ? C.call(void 0, c, e) : c;
|
|
112
|
+
};
|
|
113
|
+
export {
|
|
114
|
+
V as GridGroupCell
|
|
115
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("react"),b=require("../utils/index.js"),C=require("@progress/kendo-react-data-tools"),x=require("@progress/kendo-react-intl"),f=require("@progress/kendo-react-common"),d=require("../messages/index.js"),g=require("@progress/kendo-svg-icons");function k(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,c.get?c:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const i=k(I),v=e=>{let n=null,t=null,c=null;const l=b.getNestedValue(e.field,e.dataItem),o=C.useTableKeyboardNavigation(e.id),m=x.useLocalization(),y=i.useCallback(a=>{a.isDefaultPrevented()||a.keyCode===f.Keys.enter&&e.onChange&&(a.preventDefault(),e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:a,field:e.field,value:!l}))},[e.dataItem,e.dataIndex,e.field,e.onChange,l]);if(e.rowType==="groupFooter")t={className:"k-table-td k-hierarchy-cell",role:"gridcell",...o},n=i.createElement("td",{...t});else if(e.rowType!=="groupHeader"){const a=l?d.detailCollapse:d.detailExpand,h=m.toLanguageString(a,d.messages[a]);t={className:"k-table-td k-hierarchy-cell",onKeyDown:y,"aria-expanded":!!l,role:"gridcell","aria-colindex":e.ariaColumnIndex,...o},c=i.createElement("a",{onClick:s=>{s.preventDefault(),e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:s,field:e.field,value:!l})},"aria-label":h,href:"#",tabIndex:-1},i.createElement(f.IconWrap,{name:l?"minus":"plus",icon:l?g.minusIcon:g.plusIcon})),n=i.createElement("td",{...t},c)}const u=e.rowType||"data",r=e.cells;if(r&&r.hierarchy&&r.hierarchy[u]){const a=r.hierarchy[u];return i.createElement(a,{...e,tdProps:t},c)}return e.render?e.render.call(void 0,n,e):n};exports.GridHierarchyCell=v;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as n from "react";
|
|
10
|
+
import { getNestedValue as s } from "../utils/index.mjs";
|
|
11
|
+
import { useTableKeyboardNavigation as h } from "@progress/kendo-react-data-tools";
|
|
12
|
+
import { useLocalization as y } from "@progress/kendo-react-intl";
|
|
13
|
+
import { Keys as I, IconWrap as C } from "@progress/kendo-react-common";
|
|
14
|
+
import { messages as x, detailCollapse as b, detailExpand as E } from "../messages/index.mjs";
|
|
15
|
+
import { minusIcon as k, plusIcon as v } from "@progress/kendo-svg-icons";
|
|
16
|
+
const z = (e) => {
|
|
17
|
+
let i = null, l = null, r = null;
|
|
18
|
+
const t = s(e.field, e.dataItem), c = h(e.id), u = y(), f = n.useCallback(
|
|
19
|
+
(a) => {
|
|
20
|
+
a.isDefaultPrevented() || a.keyCode === I.enter && e.onChange && (a.preventDefault(), e.onChange({
|
|
21
|
+
dataItem: e.dataItem,
|
|
22
|
+
dataIndex: e.dataIndex,
|
|
23
|
+
syntheticEvent: a,
|
|
24
|
+
field: e.field,
|
|
25
|
+
value: !t
|
|
26
|
+
}));
|
|
27
|
+
},
|
|
28
|
+
[e.dataItem, e.dataIndex, e.field, e.onChange, t]
|
|
29
|
+
);
|
|
30
|
+
if (e.rowType === "groupFooter")
|
|
31
|
+
l = {
|
|
32
|
+
className: "k-table-td k-hierarchy-cell",
|
|
33
|
+
role: "gridcell",
|
|
34
|
+
...c
|
|
35
|
+
}, i = /* @__PURE__ */ n.createElement(
|
|
36
|
+
"td",
|
|
37
|
+
{
|
|
38
|
+
...l
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
else if (e.rowType !== "groupHeader") {
|
|
42
|
+
const a = t ? b : E, g = u.toLanguageString(a, x[a]);
|
|
43
|
+
l = {
|
|
44
|
+
className: "k-table-td k-hierarchy-cell",
|
|
45
|
+
onKeyDown: f,
|
|
46
|
+
"aria-expanded": !!t,
|
|
47
|
+
role: "gridcell",
|
|
48
|
+
"aria-colindex": e.ariaColumnIndex,
|
|
49
|
+
...c
|
|
50
|
+
}, r = /* @__PURE__ */ n.createElement(
|
|
51
|
+
"a",
|
|
52
|
+
{
|
|
53
|
+
onClick: (m) => {
|
|
54
|
+
m.preventDefault(), e.onChange && e.onChange({
|
|
55
|
+
dataItem: e.dataItem,
|
|
56
|
+
dataIndex: e.dataIndex,
|
|
57
|
+
syntheticEvent: m,
|
|
58
|
+
field: e.field,
|
|
59
|
+
value: !t
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
"aria-label": g,
|
|
63
|
+
href: "#",
|
|
64
|
+
tabIndex: -1
|
|
65
|
+
},
|
|
66
|
+
/* @__PURE__ */ n.createElement(C, { name: t ? "minus" : "plus", icon: t ? k : v })
|
|
67
|
+
), i = /* @__PURE__ */ n.createElement(
|
|
68
|
+
"td",
|
|
69
|
+
{
|
|
70
|
+
...l
|
|
71
|
+
},
|
|
72
|
+
r
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
const o = e.rowType || "data", d = e.cells;
|
|
76
|
+
if (d && d.hierarchy && d.hierarchy[o]) {
|
|
77
|
+
const a = d.hierarchy[o];
|
|
78
|
+
return /* @__PURE__ */ n.createElement(a, { ...e, tdProps: l }, r);
|
|
79
|
+
}
|
|
80
|
+
return e.render ? e.render.call(void 0, i, e) : i;
|
|
81
|
+
};
|
|
82
|
+
export {
|
|
83
|
+
z as GridHierarchyCell
|
|
84
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("react"),f=require("../utils/index.js"),i=require("../messages/index.js"),y=require("@progress/kendo-react-intl"),C=require("@progress/kendo-react-data-tools"),h=require("@progress/kendo-react-common");function S(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const c=S(k),x=e=>{const n=y.useLocalization(),t=c.useCallback(o=>{e.selectionChange&&e.selectionChange({syntheticEvent:o})},[e.selectionChange]),a=h.useId(),s=f.getNestedValue(e.field,e.dataItem),b=C.useTableKeyboardNavigation(e.id),r={colSpan:e.colSpan,style:e.style,className:e.className,"aria-colindex":e.ariaColumnIndex,role:"gridcell",...b},d=typeof s=="boolean"&&s,u=c.createElement("span",{key:1,className:"k-checkbox-wrap"},c.createElement("input",{id:a,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":n.toLanguageString(i.selectRow,i.messages[i.selectRow]),"aria-checked":d,checked:d,onChange:t})),g=e.rowType!=="groupHeader"?c.createElement("td",{...r},u):null,m=e.rowType||"data",l=e.cells;if(l&&l.select&&l.select[m]){const o=l.select[m];return c.createElement(o,{...e,tdProps:r},u)}return e.render?e.render.call(void 0,g,e):g};exports.GridSelectionCell=x;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as t from "react";
|
|
10
|
+
import { getNestedValue as k } from "../utils/index.mjs";
|
|
11
|
+
import { selectRow as r, messages as f } from "../messages/index.mjs";
|
|
12
|
+
import { useLocalization as C } from "@progress/kendo-react-intl";
|
|
13
|
+
import { useTableKeyboardNavigation as b } from "@progress/kendo-react-data-tools";
|
|
14
|
+
import { useId as y } from "@progress/kendo-react-common";
|
|
15
|
+
const I = (e) => {
|
|
16
|
+
const m = C(), u = t.useCallback(
|
|
17
|
+
(n) => {
|
|
18
|
+
e.selectionChange && e.selectionChange({ syntheticEvent: n });
|
|
19
|
+
},
|
|
20
|
+
[e.selectionChange]
|
|
21
|
+
), g = y(), c = k(e.field, e.dataItem), h = b(e.id), l = {
|
|
22
|
+
colSpan: e.colSpan,
|
|
23
|
+
style: e.style,
|
|
24
|
+
className: e.className,
|
|
25
|
+
"aria-colindex": e.ariaColumnIndex,
|
|
26
|
+
role: "gridcell",
|
|
27
|
+
...h
|
|
28
|
+
}, o = typeof c == "boolean" && c, i = /* @__PURE__ */ t.createElement("span", { key: 1, className: "k-checkbox-wrap" }, /* @__PURE__ */ t.createElement(
|
|
29
|
+
"input",
|
|
30
|
+
{
|
|
31
|
+
id: g,
|
|
32
|
+
type: "checkbox",
|
|
33
|
+
className: "k-checkbox k-checkbox-md k-rounded-md",
|
|
34
|
+
"aria-label": m.toLanguageString(r, f[r]),
|
|
35
|
+
"aria-checked": o,
|
|
36
|
+
checked: o,
|
|
37
|
+
onChange: u
|
|
38
|
+
}
|
|
39
|
+
)), s = e.rowType !== "groupHeader" ? /* @__PURE__ */ t.createElement(
|
|
40
|
+
"td",
|
|
41
|
+
{
|
|
42
|
+
...l
|
|
43
|
+
},
|
|
44
|
+
i
|
|
45
|
+
) : null, d = e.rowType || "data", a = e.cells;
|
|
46
|
+
if (a && a.select && a.select[d]) {
|
|
47
|
+
const n = a.select[d];
|
|
48
|
+
return /* @__PURE__ */ t.createElement(n, { ...e, tdProps: l }, i);
|
|
49
|
+
}
|
|
50
|
+
return e.render ? e.render.call(void 0, s, e) : s;
|
|
51
|
+
};
|
|
52
|
+
export {
|
|
53
|
+
I as GridSelectionCell
|
|
54
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("react"),v=require("./GridColumnMenuItem.js"),E=require("./GridColumnMenuItemGroup.js"),S=require("./GridColumnMenuItemContent.js"),d=require("@progress/kendo-react-inputs"),k=require("@progress/kendo-react-intl"),r=require("../messages/index.js"),x=require("@progress/kendo-data-query"),F=require("@progress/kendo-react-common"),f=require("@progress/kendo-react-buttons"),C=require("../utils/index.js"),m=require("@progress/kendo-svg-icons");function b(h){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(h){for(const e in h)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(h,e);Object.defineProperty(l,e,t.get?t:{enumerable:!0,get:()=>h[e]})}}return l.default=h,Object.freeze(l)}const i=b(I),q=(h,l)=>h.length!==l.length?!1:h.every((e,t)=>e===l[t]),g=class g extends i.Component{constructor(l){super(l),this.defaultFilter=()=>this.props.filter?F.clone(this.props.filter):{filters:[],logic:"and"},this.isControlled=()=>this.props.expanded!==void 0,this.parseData=(e,t)=>{const o=this.props.column.field||"",n=e.map(c=>C.getNestedValue(o,c));return t?n.filter((c,s)=>n.indexOf(c)===s):n},this.getFilterIndex=()=>{const e=this.props.column.field;return this.defaultFilter().filters.findIndex(n=>n.filters&&n.filters.length>0&&n.filters[0].field===e)},this.onFilterExpand=()=>{const e=this.isControlled(),t=!(e?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(t),e||this.setState({expanded:t})},this.handleSearchChange=e=>{const t=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",o={logic:"and",filters:[{field:this.props.column.field,operator:t,value:e.target.value,ignoreCase:!0}]};this.setState({value:e.target.value,data:this.parseData(x.filterBy(this.props.data||[],o),this.props.uniqueData)})},this.handleClear=()=>{const e=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",t={logic:"and",filters:[{field:this.props.column.field,operator:e,value:"",ignoreCase:!0}]};this.setState({value:"",data:this.parseData(x.filterBy(this.props.data||[],t),this.props.uniqueData)})},this.clear=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.state.currentFilter||null;t!==null&&t.filters.length>0?(this.compositeFilterIndex>=0&&t.filters.splice(this.compositeFilterIndex,1),this.props.onFilterChange(t,e)):this.props.onFilterChange(null,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.submit=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.state.currentFilter||null;this.props.onFilterChange(t,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.handleCheckBoxChange=(e,t)=>{const o=this.props.column.field||"",n={...this.state.currentFilter},c=[...this.state.currentFilter.filters];let s=[];if(this.compositeFilterIndex!==-1&&n.filters[this.compositeFilterIndex].filters&&t!=="all"&&(s=n.filters[this.compositeFilterIndex].filters),e.value&&t==="all")this.state.data.forEach(a=>{s.push({field:o,operator:"eq",value:a})});else if(e.value)s.push({field:o,operator:"eq",value:t});else if(this.state.currentFilter){const a=s.findIndex(p=>p.value===t);s.splice(a,1)}n.logic="and",this.compositeFilterIndex!==-1?c[this.compositeFilterIndex]={logic:"or",filters:s}:c.push({logic:"or",filters:s}),(!e.value&&t==="all"||s.length===0)&&c.splice(this.compositeFilterIndex,1),n.filters=c,this.setState({currentFilter:n})},this.isAllSelected=()=>{let e=!1;if(this.state.currentFilter){const t=[...this.state.currentFilter.filters];return this.compositeFilterIndex===-1?!1:(e=this.state.data.every(o=>this.compositeFilterIndex!==-1&&t[this.compositeFilterIndex].filters?t[this.compositeFilterIndex].filters.findIndex(c=>c.value===o)>=0:!1),e)}return e},this.compositeFilterIndex=this.getFilterIndex(),this.state={expanded:l.expanded||!1,value:"",data:this.parseData(this.props.data,this.props.uniqueData)||[],dataFromProps:this.parseData(this.props.data,!1)||[],currentFilter:this.defaultFilter()}}componentDidUpdate(){const l=this.props.column.field||"",e=this.props.data.map(t=>C.getNestedValue(l,t));q(e,this.state.dataFromProps)||this.setState({data:e,dataFromProps:e})}render(){const{column:l}=this.props;if(!l||!l.field)return i.createElement("div",null);const e=k.provideLocalizationService(this),t=this.isControlled()?this.props.expanded:this.state.expanded,o=[];if(this.state.currentFilter){const s=[...this.state.currentFilter.filters];this.compositeFilterIndex=s.findIndex(a=>a.filters&&a.filters.length>0?a.filters[0].field===l.field:!1),this.compositeFilterIndex!==-1&&s[this.compositeFilterIndex].filters.length>0&&s[this.compositeFilterIndex].filters.forEach(a=>{a.field===this.props.column.field&&o.push(a.value)})}const n=this.props.searchBox?i.createElement(this.props.searchBox,{value:this.state.value,onChange:this.handleSearchChange}):i.createElement("div",{className:"k-searchbox k-textbox k-input k-input-md k-input-solid"},i.createElement(F.IconWrap,{className:"k-input-icon",name:"search",icon:m.searchIcon}),i.createElement(d.Input,{className:"k-input-inner",type:"text",placeholder:e.toLanguageString(r.searchPlaceholder,r.messages[r.searchPlaceholder]),value:this.state.value,onChange:s=>this.handleSearchChange(s.nativeEvent)}),i.createElement(f.Button,{type:"button",rounded:null,className:"k-input-button",onClick:this.handleClear,icon:"x",svgIcon:m.xIcon})),c=o.filter((s,a)=>o.indexOf(s)===a);return i.createElement(E.GridColumnMenuItemGroup,null,i.createElement(v.GridColumnMenuItem,{title:e.toLanguageString(r.filterTitle,r.messages[r.filterTitle]),iconClass:"k-i-filter",svgIcon:m.filterIcon,onClick:this.onFilterExpand}),i.createElement(S.GridColumnMenuItemContent,{show:!!t},i.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},i.createElement("div",{className:"k-filter-menu-container"},n,i.createElement("ul",{className:"k-reset k-multicheck-wrap"},i.createElement("li",{className:"k-item k-check-all-wrap"},i.createElement(d.Checkbox,{label:e.toLanguageString(r.filterCheckAll,r.messages[r.filterCheckAll]),onChange:s=>this.handleCheckBoxChange(s,"all"),checked:this.isAllSelected()})),this.state.data.map((s,a)=>i.createElement("li",{className:"k-item",key:a},i.createElement(d.Checkbox,{label:String(s),onChange:p=>this.handleCheckBoxChange(p,s),checked:c.includes(s)})))),i.createElement("div",{className:"k-filter-selected-items"},c.length+" "+e.toLanguageString(r.filterSelectedItems,r.messages[r.filterSelectedItems])),i.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},i.createElement(f.Button,{themeColor:"primary",type:"submit"},e.toLanguageString(r.filterSubmitButton,r.messages[r.filterSubmitButton])),i.createElement(f.Button,{className:"k-button",type:"reset"},e.toLanguageString(r.filterClearButton,r.messages[r.filterClearButton])))))))}};g.defaultProps={uniqueData:!0};let u=g;k.registerForLocalization(u);exports.GridColumnMenuCheckboxFilter=u;
|