Как добавить счетчик персонажей в свой проект Quill? - PullRequest
0 голосов
/ 21 декабря 2018

Так что мне пришлось сделать интерфейс Quill для назначения.Должен быть счетчик для слов, но я обнаружил, что мне также нужен счетчик для всех символов.Итак, как лучше всего добавить этот счетчик символов в мой проект.

    class Counter {
      constructor(quill, options) {
        this.quill = quill;
        this.options = options;
        this.container = document.querySelector(options.container);
        quill.on('text-change', this.update.bind(this));
        this.update();  // Account for initial contents
      }

      calculate() {
        let text = this.quill.getText();
        if (this.options.unit === 'word') {
          text = text.trim();
          // Splitting empty text returns a non-empty array
          return text.length > 0 ? text.split(/\s+/).length : 0;
        } else {
          return text.length;
        }
      }

      update() {
        var length = this.calculate();
        var label = this.options.unit;
        if (length !== 1) {
          label += 's';
        }
        this.container.innerText = length + ' ' + label;
      }
    }

    Quill.register('modules/counter', Counter);

    var quill = new Quill('#editor', {
      modules: {
        toolbar: toolbarOptions,
        counter: {
          container: '#counter',
          unit: 'word'
        }
      },
        theme: 'snow'
    });

1 Ответ

0 голосов
/ 16 марта 2019

В руководстве есть руководство по написанию модуля, который считает слова или символы в зависимости от параметра конфигурации: https://quilljs.com/guides/building-a-custom-module/#using-options

var quill = new Quill('#editor', {
  modules: {
    counter: {
      container: '#counter',
      unit: 'character'
    }
  }
});

Демо: https://codepen.io/anon/pen/vPRoor

...