Commit e17e873f authored by Roque's avatar Roque

erp5_officejs: remove hardcoded icons in header rendering

parent 829ecb19
...@@ -50,6 +50,8 @@ ...@@ -50,6 +50,8 @@
.declareAcquiredMethod("jio_put", "jio_put") .declareAcquiredMethod("jio_put", "jio_put")
.declareAcquiredMethod("jio_allDocs", "jio_allDocs") .declareAcquiredMethod("jio_allDocs", "jio_allDocs")
.declareAcquiredMethod("getUrlFor", "getUrlFor") .declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("getUrlForList", "getUrlForList")
.declareAcquiredMethod('getUrlParameter', 'getUrlParameter')
.declareAcquiredMethod("updateHeader", "updateHeader") .declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("notifySubmitted", 'notifySubmitted') .declareAcquiredMethod("notifySubmitted", 'notifySubmitted')
.declareAcquiredMethod("notifySubmitting", "notifySubmitting") .declareAcquiredMethod("notifySubmitting", "notifySubmitting")
...@@ -136,13 +138,10 @@ ...@@ -136,13 +138,10 @@
.declareMethod("render", function (options) { .declareMethod("render", function (options) {
var gadget = this, var gadget = this,
child_gadget_url; child_gadget_url = 'gadget_erp5_pt_form_view_editable.html';
return gadget.jio_get(options.jio_key) return gadget.jio_get(options.jio_key)
.push(function (document) { .push(function (document) {
if (document.portal_type !== undefined) { if (document.portal_type === undefined) {
// use generic editable form view
child_gadget_url = 'gadget_erp5_pt_form_view_editable.html';
} else {
throw new Error('Can not display document: ' + options.jio_key); throw new Error('Can not display document: ' + options.jio_key);
} }
return gadget.getFormDefinition(document.portal_type) return gadget.getFormDefinition(document.portal_type)
...@@ -178,45 +177,73 @@ ...@@ -178,45 +177,73 @@
view: gadget.state.view, view: gadget.state.view,
form_json: form_json form_json: form_json
}) })
// render the header
.push(function () { .push(function () {
var url_for_parameter_list = [
{command: 'change', options: {page: "tab"}},
{command: 'change', options: {page: "action"}},
{command: 'history_previous'},
{command: 'selection_previous'},
{command: 'selection_next'},
{command: 'change', options: {page: "export"}}
];
if (form_json.erp5_document._links.action_object_new_content_action) {
url_for_parameter_list.push({command: 'change', options: {
view: form_json.erp5_document._links.action_object_new_content_action.href,
editable: true
}});
}
return RSVP.all([ return RSVP.all([
gadget.getUrlFor({command: 'history_previous'}), subgadget.getUrlForList(url_for_parameter_list),
gadget.getUrlFor({command: 'selection_previous'}), subgadget.isDesktopMedia()
gadget.getUrlFor({command: 'selection_next'})
]); ]);
}) })
.push(function (url_list) { .push(function (result_list) {
return subgadget.updateHeader({ var url_list = result_list[0],
page_title: gadget.state.doc.title, header_dict = {
save_action: true, selection_url: url_list[2],
selection_url: url_list[0], previous_url: url_list[3],
previous_url: url_list[1], next_url: url_list[4],
next_url: url_list[2] page_title: gadget.state.doc.title
}); };
if (false) { //TODO: configuration must indicate if there are more views
header_dict.tab_url = url_list[0];
}
if (true) { //TODO: configuration must indicate if there are more actions
header_dict.actions_url = url_list[1];
}
if (url_list[6]) {
header_dict.add_url = url_list[6];
}
if (gadget.state.editable === "true") {
header_dict.save_action = true;
}
if (result_list[1]) {
header_dict.export_url = (
form_json.erp5_document._links.action_object_jio_report ||
form_json.erp5_document._links.action_object_jio_exchange ||
form_json.erp5_document._links.action_object_jio_print
) ? url_list[5] : '';
}
return gadget.updateHeader(header_dict);
}); });
}) })
.onStateChange(function (modification_dict) { .onStateChange(function () {
var fragment = document.createElement('div'), var form_json, gadget = this,
gadget = this; fragment = document.createElement('div');
return gadget.renderForm(gadget.state.form_definition, gadget.state.doc) return gadget.renderForm(gadget.state.form_definition, gadget.state.doc)
.push(function (form_json) { .push(function (json) {
if (!modification_dict.hasOwnProperty('child_gadget_url')) { form_json = json;
return gadget.getDeclaredGadget('fg')
.push(function (child_gadget) {
return gadget.renderSubGadget(gadget, child_gadget, form_json);
});
}
// Clear first to DOM, append after to reduce flickering/manip
while (gadget.element.firstChild) { while (gadget.element.firstChild) {
gadget.element.removeChild(gadget.element.firstChild); gadget.element.removeChild(gadget.element.firstChild);
} }
gadget.element.appendChild(fragment); gadget.element.appendChild(fragment);
return gadget.declareGadget(gadget.state.child_gadget_url, {element: fragment, scope: 'fg'}) return gadget.declareGadget(gadget.state.child_gadget_url, {element: fragment, scope: 'fg'});
})
.push(function (form_gadget) { .push(function (form_gadget) {
return gadget.renderSubGadget(gadget, form_gadget, form_json); return gadget.renderSubGadget(gadget, form_gadget, form_json);
}); });
}); });
});
}(document, window, rJS, RSVP)); }(document, window, rJS, RSVP));
\ No newline at end of file
...@@ -225,7 +225,7 @@ ...@@ -225,7 +225,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>974.39977.38000.44305</string> </value> <value> <string>974.43260.20145.4130</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -243,7 +243,7 @@ ...@@ -243,7 +243,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1553613284.01</float> <float>1553805993.3</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
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