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