@progress/kendo-react-grid
Version:
React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package
10 lines (9 loc) • 5.45 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
"use client";
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react"),e=require("@progress/kendo-svg-icons"),v=require("@progress/kendo-react-intl"),M=require("@progress/kendo-react-layout"),t=require("./enums.js");function R(n){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const c in n)if(c!=="default"){const r=Object.getOwnPropertyDescriptor(n,c);Object.defineProperty(i,c,r.get?r:{enumerable:!0,get:()=>n[c]})}}return i.default=n,Object.freeze(i)}const s=R(S),x={[t.GridContextMenuItemNames.create]:{name:"create",text:"Add",icon:"plus",svgIcon:e.plusIcon,data:{action:"AddCommand"}},[t.GridContextMenuItemNames.edit]:{name:"edit",text:"Edit",icon:"pencil",svgIcon:e.pencilIcon,data:{action:"EditCommand"}},[t.GridContextMenuItemNames.delete]:{name:"delete",text:"Delete",icon:"trash",svgIcon:e.trashIcon,data:{action:"DeleteCommand"}},[t.GridContextMenuItemNames.select]:{name:"select",text:"Select",icon:"table-body",svgIcon:e.tableBodyIcon,items:[{name:"selectRow",text:"Row",icon:"table-row-groups",svgIcon:e.tableRowGroupsIcon,data:{action:"SelectRowCommand"}},{name:"selectAllRows",text:"All rows",icon:"grid",svgIcon:e.gridIcon,data:{action:"SelectAllRowsCommand"}},{name:"clearSelection",text:"Clear selection",icon:"table-unmerge",svgIcon:e.tableUnmergeIcon,data:{action:"ClearSelectionCommand"}}]},[t.GridContextMenuItemNames.pinRow]:{name:"pinRow",text:"Pin row",icon:"pin-outline",svgIcon:e.pinOutlineIcon,items:[{name:"pinTop",text:"Pin to Top",icon:"pin-outline-top",svgIcon:e.pinOutlineTopIcon,data:{action:"PinTopCommand"}},{name:"pinBottom",text:"Pin to Bottom",icon:"pin-outline-bottom",svgIcon:e.pinOutlineBottomIcon,data:{action:"PinBottomCommand"}},{name:"unpin",text:"Unpin",icon:"unpin-outline",svgIcon:e.unpinOutlineIcon,data:{action:"UnpinCommand"}}]},[t.GridContextMenuItemNames.pinTop]:{name:"pinTop",text:"Pin to Top",icon:"pin-outline-top",svgIcon:e.pinOutlineTopIcon,data:{action:"PinTopCommand"}},[t.GridContextMenuItemNames.pinBottom]:{name:"pinBottom",text:"Pin to Bottom",icon:"pin-outline-bottom",svgIcon:e.pinOutlineBottomIcon,data:{action:"PinBottomCommand"}},[t.GridContextMenuItemNames.unpin]:{name:"unpin",text:"Unpin",icon:"unpin-outline",svgIcon:e.unpinOutlineIcon,data:{action:"UnpinCommand"}},[t.GridContextMenuItemNames.copySelection]:{name:"copySelection",text:"Copy selection",icon:"page-header-section",svgIcon:e.pageHeaderSectionIcon,data:{action:"CopySelectionCommand"},options:"withHeaders"},[t.GridContextMenuItemNames.copySelectionNoHeaders]:{name:"copySelectionNoHeaders",text:"Copy selection (No Headers)",icon:"file-txt",svgIcon:e.fileTxtIcon,data:{action:"CopySelectionCommand"}},[t.GridContextMenuItemNames.paste]:{name:"paste",text:"Paste (use CTRL/⌘ + V)",icon:"clipboard",svgIcon:e.clipboardIcon,data:{action:"PasteCommand"}},[t.GridContextMenuItemNames.reorderRow]:{name:"reorderRow",text:"Reorder row",icon:"caret-alt-expand",svgIcon:e.caretAltExpandIcon,items:[{name:"reorderRowUp",text:"Up",icon:"caret-alt-up",svgIcon:e.caretAltUpIcon,data:{action:"ReorderRowCommand"}},{name:"reorderRowDown",text:"Down",icon:"caret-alt-down",svgIcon:e.caretAltDownIcon,data:{action:"ReorderRowCommand"}},{name:"reorderRowTop",text:"Top",icon:"caret-alt-to-top",svgIcon:e.caretAltToTopIcon,data:{action:"ReorderRowCommand"}},{name:"reorderRowBottom",text:"Bottom",icon:"caret-alt-to-bottom",svgIcon:e.caretAltToBottomIcon,data:{action:"ReorderRowCommand"}}]},[t.GridContextMenuItemNames.exportPDF]:{name:"exportPDF",text:"Export to PDF",icon:"file-pdf",svgIcon:e.filePdfIcon,data:{action:"ExportPDFCommand"}},[t.GridContextMenuItemNames.exportExcel]:{name:"exportExcel",text:"Export to Excel",icon:"file-excel",svgIcon:e.fileExcelIcon,items:[{name:"exportToExcelAll",text:"All",data:{action:"ExportExcelCommand"}},{name:"exportToExcelSelection",text:"Selection",data:{action:"ExportExcelCommand"},options:"selection,withHeaders"},{name:"exportToExcelSelectionNoHeaders",text:"Selection (No Headers)",data:{action:"ExportExcelCommand"},options:"selection"}]},[t.GridContextMenuItemNames.separator]:{name:"separator",separator:!0},[t.GridContextMenuItemNames.sortAsc]:{name:"sortAsc",text:"Sort Ascending",icon:"sort-asc-small",svgIcon:e.sortAscSmallIcon,data:{action:"SortCommand"}},[t.GridContextMenuItemNames.sortDesc]:{name:"sortDesc",text:"Sort Descending",icon:"sort-desc-small",svgIcon:e.sortDescSmallIcon,data:{action:"SortCommand"}}},f=n=>{const{show:i,offset:c,dataItem:r,field:d,items:m,onClose:I,onSelect:p}=n,u=v.useLocalization(),C=s.useCallback(a=>{p.call(void 0,{event:a,dataItem:r,field:d})},[p,r,d]),l=s.useCallback(a=>{const o=a;return o.text&&o.name&&(o.text=u.toLanguageString(`contextMenu.${o.name}`,o.text||"")),o.items&&Array.isArray(o.items)&&(o.items=o.items.map(w=>l(w))),o},[u]),g=s.useMemo(()=>m&&m.map(a=>{const o=typeof a=="string"?x[a]:a;return l(o)}),[m,l]);return s.createElement(M.ContextMenu,{show:i,offset:c,items:g,onClose:I,onSelect:C})};exports.GridContextMenu=f;exports.contextMenuItemsMap=x;