allow messages to be send on ctrl+enter
Этот коммит содержится в:
@@ -36,9 +36,10 @@ export default class CreatePost extends React.Component {
|
||||
this.removePreview = this.removePreview.bind(this);
|
||||
this.onChange = this.onChange.bind(this);
|
||||
this.getFileCount = this.getFileCount.bind(this);
|
||||
this.handleArrowUp = this.handleArrowUp.bind(this);
|
||||
this.handleKeyDown = this.handleKeyDown.bind(this);
|
||||
this.handleResize = this.handleResize.bind(this);
|
||||
this.sendMessage = this.sendMessage.bind(this);
|
||||
this.onUserChange = this.onUserChange.bind(this);
|
||||
|
||||
PostStore.clearDraftUploads();
|
||||
|
||||
@@ -52,8 +53,15 @@ export default class CreatePost extends React.Component {
|
||||
submitting: false,
|
||||
initialText: draft.messageText,
|
||||
windowWidth: Utils.windowWidth(),
|
||||
windowHeight: Utils.windowHeight()
|
||||
windowHeight: Utils.windowHeight(),
|
||||
ctrlSend: UserStore.getCurrentUser().props.ctrlSend
|
||||
};
|
||||
|
||||
UserStore.addChangeListener(this.onUserChange);
|
||||
}
|
||||
onUserChange() {
|
||||
const ctrlSend = UserStore.getCurrentUser().props.ctrlSend || 'false';
|
||||
this.setState({ctrlSend});
|
||||
}
|
||||
handleResize() {
|
||||
this.setState({
|
||||
@@ -201,10 +209,12 @@ export default class CreatePost extends React.Component {
|
||||
);
|
||||
}
|
||||
postMsgKeyPress(e) {
|
||||
if (e.which === KeyCodes.ENTER && !e.shiftKey && !e.altKey) {
|
||||
e.preventDefault();
|
||||
ReactDOM.findDOMNode(this.refs.textbox).blur();
|
||||
this.handleSubmit(e);
|
||||
if (this.state.ctrlSend === 'true' && e.ctrlKey || this.state.ctrlSend === 'false') {
|
||||
if (e.which === KeyCodes.ENTER && !e.shiftKey && !e.altKey) {
|
||||
e.preventDefault();
|
||||
ReactDOM.findDOMNode(this.refs.textbox).blur();
|
||||
this.handleSubmit(e);
|
||||
}
|
||||
}
|
||||
|
||||
const t = Date.now();
|
||||
@@ -328,7 +338,12 @@ export default class CreatePost extends React.Component {
|
||||
const draft = PostStore.getDraft(channelId);
|
||||
return draft.previews.length + draft.uploadsInProgress.length;
|
||||
}
|
||||
handleArrowUp(e) {
|
||||
handleKeyDown(e) {
|
||||
if (this.state.ctrlSend === 'true' && e.keyCode === KeyCodes.ENTER && e.ctrlKey === true) {
|
||||
this.postMsgKeyPress(e);
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.keyCode === KeyCodes.UP && this.state.messageText === '') {
|
||||
e.preventDefault();
|
||||
|
||||
@@ -393,7 +408,7 @@ export default class CreatePost extends React.Component {
|
||||
<Textbox
|
||||
onUserInput={this.handleUserInput}
|
||||
onKeyPress={this.postMsgKeyPress}
|
||||
onKeyDown={this.handleArrowUp}
|
||||
onKeyDown={this.handleKeyDown}
|
||||
onHeightChange={this.resizePostHolder}
|
||||
messageText={this.state.messageText}
|
||||
createMessage='Write a message...'
|
||||
|
||||
Ссылка в новой задаче
Block a user