DDorch / jacase

JAvascript CAlculators for Scientific Equations
http://hydraulique.g-eau.net/-Calculettes-pour-l-hydraulique-
MIT License
0 stars 0 forks source link

Structuration de la variable "fields" de description des champs #18

Closed DDorch closed 8 years ago

DDorch commented 8 years ago

La structuration actuelle de la variable fields ne correspond pas à celle qui est utilisée dans la calculette en PHP et les limitations que cela implique vont nous gêner pour la suite.

Si on regarde http://zone.spip.org/trac/spip-zone/browser/_plugins_/hydraulic/trunk/hyd_inc/form_cond_distri.class.php, on verra que la liste des champs est séparées en deux blocs (qu'on appelle fieldset pour un formulaire) :

Dans jacase, on a choisit de gérer les paramètres de calcul et d'affichage à partir de formulaire.ts car c'est un champ toujours présent quelque soit la calculette utilisée.

Pour Lechapt et Calmon (http://zone.spip.org/trac/spip-zone/browser/_plugins_/hydraulic/trunk/hyd_inc/form_lechapt_calmon.class.php), il y a deux fieldset qui nous intéresse : "fs_materiau" et "fs_hydraulique".

Si on regarde le contenu du fieldset, on trouve 3 éléments :

Il faut reprendre cette structuration par fieldset pour pouvoir gérer la calculette "Lechapt et Calmon" et les suivantes.

Pour l'affichage ou non des 3 boutons en fonction du type de fieldset, on peut s'inspirer de ce qui est fait en squelette SPIP : http://zone.spip.org/trac/spip-zone/browser/_plugins_/hydraulic/trunk/hyd_inc/form_champ_fixvarcal.html. Ça correspond en fait à utiliser un ngIf pour afficher ou non les 3 colonnes.

DDorch commented 8 years ago

Si je récapitule la structuration de fields, suite à ce que tu as fait, les différents discussions qu'on a eu sur #10 et mes dernières réflexions :

Les clés commençant par fs_ correspondent aux fieldsets. Pour chaque fieldset, on a :

Ensuite dans chaque fieldset, pour chaque clé "fields", on a les clés suivantes :

Pour les champs de type "select", il y a en plus la clé "select" qui contient la liste de choix sous la forme d'un tableau contenant les clés suivantes pour chaque item du tableau :

Les items de la clé "select" peuvent contenir des clés supplémentaires en fonction des besoins de la calculette (par exemple la définition des paramètres L, M et N pour Lechapt et Calmon).

Au premier niveau de clé, à côté des clés commençant par fs_, on a une clé "options" qui définissent des options au niveau du formulaire avec la clé :

La clé "options" pourra être complétée par de nouvelles clés en fonction des besoins de chaque calculette.