Как проверить правильность выбора нового поля ввода в Табуляторе вместо старого? - PullRequest
0 голосов
/ 15 января 2020

У меня есть это поле выбора в табуляторе, где 2 из 4 опций должны быть включены на основе другого поля в таблице. Чтобы проверить правильность ввода, я создал свою собственную проверку. Моя проблема заключается в том, что эта проверка проверяет старый ввод вместо нового ввода.

Рассматриваемый столбец определяется следующим образом:

{
  title: "Type", 
  field: "thresholdtype", 
  width: 150, 
  align: "center", 
  formatter: symbolTranslator, 
  editor: "select", 
  editorParams: [
    {
      label:"Gelijk Aan",
      value:"==",
    },
    {
      label:"Groter Gelijk",
      value:">=",
    },
    {
      label:"Kleiner Gelijk",
      value:"<=",
    },
    {
      label:"Ongelijk aan",
      value:"<>",
    }
  ],
  validator: validationCheck
}

Проверка проверки сначала проверяет, является ли ввод в другой столбец - это строка или целое число. На основании этой информации параметры должны стать доступными / недоступными. Функция, которая решает это, выглядит следующим образом:

var validationCheck = function(cell, value, parameters){
let row = cell.getRow();
let host = row.getCell("host").getValue();
let hostgroep = row.getCell("hostgroep").getValue();
let service = row.getCell("servicename").getValue();
let perfdata = row.getCell("perfname").getValue();
let isString = isStringValidateTabulator(host, hostgroep, service, perfdata);
let thresholdType = table.getRow(row).getCell("thresholdtype").getValue();
let validationStatus = true;
if(!thresholdType){
    validationStatus = false;
}
else if (isString > 0) {
    if (thresholdType == ">=" || thresholdType == "<="){
        validationStatus = false;
        //Pick (On)Gelijk Aan
    }
}
else {
    if(thresholdType == "<>" || thresholdType == "=="){
        validationStatus = false;
        //Pick Groter of Kleiner Dan
    }
}

return validationStatus;

С этим кодом табулятор проверяет значение полей выбора ДО того, как оно будет изменено. Оставив новое значение без проверки.

Что-то не так с моим кодом или это просто, как работает Tabulator?

...