You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[Configuration de la carte](#configuration-de-la-carte)
22
21
-[Exports](#exports)
@@ -494,35 +493,35 @@ Par exemple :
494
493
},
495
494
```
496
495
497
-
## Les paramètres dynamiques
498
-
499
-
Il est possible de définir des fonctions javascript (sous forme de chaine de caractères) qui peuvent modifier les comportements et valeurs du formulaire.
500
-
501
-
**Ce cas n'est pris en compte que pour les composants spécifiques, ou pour les composants redéfinis dans `specific`**
502
-
503
-
Il est possible de définir des fonctions à deux niveaux:
504
-
* au niveau de chaque champ du formulaire
505
-
* au niveau global au formulaire (via la fonction change)
506
-
507
-
Les variables accessibles en fonction des différents contextes sont les suivantes :
508
-
*`value` : la valeur du formulaire. Dans le contexte d'un champ specific
509
-
*`attribut_name` : du composant concerné. Dans le contexte d'un champ specific
510
-
*`objForm` : Formulaire. Dans le contexte de la fonction change
511
-
*`meta` : Dictionnaire de données additionnelles, contient les données suivantes. Dans tout les contextes
512
-
*`nomenclatures`: liste des nomenclatures utilisées. Dictionnaire avec `id_nomenclature` comme clé.
513
-
*`dataset` : liste des jdds disponibles pour l'utilisateur et le module
514
-
*`id_role` : identifiant de l'utilisateur courant
515
-
*`bChainInput`: si on enchaîne les relevés
516
-
*`parents`: Objets parents. Permet de récupérer les valeurs définies dans le parents.
517
-
518
-
519
-
La chaîne de caractère qui décrit la fonction doit être de la forme
496
+
### Les paramètres dynamiques
497
+
498
+
Il est possible de définir des paramètre qui peuvent dépendre de
499
+
plusieurs variables. La valeur de ce paramètre est alors une chaîne de
500
+
caractère qui définit une fonction, qui utilise les variables suivantes
501
+
502
+
**Ce cas n'est pris en compte que pour les composants spécifiques, ou
503
+
pour les composants redéfinis dans `specific`**
504
+
505
+
*`value` : les valeurs du formulaire
506
+
*`attribut_name` : du composant concerné
507
+
*`meta` : un dictionnaire de données additionelles, et fourni au
508
+
composant dynamicFormGenerator, il peut contenir des données sur
509
+
* la nomenclature (pour avoir les valeurs des nomenclature à
510
+
partir des id, ici un dictionnaire avec `id_nomenclature` comme
511
+
clés.
512
+
*`bChainInput` si on enchaine les relevés
513
+
* etc.. à redéfinir selon les besoins
514
+
515
+
La chaine de caractère qui décrit la fonction doit être de la forme
Le format JSON ne permet pas les sauts de ligne dans les chaînes de caractère, et pour avoir plus de lisibilité, quand la fonction est plus complexe, on peut aussi utiliser un tableau de chaîne de caractères :
521
+
522
+
Le format JSON ne permet pas les sauts de ligne dans les chaines de
523
+
caractère, et pour avoir plus de lisibilité, quand la fonction est plus
524
+
complexe, on peut aussi utiliser un tableau de chaine de caractères :
526
525
527
526
```json
528
527
"hidden": [
@@ -531,11 +530,16 @@ Le format JSON ne permet pas les sauts de ligne dans les chaînes de caractère,
531
530
"}"
532
531
]
533
532
```
534
-
535
533
536
-
### Exemples champs des formulaires
534
+
Le lignes seront collées entre elles avec l'ajout de saut de lignes
535
+
(caractère [n]{.title-ref}).
536
+
537
+
Il faut être certain de sa fonction.
537
538
538
-
* Afficher le composant `test2` et le rendre obligatoire seulement si `test1` a pour valeur `t` :
539
+
Exemples :
540
+
541
+
* Afficher le composant `test2` et le rendre obligatoire seulement si
542
+
`test1` a pour valeur `t` :
539
543
540
544
```json
541
545
"specific": {
@@ -552,7 +556,8 @@ Le format JSON ne permet pas les sauts de ligne dans les chaînes de caractère,
552
556
}
553
557
```
554
558
555
-
* Ajouter un champ pour renseigner la profondeur d'une grotte si le type de site est une grotte (cd_nomenclature '1')
559
+
* Ajouter un champs pour renseigner la profondeur d'une grotte si le
560
+
type de site est une grotte
556
561
557
562
Dans le fichier `site.json`
558
563
@@ -569,13 +574,15 @@ Dans le fichier `site.json`
569
574
}
570
575
```
571
576
572
-
**Le paramêtre ``value`` ne peut pas être dynamique, pour changer la valeur des variables en fonction d'autres variables, on peut définir ``change`` dans la config. Voir ci dessous**
577
+
**Le paramêtre ``value`` ne peut pas être dynamique, pour changer la
578
+
valeur des variables en fonction d'autres variables, on peut définir
579
+
``change`` dans la config. Voir ci dessous**
573
580
574
-
### Exemples variable `change`
581
+
### La variable `change`
575
582
576
-
On peut y définir une fonction qui sera appelée chaque fois que le formulaire change.
583
+
On peut y définir une fonction qui sera appelée chaque fois que le
584
+
formulaire change.
577
585
578
-
**Exemple utilisation de objForm**
579
586
Un exemple (`module.json` du module test) :
580
587
581
588
```json
@@ -609,69 +616,14 @@ Un exemple (`module.json` du module test) :
609
616
}
610
617
```
611
618
612
-
Ici on donne à la variable `test3` la valeur `<test>_<test2>`. Le test `!objForm.controls.test3.dirty` permet de ne modifier la variable que si l'utilisateur ne l'a pas modifié manuellement.
613
-
619
+
Ici on donne à la variable `test3` la valeur `<test>_<test2>`.
614
620
615
-
**Exemple valeur par défaut en fonction des valeurs du formulaire parent**
616
-
Il est possible avec meta de récupérer les données du niveau supérieur. Voici un exemple sur la réutilisation de valeurs au niveau du site pour pré-remplir les champs au niveau de la visite:
621
+
C'est valable tant que le `test3` n'a pas été modifé à la main (i. e.
622
+
`objForm.controls.test3.dirty` n'est pas vrai).
617
623
618
-
Fichier de configuration du niveau site:
624
+
On peut donc modifer par la suite la valeur de test3 à la main.
619
625
620
-
```json
621
-
{
622
-
...
623
-
"specific": {
624
-
...
625
-
"occ_sol": {
626
-
"attribut_label": "OS",
627
-
"type_widget": "select",
628
-
"values": [...],
629
-
"required": true,
630
-
"hidden": false
631
-
},
632
-
"gestion":{
633
-
"attribut_label": "Gestion",
634
-
"type_widget": "select",
635
-
"values": [...],
636
-
"required": true,
637
-
"hidden": false
638
-
}
639
-
}
640
-
```
641
-
642
-
Fichier de configuration du niveau visite:
643
-
644
-
```json
645
-
{
646
-
...
647
-
"specific": {
648
-
...
649
-
"occ_sol": {
650
-
"attribut_label": "Occupation du sol à grande échelle",
0 commit comments