Commit 87fafe89 authored by Cédric Le Ninivin's avatar Cédric Le Ninivin

erp5_web_renderjs_ui: Tab gadget display jump and is used in form_view

parent a9b79108
...@@ -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; 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