Sha256: ce3365340a492480c8788d974f7052f8f687377d2097892fa79da7e27cec78ac

Contents?: true

Size: 999 Bytes

Versions: 1

Compression:

Stored size: 999 Bytes

Contents

require 'action_view'
module Aloha
  module Rails

    module Helpers
      def aloha_script_tag(options={})
        options = {
          type: 'text/javascript',
          src: '/assets/aloha/lib/aloha.js',
          plugins: Aloha::Rails.default_plugins,
          extra_plugins: []
        }.update(options)

        plugins = options.delete(:plugins) || []
        plugins += options.delete(:extra_plugins)

        if plugins.any?
          options[:data] = {
            'aloha-plugins' => plugins.join(',') 
          }
        end

        content_tag :script, nil, options
      end


      def aloha_setup
        js = <<-JS
        Aloha.ready(function() { 
          Aloha.require(Aloha.settings.modules, function(Aloha, $) {
            Aloha.onReady();
            $(Aloha.settings.editables).aloha();
          });
        });
        JS
        javascript_tag js
      end

      def aloha!(options = {})
        aloha_script_tag(options) + aloha_setup
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aloha-rails-0.0.1 lib/aloha-rails/helpers.rb