@progress/kendo-react-grid 10.3.0-develop.1 → 11.0.0-develop.10
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/GridClientContextReader.js +1 -1
- package/GridClientContextReader.mjs +16 -13
- package/GridClientWrapper.js +1 -1
- package/GridClientWrapper.mjs +419 -421
- package/GridComponent.js +1 -1
- package/GridComponent.mjs +402 -395
- package/VirtualScroll.js +1 -1
- package/VirtualScroll.mjs +65 -107
- package/cells/GridDetailHierarchyCell.js +1 -1
- package/cells/GridDetailHierarchyCell.mjs +4 -4
- package/cells/datacell/GridCell.js +9 -0
- package/cells/datacell/GridCell.mjs +29 -0
- package/cells/datacell/GridCellServer.js +8 -0
- package/cells/datacell/GridCellServer.mjs +27 -0
- package/cells/datacell/GridCellServerContainer.js +9 -0
- package/cells/datacell/GridCellServerContainer.mjs +26 -0
- package/cells/datacell/useCellClientTdProps.js +9 -0
- package/cells/datacell/useCellClientTdProps.mjs +30 -0
- package/cells/datacell/utils.js +8 -0
- package/cells/datacell/utils.mjs +47 -0
- package/cells/detailcell/GridDetailCell.js +9 -0
- package/cells/detailcell/GridDetailCell.mjs +18 -0
- package/cells/detailcell/GridDetailCellServer.js +8 -0
- package/cells/detailcell/GridDetailCellServer.mjs +17 -0
- package/cells/detailcell/GridDetailCellServerContainer.js +9 -0
- package/cells/detailcell/GridDetailCellServerContainer.mjs +19 -0
- package/cells/detailcell/useDetailCellClientTdProps.js +9 -0
- package/cells/detailcell/useDetailCellClientTdProps.mjs +20 -0
- package/cells/detailcell/utils.js +8 -0
- package/cells/detailcell/utils.mjs +20 -0
- package/cells/editcell/GridEditCell.js +9 -0
- package/cells/editcell/GridEditCell.mjs +26 -0
- package/cells/editcell/GridEditCellServer.js +8 -0
- package/cells/editcell/GridEditCellServer.mjs +32 -0
- package/cells/editcell/GridEditCellServerContainer.js +9 -0
- package/cells/editcell/GridEditCellServerContainer.mjs +26 -0
- package/cells/editcell/useEditCellClientTdProps.js +9 -0
- package/cells/editcell/useEditCellClientTdProps.mjs +21 -0
- package/cells/editcell/utils.js +8 -0
- package/cells/editcell/utils.mjs +29 -0
- package/cells/groupcell/GridGroupCell.js +9 -0
- package/cells/groupcell/GridGroupCell.mjs +24 -0
- package/cells/groupcell/GridGroupCellServer.js +8 -0
- package/cells/groupcell/GridGroupCellServer.mjs +44 -0
- package/cells/groupcell/GridGroupCellServerContainer.js +9 -0
- package/cells/groupcell/GridGroupCellServerContainer.mjs +38 -0
- package/cells/groupcell/useGroupCellClientTdProps.js +9 -0
- package/cells/groupcell/useGroupCellClientTdProps.mjs +44 -0
- package/cells/groupcell/utils.js +8 -0
- package/cells/groupcell/utils.mjs +48 -0
- package/cells/hierarchycell/GridHierarchyCell.js +9 -0
- package/cells/hierarchycell/GridHierarchyCell.mjs +25 -0
- package/cells/hierarchycell/GridHierarchyCellServer.js +8 -0
- package/cells/hierarchycell/GridHierarchyCellServer.mjs +32 -0
- package/cells/hierarchycell/GridHierarchyCellServerContainer.js +9 -0
- package/cells/hierarchycell/GridHierarchyCellServerContainer.mjs +26 -0
- package/cells/hierarchycell/useHierarchyCellClientTdProps.js +9 -0
- package/cells/hierarchycell/useHierarchyCellClientTdProps.mjs +35 -0
- package/cells/hierarchycell/utils.js +8 -0
- package/cells/hierarchycell/utils.mjs +30 -0
- package/cells/hooks.js +9 -0
- package/cells/hooks.mjs +41 -0
- package/cells/rowreordercell/GridRowReorderCell.js +9 -0
- package/cells/rowreordercell/GridRowReorderCell.mjs +19 -0
- package/cells/rowreordercell/GridRowReorderCellServer.js +8 -0
- package/cells/rowreordercell/GridRowReorderCellServer.mjs +18 -0
- package/cells/rowreordercell/GridRowReorderCellServerContainer.js +9 -0
- package/cells/rowreordercell/GridRowReorderCellServerContainer.mjs +19 -0
- package/cells/rowreordercell/useRowReorderCellClientTdProps.js +9 -0
- package/cells/rowreordercell/useRowReorderCellClientTdProps.mjs +26 -0
- package/cells/rowreordercell/utils.js +8 -0
- package/cells/rowreordercell/utils.mjs +30 -0
- package/cells/selectioncell/GridSelectionCell.js +9 -0
- package/cells/selectioncell/GridSelectionCell.mjs +26 -0
- package/cells/selectioncell/GridSelectionCellServer.js +8 -0
- package/cells/selectioncell/GridSelectionCellServer.mjs +33 -0
- package/cells/selectioncell/GridSelectionCellServerContainer.js +9 -0
- package/cells/selectioncell/GridSelectionCellServerContainer.mjs +26 -0
- package/cells/selectioncell/useSelectionCellClientTdProps.js +9 -0
- package/cells/selectioncell/useSelectionCellClientTdProps.mjs +21 -0
- package/cells/selectioncell/utils.js +8 -0
- package/cells/selectioncell/utils.mjs +25 -0
- package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
- package/columnMenu/GridColumnMenuCheckboxFilter.mjs +126 -97
- package/columnMenu/GridColumnMenuColumnsChooser.js +1 -1
- package/columnMenu/GridColumnMenuColumnsChooser.mjs +103 -58
- package/columnMenu/GridColumnMenuFilter.js +1 -1
- package/columnMenu/GridColumnMenuFilter.mjs +122 -101
- package/columnMenu/GridColumnMenuFilterCell.js +1 -1
- package/columnMenu/GridColumnMenuFilterCell.mjs +47 -44
- package/columnMenu/GridColumnMenuFilterUI.js +1 -1
- package/columnMenu/GridColumnMenuFilterUI.mjs +28 -14
- package/columnMenu/GridColumnMenuItem.js +1 -1
- package/columnMenu/GridColumnMenuItem.mjs +9 -6
- package/columnMenu/GridColumnMenuWrapper.js +1 -1
- package/columnMenu/GridColumnMenuWrapper.mjs +68 -71
- package/columnMenu/adaptiveContent/GridActionSheetFooter.js +9 -0
- package/columnMenu/adaptiveContent/GridActionSheetFooter.mjs +24 -0
- package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.js +9 -0
- package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.mjs +79 -0
- package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.js +9 -0
- package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.mjs +90 -0
- package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.js +9 -0
- package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.mjs +66 -0
- package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.js +9 -0
- package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.mjs +74 -0
- package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.js +9 -0
- package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.mjs +17 -0
- package/components/GridDraggableRowsContainer.js +1 -1
- package/components/GridDraggableRowsContainer.mjs +71 -67
- package/components/VirtualScrollHeightContainer.js +1 -1
- package/components/VirtualScrollHeightContainer.mjs +4 -4
- package/components/table/GridTableScrollable.js +1 -1
- package/components/table/GridTableScrollable.mjs +16 -15
- package/components/utils.js +1 -1
- package/components/utils.mjs +9 -10
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/index.d.mts +75 -10
- package/index.d.ts +75 -10
- package/index.js +1 -1
- package/index.mjs +5 -5
- package/messages/index.js +1 -1
- package/messages/index.mjs +78 -62
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +16 -16
- package/paging/GridPagerSettings.js +1 -1
- package/paging/GridPagerSettings.mjs +17 -13
- package/utils/index.js +1 -1
- package/utils/index.mjs +112 -104
- package/VirtualScrollFixed.js +0 -8
- package/VirtualScrollFixed.mjs +0 -52
- package/cells/GridCell.js +0 -8
- package/cells/GridCell.mjs +0 -52
- package/cells/GridDetailCell.js +0 -8
- package/cells/GridDetailCell.mjs +0 -26
- package/cells/GridEditCell.js +0 -8
- package/cells/GridEditCell.mjs +0 -35
- package/cells/GridGroupCell.js +0 -8
- package/cells/GridGroupCell.mjs +0 -74
- package/cells/GridHierarchyCell.js +0 -8
- package/cells/GridHierarchyCell.mjs +0 -33
- package/cells/GridRowReorderCell.js +0 -8
- package/cells/GridRowReorderCell.mjs +0 -42
- package/cells/GridSelectionCell.js +0 -8
- package/cells/GridSelectionCell.mjs +0 -30
- package/cells/client/DetailCellContainer.js +0 -9
- package/cells/client/DetailCellContainer.mjs +0 -27
- package/cells/client/GridCellContainer.js +0 -9
- package/cells/client/GridCellContainer.mjs +0 -69
- package/cells/client/GridEditCellContainer.js +0 -9
- package/cells/client/GridEditCellContainer.mjs +0 -61
- package/cells/client/GridGroupCellContainer.js +0 -9
- package/cells/client/GridGroupCellContainer.mjs +0 -88
- package/cells/client/GridHierarchyCellContainer.js +0 -9
- package/cells/client/GridHierarchyCellContainer.mjs +0 -64
- package/cells/client/GridRowReorderContainer.js +0 -9
- package/cells/client/GridRowReorderContainer.mjs +0 -31
- package/cells/client/GridSelectionCellContainer.js +0 -9
- package/cells/client/GridSelectionCellContainer.mjs +0 -61
- /package/cells/{client → editcell}/GridEditCellEditor.js +0 -0
- /package/cells/{client → editcell}/GridEditCellEditor.mjs +0 -0
- /package/cells/{client → groupcell}/GridGroupCellToggle.js +0 -0
- /package/cells/{client → groupcell}/GridGroupCellToggle.mjs +0 -0
- /package/cells/{client → hierarchycell}/GridHierarchyCellToggle.js +0 -0
- /package/cells/{client → hierarchycell}/GridHierarchyCellToggle.mjs +0 -0
- /package/cells/{client → selectioncell}/GridSelectionCellInput.js +0 -0
- /package/cells/{client → selectioncell}/GridSelectionCellInput.mjs +0 -0
|
@@ -6,139 +6,160 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
import * as
|
|
10
|
-
import { isCompositeFilterDescriptor as
|
|
11
|
-
import { GridColumnMenuItem as
|
|
12
|
-
import { GridColumnMenuItemGroup as
|
|
13
|
-
import { GridColumnMenuItemContent as
|
|
14
|
-
import { useLocalization as
|
|
15
|
-
import { getFilterType as
|
|
16
|
-
import {
|
|
17
|
-
import { GridColumnMenuFilterUI as
|
|
18
|
-
import { Button as
|
|
19
|
-
import { filterIcon as
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
import * as l from "react";
|
|
10
|
+
import { isCompositeFilterDescriptor as R } from "@progress/kendo-data-query";
|
|
11
|
+
import { GridColumnMenuItem as se } from "./GridColumnMenuItem.mjs";
|
|
12
|
+
import { GridColumnMenuItemGroup as ce } from "./GridColumnMenuItemGroup.mjs";
|
|
13
|
+
import { GridColumnMenuItemContent as ue } from "./GridColumnMenuItemContent.mjs";
|
|
14
|
+
import { useLocalization as fe } from "@progress/kendo-react-intl";
|
|
15
|
+
import { getFilterType as $, getDefaultOperator as de, IsUnaryFilter as v, operatorMap as I, booleanFilterValues as me, filterLogicList as ge, defaultHideSecondFilter as Ce } from "../filterCommon.mjs";
|
|
16
|
+
import { adaptiveColumnMenuFilterTitle as j, messages as E, filterTitle as q, filterSubmitButton as J, filterClearButton as K } from "../messages/index.mjs";
|
|
17
|
+
import { GridColumnMenuFilterUI as Fe } from "./GridColumnMenuFilterUI.mjs";
|
|
18
|
+
import { Button as Q } from "@progress/kendo-react-buttons";
|
|
19
|
+
import { filterIcon as he } from "@progress/kendo-svg-icons";
|
|
20
|
+
import { GridContext as ve } from "../GridClientWrapper.mjs";
|
|
21
|
+
import { GridAdaptiveFilterMenu as Ee } from "./adaptiveContent/GridAdaptiveFilterMenu.mjs";
|
|
22
|
+
const k = (e) => e || { filters: [], logic: "and" }, x = (e, a) => k(a).filters.filter((f) => R(f) ? f.filters && f.filters.length && !f.filters.find((g) => R(g) || g.field !== e) : !1)[0] || null, Ne = (e, a) => !!x(e, a), Oe = (e) => {
|
|
23
|
+
const a = l.useContext(ve), y = l.useCallback(() => {
|
|
22
24
|
let t;
|
|
23
25
|
if (e.column && e.column.field) {
|
|
24
|
-
const
|
|
25
|
-
t =
|
|
26
|
+
const i = $(e.column.filter), r = de(e.filterOperators, i);
|
|
27
|
+
t = x(e.column.field, e.filter), t = t ? {
|
|
26
28
|
...t,
|
|
27
|
-
filters: t.filters.map((
|
|
29
|
+
filters: t.filters.map((n) => ({ ...n }))
|
|
28
30
|
} : {
|
|
29
31
|
logic: "and",
|
|
30
32
|
filters: [
|
|
31
33
|
{
|
|
32
34
|
field: e.column.field,
|
|
33
|
-
operator:
|
|
34
|
-
value:
|
|
35
|
+
operator: r,
|
|
36
|
+
value: v(r) ? null : void 0
|
|
35
37
|
},
|
|
36
38
|
{
|
|
37
39
|
field: e.column.field,
|
|
38
|
-
operator:
|
|
39
|
-
value:
|
|
40
|
+
operator: r,
|
|
41
|
+
value: v(r) ? null : void 0
|
|
40
42
|
}
|
|
41
43
|
]
|
|
42
|
-
}, t.filters.filter((
|
|
44
|
+
}, t.filters.filter((n) => n.field === e.column.field).length === 1 && t.filters.splice(1, 0, { field: e.column.field, operator: r });
|
|
43
45
|
}
|
|
44
46
|
return t;
|
|
45
|
-
}, [e.column]), [
|
|
46
|
-
const t =
|
|
47
|
-
e.onExpandChange && e.onExpandChange(
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
|
|
52
|
-
},
|
|
53
|
-
const
|
|
54
|
-
...
|
|
55
|
-
value:
|
|
56
|
-
operator:
|
|
57
|
-
} :
|
|
58
|
-
|
|
59
|
-
...
|
|
60
|
-
filters:
|
|
47
|
+
}, [e.column]), [p, f] = l.useState(e.expanded || !1), [g, M] = l.useState(!1), [s, L] = l.useState(y()), T = () => e.expanded !== void 0, W = () => {
|
|
48
|
+
const t = T(), i = !(t ? e.expanded : p);
|
|
49
|
+
e.onExpandChange && e.onExpandChange(i), M(!g), !t && !a.mobileMode && f(i);
|
|
50
|
+
}, X = (t) => {
|
|
51
|
+
D(0, t);
|
|
52
|
+
}, Y = (t) => {
|
|
53
|
+
D(1, t);
|
|
54
|
+
}, D = (t, i) => {
|
|
55
|
+
const r = s.filters.map((n, o) => o === t ? {
|
|
56
|
+
...n,
|
|
57
|
+
value: i.value,
|
|
58
|
+
operator: i.operator
|
|
59
|
+
} : n);
|
|
60
|
+
L({
|
|
61
|
+
...s,
|
|
62
|
+
filters: r
|
|
61
63
|
});
|
|
62
|
-
},
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
});
|
|
67
|
-
}, J = (t) => {
|
|
64
|
+
}, Z = (t) => {
|
|
65
|
+
let i = t.target.value;
|
|
66
|
+
t.target.tagName === "SPAN" && (i = t.target.parentElement.value), L({ ...s, logic: i });
|
|
67
|
+
}, P = (t) => {
|
|
68
68
|
if (t.preventDefault(), !e.onFilterChange)
|
|
69
69
|
return;
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
},
|
|
73
|
-
...
|
|
74
|
-
filters:
|
|
75
|
-
}),
|
|
70
|
+
const i = e.column.field, r = k(e.filter), n = x(i, e.filter), o = r.filters.filter((m) => m !== n);
|
|
71
|
+
o.length ? e.onFilterChange({ ...r, filters: o }, t) : e.onFilterChange(null, t), e.onCloseMenu && e.onCloseMenu();
|
|
72
|
+
}, N = () => ({
|
|
73
|
+
...s,
|
|
74
|
+
filters: s.filters.filter((t) => t.value !== void 0 && t.value !== null && t.value !== "" || t.value === null && t.operator)
|
|
75
|
+
}), O = (t) => {
|
|
76
76
|
if (t.preventDefault(), !e.onFilterChange)
|
|
77
77
|
return;
|
|
78
|
-
const
|
|
79
|
-
let
|
|
80
|
-
if (
|
|
81
|
-
const F =
|
|
82
|
-
|
|
83
|
-
...
|
|
78
|
+
const i = e.column.field, r = k(e.filter), n = x(i, e.filter), o = N();
|
|
79
|
+
let m = null;
|
|
80
|
+
if (n && o.filters.length > 0) {
|
|
81
|
+
const F = r.filters.map((h) => h === n ? o : h);
|
|
82
|
+
m = {
|
|
83
|
+
...r,
|
|
84
84
|
filters: F
|
|
85
85
|
};
|
|
86
|
-
} else if (
|
|
87
|
-
const F =
|
|
88
|
-
F.length && (
|
|
89
|
-
...
|
|
86
|
+
} else if (o.filters.length === 0) {
|
|
87
|
+
const F = r.filters.filter((h) => h !== n);
|
|
88
|
+
F.length && (m = {
|
|
89
|
+
...r,
|
|
90
90
|
filters: F
|
|
91
91
|
});
|
|
92
92
|
} else
|
|
93
|
-
|
|
94
|
-
...
|
|
95
|
-
filters: [...
|
|
93
|
+
m = {
|
|
94
|
+
...r,
|
|
95
|
+
filters: [...r.filters, o]
|
|
96
96
|
};
|
|
97
|
-
e.onFilterChange(
|
|
98
|
-
}, { column:
|
|
99
|
-
if (!
|
|
100
|
-
return /* @__PURE__ */
|
|
101
|
-
const
|
|
102
|
-
field:
|
|
103
|
-
value:
|
|
104
|
-
operator:
|
|
105
|
-
operators:
|
|
106
|
-
booleanValues:
|
|
107
|
-
onChange:
|
|
108
|
-
filterType:
|
|
109
|
-
},
|
|
110
|
-
field:
|
|
111
|
-
value:
|
|
112
|
-
operator:
|
|
113
|
-
operators:
|
|
114
|
-
booleanValues:
|
|
115
|
-
onChange:
|
|
116
|
-
filterType:
|
|
117
|
-
},
|
|
118
|
-
value:
|
|
119
|
-
onChange:
|
|
120
|
-
data:
|
|
121
|
-
},
|
|
122
|
-
firstFilterProps:
|
|
123
|
-
secondFilterProps:
|
|
97
|
+
e.onFilterChange(m, t), e.onCloseMenu && e.onCloseMenu();
|
|
98
|
+
}, { column: c, filterUI: ee, hideSecondFilter: V, filterOperators: te } = e, u = fe();
|
|
99
|
+
if (!c || !c.field)
|
|
100
|
+
return /* @__PURE__ */ l.createElement("div", null);
|
|
101
|
+
const C = $(c.filter), le = V !== void 0 ? V : Ce[C], d = s.filters, A = I(te[C], u), B = I(me, u), re = {
|
|
102
|
+
field: c.field,
|
|
103
|
+
value: d[0].value,
|
|
104
|
+
operator: d[0].operator,
|
|
105
|
+
operators: A,
|
|
106
|
+
booleanValues: B,
|
|
107
|
+
onChange: X,
|
|
108
|
+
filterType: C
|
|
109
|
+
}, ie = {
|
|
110
|
+
field: c.field,
|
|
111
|
+
value: d[1].value,
|
|
112
|
+
operator: d[1].operator,
|
|
113
|
+
operators: A,
|
|
114
|
+
booleanValues: B,
|
|
115
|
+
onChange: Y,
|
|
116
|
+
filterType: C
|
|
117
|
+
}, U = s.logic, w = I(ge, u), G = {
|
|
118
|
+
value: w.find((t) => t.operator === (U === null ? "" : U)),
|
|
119
|
+
onChange: Z,
|
|
120
|
+
data: w
|
|
121
|
+
}, S = ee, b = {
|
|
122
|
+
firstFilterProps: re,
|
|
123
|
+
secondFilterProps: ie,
|
|
124
124
|
logicData: G.data,
|
|
125
125
|
logicValue: G.value,
|
|
126
126
|
onLogicChange: G.onChange,
|
|
127
|
-
hideSecondFilter:
|
|
128
|
-
},
|
|
129
|
-
|
|
130
|
-
|
|
127
|
+
hideSecondFilter: le
|
|
128
|
+
}, _ = N().filters.length !== 0 || v(d[0].operator) || v(d[1].operator), z = T() ? e.expanded : p, H = e.alwaysExpand && !a.mobileMode, ne = () => {
|
|
129
|
+
M(!1);
|
|
130
|
+
}, oe = () => {
|
|
131
|
+
M(!1), e.onCloseMenu && e.onCloseMenu();
|
|
132
|
+
}, ae = `${u.toLanguageString(
|
|
133
|
+
j,
|
|
134
|
+
E[j]
|
|
135
|
+
)} ${c.title || c.field}`;
|
|
136
|
+
return /* @__PURE__ */ l.createElement(ce, null, !H && /* @__PURE__ */ l.createElement("div", { className: "k-expander" }, /* @__PURE__ */ l.createElement(
|
|
137
|
+
se,
|
|
131
138
|
{
|
|
132
|
-
title:
|
|
139
|
+
title: u.toLanguageString(q, E[q]),
|
|
133
140
|
iconClass: "k-i-filter",
|
|
134
|
-
svgIcon:
|
|
135
|
-
|
|
141
|
+
svgIcon: he,
|
|
142
|
+
expandable: !0,
|
|
143
|
+
expanded: !!z,
|
|
144
|
+
onClick: W
|
|
145
|
+
}
|
|
146
|
+
)), a.mobileMode && g ? /* @__PURE__ */ l.createElement(
|
|
147
|
+
Ee,
|
|
148
|
+
{
|
|
149
|
+
FilterUI: S,
|
|
150
|
+
filterUIProps: b,
|
|
151
|
+
onBackView: ne,
|
|
152
|
+
adaptiveTitle: ae,
|
|
153
|
+
handleClose: oe,
|
|
154
|
+
submit: O,
|
|
155
|
+
clear: P,
|
|
156
|
+
isFilterValid: _
|
|
136
157
|
}
|
|
137
|
-
)
|
|
158
|
+
) : /* @__PURE__ */ l.createElement(ue, { show: (H || !!z) && !a.mobileMode }, /* @__PURE__ */ l.createElement("form", { className: "k-filter-menu", onSubmit: O, onReset: P }, /* @__PURE__ */ l.createElement("div", { className: "k-filter-menu-container" }, S ? /* @__PURE__ */ l.createElement(S, { ...b }) : /* @__PURE__ */ l.createElement(Fe, { ...b }), /* @__PURE__ */ l.createElement("div", { className: "k-actions k-actions-stretched" }, /* @__PURE__ */ l.createElement(Q, { themeColor: "primary", disabled: !_ }, u.toLanguageString(J, E[J])), /* @__PURE__ */ l.createElement(Q, { type: "reset" }, u.toLanguageString(K, E[K])))))));
|
|
138
159
|
};
|
|
139
160
|
export {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
161
|
+
Oe as GridColumnMenuFilter,
|
|
162
|
+
x as filterGroupByField,
|
|
163
|
+
Ne as isColumnMenuFilterActive,
|
|
164
|
+
k as rootFilterOrDefault
|
|
144
165
|
};
|
|
@@ -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 b=require("react"),d=require("@progress/kendo-react-dropdowns"),s=require("@progress/kendo-react-inputs"),h=require("@progress/kendo-react-dateinputs"),c=require("../filterCommon.js"),p=require("../GridClientWrapper.js");function D(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const a in e)if(a!=="default"){const l=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,l.get?l:{enumerable:!0,get:()=>e[a]})}}return t.default=e,Object.freeze(t)}const r=D(b),v=e=>{const t=r.useContext(p.GridContext),a=()=>{if(e.filterType==="boolean")return;const n=e.operators.find(o=>o.operator===e.operator)||null;return r.createElement(d.DropDownList,{adaptive:t.adaptive,size:t.mobileMode?"large":"medium",value:n,onChange:m,data:e.operators,textField:"text"})},l=n=>{c.cellInputChange(n.value,n.syntheticEvent,e)},m=n=>{c.cellOperatorChange(n,e.value,e.onChange)},g=n=>{c.cellBoolDropdownChange(n,e.onChange)},C=(n,o,u)=>{switch(n){case"numeric":return r.createElement(s.NumericTextBox,{value:o,size:t.mobileMode?"large":"medium",onChange:l,rangeOnEnter:!1});case"date":return r.createElement(h.DatePicker,{value:o,size:t.mobileMode?"large":"medium",onChange:l});case"boolean":{const f=i=>i==null;return r.createElement(d.DropDownList,{adaptive:t.adaptive,onChange:g,size:t.mobileMode?"large":"medium",value:u.find(i=>i.operator===(f(o)?"":o)),data:u,textField:"text"})}default:return r.createElement(s.Input,{className:"k-input-lg",value:o||"",onChange:l})}};return r.createElement(r.Fragment,null,a(),C(e.filterType,e.value,e.booleanValues))};exports.GridColumnMenuFilterCell=v;
|
|
@@ -6,72 +6,75 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
import * as
|
|
10
|
-
import { DropDownList as
|
|
11
|
-
import { Input as
|
|
9
|
+
import * as n from "react";
|
|
10
|
+
import { DropDownList as m } from "@progress/kendo-react-dropdowns";
|
|
11
|
+
import { Input as s, NumericTextBox as h } from "@progress/kendo-react-inputs";
|
|
12
12
|
import { DatePicker as f } from "@progress/kendo-react-dateinputs";
|
|
13
|
-
import { cellOperatorChange as
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
import { cellOperatorChange as x, cellInputChange as p, cellBoolDropdownChange as E } from "../filterCommon.mjs";
|
|
14
|
+
import { GridContext as b } from "../GridClientWrapper.mjs";
|
|
15
|
+
const z = (e) => {
|
|
16
|
+
const r = n.useContext(b), c = () => {
|
|
16
17
|
if (e.filterType === "boolean")
|
|
17
18
|
return;
|
|
18
|
-
const
|
|
19
|
-
return /* @__PURE__ */
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
const t = e.operators.find((o) => o.operator === e.operator) || null;
|
|
20
|
+
return /* @__PURE__ */ n.createElement(
|
|
21
|
+
m,
|
|
22
|
+
{
|
|
23
|
+
adaptive: r.adaptive,
|
|
24
|
+
size: r.mobileMode ? "large" : "medium",
|
|
25
|
+
value: t,
|
|
26
|
+
onChange: d,
|
|
27
|
+
data: e.operators,
|
|
28
|
+
textField: "text"
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
}, l = (t) => {
|
|
32
|
+
p(t.value, t.syntheticEvent, e);
|
|
33
|
+
}, d = (t) => {
|
|
34
|
+
x(t, e.value, e.onChange);
|
|
35
|
+
}, u = (t) => {
|
|
36
|
+
E(t, e.onChange);
|
|
37
|
+
}, g = (t, o, i) => {
|
|
38
|
+
switch (t) {
|
|
28
39
|
case "numeric":
|
|
29
|
-
return /* @__PURE__ */
|
|
30
|
-
|
|
40
|
+
return /* @__PURE__ */ n.createElement(
|
|
41
|
+
h,
|
|
31
42
|
{
|
|
32
|
-
value:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
},
|
|
43
|
+
value: o,
|
|
44
|
+
size: r.mobileMode ? "large" : "medium",
|
|
45
|
+
onChange: l,
|
|
36
46
|
rangeOnEnter: !1
|
|
37
47
|
}
|
|
38
48
|
);
|
|
39
49
|
case "date":
|
|
40
|
-
return /* @__PURE__ */
|
|
50
|
+
return /* @__PURE__ */ n.createElement(
|
|
41
51
|
f,
|
|
42
52
|
{
|
|
43
|
-
value:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
53
|
+
value: o,
|
|
54
|
+
size: r.mobileMode ? "large" : "medium",
|
|
55
|
+
onChange: l
|
|
47
56
|
}
|
|
48
57
|
);
|
|
49
58
|
case "boolean": {
|
|
50
|
-
const
|
|
51
|
-
return /* @__PURE__ */
|
|
52
|
-
|
|
59
|
+
const C = (a) => a == null;
|
|
60
|
+
return /* @__PURE__ */ n.createElement(
|
|
61
|
+
m,
|
|
53
62
|
{
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
63
|
+
adaptive: r.adaptive,
|
|
64
|
+
onChange: u,
|
|
65
|
+
size: r.mobileMode ? "large" : "medium",
|
|
66
|
+
value: i.find((a) => a.operator === (C(o) ? "" : o)),
|
|
67
|
+
data: i,
|
|
57
68
|
textField: "text"
|
|
58
69
|
}
|
|
59
70
|
);
|
|
60
71
|
}
|
|
61
72
|
default:
|
|
62
|
-
return /* @__PURE__ */
|
|
63
|
-
C,
|
|
64
|
-
{
|
|
65
|
-
value: r || "",
|
|
66
|
-
onChange: (t) => {
|
|
67
|
-
l(t.target.value, t.syntheticEvent);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
);
|
|
73
|
+
return /* @__PURE__ */ n.createElement(s, { className: "k-input-lg", value: o || "", onChange: l });
|
|
71
74
|
}
|
|
72
75
|
};
|
|
73
|
-
return /* @__PURE__ */
|
|
76
|
+
return /* @__PURE__ */ n.createElement(n.Fragment, null, c(), g(e.filterType, e.value, e.booleanValues));
|
|
74
77
|
};
|
|
75
78
|
export {
|
|
76
|
-
|
|
79
|
+
z as GridColumnMenuFilterCell
|
|
77
80
|
};
|
|
@@ -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 s=require("react"),d=require("./GridColumnMenuFilterCell.js"),m=require("../GridClientWrapper.js"),u=require("@progress/kendo-react-buttons");function g(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const l=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,l.get?l:{enumerable:!0,get:()=>t[n]})}}return r.default=t,Object.freeze(r)}const e=g(s),p=t=>{const{firstFilterProps:r,hideSecondFilter:n,secondFilterProps:l,logicValue:o,onLogicChange:i}=t,c=e.useContext(m.GridContext),a=(o==null?void 0:o.operator)==="and";return e.createElement(e.Fragment,null,e.createElement(d.GridColumnMenuFilterCell,{...r}),!n&&e.createElement(e.Fragment,null,e.createElement(u.ButtonGroup,null,e.createElement(u.Button,{type:"button",value:"and",size:c.mobileMode?"large":"medium",togglable:!0,selected:a,onClick:i},"And"),e.createElement(u.Button,{type:"button",value:"or",size:c.mobileMode?"large":"medium",togglable:!0,selected:!a,onClick:i},"Or")),e.createElement(d.GridColumnMenuFilterCell,{...l})))};exports.GridColumnMenuFilterUI=p;
|
|
@@ -7,21 +7,35 @@
|
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
9
|
import * as e from "react";
|
|
10
|
-
import { GridColumnMenuFilterCell as
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
import { GridColumnMenuFilterCell as l } from "./GridColumnMenuFilterCell.mjs";
|
|
11
|
+
import { GridContext as d } from "../GridClientWrapper.mjs";
|
|
12
|
+
import { ButtonGroup as s, Button as m } from "@progress/kendo-react-buttons";
|
|
13
|
+
const E = (i) => {
|
|
14
|
+
const { firstFilterProps: a, hideSecondFilter: c, secondFilterProps: u, logicValue: t, onLogicChange: r } = i, o = e.useContext(d), n = (t == null ? void 0 : t.operator) === "and";
|
|
15
|
+
return /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(l, { ...a }), !c && /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(s, null, /* @__PURE__ */ e.createElement(
|
|
16
|
+
m,
|
|
16
17
|
{
|
|
17
|
-
|
|
18
|
-
value:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
type: "button",
|
|
19
|
+
value: "and",
|
|
20
|
+
size: o.mobileMode ? "large" : "medium",
|
|
21
|
+
togglable: !0,
|
|
22
|
+
selected: n,
|
|
23
|
+
onClick: r
|
|
24
|
+
},
|
|
25
|
+
"And"
|
|
26
|
+
), /* @__PURE__ */ e.createElement(
|
|
27
|
+
m,
|
|
28
|
+
{
|
|
29
|
+
type: "button",
|
|
30
|
+
value: "or",
|
|
31
|
+
size: o.mobileMode ? "large" : "medium",
|
|
32
|
+
togglable: !0,
|
|
33
|
+
selected: !n,
|
|
34
|
+
onClick: r
|
|
35
|
+
},
|
|
36
|
+
"Or"
|
|
37
|
+
)), /* @__PURE__ */ e.createElement(l, { ...u })));
|
|
24
38
|
};
|
|
25
39
|
export {
|
|
26
|
-
|
|
40
|
+
E as GridColumnMenuFilterUI
|
|
27
41
|
};
|
|
@@ -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"),i=require("@progress/kendo-react-common"),p=require("../GridClientWrapper.js"),a=require("@progress/kendo-svg-icons");function f(n){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(c,e,o.get?o:{enumerable:!0,get:()=>n[e]})}}return c.default=n,Object.freeze(c)}const r=f(d),I=n=>{const{title:c,iconClass:e,svgIcon:o,selected:u,expandable:s,expanded:m}=n,t=r.useContext(p.GridContext);let l;return s&&(t!=null&&t.mobileMode?l=(t==null?void 0:t.dir)==="rtl"?a.chevronLeftIcon:a.chevronRightIcon:l=m?a.chevronUpIcon:a.chevronDownIcon),r.createElement("div",{onClick:n.onClick,className:`k-columnmenu-item ${u?"k-selected":""}`},(e||o)&&r.createElement(i.IconWrap,{name:e&&i.toIconName(e),icon:o}),c,r.createElement("span",{className:"k-spacer"}),s&&r.createElement(i.IconWrap,{icon:l}))};exports.GridColumnMenuItem=I;
|
|
@@ -6,12 +6,15 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
import * as
|
|
10
|
-
import { IconWrap as
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
import * as o from "react";
|
|
10
|
+
import { IconWrap as a, toIconName as p } from "@progress/kendo-react-common";
|
|
11
|
+
import { GridContext as I } from "../GridClientWrapper.mjs";
|
|
12
|
+
import { chevronLeftIcon as d, chevronRightIcon as v, chevronDownIcon as f, chevronUpIcon as h } from "@progress/kendo-svg-icons";
|
|
13
|
+
const C = (t) => {
|
|
14
|
+
const { title: l, iconClass: n, svgIcon: m, selected: i, expandable: r, expanded: s } = t, e = o.useContext(I);
|
|
15
|
+
let c;
|
|
16
|
+
return r && (e != null && e.mobileMode ? c = (e == null ? void 0 : e.dir) === "rtl" ? d : v : c = s ? h : f), /* @__PURE__ */ o.createElement("div", { onClick: t.onClick, className: `k-columnmenu-item ${i ? "k-selected" : ""}` }, (n || m) && /* @__PURE__ */ o.createElement(a, { name: n && p(n), icon: m }), l, /* @__PURE__ */ o.createElement("span", { className: "k-spacer" }), r && /* @__PURE__ */ o.createElement(a, { icon: c }));
|
|
14
17
|
};
|
|
15
18
|
export {
|
|
16
|
-
|
|
19
|
+
C as GridColumnMenuItem
|
|
17
20
|
};
|
|
@@ -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"),W=require("@progress/kendo-react-popup"),a=require("@progress/kendo-react-common"),B=require("@progress/kendo-svg-icons"),h=require("../messages/index.js"),_=require("@progress/kendo-react-intl"),j=require("../GridClientWrapper.js"),z=require("./adaptiveContext/GridColumnMenuAdaptiveContext.js"),$=require("./adaptiveContent/GridAdaptiveColumnMenu.js");function F(t){const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const c in t)if(c!=="default"){const s=Object.getOwnPropertyDescriptor(t,c);Object.defineProperty(u,c,s.get?s:{enumerable:!0,get:()=>t[c]})}}return u.default=t,Object.freeze(u)}const n=F(N),L=[".k-columnmenu-item-content",".k-filter-menu-container"].map(t=>a.TABBABLE_ELEMENTS.map(u=>`${t} ${u}`)),V=[[".k-tabstrip-items"],[".k-columnmenu-item"],...L],H=t=>{const u=n.useContext(j.GridContext),[c,s]=n.useState(!1),i=n.useRef(null),m=n.useRef(null),l=n.useRef(null),M=n.useRef(0),{columnMenu:d,...C}=t,{column:b,columnMenuIcon:E,navigatable:p}=t,w=_.useLocalization(),k=b.title||b.field,y=k?`${k} `:"",D="#",S=e=>{const o=a.getActiveElement(document);clearTimeout(M.current),M.current=window.setTimeout(()=>{!u.mobileMode&&o&&e.relatedTarget!==i.current&&m.current&&!m.current.contains(o)&&f()})},T=()=>{clearTimeout(M.current)},q=e=>{e.preventDefault(),c&&t.onCloseMenu&&t.onCloseMenu(),s(!c)},f=()=>{t.onCloseMenu&&t.onCloseMenu(),s(!1),!t.navigatable&&i.current&&i.current.focus()},A=e=>{var o;if(e.keyCode===a.Keys.tab){const r=e.target,v=r&&((o=r.closest(".k-grid"))==null?void 0:o.getElementsByClassName("k-grid-content")[0]);v&&v.scrollWidth>v.clientWidth&&r.scrollIntoView({inline:"center"})}},g=n.useMemo(()=>t.show!==void 0?t.show:c,[t.show,c]),I=e=>{var o;(o=l.current)==null||o.triggerKeyboardEvent(e)},R=e=>{var o;(o=l.current)==null||o.triggerMouseEvent(e)},x=(e,o,r)=>{r.preventDefault(),r.shiftKey?o.focusPrevious(e):o.focusNext(e)},G=(e,o,r)=>{e&&(r.preventDefault(),e.click())},O=(e,o,r)=>{r.preventDefault(),f()},P=(e,o,r)=>{o.focusElement(e)},K=e=>{!e.isAnchorClicked&&s(!1)};return n.useEffect(()=>(g&&m.current&&(l.current=new a.Navigation({tabIndex:0,root:m,selectors:V,keyboardEvents:{keydown:{Tab:x,Enter:G,Escape:O}},mouseEvents:{mousedown:P}}),l.current.focusElement(l.current.first,null)),()=>{l.current&&(l.current=null)}),[g]),n.createElement(n.Fragment,null,n.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:i,onClick:q,onKeyDown:A,href:D,tabIndex:p?-1:void 0,"aria-label":`${p?"":y}${w.toLanguageString(h.columnMenu,h.messages[h.columnMenu])}`},E?n.createElement(a.IconWrap,{name:E.name,icon:E}):n.createElement(a.IconWrap,{name:"more-vertical",icon:B.moreVerticalIcon})),n.createElement(z.GridColumnMenuAdaptiveProvider,null,u.mobileMode?n.createElement($.GridAdaptiveColumnMenu,{computedShow:g,ColumnMenu:d,closeMenu:f},d&&n.createElement(d,{...C,onCloseMenu:f})):n.createElement(W.Popup,{anchor:i.current,show:g,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:K},n.createElement("div",{ref:m,onBlur:S,onFocus:T,onMouseDown:R,onKeyDown:I,className:"k-column-menu k-column-menu-md"},d&&n.createElement(d,{...C,onCloseMenu:f})))))};exports.GridColumnMenuWrapper=H;
|