Sign up (with export icon)

engine/dev-utils/model

Api-module iconmodule

Functions

  • Chevron-right icon

    _getModelData( model, options = { [options.convertMarkers], [options.rootName], [options.withoutSelection] } ) → string

    Writes the content of a model document to an HTML-like string.

    getData( editor.model ); // -> '<paragraph>Foo![]</paragraph>'
    
    Copy code

    Note: A text node that contains attributes will be represented as:

    <$text attribute="value">Text data</$text>
    
    Copy code

    Note: Using this tool in production-grade code is not recommended. It was designed for development, prototyping, debugging and testing.

    Parameters

    model : Model
    options : object
    Properties
    [ options.convertMarkers ] : boolean

    Whether to include markers in the returned string.

    [ options.rootName ] : string

    The name of the root from which the data should be stringified. If not provided, the default main name will be used.

    [ options.withoutSelection ] : boolean

    Whether to write the selection. When set to true, the selection will not be included in the returned string.

    Defaults to {}

    Returns

    string

    The stringified data.

  • Chevron-right icon

    _parseModel( data, schema, options = { [options.context], [options.inlineObjectElements], [options.lastRangeBackward], [options.selectionAttributes] } ) → ModelNode | ModelDocumentFragment | object

    Parses an HTML-like string and returns the model rootElement.

    Note: To create a text node that contains attributes use:

    <$text attribute="value">Text data</$text>
    
    Copy code

    Note: The default options.context value is '$root', which only matches the generic root. When the editor uses a custom root modelElement, pass the target root element (or its configured model element name) explicitly, otherwise the conversion result may be wrong. See the Custom root elements section of the Schema deep-dive guide for more details.

    Parameters

    data : string

    HTML-like string to be parsed.

    schema : ModelSchema

    A schema instance used by converters for element validation.

    options : object

    Additional configuration.

    Properties
    [ options.context ] : ModelSchemaContextDefinition

    The conversion context. If not provided, the default '$root' will be used.

    [ options.inlineObjectElements ] : Array<string>
    [ options.lastRangeBackward ] : boolean

    If set to true, the last range will be added as backward.

    [ options.selectionAttributes ] : Record<string, unknown> | Iterable<tuple>

    A list of attributes which will be passed to the selection.

    Defaults to {}

    Returns

    ModelNode | ModelDocumentFragment | object

    Returns the parsed model node or an object with two fields: model and selection, when selection ranges were included in the data to parse.

  • Chevron-right icon

    _setModelData( model, data, options = { [options.batchType], [options.inlineObjectElements], [options.lastRangeBackward], [options.rootName], [options.selectionAttributes] } ) → void

    Sets the content of a model document provided as an HTML-like string.

    setData( editor.model, '<paragraph>Foo![]</paragraph>' );
    
    Copy code

    Note: Remember to register elements in the model's schema before trying to use them.

    Note: To create a text node that contains attributes use:

    <$text attribute="value">Text data</$text>
    
    Copy code

    Note: Using this tool in production-grade code is not recommended. It was designed for development, prototyping, debugging and testing.

    Parameters

    model : Model
    data : string

    HTML-like string to write into the document.

    options : object
    Properties
    [ options.batchType ] : BatchType

    Batch type used for inserting elements. See constructor.

    [ options.inlineObjectElements ] : Array<string>
    [ options.lastRangeBackward ] : boolean

    If set to true, the last range will be added as backward.

    [ options.rootName ] : string

    Root name where parsed data will be stored. If not provided, the default main name will be used.

    [ options.selectionAttributes ] : Record<string, unknown>

    A list of attributes which will be passed to the selection.

    Defaults to {}

    Returns

    void
  • Chevron-right icon

    _stringifyModel( node, selectionOrPositionOrRange, markers ) → string

    Converts model nodes to HTML-like string representation.

    Note: A text node that contains attributes will be represented as:

    <$text attribute="value">Text data</$text>
    
    Copy code

    Parameters

    node : ModelNode | ModelDocumentFragment

    A node to stringify.

    selectionOrPositionOrRange : ModelPosition | ModelRange | ModelSelection | ModelDocumentSelection | null

    A selection instance whose ranges will be included in the returned string data. If a range instance is provided, it will be converted to a selection containing this range. If a position instance is provided, it will be converted to a selection containing one range collapsed at this position.

    Defaults to null

    markers : MarkerCollection | null

    Markers to include.

    Defaults to null

    Returns

    string

    An HTML-like string representing the model.