Create and position explicit ranges

The old $.summernote.range utility is available here as summernote.summernote.range. This page uses it to create ranges from text nodes, from the current browser selection, and from positions before or after a node.

Summernote range utility keeps explicit boundaries stable.

Marker

Range output
Ready.
Example configuration - Custom Ranges
summernote.create('#custom-ranges-editor', {
  height: 240,
});

const rangeUtil = summernote.summernote.range;
const explicit = rangeUtil.create(textNode, 0, textNode, textNode.textContent.length);
const selected = rangeUtil.createFromSelection();
const nodeRange = rangeUtil.createFromNode(node);
const beforeNode = rangeUtil.createFromNodeBefore(node);
const afterNode = rangeUtil.createFromNodeAfter(node);