remove autoFocus from message input field on mobile, #111
This commit is contained in:
@@ -3064,4 +3064,9 @@ ul.tabbar li.active > a {
|
|||||||
li .menuTrigger {
|
li .menuTrigger {
|
||||||
opacity: 0.3;
|
opacity: 0.3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#send-message-input {
|
||||||
|
/* Just an indicator that the screen is in mobile mode */
|
||||||
|
transition-property: -tinode-mobile;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -90,6 +90,10 @@ class SendMessage extends React.PureComponent {
|
|||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
if (this.messageEditArea) {
|
if (this.messageEditArea) {
|
||||||
this.messageEditArea.addEventListener('paste', this.handlePasteEvent, false);
|
this.messageEditArea.addEventListener('paste', this.handlePasteEvent, false);
|
||||||
|
if (window.getComputedStyle(this.messageEditArea).getPropertyValue('transition-property') == 'all') {
|
||||||
|
// Set focus on desktop, but not on mobile: focus causes soft keyboard to pop up.
|
||||||
|
this.messageEditArea.focus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.setState({quote: this.formatReply()});
|
this.setState({quote: this.formatReply()});
|
||||||
@@ -103,8 +107,11 @@ class SendMessage extends React.PureComponent {
|
|||||||
|
|
||||||
componentDidUpdate(prevProps) {
|
componentDidUpdate(prevProps) {
|
||||||
if (this.messageEditArea) {
|
if (this.messageEditArea) {
|
||||||
|
if (window.getComputedStyle(this.messageEditArea).getPropertyValue('transition-property') == 'all') {
|
||||||
|
// Set focus on desktop, but not on mobile: focus causes soft keyboard to pop up.
|
||||||
this.messageEditArea.focus();
|
this.messageEditArea.focus();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (prevProps.topicName != this.props.topicName) {
|
if (prevProps.topicName != this.props.topicName) {
|
||||||
this.setState({message: this.props.initMessage || '', audioRec: false, quote: null});
|
this.setState({message: this.props.initMessage || '', audioRec: false, quote: null});
|
||||||
@@ -266,11 +273,10 @@ class SendMessage extends React.PureComponent {
|
|||||||
onDeleted={_ => this.setState({audioRec: false})}
|
onDeleted={_ => this.setState({audioRec: false})}
|
||||||
onFinished={this.handleAttachAudio}/>
|
onFinished={this.handleAttachAudio}/>
|
||||||
</Suspense>) :
|
</Suspense>) :
|
||||||
<textarea id="sendMessage" placeholder={prompt}
|
<textarea id="send-message-input" placeholder={prompt}
|
||||||
value={this.state.message} onChange={this.handleMessageTyping}
|
value={this.state.message} onChange={this.handleMessageTyping}
|
||||||
onKeyPress={this.handleKeyPress}
|
onKeyPress={this.handleKeyPress}
|
||||||
ref={(ref) => {this.messageEditArea = ref;}}
|
ref={ref => {this.messageEditArea = ref;}} />)}
|
||||||
autoFocus />)}
|
|
||||||
{this.state.message || !audioEnabled ?
|
{this.state.message || !audioEnabled ?
|
||||||
<a href="#" onClick={this.handleSend} title={formatMessage(messages.icon_title_send)}>
|
<a href="#" onClick={this.handleSend} title={formatMessage(messages.icon_title_send)}>
|
||||||
<i className="material-icons">{sendIcon}</i>
|
<i className="material-icons">{sendIcon}</i>
|
||||||
|
|||||||
+7
-3
@@ -15306,6 +15306,9 @@ class SendMessage extends (react__WEBPACK_IMPORTED_MODULE_0___default().PureComp
|
|||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
if (this.messageEditArea) {
|
if (this.messageEditArea) {
|
||||||
this.messageEditArea.addEventListener('paste', this.handlePasteEvent, false);
|
this.messageEditArea.addEventListener('paste', this.handlePasteEvent, false);
|
||||||
|
if (window.getComputedStyle(this.messageEditArea).getPropertyValue('transition-property') == 'all') {
|
||||||
|
this.messageEditArea.focus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.setState({
|
this.setState({
|
||||||
quote: this.formatReply()
|
quote: this.formatReply()
|
||||||
@@ -15318,8 +15321,10 @@ class SendMessage extends (react__WEBPACK_IMPORTED_MODULE_0___default().PureComp
|
|||||||
}
|
}
|
||||||
componentDidUpdate(prevProps) {
|
componentDidUpdate(prevProps) {
|
||||||
if (this.messageEditArea) {
|
if (this.messageEditArea) {
|
||||||
|
if (window.getComputedStyle(this.messageEditArea).getPropertyValue('transition-property') == 'all') {
|
||||||
this.messageEditArea.focus();
|
this.messageEditArea.focus();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (prevProps.topicName != this.props.topicName) {
|
if (prevProps.topicName != this.props.topicName) {
|
||||||
this.setState({
|
this.setState({
|
||||||
message: this.props.initMessage || '',
|
message: this.props.initMessage || '',
|
||||||
@@ -15479,15 +15484,14 @@ class SendMessage extends (react__WEBPACK_IMPORTED_MODULE_0___default().PureComp
|
|||||||
}),
|
}),
|
||||||
onFinished: this.handleAttachAudio
|
onFinished: this.handleAttachAudio
|
||||||
})) : react__WEBPACK_IMPORTED_MODULE_0___default().createElement("textarea", {
|
})) : react__WEBPACK_IMPORTED_MODULE_0___default().createElement("textarea", {
|
||||||
id: "sendMessage",
|
id: "send-message-input",
|
||||||
placeholder: prompt,
|
placeholder: prompt,
|
||||||
value: this.state.message,
|
value: this.state.message,
|
||||||
onChange: this.handleMessageTyping,
|
onChange: this.handleMessageTyping,
|
||||||
onKeyPress: this.handleKeyPress,
|
onKeyPress: this.handleKeyPress,
|
||||||
ref: ref => {
|
ref: ref => {
|
||||||
this.messageEditArea = ref;
|
this.messageEditArea = ref;
|
||||||
},
|
}
|
||||||
autoFocus: true
|
|
||||||
}), this.state.message || !audioEnabled ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
}), this.state.message || !audioEnabled ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
||||||
href: "#",
|
href: "#",
|
||||||
onClick: this.handleSend,
|
onClick: this.handleSend,
|
||||||
|
|||||||
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