summaryrefslogtreecommitdiff
path: root/editor/state/state.mli
blob: c98a8ab2e8c2511edc308018fb790e97e4123125 (plain)
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
module Js = Js_of_ocaml.Js
module Storage = Storage

type t =
  { editable : bool
  ; view : Prosemirror.View.editor_view Js.t
  ; last_backup : float
  ; page_id : Jstr.t option
  ; window : Brr.El.t list
  ; pm : Prosemirror.t
  }

val eq : t -> t -> bool

val set_title : Storage.content Js.t -> unit
(** Update the title element according to the page. *)

val state_of_storage :
     Prosemirror.t
  -> Storage.content Js.t
  -> Prosemirror.Model.schema Js.t
  -> Prosemirror.State.editor_state Js.t

val load_page : Jstr.t option -> t -> t

val new_page : Jstr.t option -> title:Jstr.t -> t -> t
(** Create a new empty page, and load it *)

val init :
     Prosemirror.t
  -> Prosemirror.View.editor_view Js.t
  -> float
  -> Jstr.t option
  -> t
(** Initialise a new state *)