MCPcopy Create free account
hub / github.com/experdot/pointer / getContextMenuItems

Function getContextMenuItems

src/renderer/src/components/common/TreeView.tsx:677–776  ·  view source on GitHub ↗
(node: TreeNodeData<TItem, TFolder>)

Source from the content-addressed store, hash-verified

675 // ==================== 右键菜单 ====================
676
677 const getContextMenuItems = (node: TreeNodeData<TItem, TFolder>): MenuProps['items'] => {
678 if (node.isFolder) {
679 const folder = node.data as TFolder
680 const customItems = getFolderMenuItems?.(folder) || []
681 return [
682 ...(onCreateItemInFolder
683 ? [
684 {
685 key: 'createItem',
686 label: createItemLabel || '新建项目',
687 icon: <PlusOutlined />,
688 onClick: ({ domEvent }) => {
689 domEvent.stopPropagation()
690 onCreateItemInFolder(folder.id)
691 }
692 }
693 ]
694 : []),
695 ...(onCreateSubFolder
696 ? [
697 {
698 key: 'createFolder',
699 label: createFolderLabel || '新建文件夹',
700 icon: <FolderAddOutlined />,
701 onClick: ({ domEvent }) => {
702 domEvent.stopPropagation()
703 onCreateSubFolder(folder.id)
704 }
705 }
706 ]
707 : []),
708 ...(onCreateItemInFolder || onCreateSubFolder ? [{ type: 'divider' as const }] : []),
709 {
710 key: 'rename',
711 label: '重命名',
712 icon: <EditOutlined />,
713 extra: getShortcutLabel('treeRename'),
714 onClick: ({ domEvent }) => {
715 domEvent.stopPropagation()
716 startRenameByKey(folder.id)
717 }
718 },
719 ...customItems,
720 { type: 'divider' },
721 ...(clearFolder
722 ? [
723 {
724 key: 'clear',
725 label: '清空文件夹',
726 icon: <ClearOutlined />,
727 danger: true,
728 onClick: ({ domEvent }) => {
729 domEvent.stopPropagation()
730 handleClearFolder(folder)
731 }
732 }
733 ]
734 : []),

Callers 2

TreeNodeTitleInnerFunction · 0.70
TreeViewFunction · 0.70

Calls 3

getShortcutLabelFunction · 0.90
handleClearFolderFunction · 0.85
getItemMenuItemsFunction · 0.85

Tested by

no test coverage detected