Как настроить текст, чтобы изменить цвет, если результаты ELSE в виджете Thingsboard с javascript? - PullRequest
4 голосов
/ 23 марта 2019

У меня есть виджет таблицы ThingsBoard, отображающий состояние узла как 0 или 1. Где 0 = OK, 1 = ALARM.

Я уже создал nodeStatus для возврата строк 0 = OK, 1 = ALARM.


Sensor A Status


Ниже приведен мой текущий код на вкладке «Дополнительные данные» - использование функции содержимого ячейки':

var nodeStatus = entity['sensor.a'];

if (nodeStatus == '0')
{
    return "OK";
} else {
    return "ALARM";
}

Я хочу изменить цвет возвращаемой строки на следующий:

OK = зеленый шрифт

ALARM = красный шрифт

Каксделать это?



ОБНОВЛЕНИЕ: Я добавил дополнительный код в функцию стиля ячейки: f (значение), как предложено @lupz ниже.

Data key configuration



Теперь весь столбец меняется на красный:

Sensor A Status



Я также попытался включить «Использовать функцию пост-обработки данных» на вкладке «Настройки», без изменений:

enter image description here

ОБНОВЛЕНИЕ:

Я удалил забаву nodeStatusЦитата из «Функции содержимого ячейки» согласно комментариям ниже:

enter image description here

После удаления одинарных кавычек вокруг '0' рядом с if (значение=== 0), у меня та же проблема, что и выше (весь столбец красный).

enter image description here

1 Ответ

0 голосов
/ 25 марта 2019

Там должен быть другой скрипт-ввод с именем Cell style function: f(value) прямо в настройках расширенных ключей данных виджета таблицы.Его можно использовать для установки CSS-стилей для ячейки на основе ее значения:

/* Assuming value is your nodeStatus */

if (value === '0') {
    return {
        color: 'green'
    };
} else {
    return {
        color: 'red'
    };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...