From 201609a6555a42361dc15d428958061da7b24b8a Mon Sep 17 00:00:00 2001 From: Ian Storm Taylor Date: Mon, 20 Jun 2016 13:58:04 -0700 Subject: [PATCH] allow mark to be set/unset with type only --- lib/models/node.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/models/node.js b/lib/models/node.js index b43ddb359..1cfe18fed 100644 --- a/lib/models/node.js +++ b/lib/models/node.js @@ -1,6 +1,7 @@ import Character from './character' import Element from './element' +import Mark from './mark' import Selection from './selection' import Text from './text' import { List, OrderedMap, Set } from 'immutable' @@ -607,13 +608,18 @@ const Node = { * Add a new `mark` to the characters at `range`. * * @param {Selection} range - * @param {Mark} mark + * @param {Mark or String} mark * @return {Node} node */ markAtRange(range, mark) { let node = this + // Allow for just passing a type for convenience. + if (typeof mark == 'string') { + mark = new Mark({ type: mark }) + } + // When the range is collapsed, do nothing. if (range.isCollapsed) return node @@ -776,13 +782,18 @@ const Node = { * Remove an existing `mark` to the characters at `range`. * * @param {Selection} range - * @param {Mark} mark + * @param {Mark or String} mark * @return {Node} node */ unmarkAtRange(range, mark) { let node = this + // Allow for just passing a type for convenience. + if (typeof mark == 'string') { + mark = new Mark({ type: mark }) + } + // When the range is collapsed, do nothing. if (range.isCollapsed) return node