Checkbox qui prend la valeur d'un autre équipement, comment faire?

Bonsoir les developpeurs,

Je me décide à poser la question parce que ça fait quelques fois que je tombe sur le soucis et ça m’énerve un peu.

Je mets en place une nouvelle checkbox sur un plugin existant par exemple :

<div class="form-group">
	<label class="col-sm-4 control-label">{{Index de production de type journalier}}
		<sup><i class="fa fa-question-circle tooltips" title="{{Si votre index de production est journalier donc remis à zéro chaque jour}}"></i></sup>
	</label>
	<div class="col-sm-6">
		<input type="checkbox" id="select_IndexResetEachDay" class="eqLogicAttr form-control" data-l1key="configuration" data-l2key="cfg_IndexResetEachDay">
	</div>
</div>

Je vais sur l’équipement n°1 : la case n’est pas cochée, c’est normal
Je coche la case sur l’équipement n°1 et sauvegarde

Je vais sur l’équipement n°2 : la case est cochée, ce n’est pas normal
Je refresh (F5) et la case se décoche, c’est normal

Une fois qu’il existe une valeur dans data-l2key, il n’y a plus ce soucis mais quand il n’y a pas de valeur ça dysfonctionne. Comment faites-vous pour éviter ce comportement ?

Lors de la création de l’équipement il est possible d’utiliser preInsert() pour définir les valeurs mais quand l’équipement existe déjà … ?

Quoi que je pourrais le faire lors de l’update du plugin en fait …

Il y a mieux à faire ?

Merci

Salut,

Yep déjà vécu ca.

Comme tu dis, dans la function plugin_update (dans install.php), boucles sur tes eqlogic et initialises la valeur.

Salut Mips,

Ouais OK donc pas vraiment d’autres techniques.

Merci pour la confirmation.

Hello, l’autre technique consiste a mettre une function prePrintEqLogic(_eqlogicId) dans le js qui réinit la checkbox :

function prePrintEqLogic(_eqlogicId){
  document.getElementById('div_pageContainer')?.querySelector('.eqLogicAttr[data-l1key="configuration"][data-l2key="myl2key"]').jeeValue(0)
}

Je ne connaissais pas ce prePrint. C’est là depuis quelle version du core?

A ce que je vois dans le plugin.template, depuis toujours :rofl:

Salut,

Intéressant, merci j’essaierai.

J’ai téléchargé le plugin template il y a 2 jours et je ne vois pas cette fonction dans desktop/js/template.js :thinking:

Cest dans le core pas en desktop :

Edit : je vient de te comprendre :wink:, effectivement il est possible que cette fonction ne soit pas implémenté ou argumenté dans la doc du plugin template.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.