summaryrefslogtreecommitdiff
path: root/editor/prosemirror/bindings.ml
diff options
context:
space:
mode:
Diffstat (limited to 'editor/prosemirror/bindings.ml')
-rwxr-xr-xeditor/prosemirror/bindings.ml1054
1 files changed, 424 insertions, 630 deletions
diff --git a/editor/prosemirror/bindings.ml b/editor/prosemirror/bindings.ml
index 7f6d82f..a6a09dc 100755
--- a/editor/prosemirror/bindings.ml
+++ b/editor/prosemirror/bindings.ml
@@ -1,750 +1,573 @@
open Js_of_ocaml.Js
module TypedObject : sig
-
type 'a t
- val get
- : 'a t -> Jv.prop -> 'a option
-
- val get'
- : 'a t -> Jv.prop' -> 'a option
+ val get : 'a t -> Jv.prop -> 'a option
- val set
- : 'a t -> Jv.prop -> 'a -> unit
+ val get' : 'a t -> Jv.prop' -> 'a option
- val set'
- : 'a t -> Jv.prop' -> 'a -> unit
+ val set : 'a t -> Jv.prop -> 'a -> unit
- val create
- : unit -> 'a t
+ val set' : 'a t -> Jv.prop' -> 'a -> unit
- val init
- : (Jv.prop * 'a) array -> 'a t
+ val create : unit -> 'a t
+ val init : (Jv.prop * 'a) array -> 'a t
end = struct
-
type 'a t = Jv.t
- let get
- : 'a t -> Jv.prop -> 'a
- = fun t prop ->
- Jv.to_option Jv.Id.of_jv (Jv.get t prop)
+ let get : 'a t -> Jv.prop -> 'a =
+ fun t prop -> Jv.to_option Jv.Id.of_jv (Jv.get t prop)
- let get'
- : 'a t -> Jv.prop' -> 'a
- = fun t prop ->
- Jv.to_option Jv.Id.of_jv (Jv.get' t prop)
- let set
- : 'a t -> Jv.prop -> 'a -> unit
- = fun o prop v ->
- Jv.set o prop (Jv.Id.to_jv v)
+ let get' : 'a t -> Jv.prop' -> 'a =
+ fun t prop -> Jv.to_option Jv.Id.of_jv (Jv.get' t prop)
- let set'
- : 'a t -> Jv.prop' -> 'a -> unit
- = fun o prop v ->
- Jv.set' o prop (Jv.Id.to_jv v)
- let create
- : unit -> 'a t
- = fun () -> Jv.obj [||]
+ let set : 'a t -> Jv.prop -> 'a -> unit =
+ fun o prop v -> Jv.set o prop (Jv.Id.to_jv v)
- let init
- : (Jv.prop * 'a) array -> 'a t
- = fun param -> Jv.obj (Obj.magic param)
-end
+ let set' : 'a t -> Jv.prop' -> 'a -> unit =
+ fun o prop v -> Jv.set' o prop (Jv.Id.to_jv v)
+
-class type ['a] ordered_map = object ('this)
+ let create : unit -> 'a t = fun () -> Jv.obj [||]
- method get:
- Jstr.t -> 'a t opt meth
+ let init : (Jv.prop * 'a) array -> 'a t =
+ fun param -> Jv.obj (Obj.magic param)
+end
- method update:
- Jstr.t -> 'a t -> Jstr.t opt -> 'this meth
+class type ['a] ordered_map =
+ object ('this)
+ method get : Jstr.t -> 'a t opt meth
- method remove:
- Jstr.t -> 'this meth
+ method update : Jstr.t -> 'a t -> Jstr.t opt -> 'this meth
- method addToStart:
- Jstr.t -> 'a t -> 'this t meth
+ method remove : Jstr.t -> 'this meth
- method addToEnd:
- Jstr.t -> 'a t -> 'this t meth
+ method addToStart : Jstr.t -> 'a t -> 'this t meth
-end
+ method addToEnd : Jstr.t -> 'a t -> 'this t meth
+ end
module Classes = struct
-
type 'a meta_data
type domOutputSpec
+
type parse_rule
type content_match
type slice
- class type _node_props = object ('this)
+ class type _node_props =
+ object ('this)
+ method inlineContent : bool t readonly_prop
+ (** True if this node type has inline content. *)
- method inlineContent:
- bool t readonly_prop
- (** True if this node type has inline content. *)
+ method isBlock : bool t readonly_prop
- method isBlock:
- bool t readonly_prop
+ method isText : bool t readonly_prop
- method isText:
- bool t readonly_prop
+ method isInline : bool t readonly_prop
- method isInline:
- bool t readonly_prop
+ method isTextblock : bool t readonly_prop
- method isTextblock:
- bool t readonly_prop
+ method isLeaf : bool t readonly_prop
- method isLeaf:
- bool t readonly_prop
-
- method isAtom:
- bool t readonly_prop
-
- end
+ method isAtom : bool t readonly_prop
+ end
type depth = int opt
- class type mark = object ('this)
-
- method _type
- : mark_type t readonly_prop
-
- method attrs
- : 'a TypedObject.t prop
-
- method isInSet
- : mark t js_array t -> bool t meth
-
- method eq
- : 'this t -> bool t meth
-
- end
-
- and node_spec = object ('this)
-
- method content
- : Jstr.t opt prop
-
- method marks
- : Jstr.t opt prop
-
- method group
- : Jstr.t opt prop
-
- method inline
- : bool t opt prop
+ class type mark =
+ object ('this)
+ method _type : mark_type t readonly_prop
- method atom
- : bool t opt prop
+ method attrs : 'a TypedObject.t prop
- method attrs
- : 'a TypedObject.t prop
+ method isInSet : mark t js_array t -> bool t meth
- method selectable
- : bool t opt prop
+ method eq : 'this t -> bool t meth
+ end
- method draggable
- : bool t opt prop
+ and node_spec =
+ object ('this)
+ method content : Jstr.t opt prop
- method code
- : bool t opt prop
+ method marks : Jstr.t opt prop
- method defining
- : bool t opt prop
+ method group : Jstr.t opt prop
- method isolating
- : bool t opt prop
+ method inline : bool t opt prop
- method toDOM
- : (node t -> domOutputSpec t) callback prop
+ method atom : bool t opt prop
- method parseDom
- : parse_rule t js_array t opt prop
+ method attrs : 'a TypedObject.t prop
- end
+ method selectable : bool t opt prop
- and resolved_pos = object ('this)
+ method draggable : bool t opt prop
- method pos
- : int readonly_prop
+ method code : bool t opt prop
- method depth
- : int readonly_prop
+ method defining : bool t opt prop
- method parentOffset
- : int readonly_prop
+ method isolating : bool t opt prop
- method parent
- : node t readonly_prop
+ method toDOM : (node t -> domOutputSpec t) callback prop
- method doc
- : node t readonly_prop
+ method parseDom : parse_rule t js_array t opt prop
+ end
- method node
- : depth -> node t meth
+ and resolved_pos =
+ object ('this)
+ method pos : int readonly_prop
- method index
- : depth -> int meth
+ method depth : int readonly_prop
- method start
- : depth -> int meth
+ method parentOffset : int readonly_prop
- method _end
- : depth -> int meth
+ method parent : node t readonly_prop
- method after
- : depth -> int meth
+ method doc : node t readonly_prop
- method nodeAfter
- : node t opt readonly_prop
+ method node : depth -> node t meth
- method nodeBefore
- : node t opt readonly_prop
+ method index : depth -> int meth
- method marks
- : unit -> mark t js_array t meth
+ method start : depth -> int meth
- method sameParent
- : 'this t -> bool t meth
+ method _end : depth -> int meth
- method max
- : 'this t -> 'this t meth
+ method after : depth -> int meth
- method min
- : 'this t -> 'this t meth
- end
+ method nodeAfter : node t opt readonly_prop
- and mark_spec = object ('this)
+ method nodeBefore : node t opt readonly_prop
- method toDOM:
- (node t -> domOutputSpec t) callback prop
+ method marks : unit -> mark t js_array t meth
- method inclusive:
- bool t prop
+ method sameParent : 'this t -> bool t meth
- method spanning:
- bool t prop
+ method max : 'this t -> 'this t meth
- end
+ method min : 'this t -> 'this t meth
+ end
- and schema_spec = object ('this)
+ and mark_spec =
+ object ('this)
+ method toDOM : (node t -> domOutputSpec t) callback prop
- method nodes:
- node_spec ordered_map t readonly_prop
+ method inclusive : bool t prop
- method marks:
- mark_spec ordered_map t readonly_prop
+ method spanning : bool t prop
+ end
- method topNode:
- Jstr.t opt readonly_prop
+ and schema_spec =
+ object ('this)
+ method nodes : node_spec ordered_map t readonly_prop
- end
+ method marks : mark_spec ordered_map t readonly_prop
- and schema = object ('this)
+ method topNode : Jstr.t opt readonly_prop
+ end
- method spec:
- schema_spec t prop
+ and schema =
+ object ('this)
+ method spec : schema_spec t prop
- method nodes:
- node_type t TypedObject.t readonly_prop
+ method nodes : node_type t TypedObject.t readonly_prop
- method marks:
- mark_type t TypedObject.t readonly_prop
+ method marks : mark_type t TypedObject.t readonly_prop
- method topNodeType:
- node_type t readonly_prop
+ method topNodeType : node_type t readonly_prop
- method text:
- Jstr.t -> mark t js_array t opt -> node t meth
+ method text : Jstr.t -> mark t js_array t opt -> node t meth
- (** [node t attrs fragment ] Will create a node with the type [t] and
+ method node :
+ Jstr.t
+ -> < .. > t opt
+ -> fragment t opt
+ -> mark t js_array t opt
+ -> node t meth
+ (** [node t attrs fragment ] Will create a node with the type [t] and
attributes [attrs]. The content will always be a fragment.
You can create a fragment from an array on node with the function
[Model.Fragment.from_array]
*)
- method node:
- Jstr.t -> < .. > t opt -> fragment t opt -> mark t js_array t opt -> node t meth
- method mark_fromType:
- mark_type t -> 'a TypedObject.t opt -> mark t meth
+ method mark_fromType : mark_type t -> 'a TypedObject.t opt -> mark t meth
+ end
- end
+ and node_type =
+ object ('this)
+ inherit _node_props
- and node_type = object ('this)
+ method name : Jstr.t readonly_prop
- inherit _node_props
+ method schema : schema t readonly_prop
- method name:
- Jstr.t readonly_prop
+ method spec : node_spec t readonly_prop
- method schema:
- schema t readonly_prop
+ method contentMatch : content_match t readonly_prop
- method spec:
- node_spec t readonly_prop
+ method hasRequiredAttrs : unit -> bool t meth
- method contentMatch:
- content_match t readonly_prop
-
- method hasRequiredAttrs:
- unit -> bool t meth
-
- method create_withFragmentContent:
- < .. > t opt -> fragment t opt -> mark t opt -> node t meth
-
- end
+ method create_withFragmentContent :
+ < .. > t opt -> fragment t opt -> mark t opt -> node t meth
+ end
(** Signature for MarkType class
https://prosemirror.net/docs/ref/#model.MarkType
*)
- and mark_type = object ('this)
-
- method name:
- Jstr.t readonly_prop
+ and mark_type =
+ object ('this)
+ method name : Jstr.t readonly_prop
- method schema:
- schema t readonly_prop
+ method schema : schema t readonly_prop
- method spec:
- mark_spec t readonly_prop
+ method spec : mark_spec t readonly_prop
- method isInSet:
- mark t js_array t -> mark t opt meth
-
- end
+ method isInSet : mark t js_array t -> mark t opt meth
+ end
(** Common signature between fragment and node *)
- and _element = object ('this)
+ and _element =
+ object ('this)
+ method childCount : int readonly_prop
+ (** The number of children that the node has. *)
- method childCount:
- int readonly_prop
- (** The number of children that the node has. *)
-
- method child:
- int -> node t meth
- (** Get the child node at the given index. Raise an error when the index
+ method child : int -> node t meth
+ (** Get the child node at the given index. Raise an error when the index
is out of range. *)
- method maybeChild:
- int -> node t opt meth
- (** Get the child node at the given index, if it exists. *)
+ method maybeChild : int -> node t opt meth
+ (** Get the child node at the given index, if it exists. *)
- method eq:
- 'this t -> bool t meth
- (** Compare this element to another one. *)
+ method eq : 'this t -> bool t meth
+ (** Compare this element to another one. *)
- method cut:
- int -> int opt -> 'this t meth
- (** Cut out the element between the two given positions. *)
+ method cut : int -> int opt -> 'this t meth
+ (** Cut out the element between the two given positions. *)
- method toString:
- unit -> Jstr.t meth
- (** Return a debugging string that describes this element. *)
+ method toString : unit -> Jstr.t meth
+ (** Return a debugging string that describes this element. *)
- method descendants
- : (node t -> pos:int -> node t -> bool t) callback -> unit meth
+ method descendants :
+ (node t -> pos:int -> node t -> bool t) callback -> unit meth
- method forEach
- : (node t -> offset:int -> index:int -> unit) callback -> unit meth
+ method forEach :
+ (node t -> offset:int -> index:int -> unit) callback -> unit meth
(** Call [f] for every child node, passing the node, its offset into
this parent node, and its index. *)
+ end
- end
+ and fragment =
+ object ('this)
+ inherit _element
- and fragment = object ('this)
-
- inherit _element
-
- method size
- : int readonly_prop
- (** The size of the fragment, which is the total of the size of its
+ method size : int readonly_prop
+ (** The size of the fragment, which is the total of the size of its
content nodes. *)
- method append
- : 'this t -> 'this t meth
+ method append : 'this t -> 'this t meth
- method lastChild
- : node t opt readonly_prop
+ method lastChild : node t opt readonly_prop
- method firstChild
- : node t opt readonly_prop
+ method firstChild : node t opt readonly_prop
- method findDiffStart
- : 'this t -> int opt meth
+ method findDiffStart : 'this t -> int opt meth
- method findDiffEnd
- : 'this t -> < a: int prop; b: int prop> t opt meth
-
- end
+ method findDiffEnd : 'this t -> < a : int prop ; b : int prop > t opt meth
+ end
(** https://prosemirror.net/docs/ref/#model.Node *)
- and node = object ('this)
-
- inherit _element
+ and node =
+ object ('this)
+ inherit _element
- inherit _node_props
+ inherit _node_props
- method _type
- : node_type t readonly_prop
+ method _type : node_type t readonly_prop
- method attrs
- : < .. > t prop
+ method attrs : < .. > t prop
- method content
- : fragment t prop
+ method content : fragment t prop
- method copy
- : fragment t -> 'this t meth
+ method copy : fragment t -> 'this t meth
- method slice
- : from:int -> to_:int opt -> slice t meth
+ method slice : from:int -> to_:int opt -> slice t meth
- method resolve
- : int -> resolved_pos t meth
+ method resolve : int -> resolved_pos t meth
- method nodeAt
- : int -> 'this t opt meth
+ method nodeAt : int -> 'this t opt meth
- method marks
- : mark t js_array t readonly_prop
+ method marks : mark t js_array t readonly_prop
- method sameMarkup
- : node t -> bool t meth
+ method sameMarkup : node t -> bool t meth
- method text
- : Jstr.t opt prop
-
- end
+ method text : Jstr.t opt prop
+ end
(** View *)
- and editor_props = object ('this)
+ and editor_props =
+ object ('this)
+ method editable : (editor_state t -> bool t) callback prop
- method editable
- : (editor_state t -> bool t) callback prop
+ method handleDOMEvents :
+ (editor_view t -> Jv.t -> bool t) callback TypedObject.t prop
- method handleDOMEvents
- : (editor_view t -> Jv.t -> bool t) callback TypedObject.t prop
+ method handleClickOn :
+ ( editor_view t
+ -> int t
+ -> node t
+ -> int
+ -> Brr.Ev.Mouse.t Brr.Ev.type'
+ -> bool t
+ -> bool t )
+ callback
+ prop
- method handleClickOn
- : (editor_view t -> int t -> node t -> int -> Brr.Ev.Mouse.t Brr.Ev.type' -> bool t -> bool t) callback prop
+ method nodeViews :
+ (node t -> editor_view t -> (unit -> int) -> < .. > t) TypedObject.t
+ prop
+ end
- method nodeViews
- : (node t -> editor_view t -> (unit -> int) -> < .. > t) TypedObject.t prop
+ and direct_editor_props =
+ object ('this)
+ inherit editor_props
- end
+ method state : editor_state t writeonly_prop
- and direct_editor_props = object ('this)
+ method dispatchTransaction :
+ (editor_view t, transaction t -> unit) meth_callback writeonly_prop
+ (** The call back is called with this = instance of editor_view *)
+ end
- inherit editor_props
+ and editor_view =
+ object ('this)
+ method state : editor_state t readonly_prop
- method state:
- editor_state t writeonly_prop
+ method dom : Brr.El.t readonly_prop prop
- (** The call back is called with this = instance of editor_view *)
- method dispatchTransaction:
- (editor_view t, transaction t -> unit) meth_callback writeonly_prop
-
- end
+ method editable : bool t readonly_prop
- and editor_view = object ('this)
+ method props : direct_editor_props t readonly_prop
- method state:
- editor_state t readonly_prop
+ method update : direct_editor_props t -> unit meth
- method dom:
- Brr.El.t readonly_prop prop
+ method setProps : direct_editor_props t -> unit meth
- method editable:
- bool t readonly_prop
+ method updateState : editor_state t -> unit meth
- method props:
- direct_editor_props t readonly_prop
+ method hasFocus : unit -> bool t meth
- method update:
- direct_editor_props t -> unit meth
+ method focus : unit -> unit meth
- method setProps:
- direct_editor_props t -> unit meth
+ method posAtCoords :
+ < left : float prop ; top : float prop > t
+ -> < pos : int prop ; inside : int prop > t meth
- method updateState:
- editor_state t -> unit meth
+ method coordsAtPos :
+ int
+ -> int opt
+ -> < left : float prop
+ ; right : float prop
+ ; top : float prop
+ ; bottom : float prop >
+ t
+ meth
- method hasFocus:
- unit -> bool t meth
+ method domAtPos :
+ pos:int
+ -> side:int opt
+ -> < node : Brr.El.t t prop ; offset : int prop > t meth
- method focus:
- unit -> unit meth
+ method destroy : unit meth
- method posAtCoords:
- < left: float prop ; top: float prop > t -> < pos: int prop; inside: int prop> t meth
-
- method coordsAtPos:
- int -> int opt -> < left: float prop; right: float prop; top: float prop; bottom: float prop > t meth
-
- method domAtPos:
- pos:int -> side:int opt -> < node: Brr.El.t t prop; offset: int prop > t meth
-
- method destroy
- : unit meth
-
- method dispatch:
- transaction t -> unit meth
-
- end
+ method dispatch : transaction t -> unit meth
+ end
(** State *)
- and plugin = object ('this)
-
- method props : editor_props t opt prop
+ and plugin =
+ object ('this)
+ method props : editor_props t opt prop
- method view:
- (editor_view t -> < .. > t) callback opt prop
+ method view : (editor_view t -> < .. > t) callback opt prop
- method filterTransaction:
- (transaction t -> editor_state t -> bool t) opt prop
+ method filterTransaction :
+ (transaction t -> editor_state t -> bool t) opt prop
+ end
- end
+ and selection =
+ object ('this)
+ method from : int readonly_prop
- and selection = object ('this)
+ method _to : int readonly_prop
- method from:
- int readonly_prop
+ method empty : bool t readonly_prop
- method _to:
- int readonly_prop
+ method eq : 'this t -> bool t meth
- method empty:
- bool t readonly_prop
+ method content : unit -> slice t meth
- method eq:
- 'this t -> bool t meth
+ method replace : transaction t -> slice t -> unit meth
- method content:
- unit -> slice t meth
+ method replaceWith : transaction t -> node t -> unit meth
+ end
- method replace:
- transaction t -> slice t -> unit meth
+ and text_selection =
+ object ('this)
+ inherit selection
+ end
- method replaceWith:
- transaction t -> node t -> unit meth
-
- end
-
- and text_selection = object ('this)
-
- inherit selection
-
- end
-
- and node_selection = object ('this)
-
- inherit selection
-
- end
+ and node_selection =
+ object ('this)
+ inherit selection
+ end
(* Transform *)
+ and mappable = object ('this) end
- and mappable = object ('this)
-
- end
-
- and step_map = object ('this)
-
- inherit mappable
-
- end
-
- and step = object ('this)
-
- method map
- : mappable t -> 'this t meth
-
- end
-
- and transform = object ('this)
-
- method doc
- : node t readonly_prop
-
- method steps
- : step t js_array t readonly_prop
-
- method docs
- : node t js_array t readonly_prop
+ and step_map =
+ object ('this)
+ inherit mappable
+ end
- method step
- : step t -> 'this t meth
+ and step =
+ object ('this)
+ method map : mappable t -> 'this t meth
+ end
- method docChanged
- : bool t prop
+ and transform =
+ object ('this)
+ method doc : node t readonly_prop
- method addMark
- : from:int -> to_:int -> mark t -> 'this t meth
+ method steps : step t js_array t readonly_prop
- method removeMark
- : from:int -> to_:int -> mark t -> 'this t meth
+ method docs : node t js_array t readonly_prop
- method replace
- : from:int -> to_:int -> slice t opt -> 'this t meth
+ method step : step t -> 'this t meth
- method delete
- : from:int -> to_:int -> 'this t meth
+ method docChanged : bool t prop
- method insert
- : pos:int -> node t -> 'this t meth
+ method addMark : from:int -> to_:int -> mark t -> 'this t meth
- method replaceRangeWith
- : from:int -> to_:int -> node t -> 'this t meth
+ method removeMark : from:int -> to_:int -> mark t -> 'this t meth
- method setBlockType
- : from:int -> to_:int -> node_type t -> < .. > t -> 'this t meth
+ method replace : from:int -> to_:int -> slice t opt -> 'this t meth
- end
+ method delete : from:int -> to_:int -> 'this t meth
- and transaction = object ('this)
+ method insert : pos:int -> node t -> 'this t meth
- inherit transform
+ method replaceRangeWith : from:int -> to_:int -> node t -> 'this t meth
- method time:
- int readonly_prop
+ method setBlockType :
+ from:int -> to_:int -> node_type t -> < .. > t -> 'this t meth
+ end
- method setTime
- : int -> 'this t meth
+ and transaction =
+ object ('this)
+ inherit transform
- method storedMarks
- : mark t js_array t opt readonly_prop
+ method time : int readonly_prop
- method setStoredMarks
- : mark t js_array t opt -> 'this t meth
+ method setTime : int -> 'this t meth
- method addStoredMark
- : mark t -> 'this t meth
+ method storedMarks : mark t js_array t opt readonly_prop
- method removeStoredMark_mark
- : mark t -> 'this t meth
+ method setStoredMarks : mark t js_array t opt -> 'this t meth
- method removeStoredMark_marktype
- : mark_type t -> 'this t meth
+ method addStoredMark : mark t -> 'this t meth
- method ensureMarks
- : mark t js_array t -> 'this t meth
+ method removeStoredMark_mark : mark t -> 'this t meth
- method storedMarksSet
- : bool readonly_prop
+ method removeStoredMark_marktype : mark_type t -> 'this t meth
- method selection
- : selection t readonly_prop
+ method ensureMarks : mark t js_array t -> 'this t meth
- method setSelection
- : selection t -> 'this t meth
+ method storedMarksSet : bool readonly_prop
- method deleteSelection
- : 'this t meth
+ method selection : selection t readonly_prop
- method replaceSelection
- : slice t -> 'this t meth
+ method setSelection : selection t -> 'this t meth
- method replaceSelectionWith
- : node t -> bool t opt -> 'this t meth
+ method deleteSelection : 'this t meth
- method selectionSet
- : bool readonly_prop
+ method replaceSelection : slice t -> 'this t meth
- method before
- : node t readonly_prop
+ method replaceSelectionWith : node t -> bool t opt -> 'this t meth
- method insertText
- : Jstr.t -> from:int opt -> to_:int opt -> 'this t meth
+ method selectionSet : bool readonly_prop
- method setMeta
- : 'a meta_data t -> 'a -> 'this t meth
+ method before : node t readonly_prop
- method getMeta
- : 'a meta_data t -> 'a optdef meth
+ method insertText : Jstr.t -> from:int opt -> to_:int opt -> 'this t meth
- method scrollIntoView
- : unit -> 'this t meth
+ method setMeta : 'a meta_data t -> 'a -> 'this t meth
- end
+ method getMeta : 'a meta_data t -> 'a optdef meth
- and configuration_prop = object ('this)
+ method scrollIntoView : unit -> 'this t meth
+ end
- method schema:
- schema t opt prop
+ and configuration_prop =
+ object ('this)
+ method schema : schema t opt prop
- method plugins:
- plugin t js_array t opt prop
+ method plugins : plugin t js_array t opt prop
+ end
- end
+ and creation_prop =
+ object ('this)
+ inherit configuration_prop
- and creation_prop = object ('this)
+ method doc : node t opt prop
- inherit configuration_prop
+ method selection : selection t opt prop
- method doc:
- node t opt prop
+ method storedMarks : mark t js_array t opt prop
+ end
- method selection:
- selection t opt prop
+ and editor_state =
+ object ('this)
+ method doc : node t readonly_prop
- method storedMarks:
- mark t js_array t opt prop
-
- end
+ method selection : selection t readonly_prop
- and editor_state = object ('this)
+ method storedMarks : mark t js_array t opt readonly_prop
- method doc :
- node t readonly_prop
+ method schema : schema t readonly_prop
- method selection:
- selection t readonly_prop
+ method plugins : plugin t js_array t readonly_prop
- method storedMarks:
- mark t js_array t opt readonly_prop
+ method apply : transaction t -> 'this t meth
- method schema:
- schema t readonly_prop
+ method applyTransaction :
+ transaction t
+ -> < state : 'this t prop
+ ; transactions : transaction t js_array t prop >
+ t
+ meth
- method plugins:
- plugin t js_array t readonly_prop
+ method tr : transaction t readonly_prop
- method apply:
- transaction t -> 'this t meth
-
- method applyTransaction
- : transaction t ->
- < state: 'this t prop; transactions : transaction t js_array t prop> t meth
-
- method tr:
- transaction t readonly_prop
-
- method reconfigure:
- configuration_prop t meth
-
- method toJSON:
- unit -> Brr.Json.t meth
-
- end
+ method reconfigure : configuration_prop t meth
+ method toJSON : unit -> Brr.Json.t meth
+ end
end
module Model = struct
-
type parse_rule = Classes.parse_rule
type domOutputSpec = Classes.domOutputSpec
@@ -770,189 +593,160 @@ module Model = struct
class type mark_type = Classes.mark_type
class type node = Classes.node
-
end
module Transform = struct
-
type step_result
class type step_map = Classes.step_map
class type step = Classes.step
- class type replace_step = object ('this)
+ class type replace_step =
+ object ('this)
+ inherit step
+ end
- inherit step
+ class type replace_around_step =
+ object ('this)
+ inherit step
+ end
- end
-
- class type replace_around_step = object ('this)
-
- inherit step
-
- end
-
- class type add_mark_step = object ('this)
-
- inherit step
-
- end
+ class type add_mark_step =
+ object ('this)
+ inherit step
+ end
class type transform = Classes.transform
-
-
end
module State = struct
-
type 'a meta_data = 'a Classes.meta_data
+
class type plugin = Classes.plugin
+
class type selection = Classes.selection
+
class type text_selection = Classes.text_selection
+
class type node_selection = Classes.node_selection
+
class type transaction = Classes.transaction
+
class type configuration_prop = Classes.configuration_prop
+
class type creation_prop = Classes.creation_prop
+
class type editor_state = Classes.editor_state
- type dispatch = (Classes.transaction t -> unit)
+ type dispatch = Classes.transaction t -> unit
end
module View = struct
-
class type editor_props = Classes.editor_props
class type direct_editor_props = Classes.direct_editor_props
class type editor_view = Classes.editor_view
-
end
module History = struct
+ class type history_prop =
+ object ('this)
+ method depth : int opt prop
- class type history_prop = object ('this)
-
- method depth: int opt prop
-
- method newGroupDelay: int opt prop
-
- end
-
+ method newGroupDelay : int opt prop
+ end
end
module SchemaBasic = struct
+ class type nodes =
+ object ('this)
+ method doc : Model.node_spec t prop
- class type nodes = object ('this)
+ method paragraph : Model.node_spec t prop
- method doc:
- Model.node_spec t prop
+ method blockquote : Model.node_spec t prop
- method paragraph:
- Model.node_spec t prop
+ method horizontal_rule : Model.node_spec t prop
- method blockquote:
- Model.node_spec t prop
+ method heading : Model.node_spec t prop
- method horizontal_rule:
- Model.node_spec t prop
+ method code_block : Model.node_spec t prop
- method heading:
- Model.node_spec t prop
+ method text : Model.node_spec t prop
- method code_block:
- Model.node_spec t prop
+ method image : Model.node_spec t prop
- method text:
- Model.node_spec t prop
+ method hard_break : Model.node_spec t prop
+ end
- method image:
- Model.node_spec t prop
+ class type marks =
+ object ('this)
+ method link : Model.mark_spec t prop
- method hard_break:
- Model.node_spec t prop
-
- end
+ method em : Model.mark_spec t prop
- class type marks = object ('this)
-
- method link:
- Model.mark_spec t prop
-
- method em:
- Model.mark_spec t prop
-
- method strong:
- Model.mark_spec t prop
-
- method code:
- Model.mark_spec t prop
-
- end
+ method strong : Model.mark_spec t prop
+ method code : Model.mark_spec t prop
+ end
end
module Menu = struct
-
- class type menuElement = object ('this)
- end
-
- class type menuItemSpec = object ('this)
- method title
- : Jstr.t opt prop
-
- method label
- : Jstr.t opt prop
-
- method select
- : (menuItem t, State.editor_state t -> bool t) meth_callback prop
-
- method run
- : (menuItem t, State.editor_state t -> (State.transaction t -> unit) -> View.editor_view t -> 'a Brr.Ev.t -> unit) meth_callback prop
- end
-
- and menuItem = object ('this)
- inherit menuElement
- end
-
- class type dropdown = object ('this)
-
- inherit menuElement
-
- method content
- : menuItem t js_array t prop
- end
+ class type menuElement = object ('this) end
+
+ class type menuItemSpec =
+ object ('this)
+ method title : Jstr.t opt prop
+
+ method label : Jstr.t opt prop
+
+ method select :
+ (menuItem t, State.editor_state t -> bool t) meth_callback prop
+
+ method run :
+ ( menuItem t
+ , State.editor_state t
+ -> (State.transaction t -> unit)
+ -> View.editor_view t
+ -> 'a Brr.Ev.t
+ -> unit )
+ meth_callback
+ prop
+ end
+
+ and menuItem =
+ object ('this)
+ inherit menuElement
+ end
+
+ class type dropdown =
+ object ('this)
+ inherit menuElement
+
+ method content : menuItem t js_array t prop
+ end
end
module Example = struct
+ class type menuItems =
+ object ('this)
+ method insertMenu : Menu.dropdown t prop
- class type menuItems = object ('this)
-
- method insertMenu
- : Menu.dropdown t prop
-
- method fullMenu
- : Menu.menuElement t js_array t prop
-
- end
+ method fullMenu : Menu.menuElement t js_array t prop
+ end
- class type options = object ('this)
+ class type options =
+ object ('this)
+ method schema : Model.schema t prop
- method schema
- : Model.schema t prop
+ method menuBar : bool t opt prop
- method menuBar
- : bool t opt prop
+ method floatingMenu : bool t opt prop
- method floatingMenu
- : bool t opt prop
-
- method history
- : bool t opt prop
-
- method menuContent
- : Menu.menuElement t js_array t prop
-
- end
+ method history : bool t opt prop
+ method menuContent : Menu.menuElement t js_array t prop
+ end
end