1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-02 15:38:15 +00:00

Change user select message (#4576)

* change user select

* change select user to search user
This commit is contained in:
Michael An
2020-06-03 15:50:13 +08:00
committed by GitHub
parent 7da8e55d68
commit 8a90b33ad8
13 changed files with 30 additions and 19 deletions

View File

@@ -100,7 +100,7 @@ class AddReviewerDialog extends React.Component {
<p>{gettext('Add new reviewer')}</p>
<div className='add-reviewer'>
<UserSelect
placeholder={gettext('Select users...')}
placeholder={gettext('Search users...')}
onSelectChange={this.handleSelectChange}
ref="reviewSelect"
isMulti={true}

View File

@@ -125,7 +125,7 @@ class FileParticipantDialog extends Component {
ref="userSelect"
isMulti={true}
className="participant-select"
placeholder={gettext('Select users...')}
placeholder={gettext('Search users...')}
onSelectChange={this.handleSelectChange}
/>
<Button className="btn btn-secondary ml-2" onClick={this.addFileParticipant}>{gettext('Add')}</Button>

View File

@@ -262,7 +262,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
ref="userSelect"
isMulti={true}
className="reviewer-select"
placeholder={gettext('Select users...')}
placeholder={gettext('Search users...')}
onSelectChange={this.handleUserSelectChange}
value={this.state.selectedUsers}
/>

View File

@@ -94,7 +94,7 @@ class ManageMembersDialog extends React.Component {
<p>{gettext('Add group member')}</p>
<div className='add-members'>
<UserSelect
placeholder={gettext('Select users...')}
placeholder={gettext('Search users...')}
onSelectChange={this.onSelectChange}
ref="userSelect"
isMulti={true}

View File

@@ -55,7 +55,7 @@ class AddMemberDialog extends React.Component {
<ModalHeader toggle={this.props.toggle}>{gettext('Add Member')}</ModalHeader>
<ModalBody>
<UserSelect
placeholder={gettext('Select users...')}
placeholder={gettext('Search users...')}
onSelectChange={this.handleSelectChange}
ref="orgSelect"
isMulti={false}

View File

@@ -292,7 +292,7 @@ class ShareToUser extends React.Component {
ref="userSelect"
isMulti={true}
className="reviewer-select"
placeholder={gettext('Select users...')}
placeholder={gettext('Search users...')}
onSelectChange={this.handleSelectChange}
/>
</td>

View File

@@ -34,7 +34,7 @@ class AddMemberDialog extends React.Component {
<ModalHeader toggle={this.props.toggle}>{gettext('Add Member')}</ModalHeader>
<ModalBody>
<UserSelect
placeholder={gettext('Select users...')}
placeholder={gettext('Search users...')}
onSelectChange={this.handleSelectChange}
isMulti={true}
className='org-add-member-select'

View File

@@ -53,7 +53,7 @@ class AddMemberDialog extends React.Component {
<ModalHeader toggle={this.props.toggle}>{gettext('Add Member')}</ModalHeader>
<ModalBody>
<UserSelect
placeholder={gettext('Select users...')}
placeholder={gettext('Search users...')}
onSelectChange={this.handleSelectChange}
ref="orgSelect"
isMulti={true}

View File

@@ -49,7 +49,7 @@ class SysAdminBatchAddAdminDialog extends React.Component {
<UserSelect
isMulti={true}
className="reviewer-select"
placeholder={gettext('Select users...')}
placeholder={gettext('Search users...')}
onSelectChange={this.handleSelectChange}
/>
</ModalBody>

View File

@@ -42,7 +42,7 @@ class SysAdminGroupAddMemberDialog extends React.Component {
ref="userSelect"
isMulti={true}
className="reviewer-select"
placeholder={gettext('Search users')}
placeholder={gettext('Search users...')}
onSelectChange={this.handleSelectChange}
/>
</ModalBody>

View File

@@ -43,7 +43,7 @@ class SysAdminRepoTransferDialog extends React.Component {
ref="userSelect"
isMulti={false}
className="reviewer-select"
placeholder={gettext('Search users')}
placeholder={gettext('Search users...')}
onSelectChange={this.handleSelectChange}
/>
</ModalBody>

View File

@@ -221,7 +221,7 @@ class SysAdminShareToUser extends React.Component {
ref="userSelect"
isMulti={true}
className="reviewer-select"
placeholder={gettext('Select users...')}
placeholder={gettext('Search users...')}
onSelectChange={this.handleSelectChange}
/>
</td>

View File

@@ -11,12 +11,7 @@ const propTypes = {
onSelectChange: PropTypes.func.isRequired,
isMulti: PropTypes.bool.isRequired,
className: PropTypes.string,
};
const NoOptionsMessage = (props) => {
return (
<div {...props.innerProps} style={{margin: '6px 10px', textAlign: 'center', color: 'hsl(0,0%,50%)'}}>{gettext('User not found')}</div>
);
value: PropTypes.string,
};
class UserSelect extends React.Component {
@@ -24,6 +19,13 @@ class UserSelect extends React.Component {
constructor(props) {
super(props);
this.options = [];
this.state = {
searchValue: '',
};
}
onInputChange = (searchValue) => {
this.setState({ searchValue });
}
handleSelectChange = (option) => {
@@ -61,14 +63,23 @@ class UserSelect extends React.Component {
}
render() {
const searchValue = this.state.searchValue;
const style = { margin: '6px 10px', textAlign: 'center', color: 'hsl(0,0%,50%)' };
return (
<AsyncSelect
isClearable
classNamePrefix
components={{ NoOptionsMessage }}
components={{
NoOptionsMessage: (props) => {
return (
<div {...props.innerProps} style={style}>{searchValue ? gettext('User not found') : gettext('Enter characters to start searching')}</div>
);
}
}}
isMulti={this.props.isMulti}
loadOptions={this.loadOptions}
onChange={this.handleSelectChange}
onInputChange={this.onInputChange}
placeholder={this.props.placeholder}
className={`user-select ${this.props.className}`}
value={this.props.value}