Go to page zero when searching direct channels (#6977)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
3043b5d52a
Коммит
b428d565ca
@@ -185,11 +185,18 @@ export default class MoreDirectChannels extends React.Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resetPaging = () => {
|
||||||
|
if (this.refs.multiselect) {
|
||||||
|
this.refs.multiselect.resetPaging();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
search(term) {
|
search(term) {
|
||||||
clearTimeout(this.searchTimeoutId);
|
clearTimeout(this.searchTimeoutId);
|
||||||
this.term = term;
|
this.term = term;
|
||||||
|
|
||||||
if (term === '') {
|
if (term === '') {
|
||||||
|
this.resetPaging();
|
||||||
this.onChange();
|
this.onChange();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -203,7 +210,7 @@ export default class MoreDirectChannels extends React.Component {
|
|||||||
|
|
||||||
this.searchTimeoutId = setTimeout(
|
this.searchTimeoutId = setTimeout(
|
||||||
() => {
|
() => {
|
||||||
searchUsers(term, teamId);
|
searchUsers(term, teamId, {}, this.resetPaging);
|
||||||
},
|
},
|
||||||
Constants.SEARCH_TIMEOUT_MILLISECONDS
|
Constants.SEARCH_TIMEOUT_MILLISECONDS
|
||||||
);
|
);
|
||||||
@@ -315,6 +322,7 @@ export default class MoreDirectChannels extends React.Component {
|
|||||||
<Modal.Body>
|
<Modal.Body>
|
||||||
<MultiSelect
|
<MultiSelect
|
||||||
key='moreDirectChannelsList'
|
key='moreDirectChannelsList'
|
||||||
|
ref='multiselect'
|
||||||
options={users}
|
options={users}
|
||||||
optionRenderer={this.renderOption}
|
optionRenderer={this.renderOption}
|
||||||
values={this.state.values}
|
values={this.state.values}
|
||||||
|
|||||||
@@ -17,14 +17,6 @@ export default class MultiSelect extends React.Component {
|
|||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
||||||
this.onChange = this.onChange.bind(this);
|
|
||||||
this.onSelect = this.onSelect.bind(this);
|
|
||||||
this.onAdd = this.onAdd.bind(this);
|
|
||||||
this.onInput = this.onInput.bind(this);
|
|
||||||
this.handleEnterPress = this.handleEnterPress.bind(this);
|
|
||||||
this.nextPage = this.nextPage.bind(this);
|
|
||||||
this.prevPage = this.prevPage.bind(this);
|
|
||||||
|
|
||||||
this.selected = null;
|
this.selected = null;
|
||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
@@ -41,7 +33,7 @@ export default class MultiSelect extends React.Component {
|
|||||||
document.removeEventListener('keydown', this.handleEnterPress);
|
document.removeEventListener('keydown', this.handleEnterPress);
|
||||||
}
|
}
|
||||||
|
|
||||||
nextPage() {
|
nextPage = () => {
|
||||||
if (this.props.handlePageChange) {
|
if (this.props.handlePageChange) {
|
||||||
this.props.handlePageChange(this.state.page + 1, this.state.page);
|
this.props.handlePageChange(this.state.page + 1, this.state.page);
|
||||||
}
|
}
|
||||||
@@ -49,7 +41,7 @@ export default class MultiSelect extends React.Component {
|
|||||||
this.setState({page: this.state.page + 1});
|
this.setState({page: this.state.page + 1});
|
||||||
}
|
}
|
||||||
|
|
||||||
prevPage() {
|
prevPage = () => {
|
||||||
if (this.state.page === 0) {
|
if (this.state.page === 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -61,11 +53,15 @@ export default class MultiSelect extends React.Component {
|
|||||||
this.setState({page: this.state.page - 1});
|
this.setState({page: this.state.page - 1});
|
||||||
}
|
}
|
||||||
|
|
||||||
onSelect(selected) {
|
resetPaging = () => {
|
||||||
|
this.setState({page: 0});
|
||||||
|
}
|
||||||
|
|
||||||
|
onSelect = (selected) => {
|
||||||
this.selected = selected;
|
this.selected = selected;
|
||||||
}
|
}
|
||||||
|
|
||||||
onAdd(value) {
|
onAdd = (value) => {
|
||||||
if (this.props.maxValues && this.props.values.length >= this.props.maxValues) {
|
if (this.props.maxValues && this.props.values.length >= this.props.maxValues) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -83,7 +79,7 @@ export default class MultiSelect extends React.Component {
|
|||||||
this.refs.select.focus();
|
this.refs.select.focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
onInput(input) {
|
onInput = (input) => {
|
||||||
if (input === '') {
|
if (input === '') {
|
||||||
this.refs.list.setSelected(-1);
|
this.refs.list.setSelected(-1);
|
||||||
} else {
|
} else {
|
||||||
@@ -94,7 +90,7 @@ export default class MultiSelect extends React.Component {
|
|||||||
this.props.handleInput(input);
|
this.props.handleInput(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
handleEnterPress(e) {
|
handleEnterPress = (e) => {
|
||||||
switch (e.keyCode) {
|
switch (e.keyCode) {
|
||||||
case KeyCodes.ENTER:
|
case KeyCodes.ENTER:
|
||||||
if (this.selected == null) {
|
if (this.selected == null) {
|
||||||
@@ -106,7 +102,7 @@ export default class MultiSelect extends React.Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onChange(values) {
|
onChange = (values) => {
|
||||||
if (values.length < this.props.values.length) {
|
if (values.length < this.props.values.length) {
|
||||||
this.props.handleDelete(values);
|
this.props.handleDelete(values);
|
||||||
}
|
}
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user