[Racket] Ferti hydroponic nutrient solver, redux.
Update measurements-formlet nutrient-values to hash.
formlets.rkt
@@ -33,7 +33,7 @@
33
33
(formlet (#%# (div ((class "form-floating mb-3")) ,{=> number-input nutrient-value-b} ,input-label))
34
34
(let ([nutrient-value (string->number (bytes->string/utf-8
35
35
(binding:form-value nutrient-value-b)))])
36
Removed:
(and nutrient-value (cons id nutrient-value)))))
36
Added:
(and nutrient-value (cons nutrient nutrient-value)))))
37
37
38
38
(define (measurements-formlet)
39
39
(formlet* (#%# `(div ((class "mb-3")) (h5 "Date du relevé") ,{=>* date-formlet measured-on*})
@@ -43,8 +43,9 @@
43
43
{=>* (measurement-formlet nutrient) measurements*}))
44
44
{=>* (submit "Enregistrer le relevé" #:attributes '((class "btn btn-primary"))) _})
45
45
(let ([measured-on (first measured-on*)]
46
Removed:
[measurements (filter pair? measurements*)]) ; drop #f’s from empty values
47
Removed:
(values measured-on measurements))))
46
Added:
[nutrient-values (for/hash ([nv (in-list (filter pair? measurements*))])
47
Added:
(values (car nv) (cdr nv)))])
48
Added:
(values measured-on nutrient-values))))
48
49
49
50
(define (crop-requirement-formlet requirement)
50
51
(define id (crop-requirement-id requirement))
@@ -56,8 +57,11 @@
56
57
#f))
57
58
(define number-input
58
59
(input #:type "number"
59
Removed:
#:attributes
60
Removed:
`((class "form-control") [id ,(number->string id)] [min "0"] [max "100"] [step "1"] [placeholder ,profile])))
60
Added:
#:attributes `((class "form-control") [id ,(number->string id)]
61
Added:
[min "0"]
62
Added:
[max "100"]
63
Added:
[step "1"]
64
Added:
[placeholder ,profile])))
61
65
(define input-label
62
66
`(label ((for ,(number->string id)
63
67
))