ThingsBoard:如何单击打开对话框

时间:2019-09-10 18:02:29

标签: action thingsboard mddialog

我正在尝试简化Thingsboard中的功能。当用户单击实体列表的行(在仪表板内或仪表板外)时,我想打开一个对话框。 我已经看到您可以使用Angular的 $ mdDialog 来做到这一点。但是我对Angular完全陌生,不知道如何应用它。

我在github上找到了以下示例代码:

$mdDialog.show(
  $mdDialog.alert()
    .parent(angular.element(angular.element(self.ctx.$container))
    .clickOutsideToClose(true)
    .title('This is an alert title')
    .textContent('You can specify some description text in here.')
    .ariaLabel('Alert Dialog Demo')
    .ok('Got it!')
    .targetEvent(evt)
);

因此,我在自定义操作中使用了此代码,但不会执行任何操作。如何使用 $ mdDialog 在Thingsboard中创建一个新的弹出窗口?

1 个答案:

答案 0 :(得分:0)

阅读了很多有关AngularJS的知识并了解了小部件上下文之后,我了解到您需要将AngularJS中的每个服务提取到小部件上下文中。 针对这种特殊情况的处理方式是:

$mdDialog = widgetContext.$scope.$injector.get('$mdDialog')

现在$ mdDialog可以正常使用了。