Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

slider with decimal values

De l'installation à l'utilisation venez discuter de JEEDOM au quotidien
pierrot87
Timide
Messages : 78
Inscription : 12 oct. 2018, 18:58

slider with decimal values

Message par pierrot87 » 01 janv. 2019, 22:11

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

Charlely
Timide
Messages : 28
Inscription : 16 déc. 2018, 20:53
Localisation : 25 (Doubs)

Re: slider with decimal values

Message par Charlely » 06 janv. 2019, 17:57

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 ...

Avatar de l’utilisateur
cadavor
Actif
Messages : 1284
Inscription : 21 juin 2015, 22:00
Localisation : 34

Re: slider with decimal values

Message par cadavor » 07 janv. 2019, 15:35

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 :

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>
Avant la ligne

Code : Tout sélectionner

            $(".cmd[data-cmd_id=#id#] .slider").slider({
Ajouter :

Code : Tout sélectionner

step : 10,
Adapter la valeur a votre convenance.
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

Avatar de l’utilisateur
cadavor
Actif
Messages : 1284
Inscription : 21 juin 2015, 22:00
Localisation : 34

Re: slider with decimal values

Message par cadavor » 07 janv. 2019, 15:43

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

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>
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
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

pierrot87
Timide
Messages : 78
Inscription : 12 oct. 2018, 18:58

Re: slider with decimal values

Message par pierrot87 » 11 févr. 2019, 11:24

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

Répondre

Revenir vers « Utilisation »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 18 invités