FIX: Close autocomplete is term is blank.

This commit is contained in:
Guo Xiang Tan 2016-02-10 19:47:45 +08:00
parent 39aaa181e1
commit c7186b1403

View file

@ -242,6 +242,15 @@ export default function(options) {
});
};
const dataSource = (term, opts) => {
if (term.length !== 0 && term.trim().length === 0) {
closeAutocomplete();
return null;
} else {
return opts.dataSource(term);
}
};
var updateAutoComplete = function(r) {
if (completeStart === null) return;
@ -304,13 +313,13 @@ export default function(options) {
var prevChar = me.val().charAt(caretPosition - 1);
if (checkTriggerRule() && (!prevChar || allowedLettersRegex.test(prevChar))) {
completeStart = completeEnd = caretPosition;
updateAutoComplete(options.dataSource(""));
updateAutoComplete(dataSource("", options));
}
} else if ((completeStart !== null) && (e.charCode !== 0)) {
caretPosition = Discourse.Utilities.caretPosition(me[0]);
term = me.val().substring(completeStart + (options.key ? 1 : 0), caretPosition);
term += String.fromCharCode(e.charCode);
updateAutoComplete(options.dataSource(term));
updateAutoComplete(dataSource(term, options));
}
});
@ -360,7 +369,7 @@ export default function(options) {
completeStart = c;
caretPosition = completeEnd = initial;
term = me[0].value.substring(c + 1, initial);
updateAutoComplete(options.dataSource(term));
updateAutoComplete(dataSource(term, options));
return true;
}
}
@ -444,7 +453,7 @@ export default function(options) {
closeAutocomplete();
}
updateAutoComplete(options.dataSource(term));
updateAutoComplete(dataSource(term, options));
return true;
default:
completeEnd = caretPosition;