UNPKG

@progress/kendo-react-grid

Version:

React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package

10 lines (9 loc) 4.52 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 w=require("react"),e=require("@progress/kendo-svg-icons"),R=require("@progress/kendo-react-intl"),f=require("@progress/kendo-react-layout"),t=require("./enums.js");function M(n){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const c in n)if(c!=="default"){const s=Object.getOwnPropertyDescriptor(n,c);Object.defineProperty(r,c,s.get?s:{enumerable:!0,get:()=>n[c]})}}return r.default=n,Object.freeze(r)}const m=M(w),I={[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.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"}}},v=n=>{const{show:r,offset:c,dataItem:s,field:d,items:i,onClose:u,onSelect:x}=n,p=R.useLocalization(),C=m.useCallback(a=>{x.call(void 0,{event:a,dataItem:s,field:d})},[x,s,d]),l=m.useCallback(a=>{const o=a;return o.text&&o.name&&(o.text=p.toLanguageString(`contextMenu.${o.name}`,o.text||"")),o.items&&Array.isArray(o.items)&&(o.items=o.items.map(S=>l(S))),o},[p]),g=m.useMemo(()=>i&&i.map(a=>{const o=typeof a=="string"?I[a]:a;return l(o)}),[i,l]);return m.createElement(f.ContextMenu,{show:r,offset:c,items:g,onClose:u,onSelect:C})};exports.GridContextMenu=v;exports.contextMenuItemsMap=I;