Переопределить обратный вызов для определенного элемента контекстного меню - PullRequest
0 голосов
/ 12 марта 2020

Я хочу добавить дополнительные логи c для элемента «Показать все» в контекстном меню программы просмотра. Не могли бы вы предложить какой-нибудь способ переопределить логи по умолчанию c? Я не могу найти хороший. Может быть, замена элемента своим собственным могла бы быть вариантом, но в этом случае нет способа удалить значение по умолчанию «Показать все» (и поместить мое собственное «Показать все» в ту же позицию в контекстном меню)

1 Ответ

0 голосов
/ 13 марта 2020

Поскольку, к сожалению, нет явного API, доступного для достижения этой цели, самым простым способом было бы работать с элементом меню и менять свой собственный обратный вызов на "мошеннический путь":

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 = //...
   }
})

...