196 lines
6.6 KiB
JavaScript
196 lines
6.6 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
if (!$) {
|
||
|
const $ = django.jQuery;
|
||
|
}
|
||
|
|
||
|
$(function(){
|
||
|
|
||
|
if(!$('#id_rotation').val()) {
|
||
|
$('#id_rotation').val('0');
|
||
|
}
|
||
|
|
||
|
if(!$('#id_twist').val()) {
|
||
|
$('#id_twist').val('0');
|
||
|
}
|
||
|
|
||
|
// $('#id_is_competitive').prop("checked", true);
|
||
|
|
||
|
$('#id_long_label').keyup(function(){
|
||
|
$('#id_short_label').val($('#id_long_label').val());
|
||
|
});
|
||
|
|
||
|
$('#id_rotation_type').keyup(function(){
|
||
|
var rotation_type = parseInt($('#id_rotation_type').children(':selected').val());
|
||
|
if(rotation_type == 0) {
|
||
|
$('#id_rotation').val('0');
|
||
|
$('#id_position').val('/');
|
||
|
$('id_twist').focus();
|
||
|
}
|
||
|
});
|
||
|
|
||
|
$('#id_rotation, #id_twist').keyup(function(){
|
||
|
set_difficulty();
|
||
|
set_level();
|
||
|
set_notation();
|
||
|
});
|
||
|
|
||
|
$('#id_position').change(function(){
|
||
|
set_difficulty();
|
||
|
set_level();
|
||
|
set_notation();
|
||
|
});
|
||
|
|
||
|
$('#id_rotation_type').change(function(){
|
||
|
set_notation();
|
||
|
});
|
||
|
|
||
|
$('#difficulty').change(function(){
|
||
|
set_level();
|
||
|
});
|
||
|
|
||
|
$('#id_level').keyup(function(){
|
||
|
$('#id_rank').val($('#id_level').val());
|
||
|
});
|
||
|
|
||
|
$('#id_notation').keyup(function(){
|
||
|
$('#id_simplified_notation').val($('#id_notation').val());
|
||
|
});
|
||
|
|
||
|
/* From boy to boy & girl */
|
||
|
$('#id_age_boy_with_help').change(function(){
|
||
|
$('#id_age_boy_without_help').val($('#id_age_boy_with_help').val());
|
||
|
$('#id_age_boy_chained').val($('#id_age_boy_with_help').val());
|
||
|
$('#id_age_boy_masterised').val($('#id_age_boy_with_help').val());
|
||
|
|
||
|
$('#id_age_girl_with_help').val($('#id_age_boy_with_help').val());
|
||
|
$('#id_age_girl_without_help').val($('#id_age_boy_with_help').val());
|
||
|
$('#id_age_girl_chained').val($('#id_age_boy_with_help').val());
|
||
|
$('#id_age_girl_masterised').val($('#id_age_boy_with_help').val());
|
||
|
});
|
||
|
$('#id_age_boy_without_help').change(function(){
|
||
|
$('#id_age_boy_chained').val($('#id_age_boy_without_help').val());
|
||
|
$('#id_age_boy_masterised').val($('#id_age_boy_without_help').val());
|
||
|
|
||
|
$('#id_age_girl_without_help').val($('#id_age_boy_without_help').val());
|
||
|
$('#id_age_girl_chained').val($('#id_age_boy_without_help').val());
|
||
|
$('#id_age_girl_masterised').val($('#id_age_boy_without_help').val());
|
||
|
});
|
||
|
$('#id_age_boy_chained').change(function(){
|
||
|
$('#id_age_boy_masterised').val($('#id_age_boy_chained').val());
|
||
|
|
||
|
$('#id_age_girl_chained').val($('#id_age_boy_chained').val());
|
||
|
$('#id_age_girl_masterised').val($('#id_age_boy_chained').val());
|
||
|
});
|
||
|
|
||
|
/* From boy to girl */
|
||
|
$('#id_age_boy_masterised').change(function(){
|
||
|
$('#id_age_girl_masterised').val($('#id_age_boy_masterised').val());
|
||
|
});
|
||
|
|
||
|
/* From girl to girl */
|
||
|
$('#id_age_girl_with_help').change(function(){
|
||
|
$('#id_age_girl_without_help').val($('#id_age_girl_with_help').val());
|
||
|
$('#id_age_girl_chained').val($('#id_age_girl_with_help').val());
|
||
|
$('#id_age_girl_masterised').val($('#id_age_girl_with_help').val());
|
||
|
});
|
||
|
$('#id_age_girl_without_help').change(function(){
|
||
|
$('#id_age_girl_chained').val($('#id_age_girl_without_help').val());
|
||
|
$('#id_age_girl_masterised').val($('#id_age_girl_without_help').val());
|
||
|
});
|
||
|
$('#id_age_girl_chained').change(function(){
|
||
|
$('#id_age_girl_masterised').val($('#id_age_girl_chained').val());
|
||
|
});
|
||
|
|
||
|
|
||
|
const set_difficulty = function()
|
||
|
{
|
||
|
if(typeof($('#id_rotation').val()) === "undefined" || typeof($('#id_twist').val()) === "undefined")
|
||
|
return
|
||
|
|
||
|
var sum = 0;
|
||
|
var position = $('#id_position').val();
|
||
|
var nb_twist = parseInt($('#id_twist').val());
|
||
|
var nb_rotation = parseInt($('#id_rotation').val());
|
||
|
|
||
|
if(nb_rotation != '' && nb_rotation != 0) {
|
||
|
sum = nb_rotation; /* calcul de base */
|
||
|
sum += Math.floor(nb_rotation/4); /* Bonus pour les saltos simple */
|
||
|
sum += Math.floor(nb_rotation/12); /* Bonus pour un triple */
|
||
|
sum += Math.floor(nb_rotation/16); /* Bonus pour un quadruple */
|
||
|
}
|
||
|
|
||
|
if(nb_twist != '' && nb_twist != 0)
|
||
|
sum += nb_twist;
|
||
|
|
||
|
/* pour les simples sans vrille OU les multiples : bonus de position */
|
||
|
if ((nb_rotation == 4 && nb_twist == 0) || nb_rotation > 4)
|
||
|
if(position == '/' || position == '<' || position == 'L')
|
||
|
sum += Math.floor(nb_rotation/4);
|
||
|
|
||
|
$('#id_difficulty').val((sum/10).toFixed(1));
|
||
|
};
|
||
|
|
||
|
|
||
|
const set_level = function()
|
||
|
{
|
||
|
var level = 0;
|
||
|
|
||
|
if(typeof($('#id_difficulty').val()) !== "undefined" && $('#id_difficulty').val() != '') {
|
||
|
level = (parseFloat($('#id_difficulty').val())) * 10;
|
||
|
|
||
|
if($('#id_position').val() == '/')
|
||
|
level += 1;
|
||
|
|
||
|
$('#id_level').val(level);
|
||
|
$('#id_rank').val(level);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
const set_notation = function()
|
||
|
{
|
||
|
var rotation_type = parseInt($('#id_rotation_type').children(':selected').val());
|
||
|
var nb_rotation = parseInt($('#id_rotation').val());
|
||
|
var nb_twist = parseInt($('#id_twist').val());
|
||
|
var txt = '';
|
||
|
|
||
|
if((rotation_type.length != 0) && (rotation_type != 0) && (nb_rotation != 0) && !isNaN(nb_rotation)) {
|
||
|
if(rotation_type == 1)
|
||
|
txt += '.' + nb_rotation;
|
||
|
else
|
||
|
txt += nb_rotation + '.';
|
||
|
|
||
|
// without space is better for skill_lookup
|
||
|
// txt += ' ';
|
||
|
|
||
|
if(nb_twist != 0) {
|
||
|
var size = Math.ceil(nb_rotation/4);
|
||
|
var temp = new Array(size);
|
||
|
var digit = Math.floor(nb_twist/size);
|
||
|
var rest = (size - (nb_twist % size)) - 1;
|
||
|
|
||
|
for(var i = 0; i < size; i++)
|
||
|
if(i > rest)
|
||
|
temp[i] = digit + 1;
|
||
|
else
|
||
|
temp[i] = (digit == 0) ? '-' : digit;
|
||
|
|
||
|
txt += temp.join("");
|
||
|
} else
|
||
|
for(var i = 1; i <= Math.ceil(nb_rotation/4); i++)
|
||
|
txt += '-';
|
||
|
|
||
|
if($('#id_position option:selected').val() != 0)
|
||
|
// without space is better for skill_lookup
|
||
|
// txt += ' ' + $('#id_position option:selected').val();
|
||
|
txt += $('#id_position option:selected').val();
|
||
|
|
||
|
$('#id_notation').val(txt);
|
||
|
$('#id_simplified_notation').val(txt);
|
||
|
} else {
|
||
|
$('#id_notation').val('-');
|
||
|
$('#id_simplified_notation').val('-');
|
||
|
}
|
||
|
};
|
||
|
});
|