Контекстное меню, как сделать контекстное меню ожидающим для jquery выполненных процедур - PullRequest
0 голосов
/ 23 апреля 2020

У меня странная проблема в контекстном меню. Я хочу отключить кнопки контекстного меню после получения данных с сервера, но код сначала отключает / включает, а затем получает результат с сервера. Я уже жду, но это не работает.

Я загружаю данные с сервера только по щелчку правой кнопкой мыши из-за производительности при первой загрузке данных из-за большого количества данных.

let itemsDisabled = []
disForm.find('#tableContainerOrderEntry' + formNum).contextmenu({
  delegate: ".hasmenu" + formNum,
  menu: [{
    title: "test1",
    cmd: 'menu1',
    disabled: function(key, opt) { //SECOND IN HERE; debugger; return !!itemsDisabled["menu1"];}}
    ],
    select: function(event, ui) {
      //RUN HERE FIRST
      var result = await isItemRefund(data.opOrderEntryView.orderEntryItemId)
      //AND LAST CONTINUE HERE
      if (result.data) {
        itemsDisabled["menu1"] = true
      } else {
        itemsDisabled["menu1"] = false
      }
    },
    beforeOpen: async function(event, ui) {}
...