Permettre de gérer les options proposées dans un DAD #19
No reviewers
Labels
No Milestone
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Cadoles/daddy#19
Loading…
Reference in New Issue
No description provided.
Delete Branch "feature/options"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Permettre de gérer les options proposées dans un DADto WIP: Permettre de gérer les options proposées dans un DADWIP: Permettre de gérer les options proposées dans un DADto Permettre de gérer les options proposées dans un DAD@ -7,0 +51,4 @@
}
const onAddOptionClick = (evt: MouseEvent) => {
var options = JSON.parse(JSON.stringify(state.section.options))
JSON.parse(JSON.stringify(state.section.options))
est utilisé ici pour faire une copie ?Pourquoi ne pas plutôt faire
const options = [ ...state.section.options ];
? Cette méthode est plus performante qu'une sérialisation/dé-sérialisation JSON du tableau.Malheureusement la méthode de copie que tu cites ne lève pas l'interdiction d'écrire dans options, je n'ai pas trouvé d'autre méthode que JSON.parse(JSON.stringify(state.section.options)) pour en faire une copie modifiable.
@ -7,0 +52,4 @@
const onAddOptionClick = (evt: MouseEvent) => {
var options = JSON.parse(JSON.stringify(state.section.options))
var option = newOption("Décision", "", "");
Si il n'y aura pas d'assignation de nouvelle valeur à la variable, préférer
const
àvar
pour identifier assez vite les erreurs liées à l'écrasement de valeurs "constantes".@ -7,0 +60,4 @@
const onOptionChange = (id: string, attrName: string, evt: ChangeEvent<HTMLInputElement>) => {
const target = evt.currentTarget;
const value = target.hasOwnProperty('checked') ? target.checked : target.value;
var options = JSON.parse(JSON.stringify(state.section.options))
Idem qu'un peu plus haut.
@ -7,0 +67,4 @@
const onRemoveOptionClick = (id: string, evt: MouseEvent) => {
if(confirm('Voulez-vous supprimer cette option ?')){
var options = JSON.parse(JSON.stringify(state.section.options))
Idem,
const
semble préférable àvar
ici.@ -0,0 +1,27 @@
{
Je pense que ce fichier devrait plutot être dans le répertoire
client/
, à côté du fichierpackage.json
non ?