Skip to content
Snippets Groups Projects
Commit ac080c63 authored by Phil Hughes's avatar Phil Hughes
Browse files

Opens dropdown correctly

parent 79659b30
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -37,7 +37,7 @@
}
 
getSearchInput() {
const query = this.input.value.trim();
const query = gl.DropdownUtils.getSearchInput(this.input).trim();
const { lastToken } = gl.FilteredSearchTokenizer.processTokens(query);
 
return lastToken.value || '';
Loading
Loading
Loading
Loading
@@ -72,6 +72,18 @@
// Return boolean based on whether it was set
return dataValue !== null;
}
static getSearchInput(filteredSearchInput) {
const selectionStart = filteredSearchInput.selectionStart;
const inputValue = filteredSearchInput.value;
const rightPos = inputValue.slice(selectionStart).search(/\s/);
if (rightPos < 0) {
return inputValue;
}
return inputValue.slice(0, rightPos + selectionStart + 1).trim();
}
}
 
window.gl = window.gl || {};
Loading
Loading
Loading
Loading
@@ -59,7 +59,8 @@
const input = document.querySelector('.filtered-search');
const word = `${tokenName}:${tokenValue}`;
 
const { lastToken, searchToken } = gl.FilteredSearchTokenizer.processTokens(input.value);
const inputValue = gl.DropdownUtils.getSearchInput(input).trim();
const { lastToken, searchToken } = gl.FilteredSearchTokenizer.processTokens(inputValue);
const lastSearchToken = searchToken.split(' ').last();
const lastInputCharacter = input.value[input.value.length - 1];
const lastInputTrimmedCharacter = input.value.trim()[input.value.trim().length - 1];
Loading
Loading
@@ -92,7 +93,7 @@
 
const filterIconPadding = 27;
const offset = gl.text
.getTextWidth(this.getSearchInput(), this.font) + filterIconPadding;
.getTextWidth(gl.DropdownUtils.getSearchInput(this.filteredSearchInput).trim(), this.font) + filterIconPadding;
 
this.mapping[key].reference.setOffset(offset);
}
Loading
Loading
@@ -148,7 +149,7 @@
 
setDropdown() {
const { lastToken, searchToken } = this.tokenizer
.processTokens(this.getSearchInput());
.processTokens(gl.DropdownUtils.getSearchInput(this.filteredSearchInput));
 
if (this.filteredSearchInput.value.split('').last() === ' ') {
this.updateCurrentDropdownOffset();
Loading
Loading
@@ -169,18 +170,6 @@
}
}
 
getSearchInput() {
const selectionStart = this.filteredSearchInput.selectionStart;
const inputValue = this.filteredSearchInput.value;
const rightPos = inputValue.slice(selectionStart).search(/\s/);
if (rightPos < 0) {
return inputValue;
}
return inputValue.slice(0, rightPos + selectionStart + 1).trim();
}
resetDropdowns() {
// Force current dropdown to hide
this.mapping[this.currentDropdown].reference.hideDropdown();
Loading
Loading
Loading
Loading
@@ -30,12 +30,13 @@
this.checkForEnterWrapper = this.checkForEnter.bind(this);
this.clearSearchWrapper = this.clearSearch.bind(this);
this.checkForBackspaceWrapper = this.checkForBackspace.bind(this);
this.showOnClick = this.showOnClick.bind(this);
 
this.filteredSearchInput.addEventListener('input', this.setDropdownWrapper);
this.filteredSearchInput.addEventListener('input', this.toggleClearSearchButtonWrapper);
this.filteredSearchInput.addEventListener('keydown', this.checkForEnterWrapper);
this.filteredSearchInput.addEventListener('keyup', this.checkForBackspaceWrapper);
this.filteredSearchInput.addEventListener('click', this.setDropdownWrapper);
this.filteredSearchInput.addEventListener('click', this.showOnClick);
this.clearSearchButton.addEventListener('click', this.clearSearchWrapper);
}
 
Loading
Loading
@@ -44,6 +45,7 @@
this.filteredSearchInput.removeEventListener('input', this.toggleClearSearchButtonWrapper);
this.filteredSearchInput.removeEventListener('keydown', this.checkForEnterWrapper);
this.filteredSearchInput.removeEventListener('keyup', this.checkForBackspaceWrapper);
this.filteredSearchInput.removeEventListener('click', this.showOnClick);
this.clearSearchButton.removeEventListener('click', this.clearSearchWrapper);
}
 
Loading
Loading
@@ -189,6 +191,13 @@
}
return usernamesById;
}
showOnClick() {
const currentDropdownRef = this.dropdownManager.mapping[this.dropdownManager.currentDropdown].reference;
this.setDropdownWrapper();
currentDropdownRef.dispatchInputEvent();
}
}
 
window.gl = window.gl || {};
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment