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

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 (68) 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/README.md +34 -33
  8. package/VirtualScroll.js +1 -1
  9. package/VirtualScroll.mjs +63 -58
  10. package/VirtualScrollFixed.js +1 -1
  11. package/VirtualScrollFixed.mjs +16 -14
  12. package/cells/GridCell.mjs +6 -3
  13. package/cells/GridDetailCell.mjs +6 -3
  14. package/cells/GridEditCell.mjs +10 -38
  15. package/cells/GridFilterCell.js +1 -1
  16. package/cells/GridFilterCell.mjs +99 -113
  17. package/cells/GridGroupCell.mjs +24 -30
  18. package/cells/GridHierarchyCell.mjs +2 -13
  19. package/cells/GridSelectionCell.mjs +3 -24
  20. package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
  21. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +132 -184
  22. package/columnMenu/GridColumnMenuFilter.js +1 -1
  23. package/columnMenu/GridColumnMenuFilter.mjs +127 -170
  24. package/columnMenu/GridColumnMenuFilterCell.js +1 -1
  25. package/columnMenu/GridColumnMenuFilterCell.mjs +42 -61
  26. package/columnMenu/GridColumnMenuFilterUI.js +1 -1
  27. package/columnMenu/GridColumnMenuFilterUI.mjs +15 -24
  28. package/columnMenu/GridColumnMenuGroup.js +1 -1
  29. package/columnMenu/GridColumnMenuGroup.mjs +29 -40
  30. package/columnMenu/GridColumnMenuItemContent.js +1 -1
  31. package/columnMenu/GridColumnMenuItemContent.mjs +7 -20
  32. package/columnMenu/GridColumnMenuItemGroup.js +1 -1
  33. package/columnMenu/GridColumnMenuItemGroup.mjs +7 -20
  34. package/columnMenu/GridColumnMenuSort.js +1 -1
  35. package/columnMenu/GridColumnMenuSort.mjs +42 -53
  36. package/columnMenu/GridColumnMenuWrapper.mjs +6 -18
  37. package/dist/cdn/js/kendo-react-grid.js +1 -1
  38. package/drag/ColumnDraggable.js +1 -1
  39. package/drag/ColumnDraggable.mjs +34 -33
  40. package/drag/ColumnResize.js +1 -1
  41. package/drag/ColumnResize.mjs +36 -44
  42. package/drag/GroupingIndicator.js +1 -1
  43. package/drag/GroupingIndicator.mjs +51 -83
  44. package/filterCommon.mjs +1 -3
  45. package/footer/Footer.js +1 -1
  46. package/footer/Footer.mjs +40 -57
  47. package/footer/FooterRow.mjs +6 -5
  48. package/header/FilterRow.js +1 -1
  49. package/header/FilterRow.mjs +69 -82
  50. package/header/GridHeaderSelectionCell.js +1 -1
  51. package/header/GridHeaderSelectionCell.mjs +28 -35
  52. package/header/GroupPanel.js +1 -1
  53. package/header/GroupPanel.mjs +43 -49
  54. package/header/Header.js +1 -1
  55. package/header/Header.mjs +70 -74
  56. package/header/HeaderRow.mjs +24 -27
  57. package/index.d.mts +259 -724
  58. package/index.d.ts +259 -724
  59. package/index.js +1 -1
  60. package/index.mjs +78 -80
  61. package/messages/index.mjs +4 -1
  62. package/package-metadata.mjs +1 -1
  63. package/package.json +11 -11
  64. package/rows/GridDetailRow.js +1 -1
  65. package/rows/GridDetailRow.mjs +2 -10
  66. package/rows/GridRow.mjs +10 -8
  67. package/utils/index.js +1 -1
  68. package/utils/index.mjs +35 -39
@@ -6,182 +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: [
31
- e,
32
- ...t.filters
33
- ]
34
- }), this.isControlled = () => this.props.expanded !== void 0, this.onFilterExpand = () => {
35
- const e = this.isControlled(), t = !(e ? this.props.expanded : this.state.expanded);
36
- this.props.onExpandChange && this.props.onExpandChange(t), e || this.setState({
37
- expanded: t
38
- });
39
- }, this.firstFilterChange = (e) => {
40
- this.filterChange(0, e);
41
- }, this.secondFilterChange = (e) => {
42
- this.filterChange(1, e);
43
- }, this.filterChange = (e, t) => {
44
- const r = this.state.filterGroup.filters.map((s, l) => l === e ? {
45
- ...s,
46
- value: t.value,
47
- operator: t.operator
48
- } : s);
49
- this.setState({
50
- filterGroup: {
51
- ...this.state.filterGroup,
52
- filters: r
53
- }
54
- });
55
- }, this.logicChange = (e) => {
56
- this.setState({
57
- filterGroup: {
58
- ...this.state.filterGroup,
59
- logic: e.target.value.operator
60
- }
61
- });
62
- }, this.clear = (e) => {
63
- if (e.preventDefault(), !this.props.onFilterChange)
64
- return;
65
- const t = this.props.column.field, r = C(this.props.filter), s = u(t, this.props.filter), l = r.filters.filter((n) => n !== s);
66
- l.length ? this.props.onFilterChange({ ...r, filters: l }, e) : this.props.onFilterChange(null, e), this.props.onCloseMenu && this.props.onCloseMenu();
67
- }, this.currentFilterGroup = () => ({
68
- ...this.state.filterGroup,
69
- filters: this.state.filterGroup.filters.filter((e) => e.value !== void 0 && e.value !== null && e.value !== "" || e.value === null && e.operator)
70
- }), this.submit = (e) => {
71
- if (e.preventDefault(), !this.props.onFilterChange)
72
- return;
73
- const t = this.props.column.field, r = C(this.props.filter), s = u(t, this.props.filter), l = this.currentFilterGroup();
74
- let n = null;
75
- if (s && l.filters.length > 0) {
76
- const f = r.filters.map((p) => p === s ? l : p);
77
- n = {
78
- ...r,
79
- filters: f
80
- };
81
- } else if (l.filters.length === 0) {
82
- const f = r.filters.filter((p) => p !== s);
83
- f.length && (n = {
84
- ...r,
85
- filters: f
86
- });
87
- } else
88
- n = {
89
- ...r,
90
- filters: [...r.filters, l]
91
- };
92
- this.props.onFilterChange(n, e), this.props.onCloseMenu && this.props.onCloseMenu();
93
- };
94
- let o;
95
- if (i.column && i.column.field) {
96
- const e = L(i.column.filter), t = R(i.filterOperators, e);
97
- o = u(i.column.field, i.filter), o = o ? {
98
- ...o,
99
- filters: o.filters.map((r) => ({ ...r }))
27
+ filters: t.filters.map((n) => ({ ...n }))
100
28
  } : {
101
29
  logic: "and",
102
30
  filters: [
103
- { field: i.column.field, operator: t, value: c(t) ? null : void 0 },
104
- { field: i.column.field, operator: t, value: c(t) ? null : void 0 }
31
+ {
32
+ field: e.column.field,
33
+ operator: l,
34
+ value: h(l) ? null : void 0
35
+ },
36
+ {
37
+ field: e.column.field,
38
+ operator: l,
39
+ value: h(l) ? null : void 0
40
+ }
105
41
  ]
106
- }, 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
107
136
  }
108
- this.state = {
109
- expanded: i.expanded || !1,
110
- filterGroup: o
111
- };
112
- }
113
- /**
114
- * @hidden
115
- */
116
- render() {
117
- const { column: i, filterUI: o, hideSecondFilter: e, filterOperators: t } = this.props;
118
- if (!i || !i.field)
119
- return /* @__PURE__ */ a.createElement("div", null);
120
- 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 = {
121
- field: i.field,
122
- value: n[0].value,
123
- operator: n[0].operator,
124
- operators: f,
125
- booleanValues: p,
126
- onChange: this.firstFilterChange,
127
- filterType: r
128
- }, P = {
129
- field: i.field,
130
- value: n[1].value,
131
- operator: n[1].operator,
132
- operators: f,
133
- booleanValues: p,
134
- onChange: this.secondFilterChange,
135
- filterType: r
136
- }, G = this.state.filterGroup.logic, x = m(q, l), d = {
137
- value: x.find((B) => B.operator === (G === null ? "" : G)),
138
- onChange: this.logicChange,
139
- data: x
140
- }, E = o, S = {
141
- firstFilterProps: O,
142
- secondFilterProps: P,
143
- logicData: d.data,
144
- logicValue: d.value,
145
- onLogicChange: d.onChange,
146
- hideSecondFilter: s
147
- }, 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;
148
- return /* @__PURE__ */ a.createElement(w, null, !I && /* @__PURE__ */ a.createElement(
149
- T,
150
- {
151
- title: l.toLanguageString(b, g[b]),
152
- iconClass: "k-i-filter",
153
- svgIcon: K,
154
- onClick: this.onFilterExpand
155
- }
156
- ), /* @__PURE__ */ a.createElement(z, { show: I || !!V }, /* @__PURE__ */ a.createElement(
157
- "form",
158
- {
159
- className: "k-filter-menu",
160
- onSubmit: this.submit,
161
- onReset: this.clear
162
- },
163
- /* @__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(
164
- k,
165
- {
166
- themeColor: "primary",
167
- disabled: !U
168
- },
169
- l.toLanguageString(D, g[D])
170
- ), /* @__PURE__ */ a.createElement(
171
- k,
172
- {
173
- type: "reset"
174
- },
175
- l.toLanguageString(M, g[M])
176
- )))
177
- )));
178
- }
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])))))));
179
138
  };
180
- v.active = (i, o) => !!u(i, o);
181
- let F = v;
182
- H(F);
183
139
  export {
184
- F as GridColumnMenuFilter,
185
- u as filterGroupByField,
186
- C as rootFilterOrDefault
140
+ pe as GridColumnMenuFilter,
141
+ v as filterGroupByField,
142
+ xe as isColumnMenuFilterActive,
143
+ S as rootFilterOrDefault
187
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,91 +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(
21
- i,
22
- {
23
- value: n,
24
- onChange: this.operatorChange,
25
- data: this.props.operators,
26
- textField: "text"
27
- }
28
- );
29
- }, this.inputChange = this.inputChange.bind(this), this.operatorChange = this.operatorChange.bind(this), this.boolDropdownChange = this.boolDropdownChange.bind(this);
30
- }
31
- /**
32
- * @hidden
33
- */
34
- render() {
35
- return /* @__PURE__ */ r.createElement(r.Fragment, null, this.renderOperatorEditor(), this.filterComponent(this.props.filterType, this.props.value, this.props.booleanValues));
36
- }
37
- inputChange(t, n) {
38
- l(t, n, this.props);
39
- }
40
- operatorChange(t) {
41
- u(t, this.props.value, this.props.onChange);
42
- }
43
- boolDropdownChange(t) {
44
- C(t, this.props.onChange);
45
- }
46
- filterComponent(t, n, o) {
47
- 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) {
48
28
  case "numeric":
49
- return /* @__PURE__ */ r.createElement(
50
- s,
29
+ return /* @__PURE__ */ o.createElement(
30
+ d,
51
31
  {
52
- value: n,
53
- onChange: (e) => {
54
- this.inputChange(e.value, e.syntheticEvent);
32
+ value: r,
33
+ onChange: (t) => {
34
+ l(t.value, t.syntheticEvent);
55
35
  },
56
36
  rangeOnEnter: !1
57
37
  }
58
38
  );
59
39
  case "date":
60
- return /* @__PURE__ */ r.createElement(
61
- h,
40
+ return /* @__PURE__ */ o.createElement(
41
+ f,
62
42
  {
63
- value: n,
64
- onChange: (e) => {
65
- this.inputChange(e.value, e.syntheticEvent);
43
+ value: r,
44
+ onChange: (t) => {
45
+ l(t.value, t.syntheticEvent);
66
46
  }
67
47
  }
68
48
  );
69
49
  case "boolean": {
70
- const e = (a) => a == null;
71
- return /* @__PURE__ */ r.createElement(
50
+ const t = (a) => a == null;
51
+ return /* @__PURE__ */ o.createElement(
72
52
  i,
73
53
  {
74
- onChange: this.boolDropdownChange,
75
- value: o.find((a) => a.operator === (e(n) ? "" : n)),
76
- data: o,
54
+ onChange: h,
55
+ value: c.find((a) => a.operator === (t(r) ? "" : r)),
56
+ data: c,
77
57
  textField: "text"
78
58
  }
79
59
  );
80
60
  }
81
61
  default:
82
- return /* @__PURE__ */ r.createElement(
83
- p,
62
+ return /* @__PURE__ */ o.createElement(
63
+ C,
84
64
  {
85
- value: n || "",
86
- onChange: (e) => {
87
- this.inputChange(e.target.value, e.syntheticEvent);
65
+ value: r || "",
66
+ onChange: (t) => {
67
+ l(t.target.value, t.syntheticEvent);
88
68
  }
89
69
  }
90
70
  );
91
71
  }
92
- }
93
- }
72
+ };
73
+ return /* @__PURE__ */ o.createElement(o.Fragment, null, u(), g(e.filterType, e.value, e.booleanValues));
74
+ };
94
75
  export {
95
- E as GridColumnMenuFilterCell
76
+ w as GridColumnMenuFilterCell
96
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,29 +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 {
15
- firstFilterProps: r,
16
- hideSecondFilter: n,
17
- secondFilterProps: l,
18
- logicData: o,
19
- logicValue: a,
20
- onLogicChange: i
21
- } = this.props;
22
- return /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(t, { ...r }), !n && /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(
23
- m,
24
- {
25
- data: o,
26
- value: a,
27
- onChange: i,
28
- className: "k-filter-and",
29
- textField: "text"
30
- }
31
- ), /* @__PURE__ */ e.createElement(t, { ...l })));
32
- }
33
- }
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
+ };
34
25
  export {
35
- p as GridColumnMenuFilterUI
26
+ d as GridColumnMenuFilterUI
36
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
  };
@@ -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 s=require("react"),c=require("@progress/kendo-react-animation"),i=require("@progress/kendo-react-common");function l(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const o=l(s);class a extends o.Component{render(){return o.createElement("div",{id:this.props.id,className:i.classNames("k-columnmenu-item-content",this.props.className),style:this.props.style,tabIndex:0},o.createElement(c.Reveal,{style:{position:"relative",display:"block"}},this.props.show?this.props.children:null))}}exports.GridColumnMenuItemContent=a;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),i=require("@progress/kendo-react-animation"),s=require("@progress/kendo-react-common");function u(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const c=u(l),m=e=>{const{children:n,id:t,className:o,style:r,show:a}=e;return c.createElement("div",{id:t,className:s.classNames("k-columnmenu-item-content",o),style:r,tabIndex:0},c.createElement(i.Reveal,{style:{position:"relative",display:"block"}},a?n:null))};exports.GridColumnMenuItemContent=m;