get #

Returns instance of selected block.

var instance = this.app.block.get();

See more about Block.Instance API.

set #

Arguments
element Node, Element, DomElement of the block
caret (optional)StringPlace the caret at the beginning or end of the editable block

Sets the selected block.

this.app.block.set(element);
this.app.block.set(element, 'start');
this.app.block.set(element, 'end');

unset #

Unsets the selected block.

this.app.block.unset();

remove #

  • params Object

Removes the selected block.

this.app.block.remove();

Turn off the selection of the parent or next/prev element of the removed block.

this.app.block.remove({ traverse: false });

duplicate #

Duplicates the selected block.

this.app.block.duplicate();

create #

Creates a block instance depend on the editor.markup setting. By default, creates an empty paragraph block.

var instance = this.app.block.create();

Alternative, create a block by type with app.create, for example:

var type = 'layer';
var instance = this.app.create('block.' + type);

change #

Arguments
instance ObjectInstance of the block.

Removes the selected block and adds a new one to its place.

var type = 'layer';
var instance = this.app.create('block.' + type);

this.app.block.change(instance);

add #

Arguments
params Object

This method adds a block depending on the caret or the specified position.

// create block
var instance = this.app.create('block.paragraph');

// add
this.app.block.add({ instance: instance });

By default, the caret will be placed at the end of the added block. To set the caret to the beginning, you can pass the parameter caret with the value start.

// create block
var $source = this.dom('<p>').html('Hello world!');
var instance = this.app.create('block.paragraph', $source);

// add and set caret at start
this.app.block.add({ instance: instance, caret: 'start' });

The method automatically detects the position of the block to be added, depending on what is currently selected in the content. You can manually specify a position, for example to add a new block before the current one.

// create block
var instance = this.app.create('block.paragraph');

// add before selected block
this.app.block.add({ instance: instance, position: 'before' });

Three options are available for specifying the position:

  • before — before the current block
  • after — after the current block
  • append — append to the current block

format #

Formats the selected block to a specific tag.

this.app.block.format({ tag: 'h2' });

moveUp #

Moves the selected block up.

this.app.block.moveUp();

moveDown #

Moves the selected block down.

this.app.block.moveDown();

getData #

Returns properties of the selected block.

var data = this.app.block.getData();

setData #

Sets the properties in the selected block.

this.app.block.setData({
    id: 'myid'
});

isType #

Arguments
type String, Array

Checks the type of the current block.

if (this.app.block.isType('paragraph')) { ... }
if (this.app.block.isType(['paragraph', 'heading'])) { ... }

isParent #

Arguments
type String, Array

Checks the type of the parent blocks.

if (this.app.block.isParent('layer')) { ... }
if (this.app.block.isParent(['layer', 'grid'])) { ... }