Sha256: 6035a3b67f2f0909d5ba78eee67bd9a5d742500cc8a19ef4bdcabb13d0b7d5c3

Contents?: true

Size: 1.46 KB

Versions: 1

Compression:

Stored size: 1.46 KB

Contents

module Cms::Fortress::SprocketHelper
  include TinyMCE::Rails::Helper

  def tinymce_init
    path = File.join(Rails.root, 'config', 'tinymce.yml')
    if File.exist?(path)
      config = YAML.load_file(path)
    else
      config = {}
    end

    options = {
      menubar: "tools format view",
      toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | table | fullscreen code | image fmedia link",
      toolbar2: "",
      plugins: ["code", "fullscreen", "media", "link", "table"],
      language: "en"
    }.stringify_keys.merge(config)

  <<-EOF
  tinymce.init({
      #{configuration_from_options(options)},
      selector: 'textarea[data-cms-rich-text]',
      link_list: CmsFortress.media.othersUrl(),
      setup: function(ed) {
        ed.addButton('image', {
          title: 'Insert Image',
          onclick: function() {
            return CmsFortress.media.showImageDialog(ed);
          }
        });
        return ed.addButton('fmedia', {
          tooltip: 'Insert Video',
          icon: 'media',
          stateSelector: ['img[data-mce-object=video]', 'img[data-mce-object=iframe]'],
          onclick: function() {
            return CmsFortress.media.showVideoDialog(ed);
          }
        });
      }
    });
  EOF
  end

  private

  def configuration_from_options(options)
    options.map do |k, v|
      v.is_a?(Array) ? "#{k}: #{v}" : "#{k}: '#{v}'"
    end.join(',')
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cms-fortress-1.3.0.rc3 app/helpers/cms/fortress/sprocket_helper.rb