MCPcopy Create free account
hub / github.com/MankaiHuang/screen-visualization / openMenu

Function openMenu

src/components/Workspace/Layer/index.jsx:105–134  ·  view source on GitHub ↗
(e, isSubMenu = false, groupId = null, isClickMenu = true)

Source from the content-addressed store, hash-verified

103
104 }
105 function openMenu (e, isSubMenu = false, groupId = null, isClickMenu = true) {
106 // isSubMenu 是否点击的子菜单根节点
107 // groupId 点击子菜单根节点的 groupId
108 // isClickMenu 是否点击的菜单
109 if (e.target.tagName === 'UL' || !isClickMenu) {
110 isShowMenu && setIsShowMenu(false) // 不显示菜单 并把菜单关掉
111 e.preventDefault()
112 return;
113 };
114 const id = e.target.dataset.id || e.target.parentElement.dataset.id
115 if (!props.nowId.includes(id)) {// 右键的那个元素不包含在nowId中 则替换
116 props.onPropertyChange({ selectKeys: [id] }, null, 'layerClick');
117 }
118 // 点击 submenu && 不是点击menu-item
119 if (isSubMenu && !id) {
120 props.onPropertyChange({ groupId }, null, 'layerClickGroup'); // 发送点击组事件
121 setIsClickSubMenu(true) // 右键点击submenu
122 } else {
123 setIsClickSubMenu(false)
124 }
125 setMenuStatus(getGuid()) // 确保再次右键弹出菜单
126 const property = {
127 clientX: e.clientX,
128 clientY: e.clientY
129 }
130 setEventProperty(property)
131 setIsShowMenu(true)
132 isSubMenu && e.stopPropagation() // 点击submenu阻止冒泡
133 e.preventDefault()
134 }
135 function allowDrop (e) {
136 e.preventDefault()
137 }

Callers 2

renderMenuFunction · 0.85
LayerFunction · 0.85

Calls 1

getGuidFunction · 0.90

Tested by

no test coverage detected