Commit 24121747 authored by Cédric Le Ninivin's avatar Cédric Le Ninivin

erp5_web_renderjs_ui: Add Tabs on Action Gadget

parent c6c7f700
......@@ -19,7 +19,7 @@
<script id="table-template" type="text/x-handlebars-template">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c" data-i18n="[last]{{definition_i18n}}">
<span class="ui-icon ui-icon-custom ui-icon-random">&nbsp;</span>
<span class="ui-icon ui-icon-custom ui-icon-{{definition_icon}}">&nbsp;</span>
{{definition_title}}
</h3>
</section>
......@@ -29,20 +29,6 @@
<li><a data-i18n="{{i18n}}" class="ui-body-inherit" href="{{link}}">{{title}}</a></li>
{{/each}}
</ul>
{{#if action_tab_list}}
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c" data-i18n="[last]{{section_i18n}}">
<span class="ui-icon ui-icon-custom ui-icon-random">&nbsp;</span>
{{section_title}}
</h3>
</section>
<ul data-role="listview" data-theme="c" data-inset="true" class="document-listview">
{{#each action_tab_list}}
<li><a data-i18n="{{i18n}}" class="ui-body-inherit" href="{{link}}">{{title}}</a></li>
{{/each}}
</ul>
{{/if}}
</script>
</head>
......
......@@ -46,7 +46,9 @@
erp5_document,
result_list,
view_list,
action_list;
workflow_list,
action_list,
inner_html;
return gadget.jio_getAttachment(options.jio_key, "links")
.push(function (result) {
......@@ -56,17 +58,32 @@
gadget.getUrlFor({command: 'change', options: {page: "breadcrumb"}})
];
erp5_document = result;
view_list = erp5_document._links.action_workflow || [];
workflow_list = erp5_document._links.action_workflow || [];
action_list = erp5_document._links.action_object_action || [];
view_list = erp5_document._links.view;
if (view_list.constructor !== Array) {
view_list = [view_list];
}
if (workflow_list.constructor !== Array) {
workflow_list = [workflow_list];
}
if (action_list.constructor !== Array) {
view_list = [view_list];
action_list = [action_list];
}
for (i = 0; i < view_list.length; i += 1) {
promise_list.push(gadget.getUrlFor({command: 'change', options: {view: view_list[i].href, page: undefined, editable: undefined}}));
promise_list.push(gadget.getUrlFor({command: 'change', options: {
view: "view",
page: undefined,
editable: undefined
}}));
for (i = 0; i < view_list.length - 1; i += 1) {
promise_list.push(gadget.getUrlFor({command: 'change', options: {
view: view_list[i].href,
editable: true,
page: undefined
}}));
}
for (i = 0; i < workflow_list.length; i += 1) {
promise_list.push(gadget.getUrlFor({command: 'change', options: {view: workflow_list[i].href, page: undefined, editable: undefined}}));
}
if (erp5_document._links.action_object_clone_action) {
action_list.push(erp5_document._links.action_object_clone_action);
......@@ -77,34 +94,62 @@
return RSVP.all(promise_list);
})
.push(function (all_result) {
var i,
var i, j,
tab_list = [],
workflow_action_list = [],
action_tab_list = [];
result_list = all_result;
for (i = 0; i < view_list.length; i += 1) {
j = 3;
for (i = 0; i < view_list.length - 1; i += 1) {
tab_list.push({
title: view_list[i].title,
link: all_result[i + 2],
link: all_result[j],
i18n: view_list[i].title
});
j += 1;
}
for (i = 0; i < workflow_list.length; i += 1) {
workflow_action_list.push({
title: workflow_list[i].title,
link: all_result[j],
i18n: workflow_list[i].title
});
j += 1;
}
for (i = 0; i < action_list.length; i += 1) {
action_tab_list.push({
title: action_list[i].title,
link: all_result[i + view_list.length + 2],
link: all_result[j],
i18n: action_list[i].title
});
j += 1;
}
return gadget.translateHtml(table_template({
inner_html = table_template({
definition_title: "Views",
definition_i18n: "Views",
definition_icon: "eye",
documentlist: [{
title: view_list[0].title,
link: all_result[2]
}]
}) + table_template({
definition_title: "Editables",
definition_i18n: "Editables",
definition_icon: "edit",
documentlist: tab_list
}) + table_template({
definition_title: "Workflow Transitions",
documentlist: tab_list,
documentlist: workflow_action_list,
definition_i18n: "Workflow-Transitions",
section_i18n: "Actions",
section_title: "Actions",
action_tab_list: action_tab_list
}));
definition_icon: "random"
}) + table_template({
definition_title: "Actions",
definition_i18n: "Actions",
documentlist: action_tab_list,
definition_icon: "gear"
});
return gadget.translateHtml(inner_html);
})
.push(function (my_translated_html) {
gadget.props.element.innerHTML = my_translated_html;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment