Bonjour
j’avais créé un widget de type slider
avec des boutons + et moins sur le minutes et les heures (je m’etais inspirer d’un truc que j’avais trouver sur le market)
ce widget avais la particularité d’ajoute une information complètement creer dans le widget en faite un temps sous le format xhyy (par ex 1h30) cela n’etait qu’une image de la valeur du slider (130 pour 1h30).
depuis la dernière mise a jour cela ne fonctionne plus.
j’ai bien corriger la partie mise a jour de la valeur du slider mais je n’arrive pas a faire afficher en temps reel la valeur au format xhyy.
voici mon code
<div style="min-width:90px;min-height:62px;margin-right: 5px;margin-left: 5px;padding:0px !important;" class="cmd cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
<center>
<input id="stateTime#id#" type="text" class="value form-control input-sm" value="#state#" style="display:none"/>
<span class="cmdName" style="font-weight: bold;font-size : 12px;#hideCmdName#">#valueName#</span><br/>
<span style="font-size: 2em;font-weight: bold;" id="chaineComplete#id#"></span><br/>
<div class="btn-group">
<a class="btn-sm bt_minusH" style="font-size: 1.1em;" ><i class="fa fa-minus-circle"></i></a>
<a class="btn-sm bt_plusH" style="font-size: 1.1em;" ><i class="fa fa-plus-circle"></i></a>
<a class="btn-sm bt_minusM" style="font-size: 1.1em;" ><i class="fa fa-minus-circle"></i></a>
<a class="btn-sm bt_plusM" style="font-size: 1.1em;" ><i class="fa fa-plus-circle"></i></a>
</div>
</center>
<script>
var heure;
var minute;
var chaineHeure;
var chaineMinute;
var chaineComplete;
var Min;
var Max;
Min =('#minValue#' == '') ? 0 : '#minValue#';
Max =('#maxValue#' == '') ? 2359: '#maxValue#';
if (Min <0)
{
Min =0;
}
if (Max>2359)
{
Max = 2359;
}
jeedom.cmd.update['#id#'] = function(_options){
$('.cmd[data-cmd_uid=#uid#] .value').val(_options.display_value);
}
console.log(parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()));
// Identification des valeurs Heure et Minute avant modification
if (parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) >= 0) {
console.log('>0');
heure = Math.floor(parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) / 100);
minute = parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) - heure*100;
}
console.log('heure ',heure);
console.log('minute ',minute);
// Modification des heures
$('.cmd[data-cmd_uid=#uid#] .bt_minusH').on('click', function () {
if (parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) >= Min+100) {
$('.cmd[data-cmd_uid=#uid#] .value').val(parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) - 100);
$('.cmd[data-cmd_uid=#uid#] .value').trigger('change');
}
});
$('.cmd[data-cmd_uid=#uid#] .bt_plusH').on('click', function () {
if (parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) <= Max-100) {
$('.cmd[data-cmd_uid=#uid#] .value').val(parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) + 100);
$('.cmd[data-cmd_uid=#uid#] .value').trigger('change');
}
});
// Modification des minutes
$('.cmd[data-cmd_uid=#uid#] .bt_minusM').on('click', function () {
if ( minute>=10 ) {
//$('.cmd[data-cmd_uid=#uid#] .value').val((parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) - 10));
jeedom.cmd.update['#id#']({display_value:(parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) - 10)});
$('.cmd[data-cmd_uid=#uid#] .value').trigger('change');
}
else if ( heure >=1 ) {
jeedom.cmd.update['#id#']({display_value:(parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) - 50)});
//$('.cmd[data-cmd_uid=#uid#] .value').val((parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) - 50));
$('.cmd[data-cmd_uid=#uid#] .value').trigger('change');
}
});
$('.cmd[data-cmd_uid=#uid#] .bt_plusM').on('click', function () {
if ( minute < 50 && (heure*100)+ minute < Max) {
//$('.cmd[data-cmd_uid=#uid#] .value').val((parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) + 10));
jeedom.cmd.update['#id#']({display_value:(parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) + 10)});
$('.cmd[data-cmd_uid=#uid#] .value').trigger('change');
}
else if( (heure*100)+ minute < Max ) {
jeedom.cmd.update['#id#']({display_value:(parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) + 50)});
//$('.cmd[data-cmd_uid=#uid#] .value').val((parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) + 50));
$('.cmd[data-cmd_uid=#uid#] .value').trigger('change');
}
});
console.log('avant slider ',parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()));
$('.cmd[data-cmd_uid=#uid#] .value').on('change', function () {
jeedom.cmd.execute({id: '#id#', value: {slider: $('.cmd[data-cmd_uid=#uid#] .value').val()}});
});
console.log('avant >0 ', parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()));
// Affichage des heures et des minutes sous forme de chaine de caractères
if (parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) >= 0) {
// Formatage de la chaine de caractères heure
heure = Math.floor(parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) / 100);
chaineHeure = heure;
// Calcul valeur minute
minute = parseInt($('.cmd[data-cmd_uid=#uid#] .value').val()) - heure*100;
// Formatage de la chaine de caractères minute
if (minute >= 10) {
chaineMinute = minute;
}
else {
chaineMinute = "0" + minute;
}
// Calcul de la chaine complète
chaineComplete = chaineHeure + "h" +chaineMinute;
console.log('chaineComplete ',chaineComplete);
jeedom.cmd.update['chaineComplete#id#'] = function(_options){
$('#chaineComplete#id#').text(_options.display_value2);
}
jeedom.cmd.update['chaineComplete#id#']({display_value2:chaineComplete});
console.log('end ');
}
</script>
</div>
mon problème est dans la fonction : jeedom.cmd.update[‹ chaineComplete#id# ›] . je ne sais pas comment la corriger.
merci pour votre aide