summaryrefslogtreecommitdiff
path: root/editor/forms/delete_page.ml
diff options
context:
space:
mode:
Diffstat (limited to 'editor/forms/delete_page.ml')
-rwxr-xr-xeditor/forms/delete_page.ml24
1 files changed, 14 insertions, 10 deletions
diff --git a/editor/forms/delete_page.ml b/editor/forms/delete_page.ml
index 3328dd7..7c973c2 100755
--- a/editor/forms/delete_page.ml
+++ b/editor/forms/delete_page.ml
@@ -1,17 +1,27 @@
open Brr
open Note
-type t = Jstr.t
+module Handler = struct
-type Events.kind +=
- | DeletePage of t [@@unboxed]
+ type t = Jstr.t
+
+ let on_close
+ : t -> State.t -> State.t
+ = fun id state ->
+ State.Storage.delete (fun () -> Some id);
+ let json = State.Storage.load None in
+ State.load_page None state json
+end
let create
: Jstr.t -> Events.t
= fun name ->
let state =
- S.const (DeletePage name) in
+ S.const
+ (Events.Event
+ ( name
+ , (module Handler: Events.Handler with type t = Handler.t))) in
let message = begin
let open Jstr in
@@ -25,9 +35,3 @@ let create
, El.txt message
)
-let on_close
- : t -> State.t -> State.t
- = fun id state ->
- State.Storage.delete (fun () -> Some id);
- let json = State.Storage.load None in
- State.load_page None state json