mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-03 07:55:36 +00:00
Change user select message (#4576)
* change user select * change select user to search user
This commit is contained in:
@@ -100,7 +100,7 @@ class AddReviewerDialog extends React.Component {
|
|||||||
<p>{gettext('Add new reviewer')}</p>
|
<p>{gettext('Add new reviewer')}</p>
|
||||||
<div className='add-reviewer'>
|
<div className='add-reviewer'>
|
||||||
<UserSelect
|
<UserSelect
|
||||||
placeholder={gettext('Select users...')}
|
placeholder={gettext('Search users...')}
|
||||||
onSelectChange={this.handleSelectChange}
|
onSelectChange={this.handleSelectChange}
|
||||||
ref="reviewSelect"
|
ref="reviewSelect"
|
||||||
isMulti={true}
|
isMulti={true}
|
||||||
|
@@ -125,7 +125,7 @@ class FileParticipantDialog extends Component {
|
|||||||
ref="userSelect"
|
ref="userSelect"
|
||||||
isMulti={true}
|
isMulti={true}
|
||||||
className="participant-select"
|
className="participant-select"
|
||||||
placeholder={gettext('Select users...')}
|
placeholder={gettext('Search users...')}
|
||||||
onSelectChange={this.handleSelectChange}
|
onSelectChange={this.handleSelectChange}
|
||||||
/>
|
/>
|
||||||
<Button className="btn btn-secondary ml-2" onClick={this.addFileParticipant}>{gettext('Add')}</Button>
|
<Button className="btn btn-secondary ml-2" onClick={this.addFileParticipant}>{gettext('Add')}</Button>
|
||||||
|
@@ -262,7 +262,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
|
|||||||
ref="userSelect"
|
ref="userSelect"
|
||||||
isMulti={true}
|
isMulti={true}
|
||||||
className="reviewer-select"
|
className="reviewer-select"
|
||||||
placeholder={gettext('Select users...')}
|
placeholder={gettext('Search users...')}
|
||||||
onSelectChange={this.handleUserSelectChange}
|
onSelectChange={this.handleUserSelectChange}
|
||||||
value={this.state.selectedUsers}
|
value={this.state.selectedUsers}
|
||||||
/>
|
/>
|
||||||
|
@@ -94,7 +94,7 @@ class ManageMembersDialog extends React.Component {
|
|||||||
<p>{gettext('Add group member')}</p>
|
<p>{gettext('Add group member')}</p>
|
||||||
<div className='add-members'>
|
<div className='add-members'>
|
||||||
<UserSelect
|
<UserSelect
|
||||||
placeholder={gettext('Select users...')}
|
placeholder={gettext('Search users...')}
|
||||||
onSelectChange={this.onSelectChange}
|
onSelectChange={this.onSelectChange}
|
||||||
ref="userSelect"
|
ref="userSelect"
|
||||||
isMulti={true}
|
isMulti={true}
|
||||||
|
@@ -55,7 +55,7 @@ class AddMemberDialog extends React.Component {
|
|||||||
<ModalHeader toggle={this.props.toggle}>{gettext('Add Member')}</ModalHeader>
|
<ModalHeader toggle={this.props.toggle}>{gettext('Add Member')}</ModalHeader>
|
||||||
<ModalBody>
|
<ModalBody>
|
||||||
<UserSelect
|
<UserSelect
|
||||||
placeholder={gettext('Select users...')}
|
placeholder={gettext('Search users...')}
|
||||||
onSelectChange={this.handleSelectChange}
|
onSelectChange={this.handleSelectChange}
|
||||||
ref="orgSelect"
|
ref="orgSelect"
|
||||||
isMulti={false}
|
isMulti={false}
|
||||||
|
@@ -292,7 +292,7 @@ class ShareToUser extends React.Component {
|
|||||||
ref="userSelect"
|
ref="userSelect"
|
||||||
isMulti={true}
|
isMulti={true}
|
||||||
className="reviewer-select"
|
className="reviewer-select"
|
||||||
placeholder={gettext('Select users...')}
|
placeholder={gettext('Search users...')}
|
||||||
onSelectChange={this.handleSelectChange}
|
onSelectChange={this.handleSelectChange}
|
||||||
/>
|
/>
|
||||||
</td>
|
</td>
|
||||||
|
@@ -34,7 +34,7 @@ class AddMemberDialog extends React.Component {
|
|||||||
<ModalHeader toggle={this.props.toggle}>{gettext('Add Member')}</ModalHeader>
|
<ModalHeader toggle={this.props.toggle}>{gettext('Add Member')}</ModalHeader>
|
||||||
<ModalBody>
|
<ModalBody>
|
||||||
<UserSelect
|
<UserSelect
|
||||||
placeholder={gettext('Select users...')}
|
placeholder={gettext('Search users...')}
|
||||||
onSelectChange={this.handleSelectChange}
|
onSelectChange={this.handleSelectChange}
|
||||||
isMulti={true}
|
isMulti={true}
|
||||||
className='org-add-member-select'
|
className='org-add-member-select'
|
||||||
|
@@ -53,7 +53,7 @@ class AddMemberDialog extends React.Component {
|
|||||||
<ModalHeader toggle={this.props.toggle}>{gettext('Add Member')}</ModalHeader>
|
<ModalHeader toggle={this.props.toggle}>{gettext('Add Member')}</ModalHeader>
|
||||||
<ModalBody>
|
<ModalBody>
|
||||||
<UserSelect
|
<UserSelect
|
||||||
placeholder={gettext('Select users...')}
|
placeholder={gettext('Search users...')}
|
||||||
onSelectChange={this.handleSelectChange}
|
onSelectChange={this.handleSelectChange}
|
||||||
ref="orgSelect"
|
ref="orgSelect"
|
||||||
isMulti={true}
|
isMulti={true}
|
||||||
|
@@ -49,7 +49,7 @@ class SysAdminBatchAddAdminDialog extends React.Component {
|
|||||||
<UserSelect
|
<UserSelect
|
||||||
isMulti={true}
|
isMulti={true}
|
||||||
className="reviewer-select"
|
className="reviewer-select"
|
||||||
placeholder={gettext('Select users...')}
|
placeholder={gettext('Search users...')}
|
||||||
onSelectChange={this.handleSelectChange}
|
onSelectChange={this.handleSelectChange}
|
||||||
/>
|
/>
|
||||||
</ModalBody>
|
</ModalBody>
|
||||||
|
@@ -42,7 +42,7 @@ class SysAdminGroupAddMemberDialog extends React.Component {
|
|||||||
ref="userSelect"
|
ref="userSelect"
|
||||||
isMulti={true}
|
isMulti={true}
|
||||||
className="reviewer-select"
|
className="reviewer-select"
|
||||||
placeholder={gettext('Search users')}
|
placeholder={gettext('Search users...')}
|
||||||
onSelectChange={this.handleSelectChange}
|
onSelectChange={this.handleSelectChange}
|
||||||
/>
|
/>
|
||||||
</ModalBody>
|
</ModalBody>
|
||||||
|
@@ -43,7 +43,7 @@ class SysAdminRepoTransferDialog extends React.Component {
|
|||||||
ref="userSelect"
|
ref="userSelect"
|
||||||
isMulti={false}
|
isMulti={false}
|
||||||
className="reviewer-select"
|
className="reviewer-select"
|
||||||
placeholder={gettext('Search users')}
|
placeholder={gettext('Search users...')}
|
||||||
onSelectChange={this.handleSelectChange}
|
onSelectChange={this.handleSelectChange}
|
||||||
/>
|
/>
|
||||||
</ModalBody>
|
</ModalBody>
|
||||||
|
@@ -221,7 +221,7 @@ class SysAdminShareToUser extends React.Component {
|
|||||||
ref="userSelect"
|
ref="userSelect"
|
||||||
isMulti={true}
|
isMulti={true}
|
||||||
className="reviewer-select"
|
className="reviewer-select"
|
||||||
placeholder={gettext('Select users...')}
|
placeholder={gettext('Search users...')}
|
||||||
onSelectChange={this.handleSelectChange}
|
onSelectChange={this.handleSelectChange}
|
||||||
/>
|
/>
|
||||||
</td>
|
</td>
|
||||||
|
@@ -11,12 +11,7 @@ const propTypes = {
|
|||||||
onSelectChange: PropTypes.func.isRequired,
|
onSelectChange: PropTypes.func.isRequired,
|
||||||
isMulti: PropTypes.bool.isRequired,
|
isMulti: PropTypes.bool.isRequired,
|
||||||
className: PropTypes.string,
|
className: PropTypes.string,
|
||||||
};
|
value: 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>
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class UserSelect extends React.Component {
|
class UserSelect extends React.Component {
|
||||||
@@ -24,6 +19,13 @@ class UserSelect extends React.Component {
|
|||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
this.options = [];
|
this.options = [];
|
||||||
|
this.state = {
|
||||||
|
searchValue: '',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
onInputChange = (searchValue) => {
|
||||||
|
this.setState({ searchValue });
|
||||||
}
|
}
|
||||||
|
|
||||||
handleSelectChange = (option) => {
|
handleSelectChange = (option) => {
|
||||||
@@ -61,14 +63,23 @@ class UserSelect extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
const searchValue = this.state.searchValue;
|
||||||
|
const style = { margin: '6px 10px', textAlign: 'center', color: 'hsl(0,0%,50%)' };
|
||||||
return (
|
return (
|
||||||
<AsyncSelect
|
<AsyncSelect
|
||||||
isClearable
|
isClearable
|
||||||
classNamePrefix
|
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}
|
isMulti={this.props.isMulti}
|
||||||
loadOptions={this.loadOptions}
|
loadOptions={this.loadOptions}
|
||||||
onChange={this.handleSelectChange}
|
onChange={this.handleSelectChange}
|
||||||
|
onInputChange={this.onInputChange}
|
||||||
placeholder={this.props.placeholder}
|
placeholder={this.props.placeholder}
|
||||||
className={`user-select ${this.props.className}`}
|
className={`user-select ${this.props.className}`}
|
||||||
value={this.props.value}
|
value={this.props.value}
|
||||||
|
Reference in New Issue
Block a user