keep focus on message editing firld whenever possible
This commit is contained in:
@@ -49,11 +49,15 @@ class SendMessage extends React.PureComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.pasteFile.addEventListener('paste', this.handlePasteEvent, false);
|
this.messageEditArea.addEventListener('paste', this.handlePasteEvent, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillUnmount() {
|
componentWillUnmount() {
|
||||||
this.pasteFile.removeEventListener('paste', this.handlePasteEvent, false)
|
this.messageEditArea.removeEventListener('paste', this.handlePasteEvent, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidUpdate() {
|
||||||
|
this.messageEditArea.focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
handlePasteEvent(e) {
|
handlePasteEvent(e) {
|
||||||
@@ -201,7 +205,7 @@ class SendMessage extends React.PureComponent {
|
|||||||
<textarea id="sendMessage" placeholder={prompt}
|
<textarea id="sendMessage" placeholder={prompt}
|
||||||
disabled={this.props.disabled} value={this.state.message}
|
disabled={this.props.disabled} value={this.state.message}
|
||||||
onChange={this.handleMessageTyping} onKeyPress={this.handleKeyPress}
|
onChange={this.handleMessageTyping} onKeyPress={this.handleKeyPress}
|
||||||
ref={function(ref) {instance.pasteFile = ref;}}
|
ref={(ref) => {this.messageEditArea = ref;}}
|
||||||
autoFocus />
|
autoFocus />
|
||||||
{this.props.disabled ?
|
{this.props.disabled ?
|
||||||
<i className="material-icons disabled">send</i> :
|
<i className="material-icons disabled">send</i> :
|
||||||
|
|||||||
+10
-4
@@ -1694,7 +1694,6 @@ var InfoView = function (_React$Component) {
|
|||||||
value: function resetDesc(topic, props) {
|
value: function resetDesc(topic, props) {
|
||||||
var defacs = topic.getDefaultAccess() || {};
|
var defacs = topic.getDefaultAccess() || {};
|
||||||
var acs = topic.getAccessMode();
|
var acs = topic.getAccessMode();
|
||||||
console.log("Desc:", defacs, acs);
|
|
||||||
this.setState({
|
this.setState({
|
||||||
owner: acs && acs.isOwner(),
|
owner: acs && acs.isOwner(),
|
||||||
admin: acs && acs.isAdmin(),
|
admin: acs && acs.isAdmin(),
|
||||||
@@ -9235,12 +9234,17 @@ var SendMessage = function (_React$PureComponent) {
|
|||||||
_createClass(SendMessage, [{
|
_createClass(SendMessage, [{
|
||||||
key: "componentDidMount",
|
key: "componentDidMount",
|
||||||
value: function componentDidMount() {
|
value: function componentDidMount() {
|
||||||
this.pasteFile.addEventListener('paste', this.handlePasteEvent, false);
|
this.messageEditArea.addEventListener('paste', this.handlePasteEvent, false);
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
key: "componentWillUnmount",
|
key: "componentWillUnmount",
|
||||||
value: function componentWillUnmount() {
|
value: function componentWillUnmount() {
|
||||||
this.pasteFile.removeEventListener('paste', this.handlePasteEvent, false);
|
this.messageEditArea.removeEventListener('paste', this.handlePasteEvent, false);
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "componentDidUpdate",
|
||||||
|
value: function componentDidUpdate() {
|
||||||
|
this.messageEditArea.focus();
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
key: "handlePasteEvent",
|
key: "handlePasteEvent",
|
||||||
@@ -9365,6 +9369,8 @@ var SendMessage = function (_React$PureComponent) {
|
|||||||
}, {
|
}, {
|
||||||
key: "render",
|
key: "render",
|
||||||
value: function render() {
|
value: function render() {
|
||||||
|
var _this5 = this;
|
||||||
|
|
||||||
var formatMessage = this.props.intl.formatMessage;
|
var formatMessage = this.props.intl.formatMessage;
|
||||||
var prompt = this.props.disabled ? formatMessage(messages.messaging_disabled) : formatMessage(messages.type_new_message);
|
var prompt = this.props.disabled ? formatMessage(messages.messaging_disabled) : formatMessage(messages.type_new_message);
|
||||||
var instance = this;
|
var instance = this;
|
||||||
@@ -9398,7 +9404,7 @@ var SendMessage = function (_React$PureComponent) {
|
|||||||
onChange: this.handleMessageTyping,
|
onChange: this.handleMessageTyping,
|
||||||
onKeyPress: this.handleKeyPress,
|
onKeyPress: this.handleKeyPress,
|
||||||
ref: function ref(_ref) {
|
ref: function ref(_ref) {
|
||||||
instance.pasteFile = _ref;
|
_this5.messageEditArea = _ref;
|
||||||
},
|
},
|
||||||
autoFocus: true
|
autoFocus: true
|
||||||
}), this.props.disabled ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("i", {
|
}), this.props.disabled ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("i", {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user