Page 1 sur 1

Widget sur le #name#

Publié : 28 août 2019, 16:15
par OUARZA
Bonjour à tous,
C'est encore moi.
Je me suis inspiré d'un widget pour ajouter des boutons image à mes commandes.
Cela fonctionne très bien pour le Plus" et le "moins" mais pas pour les autres aucune image présentée).
Pourquoi ?

Merci pour votre aide.

Code : Tout sélectionner

<div style="width:60px; height:50px; " class="cmd reportModeHidden cmd-widget" data-type="action" data-subtype="other" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
<a class="btn btn-sm action cmdName tooltips" title="#name#" style="border-color:rgba(0,0,0,0)!important"></a>
<!-- Ne Pas Supprimer -->
<script class="createWidgetInfo" type="text/javascript">//<![CDATA[{"type":"1","version":"1","image1":"moins.png","image2":"plus.png","image3":"ouvrir.png","image4":"fermer.png","image5":"stop.png"}]]></script>
<!-- Ne Pas Supprimer -->
<script>
var srcImgPlus = 'plugins/widget/core/template/dashboard/cmd.action.other.Plus_Moins/plus.png';
var srcImgMoins = 'plugins/widget/core/template/dashboard/cmd.action.other.Plus_Moins/moins.png';
var srcImgOuvrir = 'plugins/widget/core/template/dashboard/cmd.action.other.Plus_Moins/ouvrir.png';
var srcImgFermer = 'plugins/widget/core/template/dashboard/cmd.action.other.Plus_Moins/fermer.png';
var srcImgStop = 'plugins/widget/core/template/dashboard/cmd.action.other.Plus_Moins/stop.png';
var taille = 'width=40px';
var taille2 = 'width=70px';

if(jeedom.cmd.normalizeName('#name#') == 'Plus'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgPlus+'" '+taille+'>');
}
if(jeedom.cmd.normalizeName('#name#') == 'Moins'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgMoins+'" '+taille+'>');
}
if(jeedom.cmd.normalizeName('#name#') == 'Ouvrir'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgOuvrir+'" '+taille2+'>');
}
if(jeedom.cmd.normalizeName('#name#') == 'Fermer'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgFermer+'" '+taille2+'>');
}
if(jeedom.cmd.normalizeName('#name#') == 'Stop'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgStop+'" '+taille2+'>');
}
  
$('.cmd[data-cmd_uid=#uid#]:last .action').on('click', function () {
jeedom.cmd.execute({id: '#id#'});
});
</script>
</div>
widget.PNG
widget.PNG (24.89 Kio) Consulté 3211 fois

Re: Widget sur le #name#

Publié : 28 août 2019, 16:19
par mich0111
Bonjour,
Qu'as-tu mis dans l'onglet affichage des différentes commandes?

Envoyé de mon SM-G950F en utilisant Tapatalk


Re: Widget sur le #name#

Publié : 28 août 2019, 16:32
par OUARZA
Bonjour mich0111,
Normalement c'est bien configuré.
widget 2.PNG
widget 2.PNG (33.5 Kio) Consulté 3197 fois
Mathieu

Re: Widget sur le #name#

Publié : 28 août 2019, 16:35
par mich0111
Peux-tu envoyer également ton widget?
Vérifie notamment si les images sont bien stockées dans le widget.

Envoyé de mon SM-G950F en utilisant Tapatalk

Re: Widget sur le #name#

Publié : 28 août 2019, 17:54
par OUARZA
Les Voici avec et sans l'application du widget.
widget2.JPG
widget2.JPG (21.89 Kio) Consulté 3168 fois
widget1.JPG
widget1.JPG (22.5 Kio) Consulté 3168 fois
Oui, oui elles y sont bien :)
widget3.JPG
widget3.JPG (56.51 Kio) Consulté 3167 fois
Mathieu

Re: Widget sur le #name#

Publié : 28 août 2019, 17:57
par mich0111
Quid des fichiers ?

Envoyé de mon SM-G950F en utilisant Tapatalk


Re: Widget sur le #name#

Publié : 28 août 2019, 18:08
par mich0111
C'est trop petit sur mon smartphone.
Je regarderais ça ce soir sur écran à moins qu'une solution te soit donnée d'ici là.
A+

Re: Widget sur le #name#

Publié : 28 août 2019, 18:20
par Poumi
C’est normal puisque tu ne compare pas le nom mais le nom normalisé.

Le principe du nom normalisé est de te retourner pareil pour toutes tes commandes appelées on, ouvrir, allumer... pour simplifier le code derrière.

Donc le nom normalisé n’est le nom de la commande que pour celles ne faisant pas partie des cas prévus, c’est pour ça que ça marche avec plus et moins.

Re: Widget sur le #name#

Publié : 28 août 2019, 18:25
par OUARZA
Hello Poumi,
C'est ça que je dois modifier ?

Code : Tout sélectionner

if(jeedom.cmd.normalizeName('#name#')
Ou dois-je utiliser des mots comme monter, descendre ?

Mathieu

Re: Widget sur le #name#

Publié : 28 août 2019, 18:32
par Poumi
OUARZA a écrit :
28 août 2019, 18:25
Hello Poumi,
C'est ça que je dois modifier ?

Code : Tout sélectionner

if(jeedom.cmd.normalizeName('#name#')
Mathieu
Oui.
C’est bien cette fonction qui te pose problème.

Après pour comment l’ecrire, je n’ai jamais fait de widget donc je ne suis pas sûr à 100% mais je pense qu’il faut mettre directement if #name#

Re: Widget sur le #name#

Publié : 28 août 2019, 18:33
par OUARZA
@Poumi,
Je vais essayer

Re: Widget sur le #name#

Publié : 28 août 2019, 18:40
par OUARZA
Je suis sur le téléphone alors pas évident mais ça sent bon :D

Re: Widget sur le #name#

Publié : 28 août 2019, 20:43
par OUARZA
Impeccable, merci à tous !
Voici le code et une petite image :)

Code : Tout sélectionner

<div style="width:60px; height:50px; " class="cmd reportModeHidden cmd-widget" data-type="action" data-subtype="other" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
<a class="btn btn-sm action cmdName tooltips" title="#name#" style="border-color:rgba(0,0,0,0)!important"></a>
<!-- Ne Pas Supprimer -->
<script class="createWidgetInfo" type="text/javascript">//<![CDATA[{"type":"1","version":"1","image1":"moins.png","image2":"plus.png","image3":"ouvrir.png","image4":"fermer.png","image5":"stop.png"}]]></script>
<!-- Ne Pas Supprimer -->
<script>
var srcImgPlus = 'plugins/widget/core/template/dashboard/cmd.action.other.Plus_Moins/plus.png';
var srcImgMoins = 'plugins/widget/core/template/dashboard/cmd.action.other.Plus_Moins/moins.png';
var srcImgOuvrir = 'plugins/widget/core/template/dashboard/cmd.action.other.Plus_Moins/ouvrir.png';
var srcImgFermer = 'plugins/widget/core/template/dashboard/cmd.action.other.Plus_Moins/fermer.png';
var srcImgStop = 'plugins/widget/core/template/dashboard/cmd.action.other.Plus_Moins/stop.png';
var taille = 'width=40px';
var taille2 = 'width=70px';

if('#name#' == 'Plus'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgPlus+'" '+taille+'>');
}
if('#name#' == 'Moins'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgMoins+'" '+taille+'>');
}
if('#name#' == 'Ouvrir'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgOuvrir+'" '+taille+'>');
}
if('#name#' == 'Fermer'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgFermer+'" '+taille+'>');
}
if('#name#' == 'Stop'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgStop+'" '+taille+'>');
}
  
$('.cmd[data-cmd_uid=#uid#]:last .action').on('click', function () {
jeedom.cmd.execute({id: '#id#'});
});
</script>
</div>
widget4.JPG
widget4.JPG (22.33 Kio) Consulté 3117 fois

Re: Widget sur le #name#

Publié : 19 oct. 2019, 21:57
par OUARZA
Hello !
J'ai voulu transposer ce widget pour une commande info.other.
Malgré avoir vérifié le chemin des images, et une modification "data-type="info"" cela n'affiche rien.
Pouvez-vous m'aider ou souhaitez-vous que je créé un nouveau fil sur le nouveau forum ?

Merci

Re: Widget sur le #name#

Publié : 22 oct. 2019, 21:39
par OUARZA
Hello,
Je suis pas fort en programmation.
Quelqu'un peut-il m'aider ?
Voici ce que j'ai fait:

Code : Tout sélectionner

<div style="width:60px; height:50px; " class="cmd reportModeHidden cmd-widget" data-type="info" data-subtype="other" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
<a class="btn btn-sm action cmdName tooltips" title="#name#" style="border-color:rgba(0,0,0,0)!important"></a>
<!-- Ne Pas Supprimer -->
<script class="createWidgetInfo" type="text/javascript">//<![CDATA[{"type":"1","version":"1","image1":"moins.png","image2":"plus.png","image3":"ouvrir.png","image4":"fermer.png","image5":"stop.png"}]]></script>
<!-- Ne Pas Supprimer -->
<script>
var srcImgON = 'plugins/widget/core/template/dashboard/cmd.info.other.Mal/ON.png';
var srcImgOFF = 'plugins/widget/core/template/dashboard/cmd.info.other.Mal/OFF.png';
var srcImgDIFF = 'plugins/widget/core/template/dashboard/cmd.info.other.Mal/DIFF.png';
var taille = 'width=70px';
var taille2 = 'width=70px';

if('#name#' == 'ON'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgON+'" '+taille+'>');
}
if('#name#' == 'OFF'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgOFF+'" '+taille+'>');
}
if('#name#' == 'DIFF'){
$('.cmd[data-cmd_uid=#uid#] .btn').append('<img src="'+srcImgDIFF+'" '+taille+'>');
}
  
$('.cmd[data-cmd_uid=#uid#]:last .action').on('click', function () {
jeedom.cmd.execute({id: '#id#'});
});
</script>
</div>
Pouvez-vous m'aider ?
Merci beaucoup.

Re: Widget sur le #name#

Publié : 23 oct. 2019, 21:01
par OUARZA
Hello,
J'ai avancé et c'est presque ça :)
Le titre semble masqué mais on peut quand même cliquer dessus, comment le retirer ?

Merci

Code : Tout sélectionner

<div style="width:90px; min-height:80px;" class="cmd reportModeHidden cmd-widget" data-type="info" data-subtype="other" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
	<center>
		<div class="btn btn-sm action cmdName tooltips" title="#name#" style="font-weight: bold;font-size : 12px; #hideCmdName#"#name_display#></div>
		<span style="font-size: 2.5em;" class="iconCmd#uid#"></span>
	</center>
<!-- Ne Pas Supprimer -->
	<script class="createWidgetInfo" type="text/javascript">//<![CDATA[{"type":"1","version":"1","image1":"OFF_MaL.png","image2":"ON_MaL.png"}]]></script>
<!-- Ne Pas Supprimer -->
<script>
var srcImgON = 'plugins/widget/core/template/dashboard/cmd.info.string.MaL2/ON_MaL.png';
var srcImgOFF = 'plugins/widget/core/template/dashboard/cmd.info.string.MaL2/OFF_MaL.png';
var srcImgDIFF = 'plugins/widget/core/template/dashboard/cmd.info.string.MaL2/DIFF_MaL.png';
var taille = 'width=80px';
var taille2 = 'width=80px';

if('#state#' == 'ON'){
$(".iconCmd#uid#").append('<img src="'+srcImgON+'" '+taille+'>');
}
if('#state#' == 'OFF'){
$(".iconCmd#uid#").append('<img src="'+srcImgOFF+'" '+taille+'>');
}
if('#state#' == 'DIFF'){
$(".iconCmd#uid#").append('<img src="'+srcImgDIFF+'" '+taille+'>');
}

$('.cmd[data-cmd_uid=#uid#]:last .action').on('click', function () {
jeedom.cmd.execute({id: '#id#'});
});
</script>
</div>