Sha256: 12b28630f2e0d0e2c21d1d5a2521556f11aaa34c341bea343c19a5556420d735

Contents?: true

Size: 1.48 KB

Versions: 1

Compression:

Stored size: 1.48 KB

Contents

# frozen_string_literal: true

module Alchemy
  module Tinymce
    mattr_accessor :languages, :plugins

    @@plugins = %w(alchemy_link anchor autoresize charmap code directionality fullscreen hr link paste tabfocus table)
    @@init = {
      skin: 'alchemy',
      width: '100%',
      resize: true,
      autoresize_min_height: '105',
      autoresize_max_height: '480',
      menubar: false,
      statusbar: true,
      toolbar: [
        'bold italic underline | strikethrough subscript superscript | numlist bullist indent outdent | removeformat | fullscreen',
        'pastetext charmap hr | undo redo | alchemy_link unlink anchor | code'
      ],
      fix_list_elements: true,
      convert_urls: false,
      entity_encoding: 'raw',
      paste_as_text: true,
      element_format: 'html',
      branding: false
    }

    class << self
      def init=(settings)
        @@init.merge!(settings)
      end

      def init
        @@init
      end

      def custom_config_contents(page)
        content_definitions_from_elements(page.descendent_element_definitions)
      end

      private

      def content_definitions_from_elements(definitions)
        definitions.collect do |el|
          next if el['contents'].blank?
          contents = el['contents'].select do |c|
            c['settings'] && c['settings']['tinymce'].is_a?(Hash)
          end
          next if contents.blank?
          contents.map { |c| c.merge('element' => el['name']) }
        end.flatten.compact
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
alchemy_cms-4.1.0.beta lib/alchemy/tinymce.rb