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

erp5_web_renderjs_ui : Have Jump actions in Tab page, tab page accessible for none editable

parent 24121747
......@@ -45,7 +45,6 @@
var gadget = this,
erp5_document,
result_list,
view_list,
workflow_list,
action_list,
inner_html;
......@@ -60,28 +59,12 @@
erp5_document = result;
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) {
action_list = [action_list];
}
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}}));
}
......@@ -95,20 +78,11 @@
})
.push(function (all_result) {
var i, j,
tab_list = [],
workflow_action_list = [],
action_tab_list = [];
result_list = all_result;
j = 3;
for (i = 0; i < view_list.length - 1; i += 1) {
tab_list.push({
title: view_list[i].title,
link: all_result[j],
i18n: view_list[i].title
});
j += 1;
}
j = 2;
for (i = 0; i < workflow_list.length; i += 1) {
workflow_action_list.push({
title: workflow_list[i].title,
......@@ -126,19 +100,6 @@
j += 1;
}
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: workflow_action_list,
definition_i18n: "Workflow-Transitions",
......
......@@ -57,13 +57,13 @@
gadget.getUrlFor({command: 'history_previous'}),
gadget.getUrlFor({command: 'selection_previous'}),
gadget.getUrlFor({command: 'selection_next'}),
gadget.getUrlFor({command: 'change', options: {page: "jump"}})
gadget.getUrlFor({command: 'change', options: {page: "tab"}})
]);
})
.push(function (all_result) {
return gadget.updateHeader({
jump_url: all_result[7],
tab_url: all_result[7],
actions_url: all_result[2],
previous_url: all_result[5],
next_url: all_result[6],
......
/*global window, rJS, RSVP, Handlebars */
/*global window, rJS, RSVP, Handlebars, URI */
/*jslint nomen: true, indent: 2, maxerr: 3 */
(function (window, rJS, RSVP, Handlebars) {
(function (window, rJS, RSVP, Handlebars, URI) {
"use strict";
/////////////////////////////////////////////////////////////////
......@@ -44,22 +44,33 @@
.declareMethod("render", function (options) {
var view_list,
tab_list = [],
jump_action_list = [],
gadget = this,
erp5_document;
erp5_document,
jump_list;
return gadget.jio_getAttachment(options.jio_key, "links")
.push(function (result) {
var i,
promise_list = [];
erp5_document = result,
view_list = erp5_document._links.view;
erp5_document = result;
view_list = erp5_document._links.view || [];
jump_list = erp5_document._links.action_object_jump || [];
// All ERP5 document should at least have one view.
// So, no need normally to test undefined
if (view_list.constructor !== Array) {
view_list = [view_list];
}
if (jump_list.constructor !== Array) {
jump_list = [jump_list];
}
promise_list.push(gadget.getUrlFor({command: 'change', options: {
view: "view",
page: undefined,
editable: undefined
}}));
for (i = 0; i < view_list.length; i += 1) {
promise_list.push(gadget.getUrlFor({command: 'change', options: {
view: view_list[i].href,
......@@ -67,37 +78,51 @@
page: undefined
}}));
}
promise_list.push(gadget.getUrlFor({command: 'change', options: {
view: "view",
page: undefined,
editable: undefined
}}));
for (i = 0; i < jump_list.length; i += 1) {
promise_list.push(gadget.getUrlFor({command: 'push_history', options: {
extended_search: new URI(jump_list[i].href).query(true).query,
page: 'search'
}}));
}
return RSVP.all(promise_list);
})
.push(function (all_result) {
var i;
for (i = 0; i < all_result.length - 1; i += 1) {
var i, j;
j = 1;
for (i = 0; i < view_list.length - 1; i += 1) {
tab_list.push({
title: view_list[i].title,
i18n: view_list[i].title,
link: all_result[i]
link: all_result[j]
});
j += 1;
}
for (i = 0; i < jump_list.length; i += 1) {
jump_action_list.push({
title: jump_list[i].title,
link: all_result[j],
i18n: jump_list[i].title
});
j += 1;
}
return gadget.translateHtml(table_template({
definition_title: "Views",
definition_i18n: "Views",
definition_icon: "eye",
documentlist: [{
title: view_list[0].title,
link: all_result[all_result.length - 1]
link: all_result[0]
}]
}) + table_template({
definition_title: "Editables",
definition_i18n: "Editables",
definition_icon: "edit",
documentlist: tab_list
}) + table_template({
definition_title: "Jumps",
documentlist: jump_action_list,
definition_icon: "plane",
definition_i18n: "Jumps"
}));
})
.push(function (my_translated_html) {
......@@ -119,4 +144,4 @@
});
});
}(window, rJS, RSVP, Handlebars));
\ No newline at end of file
}(window, rJS, RSVP, Handlebars, URI));
\ No newline at end of file
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