Skip to content
Snippets Groups Projects
Commit 9f05a115 authored by Bo-Chun Chen's avatar Bo-Chun Chen
Browse files

Merge branch 'feat-form-js' into 'master'

Feat form js

See merge request rc/bc_uab_ansys!15
parents cfae9d47 d250f220
Branches master
Tags v1.4
No related merge requests found
form.js 0 → 100644
const table = {
"interactive": { "max_cpu": 48, "max_hour": 2, "max_gpu": -1 },
"express": { "max_cpu": 48, "max_hour": 2, "max_gpu": -1 },
"short": { "max_cpu": 48, "max_hour": 12, "max_gpu": -1 },
"pascalnodes": { "max_cpu": 28, "max_hour": 12, "max_gpu": 4 },
"pascalnodes-medium": { "max_cpu": 28, "max_hour": 48, "max_gpu": 4 },
"medium": { "max_cpu": 48, "max_hour": 50, "max_gpu": -1 },
"long": { "max_cpu": 48, "max_hour": 150, "max_gpu": -1 },
"intel-dcb": { "max_cpu": 24, "max_hour": 150, "max_gpu": -1 },
"amd-hdr100": { "max_cpu": 128, "max_hour": 150, "max_gpu": -1 },
"largemem": { "max_cpu": 24, "max_hour": 50, "max_gpu": -1 },
"largemem-long": { "max_cpu": 24, "max_hour": 150, "max_gpu": -1 },
"amperenodes": { "max_cpu": 128, "max_hour": 12, "max_gpu": 2 },
"amperenodes-medium": { "max_cpu": 128, "max_hour": 48, "max_gpu": 2 },
}
function set_max_value(form_id, value) {
const form_element = $(form_id);
form_element.attr({'max': value});
}
function set_partition_change_handler() {
let partition_select = $("#batch_connect_session_context_bc_partition");
partition_select.change( function(e) {
toggle_gpu_visibility(e);
});
}
function toggle_gpu_visibility(event) {
const partition = event.target.value;
const cpu_selector = '#batch_connect_session_context_bc_num_slots';
const gpu_selector = '#batch_connect_session_context_bc_num_gpus';
const hour_selector = '#batch_connect_session_context_bc_num_hours';
toggle_visibilty_of_form_group(gpu_selector, table[partition]["max_gpu"] != -1);
set_max_value(cpu_selector, table[partition]["max_cpu"]);
set_max_value(gpu_selector, table[partition]["max_gpu"]);
set_max_value(hour_selector, table[partition]["max_hour"]);
}
function toggle_visibilty_of_form_group(form_id, show) {
let form_element = $(form_id);
let parent = form_element;
while (
(! parent[0].classList.contains('form-group')) &&
(! parent.is('html')) // ensure that we don't loop infinitely
) {
parent = parent.parent();
}
// If parent is HTML then something has gone wrong and visibility should not be changed
if ( parent.is('html') ) {
return;
}
if(show) {
parent.show();
} else {
parent.hide();
}
}
toggle_gpu_visibility(
// Fake the event
{ target: document.querySelector('#batch_connect_session_context_bc_partition') }
);
set_partition_change_handler();
...@@ -8,6 +8,7 @@ attributes: ...@@ -8,6 +8,7 @@ attributes:
value: 1 value: 1
bc_num_slots: bc_num_slots:
widget: "number_field"
label: Number of CPU label: Number of CPU
value: 1 value: 1
min: 1 min: 1
...@@ -23,6 +24,7 @@ attributes: ...@@ -23,6 +24,7 @@ attributes:
step: 1 step: 1
bc_num_gpus: bc_num_gpus:
widget: "number_field"
label: Number of GPUs label: Number of GPUs
value: 1 value: 1
min: 1 min: 1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment