Создайте новую страницу в дизайнере панели инструментов в WSO2 DAS.

Я пытаюсь создать новую страницу в приложении jaggery для дизайнера панели инструментов на Data Analytic Server (DAS) wso2. Для этого добавляю в /themes/template новый шаблон, в данном случае delete-gadget.jag, в /controllers добавляю новый контроллер с тем же именем delete-gadget.jag. В /themes/template я обновляю index.jag и добавляю новую ссылку для delete-gaget.jag. При нажатии на эту ссылку приложение говорит 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:

<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>

введите здесь описание изображения

Когда я нажимаю на эту ссылку:

введите здесь описание изображения


person maikelm    schedule 13.04.2016    source источник


Ответы (1)


Вам нужно добавить определение маршрута в файл jaggery.conf в корневой папке приложения jaggery. В вашем случае это файл <WSO2DAS_HOME>/repository/deployment/server/jaggeryapps/portal/jaggery.conf. Я рекомендую вам начать с дублирования записи для создания нового гаджета, а затем внести соответствующие изменения. В вашем случае в список urlMappings будет добавлен следующий элемент:

{
  "url": "/create-gadget",
  "path": "/routers/tenant.jag"
},
person yeiniel    schedule 14.04.2016