a bunch of small bugs fixed

This commit is contained in:
or-else
2021-08-23 21:10:04 -07:00
parent efc0dfddc0
commit 0f186b6b3b
10 changed files with 112 additions and 99 deletions
+1
View File
@@ -112,6 +112,7 @@ class NewTopicView extends React.Component {
type="p2p" type="p2p"
onSearchContacts={this.handleSearchContacts} /> onSearchContacts={this.handleSearchContacts} />
<ContactList <ContactList
tinode={this.props.tinode}
contacts={this.props.searchResults} contacts={this.props.searchResults}
myUserId={this.props.myUserId} myUserId={this.props.myUserId}
emptyListMessage={no_contacts_placeholder} emptyListMessage={no_contacts_placeholder}
+3 -3
View File
@@ -35,7 +35,7 @@ export default class InPlaceEdit extends React.Component {
} }
handeTextChange(e) { handeTextChange(e) {
this.setState({value: e.target.value}); this.setState({value: e.target.value || ''});
} }
handleKeyDown(e) { handleKeyDown(e) {
@@ -59,13 +59,13 @@ export default class InPlaceEdit extends React.Component {
} }
handleEditingFinished(event) { handleEditingFinished(event) {
if (this.props.required && !event.target.checkValidity()) { const value = this.state.value.trim();
if (this.props.required && (!event.target.checkValidity() || !value)) {
// Empty input // Empty input
this.setState({value: this.props.value, active: false}); this.setState({value: this.props.value, active: false});
return; return;
} }
this.setState({active: false}); this.setState({active: false});
const value = this.state.value.trim();
if ((value || this.props.value) && (value !== this.props.value)) { if ((value || this.props.value) && (value !== this.props.value)) {
this.props.onFinished(value); this.props.onFinished(value);
} }
+4 -4
View File
@@ -34,7 +34,7 @@ export default class NewTopicGroup extends React.PureComponent {
} }
handleFieldEdit(name, e) { handleFieldEdit(name, e) {
this.setState({[name]: e.target.value}); this.setState({[name]: e.target.value || ''});
} }
handleImageChanged(img) { handleImageChanged(img) {
@@ -82,7 +82,7 @@ export default class NewTopicGroup extends React.PureComponent {
<FormattedMessage id="topic_name_editing_placeholder" defaultMessage="Freeform name of the group" <FormattedMessage id="topic_name_editing_placeholder" defaultMessage="Freeform name of the group"
description="Prompt for entering topic name">{ description="Prompt for entering topic name">{
(placeholder) => <input type="text" id="new-topic-fn" placeholder={placeholder} (placeholder) => <input type="text" id="new-topic-fn" placeholder={placeholder}
ref={this.fullName} value={this.state.fullName} onChange={this.handleFieldEdit.bind('fullName')} ref={this.fullName} value={this.state.fullName} onChange={this.handleFieldEdit.bind(this, 'fullName')}
autoFocus required tabIndex={0} /> autoFocus required tabIndex={0} />
}</FormattedMessage> }</FormattedMessage>
</div> </div>
@@ -94,7 +94,7 @@ export default class NewTopicGroup extends React.PureComponent {
<FormattedMessage id="private_editing_placeholder" defaultMessage="Visible to you only" <FormattedMessage id="private_editing_placeholder" defaultMessage="Visible to you only"
description="Placeholder for editing 'private'">{ description="Placeholder for editing 'private'">{
(placeholder) => <input type="text" id="new-topic-priv" placeholder={placeholder} (placeholder) => <input type="text" id="new-topic-priv" placeholder={placeholder}
value={this.state.private} onChange={this.handleFieldEdit.bind('private')} tabIndex={1} /> value={this.state.private} onChange={this.handleFieldEdit.bind(this, 'private')} tabIndex={1} />
}</FormattedMessage> }</FormattedMessage>
</div> </div>
<div className="group"> <div className="group">
@@ -105,7 +105,7 @@ export default class NewTopicGroup extends React.PureComponent {
<FormattedMessage id="description_editing_placeholder" defaultMessage="Description (optional)" <FormattedMessage id="description_editing_placeholder" defaultMessage="Description (optional)"
description="Placeholder for editing topic description">{ description="Placeholder for editing topic description">{
(placeholder) => <input type="text" id="new-topic-desc" placeholder={placeholder} (placeholder) => <input type="text" id="new-topic-desc" placeholder={placeholder}
value={this.state.description} onChange={this.handleFieldEdit.bind('description')} tabIndex={2} /> value={this.state.description} onChange={this.handleFieldEdit.bind(this, 'description')} tabIndex={2} />
}</FormattedMessage> }</FormattedMessage>
</div> </div>
</div> </div>
+6 -4
View File
@@ -212,12 +212,15 @@ export default class TopicDescEdit extends React.Component {
description="Label for editing topic name" /> description="Label for editing topic name" />
</label></div> </label></div>
<div> <div>
<InPlaceEdit <FormattedMessage id="topic_name_editing_placeholder" defaultMessage="Freeform name of the group"
placeholder={this.state.groupTopic ? "Group name" : <i>Unknown</i>} description="Prompt for entering topic name">{
(group_name_placeholder) => <InPlaceEdit
placeholder={group_name_placeholder}
readOnly={!editable} readOnly={!editable}
value={this.state.fullName} value={this.state.fullName}
required={true} required={true}
onFinished={this.handleFullNameUpdate} /> onFinished={this.handleFullNameUpdate} />
}</FormattedMessage>
</div> </div>
</div> </div>
<div className="group"> <div className="group">
@@ -228,8 +231,7 @@ export default class TopicDescEdit extends React.Component {
</label> </label>
</div> </div>
<div> <div>
<FormattedMessage id="private_editing_placeholder" <FormattedMessage id="private_editing_placeholder" defaultMessage="Visible to you only"
defaultMessage="Visible to you only"
description="Placeholder for editing 'private'">{ description="Placeholder for editing 'private'">{
(private_placeholder) => <InPlaceEdit (private_placeholder) => <InPlaceEdit
placeholder={private_placeholder} placeholder={private_placeholder}
+41 -38
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+12 -5
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long