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
|