Add support for refreshing multiple batches (results) at once

This commit is contained in:
Lance Edgar 2020-03-02 18:11:13 -06:00
parent 2605f5ab79
commit 0483f47b26
2 changed files with 108 additions and 6 deletions

View file

@ -4,7 +4,7 @@
<%def name="extra_javascript()">
${parent.extra_javascript()}
% if not use_buefy:
% if master.results_executable and request.has_perm('{}.execute_multiple'.format(permission_prefix)):
% if master.results_executable and master.has_perm('execute_multiple'):
<script type="text/javascript">
var has_execution_options = ${'true' if master.has_execution_options(batch) else 'false'};
@ -12,6 +12,17 @@
$(function() {
$('#refresh-results-button').click(function() {
var count = $('.grid-wrapper').gridwrapper('results_count');
if (!count) {
alert("There are no batch results to refresh.");
return;
}
var form = $('form[name="refresh-results"]');
$(this).button('option', 'label', "Refreshing, please wait...").button('disable');
form.submit();
});
$('#execute-results-button').click(function() {
var count = $('.grid-wrapper').gridwrapper('results_count');
if (!count) {
@ -65,7 +76,24 @@
<%def name="grid_tools()">
${parent.grid_tools()}
% if master.results_executable and request.has_perm('{}.execute_multiple'.format(permission_prefix)):
## Refresh Results
% if master.results_refreshable and master.has_perm('refresh'):
% if use_buefy:
<b-button type="is-primary"
disabled
title="TODO: need to implement this for new theme">
Refresh Results
</b-button>
% else:
<button type="button" id="refresh-results-button">
Refresh Results
</button>
% endif
% endif
## Execute Results
% if master.results_executable and master.has_perm('execute_multiple'):
% if use_buefy:
<b-button type="is-primary"
@click="executeResults()"
@ -110,7 +138,7 @@
<%def name="modify_this_page_vars()">
${parent.modify_this_page_vars()}
% if master.results_executable and request.has_perm('{}.execute_multiple'.format(permission_prefix)):
% if master.results_executable and master.has_perm('execute_multiple'):
<script type="text/javascript">
TailboneForm.methods.submit = function() {
@ -150,7 +178,7 @@
<%def name="make_this_page_component()">
${parent.make_this_page_component()}
% if master.results_executable and request.has_perm('{}.execute_multiple'.format(permission_prefix)):
% if master.results_executable and master.has_perm('execute_multiple'):
<script type="text/javascript">
TailboneForm.data = function() { return TailboneFormData }
@ -163,7 +191,7 @@
<%def name="render_this_page_template()">
${parent.render_this_page_template()}
% if master.results_executable and request.has_perm('{}.execute_multiple'.format(permission_prefix)):
% if master.results_executable and master.has_perm('execute_multiple'):
${execute_form.render_deform(form_kwargs={'ref': 'actualForm'}, buttons=False)|n}
% endif
</%def>
@ -172,7 +200,15 @@
${parent.body()}
% if not use_buefy:
% if master.results_executable and request.has_perm('{}.execute_multiple'.format(permission_prefix)):
## Refresh Results
% if master.results_refreshable and master.has_perm('refresh'):
${h.form(url('{}.refresh_results'.format(route_prefix)), name='refresh-results')}
${h.csrf_token(request)}
${h.end_form()}
% endif
% if master.results_executable and master.has_perm('execute_multiple'):
<div id="execution-options-dialog" style="display: none;">
<br />
<p>