Skip to content

Commit 916a18e

Browse files
royshouvikalexkrolick
authored andcommitted
fix:311-add preserveWhitespace prop (zenoamaro#407)
1 parent 9be8dc6 commit 916a18e

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -622,6 +622,9 @@ import ReactQuill, { Quill, Mixin, Toolbar } from 'react-quill'; // ES6
622622
`onKeyUp(event)`
623623
: Called after a key has been released.
624624

625+
`preserveWhitespace`
626+
: If true, a `pre` tag is used for the editor area instead of the default `div` tag. This prevents Quill from
627+
collapsing continuous whitespaces on paste. [Related issue](https://github.com/quilljs/quill/issues/1751).
625628

626629
### Methods
627630

src/component.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ var QuillComponent = createClass({
3434
onKeyPress: T.func,
3535
onKeyDown: T.func,
3636
onKeyUp: T.func,
37+
preserveWhitespace: T.bool,
3738

3839
modules: function(props) {
3940
var isNotObject = T.object.apply(this, arguments);
@@ -331,6 +332,7 @@ var QuillComponent = createClass({
331332
renderEditingArea: function() {
332333
var self = this;
333334
var children = this.props.children;
335+
var preserveWhitespace = this.props.preserveWhitespace;
334336

335337
var properties = {
336338
key: this.state.generation,
@@ -341,10 +343,10 @@ var QuillComponent = createClass({
341343
var customElement = React.Children.count(children)
342344
? React.Children.only(children)
343345
: null;
344-
346+
var defaultElement = preserveWhitespace ? DOM.pre : DOM.div;
345347
var editingArea = customElement
346348
? React.cloneElement(customElement, properties)
347-
: DOM.div(properties);
349+
: defaultElement(properties);
348350

349351
return editingArea;
350352
},

0 commit comments

Comments
 (0)