From fce2f25e5d4c30e2718c4ab8ccf86b0036cb2409 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Wed, 4 May 2016 20:58:31 +0700 Subject: [PATCH 01/15] package.json: roll back draft-js@0.6.0 requirement to 0.5.0 to satisfy peer deps of import/export packages --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 70887f06..c4100e09 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "dependencies": { "class-autobind": "^0.1.2", "classnames": "^2.2.5", - "draft-js": "^0.6.0", + "draft-js": "^0.5.0", "draft-js-export-html": "^0.1.13", "draft-js-export-markdown": "^0.1.5", "draft-js-import-html": "^0.1.8", From 7a7bd28c8cb3dc9a1f763f1fb8a7d58aa1c9c24c Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Wed, 4 May 2016 21:07:03 +0700 Subject: [PATCH 02/15] 0.1.15 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c4100e09..af3c4570 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-rte", - "version": "0.1.14", + "version": "0.1.15", "description": "React Rich Text Editor", "main": "dist/react-rte.js", "scripts": { From 21da9a4d2826b0bdb8a9d1c7b2ad16dfdc378a24 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Tue, 10 May 2016 15:56:17 +0700 Subject: [PATCH 03/15] Pass extra props to --- src/RichTextEditor.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/RichTextEditor.js b/src/RichTextEditor.js index 13e8c968..ac855507 100644 --- a/src/RichTextEditor.js +++ b/src/RichTextEditor.js @@ -54,10 +54,8 @@ export default class RichTextEditor extends Component { } render(): React.Element { - let {props} = this; - let editorState = props.value.getEditorState(); - let className = cx(props.className, styles.root); - let placeholder = props.placeholder ? props.placeholder : ''; + let {value, className, placeholder, ...otherProps} = this.props; + let editorState = value.getEditorState(); // If the user changes block type before entering any text, we can either // style the placeholder or hide it. Let's just hide it for now. let editorClassName = cx({ @@ -65,7 +63,7 @@ export default class RichTextEditor extends Component { [styles.hidePlaceholder]: this._shouldHidePlaceholder(), }); return ( -
+
Date: Tue, 10 May 2016 16:02:51 +0700 Subject: [PATCH 04/15] update peerDependencies to allow React 0.14 --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index af3c4570..ef399d2d 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,8 @@ "immutable": "^3.8.1" }, "peerDependencies": { - "react": "^15.0.1", - "react-dom": "^15.0.1" + "react": "^0.14.0 || ^15.0.1", + "react-dom": "^0.14.0 || ^15.0.1" }, "devDependencies": { "babel-cli": "^6.8.0", From aa6dd58713c9817c9031926fbdb785cea9cac2ee Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Tue, 10 May 2016 23:06:50 +0700 Subject: [PATCH 05/15] 0.1.16 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ef399d2d..688efbc3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-rte", - "version": "0.1.15", + "version": "0.1.16", "description": "React Rich Text Editor", "main": "dist/react-rte.js", "scripts": { From 7a07484bc4275b5871fb36520618e5d7f70368e7 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Tue, 17 May 2016 13:30:39 -0700 Subject: [PATCH 06/15] do not hard code editor height --- assets/css/demo.css | 4 ++++ src/EditorDemo.js | 1 + src/RichTextEditor.css | 1 - 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/assets/css/demo.css b/assets/css/demo.css index 5105eec7..600741ef 100644 --- a/assets/css/demo.css +++ b/assets/css/demo.css @@ -91,3 +91,7 @@ a { white-space: pre; word-wrap: normal; } + +.editor-demo .react-rte-demo .public-DraftEditor-content { + min-height: 110px; +} diff --git a/src/EditorDemo.js b/src/EditorDemo.js index 380111a7..71f9026f 100644 --- a/src/EditorDemo.js +++ b/src/EditorDemo.js @@ -36,6 +36,7 @@ export default class EditorDemo extends Component {
diff --git a/src/RichTextEditor.css b/src/RichTextEditor.css index fc1ac993..6c424441 100644 --- a/src/RichTextEditor.css +++ b/src/RichTextEditor.css @@ -21,7 +21,6 @@ } .editor :global(.public-DraftEditor-content) { - height: 110px; overflow: auto; } From 74899f5e0ecd9a5618f0f6e6df8111983710af5f Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Tue, 17 May 2016 13:41:42 -0700 Subject: [PATCH 07/15] update changelog --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8eb07599..1a70849f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ +v0.1.17 + + - Remove hard-coded height from RichTextEditor.css + +v0.1.16 + + - Update peerDependencies to allow React 0.14 + - Pass extra props to + +v0.1.15 + + - Update Flow and fix some Flow errors + +v0.1.14 + + - Update README about building demo + +v0.1.13 + + - Updates to demo including better display on mobile + - Remove console.error hack + - Minor style fixes to dropdown component + +v0.1.12 + + - Updates to README + - CSS fix for transparent dropdown options. Fixes #26 + - Fix placeholder text that was hard-coded in component + - Update contributors + v0.1.11 - Add onTab handler for list indent From b9980271d5e6857c995e844f88a9eaca9114c23f Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Tue, 17 May 2016 13:53:25 -0700 Subject: [PATCH 08/15] update deps --- package.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 688efbc3..da91ca88 100644 --- a/package.json +++ b/package.json @@ -16,11 +16,11 @@ "dependencies": { "class-autobind": "^0.1.2", "classnames": "^2.2.5", - "draft-js": "^0.5.0", + "draft-js": "^0.5.0 || ^0.6.0 || ^0.7.0", "draft-js-export-html": "^0.1.13", "draft-js-export-markdown": "^0.1.5", - "draft-js-import-html": "^0.1.8", - "draft-js-import-markdown": "^0.1.4", + "draft-js-import-html": "^0.1.9", + "draft-js-import-markdown": "^0.1.5", "draft-js-utils": "^0.1.4", "immutable": "^3.8.1" }, @@ -29,21 +29,21 @@ "react-dom": "^0.14.0 || ^15.0.1" }, "devDependencies": { - "babel-cli": "^6.8.0", - "babel-core": "^6.8.0", + "babel-cli": "^6.9.0", + "babel-core": "^6.9.0", "babel-eslint": "^6.0.4", "babel-loader": "^6.2.3", - "babel-plugin-transform-class-properties": "^6.8.0", - "babel-preset-es2015": "^6.5.0", + "babel-plugin-transform-class-properties": "^6.9.0", + "babel-preset-es2015": "^6.9.0", "babel-preset-react": "^6.5.0", "babel-preset-stage-2": "^6.5.0", "css-loader": "^0.23.1", "css-modules-require-hook": "^4.0.0", - "eslint": "^2.9.0", + "eslint": "^2.10.2", "eslint-plugin-babel": "^3.2.0", "eslint-plugin-flow-vars": "^0.4.0", - "eslint-plugin-react": "^5.0.1", - "expect": "^1.19.0", + "eslint-plugin-react": "^5.1.1", + "expect": "^1.20.0", "flow-bin": "^0.22.1", "mocha": "^2.4.5", "raw-loader": "^0.5.1", From 1bb89819e0e65fc19acdd957b58023329cf75d56 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Tue, 17 May 2016 13:53:50 -0700 Subject: [PATCH 09/15] 0.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index da91ca88..631a36c8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-rte", - "version": "0.1.16", + "version": "0.2.0", "description": "React Rich Text Editor", "main": "dist/react-rte.js", "scripts": { From fce4741cbb6c244dbbf921c36161104b352895b1 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Thu, 19 May 2016 05:55:28 -0700 Subject: [PATCH 10/15] dep: draft-js >=0.5.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 631a36c8..1b8cf6ef 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "dependencies": { "class-autobind": "^0.1.2", "classnames": "^2.2.5", - "draft-js": "^0.5.0 || ^0.6.0 || ^0.7.0", + "draft-js": ">=0.5.0", "draft-js-export-html": "^0.1.13", "draft-js-export-markdown": "^0.1.5", "draft-js-import-html": "^0.1.9", From 78d3aebe447860561b871419cf25135f83b61f71 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Fri, 20 May 2016 16:34:24 -0500 Subject: [PATCH 11/15] update deps; fix mocha path --- package.json | 24 ++++++++++++------------ test/mocha.opts | 1 - 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 1b8cf6ef..b886a141 100644 --- a/package.json +++ b/package.json @@ -11,22 +11,22 @@ "typecheck": "flow", "prepublish": "npm run build", "test": "npm run lint && npm run typecheck && npm run test-src", - "test-src": "mocha" + "test-src": "mocha src/__tests__/*.js src/**/__tests__/*.js" }, "dependencies": { "class-autobind": "^0.1.2", "classnames": "^2.2.5", - "draft-js": ">=0.5.0", - "draft-js-export-html": "^0.1.13", - "draft-js-export-markdown": "^0.1.5", - "draft-js-import-html": "^0.1.9", - "draft-js-import-markdown": "^0.1.5", - "draft-js-utils": "^0.1.4", + "draft-js": "^0.7.0", + "draft-js-export-html": "^0.2.2", + "draft-js-export-markdown": "^0.2.0", + "draft-js-import-html": "^0.1.10", + "draft-js-import-markdown": "^0.1.6", + "draft-js-utils": "^0.1.5", "immutable": "^3.8.1" }, "peerDependencies": { - "react": "^0.14.0 || ^15.0.1", - "react-dom": "^0.14.0 || ^15.0.1" + "react": "0.14.x || 15.x.x", + "react-dom": "0.14.x || 15.x.x" }, "devDependencies": { "babel-cli": "^6.9.0", @@ -43,14 +43,14 @@ "eslint-plugin-babel": "^3.2.0", "eslint-plugin-flow-vars": "^0.4.0", "eslint-plugin-react": "^5.1.1", - "expect": "^1.20.0", - "flow-bin": "^0.22.1", + "expect": "^1.20.1", + "flow-bin": "^0.25.0", "mocha": "^2.4.5", "raw-loader": "^0.5.1", "react-addons-test-utils": "^15.0.2", "rimraf": "^2.5.2", "style-loader": "^0.13.1", - "webpack": "^1.13.0" + "webpack": "^1.13.1" }, "repository": { "type": "git", diff --git a/test/mocha.opts b/test/mocha.opts index a7a82c62..54abcf1c 100644 --- a/test/mocha.opts +++ b/test/mocha.opts @@ -1,3 +1,2 @@ --compilers js:babel-core/register --require ./test/init.js -src/__tests__/*.js src/**/__tests__/*.js From 06cb617e62073f1aa3751744790cbda0c53e7aa1 Mon Sep 17 00:00:00 2001 From: Simon Sturmer Date: Fri, 20 May 2016 16:37:03 -0500 Subject: [PATCH 12/15] 0.3.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b886a141..eadbd072 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-rte", - "version": "0.2.0", + "version": "0.3.0", "description": "React Rich Text Editor", "main": "dist/react-rte.js", "scripts": { From c1962aebffeeb35931198964cbcb61250600e543 Mon Sep 17 00:00:00 2001 From: Ralph Schindler Date: Tue, 14 Jun 2016 02:39:55 -0500 Subject: [PATCH 13/15] User provided styles for toolbar and editor containers (#53) --- src/EditorDemo.js | 3 +++ src/RichTextEditor.js | 14 +++++++++----- src/lib/EditorToolbar.js | 5 ++++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/EditorDemo.js b/src/EditorDemo.js index 71f9026f..40c035d9 100644 --- a/src/EditorDemo.js +++ b/src/EditorDemo.js @@ -27,6 +27,7 @@ export default class EditorDemo extends Component { render(): React.Element { let {value, format} = this.state; + return (
@@ -38,6 +39,8 @@ export default class EditorDemo extends Component { onChange={this._onChange} className="react-rte-demo" placeholder="Tell a story" + toolbarClassName="demo-toolbar" + editorClassName="demo-editor" />
diff --git a/src/RichTextEditor.js b/src/RichTextEditor.js index ac855507..601f8be1 100644 --- a/src/RichTextEditor.js +++ b/src/RichTextEditor.js @@ -38,6 +38,8 @@ type ChangeHandler = (value: EditorValue) => any; type Props = { className?: string; + toolbarClassName?: string; + editorClassName?: string; value: EditorValue; onChange?: ChangeHandler; placeholder?: string; @@ -54,23 +56,25 @@ export default class RichTextEditor extends Component { } render(): React.Element { - let {value, className, placeholder, ...otherProps} = this.props; + let {value, className, toolbarClassName, editorClassName, placeholder, ...otherProps} = this.props; let editorState = value.getEditorState(); + // If the user changes block type before entering any text, we can either // style the placeholder or hide it. Let's just hide it for now. - let editorClassName = cx({ + let combinedEditorClassName = cx({ [styles.editor]: true, [styles.hidePlaceholder]: this._shouldHidePlaceholder(), - }); + }, editorClassName); return ( -
+
-
+
any; type Props = { + className?: string; editorState: EditorState; keyEmitter: EventEmitter; onChange: ChangeHandler; @@ -60,8 +62,9 @@ export default class EditorToolbar extends Component { } render(): React.Element { + const {className} = this.props; return ( -
+
{this._renderInlineStyleButtons()} {this._renderBlockTypeButtons()} {this._renderLinkButtons()} From 0d6dd5c23fa92e26151a4bbca1c50b5672c505a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Schmidt?= Date: Wed, 15 Jun 2016 15:18:07 +0200 Subject: [PATCH 14/15] Allow to set customStyleMap on Editor (#58) --- src/RichTextEditor.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/RichTextEditor.js b/src/RichTextEditor.js index 601f8be1..1b2703d0 100644 --- a/src/RichTextEditor.js +++ b/src/RichTextEditor.js @@ -43,6 +43,7 @@ type Props = { value: EditorValue; onChange?: ChangeHandler; placeholder?: string; + customStyleMap?: {}; }; export default class RichTextEditor extends Component { @@ -56,7 +57,7 @@ export default class RichTextEditor extends Component { } render(): React.Element { - let {value, className, toolbarClassName, editorClassName, placeholder, ...otherProps} = this.props; + let {value, className, toolbarClassName, editorClassName, placeholder, customStyleMap, ...otherProps} = this.props; let editorState = value.getEditorState(); // If the user changes block type before entering any text, we can either @@ -78,7 +79,7 @@ export default class RichTextEditor extends Component { Date: Wed, 15 Jun 2016 20:25:31 +0700 Subject: [PATCH 15/15] fix mutation introduced by #58 --- src/RichTextEditor.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/RichTextEditor.js b/src/RichTextEditor.js index 1b2703d0..da937fd8 100644 --- a/src/RichTextEditor.js +++ b/src/RichTextEditor.js @@ -43,7 +43,7 @@ type Props = { value: EditorValue; onChange?: ChangeHandler; placeholder?: string; - customStyleMap?: {}; + customStyleMap?: {[style: string]: {[key: string]: any}}; }; export default class RichTextEditor extends Component { @@ -59,6 +59,7 @@ export default class RichTextEditor extends Component { render(): React.Element { let {value, className, toolbarClassName, editorClassName, placeholder, customStyleMap, ...otherProps} = this.props; let editorState = value.getEditorState(); + customStyleMap = customStyleMap ? {...styleMap, ...customStyleMap} : styleMap; // If the user changes block type before entering any text, we can either // style the placeholder or hide it. Let's just hide it for now. @@ -79,7 +80,7 @@ export default class RichTextEditor extends Component {