Skip to content

Commit aa9a487

Browse files
authored
Merge pull request #75 from lyleunderwood/strip-nbsp
strip nbsp for comparison
2 parents ae4a28e + 8e77e41 commit aa9a487

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

lib/react-contenteditable.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
2222

2323
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
2424

25+
var stripNbsp = function stripNbsp(str) {
26+
return str.replace(/ |\u202F|\u00A0/g, ' ');
27+
};
28+
2529
var ContentEditable = function (_React$Component) {
2630
_inherits(ContentEditable, _React$Component);
2731

@@ -70,7 +74,7 @@ var ContentEditable = function (_React$Component) {
7074
}
7175

7276
// ...or if html really changed... (programmatically, not by user edit)
73-
if (nextProps.html !== htmlEl.innerHTML && nextProps.html !== props.html) {
77+
if (stripNbsp(nextProps.html) !== stripNbsp(htmlEl.innerHTML) && nextProps.html !== props.html) {
7478
return true;
7579
}
7680

src/react-contenteditable.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import React from 'react';
22

3+
let stripNbsp = str => str.replace(/ |\u202F|\u00A0/g, ' ');
4+
35
export default class ContentEditable extends React.Component {
46
constructor() {
57
super();
@@ -34,7 +36,10 @@ export default class ContentEditable extends React.Component {
3436
}
3537

3638
// ...or if html really changed... (programmatically, not by user edit)
37-
if (nextProps.html !== htmlEl.innerHTML && nextProps.html !== props.html) {
39+
if (
40+
stripNbsp(nextProps.html) !== stripNbsp(htmlEl.innerHTML) &&
41+
nextProps.html !== props.html
42+
) {
3843
return true;
3944
}
4045

0 commit comments

Comments
 (0)