jplp
Janvier 9, 2020, 1:29
1
Bonjour,
je cherche à modifier une variable directement depuis un design.
En passant par la commande d’un virtuel de type message, j’arrive à mes fins.
Cependant, le champs qui est proposé est un champs de type mail avec un titre et le corps du message.
Y-a-t-il moyen de n’avoir qu’un seul champs texte ?
Merci.
Bben
Janvier 27, 2020, 4:01
5
Bonjour,
Il y a peut être une solution pas très jolie, je vais jeter un pavé :
Avec un « equipement champs texte » dans ton design, un "<input type="text">"
Il doit y avoir moyen d’envoyer une requête avec l’url de ta commande de ton virtuel avec du javascript/Ajax…
désolé de ne pouvroi t’aider plus
Salut,
Tu peux te faire un widget perso sur la base du widget core message :
<div class="cmd cmd-widget reportModeHidden" data-type="action" data-subtype="message" data-template="default" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#">
<div class="content-lg">
<input class="form-control input-sm title" placeholder="#title_placeholder#" data-cmd_id="#id#" value="#title#"/>
<textarea class="form-control input-sm message" rows="2" placeholder="#message_placeholder#" data-cmd_uid="#uid#" data-cmd_id="#id#">#message#</textarea>
<a class='btn btn-xs execute'>#name_display#</a>
</div>
<template>
<div>title : {{Titre par défaut}}.</div>
<div>title_placeholder : {{Titre indicatif par défaut}}.</div>
<div>title_possibility_list : title1, title2 ({{Autocomplete}}).</div>
<div>title_disable : 1 ({{Ne pas afficher le champ titre}}).</div>
<div>message_placeholder : {{Message indicatif par défaut}}.</div>
<div>message : {{Message par défaut}}.</div>
<div>message_disable : 1 ({{Ne pas afficher le champ message}}).</div>
</template>
<script>
if ('#title_disable#' == '1') {
$('.cmd[data-cmd_uid=#uid#] .title').hide()
}
if ('#message_disable#' == '1') {
This file has been truncated. show original
Dans cette idée (j’ai enlevé tout ce qui concerne la partie titre ):
<div class="cmd cmd-widget reportModeHidden" data-type="action" data-subtype="message" data-template="default" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#">
<div class="content-lg">
<textarea class="form-control input-sm message" rows="2" placeholder="#message_placeholder#" data-cmd_uid="#uid#" data-cmd_id="#id#"></textarea>
<a class='btn btn-xs execute'>#name_display#</a>
</div>
<script>
if('#message_disable#' == '1'){
$('.cmd[data-cmd_uid=#uid#] .message').hide();
}
$('.cmd[data-cmd_uid=#uid#]:last .execute').on('click', function() {
jeedom.cmd.execute({id: '#id#', value: {message: $('.cmd[data-cmd_uid=#uid#] .message').value()}});
});
</script>
</div>
Si j’en ai trop enlevé ça fonctionnera avec ce code:
<div class="cmd cmd-widget reportModeHidden" data-type="action" data-subtype="message" data-template="default" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#">
<div class="content-lg">
<textarea class="form-control input-sm message" rows="2" placeholder="#message_placeholder#" data-cmd_uid="#uid#" data-cmd_id="#id#"></textarea>
<a class='btn btn-xs execute'>#name_display#</a>
</div>
<script>
if('#title_disable#' == '1'){
$('.cmd[data-cmd_uid=#uid#] .title').hide();
}
if('#message_disable#' == '1'){
$('.cmd[data-cmd_uid=#uid#] .message').hide();
}
$('.cmd[data-cmd_uid=#uid#]:last .execute').on('click', function() {
jeedom.cmd.execute({id: '#id#', value: {title: $('.cmd[data-cmd_uid=#uid#] .title').value(), message: $('.cmd[data-cmd_uid=#uid#] .message').value()}});
});
if('#title_possibility_list#' != ''){
$('.cmd[data-cmd_uid=#uid#] .title').autocomplete({
source: json_decode('#title_possibility_list#'),
close: function (event, ui) {
$(this).trigger('focusout');
}
});
}
</script>
</div>
1 « J'aime »
jplp
Janvier 27, 2020, 5:13
7
Merci à vous deux !
Je vais tester et vous faire un retour.
jplp
Janvier 27, 2020, 5:50
8
@Bben : Je ne maitrise malheureusement pas suffisamment pour pouvoir me lancer dans cette solution. Mais merci quand même.
@Salvialf : Ta combine fonctionne parfaitement ! Un grand merci pour ça.
En plus, j’ai appris que le code jeedom était dispo … on apprend tous les jours ^^
Salut,
Je corriger ma réponse de l’époque qui n’était pas la solution la plus optimale.
En fait pour les commandes action/message il existe un paramètre optionnel permettant de choisir d’afficher ou non le titre. Il s’agit d’un paramètre title_disable
à mettre à 1
pour cacher le titre :
system
A fermé ce sujet ()
Janvier 11, 2021, 11:18
10
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.