Как установить иконку в колонке из ajax звонка - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь изменить значок, отображаемый в столбце, на вызов ajax при первом отображении таблицы. Это прекрасно работает, если у меня есть только:

 return "<i class='fas fa-eye fa-xs'></i>";

Вот настройка столбца

{title:"Review",formatter:reviewIcon, width:40,  headerVertical:true, align:"center", cellClick:reviewCellClick },

Мой ajax вызов довольно прост, возможно, не самый лучший, но он дает результат, который я Я после. Возвращаемое значение либо 0, либо что-то еще. Я забочусь только о 0.

var reviewIcon = function(cell, formatterParams, onRendered){ //plain text value
           var cell = cell.getData();
           var ag = cell.accessgroups;
           var xhr = new XMLHttpRequest();
           xhr.open("GET", "includes/getaccessgroups.php?ag="+ag, true);
           xhr.onreadystatechange = function() {
             if (xhr.readyState == 4 && xhr.status == 200) {
              var returned = xhr.response;
              if(returned < 1 ){
               return "<i class='fas fa-unlink fa-xs'></i>";
                    }
              else {
                return "<i class='fas fa-eye fa-xs'></i>";
                    }
               }
           }
         xhr.send();
  // return "<i class='fas fa-eye fa-xs'></i>";
};

По сути, я хочу, чтобы он показывал несвязанный, если это 0, и глаз, если это что-то еще.

Если возвращаемое значение равно 0, то отобразить fa-unlink В противном случае отображается fa-eye.

Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 10 апреля 2020

Вы не можете сделать это таким образом, боюсь, форматеры в Tabulator должны быть синхронными для быстрой визуализации таблицы (в противном случае таблица должна будет сделать запрос, прежде чем она сможет отрендерить каждую строку, которая таблица действительно запинается при прокрутке) .

Это означает, что средство форматирования завершит выполнение sh до того, как любые ajax запросы вернутся. Правильный подход заключается в обновлении данных перед их загрузкой в ​​таблицу с правильным значением для каждой строки.

...