@progress/kendo-react-grid
Version:
React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package
9 lines (8 loc) • 3.05 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("react"),P=require("../cells/GridFilterCell.js"),f=require("../filterCommon.js"),E=require("@progress/kendo-react-data-tools"),v=require("../messages/index.js"),S=require("@progress/kendo-react-common"),C=require("../utils/index.js"),k=require("./client/GridFilterCellContainer.js"),h=require("./client/GridFilterCellElementContainer.js");function w(t){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const c=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(a,n,c.get?c:{enumerable:!0,get:()=>t[n]})}}return a.default=t,Object.freeze(a)}const i=w(O),x="k-table-row k-filter-row",G=t=>{const a=(e,r)=>{let l=`${r?"k-grid-header-sticky":""}`;return t.sort&&t.sort.filter(d=>d.field===e).length>0&&(l+=" k-sorted"),l},n=t.filter&&t.filter.filters||[],c=e=>{if(e===void 0)return;const r=n.filter(l=>l.field===e);return r.length?r[0]:void 0};let L=0,R=-1;const q=t.columns.filter(e=>e.children.length===0).map(e=>{const r=f.getFilterType(e.filter),l=c(e.field),d=`${e.field} ${t.localization.toLanguageString(v.filterAriaLabel,v.messages[v.filterAriaLabel])}`;let u=l&&l.value;u===void 0&&(u=r==="text"?"":null);const b=e.filterable&&{field:e.field,title:e.filterTitle,value:u,operator:l&&l.operator,operators:f.operatorMap(t.filterOperators[r]||[],t.localization),booleanValues:f.operatorMap(f.booleanFilterValues,t.localization),filterType:r,ariaLabel:e.columnType==="reorder"?"":d,size:t.size},g=e.declarationIndex>=0?++R:--L,o={columnId:E.tableKeyboardNavigationTools.getFilterColumnId(e.id),navigatable:e.navigatable||t.navigatable,className:S.classNames("k-table-td",a(e.field,e.locked)||void 0),role:"gridcell",ariaLabel:e.columnType==="reorder"?void 0:d,ariaColumnIndex:e.ariaColumnIndex},y=C.clientColumn(e),T={column:y,filter:t.filter,field:e.field,tdProps:o,thProps:o,render:t.cellRender};let m=null;if(b&&e.columnType!=="reorder"){const s=e.filterCell?e.filterCell:P.GridFilterCell;m=i.createElement(k.GridFilterCellContainer,{...T,isClient:C.isClientReference(s)},i.createElement(s,{...b}))}const F=C.resolveCells(t.cells,e.cells);if(F&&F.filterCell){const s=F.filterCell,I=C.isClientReference(s);return i.createElement(k.GridFilterCellContainer,{key:g,...T,isClient:I,isCustom:!0},i.createElement(s,{key:g,...b,tdProps:o,thProps:o,index:R},m))}return i.createElement(h.GridFilterCellElementContainer,{key:g,column:y},i.createElement(E.HeaderTdElement,{...o},m))});return i.createElement("tr",{className:x,"aria-rowindex":t.ariaRowIndex,role:"row"},q)};exports.FILTER_ROW_CLASS=x;exports.FilterRow=G;