PLT-2783 Reprint Last Message Entered Shortcut (#2966)

* added preliminary code

* added comment code

* semicolons are important

* compatible with slash commands

* too many semicolons
This commit is contained in:
David Lu
2016-05-12 07:48:29 -04:00
committed by Joram Wilander
parent a4a06aa102
commit 1630892b4c
2 changed files with 31 additions and 3 deletions

View File

@@ -72,6 +72,7 @@ class CreateComment extends React.Component {
const draft = PostStore.getCommentDraft(this.props.rootId);
this.state = {
messageText: draft.message,
lastMessage: '',
uploadsInProgress: draft.uploadsInProgress,
previews: draft.previews,
submitting: false,
@@ -172,6 +173,7 @@ class CreateComment extends React.Component {
this.setState({
messageText: '',
lastMessage: this.state.messageText,
submitting: false,
postError: null,
previews: [],
@@ -203,7 +205,7 @@ class CreateComment extends React.Component {
return;
}
if (e.keyCode === KeyCodes.UP && this.state.messageText === '') {
if (!e.ctrlKey && e.keyCode === KeyCodes.UP && this.state.messageText === '') {
e.preventDefault();
const lastPost = PostStore.getCurrentUsersLatestPost(this.props.channelId, this.props.rootId);
@@ -221,6 +223,18 @@ class CreateComment extends React.Component {
comments: PostStore.getCommentCount(lastPost)
});
}
if (e.ctrlKey && e.keyCode === KeyCodes.UP) {
const lastPost = PostStore.getCurrentUsersLatestPost(this.props.channelId, this.props.rootId);
if (!lastPost) {
return;
}
let message = lastPost.message;
if (this.state.lastMessage !== '') {
message = this.state.lastMessage;
}
this.setState({messageText: message});
}
}
handleUploadClick() {
this.focusTextbox();

View File

@@ -77,6 +77,7 @@ class CreatePost extends React.Component {
this.state = {
channelId: ChannelStore.getCurrentId(),
messageText: draft.messageText,
lastMessage: '',
uploadsInProgress: draft.uploadsInProgress,
previews: draft.previews,
submitting: false,
@@ -126,7 +127,7 @@ class CreatePost extends React.Component {
}
this.setState({submitting: true, serverError: null});
this.setState({lastMessage: this.state.messageText});
if (post.message.indexOf('/') === 0) {
Client.executeCommand(
this.state.channelId,
@@ -350,7 +351,7 @@ class CreatePost extends React.Component {
return;
}
if (e.keyCode === KeyCodes.UP && this.state.messageText === '') {
if (!e.ctrlKey && e.keyCode === KeyCodes.UP && this.state.messageText === '') {
e.preventDefault();
const channelId = ChannelStore.getCurrentId();
@@ -371,6 +372,19 @@ class CreatePost extends React.Component {
comments: PostStore.getCommentCount(lastPost)
});
}
if (e.ctrlKey && e.keyCode === KeyCodes.UP) {
const channelId = ChannelStore.getCurrentId();
const lastPost = PostStore.getCurrentUsersLatestPost(channelId);
if (!lastPost) {
return;
}
let message = lastPost.message;
if (this.state.lastMessage !== '') {
message = this.state.lastMessage;
}
this.setState({messageText: message});
}
}
showPostDeletedModal() {
this.setState({