Показать сообщение отдельно
  #1 (permalink)  
Старый 09.05.2017, 21:25
Новичок на форуме
Отправить личное сообщение для William Blake Посмотреть профиль Найти все сообщения от William Blake
 
Регистрация: 09.05.2017
Сообщений: 5

Добавить hint words в редактор Sumernote без перезагрузки страницы/самого редактора
Есть такой редактор - Summernote, он поддерживает функцию автодополнения слова. Например, вводишь две буквы Ja, под ними появляется pop-up меню с возможными дополнениями слова: Java, Jason, ... и тому подобное. Слова для автодополнения подгружаются из словаря, который нужно задать до инициализации сущности Summernote. Вот простой пример с сайта разработчика:
$(".hint2basic").summernote({
  height: 100,
  toolbar: false,
  placeholder: 'type with apple, orange, watermelon and lemon',
  hint: {
    words: ['apple', 'orange', 'watermelon', 'lemon'],
    match: /\b(\w{1,})$/,
    search: function (keyword, callback) {
      callback($.grep(this.words, function (item) {
        return item.indexOf(keyword) === 0;
      }));
    }
  }
});

(".hint2basic") ищет на странице блок div с классом hint2basic, затем создает сущность summernote. Здесь можно посмотреть пример, как это работает.

Вопрос же следующий: как можно передавать слова в словарь и после инициализации Summernote? То есть, например, по событию onChange для контента внутри Summernote мне от сервера приходит некоторый массив ["car", "house", "bag"]. И как можно этот словарь подставить вместо ['apple', 'orange', 'watermelon', 'lemon'] без перезагрузки страницы/редактора? То есть, как сделать так, чтобы редактор подхватывал то, что приходит от сервера?

Пробовал по событию onChange вызывать $('#editor').summernote('destroy'); - уничтожает текущую сущность Summernote, затем инициализировал новую с уже полученным словарем, но в данном случае проблема в том, что скрипт при каждом изменении контента внутри Summernote уничтожает его и создает новый, что делает работу с редактором невозможной.

Если же имеется какой-то более удобный редактор, поддерживающий, как минимум, функционал Summernote и упрощающий реализацию того, что мне нужно — с удовольствием ознакомлюсь с предложениями.
Ответить с цитированием