@progress/kendo-react-grid 9.0.0-develop.9 → 9.0.1-develop.1

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 (51) hide show
  1. package/Grid.js +1 -1
  2. package/Grid.mjs +927 -1042
  3. package/GridNoRecords.js +1 -1
  4. package/GridNoRecords.mjs +7 -14
  5. package/GridToolbar.js +1 -1
  6. package/GridToolbar.mjs +23 -28
  7. package/VirtualScroll.js +1 -1
  8. package/VirtualScroll.mjs +53 -51
  9. package/VirtualScrollFixed.js +1 -1
  10. package/VirtualScrollFixed.mjs +16 -14
  11. package/cells/GridFilterCell.js +1 -1
  12. package/cells/GridFilterCell.mjs +99 -113
  13. package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
  14. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +132 -178
  15. package/columnMenu/GridColumnMenuFilter.js +1 -1
  16. package/columnMenu/GridColumnMenuFilter.mjs +123 -156
  17. package/columnMenu/GridColumnMenuFilterCell.js +1 -1
  18. package/columnMenu/GridColumnMenuFilterCell.mjs +42 -53
  19. package/columnMenu/GridColumnMenuFilterUI.js +1 -1
  20. package/columnMenu/GridColumnMenuFilterUI.mjs +15 -17
  21. package/columnMenu/GridColumnMenuGroup.js +1 -1
  22. package/columnMenu/GridColumnMenuGroup.mjs +29 -40
  23. package/columnMenu/GridColumnMenuItemContent.js +1 -1
  24. package/columnMenu/GridColumnMenuItemContent.mjs +7 -20
  25. package/columnMenu/GridColumnMenuItemGroup.js +1 -1
  26. package/columnMenu/GridColumnMenuItemGroup.mjs +7 -20
  27. package/columnMenu/GridColumnMenuSort.js +1 -1
  28. package/columnMenu/GridColumnMenuSort.mjs +42 -53
  29. package/dist/cdn/js/kendo-react-grid.js +1 -1
  30. package/drag/ColumnDraggable.js +1 -1
  31. package/drag/ColumnDraggable.mjs +34 -45
  32. package/drag/GroupingIndicator.js +1 -1
  33. package/drag/GroupingIndicator.mjs +51 -69
  34. package/footer/Footer.js +1 -1
  35. package/footer/Footer.mjs +40 -57
  36. package/header/FilterRow.js +1 -1
  37. package/header/FilterRow.mjs +70 -78
  38. package/header/GridHeaderSelectionCell.js +1 -1
  39. package/header/GridHeaderSelectionCell.mjs +28 -37
  40. package/header/GroupPanel.js +1 -1
  41. package/header/GroupPanel.mjs +43 -49
  42. package/header/Header.js +1 -1
  43. package/header/Header.mjs +70 -89
  44. package/index.d.mts +261 -725
  45. package/index.d.ts +261 -725
  46. package/index.js +1 -1
  47. package/index.mjs +78 -80
  48. package/package-metadata.mjs +1 -1
  49. package/package.json +11 -11
  50. package/rows/GridDetailRow.js +1 -1
  51. package/rows/GridDetailRow.mjs +2 -10
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("react"),y=require("@progress/kendo-data-query"),L=require("./GridColumnMenuItem.js"),P=require("./GridColumnMenuItemGroup.js"),U=require("./GridColumnMenuItemContent.js"),b=require("@progress/kendo-react-intl"),a=require("../filterCommon.js"),f=require("../messages/index.js"),T=require("./GridColumnMenuFilterUI.js"),E=require("@progress/kendo-react-buttons"),j=require("@progress/kendo-svg-icons");function R(c){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const l in c)if(l!=="default"){const e=Object.getOwnPropertyDescriptor(c,l);Object.defineProperty(i,l,e.get?e:{enumerable:!0,get:()=>c[l]})}}return i.default=c,Object.freeze(i)}const u=R(B),g=c=>c||{filters:[],logic:"and"},h=(c,i)=>g(i).filters.filter(t=>y.isCompositeFilterDescriptor(t)?t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find(r=>y.isCompositeFilterDescriptor(r)||r.field!==c):!1)[0]||null,F=class F extends u.Component{constructor(i){super(i),this.removeGroup=(e,t)=>{const r=[...t.filters],n=r.findIndex(o=>o===e);return n>-1&&r.splice(n,1),{...t,filters:r}},this.insertGroup=(e,t)=>({...t,filters:[e,...t.filters]}),this.isControlled=()=>this.props.expanded!==void 0,this.onFilterExpand=()=>{const e=this.isControlled(),t=!(e?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(t),e||this.setState({expanded:t})},this.firstFilterChange=e=>{this.filterChange(0,e)},this.secondFilterChange=e=>{this.filterChange(1,e)},this.filterChange=(e,t)=>{const r=this.state.filterGroup.filters.map((n,o)=>o===e?{...n,value:t.value,operator:t.operator}:n);this.setState({filterGroup:{...this.state.filterGroup,filters:r}})},this.logicChange=e=>{this.setState({filterGroup:{...this.state.filterGroup,logic:e.target.value.operator}})},this.clear=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.props.column.field,r=g(this.props.filter),n=h(t,this.props.filter),o=r.filters.filter(s=>s!==n);o.length?this.props.onFilterChange({...r,filters:o},e):this.props.onFilterChange(null,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.currentFilterGroup=()=>({...this.state.filterGroup,filters:this.state.filterGroup.filters.filter(e=>e.value!==void 0&&e.value!==null&&e.value!==""||e.value===null&&e.operator)}),this.submit=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.props.column.field,r=g(this.props.filter),n=h(t,this.props.filter),o=this.currentFilterGroup();let s=null;if(n&&o.filters.length>0){const p=r.filters.map(d=>d===n?o:d);s={...r,filters:p}}else if(o.filters.length===0){const p=r.filters.filter(d=>d!==n);p.length&&(s={...r,filters:p})}else s={...r,filters:[...r.filters,o]};this.props.onFilterChange(s,e),this.props.onCloseMenu&&this.props.onCloseMenu()};let l;if(i.column&&i.column.field){const e=a.getFilterType(i.column.filter),t=a.getDefaultOperator(i.filterOperators,e);l=h(i.column.field,i.filter),l=l?{...l,filters:l.filters.map(r=>({...r}))}:{logic:"and",filters:[{field:i.column.field,operator:t,value:a.IsUnaryFilter(t)?null:void 0},{field:i.column.field,operator:t,value:a.IsUnaryFilter(t)?null:void 0}]},l.filters.filter(r=>r.field===i.column.field).length===1&&l.filters.splice(1,0,{field:i.column.field,operator:t})}this.state={expanded:i.expanded||!1,filterGroup:l}}render(){const{column:i,filterUI:l,hideSecondFilter:e,filterOperators:t}=this.props;if(!i||!i.field)return u.createElement("div",null);const r=a.getFilterType(i.filter),n=e!==void 0?e:a.defaultHideSecondFilter[r],o=b.provideLocalizationService(this),s=this.state.filterGroup.filters,p=a.operatorMap(t[r],o),d=a.operatorMap(a.booleanFilterValues,o),M={field:i.field,value:s[0].value,operator:s[0].operator,operators:p,booleanValues:d,onChange:this.firstFilterChange,filterType:r},O={field:i.field,value:s[1].value,operator:s[1].operator,operators:p,booleanValues:d,onChange:this.secondFilterChange,filterType:r},v=this.state.filterGroup.logic,G=a.operatorMap(a.filterLogicList,o),C={value:G.find(q=>q.operator===(v===null?"":v)),onChange:this.logicChange,data:G},I=l,S={firstFilterProps:M,secondFilterProps:O,logicData:C.data,logicValue:C.value,onLogicChange:C.onChange,hideSecondFilter:n},D=this.currentFilterGroup().filters.length!==0||a.IsUnaryFilter(s[0].operator)||a.IsUnaryFilter(s[1].operator),k=this.isControlled()?this.props.expanded:this.state.expanded,x=this.props.alwaysExpand;return u.createElement(P.GridColumnMenuItemGroup,null,!x&&u.createElement(L.GridColumnMenuItem,{title:o.toLanguageString(f.filterTitle,f.messages[f.filterTitle]),iconClass:"k-i-filter",svgIcon:j.filterIcon,onClick:this.onFilterExpand}),u.createElement(U.GridColumnMenuItemContent,{show:x||!!k},u.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},u.createElement("div",{className:"k-filter-menu-container"},I?u.createElement(I,{...S}):u.createElement(T.GridColumnMenuFilterUI,{...S}),u.createElement("div",{className:"k-actions k-actions-stretched"},u.createElement(E.Button,{themeColor:"primary",disabled:!D},o.toLanguageString(f.filterSubmitButton,f.messages[f.filterSubmitButton])),u.createElement(E.Button,{type:"reset"},o.toLanguageString(f.filterClearButton,f.messages[f.filterClearButton])))))))}};F.active=(i,l)=>!!h(i,l);let m=F;b.registerForLocalization(m);exports.GridColumnMenuFilter=m;exports.filterGroupByField=h;exports.rootFilterOrDefault=g;
8
+ "use client";"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"),i=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(n=>L.isCompositeFilterDescriptor(n)?n.filters&&n.filters.length&&n.filters.length<=2&&!n.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=i.getFilterType(e.column.filter),r=i.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: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]),[f,F]=l.useState(e.expanded||!1),[n,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=n.filters.map((o,s)=>s===t?{...o,value:a.value,operator:a.operator}:o);C({...n,filters:r})},V=t=>{C({...n,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=()=>({...n,filters:n.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=i.getFilterType(h.filter),H=x!==void 0?x:i.defaultHideSecondFilter[G],m=n.filters,O=i.operatorMap(A[G],d),k=i.operatorMap(i.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=n.logic,q=i.operatorMap(i.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||i.IsUnaryFilter(m[0].operator)||i.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;
@@ -6,172 +6,139 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as a from "react";
10
- import { isCompositeFilterDescriptor as y } from "@progress/kendo-data-query";
11
- import { GridColumnMenuItem as T } from "./GridColumnMenuItem.mjs";
12
- import { GridColumnMenuItemGroup as w } from "./GridColumnMenuItemGroup.mjs";
13
- import { GridColumnMenuItemContent as z } from "./GridColumnMenuItemContent.mjs";
14
- import { provideLocalizationService as N, registerForLocalization as H } from "@progress/kendo-react-intl";
15
- import { getFilterType as L, getDefaultOperator as R, IsUnaryFilter as c, operatorMap as m, booleanFilterValues as j, filterLogicList as q, defaultHideSecondFilter as A } from "../filterCommon.mjs";
16
- import { filterTitle as b, messages as g, filterSubmitButton as D, filterClearButton as M } from "../messages/index.mjs";
17
- import { GridColumnMenuFilterUI as J } from "./GridColumnMenuFilterUI.mjs";
18
- import { Button as k } from "@progress/kendo-react-buttons";
19
- import { filterIcon as K } from "@progress/kendo-svg-icons";
20
- const C = (h) => h || { filters: [], logic: "and" }, u = (h, i) => C(i).filters.filter((t) => y(t) ? t.filters && t.filters.length && t.filters.length <= 2 && !t.filters.find((r) => y(r) || r.field !== h) : !1)[0] || null, v = class v extends a.Component {
21
- constructor(i) {
22
- super(i), this.removeGroup = (e, t) => {
23
- const r = [...t.filters], s = r.findIndex((l) => l === e);
24
- return s > -1 && r.splice(s, 1), {
9
+ import * as r from "react";
10
+ import { isCompositeFilterDescriptor as T } from "@progress/kendo-data-query";
11
+ import { GridColumnMenuItem as te } from "./GridColumnMenuItem.mjs";
12
+ import { GridColumnMenuItemGroup as le } from "./GridColumnMenuItemGroup.mjs";
13
+ import { GridColumnMenuItemContent as re } from "./GridColumnMenuItemContent.mjs";
14
+ import { useLocalization as ie } from "@progress/kendo-react-intl";
15
+ import { getFilterType as w, getDefaultOperator as ne, IsUnaryFilter as h, operatorMap as x, booleanFilterValues as oe, filterLogicList as ae, defaultHideSecondFilter as ce } from "../filterCommon.mjs";
16
+ import { filterTitle as N, messages as p, filterSubmitButton as _, filterClearButton as z } from "../messages/index.mjs";
17
+ import { GridColumnMenuFilterUI as se } from "./GridColumnMenuFilterUI.mjs";
18
+ import { Button as H } from "@progress/kendo-react-buttons";
19
+ import { filterIcon as ue } from "@progress/kendo-svg-icons";
20
+ const S = (e) => e || { filters: [], logic: "and" }, v = (e, f) => S(f).filters.filter((i) => T(i) ? i.filters && i.filters.length && i.filters.length <= 2 && !i.filters.find((d) => T(d) || d.field !== e) : !1)[0] || null, xe = (e, f) => !!v(e, f), pe = (e) => {
21
+ const f = r.useCallback(() => {
22
+ let t;
23
+ if (e.column && e.column.field) {
24
+ const o = w(e.column.filter), l = ne(e.filterOperators, o);
25
+ t = v(e.column.field, e.filter), t = t ? {
25
26
  ...t,
26
- filters: r
27
- };
28
- }, this.insertGroup = (e, t) => ({
29
- ...t,
30
- filters: [e, ...t.filters]
31
- }), this.isControlled = () => this.props.expanded !== void 0, this.onFilterExpand = () => {
32
- const e = this.isControlled(), t = !(e ? this.props.expanded : this.state.expanded);
33
- this.props.onExpandChange && this.props.onExpandChange(t), e || this.setState({
34
- expanded: t
35
- });
36
- }, this.firstFilterChange = (e) => {
37
- this.filterChange(0, e);
38
- }, this.secondFilterChange = (e) => {
39
- this.filterChange(1, e);
40
- }, this.filterChange = (e, t) => {
41
- const r = this.state.filterGroup.filters.map((s, l) => l === e ? {
42
- ...s,
43
- value: t.value,
44
- operator: t.operator
45
- } : s);
46
- this.setState({
47
- filterGroup: {
48
- ...this.state.filterGroup,
49
- filters: r
50
- }
51
- });
52
- }, this.logicChange = (e) => {
53
- this.setState({
54
- filterGroup: {
55
- ...this.state.filterGroup,
56
- logic: e.target.value.operator
57
- }
58
- });
59
- }, this.clear = (e) => {
60
- if (e.preventDefault(), !this.props.onFilterChange)
61
- return;
62
- const t = this.props.column.field, r = C(this.props.filter), s = u(t, this.props.filter), l = r.filters.filter((n) => n !== s);
63
- l.length ? this.props.onFilterChange({ ...r, filters: l }, e) : this.props.onFilterChange(null, e), this.props.onCloseMenu && this.props.onCloseMenu();
64
- }, this.currentFilterGroup = () => ({
65
- ...this.state.filterGroup,
66
- filters: this.state.filterGroup.filters.filter((e) => e.value !== void 0 && e.value !== null && e.value !== "" || e.value === null && e.operator)
67
- }), this.submit = (e) => {
68
- if (e.preventDefault(), !this.props.onFilterChange)
69
- return;
70
- const t = this.props.column.field, r = C(this.props.filter), s = u(t, this.props.filter), l = this.currentFilterGroup();
71
- let n = null;
72
- if (s && l.filters.length > 0) {
73
- const f = r.filters.map((p) => p === s ? l : p);
74
- n = {
75
- ...r,
76
- filters: f
77
- };
78
- } else if (l.filters.length === 0) {
79
- const f = r.filters.filter((p) => p !== s);
80
- f.length && (n = {
81
- ...r,
82
- filters: f
83
- });
84
- } else
85
- n = {
86
- ...r,
87
- filters: [...r.filters, l]
88
- };
89
- this.props.onFilterChange(n, e), this.props.onCloseMenu && this.props.onCloseMenu();
90
- };
91
- let o;
92
- if (i.column && i.column.field) {
93
- const e = L(i.column.filter), t = R(i.filterOperators, e);
94
- o = u(i.column.field, i.filter), o = o ? {
95
- ...o,
96
- filters: o.filters.map((r) => ({ ...r }))
27
+ filters: t.filters.map((n) => ({ ...n }))
97
28
  } : {
98
29
  logic: "and",
99
30
  filters: [
100
31
  {
101
- field: i.column.field,
102
- operator: t,
103
- value: c(t) ? null : void 0
32
+ field: e.column.field,
33
+ operator: l,
34
+ value: h(l) ? null : void 0
104
35
  },
105
36
  {
106
- field: i.column.field,
107
- operator: t,
108
- value: c(t) ? null : void 0
37
+ field: e.column.field,
38
+ operator: l,
39
+ value: h(l) ? null : void 0
109
40
  }
110
41
  ]
111
- }, o.filters.filter((r) => r.field === i.column.field).length === 1 && o.filters.splice(1, 0, { field: i.column.field, operator: t });
42
+ }, t.filters.filter((n) => n.field === e.column.field).length === 1 && t.filters.splice(1, 0, { field: e.column.field, operator: l });
43
+ }
44
+ return t;
45
+ }, [e.column]), [E, M] = r.useState(e.expanded || !1), [i, d] = r.useState(f()), I = () => e.expanded !== void 0, R = () => {
46
+ const t = I(), o = !(t ? e.expanded : E);
47
+ e.onExpandChange && e.onExpandChange(o), t || M(o);
48
+ }, A = (t) => {
49
+ y(0, t);
50
+ }, j = (t) => {
51
+ y(1, t);
52
+ }, y = (t, o) => {
53
+ const l = i.filters.map((n, a) => a === t ? {
54
+ ...n,
55
+ value: o.value,
56
+ operator: o.operator
57
+ } : n);
58
+ d({
59
+ ...i,
60
+ filters: l
61
+ });
62
+ }, q = (t) => {
63
+ d({
64
+ ...i,
65
+ logic: t.target.value.operator
66
+ });
67
+ }, J = (t) => {
68
+ if (t.preventDefault(), !e.onFilterChange)
69
+ return;
70
+ const o = e.column.field, l = S(e.filter), n = v(o, e.filter), a = l.filters.filter((u) => u !== n);
71
+ a.length ? e.onFilterChange({ ...l, filters: a }, t) : e.onFilterChange(null, t), e.onCloseMenu && e.onCloseMenu();
72
+ }, L = () => ({
73
+ ...i,
74
+ filters: i.filters.filter((t) => t.value !== void 0 && t.value !== null && t.value !== "" || t.value === null && t.operator)
75
+ }), K = (t) => {
76
+ if (t.preventDefault(), !e.onFilterChange)
77
+ return;
78
+ const o = e.column.field, l = S(e.filter), n = v(o, e.filter), a = L();
79
+ let u = null;
80
+ if (n && a.filters.length > 0) {
81
+ const F = l.filters.map((C) => C === n ? a : C);
82
+ u = {
83
+ ...l,
84
+ filters: F
85
+ };
86
+ } else if (a.filters.length === 0) {
87
+ const F = l.filters.filter((C) => C !== n);
88
+ F.length && (u = {
89
+ ...l,
90
+ filters: F
91
+ });
92
+ } else
93
+ u = {
94
+ ...l,
95
+ filters: [...l.filters, a]
96
+ };
97
+ e.onFilterChange(u, t), e.onCloseMenu && e.onCloseMenu();
98
+ }, { column: m, filterUI: Q, hideSecondFilter: b, filterOperators: W } = e, c = ie();
99
+ if (!m || !m.field)
100
+ return /* @__PURE__ */ r.createElement("div", null);
101
+ const g = w(m.filter), X = b !== void 0 ? b : ce[g], s = i.filters, k = x(W[g], c), D = x(oe, c), Y = {
102
+ field: m.field,
103
+ value: s[0].value,
104
+ operator: s[0].operator,
105
+ operators: k,
106
+ booleanValues: D,
107
+ onChange: A,
108
+ filterType: g
109
+ }, Z = {
110
+ field: m.field,
111
+ value: s[1].value,
112
+ operator: s[1].operator,
113
+ operators: k,
114
+ booleanValues: D,
115
+ onChange: j,
116
+ filterType: g
117
+ }, O = i.logic, P = x(ae, c), G = {
118
+ value: P.find((t) => t.operator === (O === null ? "" : O)),
119
+ onChange: q,
120
+ data: P
121
+ }, U = Q, V = {
122
+ firstFilterProps: Y,
123
+ secondFilterProps: Z,
124
+ logicData: G.data,
125
+ logicValue: G.value,
126
+ onLogicChange: G.onChange,
127
+ hideSecondFilter: X
128
+ }, $ = L().filters.length !== 0 || h(s[0].operator) || h(s[1].operator), ee = I() ? e.expanded : E, B = e.alwaysExpand;
129
+ return /* @__PURE__ */ r.createElement(le, null, !B && /* @__PURE__ */ r.createElement(
130
+ te,
131
+ {
132
+ title: c.toLanguageString(N, p[N]),
133
+ iconClass: "k-i-filter",
134
+ svgIcon: ue,
135
+ onClick: R
112
136
  }
113
- this.state = {
114
- expanded: i.expanded || !1,
115
- filterGroup: o
116
- };
117
- }
118
- /**
119
- * @hidden
120
- */
121
- render() {
122
- const { column: i, filterUI: o, hideSecondFilter: e, filterOperators: t } = this.props;
123
- if (!i || !i.field)
124
- return /* @__PURE__ */ a.createElement("div", null);
125
- const r = L(i.filter), s = e !== void 0 ? e : A[r], l = N(this), n = this.state.filterGroup.filters, f = m(t[r], l), p = m(j, l), O = {
126
- field: i.field,
127
- value: n[0].value,
128
- operator: n[0].operator,
129
- operators: f,
130
- booleanValues: p,
131
- onChange: this.firstFilterChange,
132
- filterType: r
133
- }, P = {
134
- field: i.field,
135
- value: n[1].value,
136
- operator: n[1].operator,
137
- operators: f,
138
- booleanValues: p,
139
- onChange: this.secondFilterChange,
140
- filterType: r
141
- }, G = this.state.filterGroup.logic, x = m(q, l), d = {
142
- value: x.find((B) => B.operator === (G === null ? "" : G)),
143
- onChange: this.logicChange,
144
- data: x
145
- }, E = o, S = {
146
- firstFilterProps: O,
147
- secondFilterProps: P,
148
- logicData: d.data,
149
- logicValue: d.value,
150
- onLogicChange: d.onChange,
151
- hideSecondFilter: s
152
- }, U = this.currentFilterGroup().filters.length !== 0 || c(n[0].operator) || c(n[1].operator), V = this.isControlled() ? this.props.expanded : this.state.expanded, I = this.props.alwaysExpand;
153
- return /* @__PURE__ */ a.createElement(w, null, !I && /* @__PURE__ */ a.createElement(
154
- T,
155
- {
156
- title: l.toLanguageString(b, g[b]),
157
- iconClass: "k-i-filter",
158
- svgIcon: K,
159
- onClick: this.onFilterExpand
160
- }
161
- ), /* @__PURE__ */ a.createElement(z, { show: I || !!V }, /* @__PURE__ */ a.createElement("form", { className: "k-filter-menu", onSubmit: this.submit, onReset: this.clear }, /* @__PURE__ */ a.createElement("div", { className: "k-filter-menu-container" }, E ? /* @__PURE__ */ a.createElement(E, { ...S }) : /* @__PURE__ */ a.createElement(J, { ...S }), /* @__PURE__ */ a.createElement("div", { className: "k-actions k-actions-stretched" }, /* @__PURE__ */ a.createElement(k, { themeColor: "primary", disabled: !U }, l.toLanguageString(
162
- D,
163
- g[D]
164
- )), /* @__PURE__ */ a.createElement(k, { type: "reset" }, l.toLanguageString(
165
- M,
166
- g[M]
167
- )))))));
168
- }
137
+ ), /* @__PURE__ */ r.createElement(re, { show: B || !!ee }, /* @__PURE__ */ r.createElement("form", { className: "k-filter-menu", onSubmit: K, onReset: J }, /* @__PURE__ */ r.createElement("div", { className: "k-filter-menu-container" }, U ? /* @__PURE__ */ r.createElement(U, { ...V }) : /* @__PURE__ */ r.createElement(se, { ...V }), /* @__PURE__ */ r.createElement("div", { className: "k-actions k-actions-stretched" }, /* @__PURE__ */ r.createElement(H, { themeColor: "primary", disabled: !$ }, c.toLanguageString(_, p[_])), /* @__PURE__ */ r.createElement(H, { type: "reset" }, c.toLanguageString(z, p[z])))))));
169
138
  };
170
- v.active = (i, o) => !!u(i, o);
171
- let F = v;
172
- H(F);
173
139
  export {
174
- F as GridColumnMenuFilter,
175
- u as filterGroupByField,
176
- C as rootFilterOrDefault
140
+ pe as GridColumnMenuFilter,
141
+ v as filterGroupByField,
142
+ xe as isColumnMenuFilterActive,
143
+ S as rootFilterOrDefault
177
144
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react"),p=require("@progress/kendo-react-dropdowns"),l=require("@progress/kendo-react-inputs"),u=require("@progress/kendo-react-dateinputs"),s=require("../filterCommon.js");function c(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const e in a)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(t,e,o.get?o:{enumerable:!0,get:()=>a[e]})}}return t.default=a,Object.freeze(t)}const r=c(h);class d extends r.Component{constructor(t){super(t),this.renderOperatorEditor=()=>{if(this.props.filterType==="boolean")return;const e=this.props.operators.find(o=>o.operator===this.props.operator)||null;return r.createElement(p.DropDownList,{value:e,onChange:this.operatorChange,data:this.props.operators,textField:"text"})},this.inputChange=this.inputChange.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){return r.createElement(r.Fragment,null,this.renderOperatorEditor(),this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues))}inputChange(t,e){s.cellInputChange(t,e,this.props)}operatorChange(t){s.cellOperatorChange(t,this.props.value,this.props.onChange)}boolDropdownChange(t){s.cellBoolDropdownChange(t,this.props.onChange)}filterComponent(t,e,o){switch(t){case"numeric":return r.createElement(l.NumericTextBox,{value:e,onChange:n=>{this.inputChange(n.value,n.syntheticEvent)},rangeOnEnter:!1});case"date":return r.createElement(u.DatePicker,{value:e,onChange:n=>{this.inputChange(n.value,n.syntheticEvent)}});case"boolean":{const n=i=>i==null;return r.createElement(p.DropDownList,{onChange:this.boolDropdownChange,value:o.find(i=>i.operator===(n(e)?"":e)),data:o,textField:"text"})}default:return r.createElement(l.Input,{value:e||"",onChange:n=>{this.inputChange(n.target.value,n.syntheticEvent)}})}}}exports.GridColumnMenuFilterCell=d;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),d=require("@progress/kendo-react-dropdowns"),g=require("@progress/kendo-react-inputs"),h=require("@progress/kendo-react-dateinputs"),i=require("../filterCommon.js");function b(e){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const c=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(l,o,c.get?c:{enumerable:!0,get:()=>e[o]})}}return l.default=e,Object.freeze(l)}const a=b(f),D=e=>{const l=()=>{if(e.filterType==="boolean")return;const n=e.operators.find(r=>r.operator===e.operator)||null;return a.createElement(d.DropDownList,{value:n,onChange:c,data:e.operators,textField:"text"})},o=(n,r)=>{i.cellInputChange(n,r,e)},c=n=>{i.cellOperatorChange(n,e.value,e.onChange)},m=n=>{i.cellBoolDropdownChange(n,e.onChange)},C=(n,r,s)=>{switch(n){case"numeric":return a.createElement(g.NumericTextBox,{value:r,onChange:t=>{o(t.value,t.syntheticEvent)},rangeOnEnter:!1});case"date":return a.createElement(h.DatePicker,{value:r,onChange:t=>{o(t.value,t.syntheticEvent)}});case"boolean":{const t=u=>u==null;return a.createElement(d.DropDownList,{onChange:m,value:s.find(u=>u.operator===(t(r)?"":r)),data:s,textField:"text"})}default:return a.createElement(g.Input,{value:r||"",onChange:t=>{o(t.target.value,t.syntheticEvent)}})}};return a.createElement(a.Fragment,null,l(),C(e.filterType,e.value,e.booleanValues))};exports.GridColumnMenuFilterCell=D;
@@ -6,83 +6,72 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as r from "react";
9
+ import * as o from "react";
10
10
  import { DropDownList as i } from "@progress/kendo-react-dropdowns";
11
- import { Input as p, NumericTextBox as s } from "@progress/kendo-react-inputs";
12
- import { DatePicker as h } from "@progress/kendo-react-dateinputs";
13
- import { cellInputChange as l, cellOperatorChange as u, cellBoolDropdownChange as C } from "../filterCommon.mjs";
14
- class E extends r.Component {
15
- constructor(t) {
16
- super(t), this.renderOperatorEditor = () => {
17
- if (this.props.filterType === "boolean")
18
- return;
19
- const n = this.props.operators.find((o) => o.operator === this.props.operator) || null;
20
- return /* @__PURE__ */ r.createElement(i, { value: n, onChange: this.operatorChange, data: this.props.operators, textField: "text" });
21
- }, this.inputChange = this.inputChange.bind(this), this.operatorChange = this.operatorChange.bind(this), this.boolDropdownChange = this.boolDropdownChange.bind(this);
22
- }
23
- /**
24
- * @hidden
25
- */
26
- render() {
27
- return /* @__PURE__ */ r.createElement(r.Fragment, null, this.renderOperatorEditor(), this.filterComponent(this.props.filterType, this.props.value, this.props.booleanValues));
28
- }
29
- inputChange(t, n) {
30
- l(t, n, this.props);
31
- }
32
- operatorChange(t) {
33
- u(t, this.props.value, this.props.onChange);
34
- }
35
- boolDropdownChange(t) {
36
- C(t, this.props.onChange);
37
- }
38
- filterComponent(t, n, o) {
39
- switch (t) {
11
+ import { Input as C, NumericTextBox as d } from "@progress/kendo-react-inputs";
12
+ import { DatePicker as f } from "@progress/kendo-react-dateinputs";
13
+ import { cellOperatorChange as s, cellInputChange as E, cellBoolDropdownChange as v } from "../filterCommon.mjs";
14
+ const w = (e) => {
15
+ const u = () => {
16
+ if (e.filterType === "boolean")
17
+ return;
18
+ const n = e.operators.find((r) => r.operator === e.operator) || null;
19
+ return /* @__PURE__ */ o.createElement(i, { value: n, onChange: m, data: e.operators, textField: "text" });
20
+ }, l = (n, r) => {
21
+ E(n, r, e);
22
+ }, m = (n) => {
23
+ s(n, e.value, e.onChange);
24
+ }, h = (n) => {
25
+ v(n, e.onChange);
26
+ }, g = (n, r, c) => {
27
+ switch (n) {
40
28
  case "numeric":
41
- return /* @__PURE__ */ r.createElement(
42
- s,
29
+ return /* @__PURE__ */ o.createElement(
30
+ d,
43
31
  {
44
- value: n,
45
- onChange: (e) => {
46
- this.inputChange(e.value, e.syntheticEvent);
32
+ value: r,
33
+ onChange: (t) => {
34
+ l(t.value, t.syntheticEvent);
47
35
  },
48
36
  rangeOnEnter: !1
49
37
  }
50
38
  );
51
39
  case "date":
52
- return /* @__PURE__ */ r.createElement(
53
- h,
40
+ return /* @__PURE__ */ o.createElement(
41
+ f,
54
42
  {
55
- value: n,
56
- onChange: (e) => {
57
- this.inputChange(e.value, e.syntheticEvent);
43
+ value: r,
44
+ onChange: (t) => {
45
+ l(t.value, t.syntheticEvent);
58
46
  }
59
47
  }
60
48
  );
61
49
  case "boolean": {
62
- const e = (a) => a == null;
63
- return /* @__PURE__ */ r.createElement(
50
+ const t = (a) => a == null;
51
+ return /* @__PURE__ */ o.createElement(
64
52
  i,
65
53
  {
66
- onChange: this.boolDropdownChange,
67
- value: o.find((a) => a.operator === (e(n) ? "" : n)),
68
- data: o,
54
+ onChange: h,
55
+ value: c.find((a) => a.operator === (t(r) ? "" : r)),
56
+ data: c,
69
57
  textField: "text"
70
58
  }
71
59
  );
72
60
  }
73
61
  default:
74
- return /* @__PURE__ */ r.createElement(
75
- p,
62
+ return /* @__PURE__ */ o.createElement(
63
+ C,
76
64
  {
77
- value: n || "",
78
- onChange: (e) => {
79
- this.inputChange(e.target.value, e.syntheticEvent);
65
+ value: r || "",
66
+ onChange: (t) => {
67
+ l(t.target.value, t.syntheticEvent);
80
68
  }
81
69
  }
82
70
  );
83
71
  }
84
- }
85
- }
72
+ };
73
+ return /* @__PURE__ */ o.createElement(o.Fragment, null, u(), g(e.filterType, e.value, e.booleanValues));
74
+ };
86
75
  export {
87
- E as GridColumnMenuFilterCell
76
+ w as GridColumnMenuFilterCell
88
77
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),o=require("./GridColumnMenuFilterCell.js"),s=require("@progress/kendo-react-dropdowns");function d(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=d(u);class m extends e.Component{render(){const{firstFilterProps:r,hideSecondFilter:n,secondFilterProps:l,logicData:i,logicValue:a,onLogicChange:c}=this.props;return e.createElement(e.Fragment,null,e.createElement(o.GridColumnMenuFilterCell,{...r}),!n&&e.createElement(e.Fragment,null,e.createElement(s.DropDownList,{data:i,value:a,onChange:c,className:"k-filter-and",textField:"text"}),e.createElement(o.GridColumnMenuFilterCell,{...l})))}}exports.GridColumnMenuFilterUI=m;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),o=require("./GridColumnMenuFilterCell.js"),s=require("@progress/kendo-react-dropdowns");function d(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,l.get?l:{enumerable:!0,get:()=>e[n]})}}return r.default=e,Object.freeze(r)}const t=d(u),m=e=>{const{firstFilterProps:r,hideSecondFilter:n,secondFilterProps:l,logicData:i,logicValue:c,onLogicChange:a}=e;return t.createElement(t.Fragment,null,t.createElement(o.GridColumnMenuFilterCell,{...r}),!n&&t.createElement(t.Fragment,null,t.createElement(s.DropDownList,{data:i,value:c,onChange:a,className:"k-filter-and",textField:"text"}),t.createElement(o.GridColumnMenuFilterCell,{...l})))};exports.GridColumnMenuFilterUI=m;
@@ -8,22 +8,20 @@
8
8
  "use client";
9
9
  import * as e from "react";
10
10
  import { GridColumnMenuFilterCell as t } from "./GridColumnMenuFilterCell.mjs";
11
- import { DropDownList as m } from "@progress/kendo-react-dropdowns";
12
- class p extends e.Component {
13
- render() {
14
- const { firstFilterProps: r, hideSecondFilter: n, secondFilterProps: l, logicData: o, logicValue: a, onLogicChange: i } = this.props;
15
- return /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(t, { ...r }), !n && /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(
16
- m,
17
- {
18
- data: o,
19
- value: a,
20
- onChange: i,
21
- className: "k-filter-and",
22
- textField: "text"
23
- }
24
- ), /* @__PURE__ */ e.createElement(t, { ...l })));
25
- }
26
- }
11
+ import { DropDownList as c } from "@progress/kendo-react-dropdowns";
12
+ const d = (r) => {
13
+ const { firstFilterProps: l, hideSecondFilter: n, secondFilterProps: o, logicData: a, logicValue: i, onLogicChange: m } = r;
14
+ return /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(t, { ...l }), !n && /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(
15
+ c,
16
+ {
17
+ data: a,
18
+ value: i,
19
+ onChange: m,
20
+ className: "k-filter-and",
21
+ textField: "text"
22
+ }
23
+ ), /* @__PURE__ */ e.createElement(t, { ...o })));
24
+ };
27
25
  export {
28
- p as GridColumnMenuFilterUI
26
+ d as GridColumnMenuFilterUI
29
27
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),c=require("@progress/kendo-react-intl"),g=require("./GridColumnMenuItemGroup.js"),f=require("./GridColumnMenuItem.js"),u=require("../messages/index.js"),p=require("@progress/kendo-svg-icons");function m(r){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const n=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(o,e,n.get?n:{enumerable:!0,get:()=>r[e]})}}return o.default=r,Object.freeze(o)}const s=m(d);class l extends s.Component{constructor(){super(...arguments),this.onGroupClick=o=>{if(o.preventDefault(),this.props.onGroupChange){const{column:e}=this.props;if(!e.field)return;const n=(this.props.group||[]).slice(),t=n.findIndex(i=>i.field===e.field);t>-1?n.splice(t,1):n.push({field:e.field}),this.props.onGroupChange(n,o)}this.props.onCloseMenu&&this.props.onCloseMenu()}}render(){const{group:o,column:e}=this.props,n=c.provideLocalizationService(this),t=!!(o&&e.field&&o.find(a=>a.field===e.field)),i=t?u.ungroupColumn:u.groupColumn;return s.createElement(g.GridColumnMenuItemGroup,null,s.createElement(f.GridColumnMenuItem,{title:n.toLanguageString(i,u.messages[i]),iconClass:t?"k-i-ungroup":"k-i-group",svgIcon:t?p.ungroupIcon:p.groupIcon,onClick:this.onGroupClick}))}}c.registerForIntl(l);c.registerForLocalization(l);exports.GridColumnMenuGroup=l;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("react"),C=require("@progress/kendo-react-intl"),G=require("./GridColumnMenuItemGroup.js"),p=require("./GridColumnMenuItem.js"),l=require("../messages/index.js"),a=require("@progress/kendo-svg-icons");function I(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const u=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,u.get?u:{enumerable:!0,get:()=>e[n]})}}return o.default=e,Object.freeze(o)}const d=I(m),M=e=>{const o=t=>{if(t.preventDefault(),e.onGroupChange){if(!e.column.field)return;const r=(e.group||[]).slice(),s=r.findIndex(g=>g.field===e.column.field);s>-1?r.splice(s,1):r.push({field:e.column.field}),e.onGroupChange(r,t)}e.onCloseMenu&&e.onCloseMenu()},{group:n,column:u}=e,f=C.useLocalization(),i=!!(n&&u.field&&n.find(t=>t.field===u.field)),c=i?l.ungroupColumn:l.groupColumn;return d.createElement(G.GridColumnMenuItemGroup,null,d.createElement(p.GridColumnMenuItem,{title:f.toLanguageString(c,l.messages[c]),iconClass:i?"k-i-ungroup":"k-i-group",svgIcon:i?a.ungroupIcon:a.groupIcon,onClick:o}))};exports.GridColumnMenuGroup=M;
@@ -6,45 +6,34 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as t from "react";
10
- import { provideLocalizationService as u, registerForIntl as l, registerForLocalization as c } from "@progress/kendo-react-intl";
11
- import { GridColumnMenuItemGroup as m } from "./GridColumnMenuItemGroup.mjs";
12
- import { GridColumnMenuItem as a } from "./GridColumnMenuItem.mjs";
13
- import { messages as f, groupColumn as g, ungroupColumn as d } from "../messages/index.mjs";
14
- import { groupIcon as C, ungroupIcon as h } from "@progress/kendo-svg-icons";
15
- class s extends t.Component {
16
- constructor() {
17
- super(...arguments), this.onGroupClick = (n) => {
18
- if (n.preventDefault(), this.props.onGroupChange) {
19
- const { column: o } = this.props;
20
- if (!o.field)
21
- return;
22
- const e = (this.props.group || []).slice(), r = e.findIndex((i) => i.field === o.field);
23
- r > -1 ? e.splice(r, 1) : e.push({
24
- field: o.field
25
- }), this.props.onGroupChange(e, n);
26
- }
27
- this.props.onCloseMenu && this.props.onCloseMenu();
28
- };
29
- }
30
- /**
31
- * @hidden
32
- */
33
- render() {
34
- const { group: n, column: o } = this.props, e = u(this), r = !!(n && o.field && n.find((p) => p.field === o.field)), i = r ? d : g;
35
- return /* @__PURE__ */ t.createElement(m, null, /* @__PURE__ */ t.createElement(
36
- a,
37
- {
38
- title: e.toLanguageString(i, f[i]),
39
- iconClass: r ? "k-i-ungroup" : "k-i-group",
40
- svgIcon: r ? h : C,
41
- onClick: this.onGroupClick
42
- }
43
- ));
44
- }
45
- }
46
- l(s);
47
- c(s);
9
+ import * as m from "react";
10
+ import { useLocalization as a } from "@progress/kendo-react-intl";
11
+ import { GridColumnMenuItemGroup as g } from "./GridColumnMenuItemGroup.mjs";
12
+ import { GridColumnMenuItem as d } from "./GridColumnMenuItem.mjs";
13
+ import { messages as C, groupColumn as p, ungroupColumn as G } from "../messages/index.mjs";
14
+ import { groupIcon as I, ungroupIcon as M } from "@progress/kendo-svg-icons";
15
+ const L = (o) => {
16
+ const c = (n) => {
17
+ if (n.preventDefault(), o.onGroupChange) {
18
+ if (!o.column.field)
19
+ return;
20
+ const e = (o.group || []).slice(), t = e.findIndex((s) => s.field === o.column.field);
21
+ t > -1 ? e.splice(t, 1) : e.push({
22
+ field: o.column.field
23
+ }), o.onGroupChange(e, n);
24
+ }
25
+ o.onCloseMenu && o.onCloseMenu();
26
+ }, { group: i, column: l } = o, f = a(), u = !!(i && l.field && i.find((n) => n.field === l.field)), r = u ? G : p;
27
+ return /* @__PURE__ */ m.createElement(g, null, /* @__PURE__ */ m.createElement(
28
+ d,
29
+ {
30
+ title: f.toLanguageString(r, C[r]),
31
+ iconClass: u ? "k-i-ungroup" : "k-i-group",
32
+ svgIcon: u ? M : I,
33
+ onClick: c
34
+ }
35
+ ));
36
+ };
48
37
  export {
49
- s as GridColumnMenuGroup
38
+ L as GridColumnMenuGroup
50
39
  };