1
0
mirror of https://github.com/ianstormtaylor/slate.git synced 2025-08-18 21:21:21 +02:00

Merge branch 'master' of github.com:ianstormtaylor/slate

This commit is contained in:
Benjamin Kniffler
2016-09-15 00:55:21 +02:00
6 changed files with 51 additions and 5 deletions

View File

@@ -178,6 +178,7 @@ class Images extends React.Component {
onDropNode = (e, data, state) => { onDropNode = (e, data, state) => {
return state return state
.transform() .transform()
.unsetSelection()
.removeNodeByKey(data.node.key) .removeNodeByKey(data.node.key)
.moveTo(data.target) .moveTo(data.target)
.insertBlock(data.node) .insertBlock(data.node)

View File

@@ -1,7 +1,7 @@
{ {
"name": "slate", "name": "slate",
"description": "A completely customizable framework for building rich text editors.", "description": "A completely customizable framework for building rich text editors.",
"version": "0.14.3", "version": "0.14.4",
"license": "MIT", "license": "MIT",
"repository": "git://github.com/ianstormtaylor/slate.git", "repository": "git://github.com/ianstormtaylor/slate.git",
"main": "./lib/index.js", "main": "./lib/index.js",

View File

@@ -287,14 +287,14 @@ class Text extends new Record(DEFAULTS) {
*/ */
updateMark(index, length, mark, properties) { updateMark(index, length, mark, properties) {
const m = mark.merge(properties)
const characters = this.characters.map((char, i) => { const characters = this.characters.map((char, i) => {
if (i < index) return char if (i < index) return char
if (i >= index + length) return char if (i >= index + length) return char
let { marks } = char let { marks } = char
const j = marks.indexOf(mark) if (!marks.has(mark)) return char
let m = marks.get(j) marks = marks.remove(mark)
m = m.merge(properties) marks = marks.add(m)
marks = marks.set(j, m)
char = char.merge({ marks }) char = char.merge({ marks })
return char return char
}) })

View File

@@ -0,0 +1,21 @@
export default function (state) {
const { document, selection } = state
const first = document.getTexts().first()
return state
.transform()
.setMarkByKey(
first.key,
0,
first.length,
{
type: 'bold',
data: { key: true }
},
{
data: { key: false }
}
)
.apply()
}

View File

@@ -0,0 +1,12 @@
nodes:
- kind: block
type: paragraph
nodes:
- kind: text
ranges:
- text: word
marks:
- type: bold
data:
key: true

View File

@@ -0,0 +1,12 @@
nodes:
- kind: block
type: paragraph
nodes:
- kind: text
ranges:
- text: word
marks:
- type: bold
data:
key: false