spawner/src/glicid_spawner/templates/interactive.html

93 lines
3.5 KiB
HTML
Raw Normal View History

<div class="form-horizontal">
<div class="form-group">
2024-01-30 18:30:31 +01:00
<label class="col-sm-3 control-label">Username:</label>
<div class="col-sm-9">
2024-01-30 18:30:31 +01:00
<div class="form-control-static">{{ username }}</div>
</div>
</div>
<div class="form-group">
<label for="username" class="col-sm-3 control-label">Python environment:</label>
<div class="col-sm-9">
<select class="form-control" name="python-env">
{%- for pyenv in python_envs -%}
2024-01-30 18:30:31 +01:00
<option value="{{ pyenv.path }}">{{ pyenv.name }} ({{ pyenv.scope | upper }})</option>
{% endfor -%}
</select>
</div>
</div>
2024-01-30 18:30:31 +01:00
<div class="form-group">
<label for="cpu" class="col-sm-3 control-label">CPU:</label>
<div class="col-sm-9">
{%- for cpu in cpu_available -%}
2024-01-31 11:20:56 +01:00
<div class="col-sm-2">
<input type="radio" name="cpu" id="cpu_{{loop.index0}}" value="{{loop.index0}}"
data-max-duration="{{cpu.max_duration}}" {%- if loop.first -%}checked{%- endif -%}>
<label for="cpu_{{loop.index0}}" class="btn btn-default btn-block">
{{ cpu.description }}
</label>
</div>
2024-01-30 18:30:31 +01:00
{% endfor -%}
</div>
</div>
<div class="form-group">
<label for="ram" class="col-sm-3 control-label">Memory:</label>
<div class="col-sm-9">
{%- for ram in ram_available -%}
2024-01-31 11:20:56 +01:00
<div class="col-sm-2">
<input type="radio" name="ram" id="ram_{{loop.index0}}" value="{{loop.index0}}"
data-max-duration="{{ram.max_duration}}" {%- if loop.first -%}checked{%- endif -%}>
<label for="ram_{{loop.index0}}" class="btn btn-default btn-block">
2024-02-08 16:37:20 +01:00
{{ ram.description }}
2024-01-31 11:20:56 +01:00
</label>
</div>
2024-01-30 18:30:31 +01:00
{% endfor -%}
</div>
</div>
<div class="form-group">
<label for="gpu" class="col-sm-3 control-label">GPU:</label>
<div class="col-sm-9">
{%- for gpu in gpu_available -%}
2024-01-31 11:20:56 +01:00
<div class="col-sm-2">
<input type="radio" name="gpu" id="gpu_{{loop.index0}}" value="{{loop.index0}}"
data-max-duration="{{gpu.max_duration}}" {%- if loop.first -%}checked{%- endif -%}>
<label for="gpu_{{loop.index0}}" class="btn btn-default btn-block">
2024-02-08 16:37:20 +01:00
{{ gpu.description }}
2024-01-31 11:20:56 +01:00
</label>
</div>
2024-01-30 18:30:31 +01:00
{% endfor -%}
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Session duration:</label>
<div class="col-sm-9">
<div class="form-control-static"><span id="time-max-duration">24</span> h</div>
</div>
</div>
</div>
2024-01-30 18:30:31 +01:00
<script>
2024-01-31 11:20:56 +01:00
// Append button style
var $style = $(`<style>
input[type=radio] {
display: none;
}
input[type=radio]:checked + label {
background-color: #f37524;
border-color: #e34f21;
color: #fff;
}
</style>`)
$('html > head').append($style);
// Adjust time duration
2024-01-30 18:30:31 +01:00
var $reservations_dropdown = $("#time-max-duration");
2024-01-31 11:20:56 +01:00
$('input[type=radio]').change(function () {
2024-01-30 18:30:31 +01:00
var cpu = $('input[name=cpu]:checked').data('max-duration');
var ram = $('input[name=ram]:checked').data('max-duration');
var gpu = $('input[name=gpu]:checked').data('max-duration');
$reservations_dropdown.text(Math.min(cpu, ram, gpu));
})
</script>