Typedef

ElementDefinition (engine/view)

@ckeditor/ckeditor5-engine/src/view/elementdefinition

typedef
String | Object

A plain object that describes a view element in a way that a concrete, exact view element could be created from that description.

const viewDefinition = {
    name: 'h1',
    classes: [ 'foo', 'bar' ]
};

Above describes a view element:

<h1 class="foo bar"></h1>

An example with styles and attributes:

 const viewDefinition = {
     name: 'span',
     styles: {
         'font-size': '12px',
         'font-weight': 'bold'
     },
     attributes: {
         'data-id': '123'
     }
 };

Describes:

 <span style="font-size:12px;font-weight:bold" data-id="123"></span>

Elements without attributes can be given simply as a string:

const viewDefinition = 'p';

Which will be treated as:

const viewDefinition = {
    name: 'p'
};

Filtering

Properties

  • attributes : Object

    Object with key-value pairs representing attributes. Each object key represents attribute name. Value under that key must be a string.

  • classes : String | Array.<String>

    Class name or array of class names to match. Each name can be provided in a form of string.

  • name : String

    View element name.

  • priority : Number

    Element's priority.

  • styles : Object

    Object with key-value pairs representing styles. Each object key represents style name. Value under that key must be a string.