UX: Trigger autocompleter only for specific characters.

This commit is contained in:
Guo Xiang Tan 2015-10-17 00:04:34 +08:00
parent 3053d48671
commit f835a0ba22
1 changed files with 4 additions and 2 deletions

View File

@ -6,6 +6,8 @@
export var CANCELLED_STATUS = "__CANCELLED";
const allowedLettersRegex = /[\s\t\[\{\(]/;
var keys = {
backSpace: 8,
tab: 9,
@ -287,7 +289,7 @@ export default function(options) {
if (options.key && e.which === options.key.charCodeAt(0)) {
caretPosition = Discourse.Utilities.caretPosition(me[0]);
var prevChar = me.val().charAt(caretPosition - 1);
if (!prevChar || /[^\w\)\]]/.test(prevChar)) {
if (!prevChar || allowedLettersRegex.test(prevChar)) {
completeStart = completeEnd = caretPosition;
updateAutoComplete(options.dataSource(""));
}
@ -341,7 +343,7 @@ export default function(options) {
stopFound = prev === options.key;
if (stopFound) {
prev = me[0].value[c - 1];
if (!prev || /[^\w\)\]]/.test(prev)) {
if (!prev || allowedLettersRegex.test(prev)) {
completeStart = c;
caretPosition = completeEnd = initial;
term = me[0].value.substring(c + 1, initial);