class EasyModalWindow::Dialog
Constants
- ALLOWED_OPTIONS
Attributes
modal_options[R]
Public Class Methods
new(args)
click to toggle source
# File lib/easy_modal_window.rb, line 13 def initialize(args) @modal_options = {} @modal_options[:window_selector] = '#ajax-modal' @modal_options[:title_selector] = 'h3.title' @modal_options[:render_template] = nil @modal_options[:render_partial] = nil @modal_options[:locals] = {} @modal_options[:formats] = [:html] @modal_options[:resizable] = true @modal_options[:height] = 'auto' @modal_options[:width] = 'auto' # hash with button descriptions: {first_button: {name: 'Name', # condition: -> {...}, # action: 'location.reload();', # class: 'my-css-class'}, # second_button: ...} @modal_options[:buttons] = {} # dialog callbacks # {condition: ->{...}, action: '...'} @modal_options[:before_close] = {} # options for result templates @modal_options[:success_message] = 'All right' @modal_options[:object] = nil @modal_options[:container_class] = '' @modal_options[:element_class] = '' @modal_options[:errors_group_class] = '' @modal_options.merge!(args.slice(*EasyModalWindow::Dialog::ALLOWED_OPTIONS)) end
Public Instance Methods
before_close()
click to toggle source
TODO: simplify this method
# File lib/easy_modal_window.rb, line 53 def before_close result = {} if @modal_options[:before_close].has_key?(:action) && @modal_options[:before_close][:action].present? result[:action] = @modal_options[:before_close][:action] else result[:condition] = false result[:action] = '' return result end result[:condition] = @modal_options[:before_close][:condition].nil? || value_of(@modal_options[:before_close][:condition]) result end
Private Instance Methods
value_of(var)
click to toggle source
# File lib/easy_modal_window.rb, line 84 def value_of(var) var.is_a?(Proc) ? var.call : var end