From ea0dcb44210226fb4fc8cbf165b73d06d70dad7d Mon Sep 17 00:00:00 2001 From: Reed Garmsen Date: Wed, 23 Sep 2015 13:21:35 -0700 Subject: Small fix for react key warning --- web/react/components/user_settings/custom_theme_chooser.jsx | 7 +++++-- web/react/components/user_settings/premade_theme_chooser.jsx | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'web/react/components') diff --git a/web/react/components/user_settings/custom_theme_chooser.jsx b/web/react/components/user_settings/custom_theme_chooser.jsx index 44630a318..c680d75d1 100644 --- a/web/react/components/user_settings/custom_theme_chooser.jsx +++ b/web/react/components/user_settings/custom_theme_chooser.jsx @@ -53,9 +53,12 @@ export default class CustomThemeChooser extends React.Component { const elements = []; let colors = ''; - Constants.THEME_ELEMENTS.forEach((element) => { + Constants.THEME_ELEMENTS.forEach((element, index) => { elements.push( -
+
+
this.props.updateTheme(premadeTheme)} -- cgit v1.2.3-1-g7c22 From 03eece597d491ed9069fc684a03a980d9250844a Mon Sep 17 00:00:00 2001 From: Reed Garmsen Date: Wed, 23 Sep 2015 15:01:02 -0700 Subject: Added support to drag and drop text into the main textbox or RHS textbox --- web/react/components/create_comment.jsx | 7 +++++++ web/react/components/create_post.jsx | 7 +++++++ web/react/components/file_upload.jsx | 3 ++- 3 files changed, 16 insertions(+), 1 deletion(-) (limited to 'web/react/components') diff --git a/web/react/components/create_comment.jsx b/web/react/components/create_comment.jsx index c2fc0dcf3..7cbf6408d 100644 --- a/web/react/components/create_comment.jsx +++ b/web/react/components/create_comment.jsx @@ -28,6 +28,7 @@ export default class CreateComment extends React.Component { this.handleUploadStart = this.handleUploadStart.bind(this); this.handleFileUploadComplete = this.handleFileUploadComplete.bind(this); this.handleUploadError = this.handleUploadError.bind(this); + this.handleTextDrop = this.handleTextDrop.bind(this); this.removePreview = this.removePreview.bind(this); this.handleSubmit = this.handleSubmit.bind(this); this.getFileCount = this.getFileCount.bind(this); @@ -178,6 +179,11 @@ export default class CreateComment extends React.Component { this.setState({serverError: err}); } } + handleTextDrop(text) { + const originalText = this.state.messageText; + this.setState({messageText: originalText + text}); + React.findDOMNode(this.refs.textbox).focus(); + } removePreview(id) { let previews = this.state.previews; let uploadsInProgress = this.state.uploadsInProgress; @@ -264,6 +270,7 @@ export default class CreateComment extends React.Component { onUploadStart={this.handleUploadStart} onFileUpload={this.handleFileUploadComplete} onUploadError={this.handleUploadError} + onTextDrop={this.handleTextDrop} postType='comment' channelId={this.props.channelId} /> diff --git a/web/react/components/create_post.jsx b/web/react/components/create_post.jsx index abad60154..554e1ba35 100644 --- a/web/react/components/create_post.jsx +++ b/web/react/components/create_post.jsx @@ -31,6 +31,7 @@ export default class CreatePost extends React.Component { this.handleUploadStart = this.handleUploadStart.bind(this); this.handleFileUploadComplete = this.handleFileUploadComplete.bind(this); this.handleUploadError = this.handleUploadError.bind(this); + this.handleTextDrop = this.handleTextDrop.bind(this); this.removePreview = this.removePreview.bind(this); this.onChange = this.onChange.bind(this); this.getFileCount = this.getFileCount.bind(this); @@ -230,6 +231,11 @@ export default class CreatePost extends React.Component { this.setState({serverError: err}); } } + handleTextDrop(text) { + const originalText = this.state.messageText; + this.setState({messageText: originalText + text}); + React.findDOMNode(this.refs.textbox).focus(); + } removePreview(id) { let previews = this.state.previews; let uploadsInProgress = this.state.uploadsInProgress; @@ -334,6 +340,7 @@ export default class CreatePost extends React.Component { onUploadStart={this.handleUploadStart} onFileUpload={this.handleFileUploadComplete} onUploadError={this.handleUploadError} + onTextDrop={this.handleTextDrop} postType='post' channelId='' /> diff --git a/web/react/components/file_upload.jsx b/web/react/components/file_upload.jsx index 3cb284171..3dc4e5de2 100644 --- a/web/react/components/file_upload.jsx +++ b/web/react/components/file_upload.jsx @@ -110,7 +110,7 @@ export default class FileUpload extends React.Component { if (typeof files !== 'string' && files.length) { this.uploadFiles(files); } else { - this.props.onUploadError('Invalid file upload', -1); + this.props.onTextDrop(e.originalEvent.dataTransfer.getData('Text')); } } @@ -266,6 +266,7 @@ FileUpload.propTypes = { getFileCount: React.PropTypes.func, onFileUpload: React.PropTypes.func, onUploadStart: React.PropTypes.func, + onTextDrop: React.PropTypes.func, channelId: React.PropTypes.string, postType: React.PropTypes.string }; -- cgit v1.2.3-1-g7c22 From ef8705ab6b9f11da77d8056e68b9fc2adb2ef496 Mon Sep 17 00:00:00 2001 From: Reed Garmsen Date: Wed, 23 Sep 2015 15:12:23 -0700 Subject: Text cursor now focuses on the textbox after performing a drag and drop of some text --- web/react/components/create_comment.jsx | 6 +++--- web/react/components/create_post.jsx | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'web/react/components') diff --git a/web/react/components/create_comment.jsx b/web/react/components/create_comment.jsx index 7cbf6408d..99f553c0c 100644 --- a/web/react/components/create_comment.jsx +++ b/web/react/components/create_comment.jsx @@ -180,9 +180,9 @@ export default class CreateComment extends React.Component { } } handleTextDrop(text) { - const originalText = this.state.messageText; - this.setState({messageText: originalText + text}); - React.findDOMNode(this.refs.textbox).focus(); + const newText = this.state.messageText + text; + this.handleUserInput(newText); + Utils.setCaretPosition(React.findDOMNode(this.refs.textbox.refs.message), newText.length); } removePreview(id) { let previews = this.state.previews; diff --git a/web/react/components/create_post.jsx b/web/react/components/create_post.jsx index 554e1ba35..595643027 100644 --- a/web/react/components/create_post.jsx +++ b/web/react/components/create_post.jsx @@ -232,9 +232,9 @@ export default class CreatePost extends React.Component { } } handleTextDrop(text) { - const originalText = this.state.messageText; - this.setState({messageText: originalText + text}); - React.findDOMNode(this.refs.textbox).focus(); + const newText = this.state.messageText + text; + this.handleUserInput(newText); + Utils.setCaretPosition(React.findDOMNode(this.refs.textbox.refs.message), newText.length); } removePreview(id) { let previews = this.state.previews; -- cgit v1.2.3-1-g7c22