覆盖特定上下文菜单项的回调

Override callback for particular context menu item

我想为查看器上下文菜单中的 'Show all' 项添加一些额外的逻辑。你能建议一些方法来覆盖默认逻辑吗?我找不到一个好的。也许用我自己的替换该项目可能是一个选项,但在这种情况下无法删除默认值 "Show all"(并将我自己的 "Show all" 放入上下文菜单中的相同位置)

由于没有明确的 API 公开来实现这一点,不幸的是,最简单的方法是对菜单项进行操作并在您自己的回调中交换 "rogue way":

NOP_VIEWER.registerContextMenuCallback('overrideIsolate',(menu,status)=>{
   if(status.hasSelected){
   const isolateButton = menu.children[0]
   const newIsolateButton = isolateButton .cloneNode(true);
   isolateButton.parentNode.replaceChild(newIsolateButton , old_element);
   newIsolateButton.onclick = //...
   }
})