Commit 8bf4839d authored by Roque's avatar Roque

erp5_officejs: panel lists views and actions

parent d4cde62e
......@@ -14,6 +14,7 @@
.declareAcquiredMethod("getSettingList", "getSettingList")
.declareAcquiredMethod("notifySubmitted", 'notifySubmitted')
.declareAcquiredMethod("notifySubmitting", "notifySubmitting")
.declareAcquiredMethod("updatePanel", "updatePanel")
/////////////////////////////////////////////////////////////////
// declared methods
......@@ -128,6 +129,12 @@
message: "Error rendering view",
status: "error"
});
})
.push(function () {
return gadget.updatePanel({
portal_type: gadget.state.portal_type,
jio_key: gadget.state.jio_key
});
});
})
......
......@@ -228,7 +228,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>979.7618.39284.59767</string> </value>
<value> <string>979.51851.2310.1706</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -246,7 +246,7 @@
</tuple>
<state>
<tuple>
<float>1571070879.6</float>
<float>1573728851.76</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -22,6 +22,56 @@
.getElementById("panel-template-body-desktop")
.innerHTML);
function getElementList(gadget, element_list) {
var i = 0,
element_info_list = [],
url_for_parameter_list = [],
element_info,
key;
for (key in element_list) {
if (element_list.hasOwnProperty(key)) {
element_info = element_list[key];
url_for_parameter_list.push({ command: 'change',
options: element_info });
element_info_list[i] = { reference: element_info.reference,
title: element_info.title};
i += 1;
}
}
return gadget.getUrlForList(url_for_parameter_list)
.push(function (url_list) {
var action_list = [], j, element;
for (j = 0; j < url_list.length; j += 1) {
element = { href: url_list[j],
icon: null,
name: element_info_list[j].reference,
title: element_info_list[j].title };
action_list.push(element);
}
return action_list;
});
}
function appendDt(fragment, dt_title, dt_icon, action_list) {
var dt_element = document.createElement('dt'),
dd_element,
a_element,
i;
dt_element.textContent = dt_title;
dt_element.setAttribute('class', 'ui-btn-icon-left ui-icon-' + dt_icon);
fragment.appendChild(dt_element);
for (i = 0; i < action_list.length; i += 1) {
dd_element = document.createElement('dd');
dd_element.setAttribute('class', 'document-listview');
a_element = document.createElement('a');
a_element.setAttribute('class', action_list[i].class_name);
a_element.href = action_list[i].href;
a_element.textContent = action_list[i].title;
dd_element.appendChild(a_element);
fragment.appendChild(dd_element);
}
}
gadget_klass
.setState({
visible: false,
......@@ -35,6 +85,7 @@
.declareAcquiredMethod("translate", "translate")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("getUrlParameter", "getUrlParameter")
.declareAcquiredMethod("getUrlForList", "getUrlForList")
/////////////////////////////////////////////////////////////////
// declared methods
......@@ -75,6 +126,8 @@
workflow_list: workflow_list,
view_list: view_list,
global: true,
portal_type: options.portal_type,
jio_key: options.jio_key,
editable: options.editable || editable || false
});
});
......@@ -222,6 +275,41 @@
}
}
if (modification_dict.hasOwnProperty("portal_type")) {
queue
.push(function () {
return gadget.getDeclaredGadget("common_util");
})
.push(function (gadget_utils) {
return gadget_utils.getViewAndActionDict(modification_dict.portal_type,
modification_dict.jio_key);
})
.push(function (view_action_dict) {
return RSVP.all([
getElementList(gadget, view_action_dict.view_list),
getElementList(gadget, view_action_dict.action_list)
]);
})
.push(function (view_action_list) {
var dl_element,
dl_fragment = document.createDocumentFragment();
dl_element = gadget.element.querySelector("dl");
while (dl_element.firstChild) {
dl_element.removeChild(dl_element.firstChild);
}
if (view_action_list[0].length > 0) {
appendDt(dl_fragment, "VIEWS", 'eye',
view_action_list[0]);
dl_element.appendChild(dl_fragment);
}
if (view_action_list[1].length > 0) {
appendDt(dl_fragment, "ACTIONS", 'cogs',
view_action_list[1]);
dl_element.appendChild(dl_fragment);
}
});
}
return queue;
})
......
......@@ -225,7 +225,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>970.37259.50413.8226</string> </value>
<value> <string>979.52132.14300.25702</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -243,7 +243,7 @@
</tuple>
<state>
<tuple>
<float>1538643425.79</float>
<float>1573740764.23</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -64,6 +64,11 @@
<!-- custom script -->
<script src="gadget_erp5_ojs_panel.js" type="text/javascript"></script>
<div data-gadget-url="gadget_officejs_common_util.html"
data-gadget-scope="common_util"
data-gadget-sandbox="public">
</div>
</head>
<body>
......
......@@ -215,7 +215,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>vincent</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -229,7 +229,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>964.45561.47559.9591</string> </value>
<value> <string>975.50798.33418.15411</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -247,7 +247,7 @@
</tuple>
<state>
<tuple>
<float>1515509919.32</float>
<float>1573739234.08</float>
<string>UTC</string>
</tuple>
</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