forked from ScoDoc/DocScoDoc
68 lines
1.9 KiB
JavaScript
68 lines
1.9 KiB
JavaScript
|
|
|
|
|
|
function compute_moyenne() {
|
|
var notes = $(".tf_field_note input").map(
|
|
function() { return parseFloat($(this).val()); }
|
|
).get();
|
|
var coefs = $(".tf_field_coef input").map(
|
|
function() { return parseFloat($(this).val()); }
|
|
).get();
|
|
var N = notes.length;
|
|
var dp = 0.;
|
|
var sum_coefs = 0.;
|
|
for (var i=0; i < N; i++) {
|
|
if (!(isNaN(notes[i]) || isNaN(coefs[i]))) {
|
|
dp += notes[i] * coefs[i];
|
|
sum_coefs += coefs[i];
|
|
}
|
|
}
|
|
return dp / sum_coefs;
|
|
}
|
|
|
|
// Callback select menu (UE code)
|
|
function enable_disable_fields_cb() {
|
|
enable_disable_fields(this);
|
|
}
|
|
function enable_disable_fields(select_elt) {
|
|
// input fields controled by this menu
|
|
var input_fields = $(select_elt).parent().parent().find('input');
|
|
var disabled = false;
|
|
if ($(select_elt).val() === "None") {
|
|
disabled = true;
|
|
}
|
|
console.log('disabled=', disabled);
|
|
input_fields.each( function () {
|
|
var old_state = this.disabled;
|
|
console.log("old_state=", old_state)
|
|
if (old_state == disabled) {
|
|
return; /* state unchanged */
|
|
}
|
|
var saved_value = $(this).data('saved-value');
|
|
if (typeof saved_value == 'undefined') {
|
|
saved_value = '';
|
|
}
|
|
var cur_value = $(this).val();
|
|
// swap
|
|
$(this).data('saved-value', cur_value);
|
|
$(this).val(saved_value);
|
|
});
|
|
input_fields.prop('disabled', disabled);
|
|
}
|
|
function setup_text_fields() {
|
|
$(".ueext_valid_select").each(
|
|
function() {
|
|
enable_disable_fields(this);
|
|
}
|
|
);
|
|
}
|
|
|
|
$().ready(function(){
|
|
$(".tf_ext_edit_ue_validations").change(function (){
|
|
$(".ext_sem_moy_val")[0].innerHTML=compute_moyenne();
|
|
});
|
|
$(".ueext_valid_select").change( enable_disable_fields_cb );
|
|
|
|
setup_text_fields();
|
|
});
|