在 WSO2 DAS 的仪表板设计器中创建一个新页面

Create a new page in dashboard designer in WSO2 DAS

我尝试在 wso2 的数据分析服务器 (DAS) 中的仪表板设计器 jaggery 应用程序中创建一个新页面。为此,我在 /themes/template 中添加了一个新模板,在本例中为 delete-gadget.jag,我在 /controllers 中添加了一个同名 delete-gadget.jag 的新控制器。在 /themes/template 中,我更新了 index.jag 并为 delete-gaget.jag 添加了一个新的 link。单击此 link 时,应用程序显示 404。

这是我的代码:

在 /controllers/delete-gadget.jag:

<%
(function() {
    if (!user) {
        sendLogin();
        return;
    }

    if(userDomain !== (urlDomain || superDomain)) {
        response.sendError(401, 'designer access not authorized of this tenant');
        return;
    }
 
 var configs = require('/configs/designer.json');

    if (!utils.allowed(user.roles, configs.designers)) {
        response.sendError(401, 'designer access not authorized');
        return;
    }

    include(utils.resolvePath('templates/delete-gadget.jag'));
} ()); %>

在/themes/template/index.jag中添加新的link:

<li><a href="<%=tenantedUrlPrefix%>delete-gadget">
    <span class="fw-stack">
    <i class="fw fw-ring fw-stack-2x"></i>
    <i class="fw fw-delete fw-stack-1x"></i>
    </span> <%= i18n.localize("delete.gadget.lable")%></a>
 </li>

当我点击这个 link:

您需要在 jaggery 应用程序的根文件夹中的 jaggery.conf 文件中添加路由定义。在您的例子中是文件 <WSO2DAS_HOME>/repository/deployment/server/jaggeryapps/portal/jaggery.conf。我建议您首先复制用于创建新小工具的条目,然后进行相关更改。在您的情况下,它将在 urlMappings 列表中添加以下项目:

{
  "url": "/create-gadget",
  "path": "/routers/tenant.jag"
},