-
Notifications
You must be signed in to change notification settings - Fork 0
/
views.cljs
53 lines (46 loc) · 1.42 KB
/
views.cljs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
(ns re-val-demo.views
(:require [fipp.clojure :refer [pprint]]
[re-frame.core :as rf]
[re-val.views :as form]
[re-val.layout :as layout]
[re-val.validators :as v]
[reagent.core :as r]
[taoensso.timbre :as timbre
:refer-macros (log trace debug info warn error fatal report
logf tracef debugf infof warnf errorf fatalf reportf
spy get-env log-env)]))
(def form-id :form)
(def form-fields
[{:id :firstname
:title "Voornaam"
:validators [v/required-validator]}
{:id :surname
:title "Achternaam"
:validators [v/required-validator]}
{:id :bio
:title "Bio"}
{:id :number
:title "Nummer"}])
(def form-opts
{:id form-id
:url "/something" ;;TODO make this a 'persist dispatch?'
:success-fn #(rf/dispatch [:do-something])
:primary-key :id
:fields form-fields})
(def initial-data
{:id 1
:firstname "J.J."
:surname "Cale"
:number "Number"
:bio "Lorem ipsum \n bla bla"})
(defn main-panel
[]
(rf/dispatch [:initialize-form form-opts initial-data])
(fn []
[:div.container
[:h1 "Form Demo"]
[layout/input-group-2 "Firstname" "Surname"
[form/text-input form-id :firstname]
[form/text-input form-id :surname]]
[form/form-error-listing form-id]
]))