PLT-4459 Fixed not being able to scroll on mobile after autocomplete is shown (#4464)

* Fixed not being able to scroll on mobile after autocomplete is shown

* Fixed SuggestionLists not being scrollable on iOS
Этот коммит содержится в:
Harrison Healey
2016-11-04 19:11:40 -04:00
коммит произвёл GitHub
родитель 18745b2d5c
Коммит 428444d185
5 изменённых файлов: 10 добавлений и 17 удалений

Просмотреть файл

@@ -31,7 +31,7 @@ export default class SuggestionBox extends React.Component {
}
componentDidMount() {
$(document).on('click touchstart', this.handleDocumentClick);
$(document).on('click', this.handleDocumentClick);
SuggestionStore.addCompleteWordListener(this.suggestionId, this.handleCompleteWord);
SuggestionStore.addPretextChangedListener(this.suggestionId, this.handlePretextChanged);
@@ -42,7 +42,7 @@ export default class SuggestionBox extends React.Component {
SuggestionStore.removePretextChangedListener(this.suggestionId, this.handlePretextChanged);
SuggestionStore.unregisterSuggestionBox(this.suggestionId);
$(document).off('click touchstart', this.handleDocumentClick);
$(document).off('click', this.handleDocumentClick);
}
getTextbox() {
@@ -60,14 +60,14 @@ export default class SuggestionBox extends React.Component {
}
handleDocumentClick(e) {
const container = $(ReactDOM.findDOMNode(this));
if ($('.suggestion-list__content').length) {
if (!($(e.target).hasClass('suggestion-list__content') || $(e.target).parents().hasClass('suggestion-list__content'))) {
$('body').removeClass('modal-open');
}
if (!SuggestionStore.hasSuggestions(this.suggestionId)) {
return;
}
const container = $(ReactDOM.findDOMNode(this));
if (!(container.is(e.target) || container.has(e.target).length > 0)) {
// we can't just use blur for this because it fires and hides the children before
// We can't just use blur for this because it fires and hides the children before
// their click handlers can be called
GlobalActions.emitClearSuggestions(this.suggestionId);
}

Просмотреть файл

@@ -52,7 +52,6 @@ export default class SuggestionList extends React.Component {
}
getContent() {
$('body').addClass('modal-open');
return $(ReactDOM.findDOMNode(this.refs.content));
}