diff options
Diffstat (limited to 'editor/forms/delete_page.ml')
-rwxr-xr-x | editor/forms/delete_page.ml | 24 |
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 |