@progress/kendo-react-grid
Version:
React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package
9 lines (8 loc) • 4.03 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 j=require("react"),A=require("./GridHeaderCell.js"),c=require("@progress/kendo-react-common"),z=require("@progress/kendo-react-data-tools"),g=require("../messages/index.js"),y=require("@progress/kendo-svg-icons"),i=require("../utils/index.js"),M=require("./client/GridHeaderCellContainer.js"),L=require("./client/HeaderRowDraggable.js"),W=require("./client/GridHeaderRowContainer.js"),V=require("./client/GridHeaderCellElementContainer.js"),_=require("./client/HeaderCellResizer.js");function $(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const d=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,d.get?d:{enumerable:!0,get:()=>e[n]})}}return o.default=e,Object.freeze(o)}const t=$(j),B={none:"none",asc:"ascending",desc:"descending"},F=e=>{const o=e.unstyled,n=o&&o.uGrid?o.uGrid:c.uGrid;let d=0,q=-1;const G=a=>{if(!e.sort)return null;const r=c.classNames(n.sortIcon({}));return a>=0&&[t.createElement("span",{key:1,className:r},t.createElement(c.IconWrap,{name:"sort-"+e.sort[a].dir+"-small",icon:e.sort[a].dir==="asc"?y.sortAscSmallIcon:y.sortDescSmallIcon})),e.sort.length>1&&t.createElement("span",{key:2,className:r},t.createElement("span",{className:c.classNames(n.sortOrder({}))},a+1))]},N=a=>a.map(r=>{var I;const l=e.columns[r],H=e.sortable&&l.sortable,u=e.sort?e.sort.findIndex(s=>s.field===l.field):-1,w=u>=0&&e.sort[u].dir||"none",h=l.columnMenu===null?null:l.columnMenu||e.columnMenu,P=l.menuIcon||e.columnMenuIcon,O=c.classNames(c.classNames(n.headerTh({first:l.kFirst,filterable:!!h,locked:l.locked,sorted:e.sort&&e.sort.some(s=>s.field===l.field)})),l.headerClassName);l.locked===!1&&(l.left=0);const D=e.localization.toLanguageString(g.sortAriaLabel,g.messages[g.sortAriaLabel]),x=l.isAccessible?{ariaSort:B[w],role:"columnheader",ariaColumnIndex:l.ariaColumnIndex,ariaSelected:!1,ariaDescription:H?D:""}:{role:"presentation"},S=l.declarationIndex>=0?++q:--d,m={field:l.field,title:l.title,selectionValue:(I=l.headerSelectionValue)!=null?I:e.headerSelectionValue,children:G(u),selectionChange:null,columnMenuWrapperProps:{column:{field:l.field,title:l.title,locked:l.locked,filter:l.filter,id:l.id},sortable:H&&e.sortable,sort:e.sort,filter:e.filter,filterable:e.filterable&&l.filterable,filterOperators:e.filterOperators,navigatable:e.navigatable,group:e.group,groupable:e.groupable,columnMenu:h,columnMenuIcon:P}},C={...x,colSpan:l.headerColSpan,rowSpan:l.rowSpan,className:O,columnId:l.id,navigatable:l.navigatable,role:"columnheader"},f=i.clientColumn(l),k={column:f,sortable:e.sortable,sort:e.sort,columnMenuWrapperProps:m.columnMenuWrapperProps},E=l.defaultHeaderCell?l.defaultHeaderCell:A.GridHeaderCell,R=[t.createElement(M.GridHeaderCellContainer,{key:1,...k,isClient:i.isClientReference(E)},t.createElement(E,{...m})),t.createElement(_.HeaderCellResizer,{key:2,column:f})],b=i.resolveCells(e.cells,l.cells);if(b&&b.headerCell){const s=b.headerCell,T=i.isClientReference(s);return t.createElement(M.GridHeaderCellContainer,{key:S,...k,thProps:C,isCustom:!0,isClient:T},t.createElement(s,{...m,thProps:C,index:r},R))}return t.createElement(V.GridHeaderCellElementContainer,{key:S,column:f},t.createElement(z.HeaderThElement,{...C},R))}),v=e.columns.map(i.clientColumn);return t.createElement(W.GridHeaderRowContainer,{sortable:e.sortable,sort:e.sort,navigatable:e.navigatable,groupable:e.groupable,columns:v},e.columnsMap.map((a,r)=>t.createElement(L.HeaderRowDraggable,{key:r,className:c.classNames(n.simpleTr({})),ariaRowIndex:r+1},N(a))))};exports.HeaderRow=F;