Thingsboard Alarm Widget - пользовательское действие для «щелчка по строке» - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть виджет аварийных сигналов в состоянии панели мониторинга более высокого уровня, концентрирующий сигналы, поступающие от множества различных устройств. Мне нужно реализовать следующее: при щелчке в строке тревоги необходимо открыть новое состояние панели мониторинга с подробной информацией об устройстве-источнике тревоги. Для этого я использую виджет «On row click» action типа «Custom Action». Ниже кода, который я использую:

var $injector = widgetContext.$scope.$injector;

$injector.get('deviceService').getDevice (entityId.id).then(function(device)
{
var params = {
entityId: entityId,
entityName: entityName
};

Widgetcontext.statecontroller.openState('operacao', params, false);
});

Однако, когда в виджете щелкают строку, ничего не происходит.

Может кто-нибудь помочь понять, что я здесь делаю неправильно?

Спасибо.

1 Ответ

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

это может вам помочь:

, поэтому код, который я использую для перехода от одного da sh к другому:

ctx.stateController.updateState(page, params, false);

Где страница здесь - это переменная с именем страница, которую вы настроили на своей панели инструментов

params, обычно должна передавать entityId и entityName:

var params = {
    entityId: entityId,
    entityName: entityName,
    rowIndex: rowIndex
}  

, и это почти то, что rowIndex - это значение, которое вы можете передать следующей стр.

 $scope.doSomething = function($event) {
    if ($event) {
        $event.stopPropagation();
    }

    var rowIndex = $event.currentTarget.rowIndex;
    entity = self.ctx.defaultSubscription.data[0].datasource;


    var entityId = entity.entityId;
    var entityName = entity.entityName;
    var params = {
        entityId: entityId,
        entityName: entityName,
        rowIndex: rowIndex
    };


    var page = 'sets';
    ctx.stateController.updateState(page, params, false);
}

и это пример того, как я использую это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...