Автозаполнение Tinymce делает не чувствительным к регистру - PullRequest
1 голос
/ 15 апреля 2020

Я использую плагин tinymce, автозаполнение для вывода списка значений и замены текста следующим образом:

        setup: function (editor) {
            /* An autocompleter that allows you to insert special characters */
            editor.ui.registry.addAutocompleter('text_responses', {
              ch: '/',
              minChars: 1,
              columns: 'auto',
              fetch: function (pattern) {
                var matchedChars = text_responses.filter(function (char) {
                  return char.name.indexOf(pattern) !== -1;
                });

                return new tinymce.util.Promise(function (resolve) {
                  var results = matchedChars.map(function (char) {
                    return {
                      value: char.replacement,
                      text: char.name,
                      icon: char.name
                    }
                  });
                  resolve(results);
                });
              },
              onAction: function (autocompleteApi, rng, value) {
                editor.selection.setRng(rng);
                editor.insertContent(value);
                autocompleteApi.hide();
              }
            });
        }

Мой массив значений в text_responses содержит фразы, которые начинаются с прописной буквы, но я хочу разрешить выше искать, используя как верхний, так и нижний регистр.

Я пытался добавить .toLowerCase() на char.name и pattern, но ни один из них не работал.

1 Ответ

2 голосов
/ 19 апреля 2020

Вам просто нужно прописать pattern и char.name.

var matchedChars = text_responses.filter(function (char) {
  return char.name.toLowerCase().indexOf(pattern.toLowerCase()) !== -1;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...