diff options
Diffstat (limited to 'src/templates')
-rw-r--r-- | src/templates/booking/quick_deploy.html | 33 | ||||
-rw-r--r-- | src/templates/booking/steps/booking_meta.html | 12 | ||||
-rw-r--r-- | src/templates/config_bundle/steps/config_software.html | 12 | ||||
-rw-r--r-- | src/templates/config_bundle/steps/define_software.html | 9 | ||||
-rw-r--r-- | src/templates/config_bundle/steps/pick_installer.html | 12 | ||||
-rw-r--r-- | src/templates/config_bundle/steps/table_formset.html | 13 | ||||
-rw-r--r-- | src/templates/dashboard/multiple_select_filter_widget.html | 30 | ||||
-rw-r--r-- | src/templates/resource/steps/define_hardware.html | 10 | ||||
-rw-r--r-- | src/templates/resource/steps/host_info.html | 11 | ||||
-rw-r--r-- | src/templates/resource/steps/meta_info.html | 12 | ||||
-rw-r--r-- | src/templates/resource/steps/pod_definition.html | 3 | ||||
-rw-r--r-- | src/templates/snapshot_workflow/steps/meta.html | 12 | ||||
-rw-r--r-- | src/templates/snapshot_workflow/steps/select_host.html | 12 | ||||
-rw-r--r-- | src/templates/workflow/viewport-base.html | 15 | ||||
-rw-r--r-- | src/templates/workflow/viewport-element.html | 8 |
15 files changed, 48 insertions, 156 deletions
diff --git a/src/templates/booking/quick_deploy.html b/src/templates/booking/quick_deploy.html index f1ba491..6776980 100644 --- a/src/templates/booking/quick_deploy.html +++ b/src/templates/booking/quick_deploy.html @@ -7,13 +7,13 @@ <form id="quick_booking_form" action="/booking/quick/" method="POST" class="form"> {% csrf_token %} <div class="container-fluid"> - <div class="row"> - <div class="col-12 px-1 my-2"> - <div class="col py-2 rounded border"> - <p>Please select a host type you wish to book. Only available types are shown.</p> - {% bootstrap_field form.filter_field show_label=False %} - </div> + <div class="row mx-0 px-0"> + <div class="col-12 mx-0 px-0 mt-2"> + <p class="my-0">Please select a host type you wish to book. Only available types are shown.</p> + {% bootstrap_field form.filter_field show_label=False %} </div> + </div> + <div class="row"> <div class="col-12 col-lg-3 px-1 my-2"> <div class="col border rounded py-2 h-100"> {% bootstrap_field form.purpose %} @@ -55,10 +55,7 @@ <script type="text/javascript"> function submit_form() { - //formats data for form submission - multi_filter_widget.finish(); - // Submit the form manually since confirm button is type="button" now - // due to the form submitting before the data was even created by finish() + run_form_callbacks(); document.getElementById("quick_booking_form").submit(); } @@ -83,11 +80,8 @@ var sup_installer_dict = {{installer_filter | safe}}; var sup_scenario_dict = {{scenario_filter | safe}}; - function imageHider() { + function imageFilter() { var drop = document.getElementById("id_image"); - - hide_dropdown("id_image"); - var lab_pk = get_selected_value("lab"); var host_pk = get_selected_value("host"); @@ -95,21 +89,18 @@ var image_object = sup_image_dict[childNode.value]; if (image_object) //weed out empty option { - if (image_object.host_profile == host_pk && image_object.lab == lab_pk) { - childNode.style.display = "inherit"; - childNode.disabled = false; - } + childNode.disabled = !(image_object.host_profile == host_pk && image_object.lab == lab_pk); } } } - imageHider(); + imageFilter(); $('#id_installer').children().hide(); $('#id_scenario').children().hide(); Array.from(document.getElementsByClassName("grid-item-select-btn")).forEach(function (element) { - element.addEventListener('click', imageHider); + element.addEventListener('click', imageFilter); }); function installerHider() { @@ -148,4 +139,4 @@ } } </script> -{% endblock %}
\ No newline at end of file +{% endblock %} diff --git a/src/templates/booking/steps/booking_meta.html b/src/templates/booking/steps/booking_meta.html index a7bb8b9..f12496e 100644 --- a/src/templates/booking/steps/booking_meta.html +++ b/src/templates/booking/steps/booking_meta.html @@ -6,7 +6,7 @@ {% block content %} {% bootstrap_form_errors form type='non_fields' %} -<form id="booking_meta_form" action="/wf/workflow/" method="POST" class="form"> +<form id="step_form" method="POST" class="form"> {% csrf_token %} <div id="form_div" class="container-fluid"> <div class="row"> @@ -36,13 +36,3 @@ </div> </form> {% endblock content %} - -{% block onleave %} -var ajaxForm = $("#booking_meta_form"); -var formData = ajaxForm.serialize(); -req = new XMLHttpRequest(); -req.open("POST", "/wf/workflow/", false); -req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); -req.onerror = function() { alert("problem submitting form"); } -req.send(formData); -{% endblock %} diff --git a/src/templates/config_bundle/steps/config_software.html b/src/templates/config_bundle/steps/config_software.html index 68417bc..6fe0ac1 100644 --- a/src/templates/config_bundle/steps/config_software.html +++ b/src/templates/config_bundle/steps/config_software.html @@ -5,7 +5,7 @@ {% block content %} -<form action="/wf/workflow/" method="POST" id="software_config_form" class="form"> +<form method="POST" id="step_form" class="form"> {% csrf_token %} <p>Give it a name:</p> {% bootstrap_field form.name %} @@ -16,13 +16,3 @@ {% endblock content %} - -{% block onleave %} -var ajaxForm = $("#software_config_form"); -var formData = ajaxForm.serialize(); -req = new XMLHttpRequest(); -req.open("POST", "/wf/workflow/", false); -req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); -req.onerror = function() { alert("problem submitting form"); } -req.send(formData); -{% endblock %} diff --git a/src/templates/config_bundle/steps/define_software.html b/src/templates/config_bundle/steps/define_software.html index 87e5997..7c47569 100644 --- a/src/templates/config_bundle/steps/define_software.html +++ b/src/templates/config_bundle/steps/define_software.html @@ -44,12 +44,3 @@ for(var i=0; i<parents.length; i++){ checkbox.value = "True"; } } - -var form = $("#table_formset"); -var formData = form.serialize(); -var req = new XMLHttpRequest(); -req.open("POST", "/wf/workflow/", false); -req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); -req.onerror = function() { alert("problem with form submission"); } -req.send(formData); -{% endblock onleave %} diff --git a/src/templates/config_bundle/steps/pick_installer.html b/src/templates/config_bundle/steps/pick_installer.html index 31a06de..c3b505d 100644 --- a/src/templates/config_bundle/steps/pick_installer.html +++ b/src/templates/config_bundle/steps/pick_installer.html @@ -9,7 +9,7 @@ <h1>Please choose a config bundle first</h1> {% else %} -<form id="installer_form" action="/wf/workflow/" method="POST" id="installer_config_form" class="form"> +<form id="step_form" method="POST" class="form"> {% csrf_token %} <p>Choose your installer:</p> {% bootstrap_field form.installer %} @@ -20,13 +20,3 @@ {% endif %} {% endblock content %} - -{% block onleave %} -var form = $("#installer_form"); -var formData = form.serialize(); -var req = new XMLHttpRequest(); -req.open("POST", "/wf/workflow/", false); -req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); -req.onerror = function() { alert("problem with form submission"); } -req.send(formData); -{% endblock %} diff --git a/src/templates/config_bundle/steps/table_formset.html b/src/templates/config_bundle/steps/table_formset.html index e19f3df..d25621e 100644 --- a/src/templates/config_bundle/steps/table_formset.html +++ b/src/templates/config_bundle/steps/table_formset.html @@ -18,7 +18,7 @@ <h1 class="text-center">{{ error }}</h1> {% else %} <div class="p-2"> - <form method="post" action="" class="form" id="table_formset"> + <form method="post" class="form" id="step_form"> <!-- formset, requires special consideration --> {% csrf_token %} <div class="row"> @@ -51,14 +51,3 @@ {% block tablejs %} {% endblock tablejs %} {% endblock extrajs %} - - -{% block onleave %} -var form = $("#table_formset"); -var formData = form.serialize(); -var req = new XMLHttpRequest(); -req.open("POST", "/wf/workflow/", false); -req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); -req.onerror = function() { alert("problem with form submission"); } -req.send(formData); -{% endblock %} diff --git a/src/templates/dashboard/multiple_select_filter_widget.html b/src/templates/dashboard/multiple_select_filter_widget.html index 7fb8bcf..4068919 100644 --- a/src/templates/dashboard/multiple_select_filter_widget.html +++ b/src/templates/dashboard/multiple_select_filter_widget.html @@ -2,17 +2,17 @@ </script> <input name="filter_field" id="filter_field" type="hidden"/> -<div id="grid_wrapper" class="container-fluid p-4"> - <div class="row"> - {% for object_class, object_list in display_objects %} - <div class="col-12 col-lg d-flex flex-column pt-2 my-2"> +<div class="row"> + {% for object_class, object_list in display_objects %} + <div class="col-12 col-lg-6 d-flex flex-column pt-2 mx-0 px-1"> + <div class="col mx-0 border rounded py-2 flex-grow-1 d-flex flex-column"> <div class="w-100"> <h4 class="text-capitalize">{{object_class}}</h4> </div> - <div id="{{object_class}}" class="row h-100"> + <div id="{{object_class}}" class="row flex-grow-1"> {% for obj in object_list %} - <div class="col-12 col-md-6 col-xl-4 my-2"> - <div id="{{ obj.id|default:'not_provided' }}" class="card h-100" onclick="multi_filter_widget.processClick('{{obj.id}}');"> + <div class="col-12 col-md-6 col-xl-4 my-2 d-flex flex-grow-1"> + <div id="{{ obj.id|default:'not_provided' }}" class="card flex-grow-1"> <div class="card-header"> <p class="h5 font-weight-bold mt-2">{{obj.name}}</p> </div> @@ -20,15 +20,22 @@ <p class="grid-item-description">{{obj.description}}</p> </div> <div class="card-footer"> - <button type="button" class="btn btn-success grid-item-select-btn w-100">{% if obj.multiple %}Add{% else %}Select{% endif %}</button> + <button type="button" class="btn btn-success grid-item-select-btn w-100 stretched-link" + onclick="multi_filter_widget.processClick('{{obj.id}}');"> + {% if obj.multiple %} + Add + {% else %} + Select + {% endif %} + </button> </div> </div> </div> {% endfor %} </div> </div> - {% endfor %} - </div> + </div> + {% endfor %} </div> <div id="dropdown_wrapper" class="px-3 list-group-flush w-25 mt-2"> @@ -39,8 +46,9 @@ function multipleSelectFilterWidgetEntry() { const filter_items = {{ filter_items|safe }}; const initial_value = {{ initial_value|default_if_none:"{}"|safe }}; - //global variable + //global variables multi_filter_widget = new MultipleSelectFilterWidget(graph_neighbors, filter_items, initial_value); + form_submission_callbacks.push(() => multi_filter_widget.finish()); } multipleSelectFilterWidgetEntry(); diff --git a/src/templates/resource/steps/define_hardware.html b/src/templates/resource/steps/define_hardware.html index 57078e9..2cb37da 100644 --- a/src/templates/resource/steps/define_hardware.html +++ b/src/templates/resource/steps/define_hardware.html @@ -9,16 +9,8 @@ As you make your selections, labs and hosts that are not compatible with your current configuration will become unavailable.</p> <h4>NOTE: Only PTL's are able to create multi-node PODs. See <a href="https://google.com">here</a> for more details</h4> -<form id="define_hardware_form" action="/wf/workflow/" method="post"> +<form id="step_form" method="post" class="px-3"> {% csrf_token %} {{form.filter_field|default:"<p>No Form</p>"}} </form> {% endblock content %} -{% block onleave %} -multi_filter_widget.finish(); -var formData = $("#define_hardware_form").serialize(); -req = new XMLHttpRequest(); -req.open('POST', '/wf/workflow/', false); -req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); -req.send(formData); -{% endblock %} diff --git a/src/templates/resource/steps/host_info.html b/src/templates/resource/steps/host_info.html index bbbafdc..3230d8f 100644 --- a/src/templates/resource/steps/host_info.html +++ b/src/templates/resource/steps/host_info.html @@ -10,7 +10,7 @@ {% else %} -<form id="host_meta_form" method="post" action="/wf/workflow/"> +<form id="step_form" method="post"> {% csrf_token %} <table> <thead> @@ -32,12 +32,3 @@ </form> {% endif %} {% endblock content %} - -{% block onleave %} -var formData = $("#host_meta_form").serialize(); -var req = new XMLHttpRequest(); -req.open("POST", "/wf/workflow/", false); -req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); -req.onerror = function() { alert("There was a problem submitting the form"); } -req.send(formData); -{% endblock %} diff --git a/src/templates/resource/steps/meta_info.html b/src/templates/resource/steps/meta_info.html index 62230dc..b6a17a9 100644 --- a/src/templates/resource/steps/meta_info.html +++ b/src/templates/resource/steps/meta_info.html @@ -5,20 +5,10 @@ {% block content %} -<form id="resource_meta_form" method="post" action="/wf/workflow/"> +<form id="step_form" method="post"> {% csrf_token %} <table class="px-4"> {% bootstrap_form form field_class="px-4" label_class="px-4 mt-2" %} </table> </form> {% endblock content %} - -{% block onleave %} -var ajaxForm = $("#resource_meta_form"); -var formData = ajaxForm.serialize(); -req = new XMLHttpRequest(); -req.open("POST", "/wf/workflow/", false); -req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); -req.onerror = function() { alert("problem submitting form"); } -req.send(formData); -{% endblock %} diff --git a/src/templates/resource/steps/pod_definition.html b/src/templates/resource/steps/pod_definition.html index 4c9aa83..4392dbd 100644 --- a/src/templates/resource/steps/pod_definition.html +++ b/src/templates/resource/steps/pod_definition.html @@ -37,7 +37,7 @@ <button type="button" class="d-none" onclick="network_step.submitForm();">Submit</button> </div> </div> - <form id="xml_form" method="post" action="/wf/workflow/"> + <form id="step_form" method="post"> {% csrf_token %} <input type="hidden" id="hidden_xml_input" name="xml" /> </form> @@ -77,6 +77,7 @@ document.getElementById('toolbarContainer'), document.getElementById('sidebarContainer') ); + form_submission_callbacks.push(() => network_step.prepareForm()); </script> {% endblock content %} {% block onleave %} diff --git a/src/templates/snapshot_workflow/steps/meta.html b/src/templates/snapshot_workflow/steps/meta.html index 7c3e98b..88136d2 100644 --- a/src/templates/snapshot_workflow/steps/meta.html +++ b/src/templates/snapshot_workflow/steps/meta.html @@ -6,7 +6,7 @@ {% block content %} {% bootstrap_form_errors form type='non_fields' %} <div class="p-4"> - <form id="meta_form" action="/wf/workflow/" method="POST" class="form"> + <form id="step_form" method="POST" class="form"> {% csrf_token %} <div class="form-group"> {% bootstrap_field form.name %} @@ -15,13 +15,3 @@ </form> </div> {% endblock content %} - -{% block onleave %} -var ajaxForm = $("#meta_form"); -var formData = ajaxForm.serialize(); -req = new XMLHttpRequest(); -req.open("POST", "/wf/workflow/", false); -req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); -req.onerror = function() { alert("problem submitting form"); } -req.send(formData); -{% endblock %} diff --git a/src/templates/snapshot_workflow/steps/select_host.html b/src/templates/snapshot_workflow/steps/select_host.html index a0af67b..4243145 100644 --- a/src/templates/snapshot_workflow/steps/select_host.html +++ b/src/templates/snapshot_workflow/steps/select_host.html @@ -6,7 +6,7 @@ {% block content %} {% bootstrap_form_errors form type='non_fields' %} -<form id="host_select_form" action="/wf/workflow/" method="POST" class="form"> +<form id="step_form" method="POST" class="form"> {% csrf_token %} <input type="hidden" id="hidden_json_input", name="host"/> </form> @@ -81,13 +81,3 @@ if(initial){ } </script> {% endblock content %} - -{% block onleave %} -var ajaxForm = $("#host_select_form"); -var formData = ajaxForm.serialize(); -req = new XMLHttpRequest(); -req.open("POST", "/wf/workflow/", false); -req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); -req.onerror = function() { alert("problem submitting form"); } -req.send(formData); -{% endblock %} diff --git a/src/templates/workflow/viewport-base.html b/src/templates/workflow/viewport-base.html index ed367c7..103a095 100644 --- a/src/templates/workflow/viewport-base.html +++ b/src/templates/workflow/viewport-base.html @@ -11,7 +11,7 @@ <nav> <ul class="pagination d-flex flex-row" id="topPagination"> <li class="page-item flex-shrink-1 page-control"> - <a class="page-link" href="#" id="gob" onclick="go('prev')"> + <a class="page-link" href="#" id="gob" onclick="submit_and_go('prev')"> <i class="fas fa-backward"></i> Back </a> </li> @@ -41,7 +41,7 @@ </a> </li> <li class="page-item flex-shrink-1 page-control"> - <a class="page-link text-right" href="#" id="gof" onclick="go('next')"> + <a class="page-link text-right" href="#" id="gof" onclick="submit_and_go('next')"> Next <i class="fas fa-forward"></i> </a> </li> @@ -91,11 +91,9 @@ update_context(); var step = 0; var page_count = 0; - var context_data = false; - function go(to) { - step_on_leave(); - request_leave(to); + function submit_and_go(to) { + submitStepForm(to); } function request_leave(to) { @@ -165,8 +163,7 @@ }); } - function update_page(data) { - context_data = data; + function updateBreadcrumbs(data) { update_breadcrumbs(data); if (data["workflow_count"] == 1) { document.getElementById("cancel_btn").innerText = "Exit Workflow"; @@ -326,4 +323,4 @@ {% csrf_token %} </form> </div> -{% endblock content %}
\ No newline at end of file +{% endblock content %} diff --git a/src/templates/workflow/viewport-element.html b/src/templates/workflow/viewport-element.html index 2c917e1..bf13304 100644 --- a/src/templates/workflow/viewport-element.html +++ b/src/templates/workflow/viewport-element.html @@ -42,14 +42,6 @@ {% endblock validate_step %} - <script> - step_on_leave = function() { - {% block onleave %} - alert("override onleave"); - {% endblock %} - } - </script> - <div class="messages"> {% block element_messages %} {% bootstrap_messages %} |