From 37485464a4da41462fc285d03229221f44860397 Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Mon, 7 Feb 2022 16:09:50 +0100 Subject: Changed the application structure in the editor --- editor/actions.ml | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100755 editor/actions.ml (limited to 'editor/actions.ml') diff --git a/editor/actions.ml b/editor/actions.ml new file mode 100755 index 0000000..c02584f --- /dev/null +++ b/editor/actions.ml @@ -0,0 +1,96 @@ +open StdLabels +open Brr +open Brr_note + +type button_actions = + { edit : El.t * (unit Note.event) + } + +let populate_menu () = + match Blog.Sidebar.get () with + | None -> None + | Some element -> + let () = Blog.Sidebar.clean element in + let uri = Brr.Window.location Brr.G.window in + + let edit_button = El.button + ~at:At.[ class' (Jstr.v "action-button") ] + [ El.i + [] + ~at:At.[ class' (Jstr.v "fa") + ; class' (Jstr.v "fa-2x") + ; class' (Jstr.v "fa-pen") + ] + ] in + + let edit_event = + Evr.on_el + Ev.click + Evr.unit + edit_button in + + let pages = + + List.map (Storage.get_ids ()) + ~f:(fun name -> + let target = + Jstr.( (Brr.Uri.path uri) + + (Jstr.v "?page=") + + name) in + El.li + [ El.a + ~at:[At.href target] + [ El.txt name ] ] + ) in + + let childs = + [ El.button + ~at:At.[class' (Jstr.v "action-button")] + [ El.i + [] + ~at:At.[ class' (Jstr.v "fa") + ; class' (Jstr.v "fa-2x") + ; class' (Jstr.v "fa-home") ] + ] + ; edit_button + ; El.button + ~at:At.[class' (Jstr.v "action-button")] + [ El.i + [] + ~at:At.[ class' (Jstr.v "fa") + ; class' (Jstr.v "fa-2x") + ; class' (Jstr.v "fa-plus") ] + ] + ; El.button + ~at:At.[class' (Jstr.v "action-button")] + [ El.i + [] + ~at:At.[ class' (Jstr.v "fa") + ; class' (Jstr.v "fa-2x") + ; class' (Jstr.v "fa-download") ] + ] + ; El.button + ~at:At.[class' (Jstr.v "action-button")] + [ El.i + [] + ~at:At.[ class' (Jstr.v "fa") + ; class' (Jstr.v "fa-2x") + ; class' (Jstr.v "fa-trash") ] + ] + ; El.button + ~at:At.[class' (Jstr.v "action-button")] + [ El.i + [] + ~at:At.[ class' (Jstr.v "fa") + ; class' (Jstr.v "fa-2x") + ; class' (Jstr.v "fa-cog") ] + ] + ; El.hr () + ; El.ul + pages + ] in + + let () = El.append_children element childs in + Some + { edit = (edit_button, edit_event) + } -- cgit v1.2.3