UNPKG

@progress/kendo-react-data-tools

Version:

Includes React Pager & React Filter component, an intuitive interface to create complex filter descriptions. KendoReact Data Tools package

10 lines (9 loc) 2.91 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use client"; "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),v=require("@progress/kendo-react-intl"),M=require("@progress/kendo-react-dropdowns"),p=require("@progress/kendo-react-inputs"),x=require("@progress/kendo-react-dateinputs"),F=require("../messages/index.js"),s=require("./ColumnMenuOperators.js");function k(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>n[r]})}}return t.default=n,Object.freeze(t)}const e=k(b),C=n=>{const{filter:t,onFilterChange:r,operators:o,initialFilter:a}=n,i=e.useCallback(l=>{const u=t,c=l.target.value.operator,m=u?{...u,operator:c}:{value:a.value,operator:c};r.call(void 0,l.syntheticEvent,m,u)},[t,r,a]),d=e.useCallback(l=>{const u=l.target.value,c=t,m=c?{...c,value:u}:{value:u,operator:o[0].operator};r.call(void 0,l,m,c)},[t,r,o]),f=v.useLocalization(),g=o.map(l=>({...l,text:f.toLanguageString(l.text,F.messages[l.text])}));return e.createElement(e.Fragment,null,e.createElement(M.DropDownList,{value:g.find(l=>l.operator===t.operator)||null,onChange:i,data:g,textField:"text"}),e.createElement(n.input,{value:t.value,onChange:d}))},h=n=>{const{filter:t,onFilterChange:r}=n,o=e.useCallback(i=>r.call(void 0,i.syntheticEvent,{...t,value:i.value},t),[t,r]),a=s.ColumnMenuOperators.boolean[0].text;return e.createElement(p.Checkbox,{onChange:o,checked:t.value,label:v.useLocalization().toLanguageString(a,F.messages[a]),labelPlacement:"after"})},E=n=>{const t=e.useCallback(a=>e.createElement(p.Input,{...a,value:a.value||""}),[]),r=e.useRef(s.ColumnMenuOperators.text),o=e.useRef({operator:"",value:""});return e.createElement(C,{initialFilter:o.current,input:t,operators:n.operators||r.current,...n})},R=n=>{const t=e.useCallback(a=>e.createElement(p.NumericTextBox,{...a,value:a.value||null}),[]),r=e.useRef(s.ColumnMenuOperators.numeric),o=e.useRef({operator:"",value:null});return e.createElement(C,{initialFilter:o.current,input:t,operators:n.operators||r.current,...n})},O=n=>{const t=e.useCallback(a=>e.createElement(x.DatePicker,{...a,value:a.value||null}),[]),r=e.useRef(s.ColumnMenuOperators.date),o=e.useRef({operator:"",value:null});return e.createElement(C,{initialFilter:o.current,input:t,operators:n.operators||r.current,...n})};exports.ColumnMenuBooleanFilter=h;exports.ColumnMenuDateFilter=O;exports.ColumnMenuNumericFilter=R;exports.ColumnMenuTextFilter=E;