forked from enviPath/enviPy
110 lines
5.8 KiB
HTML
110 lines
5.8 KiB
HTML
{% load envipytags %}
|
|
{% load static %}
|
|
|
|
<div id="new_prediction_setting_modal" class="modal" tabindex="-1">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">Create a Prediction Setting</h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p>To create a Prediction Setting fill the form below and click "Create"</p>
|
|
<form id="new-prediction-setting-modal-form" accept-charset="UTF-8" action="" data-remote="true"
|
|
method="post">
|
|
{% csrf_token %}
|
|
|
|
<label for="prediction-setting-name">Name</label>
|
|
<input id="prediction-setting-name" name="prediction-setting-name" class="form-control" placeholder="Name"/>
|
|
<label for="prediction-setting-description">Description</label>
|
|
<input id="prediction-setting-description" name="prediction-setting-description" class="form-control"
|
|
placeholder="Description"/>
|
|
|
|
<label for="prediction-setting-max-nodes">Max #Nodes</label>
|
|
<input id="prediction-setting-max-nodes" type="number" class="form-control" name="prediction-setting-max-nodes" value="30" min="1" max="50" step="1">
|
|
<label for="prediction-setting-max-depth">Max Depth</label>
|
|
<input id="prediction-setting-max-depth" type="number" class="form-control" name="prediction-setting-max-depth" value="5" min="1" max="8" step="1">
|
|
|
|
<label for="tp-generation-method">TP Generation Method</label>
|
|
<select id="tp-generation-method" name="tp-generation-method" class="form-control" data-width='100%'>
|
|
<option disabled selected>Select how TPs are generated</option>
|
|
<option value="rule-based-prediction-setting">Rule Based</option>
|
|
<option value="model-based-prediction-setting">Model Based</option>
|
|
</select>
|
|
<div id="rule-based-prediction-setting-specific-form">
|
|
<!-- Rule Packages -->
|
|
<label>Rule Packages</label><br>
|
|
<select id="rule-based-prediction-setting-packages" name="rule-based-prediction-setting-packages"
|
|
data-actions-box='true' class="form-control" multiple data-width='100%'>
|
|
<option disabled>Reviewed Packages</option>
|
|
{% for obj in meta.readable_packages %}
|
|
{% if obj.reviewed %}
|
|
<option value="{{ obj.url }}">{{ obj.name|safe }}</option>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
<option disabled>Unreviewed Packages</option>
|
|
{% for obj in meta.readable_packages %}
|
|
{% if not obj.reviewed %}
|
|
<option value="{{ obj.url }}">{{ obj.name|safe }}</option>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
<div id="model-based-prediction-setting-specific-form">
|
|
<label>Select Model</label><br>
|
|
<select id="model-based-prediction-setting-model" name="model-based-prediction-setting-model" class="form-control" data-width='100%'>
|
|
<option disabled selected>Select the model</option>
|
|
{% for m in models %}
|
|
<option value="{{ m.url }}">{{ m.name|safe }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
<label for="model-based-prediction-setting-threshold">Threshold</label>
|
|
<input id="model-based-prediction-setting-threshold" name="model-based-prediction-setting-threshold" class="form-control" placeholder="0.25" type="number"/>
|
|
</div>
|
|
|
|
<input class="form-check-input" type="checkbox" value="on" id="prediction-setting-new-default" name="prediction-setting-new-default">
|
|
<label class="form-check-label" for="prediction-setting-new-default">Set this setting as new default</label>
|
|
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
<button type="button" class="btn btn-primary" id="new-prediction-setting-modal-submit">Create</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
$(function() {
|
|
|
|
// Initially hide all "specific" forms
|
|
$("div[id$='-specific-form']").each( function() {
|
|
$(this).hide();
|
|
});
|
|
|
|
$("#rule-based-prediction-setting-packages").selectpicker();
|
|
|
|
// On change hide all and show only selected
|
|
$("#tp-generation-method").change(function() {
|
|
$("div[id$='-specific-form']").each( function() {
|
|
$(this).hide();
|
|
});
|
|
val = $('option:selected', this).val();
|
|
$("#" + val + "-specific-form").show();
|
|
});
|
|
|
|
$('#new-prediction-setting-modal-submit').click(function(e){
|
|
e.preventDefault();
|
|
// $('#new-prediction-setting-modal-form').submit();
|
|
|
|
const formData = $('#new-prediction-setting-modal-form').serialize();
|
|
$.post('/setting', formData, function(response) {
|
|
location.reload();
|
|
});
|
|
});
|
|
})
|
|
</script>
|