代码之家  ›  专栏  ›  技术社区  ›  Ashy Ashcsi

节点红色:在API响应上添加模式对话框

  •  0
  • Ashy Ashcsi  · 技术社区  · 6 年前

    我需要一些关于节点红色流编辑器的帮助。我修改了导出节点到剪贴板模式对话框,并在“导出到剪贴板”后添加了一个按钮。单击按钮后,我会进行一个外部API调用,该调用工作正常,并从服务器得到响应。进行API调用的代码在/api/editor/code.js文件中编写,如下所示:

    const { flows } = redNodes.getFlows();
    axios.post(externalUrl, flows)
        .then((response) => {
            // nice little modal dialog on response
            res.status(200).send(response.data.message);
        })
        .catch((error) => {
            console.log('error', error.message);
        });
    

    我想在node red应用程序中的模式对话框上显示从API调用中获得的信息。我怎样才能做到?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  2
  •   knolleary    6 年前

    您有两种选择:

    1. node red使用jquery用户界面,因此您可以创建自己的 jQuery Dialog 无论你想要什么内容。有很多使用该API的例子-我不会在这里重复它们。

    2. 节点红色提供 RED.notify 下拉通知的API。您可以使用它来显示结果。

    最简单的是,您可以调用:

    RED.notify("This is my message");
    

    该消息将显示5秒的默认时间。

    如果你想让它一直保持到用户点击一个按钮,你可以做如下的事情:

    var myNotification = RED.notify("This is the message to display",{
            modal: true,
            fixed: true,
            buttons: [
                {
                    text: "cancel",
                    click: function(e) {
                        myNotification.close();
                    }
                },
                {
                    text: "okay",
                    class:"primary",
                    click: function(e) {
                        myNotification.close();
                    }
                }
            ]
        });