@inseefr/lunatic 3.0.0-rc.32 → 3.0.0-rc.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -19
- package/lib/components/CheckboxBoolean/CheckboxBoolean.d.ts +2 -2
- package/lib/components/CheckboxBoolean/CheckboxBoolean.js +7 -2
- package/lib/components/CheckboxBoolean/CheckboxBoolean.js.map +1 -1
- package/lib/components/CheckboxBoolean/CheckboxBoolean.spec.js +7 -7
- package/lib/components/CheckboxBoolean/CheckboxBoolean.spec.js.map +1 -1
- package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
- package/lib/components/CheckboxGroup/CheckboxGroup.js +3 -3
- package/lib/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/lib/components/CheckboxGroup/CustomCheckboxGroup.d.ts +2 -0
- package/lib/components/CheckboxGroup/CustomCheckboxGroup.js +2 -2
- package/lib/components/CheckboxGroup/CustomCheckboxGroup.js.map +1 -1
- package/lib/components/CheckboxOne/CheckboxOne.d.ts +1 -1
- package/lib/components/CheckboxOne/CheckboxOne.js +2 -2
- package/lib/components/CheckboxOne/CheckboxOne.js.map +1 -1
- package/lib/components/CheckboxOne/CheckboxOne.spec.js +5 -3
- package/lib/components/CheckboxOne/CheckboxOne.spec.js.map +1 -1
- package/lib/components/Datepicker/Datepicker.d.ts +2 -2
- package/lib/components/Datepicker/Datepicker.js +2 -2
- package/lib/components/Datepicker/Datepicker.js.map +1 -1
- package/lib/components/Datepicker/Datepicker.spec.js +28 -9
- package/lib/components/Datepicker/Datepicker.spec.js.map +1 -1
- package/lib/components/Dropdown/Dropdown.d.ts +2 -2
- package/lib/components/Dropdown/Dropdown.js +2 -2
- package/lib/components/Dropdown/Dropdown.js.map +1 -1
- package/lib/components/Dropdown/Dropdown.spec.js +1 -1
- package/lib/components/Dropdown/Dropdown.spec.js.map +1 -1
- package/lib/components/Duration/Duration.d.ts +2 -2
- package/lib/components/Duration/Duration.js +2 -2
- package/lib/components/Duration/Duration.js.map +1 -1
- package/lib/components/Input/Input.d.ts +2 -2
- package/lib/components/Input/Input.js +2 -2
- package/lib/components/Input/Input.js.map +1 -1
- package/lib/components/Input/Input.spec.js +4 -2
- package/lib/components/Input/Input.spec.js.map +1 -1
- package/lib/components/InputNumber/InputNumber.d.ts +2 -2
- package/lib/components/InputNumber/InputNumber.js +2 -2
- package/lib/components/InputNumber/InputNumber.js.map +1 -1
- package/lib/components/InputNumber/InputNumber.spec.js +8 -3
- package/lib/components/InputNumber/InputNumber.spec.js.map +1 -1
- package/lib/components/Loop/Loop.d.ts +2 -2
- package/lib/components/Loop/Loop.js +9 -5
- package/lib/components/Loop/Loop.js.map +1 -1
- package/lib/components/Question/Question.js +6 -1
- package/lib/components/Question/Question.js.map +1 -1
- package/lib/components/Radio/Radio.js +2 -2
- package/lib/components/Radio/Radio.js.map +1 -1
- package/lib/components/RosterForLoop/RosterForLoop.js +9 -5
- package/lib/components/RosterForLoop/RosterForLoop.js.map +1 -1
- package/lib/components/RosterForLoop/RosterForLoop.spec.js +1 -1
- package/lib/components/RosterForLoop/RosterForLoop.spec.js.map +1 -1
- package/lib/components/Suggester/Suggester.d.ts +1 -1
- package/lib/components/Suggester/Suggester.js +24 -9
- package/lib/components/Suggester/Suggester.js.map +1 -1
- package/lib/components/Suggester/useSuggestions.js +29 -18
- package/lib/components/Suggester/useSuggestions.js.map +1 -1
- package/lib/components/Switch/Switch.d.ts +1 -1
- package/lib/components/Switch/Switch.js +2 -2
- package/lib/components/Switch/Switch.js.map +1 -1
- package/lib/components/Text/Text.d.ts +3 -0
- package/lib/components/Text/Text.js +4 -0
- package/lib/components/Text/Text.js.map +1 -0
- package/lib/components/Textarea/Textarea.d.ts +2 -2
- package/lib/components/Textarea/Textarea.js +2 -2
- package/lib/components/Textarea/Textarea.js.map +1 -1
- package/lib/components/Textarea/Textarea.spec.js +1 -1
- package/lib/components/Textarea/Textarea.spec.js.map +1 -1
- package/lib/components/library.d.ts +5 -3
- package/lib/components/library.js +2 -0
- package/lib/components/library.js.map +1 -1
- package/lib/components/shared/Button/Button.d.ts +1 -0
- package/lib/components/shared/Button/Button.js +3 -3
- package/lib/components/shared/Button/Button.js.map +1 -1
- package/lib/components/shared/Checkbox/CheckboxOption.d.ts +2 -1
- package/lib/components/shared/Checkbox/CheckboxOption.js +14 -18
- package/lib/components/shared/Checkbox/CheckboxOption.js.map +1 -1
- package/lib/components/shared/Combobox/Selection/ComboboxInput.js +1 -1
- package/lib/components/shared/Combobox/Selection/ComboboxInput.js.map +1 -1
- package/lib/components/shared/Combobox/Selection/ComboboxSelection.js +1 -1
- package/lib/components/shared/Combobox/Selection/ComboboxSelection.js.map +1 -1
- package/lib/components/shared/ComponentWrapper.d.ts +2 -3
- package/lib/components/shared/ComponentWrapper.js +2 -2
- package/lib/components/shared/ComponentWrapper.js.map +1 -1
- package/lib/components/shared/Icons/checkbox-disabled-icon.d.ts +2 -0
- package/lib/components/shared/Icons/checkbox-disabled-icon.js +7 -0
- package/lib/components/shared/Icons/checkbox-disabled-icon.js.map +1 -0
- package/lib/components/shared/Missing/Missing.d.ts +3 -2
- package/lib/components/shared/Missing/Missing.js +4 -3
- package/lib/components/shared/Missing/Missing.js.map +1 -1
- package/lib/components/shared/Missing/Missing.spec.js +13 -9
- package/lib/components/shared/Missing/Missing.spec.js.map +1 -1
- package/lib/components/shared/Radio/RadioOption.js +20 -39
- package/lib/components/shared/Radio/RadioOption.js.map +1 -1
- package/lib/components/shared/Radio/RadioOption.spec.js +4 -4
- package/lib/components/shared/Radio/RadioOption.spec.js.map +1 -1
- package/lib/components/type.d.ts +7 -9
- package/lib/index.d.ts +1 -1
- package/lib/main.css +77 -26
- package/lib/main.css.map +1 -1
- package/lib/use-lunatic/actions.d.ts +13 -11
- package/lib/use-lunatic/actions.js +9 -7
- package/lib/use-lunatic/actions.js.map +1 -1
- package/lib/use-lunatic/commons/compile-controls.js +1 -1
- package/lib/use-lunatic/commons/compile-controls.js.map +1 -1
- package/lib/use-lunatic/commons/execute-condition-filter.js +1 -2
- package/lib/use-lunatic/commons/execute-condition-filter.js.map +1 -1
- package/lib/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +3 -1
- package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +9 -0
- package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
- package/lib/use-lunatic/commons/fill-components/fill-components.d.ts +2 -2
- package/lib/use-lunatic/commons/fill-components/fill-components.js +1 -1
- package/lib/use-lunatic/commons/fill-components/fill-components.js.map +1 -1
- package/lib/use-lunatic/hooks/use-page-has-response.js +2 -1
- package/lib/use-lunatic/hooks/use-page-has-response.js.map +1 -1
- package/lib/use-lunatic/hooks/useOverview.js +5 -3
- package/lib/use-lunatic/hooks/useOverview.js.map +1 -1
- package/lib/use-lunatic/props/propComponentType.js +35 -17
- package/lib/use-lunatic/props/propComponentType.js.map +1 -1
- package/lib/use-lunatic/reducer/controls/check-roundabout-control.js +2 -8
- package/lib/use-lunatic/reducer/controls/check-roundabout-control.js.map +1 -1
- package/lib/use-lunatic/reducer/reduce-go-to-page.js +1 -1
- package/lib/use-lunatic/reducer/reduce-go-to-page.js.map +1 -1
- package/lib/use-lunatic/reducer/reduce-handle-changes.d.ts +6 -0
- package/lib/use-lunatic/reducer/reduce-handle-changes.js +24 -0
- package/lib/use-lunatic/reducer/reduce-handle-changes.js.map +1 -0
- package/lib/use-lunatic/reducer/reducer.js +3 -3
- package/lib/use-lunatic/reducer/reducer.js.map +1 -1
- package/lib/use-lunatic/type.d.ts +8 -8
- package/lib/use-lunatic/use-lunatic.d.ts +4 -4
- package/lib/use-lunatic/use-lunatic.js +9 -9
- package/lib/use-lunatic/use-lunatic.js.map +1 -1
- package/lib/utils/search/SearchMinisearch.js +1 -1
- package/lib/utils/search/SearchMinisearch.js.map +1 -1
- package/lib/utils/search/SuggestersDatabase.d.ts +5 -0
- package/lib/utils/search/SuggestersDatabase.js +7 -1
- package/lib/utils/search/SuggestersDatabase.js.map +1 -1
- package/package.json +1 -1
- package/README.fr.md +0 -186
- package/lib/use-lunatic/reducer/reduce-handle-change.d.ts +0 -6
- package/lib/use-lunatic/reducer/reduce-handle-change.js +0 -20
- package/lib/use-lunatic/reducer/reduce-handle-change.js.map +0 -1
package/README.fr.md
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
<img align="right" src="docs/img/lunatic-logo.png" alt="Lunatic logo"/>
|
|
2
|
-
|
|
3
|
-
# Lunatic
|
|
4
|
-
|
|
5
|
-
[](https://github.com/InseeFr/Lunatic/actions/workflows/quality.yml)
|
|
6
|
-
[](https://badge.fury.io/js/%40inseefr%2Flunatic)
|
|
7
|
-
[](https://sonarcloud.io/dashboard?id=InseeFr_Lunatic)
|
|
8
|
-
[](https://sonarcloud.io/dashboard?id=InseeFr_Lunatic)
|
|
9
|
-
[](https://opensource.org/licenses/MIT)
|
|
10
|
-
|
|
11
|
-
Lunatic est une librairie front-end sous forme de hook react et de librairies de composants pour générer un questionnaire à partir du format de données [Lunatic-Model](https://github.com/InseeFr/Lunatic-Model).
|
|
12
|
-
|
|
13
|
-
- [Storybook](https://inseefr.github.io/Lunatic/storybook), branche `main`
|
|
14
|
-
- [Storybook v1](https://inseefr.github.io/Lunatic/storybook-v1), branche `v1-main`
|
|
15
|
-
- [Storybook Beta](https://inseefr.github.io/Lunatic/storybook-beta), branche `develop`
|
|
16
|
-
- [Documentation](https://inseefr.github.io/Lunatic/)
|
|
17
|
-
|
|
18
|
-
## Sommaire
|
|
19
|
-
|
|
20
|
-
- [Lunatic](#lunatic)
|
|
21
|
-
- [Sommaire](#sommaire)
|
|
22
|
-
- [Utilisation](#utilisation)
|
|
23
|
-
- [Le hook useLunatic](#le-hook-uselunatic)
|
|
24
|
-
- [Les composants](#les-composants)
|
|
25
|
-
- [Personnalisation](#personnalisation)
|
|
26
|
-
- [Fonctionnement interne](#fonctionnement-interne)
|
|
27
|
-
- [Fonctionnement général](#fonctionnement-général)
|
|
28
|
-
- [pages et pager](#pages-et-pager)
|
|
29
|
-
- [Exécution du VTL](#exécution-du-vtl)
|
|
30
|
-
- [Convention et Bonnes Pratiques](#convention-et-bonnes-pratiques)
|
|
31
|
-
|
|
32
|
-
## Utilisation
|
|
33
|
-
|
|
34
|
-
Pour commencer il faut installer lunatic
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
yarn add @inseefr/lunatic
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### Le hook useLunatic
|
|
41
|
-
|
|
42
|
-
Ensuite, à l'endroit où vous souhaitez afficher le formulaire il faudra utiliser le hook `useLunatic`.
|
|
43
|
-
|
|
44
|
-
```js
|
|
45
|
-
import { useLunatic } from '@inseefr/lunatic';
|
|
46
|
-
|
|
47
|
-
const obj = useLunatic(source, data, options);
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Ce hook prend 3 paramètres :
|
|
51
|
-
|
|
52
|
-
- La **source**, qui est une représentation JSON du [Lunatic-Model](https://github.com/InseeFr/Lunatic-Model).
|
|
53
|
-
- Les **données**, qui contient les données initiales du questionnaires (peut être un objet vide)
|
|
54
|
-
- Un objet d'option pour paramétrer le fonctionnement
|
|
55
|
-
- **features** (défaut `['VTL', 'MD']`), permet de définir les fonctionnalité supportées
|
|
56
|
-
- **preferences** (défaut `['COLLECTED']`)
|
|
57
|
-
- **onChange** (défaut `() => {}`), permet d'ajouter une logique à appliquer lorsqu'une réponse est modifiée (doit être mémoïsé car est utilisé comme dépendance d'un useCallback en interne)
|
|
58
|
-
- **management** (défaut `false`) : Non implémenté encore, permettra de gérer plusieurs état d'une même variable (utilisation par des postes de reprise)
|
|
59
|
-
- **initialPage** (défaut `'1'`), permet de définir la page de départ
|
|
60
|
-
- **lastReachedPage** (défaut `undefined`) permet de définir quelle est la page la plus lointaine déjà atteinte
|
|
61
|
-
- **autoSuggesterLoading** (défaut `false`)
|
|
62
|
-
- **suggesters**
|
|
63
|
-
- **suggesterFetcher** (défaut `fetch`), méthode utilisée pour récupérer les données du suggester
|
|
64
|
-
- **activeControls** (défaut `false`), active les contrôles de données
|
|
65
|
-
|
|
66
|
-
Et retourne un objet permettant de piloter le questionnaire :
|
|
67
|
-
|
|
68
|
-
- `getComponents()`, renvoie les composants à afficher pour la page courante
|
|
69
|
-
- `goPreviousPage()`, permet d'aller à la page précédente
|
|
70
|
-
- `goNextPage()`, permet d'aller à la page suivante
|
|
71
|
-
- `goToPage({ page: string })`, permet d'aller à une page arbitraire
|
|
72
|
-
- `getErrors()`, renvoie les erreurs
|
|
73
|
-
- `getModalErrors()`, renvoie les erreurs dans les modales
|
|
74
|
-
- `getCurrentErrors()`, renvoie les erreurs de la page courante
|
|
75
|
-
- `pageTag`, une chaine de caractère contenant le numéro de page (ex: 8.1)
|
|
76
|
-
- `isFirstPage`
|
|
77
|
-
- `isLastPage`
|
|
78
|
-
- `pager`, un objet contenant les informations liées à la page
|
|
79
|
-
- `waiting`, indique une attente d'information de la part d'un suggester
|
|
80
|
-
- `getData()`, renvoie les données collectées dans le questionnaire
|
|
81
|
-
- `loopVariables`, est un tableau contenant la liste des variables utilisées pour la boucle courante
|
|
82
|
-
|
|
83
|
-
Pour plus d'informations sur les types de ce retour vous pouvez vous référer aux types disponibles dans le [code source](https://github.com/InseeFr/Lunatic/blob/v2-typescript/src/use-lunatic/type.ts#L64-L200). Vous pouvez aussi trouver un exemple d'utilisation du hook dans la partie [Storybook](https://github.com/InseeFr/Lunatic/blob/v2-develop/src/stories/utils/orchestrator.js#L69-L93).
|
|
84
|
-
|
|
85
|
-
### Les composants
|
|
86
|
-
|
|
87
|
-
Pour afficher le questionnaire on commencera par récupérer la liste des composants à afficher à l'aide de la méthode `getComponents()` renvoyée par le hook.
|
|
88
|
-
|
|
89
|
-
Ensuite, on pourra utiliser le composant `<LunaticComponents />` pour gérer l'affichage des composants
|
|
90
|
-
|
|
91
|
-
```jsx
|
|
92
|
-
import { LunaticComponents } from '@inseefr/lunatic';
|
|
93
|
-
|
|
94
|
-
function App({ source, data }) {
|
|
95
|
-
const { getComponents, getCurrentErrors, getModalErrors } =
|
|
96
|
-
lunatic.useLunatic(source, data, {});
|
|
97
|
-
const components = getComponents();
|
|
98
|
-
const currentErrors = getCurrentErrors();
|
|
99
|
-
const modalErrors = getModalErrors();
|
|
100
|
-
|
|
101
|
-
return (
|
|
102
|
-
<div className="container">
|
|
103
|
-
<LunaticComponents components={components} />
|
|
104
|
-
<lunatic.Modal errors={modalErrors} goNext={goNextPage} />
|
|
105
|
-
</div>
|
|
106
|
-
);
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
Ce composant se charge de récupérer le bon composant à afficher en fonction des champs demandés. Il est possible de personnaliser les propriétés passées aux composants grâce à la propriété `componentProps` mais aussi de rajouter un élément autour de chaque composant grâce à la méthode `wrapper`. Vous pouvez regarder [l'orchestrateur du storybook](./src/stories/utils/orchestrator.jsx) pour avoir un exemple d'utilisation.
|
|
111
|
-
|
|
112
|
-
Pour activer l'**autofocus**, il faut passer une clé dans la propriété `autoFocusKey` de `LunaticComponents`. Dès que cette valeur change, le premier champ est focus (une bonne solution est de passer le pageTag fourni par useLunatic).
|
|
113
|
-
|
|
114
|
-
## Personnalisation
|
|
115
|
-
|
|
116
|
-
Par défaut les composants offerts par Lunatic sont plutôt simples avec un style minimal. Il est possible de personnaliser les champs avec votre propre CSS, mais pour des cas plus complexes, vous pouvez aussi remplacer les composants de bases à l'aide de la propriété `custom` que vous pouvez passer lors de l'appel à useLunatic.
|
|
117
|
-
|
|
118
|
-
```jsx
|
|
119
|
-
const custom = {
|
|
120
|
-
Input: MyCustomInput,
|
|
121
|
-
InputNumber: MyCustomInputNumber,
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
function App({ source, data }) {
|
|
125
|
-
const {} = useLunatic(source, data, { custom });
|
|
126
|
-
|
|
127
|
-
// ...
|
|
128
|
-
}
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
## Fonctionnement interne
|
|
132
|
-
|
|
133
|
-
Cette partie concerne le fonctionnement interne du hook `useLunatic()`. L'objectif est d'aider à la compréhension de son fonctionnement.
|
|
134
|
-
|
|
135
|
-
### Fonctionnement général
|
|
136
|
-
|
|
137
|
-
Le hook se base sur un [état interne](https://github.com/InseeFr/Lunatic/blob/v2-typescript/src/use-lunatic/type.ts#L64-L200) qui est mis à jour au travers d'un système de [reducer](https://reactjs.org/docs/hooks-reference.html#usereducer). Les [actions](https://github.com/InseeFr/Lunatic/blob/v2-typescript/src/use-lunatic/actions.ts) qui affectent cet état sont limitées
|
|
138
|
-
|
|
139
|
-
- Une action `'use-lunatic/on-init'` permet l'initialisation de l'état à partir des données reçu en paramètre du hook.
|
|
140
|
-
- Les actions `'use-lunatic/go-previous'`, `'use-lunatic/go-next'` et `'use-lunatic/go-to-page'` sont appelées lors de la navigation à l'aide des méthodes renvoyées par le hook
|
|
141
|
-
- L'action `use-lunatic/handle-change` est l'action la plus importante qui est appelée dès lors qu'une donnée est changée dans le questionnaire.
|
|
142
|
-
|
|
143
|
-
L'ensemble des [reducers correspondants à ces actions sont disponibles ici](https://github.com/InseeFr/Lunatic/blob/v2-develop/src/use-lunatic/reducer/reducer.js). En général, ils sont décomposés en plusieurs méthodes en fonction de la partie de l'état qu'ils modifient.
|
|
144
|
-
|
|
145
|
-
### pages et pager
|
|
146
|
-
|
|
147
|
-
À l'initialisation le scénario du questionnaire est modélisé sous forme d'un objet qui est stocké dans l'état (dans la propriété `pages`). Cet objet est indexé par numéro de page et contient la liste des composants à afficher pour chaque page. Combiné au `pager` qui contient l'état de la navigation, c'est cette propriété qui permet de résoudre les composants à afficher.
|
|
148
|
-
|
|
149
|
-
### Exécution du VTL
|
|
150
|
-
|
|
151
|
-
L'autre point important de lunatic est l'exécution des expressions VTL qui permettent de rendre certaines propriétés dynamiques (libellés, erreurs...). Ce remplissage se fait [lorsque l'état change](https://github.com/InseeFr/Lunatic/blob/v2-develop/src/use-lunatic/commons/use-components-from-state.js).
|
|
152
|
-
|
|
153
|
-
Afin de faciliter l'exécution des expressions une méthode `executeExpression()` est exposée dans l'état de Lunatic. Cette méthode est accompagnée d'une méthode `updateBindings()` qui permet la mise à jour des valeurs internes. Ce système d'exécution d'expression utilise un système de mémorisation pour ne pas re-exécuter une même expression plusieurs fois. Lorsque l'action `use-lunatic/handle-change` est exécuté, les valeurs ("bindings") sont mis à jour pour mémoriser les valeurs associées aux différentes variables VTL. De la même manière les valeurs des variables calculées dont dépend la variable modifié sont oubliées afin de rafraichir la valeur lors de la prochaine exécution.
|
|
154
|
-
|
|
155
|
-
## Convention et Bonnes Pratiques
|
|
156
|
-
|
|
157
|
-
- On évite les exports "défaut" car cela nuit à la lisibilité lors de l'import.
|
|
158
|
-
- Les commentaires dans le code sont en anglais.
|
|
159
|
-
- Les fichiers contenant du JSX doivent utiliser l'extension .jsx (ou .tsx).
|
|
160
|
-
- Les commits suivent la spécification [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
|
|
161
|
-
- Les Pull Requests doivent être préfixées comme les commits avec la même convention :
|
|
162
|
-
|
|
163
|
-
- `test(XXX?)` : XXX pour de l'ajout de tests.
|
|
164
|
-
- `feat(XXX?)` : XXX pour de l'ajout de fonctionnalités.
|
|
165
|
-
- `fix(XXX?)` : XXX pour de la correction de bug.
|
|
166
|
-
- `docs(XXX?)` : XXX pour de l'ajout de documentation.
|
|
167
|
-
- `refactor(XXX?)` : XXX pour du refactoring qui ne change pas de fonctionnalités.
|
|
168
|
-
- `build(XXX?)` : XXX pour des changements liés au processus de build, aux scripts de compilation, etc.
|
|
169
|
-
- `style(XXX?)` : XXX pour de la modification de style.
|
|
170
|
-
- `ci(XXX?)` : XXX pour de la modification de CI.
|
|
171
|
-
- `perf(XXX?)` : XXX pour de l'amélioration de performance.
|
|
172
|
-
- `revert(XXX?)` : XXX pour annuler une précédente PR.
|
|
173
|
-
- `chore(XXX?)` : XXX pour des tâches de maintenance ou des tâches qui ne rentrent pas dans les autres catégories.
|
|
174
|
-
|
|
175
|
-
- Les branches doivent être préfixées (on suivra les mêmes préfixes que pour le Conventional Commits) :
|
|
176
|
-
- `test/XXX` : pour de l'ajout de tests.
|
|
177
|
-
- `feat/XXX` : pour de l'ajout de fonctionnalités.
|
|
178
|
-
- `fix/XXX` : pour de la correction de bug.
|
|
179
|
-
- `docs/XXX` : pour de l'ajout de documentation.
|
|
180
|
-
- `refactor/XXX` : pour du refactoring qui ne change pas de fonctionnalités.
|
|
181
|
-
- `build/XXX` : pour des changements liés au processus de build, aux scripts de compilation, etc.
|
|
182
|
-
- `style/XXX` : pour des changements liés au style du code.
|
|
183
|
-
- `ci/XXX` : pour des changements liés à l'intégration continue (CI).
|
|
184
|
-
- `perf/XXX` : pour des améliorations de performance.
|
|
185
|
-
- `revert/XXX` : pour annuler une précédente PR.
|
|
186
|
-
- `chore/XXX` : pour des tâches de maintenance ou des tâches qui ne rentrent pas dans les autres catégories.
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type ActionHandleChange } from '../actions';
|
|
2
|
-
import type { LunaticReducerState } from '../type';
|
|
3
|
-
/**
|
|
4
|
-
* Update collected variables
|
|
5
|
-
*/
|
|
6
|
-
export declare function reduceHandleChange(state: LunaticReducerState, action: ActionHandleChange): LunaticReducerState;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import {} from '../actions';
|
|
2
|
-
import { isNumber } from '../../utils/number';
|
|
3
|
-
/**
|
|
4
|
-
* Update collected variables
|
|
5
|
-
*/
|
|
6
|
-
export function reduceHandleChange(state, action) {
|
|
7
|
-
let iteration = action.payload.iteration;
|
|
8
|
-
// Resolve iteration from pager for loops
|
|
9
|
-
if (!iteration && isNumber(state.pager.iteration)) {
|
|
10
|
-
iteration = [state.pager.iteration];
|
|
11
|
-
}
|
|
12
|
-
state.updateBindings(action.payload.name, action.payload.value, {
|
|
13
|
-
iteration,
|
|
14
|
-
});
|
|
15
|
-
return {
|
|
16
|
-
...state,
|
|
17
|
-
updatedAt: Date.now(),
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=reduce-handle-change.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reduce-handle-change.js","sourceRoot":"","sources":["../../../src/use-lunatic/reducer/reduce-handle-change.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,kBAAkB,CACjC,KAA0B,EAC1B,MAA0B;IAE1B,IAAI,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IACzC,yCAAyC;IACzC,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,SAAS,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;QAC/D,SAAS;KACT,CAAC,CAAC;IAEH,OAAO;QACN,GAAG,KAAK;QACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACrB,CAAC;AACH,CAAC"}
|