@progress/kendo-react-grid 14.5.0-develop.6 → 14.5.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/columnMenu/GridColumnMenuFilter.js +1 -1
- package/columnMenu/GridColumnMenuFilter.mjs +43 -38
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/filterCommon.js +1 -1
- package/filterCommon.mjs +40 -40
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +17 -17
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const le=require("react"),w=require("@progress/kendo-data-query"),re=require("./GridColumnMenuItem.js"),ne=require("./GridColumnMenuItemGroup.js"),ie=require("./GridColumnMenuItemContent.js"),oe=require("@progress/kendo-react-intl"),i=require("../filterCommon.js"),u=require("../messages/index.js"),ae=require("./GridColumnMenuFilterUI.js"),R=require("@progress/kendo-react-buttons"),ue=require("@progress/kendo-svg-icons"),se=require("../utils/GridContext.js"),ce=require("./adaptiveContent/GridAdaptiveFilterMenu.js");function de(e){const
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const le=require("react"),w=require("@progress/kendo-data-query"),re=require("./GridColumnMenuItem.js"),ne=require("./GridColumnMenuItemGroup.js"),ie=require("./GridColumnMenuItemContent.js"),oe=require("@progress/kendo-react-intl"),i=require("../filterCommon.js"),u=require("../messages/index.js"),ae=require("./GridColumnMenuFilterUI.js"),R=require("@progress/kendo-react-buttons"),ue=require("@progress/kendo-svg-icons"),se=require("../utils/GridContext.js"),ce=require("./adaptiveContent/GridAdaptiveFilterMenu.js");function de(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const c in e)if(c!=="default"){const g=Object.getOwnPropertyDescriptor(e,c);Object.defineProperty(a,c,g.get?g:{enumerable:!0,get:()=>e[c]})}}return a.default=e,Object.freeze(a)}const l=de(le),b=e=>e||{filters:[],logic:"and"},h=(e,a)=>b(a).filters.filter(C=>w.isCompositeFilterDescriptor(C)?C.filters&&C.filters.length&&!C.filters.find(M=>w.isCompositeFilterDescriptor(M)||M.field!==e):!1)[0]||null,fe=(e,a)=>!!h(e,a),me=e=>{const a=l.useContext(se.GridContext),c=l.useCallback(()=>{let t;if(e.column&&e.column.field){const n=i.getFilterType(e.column.filter),r=i.getDefaultOperator(e.filterOperators,n);t=h(e.column.field,e.filter),t=t?{...t,filters:t.filters.map(o=>({...o}))}:{logic:"and",filters:[{field:e.column.field,operator:r,value:i.IsUnaryFilter(r)?null:void 0},{field:e.column.field,operator:r,value:i.IsUnaryFilter(r)?null:void 0}]},t.filters.filter(o=>o.field===e.column.field).length===1&&t.filters.splice(1,0,{field:e.column.field,operator:r})}return t},[e.column]),[g,C]=l.useState(e.expanded||!1),[M,p]=l.useState(!1),[d,q]=l.useState(c()),O=()=>e.expanded!==void 0,z=()=>{const t=O(),n=!(t?e.expanded:g);e.onExpandChange&&e.onExpandChange(n),p(!M),!t&&!a.mobileMode&&C(n)},H=t=>{T(0,t)},$=t=>{T(1,t)},T=(t,n)=>{const r=d.filters.map((o,s)=>s===t?{...o,value:n.value,operator:n.operator}:o);q({...d,filters:r})},Q=t=>{let n=t.target.value;t.target.tagName==="SPAN"&&(n=t.target.parentElement.value),q({...d,logic:n})},D=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=e.column.field,r=b(e.filter),o=h(n,e.filter);if(!o){e.onCloseMenu&&e.onCloseMenu();return}const s=r.filters.filter(v=>v!==o);s.length?e.onFilterChange({...r,filters:s},t):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()},B=()=>({...d,filters:d.filters.filter(t=>t.value!==void 0&&t.value!==null&&t.value!==""||t.value===null&&i.IsUnaryFilter(t.operator))}),y=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=e.column.field,r=b(e.filter),o=h(n,e.filter),s=B();let v=null;if(o&&s.filters.length>0){const x=r.filters.map(E=>E===o?s:E);v={...r,filters:x}}else if(s.filters.length===0){const x=r.filters.filter(E=>E!==o);x.length&&(v={...r,filters:x})}else v={...r,filters:[...r.filters,s]};e.onFilterChange(v,t),e.onCloseMenu&&e.onCloseMenu()},{column:f,filterUI:J,hideSecondFilter:P,filterOperators:K}=e,m=oe.useLocalization();if(!f||!f.field)return l.createElement("div",null);const G=i.getFilterType(f.filter),W=P!==void 0?P:i.defaultHideSecondFilter[G],F=d.filters,U=i.operatorMap(K[G],m),L=i.operatorMap(i.booleanFilterValues,m),X={field:f.field,value:F[0].value,operator:F[0].operator,operators:U,booleanValues:L,onChange:H,filterType:G},Y={field:f.field,value:F[1].value,operator:F[1].operator,operators:U,booleanValues:L,onChange:$,filterType:G},A=d.logic,N=i.operatorMap(i.filterLogicList,m),S={value:N.find(t=>t.operator===(A===null?"":A)),onChange:Q,data:N},I=J,k={firstFilterProps:X,secondFilterProps:Y,logicData:S.data,logicValue:S.value,onLogicChange:S.onChange,hideSecondFilter:W},V=B().filters.length!==0||i.IsUnaryFilter(F[0].operator)||i.IsUnaryFilter(F[1].operator),_=O()?e.expanded:g,j=e.alwaysExpand&&!a.mobileMode,Z=()=>{p(!1)},ee=()=>{p(!1),e.onCloseMenu&&e.onCloseMenu()},te=`${m.toLanguageString(u.adaptiveColumnMenuFilterTitle,u.messages[u.adaptiveColumnMenuFilterTitle])} ${f.title||f.field}`;return l.createElement(ne.GridColumnMenuItemGroup,null,!j&&l.createElement("div",{className:"k-expander"},l.createElement(re.GridColumnMenuItem,{title:m.toLanguageString(u.filterTitle,u.messages[u.filterTitle]),iconClass:"k-i-filter",svgIcon:ue.filterIcon,expandable:!0,expanded:!!_,onClick:z})),a.mobileMode&&M?l.createElement(ce.GridAdaptiveFilterMenu,{FilterUI:I,filterUIProps:k,onBackView:Z,adaptiveTitle:te,handleClose:ee,submit:y,clear:D,isFilterValid:V}):l.createElement(ie.GridColumnMenuItemContent,{show:(j||!!_)&&!a.mobileMode},l.createElement("form",{className:"k-filter-menu",onSubmit:y,onReset:D},l.createElement("div",{className:"k-filter-menu-container"},I?l.createElement(I,{...k}):l.createElement(ae.GridColumnMenuFilterUI,{...k}),l.createElement("div",{className:"k-actions k-actions-stretched"},l.createElement(R.Button,{type:"button",themeColor:"primary",disabled:!V,onClick:y},m.toLanguageString(u.filterSubmitButton,u.messages[u.filterSubmitButton])),l.createElement(R.Button,{type:"reset"},m.toLanguageString(u.filterClearButton,u.messages[u.filterClearButton])))))))};exports.GridColumnMenuFilter=me;exports.filterGroupByField=h;exports.isColumnMenuFilterActive=fe;exports.rootFilterOrDefault=b;
|
|
@@ -12,82 +12,87 @@ import { GridColumnMenuItem as ce } from "./GridColumnMenuItem.mjs";
|
|
|
12
12
|
import { GridColumnMenuItemGroup as se } from "./GridColumnMenuItemGroup.mjs";
|
|
13
13
|
import { GridColumnMenuItemContent as ue } from "./GridColumnMenuItemContent.mjs";
|
|
14
14
|
import { useLocalization as fe } from "@progress/kendo-react-intl";
|
|
15
|
-
import { getFilterType as $, getDefaultOperator as de, IsUnaryFilter as
|
|
15
|
+
import { getFilterType as $, getDefaultOperator as de, IsUnaryFilter as C, operatorMap as y, defaultHideSecondFilter as me, filterLogicList as ge, booleanFilterValues as Ce } from "../filterCommon.mjs";
|
|
16
16
|
import { adaptiveColumnMenuFilterTitle as j, messages as E, filterTitle as q, filterSubmitButton as J, filterClearButton as K } from "../messages/index.mjs";
|
|
17
17
|
import { GridColumnMenuFilterUI as Fe } from "./GridColumnMenuFilterUI.mjs";
|
|
18
18
|
import { Button as Q } from "@progress/kendo-react-buttons";
|
|
19
19
|
import { filterIcon as he } from "@progress/kendo-svg-icons";
|
|
20
20
|
import { GridContext as ve } from "../utils/GridContext.mjs";
|
|
21
21
|
import { GridAdaptiveFilterMenu as Ee } from "./adaptiveContent/GridAdaptiveFilterMenu.mjs";
|
|
22
|
-
const I = (e) => e || { filters: [], logic: "and" },
|
|
22
|
+
const I = (e) => e || { filters: [], logic: "and" }, x = (e, a) => I(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
23
|
const a = l.useContext(ve), L = l.useCallback(() => {
|
|
24
24
|
let t;
|
|
25
25
|
if (e.column && e.column.field) {
|
|
26
|
-
const
|
|
27
|
-
t =
|
|
26
|
+
const n = $(e.column.filter), r = de(e.filterOperators, n);
|
|
27
|
+
t = x(e.column.field, e.filter), t = t ? {
|
|
28
28
|
...t,
|
|
29
|
-
filters: t.filters.map((
|
|
29
|
+
filters: t.filters.map((i) => ({ ...i }))
|
|
30
30
|
} : {
|
|
31
31
|
logic: "and",
|
|
32
32
|
filters: [
|
|
33
33
|
{
|
|
34
34
|
field: e.column.field,
|
|
35
35
|
operator: r,
|
|
36
|
-
value:
|
|
36
|
+
value: C(r) ? null : void 0
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
field: e.column.field,
|
|
40
40
|
operator: r,
|
|
41
|
-
value:
|
|
41
|
+
value: C(r) ? null : void 0
|
|
42
42
|
}
|
|
43
43
|
]
|
|
44
|
-
}, t.filters.filter((
|
|
44
|
+
}, t.filters.filter((i) => i.field === e.column.field).length === 1 && t.filters.splice(1, 0, { field: e.column.field, operator: r });
|
|
45
45
|
}
|
|
46
46
|
return t;
|
|
47
|
-
}, [e.column]), [
|
|
48
|
-
const t = D(),
|
|
49
|
-
e.onExpandChange && e.onExpandChange(
|
|
47
|
+
}, [e.column]), [M, f] = l.useState(e.expanded || !1), [g, p] = l.useState(!1), [c, T] = l.useState(L()), D = () => e.expanded !== void 0, W = () => {
|
|
48
|
+
const t = D(), n = !(t ? e.expanded : M);
|
|
49
|
+
e.onExpandChange && e.onExpandChange(n), p(!g), !t && !a.mobileMode && f(n);
|
|
50
50
|
}, X = (t) => {
|
|
51
51
|
P(0, t);
|
|
52
52
|
}, Y = (t) => {
|
|
53
53
|
P(1, t);
|
|
54
|
-
}, P = (t,
|
|
55
|
-
const r = c.filters.map((
|
|
56
|
-
...
|
|
57
|
-
value:
|
|
58
|
-
operator:
|
|
59
|
-
} :
|
|
54
|
+
}, P = (t, n) => {
|
|
55
|
+
const r = c.filters.map((i, o) => o === t ? {
|
|
56
|
+
...i,
|
|
57
|
+
value: n.value,
|
|
58
|
+
operator: n.operator
|
|
59
|
+
} : i);
|
|
60
60
|
T({
|
|
61
61
|
...c,
|
|
62
62
|
filters: r
|
|
63
63
|
});
|
|
64
64
|
}, Z = (t) => {
|
|
65
|
-
let
|
|
66
|
-
t.target.tagName === "SPAN" && (
|
|
65
|
+
let n = t.target.value;
|
|
66
|
+
t.target.tagName === "SPAN" && (n = t.target.parentElement.value), T({ ...c, logic: n });
|
|
67
67
|
}, N = (t) => {
|
|
68
68
|
if (t.preventDefault(), !e.onFilterChange)
|
|
69
69
|
return;
|
|
70
|
-
const
|
|
70
|
+
const n = e.column.field, r = I(e.filter), i = x(n, e.filter);
|
|
71
|
+
if (!i) {
|
|
72
|
+
e.onCloseMenu && e.onCloseMenu();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const o = r.filters.filter((m) => m !== i);
|
|
71
76
|
o.length ? e.onFilterChange({ ...r, filters: o }, t) : e.onFilterChange(null, t), e.onCloseMenu && e.onCloseMenu();
|
|
72
77
|
}, O = () => ({
|
|
73
78
|
...c,
|
|
74
|
-
filters: c.filters.filter((t) => t.value !== void 0 && t.value !== null && t.value !== "" || t.value === null && t.operator)
|
|
79
|
+
filters: c.filters.filter((t) => t.value !== void 0 && t.value !== null && t.value !== "" || t.value === null && C(t.operator))
|
|
75
80
|
}), G = (t) => {
|
|
76
81
|
if (t.preventDefault(), !e.onFilterChange)
|
|
77
82
|
return;
|
|
78
|
-
const
|
|
83
|
+
const n = e.column.field, r = I(e.filter), i = x(n, e.filter), o = O();
|
|
79
84
|
let m = null;
|
|
80
|
-
if (
|
|
81
|
-
const
|
|
85
|
+
if (i && o.filters.length > 0) {
|
|
86
|
+
const h = r.filters.map((v) => v === i ? o : v);
|
|
82
87
|
m = {
|
|
83
88
|
...r,
|
|
84
|
-
filters:
|
|
89
|
+
filters: h
|
|
85
90
|
};
|
|
86
91
|
} else if (o.filters.length === 0) {
|
|
87
|
-
const
|
|
88
|
-
|
|
92
|
+
const h = r.filters.filter((v) => v !== i);
|
|
93
|
+
h.length && (m = {
|
|
89
94
|
...r,
|
|
90
|
-
filters:
|
|
95
|
+
filters: h
|
|
91
96
|
});
|
|
92
97
|
} else
|
|
93
98
|
m = {
|
|
@@ -98,37 +103,37 @@ const I = (e) => e || { filters: [], logic: "and" }, p = (e, a) => I(a).filters.
|
|
|
98
103
|
}, { column: s, filterUI: ee, hideSecondFilter: V, filterOperators: te } = e, u = fe();
|
|
99
104
|
if (!s || !s.field)
|
|
100
105
|
return /* @__PURE__ */ l.createElement("div", null);
|
|
101
|
-
const
|
|
106
|
+
const F = $(s.filter), le = V !== void 0 ? V : me[F], d = c.filters, A = y(te[F], u), B = y(Ce, u), re = {
|
|
102
107
|
field: s.field,
|
|
103
108
|
value: d[0].value,
|
|
104
109
|
operator: d[0].operator,
|
|
105
110
|
operators: A,
|
|
106
111
|
booleanValues: B,
|
|
107
112
|
onChange: X,
|
|
108
|
-
filterType:
|
|
109
|
-
},
|
|
113
|
+
filterType: F
|
|
114
|
+
}, ne = {
|
|
110
115
|
field: s.field,
|
|
111
116
|
value: d[1].value,
|
|
112
117
|
operator: d[1].operator,
|
|
113
118
|
operators: A,
|
|
114
119
|
booleanValues: B,
|
|
115
120
|
onChange: Y,
|
|
116
|
-
filterType:
|
|
121
|
+
filterType: F
|
|
117
122
|
}, U = c.logic, w = y(ge, u), S = {
|
|
118
123
|
value: w.find((t) => t.operator === (U === null ? "" : U)),
|
|
119
124
|
onChange: Z,
|
|
120
125
|
data: w
|
|
121
126
|
}, b = ee, k = {
|
|
122
127
|
firstFilterProps: re,
|
|
123
|
-
secondFilterProps:
|
|
128
|
+
secondFilterProps: ne,
|
|
124
129
|
logicData: S.data,
|
|
125
130
|
logicValue: S.value,
|
|
126
131
|
onLogicChange: S.onChange,
|
|
127
132
|
hideSecondFilter: le
|
|
128
|
-
}, _ = O().filters.length !== 0 ||
|
|
129
|
-
|
|
133
|
+
}, _ = O().filters.length !== 0 || C(d[0].operator) || C(d[1].operator), z = D() ? e.expanded : M, H = e.alwaysExpand && !a.mobileMode, ie = () => {
|
|
134
|
+
p(!1);
|
|
130
135
|
}, oe = () => {
|
|
131
|
-
|
|
136
|
+
p(!1), e.onCloseMenu && e.onCloseMenu();
|
|
132
137
|
}, ae = `${u.toLanguageString(
|
|
133
138
|
j,
|
|
134
139
|
E[j]
|
|
@@ -148,7 +153,7 @@ const I = (e) => e || { filters: [], logic: "and" }, p = (e, a) => I(a).filters.
|
|
|
148
153
|
{
|
|
149
154
|
FilterUI: b,
|
|
150
155
|
filterUIProps: k,
|
|
151
|
-
onBackView:
|
|
156
|
+
onBackView: ie,
|
|
152
157
|
adaptiveTitle: ae,
|
|
153
158
|
handleClose: oe,
|
|
154
159
|
submit: G,
|
|
@@ -159,7 +164,7 @@ const I = (e) => e || { filters: [], logic: "and" }, p = (e, a) => I(a).filters.
|
|
|
159
164
|
};
|
|
160
165
|
export {
|
|
161
166
|
Oe as GridColumnMenuFilter,
|
|
162
|
-
|
|
167
|
+
x as filterGroupByField,
|
|
163
168
|
Ne as isColumnMenuFilterActive,
|
|
164
169
|
I as rootFilterOrDefault
|
|
165
170
|
};
|