@progress/kendo-react-grid 10.3.0-develop.1 → 11.0.0-develop.2

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.
Files changed (34) hide show
  1. package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
  2. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +125 -95
  3. package/columnMenu/GridColumnMenuColumnsChooser.js +1 -1
  4. package/columnMenu/GridColumnMenuColumnsChooser.mjs +104 -58
  5. package/columnMenu/GridColumnMenuFilter.js +1 -1
  6. package/columnMenu/GridColumnMenuFilter.mjs +119 -97
  7. package/columnMenu/GridColumnMenuFilterCell.js +1 -1
  8. package/columnMenu/GridColumnMenuFilterCell.mjs +47 -44
  9. package/columnMenu/GridColumnMenuFilterUI.js +1 -1
  10. package/columnMenu/GridColumnMenuFilterUI.mjs +28 -14
  11. package/columnMenu/GridColumnMenuItem.js +1 -1
  12. package/columnMenu/GridColumnMenuItem.mjs +9 -6
  13. package/columnMenu/GridColumnMenuWrapper.js +1 -1
  14. package/columnMenu/GridColumnMenuWrapper.mjs +68 -71
  15. package/columnMenu/adaptiveContent/GridActionSheetFooter.js +9 -0
  16. package/columnMenu/adaptiveContent/GridActionSheetFooter.mjs +24 -0
  17. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.js +9 -0
  18. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.mjs +73 -0
  19. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.js +9 -0
  20. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.mjs +84 -0
  21. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.js +9 -0
  22. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.mjs +66 -0
  23. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.js +9 -0
  24. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.mjs +67 -0
  25. package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.js +9 -0
  26. package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.mjs +17 -0
  27. package/dist/cdn/js/kendo-react-grid.js +1 -1
  28. package/index.d.mts +34 -3
  29. package/index.d.ts +34 -3
  30. package/messages/index.js +1 -1
  31. package/messages/index.mjs +78 -62
  32. package/package-metadata.js +1 -1
  33. package/package-metadata.mjs +2 -2
  34. package/package.json +16 -16
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const J=require("react"),K=require("./GridColumnMenuItem.js"),U=require("./GridColumnMenuItemGroup.js"),X=require("./GridColumnMenuItemContent.js"),b=require("@progress/kendo-react-inputs"),Y=require("@progress/kendo-react-intl"),r=require("../messages/index.js"),D=require("@progress/kendo-data-query"),G=require("@progress/kendo-react-common"),v=require("@progress/kendo-react-buttons"),L=require("../utils/index.js"),F=require("@progress/kendo-svg-icons");function Z(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const m in e)if(m!=="default"){const f=Object.getOwnPropertyDescriptor(e,m);Object.defineProperty(s,m,f.get?f:{enumerable:!0,get:()=>e[m]})}}return s.default=e,Object.freeze(s)}const l=Z(J),p=(e,s)=>e.length!==s.length?!1:e.every((m,f)=>m===s[f]),ee={uniqueData:!0},te=e=>{const{uniqueData:s=ee.uniqueData}=e,m=()=>{const t=e.column.field;return S().filters.findIndex(i=>i.filters&&i.filters.length>0&&i.filters[0].field===t)},f=(t,n)=>{const c=e.column.field||"",i=t.map(o=>L.getNestedValue(c,o));return n?i.filter((o,u)=>i.indexOf(o)===u):i},S=()=>e.filter?G.clone(e.filter):{filters:[],logic:"and"},a=l.useRef(m()),[I,P]=l.useState(e.expanded||!1),[B,q]=l.useState(""),[h,C]=l.useState(f(e.data,s)||[]),[R,w]=l.useState(f(e.data,!1)||[]),[d,V]=l.useState(S());l.useEffect(()=>{const t=e.column.field||"",n=e.data.map(c=>L.getNestedValue(t,c));p(n,R)||(C(n),w(n))},[e.column,e.data]);const y=()=>e.expanded!==void 0,j=()=>{const t=y(),n=!(t?e.expanded:I);e.onExpandChange&&e.onExpandChange(n),t||P(n)},N=t=>{const n=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",c={logic:"and",filters:[{field:e.column.field,operator:n,value:t.target.value,ignoreCase:!0}]};q(t.target.value),C(f(D.filterBy(e.data||[],c),s))},A=()=>{const t=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",n={logic:"and",filters:[{field:e.column.field,operator:t,value:"",ignoreCase:!0}]};q(""),C(f(D.filterBy(e.data||[],n),s))},T=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=d||null;n!==null&&n.filters.length>0?(a.current>=0&&n.filters.splice(a.current,1),e.onFilterChange(n,t)):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()},z=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=d||null;e.onFilterChange(n,t),e.onCloseMenu&&e.onCloseMenu()},M=(t,n)=>{const c=e.column.field||"",i={...d},o=[...d.filters];let u=[];if(a.current!==-1&&i.filters[a.current].filters&&n!=="all"&&(u=i.filters[a.current].filters),t.value&&n==="all")h.forEach(E=>{u.push({field:c,operator:"eq",value:E})});else if(t.value)u.push({field:c,operator:"eq",value:n});else if(d){const E=u.findIndex(H=>H.value===n);u.splice(E,1)}i.logic="and",a.current!==-1?o[a.current]={logic:"or",filters:u}:o.push({logic:"or",filters:u}),(!t.value&&n==="all"||u.length===0)&&o.splice(a.current,1),i.filters=o,V(i)},_=()=>{let t=!1;if(d){const n=[...d.filters];return a.current===-1?!1:(t=h.every(c=>a.current!==-1&&n[a.current].filters?n[a.current].filters.findIndex(o=>o.value===c)>=0:!1),t)}return t},g=Y.useLocalization(),{column:x}=e;if(!x||!x.field)return l.createElement("div",null);const Q=y()?e.expanded:I,k=[];if(d){const t=[...d.filters];a.current=t.findIndex(n=>n.filters&&n.filters.length>0?n.filters[0].field===x.field:!1),a.current!==-1&&t[a.current].filters.length>0&&t[a.current].filters.forEach(n=>{n.field===e.column.field&&k.push(n.value)})}const W=g.toLanguageString(r.filterClearButton,r.messages[r.filterClearButton]),$=e.searchBox?l.createElement(e.searchBox,{value:B,onChange:N}):l.createElement("div",{className:"k-searchbox k-textbox k-input k-input-md k-input-solid"},l.createElement(G.IconWrap,{className:"k-input-icon",name:"search",icon:F.searchIcon}),l.createElement(b.Input,{className:"k-input-inner",type:"text",placeholder:g.toLanguageString(r.searchPlaceholder,r.messages[r.searchPlaceholder]),value:B,onChange:t=>N(t.nativeEvent)}),l.createElement(v.Button,{type:"button",rounded:null,className:"k-input-button",onClick:A,icon:"x","aria-label":W,svgIcon:F.xIcon})),O=k.filter((t,n)=>k.indexOf(t)===n);return l.createElement(U.GridColumnMenuItemGroup,null,l.createElement(K.GridColumnMenuItem,{title:g.toLanguageString(r.filterTitle,r.messages[r.filterTitle]),iconClass:"k-i-filter",svgIcon:F.filterIcon,onClick:j}),l.createElement(X.GridColumnMenuItemContent,{show:!!Q},l.createElement("form",{className:"k-filter-menu",onSubmit:z,onReset:T},l.createElement("div",{className:"k-filter-menu-container"},$,l.createElement("ul",{className:"k-reset k-multicheck-wrap"},l.createElement("li",{className:"k-item k-check-all-wrap"},l.createElement(b.Checkbox,{label:g.toLanguageString(r.filterCheckAll,r.messages[r.filterCheckAll]),onChange:t=>M(t,"all"),checked:_()})),h.map((t,n)=>l.createElement("li",{className:"k-item",key:n},l.createElement(b.Checkbox,{label:String(t),onChange:c=>M(c,t),checked:O.includes(t)})))),l.createElement("div",{className:"k-filter-selected-items"},O.length+" "+g.toLanguageString(r.filterSelectedItems,r.messages[r.filterSelectedItems])),l.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},l.createElement(v.Button,{themeColor:"primary",type:"submit"},g.toLanguageString(r.filterSubmitButton,r.messages[r.filterSubmitButton])),l.createElement(v.Button,{className:"k-button",type:"reset"},g.toLanguageString(r.filterClearButton,r.messages[r.filterClearButton])))))))};exports.GridColumnMenuCheckboxFilter=te;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Z=require("react"),ee=require("./GridColumnMenuItem.js"),te=require("./GridColumnMenuItemGroup.js"),ne=require("./GridColumnMenuItemContent.js"),M=require("@progress/kendo-react-inputs"),le=require("@progress/kendo-react-intl"),r=require("../messages/index.js"),V=require("@progress/kendo-data-query"),j=require("@progress/kendo-react-common"),B=require("@progress/kendo-react-buttons"),T=require("../utils/index.js"),I=require("@progress/kendo-svg-icons"),re=require("../GridClientWrapper.js"),ae=require("./adaptiveContext/GridColumnMenuAdaptiveContext.js"),ie=require("./adaptiveContent/GridAdaptiveCheckboxFilter.js");function ce(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const m=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(s,i,m.get?m:{enumerable:!0,get:()=>e[i]})}}return s.default=e,Object.freeze(s)}const l=ce(Z),oe=(e,s)=>e.length!==s.length?!1:e.every((i,m)=>i===s[m]),se={uniqueData:!0},ue=e=>{const{uniqueData:s=se.uniqueData}=e,i=l.useContext(re.GridContext),{actionSheetRef:m}=l.useContext(ae.GridColumnMenuAdaptiveContext),z=()=>{const t=e.column.field;return q().filters.findIndex(o=>o.filters&&o.filters.length>0&&o.filters[0].field===t)},h=(t,n)=>{const c=e.column.field||"",o=t.map(u=>T.getNestedValue(c,u));return n?o.filter((u,d)=>o.indexOf(u)===d):o},q=()=>e.filter?j.clone(e.filter):{filters:[],logic:"and"},a=l.useRef(z()),[y,_]=l.useState(e.expanded||!1),[G,x]=l.useState(!1),[N,O]=l.useState(""),[C,k]=l.useState(h(e.data,s)||[]),[W,$]=l.useState(h(e.data,!1)||[]),[f,Q]=l.useState(q());l.useEffect(()=>{const t=e.column.field||"",n=e.data.map(c=>T.getNestedValue(t,c));oe(n,W)||(k(n),$(n))},[e.column,e.data]);const D=()=>e.expanded!==void 0,p=()=>{const t=D(),n=!(t?e.expanded:y);i.mobileMode&&m.current.element.style.setProperty("--kendo-actionsheet-view-current",2),e.onExpandChange&&e.onExpandChange(n),x(!G),!t&&!i.mobileMode&&_(n)},w=t=>{const n=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",c={logic:"and",filters:[{field:e.column.field,operator:n,value:t.target.value,ignoreCase:!0}]};O(t.target.value),k(h(V.filterBy(e.data||[],c),s))},H=()=>{const t=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",n={logic:"and",filters:[{field:e.column.field,operator:t,value:"",ignoreCase:!0}]};O(""),k(h(V.filterBy(e.data||[],n),s))},A=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=f||null;n!==null&&n.filters.length>0?(a.current>=0&&n.filters.splice(a.current,1),e.onFilterChange(n,t)):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()},P=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=f||null;e.onFilterChange(n,t),e.onCloseMenu&&e.onCloseMenu()},E=(t,n)=>{const c=e.column.field||"",o={...f},u=[...f.filters];let d=[];if(a.current!==-1&&o.filters[a.current].filters&&n!=="all"&&(d=o.filters[a.current].filters),t.value&&n==="all")C.forEach(F=>{d.push({field:c,operator:"eq",value:F})});else if(t.value)d.push({field:c,operator:"eq",value:n});else if(f){const F=d.findIndex(Y=>Y.value===n);d.splice(F,1)}o.logic="and",a.current!==-1?u[a.current]={logic:"or",filters:d}:u.push({logic:"or",filters:d}),(!t.value&&n==="all"||d.length===0)&&u.splice(a.current,1),o.filters=u,Q(o)},L=()=>{let t=!1;if(f){const n=[...f.filters];return a.current===-1?!1:(t=C.every(c=>a.current!==-1&&n[a.current].filters?n[a.current].filters.findIndex(u=>u.value===c)>=0:!1),t)}return t},g=le.useLocalization(),{column:b}=e;if(!b||!b.field)return l.createElement("div",null);const R=D()?e.expanded:y,v=[];if(f){const t=[...f.filters];a.current=t.findIndex(n=>n.filters&&n.filters.length>0?n.filters[0].field===b.field:!1),a.current!==-1&&t[a.current].filters.length>0&&t[a.current].filters.forEach(n=>{n.field===e.column.field&&v.push(n.value)})}const J=()=>{x(!1),i.mobileMode&&m.current.element.style.setProperty("--kendo-actionsheet-view-current",1)},K=()=>{x(!1),e.onCloseMenu&&e.onCloseMenu()},U=g.toLanguageString(r.filterClearButton,r.messages[r.filterClearButton]),X=e.searchBox?l.createElement(e.searchBox,{value:N,onChange:w}):l.createElement("div",{className:`k-searchbox k-textbox k-input k-input-md k-input-solid ${i.mobileMode?"k-input-lg":"k-input-md"}`},l.createElement(j.IconWrap,{className:"k-input-icon",name:"search",icon:I.searchIcon}),l.createElement(M.Input,{className:"k-input-inner",type:"text",placeholder:g.toLanguageString(r.searchPlaceholder,r.messages[r.searchPlaceholder]),value:N,onChange:t=>w(t.nativeEvent)}),l.createElement(B.Button,{type:"button",rounded:null,className:"k-input-button",onClick:H,icon:"x","aria-label":U,svgIcon:I.xIcon})),S=v.filter((t,n)=>v.indexOf(t)===n);return l.createElement(te.GridColumnMenuItemGroup,null,!(e.alwaysExpand&&!i.mobileMode)&&l.createElement("div",{className:"k-expander"},l.createElement(ee.GridColumnMenuItem,{title:g.toLanguageString(r.filterTitle,r.messages[r.filterTitle]),iconClass:"k-i-filter",svgIcon:I.filterIcon,expandable:!0,expanded:!!R,onClick:p})),i.mobileMode&&G?l.createElement(l.Fragment,null,l.createElement(ie.GridAdaptiveCheckboxFilter,{onBackView:J,handleClose:K,searchBox:e.searchBox,handleCheckBoxChange:E,isAllSelected:L,currentData:C,uniqueFilterValues:S,submit:P,clear:A})):l.createElement(ne.GridColumnMenuItemContent,{show:(e.alwaysExpand||!!R)&&!i.mobileMode},l.createElement("form",{className:"k-filter-menu",onSubmit:P,onReset:A},l.createElement("div",{className:"k-filter-menu-container"},X,l.createElement("ul",{className:"k-reset k-multicheck-wrap"},l.createElement("li",{className:"k-item k-check-all-wrap"},l.createElement(M.Checkbox,{label:g.toLanguageString(r.filterCheckAll,r.messages[r.filterCheckAll]),onChange:t=>E(t,"all"),checked:L()})),C.map((t,n)=>l.createElement("li",{className:"k-item",key:n},l.createElement(M.Checkbox,{label:String(t),onChange:c=>E(c,t),checked:S.includes(t)})))),l.createElement("div",{className:"k-filter-selected-items"},S.length+" "+g.toLanguageString(r.filterSelectedItems,r.messages[r.filterSelectedItems])),l.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},l.createElement(B.Button,{themeColor:"primary",type:"submit"},g.toLanguageString(r.filterSubmitButton,r.messages[r.filterSubmitButton])),l.createElement(B.Button,{className:"k-button",type:"reset"},g.toLanguageString(r.filterClearButton,r.messages[r.filterClearButton])))))))};exports.GridColumnMenuCheckboxFilter=ue;
@@ -7,142 +7,172 @@
7
7
  */
8
8
  "use client";
9
9
  import * as l from "react";
10
- import { GridColumnMenuItem as _ } from "./GridColumnMenuItem.mjs";
11
- import { GridColumnMenuItemGroup as $ } from "./GridColumnMenuItemGroup.mjs";
12
- import { GridColumnMenuItemContent as p } from "./GridColumnMenuItemContent.mjs";
13
- import { Input as ee, Checkbox as M } from "@progress/kendo-react-inputs";
14
- import { useLocalization as te } from "@progress/kendo-react-intl";
15
- import { filterClearButton as h, messages as f, searchPlaceholder as O, filterTitle as q, filterCheckAll as w, filterSelectedItems as V, filterSubmitButton as G } from "../messages/index.mjs";
16
- import { filterBy as P } from "@progress/kendo-data-query";
17
- import { IconWrap as ne, clone as le } from "@progress/kendo-react-common";
18
- import { Button as v } from "@progress/kendo-react-buttons";
19
- import { getNestedValue as A } from "../utils/index.mjs";
20
- import { searchIcon as re, xIcon as ae, filterIcon as ie } from "@progress/kendo-svg-icons";
21
- const ce = (e, d) => e.length !== d.length ? !1 : e.every((g, m) => g === d[m]), oe = {
10
+ import { GridColumnMenuItem as le } from "./GridColumnMenuItem.mjs";
11
+ import { GridColumnMenuItemGroup as re } from "./GridColumnMenuItemGroup.mjs";
12
+ import { GridColumnMenuItemContent as ae } from "./GridColumnMenuItemContent.mjs";
13
+ import { Input as ie, Checkbox as P } from "@progress/kendo-react-inputs";
14
+ import { useLocalization as oe } from "@progress/kendo-react-intl";
15
+ import { filterClearButton as C, messages as d, searchPlaceholder as R, filterTitle as p, filterCheckAll as z, filterSelectedItems as j, filterSubmitButton as T } from "../messages/index.mjs";
16
+ import { filterBy as W } from "@progress/kendo-data-query";
17
+ import { IconWrap as ce, clone as se } from "@progress/kendo-react-common";
18
+ import { Button as B } from "@progress/kendo-react-buttons";
19
+ import { getNestedValue as $ } from "../utils/index.mjs";
20
+ import { searchIcon as ue, xIcon as fe, filterIcon as de } from "@progress/kendo-svg-icons";
21
+ import { GridContext as me } from "../GridClientWrapper.mjs";
22
+ import { GridColumnMenuAdaptiveContext as he } from "./adaptiveContext/GridColumnMenuAdaptiveContext.mjs";
23
+ import { GridAdaptiveCheckboxFilter as ge } from "./adaptiveContent/GridAdaptiveCheckboxFilter.mjs";
24
+ const xe = (e, m) => e.length !== m.length ? !1 : e.every((s, h) => s === m[h]), Ce = {
22
25
  uniqueData: !0
23
- }, Fe = (e) => {
24
- const { uniqueData: d = oe.uniqueData } = e, g = () => {
26
+ }, Ge = (e) => {
27
+ const { uniqueData: m = Ce.uniqueData } = e, s = l.useContext(me), { actionSheetRef: h } = l.useContext(he), H = () => {
25
28
  const t = e.column.field;
26
- return S().filters.findIndex(
27
- (a) => a.filters && a.filters.length > 0 && a.filters[0].field === t
29
+ return I().filters.findIndex(
30
+ (i) => i.filters && i.filters.length > 0 && i.filters[0].field === t
28
31
  );
29
- }, m = (t, n) => {
30
- const i = e.column.field || "", a = t.map((c) => A(i, c));
31
- return n ? a.filter((c, o) => a.indexOf(c) === o) : a;
32
- }, S = () => e.filter ? le(e.filter) : { filters: [], logic: "and" }, r = l.useRef(g()), [I, R] = l.useState(e.expanded || !1), [b, B] = l.useState(""), [x, C] = l.useState(m(e.data, d) || []), [z, j] = l.useState(m(e.data, !1) || []), [s, T] = l.useState(S());
32
+ }, g = (t, n) => {
33
+ const a = e.column.field || "", i = t.map((o) => $(a, o));
34
+ return n ? i.filter((o, c) => i.indexOf(o) === c) : i;
35
+ }, I = () => e.filter ? se(e.filter) : { filters: [], logic: "and" }, r = l.useRef(H()), [y, J] = l.useState(e.expanded || !1), [N, k] = l.useState(!1), [w, D] = l.useState(""), [x, E] = l.useState(g(e.data, m) || []), [K, Q] = l.useState(g(e.data, !1) || []), [u, U] = l.useState(I());
33
36
  l.useEffect(() => {
34
- const t = e.column.field || "", n = e.data.map((i) => A(t, i));
35
- ce(n, z) || (C(n), j(n));
37
+ const t = e.column.field || "", n = e.data.map((a) => $(t, a));
38
+ xe(n, K) || (E(n), Q(n));
36
39
  }, [e.column, e.data]);
37
- const N = () => e.expanded !== void 0, W = () => {
38
- const t = N(), n = !(t ? e.expanded : I);
39
- e.onExpandChange && e.onExpandChange(n), t || R(n);
40
- }, D = (t) => {
41
- const n = e.searchBoxFilterOperator ? e.searchBoxFilterOperator : "startswith", i = {
40
+ const L = () => e.expanded !== void 0, X = () => {
41
+ const t = L(), n = !(t ? e.expanded : y);
42
+ s.mobileMode && h.current.element.style.setProperty("--kendo-actionsheet-view-current", 2), e.onExpandChange && e.onExpandChange(n), k(!N), !t && !s.mobileMode && J(n);
43
+ }, G = (t) => {
44
+ const n = e.searchBoxFilterOperator ? e.searchBoxFilterOperator : "startswith", a = {
42
45
  logic: "and",
43
46
  filters: [{ field: e.column.field, operator: n, value: t.target.value, ignoreCase: !0 }]
44
47
  };
45
- B(t.target.value), C(m(P(e.data || [], i), d));
46
- }, H = () => {
48
+ D(t.target.value), E(g(W(e.data || [], a), m));
49
+ }, Y = () => {
47
50
  const t = e.searchBoxFilterOperator ? e.searchBoxFilterOperator : "startswith", n = {
48
51
  logic: "and",
49
52
  filters: [{ field: e.column.field, operator: t, value: "", ignoreCase: !0 }]
50
53
  };
51
- B(""), C(m(P(e.data || [], n), d));
52
- }, J = (t) => {
54
+ D(""), E(g(W(e.data || [], n), m));
55
+ }, O = (t) => {
53
56
  if (t.preventDefault(), !e.onFilterChange)
54
57
  return;
55
- const n = s || null;
58
+ const n = u || null;
56
59
  n !== null && n.filters.length > 0 ? (r.current >= 0 && n.filters.splice(r.current, 1), e.onFilterChange(n, t)) : e.onFilterChange(null, t), e.onCloseMenu && e.onCloseMenu();
57
- }, K = (t) => {
60
+ }, q = (t) => {
58
61
  if (t.preventDefault(), !e.onFilterChange)
59
62
  return;
60
- const n = s || null;
63
+ const n = u || null;
61
64
  e.onFilterChange(n, t), e.onCloseMenu && e.onCloseMenu();
62
- }, y = (t, n) => {
63
- const i = e.column.field || "", a = { ...s }, c = [...s.filters];
64
- let o = [];
65
- if (r.current !== -1 && a.filters[r.current].filters && n !== "all" && (o = a.filters[r.current].filters), t.value && n === "all")
66
- x.forEach((F) => {
67
- o.push({ field: i, operator: "eq", value: F });
65
+ }, v = (t, n) => {
66
+ const a = e.column.field || "", i = { ...u }, o = [...u.filters];
67
+ let c = [];
68
+ if (r.current !== -1 && i.filters[r.current].filters && n !== "all" && (c = i.filters[r.current].filters), t.value && n === "all")
69
+ x.forEach((M) => {
70
+ c.push({ field: a, operator: "eq", value: M });
68
71
  });
69
72
  else if (t.value)
70
- o.push({ field: i, operator: "eq", value: n });
71
- else if (s) {
72
- const F = o.findIndex((Z) => Z.value === n);
73
- o.splice(F, 1);
73
+ c.push({ field: a, operator: "eq", value: n });
74
+ else if (u) {
75
+ const M = c.findIndex((ne) => ne.value === n);
76
+ c.splice(M, 1);
74
77
  }
75
- a.logic = "and", r.current !== -1 ? c[r.current] = {
78
+ i.logic = "and", r.current !== -1 ? o[r.current] = {
76
79
  logic: "or",
77
- filters: o
78
- } : c.push({
80
+ filters: c
81
+ } : o.push({
79
82
  logic: "or",
80
- filters: o
81
- }), (!t.value && n === "all" || o.length === 0) && c.splice(r.current, 1), a.filters = c, T(a);
82
- }, Q = () => {
83
+ filters: c
84
+ }), (!t.value && n === "all" || c.length === 0) && o.splice(r.current, 1), i.filters = o, U(i);
85
+ }, A = () => {
83
86
  let t = !1;
84
- if (s) {
85
- const n = [...s.filters];
86
- return r.current === -1 ? !1 : (t = x.every((i) => r.current !== -1 && n[r.current].filters ? n[r.current].filters.findIndex(
87
- (c) => c.value === i
87
+ if (u) {
88
+ const n = [...u.filters];
89
+ return r.current === -1 ? !1 : (t = x.every((a) => r.current !== -1 && n[r.current].filters ? n[r.current].filters.findIndex(
90
+ (o) => o.value === a
88
91
  ) >= 0 : !1), t);
89
92
  }
90
93
  return t;
91
- }, u = te(), { column: k } = e;
92
- if (!k || !k.field)
94
+ }, f = oe(), { column: F } = e;
95
+ if (!F || !F.field)
93
96
  return /* @__PURE__ */ l.createElement("div", null);
94
- const U = N() ? e.expanded : I, E = [];
95
- if (s) {
96
- const t = [...s.filters];
97
- r.current = t.findIndex((n) => n.filters && n.filters.length > 0 ? n.filters[0].field === k.field : !1), r.current !== -1 && t[r.current].filters.length > 0 && t[r.current].filters.forEach((n) => {
98
- n.field === e.column.field && E.push(n.value);
97
+ const V = L() ? e.expanded : y, S = [];
98
+ if (u) {
99
+ const t = [...u.filters];
100
+ r.current = t.findIndex((n) => n.filters && n.filters.length > 0 ? n.filters[0].field === F.field : !1), r.current !== -1 && t[r.current].filters.length > 0 && t[r.current].filters.forEach((n) => {
101
+ n.field === e.column.field && S.push(n.value);
99
102
  });
100
103
  }
101
- const X = u.toLanguageString(h, f[h]), Y = e.searchBox ? /* @__PURE__ */ l.createElement(e.searchBox, { value: b, onChange: D }) : /* @__PURE__ */ l.createElement("div", { className: "k-searchbox k-textbox k-input k-input-md k-input-solid" }, /* @__PURE__ */ l.createElement(ne, { className: "k-input-icon", name: "search", icon: re }), /* @__PURE__ */ l.createElement(
102
- ee,
104
+ const Z = () => {
105
+ k(!1), s.mobileMode && h.current.element.style.setProperty("--kendo-actionsheet-view-current", 1);
106
+ }, _ = () => {
107
+ k(!1), e.onCloseMenu && e.onCloseMenu();
108
+ }, ee = f.toLanguageString(C, d[C]), te = e.searchBox ? /* @__PURE__ */ l.createElement(e.searchBox, { value: w, onChange: G }) : /* @__PURE__ */ l.createElement(
109
+ "div",
103
110
  {
104
- className: "k-input-inner",
105
- type: "text",
106
- placeholder: u.toLanguageString(O, f[O]),
107
- value: b,
108
- onChange: (t) => D(t.nativeEvent)
109
- }
110
- ), /* @__PURE__ */ l.createElement(
111
- v,
111
+ className: `k-searchbox k-textbox k-input k-input-md k-input-solid ${s.mobileMode ? "k-input-lg" : "k-input-md"}`
112
+ },
113
+ /* @__PURE__ */ l.createElement(ce, { className: "k-input-icon", name: "search", icon: ue }),
114
+ /* @__PURE__ */ l.createElement(
115
+ ie,
116
+ {
117
+ className: "k-input-inner",
118
+ type: "text",
119
+ placeholder: f.toLanguageString(R, d[R]),
120
+ value: w,
121
+ onChange: (t) => G(t.nativeEvent)
122
+ }
123
+ ),
124
+ /* @__PURE__ */ l.createElement(
125
+ B,
126
+ {
127
+ type: "button",
128
+ rounded: null,
129
+ className: "k-input-button",
130
+ onClick: Y,
131
+ icon: "x",
132
+ "aria-label": ee,
133
+ svgIcon: fe
134
+ }
135
+ )
136
+ ), b = S.filter((t, n) => S.indexOf(t) === n);
137
+ return /* @__PURE__ */ l.createElement(re, null, !(e.alwaysExpand && !s.mobileMode) && /* @__PURE__ */ l.createElement("div", { className: "k-expander" }, /* @__PURE__ */ l.createElement(
138
+ le,
112
139
  {
113
- type: "button",
114
- rounded: null,
115
- className: "k-input-button",
116
- onClick: H,
117
- icon: "x",
118
- "aria-label": X,
119
- svgIcon: ae
140
+ title: f.toLanguageString(p, d[p]),
141
+ iconClass: "k-i-filter",
142
+ svgIcon: de,
143
+ expandable: !0,
144
+ expanded: !!V,
145
+ onClick: X
120
146
  }
121
- )), L = E.filter((t, n) => E.indexOf(t) === n);
122
- return /* @__PURE__ */ l.createElement($, null, /* @__PURE__ */ l.createElement(
123
- _,
147
+ )), s.mobileMode && N ? /* @__PURE__ */ l.createElement(l.Fragment, null, /* @__PURE__ */ l.createElement(
148
+ ge,
124
149
  {
125
- title: u.toLanguageString(q, f[q]),
126
- iconClass: "k-i-filter",
127
- svgIcon: ie,
128
- onClick: W
150
+ onBackView: Z,
151
+ handleClose: _,
152
+ searchBox: e.searchBox,
153
+ handleCheckBoxChange: v,
154
+ isAllSelected: A,
155
+ currentData: x,
156
+ uniqueFilterValues: b,
157
+ submit: q,
158
+ clear: O
129
159
  }
130
- ), /* @__PURE__ */ l.createElement(p, { show: !!U }, /* @__PURE__ */ l.createElement("form", { className: "k-filter-menu", onSubmit: K, onReset: J }, /* @__PURE__ */ l.createElement("div", { className: "k-filter-menu-container" }, Y, /* @__PURE__ */ l.createElement("ul", { className: "k-reset k-multicheck-wrap" }, /* @__PURE__ */ l.createElement("li", { className: "k-item k-check-all-wrap" }, /* @__PURE__ */ l.createElement(
131
- M,
160
+ )) : /* @__PURE__ */ l.createElement(ae, { show: (e.alwaysExpand || !!V) && !s.mobileMode }, /* @__PURE__ */ l.createElement("form", { className: "k-filter-menu", onSubmit: q, onReset: O }, /* @__PURE__ */ l.createElement("div", { className: "k-filter-menu-container" }, te, /* @__PURE__ */ l.createElement("ul", { className: "k-reset k-multicheck-wrap" }, /* @__PURE__ */ l.createElement("li", { className: "k-item k-check-all-wrap" }, /* @__PURE__ */ l.createElement(
161
+ P,
132
162
  {
133
- label: u.toLanguageString(w, f[w]),
134
- onChange: (t) => y(t, "all"),
135
- checked: Q()
163
+ label: f.toLanguageString(z, d[z]),
164
+ onChange: (t) => v(t, "all"),
165
+ checked: A()
136
166
  }
137
167
  )), x.map((t, n) => /* @__PURE__ */ l.createElement("li", { className: "k-item", key: n }, /* @__PURE__ */ l.createElement(
138
- M,
168
+ P,
139
169
  {
140
170
  label: String(t),
141
- onChange: (i) => y(i, t),
142
- checked: L.includes(t)
171
+ onChange: (a) => v(a, t),
172
+ checked: b.includes(t)
143
173
  }
144
- )))), /* @__PURE__ */ l.createElement("div", { className: "k-filter-selected-items" }, L.length + " " + u.toLanguageString(V, f[V])), /* @__PURE__ */ l.createElement("div", { className: "k-actions k-hstack k-justify-content-stretch" }, /* @__PURE__ */ l.createElement(v, { themeColor: "primary", type: "submit" }, u.toLanguageString(G, f[G])), /* @__PURE__ */ l.createElement(v, { className: "k-button", type: "reset" }, u.toLanguageString(h, f[h])))))));
174
+ )))), /* @__PURE__ */ l.createElement("div", { className: "k-filter-selected-items" }, b.length + " " + f.toLanguageString(j, d[j])), /* @__PURE__ */ l.createElement("div", { className: "k-actions k-hstack k-justify-content-stretch" }, /* @__PURE__ */ l.createElement(B, { themeColor: "primary", type: "submit" }, f.toLanguageString(T, d[T])), /* @__PURE__ */ l.createElement(B, { className: "k-button", type: "reset" }, f.toLanguageString(C, d[C])))))));
145
175
  };
146
176
  export {
147
- Fe as GridColumnMenuCheckboxFilter
177
+ Ge as GridColumnMenuCheckboxFilter
148
178
  };
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("react"),g=require("@progress/kendo-react-inputs"),j=require("@progress/kendo-react-common"),q=require("@progress/kendo-svg-icons"),b=require("@progress/kendo-react-buttons"),M=require("@progress/kendo-react-intl"),r=require("../messages/index.js");function w(s){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const c in s)if(c!=="default"){const u=Object.getOwnPropertyDescriptor(s,c);Object.defineProperty(n,c,u.get?u:{enumerable:!0,get:()=>s[c]})}}return n.default=s,Object.freeze(n)}const t=w(O),S=s=>{const{columnsState:n,onCloseMenu:c,onColumnsStateChange:u}=s,f=M.useLocalization(),[m,E]=t.useState(""),h=n.reduce((e,l)=>({...e,[l.id||""]:!l.hidden}),{}),[o,C]=t.useState(h),y=t.useMemo(()=>(n==null?void 0:n.filter(e=>{var l;return(l=e.title||e.field)==null?void 0:l.toLowerCase().includes(m.toLowerCase())}))||[],[n,m]),d=t.useMemo(()=>Object.values(o).filter(e=>e).length,[o]),k=t.useMemo(()=>d===(n==null?void 0:n.length),[n,d]),N=t.useCallback(e=>{const a=(i=>(i==null?void 0:i.map(p=>({...p,hidden:!o[p.id||""]})))||[])(n);u&&u(a),c==null||c.call(void 0)},[o,n,c]),v=()=>{C(h)},B=t.useCallback(()=>{const e={...o};Object.keys(e).forEach((l,a)=>e[l]=k&&a===0?!0:!k),C(e)},[o,k]),R=t.useCallback((e,l)=>{const a={...o};a[l||""]=e,C(a)},[o]),x=e=>{E(String(e.target.value))};return t.createElement("form",{className:"k-filter-menu"},t.createElement("div",{className:"k-filter-menu-container"},t.createElement(g.TextBox,{className:"k-searchbox",value:m,onChange:x,prefix:()=>t.createElement(g.InputPrefix,null,t.createElement(j.IconWrap,{name:"search",icon:q.searchIcon}))}),t.createElement("ul",{className:"k-reset k-multicheck-wrap"},!m&&t.createElement("li",{className:"k-item k-check-all-wrap"},t.createElement(g.Checkbox,{checked:k,onChange:B,label:f.toLanguageString(r.filterSelectAll,r.messages[r.filterSelectAll])})),y.map((e,l)=>t.createElement("li",{key:e.id,className:"k-item"},t.createElement(g.Checkbox,{disabled:o[e.id||""]&&d===1,checked:o[e.id||""],onChange:a=>{var i;return R(!!((i=a.target.element)!=null&&i.checked),e.id)},label:e.title||e.field})))),t.createElement("div",{className:"k-filter-selected-items"},d," selected items"),t.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},t.createElement(b.Button,{type:"button",themeColor:"primary",onClick:N},f.toLanguageString(r.filterApplyButton,r.messages[r.filterApplyButton])),t.createElement(b.Button,{type:"button",onClick:v},f.toLanguageString(r.filterResetButton,r.messages[r.filterResetButton])))))};S.displayName="GridColumnMenuColumnsChooser";exports.GridColumnMenuColumnsChooser=S;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("react"),f=require("@progress/kendo-react-inputs"),F=require("@progress/kendo-react-common"),B=require("@progress/kendo-svg-icons"),R=require("@progress/kendo-react-buttons"),_=require("@progress/kendo-react-intl"),l=require("../messages/index.js"),V=require("./GridColumnMenuItem.js"),W=require("./GridColumnMenuItemGroup.js"),H=require("./GridColumnMenuItemContent.js"),J=require("../GridClientWrapper.js"),K=require("./adaptiveContext/GridColumnMenuAdaptiveContext.js"),Q=require("./adaptiveContent/GridAdaptiveColumnChooser.js");function U(n){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const c in n)if(c!=="default"){const d=Object.getOwnPropertyDescriptor(n,c);Object.defineProperty(o,c,d.get?d:{enumerable:!0,get:()=>n[c]})}}return o.default=n,Object.freeze(o)}const e=U(z),L=n=>{const{columnsState:o,onCloseMenu:c,onColumnsStateChange:d}=n,m=_.useLocalization(),i=e.useContext(J.GridContext),{actionSheetRef:x}=e.useContext(K.GridColumnMenuAdaptiveContext),[C,O]=e.useState(""),[k,j]=e.useState(n.expanded||!1),[E,p]=e.useState(!1),b=o.reduce((t,a)=>({...t,[a.id||""]:!a.hidden}),{}),[r,S]=e.useState(b),M=e.useMemo(()=>(o==null?void 0:o.filter(t=>{var a;return(a=t.title||t.field)==null?void 0:a.toLowerCase().includes(C.toLowerCase())}))||[],[o,C]),g=e.useMemo(()=>Object.values(r).filter(t=>t).length,[r]),h=e.useMemo(()=>g===(o==null?void 0:o.length),[o,g]),v=e.useCallback(t=>{t.preventDefault();const s=(u=>(u==null?void 0:u.map(N=>({...N,hidden:!r[N.id||""]})))||[])(o);d&&d(s),c==null||c.call(void 0)},[r,o,c]),y=t=>{t.preventDefault(),S(b)},G=e.useCallback(()=>{const t={...r};Object.keys(t).forEach((a,s)=>t[a]=h&&s===0?!0:!h),S(t)},[r,h]),I=e.useCallback((t,a)=>{const s={...r};s[a||""]=t,S(s)},[r]),q=t=>{O(String(t.target.value))},P=e.useCallback(()=>{const t=w(),a=!(t?n.expanded:k);i.mobileMode&&x.current.element.style.setProperty("--kendo-actionsheet-view-current",2),n.onExpandChange&&n.onExpandChange(a),p(!E),!t&&!i.mobileMode&&j(a)},[k]),T=()=>{p(!1),i.mobileMode&&x.current.element.style.setProperty("--kendo-actionsheet-view-current",1)},D=()=>{p(!1),n.onCloseMenu&&n.onCloseMenu()},w=()=>n.expanded!==void 0,A=w()?n.expanded:k;return e.createElement(W.GridColumnMenuItemGroup,null,e.createElement("div",{className:"k-expander"},!(n.alwaysExpand&&!i.mobileMode)&&e.createElement(V.GridColumnMenuItem,{title:m.toLanguageString(l.adaptiveColumnMenuChooserTitle,l.messages[l.adaptiveColumnMenuChooserTitle]),iconClass:"k-i-filter",svgIcon:B.columnsIcon,expandable:!0,expanded:!!A,onClick:P})),i.mobileMode&&E?e.createElement(e.Fragment,null,e.createElement(Q.GridAdaptiveColumnChooser,{onBackView:T,handleClose:D,onApply:v,onReset:y,filter:C,onFilter:q,allSelected:h,onSelectAll:G,filtered:M,selectedColumns:r,checkedCount:g,onCheckChange:I})):e.createElement(H.GridColumnMenuItemContent,{show:(n.alwaysExpand||!!A)&&!i.mobileMode},e.createElement("form",{onSubmit:v,onReset:y,className:"k-filter-menu"},e.createElement("div",{className:"k-filter-menu-container"},e.createElement(f.TextBox,{className:"k-searchbox",value:C,onChange:q,prefix:()=>e.createElement(f.InputPrefix,null,e.createElement(F.IconWrap,{name:"search",icon:B.searchIcon}))}),e.createElement("ul",{className:"k-reset k-multicheck-wrap"},!C&&e.createElement("li",{className:"k-item k-check-all-wrap"},e.createElement(f.Checkbox,{checked:h,onChange:G,label:m.toLanguageString(l.filterSelectAll,l.messages[l.filterSelectAll])})),M.map((t,a)=>e.createElement("li",{key:t.id,className:"k-item"},e.createElement(f.Checkbox,{disabled:r[t.id||""]&&g===1,checked:r[t.id||""],onChange:s=>{var u;return I(!!((u=s.target.element)!=null&&u.checked),t.id)},label:t.title||t.field})))),e.createElement("div",{className:"k-filter-selected-items"},g," ",m.toLanguageString(l.columnMenuColumnChooserSelectedItems,l.messages[l.columnMenuColumnChooserSelectedItems])),e.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},e.createElement(R.Button,{type:"submit",themeColor:"primary"},m.toLanguageString(l.filterApplyButton,l.messages[l.filterApplyButton])),e.createElement(R.Button,{type:"reset"},m.toLanguageString(l.filterResetButton,l.messages[l.filterResetButton])))))))};L.displayName="GridColumnMenuColumnsChooser";exports.GridColumnMenuColumnsChooser=L;
@@ -6,77 +6,123 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as t from "react";
10
- import { TextBox as M, InputPrefix as I, Checkbox as p } from "@progress/kendo-react-inputs";
11
- import { IconWrap as R } from "@progress/kendo-react-common";
12
- import { searchIcon as j } from "@progress/kendo-svg-icons";
13
- import { Button as g } from "@progress/kendo-react-buttons";
14
- import { useLocalization as z } from "@progress/kendo-react-intl";
15
- import { filterSelectAll as E, messages as k, filterApplyButton as S, filterResetButton as b } from "../messages/index.mjs";
16
- const F = (N) => {
17
- const { columnsState: l, onCloseMenu: c, onColumnsStateChange: h } = N, u = z(), [i, y] = t.useState(""), C = l.reduce((e, n) => ({ ...e, [n.id || ""]: !n.hidden }), {}), [o, d] = t.useState(C), x = t.useMemo(
18
- () => (l == null ? void 0 : l.filter((e) => {
9
+ import * as e from "react";
10
+ import { TextBox as q, InputPrefix as H, Checkbox as L } from "@progress/kendo-react-inputs";
11
+ import { IconWrap as J } from "@progress/kendo-react-common";
12
+ import { columnsIcon as K, searchIcon as Q } from "@progress/kendo-svg-icons";
13
+ import { Button as B } from "@progress/kendo-react-buttons";
14
+ import { useLocalization as U } from "@progress/kendo-react-intl";
15
+ import { adaptiveColumnMenuChooserTitle as R, messages as C, filterSelectAll as F, columnMenuColumnChooserSelectedItems as P, filterApplyButton as j, filterResetButton as z } from "../messages/index.mjs";
16
+ import { GridColumnMenuItem as X } from "./GridColumnMenuItem.mjs";
17
+ import { GridColumnMenuItemGroup as Y } from "./GridColumnMenuItemGroup.mjs";
18
+ import { GridColumnMenuItemContent as Z } from "./GridColumnMenuItemContent.mjs";
19
+ import { GridContext as _ } from "../GridClientWrapper.mjs";
20
+ import { GridColumnMenuAdaptiveContext as $ } from "./adaptiveContext/GridColumnMenuAdaptiveContext.mjs";
21
+ import { GridAdaptiveColumnChooser as ee } from "./adaptiveContent/GridAdaptiveColumnChooser.mjs";
22
+ const te = (o) => {
23
+ const { columnsState: l, onCloseMenu: f, onColumnsStateChange: k } = o, s = U(), c = e.useContext(_), { actionSheetRef: x } = e.useContext($), [m, D] = e.useState(""), [h, O] = e.useState(o.expanded || !1), [E, p] = e.useState(!1), S = l.reduce((t, n) => ({ ...t, [n.id || ""]: !n.hidden }), {}), [a, g] = e.useState(S), b = e.useMemo(
24
+ () => (l == null ? void 0 : l.filter((t) => {
19
25
  var n;
20
- return (n = e.title || e.field) == null ? void 0 : n.toLowerCase().includes(i.toLowerCase());
26
+ return (n = t.title || t.field) == null ? void 0 : n.toLowerCase().includes(m.toLowerCase());
21
27
  })) || [],
22
- [l, i]
23
- ), s = t.useMemo(
24
- () => Object.values(o).filter((e) => e).length,
25
- [o]
26
- ), m = t.useMemo(() => s === (l == null ? void 0 : l.length), [l, s]), v = t.useCallback(
27
- (e) => {
28
- const a = ((r) => (r == null ? void 0 : r.map((f) => ({
29
- ...f,
30
- hidden: !o[f.id || ""]
28
+ [l, m]
29
+ ), d = e.useMemo(
30
+ () => Object.values(a).filter((t) => t).length,
31
+ [a]
32
+ ), u = e.useMemo(() => d === (l == null ? void 0 : l.length), [l, d]), v = e.useCallback(
33
+ (t) => {
34
+ t.preventDefault();
35
+ const r = ((i) => (i == null ? void 0 : i.map((A) => ({
36
+ ...A,
37
+ hidden: !a[A.id || ""]
31
38
  }))) || [])(l);
32
- h && h(a), c == null || c.call(void 0);
39
+ k && k(r), f == null || f.call(void 0);
33
40
  },
34
- [o, l, c]
35
- ), L = () => {
36
- d(C);
37
- }, w = t.useCallback(() => {
38
- const e = { ...o };
39
- Object.keys(e).forEach(
40
- (n, a) => e[n] = m && a === 0 ? !0 : !m
41
- ), d(e);
42
- }, [o, m]), B = t.useCallback(
43
- (e, n) => {
44
- const a = { ...o };
45
- a[n || ""] = e, d(a);
41
+ [a, l, f]
42
+ ), M = (t) => {
43
+ t.preventDefault(), g(S);
44
+ }, y = e.useCallback(() => {
45
+ const t = { ...a };
46
+ Object.keys(t).forEach(
47
+ (n, r) => t[n] = u && r === 0 ? !0 : !u
48
+ ), g(t);
49
+ }, [a, u]), w = e.useCallback(
50
+ (t, n) => {
51
+ const r = { ...a };
52
+ r[n || ""] = t, g(r);
46
53
  },
47
- [o]
48
- ), A = (e) => {
49
- y(String(e.target.value));
50
- };
51
- return /* @__PURE__ */ t.createElement("form", { className: "k-filter-menu" }, /* @__PURE__ */ t.createElement("div", { className: "k-filter-menu-container" }, /* @__PURE__ */ t.createElement(
52
- M,
54
+ [a]
55
+ ), N = (t) => {
56
+ D(String(t.target.value));
57
+ }, T = e.useCallback(() => {
58
+ const t = G(), n = !(t ? o.expanded : h);
59
+ c.mobileMode && x.current.element.style.setProperty("--kendo-actionsheet-view-current", 2), o.onExpandChange && o.onExpandChange(n), p(!E), !t && !c.mobileMode && O(n);
60
+ }, [h]), V = () => {
61
+ p(!1), c.mobileMode && x.current.element.style.setProperty("--kendo-actionsheet-view-current", 1);
62
+ }, W = () => {
63
+ p(!1), o.onCloseMenu && o.onCloseMenu();
64
+ }, G = () => o.expanded !== void 0, I = G() ? o.expanded : h;
65
+ return /* @__PURE__ */ e.createElement(Y, null, /* @__PURE__ */ e.createElement("div", { className: "k-expander" }, !(o.alwaysExpand && !c.mobileMode) && /* @__PURE__ */ e.createElement(
66
+ X,
67
+ {
68
+ title: s.toLanguageString(
69
+ R,
70
+ C[R]
71
+ ),
72
+ iconClass: "k-i-filter",
73
+ svgIcon: K,
74
+ expandable: !0,
75
+ expanded: !!I,
76
+ onClick: T
77
+ }
78
+ )), c.mobileMode && E ? /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(
79
+ ee,
80
+ {
81
+ onBackView: V,
82
+ handleClose: W,
83
+ onApply: v,
84
+ onReset: M,
85
+ filter: m,
86
+ onFilter: N,
87
+ allSelected: u,
88
+ onSelectAll: y,
89
+ filtered: b,
90
+ selectedColumns: a,
91
+ checkedCount: d,
92
+ onCheckChange: w
93
+ }
94
+ )) : /* @__PURE__ */ e.createElement(Z, { show: (o.alwaysExpand || !!I) && !c.mobileMode }, /* @__PURE__ */ e.createElement("form", { onSubmit: v, onReset: M, className: "k-filter-menu" }, /* @__PURE__ */ e.createElement("div", { className: "k-filter-menu-container" }, /* @__PURE__ */ e.createElement(
95
+ q,
53
96
  {
54
97
  className: "k-searchbox",
55
- value: i,
56
- onChange: A,
57
- prefix: () => /* @__PURE__ */ t.createElement(I, null, /* @__PURE__ */ t.createElement(R, { name: "search", icon: j }))
98
+ value: m,
99
+ onChange: N,
100
+ prefix: () => /* @__PURE__ */ e.createElement(H, null, /* @__PURE__ */ e.createElement(J, { name: "search", icon: Q }))
58
101
  }
59
- ), /* @__PURE__ */ t.createElement("ul", { className: "k-reset k-multicheck-wrap" }, !i && /* @__PURE__ */ t.createElement("li", { className: "k-item k-check-all-wrap" }, /* @__PURE__ */ t.createElement(
60
- p,
102
+ ), /* @__PURE__ */ e.createElement("ul", { className: "k-reset k-multicheck-wrap" }, !m && /* @__PURE__ */ e.createElement("li", { className: "k-item k-check-all-wrap" }, /* @__PURE__ */ e.createElement(
103
+ L,
61
104
  {
62
- checked: m,
63
- onChange: w,
64
- label: u.toLanguageString(E, k[E])
105
+ checked: u,
106
+ onChange: y,
107
+ label: s.toLanguageString(F, C[F])
65
108
  }
66
- )), x.map((e, n) => /* @__PURE__ */ t.createElement("li", { key: e.id, className: "k-item" }, /* @__PURE__ */ t.createElement(
67
- p,
109
+ )), b.map((t, n) => /* @__PURE__ */ e.createElement("li", { key: t.id, className: "k-item" }, /* @__PURE__ */ e.createElement(
110
+ L,
68
111
  {
69
- disabled: o[e.id || ""] && s === 1,
70
- checked: o[e.id || ""],
71
- onChange: (a) => {
72
- var r;
73
- return B(!!((r = a.target.element) != null && r.checked), e.id);
112
+ disabled: a[t.id || ""] && d === 1,
113
+ checked: a[t.id || ""],
114
+ onChange: (r) => {
115
+ var i;
116
+ return w(!!((i = r.target.element) != null && i.checked), t.id);
74
117
  },
75
- label: e.title || e.field
118
+ label: t.title || t.field
76
119
  }
77
- )))), /* @__PURE__ */ t.createElement("div", { className: "k-filter-selected-items" }, s, " selected items"), /* @__PURE__ */ t.createElement("div", { className: "k-actions k-actions-start k-actions-horizontal" }, /* @__PURE__ */ t.createElement(g, { type: "button", themeColor: "primary", onClick: v }, u.toLanguageString(S, k[S])), /* @__PURE__ */ t.createElement(g, { type: "button", onClick: L }, u.toLanguageString(b, k[b])))));
120
+ )))), /* @__PURE__ */ e.createElement("div", { className: "k-filter-selected-items" }, d, " ", s.toLanguageString(
121
+ P,
122
+ C[P]
123
+ )), /* @__PURE__ */ e.createElement("div", { className: "k-actions k-actions-start k-actions-horizontal" }, /* @__PURE__ */ e.createElement(B, { type: "submit", themeColor: "primary" }, s.toLanguageString(j, C[j])), /* @__PURE__ */ e.createElement(B, { type: "reset" }, s.toLanguageString(z, C[z])))))));
78
124
  };
79
- F.displayName = "GridColumnMenuColumnsChooser";
125
+ te.displayName = "GridColumnMenuColumnsChooser";
80
126
  export {
81
- F as GridColumnMenuColumnsChooser
127
+ te as GridColumnMenuColumnsChooser
82
128
  };
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const X=require("react"),L=require("@progress/kendo-data-query"),Y=require("./GridColumnMenuItem.js"),Z=require("./GridColumnMenuItemGroup.js"),$=require("./GridColumnMenuItemContent.js"),ee=require("@progress/kendo-react-intl"),n=require("../filterCommon.js"),c=require("../messages/index.js"),te=require("./GridColumnMenuFilterUI.js"),T=require("@progress/kendo-react-buttons"),re=require("@progress/kendo-svg-icons");function le(e){const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const f in e)if(f!=="default"){const F=Object.getOwnPropertyDescriptor(e,f);Object.defineProperty(u,f,F.get?F:{enumerable:!0,get:()=>e[f]})}}return u.default=e,Object.freeze(u)}const l=le(X),I=e=>e||{filters:[],logic:"and"},v=(e,u)=>I(u).filters.filter(i=>L.isCompositeFilterDescriptor(i)?i.filters&&i.filters.length&&!i.filters.find(C=>L.isCompositeFilterDescriptor(C)||C.field!==e):!1)[0]||null,ne=(e,u)=>!!v(e,u),ie=e=>{const u=l.useCallback(()=>{let t;if(e.column&&e.column.field){const a=n.getFilterType(e.column.filter),r=n.getDefaultOperator(e.filterOperators,a);t=v(e.column.field,e.filter),t=t?{...t,filters:t.filters.map(o=>({...o}))}:{logic:"and",filters:[{field:e.column.field,operator:r,value:n.IsUnaryFilter(r)?null:void 0},{field:e.column.field,operator:r,value:n.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]),[f,F]=l.useState(e.expanded||!1),[i,C]=l.useState(u()),S=()=>e.expanded!==void 0,_=()=>{const t=S(),a=!(t?e.expanded:f);e.onExpandChange&&e.onExpandChange(a),t||F(a)},j=t=>{p(0,t)},R=t=>{p(1,t)},p=(t,a)=>{const r=i.filters.map((o,s)=>s===t?{...o,value:a.value,operator:a.operator}:o);C({...i,filters:r})},V=t=>{C({...i,logic:t.target.value.operator})},w=t=>{if(t.preventDefault(),!e.onFilterChange)return;const a=e.column.field,r=I(e.filter),o=v(a,e.filter),s=r.filters.filter(g=>g!==o);s.length?e.onFilterChange({...r,filters:s},t):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()},b=()=>({...i,filters:i.filters.filter(t=>t.value!==void 0&&t.value!==null&&t.value!==""||t.value===null&&t.operator)}),N=t=>{if(t.preventDefault(),!e.onFilterChange)return;const a=e.column.field,r=I(e.filter),o=v(a,e.filter),s=b();let g=null;if(o&&s.filters.length>0){const M=r.filters.map(y=>y===o?s:y);g={...r,filters:M}}else if(s.filters.length===0){const M=r.filters.filter(y=>y!==o);M.length&&(g={...r,filters:M})}else g={...r,filters:[...r.filters,s]};e.onFilterChange(g,t),e.onCloseMenu&&e.onCloseMenu()},{column:h,filterUI:z,hideSecondFilter:x,filterOperators:A}=e,d=ee.useLocalization();if(!h||!h.field)return l.createElement("div",null);const G=n.getFilterType(h.filter),H=x!==void 0?x:n.defaultHideSecondFilter[G],m=i.filters,O=n.operatorMap(A[G],d),k=n.operatorMap(n.booleanFilterValues,d),Q={field:h.field,value:m[0].value,operator:m[0].operator,operators:O,booleanValues:k,onChange:j,filterType:G},J={field:h.field,value:m[1].value,operator:m[1].operator,operators:O,booleanValues:k,onChange:R,filterType:G},D=i.logic,q=n.operatorMap(n.filterLogicList,d),E={value:q.find(t=>t.operator===(D===null?"":D)),onChange:V,data:q},B=z,P={firstFilterProps:Q,secondFilterProps:J,logicData:E.data,logicValue:E.value,onLogicChange:E.onChange,hideSecondFilter:H},K=b().filters.length!==0||n.IsUnaryFilter(m[0].operator)||n.IsUnaryFilter(m[1].operator),W=S()?e.expanded:f,U=e.alwaysExpand;return l.createElement(Z.GridColumnMenuItemGroup,null,!U&&l.createElement(Y.GridColumnMenuItem,{title:d.toLanguageString(c.filterTitle,c.messages[c.filterTitle]),iconClass:"k-i-filter",svgIcon:re.filterIcon,onClick:_}),l.createElement($.GridColumnMenuItemContent,{show:U||!!W},l.createElement("form",{className:"k-filter-menu",onSubmit:N,onReset:w},l.createElement("div",{className:"k-filter-menu-container"},B?l.createElement(B,{...P}):l.createElement(te.GridColumnMenuFilterUI,{...P}),l.createElement("div",{className:"k-actions k-actions-stretched"},l.createElement(T.Button,{themeColor:"primary",disabled:!K},d.toLanguageString(c.filterSubmitButton,c.messages[c.filterSubmitButton])),l.createElement(T.Button,{type:"reset"},d.toLanguageString(c.filterClearButton,c.messages[c.filterClearButton])))))))};exports.GridColumnMenuFilter=ie;exports.filterGroupByField=v;exports.isColumnMenuFilterActive=ne;exports.rootFilterOrDefault=I;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const le=require("react"),j=require("@progress/kendo-data-query"),ne=require("./GridColumnMenuItem.js"),ie=require("./GridColumnMenuItemGroup.js"),oe=require("./GridColumnMenuItemContent.js"),ae=require("@progress/kendo-react-intl"),o=require("../filterCommon.js"),u=require("../messages/index.js"),ue=require("./GridColumnMenuFilterUI.js"),z=require("@progress/kendo-react-buttons"),se=require("@progress/kendo-svg-icons"),ce=require("../GridClientWrapper.js"),de=require("./adaptiveContext/GridColumnMenuAdaptiveContext.js"),fe=require("./adaptiveContent/GridAdaptiveFilterMenu.js");function me(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const c in e)if(c!=="default"){const v=Object.getOwnPropertyDescriptor(e,c);Object.defineProperty(n,c,v.get?v:{enumerable:!0,get:()=>e[c]})}}return n.default=e,Object.freeze(n)}const r=me(le),x=e=>e||{filters:[],logic:"and"},h=(e,n)=>x(n).filters.filter(d=>j.isCompositeFilterDescriptor(d)?d.filters&&d.filters.length&&!d.filters.find(M=>j.isCompositeFilterDescriptor(M)||M.field!==e):!1)[0]||null,ge=(e,n)=>!!h(e,n),Ce=e=>{const n=r.useContext(ce.GridContext),{actionSheetRef:c}=r.useContext(de.GridColumnMenuAdaptiveContext),v=r.useCallback(()=>{let t;if(e.column&&e.column.field){const i=o.getFilterType(e.column.filter),l=o.getDefaultOperator(e.filterOperators,i);t=h(e.column.field,e.filter),t=t?{...t,filters:t.filters.map(a=>({...a}))}:{logic:"and",filters:[{field:e.column.field,operator:l,value:o.IsUnaryFilter(l)?null:void 0},{field:e.column.field,operator:l,value:o.IsUnaryFilter(l)?null:void 0}]},t.filters.filter(a=>a.field===e.column.field).length===1&&t.filters.splice(1,0,{field:e.column.field,operator:l})}return t},[e.column]),[d,M]=r.useState(e.expanded||!1),[k,y]=r.useState(!1),[f,q]=r.useState(v()),O=()=>e.expanded!==void 0,H=()=>{const t=O(),i=!(t?e.expanded:d);n.mobileMode&&c.current.element.style.setProperty("--kendo-actionsheet-view-current",2),e.onExpandChange&&e.onExpandChange(i),y(!k),!t&&!n.mobileMode&&M(i)},$=t=>{T(0,t)},Q=t=>{T(1,t)},T=(t,i)=>{const l=f.filters.map((a,s)=>s===t?{...a,value:i.value,operator:i.operator}:a);q({...f,filters:l})},W=t=>{let i=t.target.value;t.target.tagName==="SPAN"&&(i=t.target.parentElement.value),q({...f,logic:i})},D=t=>{if(t.preventDefault(),!e.onFilterChange)return;const i=e.column.field,l=x(e.filter),a=h(i,e.filter),s=l.filters.filter(F=>F!==a);s.length?e.onFilterChange({...l,filters:s},t):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()},P=()=>({...f,filters:f.filters.filter(t=>t.value!==void 0&&t.value!==null&&t.value!==""||t.value===null&&t.operator)}),B=t=>{if(t.preventDefault(),!e.onFilterChange)return;const i=e.column.field,l=x(e.filter),a=h(i,e.filter),s=P();let F=null;if(a&&s.filters.length>0){const G=l.filters.map(S=>S===a?s:S);F={...l,filters:G}}else if(s.filters.length===0){const G=l.filters.filter(S=>S!==a);G.length&&(F={...l,filters:G})}else F={...l,filters:[...l.filters,s]};e.onFilterChange(F,t),e.onCloseMenu&&e.onCloseMenu()},{column:m,filterUI:J,hideSecondFilter:A,filterOperators:K}=e,g=ae.useLocalization();if(!m||!m.field)return r.createElement("div",null);const p=o.getFilterType(m.filter),X=A!==void 0?A:o.defaultHideSecondFilter[p],C=f.filters,L=o.operatorMap(K[p],g),U=o.operatorMap(o.booleanFilterValues,g),Y={field:m.field,value:C[0].value,operator:C[0].operator,operators:L,booleanValues:U,onChange:$,filterType:p},Z={field:m.field,value:C[1].value,operator:C[1].operator,operators:L,booleanValues:U,onChange:Q,filterType:p},w=f.logic,N=o.operatorMap(o.filterLogicList,g),E={value:N.find(t=>t.operator===(w===null?"":w)),onChange:W,data:N},b=J,I={firstFilterProps:Y,secondFilterProps:Z,logicData:E.data,logicValue:E.value,onLogicChange:E.onChange,hideSecondFilter:X},R=P().filters.length!==0||o.IsUnaryFilter(C[0].operator)||o.IsUnaryFilter(C[1].operator),V=O()?e.expanded:d,_=e.alwaysExpand&&!n.mobileMode,ee=()=>{y(!1),n.mobileMode&&c.current.element.style.setProperty("--kendo-actionsheet-view-current",1)},te=()=>{y(!1),e.onCloseMenu&&e.onCloseMenu()},re=`${g.toLanguageString(u.adaptiveColumnMenuFilterTitle,u.messages[u.adaptiveColumnMenuFilterTitle])} ${m.title||m.field}`;return r.createElement(ie.GridColumnMenuItemGroup,null,!_&&r.createElement("div",{className:"k-expander"},r.createElement(ne.GridColumnMenuItem,{title:g.toLanguageString(u.filterTitle,u.messages[u.filterTitle]),iconClass:"k-i-filter",svgIcon:se.filterIcon,expandable:!0,expanded:!!V,onClick:H})),n.mobileMode&&k?r.createElement(r.Fragment,null,r.createElement(fe.GridAdaptiveFilterMenu,{FilterUI:b,filterUIProps:I,onBackView:ee,adaptiveTitle:re,handleClose:te,submit:B,clear:D,isFilterValid:R})):r.createElement(oe.GridColumnMenuItemContent,{show:(_||!!V)&&!n.mobileMode},r.createElement("form",{className:"k-filter-menu",onSubmit:B,onReset:D},r.createElement("div",{className:"k-filter-menu-container"},b?r.createElement(b,{...I}):r.createElement(ue.GridColumnMenuFilterUI,{...I}),r.createElement("div",{className:"k-actions k-actions-stretched"},r.createElement(z.Button,{themeColor:"primary",disabled:!R},g.toLanguageString(u.filterSubmitButton,u.messages[u.filterSubmitButton])),r.createElement(z.Button,{type:"reset"},g.toLanguageString(u.filterClearButton,u.messages[u.filterClearButton])))))))};exports.GridColumnMenuFilter=Ce;exports.filterGroupByField=h;exports.isColumnMenuFilterActive=ge;exports.rootFilterOrDefault=x;