Bonsoir
j'utilise le widget slider_value pour faire varier une température demandée
la variation se fait sur des chiffres entiers
je désire faire varier sur un chiffre décimal, exemple de 0.2 en 0.2 ou de 0.5 en 0.5
comment faire ?
Cordialement
Pierre
slider with decimal values
Re: slider with decimal values
Salut, je n'ai pas la réponse, mais moi je cherche a faire un slider qui varie de 20 en 20 par exemple, de 0 à 100 ...
Re: slider with decimal values
Dans le cas de valeur entiere uniquement :
Pour le min et max, ils sont à renseigner dans les limites de la commande.
Pour le step, il vous faut modifier le code du widget.
Pour cela, rendez-vous dans la configuration de la commande (petit engrenage sur la ligne de la commande Action Curseur).
Onglet "Affichage" : choisissez le widget "defaut (core)"
Onglet "Code" : cochez "Activer la personnalisation du widget" et choisissez la vue dans laquelle vous souhaitez utiliser le nouveau widget.
Pour le dashboard par exemple :
Avant la ligne
Ajouter :
Adapter la valeur a votre convenance.
Pour le min et max, ils sont à renseigner dans les limites de la commande.
Pour le step, il vous faut modifier le code du widget.
Pour cela, rendez-vous dans la configuration de la commande (petit engrenage sur la ligne de la commande Action Curseur).
Onglet "Affichage" : choisissez le widget "defaut (core)"
Onglet "Code" : cochez "Activer la personnalisation du widget" et choisissez la vue dans laquelle vous souhaitez utiliser le nouveau widget.
Pour le dashboard par exemple :
Code : Tout sélectionner
<span class="cmd cmd-widget" data-type="action" data-subtype="slider" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
<div class="cmdName" style="font-weight: bold;font-size : 12px;#hideCmdName#">#name_display#</div>
<div class="slider" style="margin : 5px 10px 8px 10px;width: 80px;" value="#state#"></div>
<script>
$(".cmd[data-cmd_uid=#uid#] .slider.slider-horizontal").css('z-index',1);
jeedom.cmd.update['#id#'] = function(_options){
$(".cmd[data-cmd_id=#id#] .slider").slider({
min: ('#minValue#' == '') ? 0 : parseInt('#minValue#'),
max: ('#maxValue#' == '') ? 100 : parseInt('#maxValue#'),
value: ('#state#' == '') ? 0 : parseInt(_options.display_value)
})
}
jeedom.cmd.update['#id#']({display_value:'#state#'});
$(".cmd[data-cmd_uid=#uid#] .slider").on('slidestop', function (event,ui) {
jeedom.cmd.execute({id: '#id#', value: {slider: ui.value}});
});
</script>
</span>
Code : Tout sélectionner
$(".cmd[data-cmd_id=#id#] .slider").slider({
Code : Tout sélectionner
step : 10,
Dernière édition par cadavor le 07 janv. 2019, 15:45, édité 1 fois.
Jeedom Stable 3.3
NUC Z83 + Aeotec Z-Stick Gen5
Z-Wave FGR + FGMS + FGDS + FGFS + FGK + FGWPE + ZW062 + ZW080
GH Mini + Orvibo AllOne + Playbulb + Miband2
NUC Z83 + Aeotec Z-Stick Gen5
Z-Wave FGR + FGMS + FGDS + FGFS + FGK + FGWPE + ZW062 + ZW080
GH Mini + Orvibo AllOne + Playbulb + Miband2
Re: slider with decimal values
Dans le cas de nombre à virgule et/ou de faciliter d'utilisation :
Sinon vous pouvez créer un widget personnalisé pour pouvoir le réutiliser à différent endroit :
Allez dans Plugins -> Programmation -> Widget (installer le depuis le market si vous ne l'avez pas il est gratuit)
Puis cliquer sur "Ajouter un widget" (bouton bleu à gauche)
Donnez lui un petit nom (par exemple "slider_step")
Version : "Dashboard"
Type : "Action"
Sous-type : "Curseur"
Puis coller le code suivant
et sauvegarder
Ensuite lorsque vous modifier la configuration d'une commande dans l'onglet "Affichage" choisissez le widget que vous venez de créer "slider_step" si vous l'avez nommé comme dans mon exemple.
Puis en dessous dans la partie "Paramètres optionnels widget"
Ajouter une nouvelle option (clic sur le petit bouton vert "Ajouter")
Dans le champ "Nom" écrire "stepValue"
Dans la champ "Valeur", la valeur de l'incrément que vous souhaitez
Sinon vous pouvez créer un widget personnalisé pour pouvoir le réutiliser à différent endroit :
Allez dans Plugins -> Programmation -> Widget (installer le depuis le market si vous ne l'avez pas il est gratuit)
Puis cliquer sur "Ajouter un widget" (bouton bleu à gauche)
Donnez lui un petit nom (par exemple "slider_step")
Version : "Dashboard"
Type : "Action"
Sous-type : "Curseur"
Puis coller le code suivant
Code : Tout sélectionner
<span class="cmd cmd-widget" data-type="action" data-subtype="slider" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
<div class="cmdName" style="font-weight: bold;font-size : 12px;#hideCmdName#">#name_display#</div>
<div class="slider" style="margin : 5px 10px 8px 10px;width: 80px;" value="#state#"></div>
<script>
$(".cmd[data-cmd_uid=#uid#] .slider.slider-horizontal").css('z-index',1);
jeedom.cmd.update['#id#'] = function(_options){
$(".cmd[data-cmd_id=#id#] .slider").slider({
step: ('#stepValue#' == '') ? 1 : parseFloat('#stepValue#'),
min: ('#minValue#' == '') ? 0 : parseFloat('#minValue#'),
max: ('#maxValue#' == '') ? 100 : parseFloat('#maxValue#'),
value: ('#state#' == '') ? 0 : parseFloat(_options.display_value)
})
}
jeedom.cmd.update['#id#']({display_value:'#state#'});
$(".cmd[data-cmd_uid=#uid#] .slider").on('slidestop', function (event,ui) {
jeedom.cmd.execute({id: '#id#', value: {slider: ui.value}});
});
</script>
</span>
Ensuite lorsque vous modifier la configuration d'une commande dans l'onglet "Affichage" choisissez le widget que vous venez de créer "slider_step" si vous l'avez nommé comme dans mon exemple.
Puis en dessous dans la partie "Paramètres optionnels widget"
Ajouter une nouvelle option (clic sur le petit bouton vert "Ajouter")
Dans le champ "Nom" écrire "stepValue"
Dans la champ "Valeur", la valeur de l'incrément que vous souhaitez
Jeedom Stable 3.3
NUC Z83 + Aeotec Z-Stick Gen5
Z-Wave FGR + FGMS + FGDS + FGFS + FGK + FGWPE + ZW062 + ZW080
GH Mini + Orvibo AllOne + Playbulb + Miband2
NUC Z83 + Aeotec Z-Stick Gen5
Z-Wave FGR + FGMS + FGDS + FGFS + FGK + FGWPE + ZW062 + ZW080
GH Mini + Orvibo AllOne + Playbulb + Miband2
Re: slider with decimal values
Bonjour
merci de votre aide
j'ai fait différemment
j'ai dupliqué le widget 'slider_value' en 'slider_pierre'
j'ai ajouté la ligne
step: ('#stepValue#' == '') ? 1 : parseFloat('#stepValue#'),
comme vous le préconisiez
j'ai sauvegardé
puis dans la commande/affichage j'ai choisi 'slider_pierre' et j'ai ajouté le paramètre optionnel 'stepvalue' à 0.5
tout fonctionne correctement
encore merci
cordialement
merci de votre aide
j'ai fait différemment
j'ai dupliqué le widget 'slider_value' en 'slider_pierre'
j'ai ajouté la ligne
step: ('#stepValue#' == '') ? 1 : parseFloat('#stepValue#'),
comme vous le préconisiez
j'ai sauvegardé
puis dans la commande/affichage j'ai choisi 'slider_pierre' et j'ai ajouté le paramètre optionnel 'stepvalue' à 0.5
tout fonctionne correctement
encore merci
cordialement
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 18 invités