diff options
Diffstat (limited to 'editor/forms/add_page.ml')
-rwxr-xr-x | editor/forms/add_page.ml | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/editor/forms/add_page.ml b/editor/forms/add_page.ml new file mode 100755 index 0000000..597e9d3 --- /dev/null +++ b/editor/forms/add_page.ml @@ -0,0 +1,36 @@ +open Brr +open Brr_note +open Note + +type Events.kind += + | AddPage of { title : Jstr.t } + +let create + : unit -> Events.t + = fun () -> + + (* The element which contains the information *) + let input = El.input () + ~at:At.[type' (Jstr.v "text")] + in + + let state = + S.hold (AddPage { title = Jstr.empty }) + @@ Evr.on_el + (Ev.input) + (fun _ -> + AddPage { title = El.prop El.Prop.value input } + ) + input in + + ( state + , El.div + [ El.div ~at:At.[class' (Jstr.v "row")] + [ El.div ~at:At.[class' (Jstr.v "col-25")] + [ El.label [ El.txt' "Titre"] + ~at:[At.for' (Jstr.v "title")] + ] + ; El.div ~at:At.[class' (Jstr.v "col-75")] + [ input ] + ] + ] ) |