Bonjour,
Je fais des test pour créer un widget sur la v4.2, et j’ai remarqué une balise sur certains widgets, je ne crois pas que c’était présent en v4.1 … C’est du texte que l’on peut afficher dans la popup de configuration de la commande / widget, donc on peut mettre de l’aide à la configuration. Peut-on aller plus loin et proposer un formulaire pour la saisie des paramètres optionnels ?
J’ai fait un test, pour mon widget j’ai un paramètre pour l’alignement (horizontal ou vertical) donc j’ai fait le formulaire :
<template>
<p>Appliquer ce widget sur un équipement du plugin mode. Masquer les commandes, ne laisser visible que celle d'info.</p>
<fieldset><legend>Position :</legend>
<input type="radio" name="position#id#" id="posv#id#" value="horizontal"/><label for="posv#id#">Horizontal</label>
<input type="radio" name="position#id#" id="posh#id#" value="vertical"/><label for="posh#id#">Vertical</label>
</fieldset>
<script>
$('input[name="position#id#"]').on('click', function(value){console.log(value)})
</script>
</template>
1ère remarque, ici les #id# ne sont pas remplacés. C’est sans doute normal, on est sur la configuration d’une commande, on doit bien savoir laquelle.
maintenant, comment faire pour ajouter / modifier le paramètre position en fonction de la sélection ?
merci, je n’ai trouvé aucune info dans la doc sur cette nouvelle fonctionnalité.
Ce n’était peut-être pas prévu pour ça… Mais ça marche plutôt bien!
Je met un script pour ajouter la ligne dans le tableau des paramètres, je peux mettre le formulaire que je veux, par exemple 2 boutons radio pour un booleen, et ça marche: l’enregistrement prend en compte mon paramètre.
Je dois gérer les doublons, car à l’affichage du tableau il remet le paramètre (normal) donc je l’enlève pur laisser juste le mien.
<template>
<p>Appliquer ce widget sur un équipement du plugin mode. Masquer les commandes, ne laisser visible que celle d'info.</p>
<script>
<!-- // script du template pour l'aide au paramétrage: -->
$(function(){
// remove any duplicate ?
$('#table_widgetParametersCmd tr input:first').filter(function () {
return this.value === 'position';
}).closest('tr').remove();
// add custom parameter configuration: boolean
var tr = `<tr>
<td>
<input class="form-control key" value="position" enabled="false">
</td><td>
<input class="form-control value" enabled="false" id="positionValue" style="display:none">
<fieldset>
<input type="radio" name="position" id="posv" value="1"/><label for="posv">Horizontal</label>
<input type="radio" name="position" id="posh" value="0"/><label for="posh">Vertical</label>
</fieldset>
</td><td>
<a class="btn btn-danger btn-xs removeWidgetParameter pull-right"><i class="fas fa-times"></i> Supprimer</a>
</td>
</tr>`;
$('#table_widgetParametersCmd tbody').append(tr);
$('input[name="position"]').on('click', {position: 'test'}, function(event){$("#positionValue").val( $(this).val())})
});
</script>
</template>