Commit 9e5b8c81 authored by Klaus Wölfel's avatar Klaus Wölfel

POC for next button on user inactivity

parent 195043b9
...@@ -67,11 +67,9 @@ ...@@ -67,11 +67,9 @@
<h1>Dream Simulation</h1> <h1>Dream Simulation</h1>
<div data-role="controlgroup" data-type="horizontal" class="ui-btn-right"> <div data-role="controlgroup" data-type="horizontal" class="ui-btn-right">
<!-- Next button to cycle through the results, similar to ERP5 navigation --> <a data-icon="forward"
<a data-icon="forward" class="next_step_link ui-btn ui-icon-forward ui-btn-icon-right">Next Step</a>
<a data-icon="forward"
style="display: none"
class="next_link ui-btn ui-icon-forward ui-btn-icon-right">Next</a> class="next_link ui-btn ui-icon-forward ui-btn-icon-right">Next</a>
</div> </div>
......
...@@ -113,6 +113,19 @@ ...@@ -113,6 +113,19 @@
return gadget.aq_pleasePublishMyState(forward_kw); return gadget.aq_pleasePublishMyState(forward_kw);
}); });
} }
function getNextStepLink(gadget, portal_type, options) {
if (options.action === "view_machine_shift_spreadsheet") {
var forward_kw = {
action: "view_run_simulation",
id: options.id
};
return gadget.aq_pleasePublishMyState(forward_kw);
}
else {
return false;
}
}
function getTitle(gadget, portal_type, options) { function getTitle(gadget, portal_type, options) {
var title; var title;
...@@ -443,7 +456,8 @@ ...@@ -443,7 +456,8 @@
calculateNavigationHTML(gadget, portal_type, options), calculateNavigationHTML(gadget, portal_type, options),
gadget.aq_pleasePublishMyState(back_kw), gadget.aq_pleasePublishMyState(back_kw),
getTitle(gadget, portal_type, options), getTitle(gadget, portal_type, options),
getNextLink(gadget, portal_type, options) getNextLink(gadget, portal_type, options),
getNextStepLink(gadget, portal_type, options)
]); ]);
}).push(function (result_list) { }).push(function (result_list) {
var nav_html = result_list[1], var nav_html = result_list[1],
...@@ -461,7 +475,6 @@ ...@@ -461,7 +475,6 @@
// Update forward link // Update forward link
gadget.props.element gadget.props.element
.getElementsByClassName("next_link")[0].href = result_list[4]; .getElementsByClassName("next_link")[0].href = result_list[4];
// Update the navigation panel // Update the navigation panel
// Clear the previous rendering // Clear the previous rendering
while (nav_element.firstChild) { while (nav_element.firstChild) {
...@@ -481,6 +494,28 @@ ...@@ -481,6 +494,28 @@
element.appendChild(page_element); element.appendChild(page_element);
$(element).trigger('create'); $(element).trigger('create');
return result_list[5];
}).push(function (next_step_link) {
var button = gadget.props.element
.getElementsByClassName("next_step_link")[0];
$(button).hide();
var idle_timer;
function resetTimer() {
clearTimeout(idle_timer);
idle_timer = setTimeout(function () { $(button).show() },
idle_seconds*1000);
}
if (next_step_link !== false) {
button.href = next_step_link;
var idle_seconds = 10;
$(document.body).on('keydown click', resetTimer);
resetTimer();
}
else {
$(document.body).off('keydown click', resetTimer);
}
// XXX RenderJS hack to start sub gadget services // XXX RenderJS hack to start sub gadget services
// Only work if this gadget has no parent. // Only work if this gadget has no parent.
if (page_gadget.startService !== undefined) { if (page_gadget.startService !== undefined) {
......
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