Fixed bug replacing full input value

This commit is contained in:
Phil Hughes 2017-01-19 18:43:38 +00:00
parent ab1b8d5035
commit a4789db98e
2 changed files with 9 additions and 6 deletions

View file

@ -89,9 +89,15 @@
static getInputSelectionPosition(input) {
const inputValue = input.value;
const selectionStart = input.selectionStart;
const left = inputValue.slice(0, selectionStart + 1).search(/\S+$/);
let left = inputValue.slice(0, selectionStart + 1).search(/\S+$/);
const right = inputValue.slice(selectionStart).search(/\s/);
if (selectionStart === 0) {
left = 0;
} else if (selectionStart === inputValue.length && left < 0) {
left = inputValue.length;
}
return {
left,
right,

View file

@ -62,16 +62,13 @@
// Get the string to replace
const selectionStart = input.selectionStart;
let { left, right } = gl.DropdownUtils.getInputSelectionPosition(input);
const { left } = gl.DropdownUtils.getInputSelectionPosition(input);
let { right } = gl.DropdownUtils.getInputSelectionPosition(input);
if (right < 0) {
right = inputValue.length;
}
if (left < 0) {
left += 1;
}
input.value = `${inputValue.substr(0, left)}${word}${inputValue.substr(right + selectionStart)}`;
gl.FilteredSearchDropdownManager.updateInputCaretPosition(selectionStart, input);
}