@progress/kendo-react-grid 14.5.0-develop.7 → 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.
@@ -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 o=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(o,c,g.get?g:{enumerable:!0,get:()=>e[c]})}}return o.default=e,Object.freeze(o)}const l=de(le),E=e=>e||{filters:[],logic:"and"},h=(e,o)=>E(o).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,o)=>!!h(e,o),me=e=>{const o=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(a=>({...a}))}:{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(a=>a.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,b]=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),b(!M),!t&&!o.mobileMode&&C(n)},H=t=>{T(0,t)},$=t=>{T(1,t)},T=(t,n)=>{const r=d.filters.map((a,s)=>s===t?{...a,value:n.value,operator:n.operator}:a);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=E(e.filter),a=h(n,e.filter),s=r.filters.filter(v=>v!==a);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&&t.operator)}),y=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=e.column.field,r=E(e.filter),a=h(n,e.filter),s=B();let v=null;if(a&&s.filters.length>0){const G=r.filters.map(x=>x===a?s:x);v={...r,filters:G}}else if(s.filters.length===0){const G=r.filters.filter(x=>x!==a);G.length&&(v={...r,filters:G})}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 p=i.getFilterType(f.filter),W=P!==void 0?P:i.defaultHideSecondFilter[p],F=d.filters,L=i.operatorMap(K[p],m),U=i.operatorMap(i.booleanFilterValues,m),X={field:f.field,value:F[0].value,operator:F[0].operator,operators:L,booleanValues:U,onChange:H,filterType:p},Y={field:f.field,value:F[1].value,operator:F[1].operator,operators:L,booleanValues:U,onChange:$,filterType:p},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&&!o.mobileMode,Z=()=>{b(!1)},ee=()=>{b(!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})),o.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||!!_)&&!o.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=E;
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 v, operatorMap as y, defaultHideSecondFilter as me, filterLogicList as ge, booleanFilterValues as Ce } from "../filterCommon.mjs";
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" }, p = (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) => !!p(e, a), Oe = (e) => {
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 i = $(e.column.filter), r = de(e.filterOperators, i);
27
- t = p(e.column.field, e.filter), t = 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((n) => ({ ...n }))
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: v(r) ? null : void 0
36
+ value: C(r) ? null : void 0
37
37
  },
38
38
  {
39
39
  field: e.column.field,
40
40
  operator: r,
41
- value: v(r) ? null : void 0
41
+ value: C(r) ? null : void 0
42
42
  }
43
43
  ]
44
- }, t.filters.filter((n) => n.field === e.column.field).length === 1 && t.filters.splice(1, 0, { field: e.column.field, operator: r });
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]), [x, f] = l.useState(e.expanded || !1), [g, M] = l.useState(!1), [c, T] = l.useState(L()), D = () => e.expanded !== void 0, W = () => {
48
- const t = D(), i = !(t ? e.expanded : x);
49
- e.onExpandChange && e.onExpandChange(i), M(!g), !t && !a.mobileMode && f(i);
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, i) => {
55
- const r = c.filters.map((n, o) => o === t ? {
56
- ...n,
57
- value: i.value,
58
- operator: i.operator
59
- } : n);
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 i = t.target.value;
66
- t.target.tagName === "SPAN" && (i = t.target.parentElement.value), T({ ...c, logic: i });
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 i = e.column.field, r = I(e.filter), n = p(i, e.filter), o = r.filters.filter((m) => m !== n);
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 i = e.column.field, r = I(e.filter), n = p(i, e.filter), o = O();
83
+ const n = e.column.field, r = I(e.filter), i = x(n, e.filter), o = O();
79
84
  let m = null;
80
- if (n && o.filters.length > 0) {
81
- const F = r.filters.map((h) => h === n ? o : h);
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: F
89
+ filters: h
85
90
  };
86
91
  } else if (o.filters.length === 0) {
87
- const F = r.filters.filter((h) => h !== n);
88
- F.length && (m = {
92
+ const h = r.filters.filter((v) => v !== i);
93
+ h.length && (m = {
89
94
  ...r,
90
- filters: F
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 C = $(s.filter), le = V !== void 0 ? V : me[C], d = c.filters, A = y(te[C], u), B = y(Ce, u), re = {
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: C
109
- }, ie = {
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: C
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: ie,
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 || v(d[0].operator) || v(d[1].operator), z = D() ? e.expanded : x, H = e.alwaysExpand && !a.mobileMode, ne = () => {
129
- M(!1);
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
- M(!1), e.onCloseMenu && e.onCloseMenu();
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: ne,
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
- p as filterGroupByField,
167
+ x as filterGroupByField,
163
168
  Ne as isColumnMenuFilterActive,
164
169
  I as rootFilterOrDefault
165
170
  };