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,44 +177,72 @@ ...@@ -178,44 +177,72 @@
view: gadget.state.view, view: gadget.state.view,
form_json: form_json form_json: form_json
}) })
.push(function () { // render the header
return RSVP.all([ .push(function () {
gadget.getUrlFor({command: 'history_previous'}), var url_for_parameter_list = [
gadget.getUrlFor({command: 'selection_previous'}), {command: 'change', options: {page: "tab"}},
gadget.getUrlFor({command: 'selection_next'}) {command: 'change', options: {page: "action"}},
]); {command: 'history_previous'},
}) {command: 'selection_previous'},
.push(function (url_list) { {command: 'selection_next'},
return subgadget.updateHeader({ {command: 'change', options: {page: "export"}}
page_title: gadget.state.doc.title, ];
save_action: true, if (form_json.erp5_document._links.action_object_new_content_action) {
selection_url: url_list[0], url_for_parameter_list.push({command: 'change', options: {
previous_url: url_list[1], view: form_json.erp5_document._links.action_object_new_content_action.href,
next_url: url_list[2] editable: true
}); }});
}); }
return RSVP.all([
subgadget.getUrlForList(url_for_parameter_list),
subgadget.isDesktopMedia()
]);
})
.push(function (result_list) {
var url_list = result_list[0],
header_dict = {
selection_url: url_list[2],
previous_url: url_list[3],
next_url: url_list[4],
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) { })
return gadget.renderSubGadget(gadget, form_gadget, form_json); .push(function (form_gadget) {
}); return gadget.renderSubGadget(gadget, form_gadget, form_json);
}); });
}); });
......
...@@ -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