module ActiveScaffold::Bridges::TinyMce::Helpers::FormColumnHelpers
Public Class Methods
included(base)
click to toggle source
# File lib/active_scaffold/bridges/tiny_mce/helpers.rb, line 11 def self.included(base) base.alias_method_chain :onsubmit, :tiny_mce end
Public Instance Methods
active_scaffold_input_text_editor(column, options)
click to toggle source
The two column options that can be set specifically for the text_editor input is :tinymce, which overrides single values in the tinymce config. E.g. column.options = {theme: 'other'} will change the theme but not the plugins, toolbars etc. The other one is :tinymce_config, which selects the config to use from tinymce.yml. See the tinymce-rails gem documentation for usage.
# File lib/active_scaffold/bridges/tiny_mce/helpers.rb, line 21 def active_scaffold_input_text_editor(column, options) options[:class] = "#{options[:class]} mceEditor #{column.options[:class]}".strip settings = tinymce_configuration(column.options[:tinymce_config] || :default).options. reject{|k,v| k =='selector'}. merge(column.options[:tinymce] || {}) settings = settings.to_json settings = "tinyMCE.settings = #{settings};" html = [] html << send(override_input(:textarea), column, options) html << javascript_tag(settings + "tinyMCE.execCommand('mceAddEditor', false, '#{options[:id]}');") if request.xhr? || params[:iframe] html.join "\n" end
Also aliased as: active_scaffold_input_tinymce
active_scaffold_input_tinymce(column, options)
The implementation is very tinymce specific, so it makes sense allowing :form_ui to be :tinymce as well
Alias for: active_scaffold_input_text_editor
onsubmit_with_tiny_mce()
click to toggle source
# File lib/active_scaffold/bridges/tiny_mce/helpers.rb, line 36 def onsubmit_with_tiny_mce case ActiveScaffold.js_framework when :jquery submit_js = 'tinyMCE.triggerSave();jQuery(\textarea.mceEditor\).each(function(index, elem) { tinyMCE.execCommand(\mceRemoveEditor\, false, jQuery(elem).attr(\id\)); });' when :prototype submit_js = 'tinyMCE.triggerSave();this.select(\textarea.mceEditor\).each(function(elem) { tinyMCE.execCommand(\mceRemoveEditor\, false, elem.id); });' end [onsubmit_without_tiny_mce, submit_js].compact.join ';' end