提交 79659b30 编写于 作者: P Phil Hughes

Filtered search input click back at token

Allows the user to click back around the filtered search input to change the previously searched terms
上级 0ef587b6
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
const filterIconPadding = 27; const filterIconPadding = 27;
const offset = gl.text const offset = gl.text
.getTextWidth(this.filteredSearchInput.value, this.font) + filterIconPadding; .getTextWidth(this.getSearchInput(), this.font) + filterIconPadding;
this.mapping[key].reference.setOffset(offset); this.mapping[key].reference.setOffset(offset);
} }
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
setDropdown() { setDropdown() {
const { lastToken, searchToken } = this.tokenizer const { lastToken, searchToken } = this.tokenizer
.processTokens(this.filteredSearchInput.value); .processTokens(this.getSearchInput());
if (this.filteredSearchInput.value.split('').last() === ' ') { if (this.filteredSearchInput.value.split('').last() === ' ') {
this.updateCurrentDropdownOffset(); this.updateCurrentDropdownOffset();
...@@ -169,6 +169,18 @@ ...@@ -169,6 +169,18 @@
} }
} }
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() { resetDropdowns() {
// Force current dropdown to hide // Force current dropdown to hide
this.mapping[this.currentDropdown].reference.hideDropdown(); this.mapping[this.currentDropdown].reference.hideDropdown();
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
this.filteredSearchInput.addEventListener('input', this.toggleClearSearchButtonWrapper); this.filteredSearchInput.addEventListener('input', this.toggleClearSearchButtonWrapper);
this.filteredSearchInput.addEventListener('keydown', this.checkForEnterWrapper); this.filteredSearchInput.addEventListener('keydown', this.checkForEnterWrapper);
this.filteredSearchInput.addEventListener('keyup', this.checkForBackspaceWrapper); this.filteredSearchInput.addEventListener('keyup', this.checkForBackspaceWrapper);
this.filteredSearchInput.addEventListener('click', this.setDropdownWrapper);
this.clearSearchButton.addEventListener('click', this.clearSearchWrapper); this.clearSearchButton.addEventListener('click', this.clearSearchWrapper);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册