1
0
mirror of https://github.com/ianstormtaylor/slate.git synced 2025-04-21 13:51:59 +02:00

Add an attribute to uniquely identify divs used to render content component ()

* Add `data-slate-content` attribute to the divs used to render `content` components.
Use that attribute to uniquely identify them.
Update test expected results.

* Fix lint complaints.
This commit is contained in:
AlbertHilb 2016-12-08 00:16:40 +01:00 committed by Ian Storm Taylor
parent 7756be9a79
commit a1638dd906
18 changed files with 19 additions and 18 deletions
src/components
test/rendering/fixtures
custom-block-void
custom-block
custom-decorator
custom-inline-void
custom-inline
custom-mark-with-component
custom-mark-with-function
custom-mark-with-mixed
custom-mark-with-object
custom-mark-with-string
default-block-and-inline
default-block
empty-text
multiple-custom-block
multiple-custom-inline
nested-text-direction
text-direction

@ -166,7 +166,7 @@ class Content extends React.Component {
const { target } = event
return (
(target.isContentEditable) &&
(target === element || target.closest('[contenteditable]') == element)
(target === element || target.closest('[data-slate-content]') === element)
)
}
@ -720,6 +720,7 @@ class Content extends React.Component {
return (
<div
data-slate-content
key={this.forces}
ref={this.ref}
contentEditable={!readOnly}

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span style="position:absolute;top:0px;left:-9999px;text-indent:-9999px;">
<span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>word</span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>o</span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>one</span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>one</span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span><span style="font-weight:bold;">one</span></span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>one</span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>one</span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>word</span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span><br></span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>word</span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<div dir="rtl" style="position:relative;">
<span>

@ -1,5 +1,5 @@
<div contenteditable="true">
<div data-slate-content="true" contenteditable="true">
<div style="position:relative;">
<span>
<span>Hello World</span>