Sha256: 7706c92c44b1d0ff5e78385dc0968d2076b28b7dac1099b277210876dec76ac8

Contents?: true

Size: 1.12 KB

Versions: 2

Compression:

Stored size: 1.12 KB

Contents

// = require quill.min
// = require_self

$(document).on('turbolinks:load', () => {
  $(() => {
    const $container = $('.editor-container');
    const quillFormats = ['bold', 'italic', 'link', 'underline', 'header', 'list'];

    $container.each((idx, container) => {
      const toolbar = $(container).data('toolbar');

      let quillToolbar = [
        ['bold', 'italic', 'underline'],
        [{ list: 'ordered' }, { list: 'bullet' }],
        ['link', 'clean']
      ];

      if (toolbar === 'full') {
        quillToolbar = [
          [{ header: [1, 2, 3, 4, 5, 6, false] }],
          ...quillToolbar
        ];
      }

      const $input = $(container).siblings('input[type="hidden"]');
      const quill = new Quill(container, {
        modules: {
          toolbar: quillToolbar
        },
        formats: quillFormats,
        theme: 'snow'
      });

      quill.on('text-change', () => {
        const text = quill.getText();
        if (text === '\n') {
          $input.val('');
        } else {
          $input.val(quill.root.innerHTML);
        }
      });

      quill.root.innerHTML = $input.val();
    });
  });
});

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
decidim-core-0.0.2 app/assets/javascripts/decidim/editor.js.es6
decidim-core-0.0.1 app/assets/javascripts/decidim/editor.js.es6