aboutsummaryrefslogtreecommitdiff
path: root/editor/prosemirror/prosemirror.mli
blob: aa27bf4d3ce9491b3d2a95b51db85dd6f3cf19cc (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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
open Js_of_ocaml
open Brr

type t

val v
  : unit -> t

module rec Model : sig

  include module type of Bindings.Model

  val schema_spec: 
    node_spec Bindings.ordered_map Js.t
    -> mark_spec Bindings.ordered_map Js.t option 
    -> string option 
    -> schema_spec Js.t

  val schema 
    : t -> schema_spec Js.t -> schema Js.t 

  module DOMParser : sig

    type parser

    val from_schema
      : t -> schema Js.t -> parser

    val parse
      : parser -> El.t -> node Js.t

  end

  val empty_fragment 
    : t -> fragment Js.t


end

and SchemaList : sig

  val add_list_nodes
    : t -> Model.node_spec Bindings.ordered_map Js.t -> Jstr.t -> Jstr.t option -> Model.node_spec Bindings.ordered_map Js.t

end

(* State *)

and State : sig

  include module type of Bindings.State

  val configuration_prop 
    : unit -> configuration_prop Js.t 

  val creation_prop 
    : unit -> creation_prop Js.t 

  val create
    : t -> creation_prop Js.t -> editor_state Js.t

  val fromJSON 
    : t -> configuration_prop Js.t -> Brr.Json.t -> editor_state Js.t

end

(* Editor view *)

and View : sig

  module EditorProps : sig

    type t

  end

  include module type of Bindings.View

  val direct_editor_props 
    : unit -> direct_editor_props Js.t

  val editor_view
    : t -> El.t -> direct_editor_props Js.t -> editor_view Js.t

end

module SchemaBasic : sig

  include module type of Bindings.SchemaBasic

  val schema 
    : t -> Model.schema Js.t

end

module History : sig

  include module type of Bindings.History

  val history_prop 
    : unit -> history_prop Js.t

  val history 
    : t -> history_prop Js.t -> State.plugin Js.t

  val undo 
    : t -> State.editor_state Js.t -> (State.transaction -> unit) -> bool

  val redo
    : t -> State.editor_state Js.t -> (State.transaction -> unit) -> bool
end

module Keymap : sig

  val keymap
    : t -> (string * (State.editor_state Js.t -> (State.transaction -> unit) -> bool)) array -> State.plugin Js.t

end

module Commands : sig

  val baseKeymap 
    : t -> (string * (State.editor_state Js.t -> (State.transaction -> unit) -> bool)) array

end

(* Example Setup *)

val example_setup
  : t -> Model.schema Js.t -> State.plugin Js.t Js.js_array Js.t