Class: Symphonia::ApplicationHelper::SymphoniaModalDialog
- Defined in:
- app/helpers/symphonia/application_helper.rb
Overview
def render_modal_dialog(show = true, options = {}, &block)
= SymphoniaModalDialog.new(self, )
yield if block_given?
html = .to_html
if show
"$('##{.modal_id}').remove();$('body').append('#{j html}'); showModal('##{.modal_id}');".html_safe
else
html
end
end
Instance Attribute Summary collapse
- #body(&block) ⇒ Object
- #footer(&block) ⇒ Object
-
#modal_id ⇒ Object
readonly
Returns the value of attribute modal_id.
-
#size ⇒ Object
Returns the value of attribute size.
-
#title ⇒ Object
Returns the value of attribute title.
Instance Method Summary collapse
- #header(&block) ⇒ Object
-
#initialize(controller, options = {}) ⇒ SymphoniaModalDialog
constructor
A new instance of SymphoniaModalDialog.
- #submit(name = nil, options = {}) ⇒ Object
- #to_html ⇒ Object
Constructor Details
#initialize(controller, options = {}) ⇒ SymphoniaModalDialog
Returns a new instance of SymphoniaModalDialog.
323 324 325 326 327 328 329 |
# File 'app/helpers/symphonia/application_helper.rb', line 323 def initialize(controller, = {}) @c = controller @title = .delete(:title) @modal_id = .delete(:id) || 'modal-dialog' @form_options = .delete(:form_options) || {} @options = end |
Instance Attribute Details
#body(&block) ⇒ Object
354 355 356 357 358 359 360 |
# File 'app/helpers/symphonia/application_helper.rb', line 354 def body(&block) if block_given? @body = @c.capture(&block) else @body = (@body.is_a?(Proc) ? @body.call.to_s : @body.to_s) end end |
#footer(&block) ⇒ Object
362 363 364 365 366 367 368 |
# File 'app/helpers/symphonia/application_helper.rb', line 362 def (&block) if block_given? @footer = @c.capture(&block) else @footer = (@footer.is_a?(Proc) ? @footer.call.to_s : @footer.to_s) end end |
#modal_id ⇒ Object (readonly)
Returns the value of attribute modal_id.
319 320 321 |
# File 'app/helpers/symphonia/application_helper.rb', line 319 def modal_id @modal_id end |
#size ⇒ Object
Returns the value of attribute size.
321 322 323 |
# File 'app/helpers/symphonia/application_helper.rb', line 321 def size @size end |
#title ⇒ Object
Returns the value of attribute title.
319 320 321 |
# File 'app/helpers/symphonia/application_helper.rb', line 319 def title @title end |
Instance Method Details
#header(&block) ⇒ Object
346 347 348 349 350 351 352 |
# File 'app/helpers/symphonia/application_helper.rb', line 346 def header(&block) if block_given? @header = @c.capture(&block) else @header = (@header.is_a?(Proc) ? @header.call.to_s : @header.to_s) end end |
#submit(name = nil, options = {}) ⇒ Object
370 371 372 373 |
# File 'app/helpers/symphonia/application_helper.rb', line 370 def submit(name = nil, = {}) name ||= @c.t(:button_save) @footer = .to_s + @c.link_to(name, 'javascript:void(0)', { onclick: "$('##{@modal_id}').find('form').submit()", class: 'btn btn-primary' }.merge()).html_safe end |
#to_html ⇒ Object
333 334 335 336 337 338 339 340 341 342 343 344 |
# File 'app/helpers/symphonia/application_helper.rb', line 333 def to_html html = "<div id='#{@modal_id}' style='' class='modal fade' role='dialog'><div class='modal-dialog #{'modal-lg' if size.present?}'><div class='modal-content'>" html << @c.content_tag(:div, class: 'modal-header') do @c.content_tag(:button, '', class: 'close fa fa-times', data: { dismiss: 'modal' }, 'aria-hidden' => true) + @c.content_tag(:h4, @title, class: 'modal-title') + @header.to_s end content = @c.content_tag(:div, @c.content_tag(:div, body.html_safe, class: 'modal-content-inner-container container-fluid'), class: 'modal-body') content << @c.content_tag(:div, .html_safe, class: 'modal-footer') html << content.html_safe html << '</div></div></div>' html.html_safe end |