Class: Symphonia::ApplicationHelper::SymphoniaModalDialog
- Inherits:
-
Object
- Object
- Symphonia::ApplicationHelper::SymphoniaModalDialog
- Defined in:
- app/helpers/symphonia/application_helper.rb
Overview
def render_modal_dialog(show = true, options = {}, &block)
tags = SymphoniaModalDialog.new(self, options)
yield tags if block_given?
html = tags.to_html
if show
"$('##{tags.modal_id}').remove();$('body').append('#{j html}'); showModal('##{tags.modal_id}');".html_safe
else
html
end
end
Instance Attribute Summary collapse
- #body ⇒ Object
- #footer ⇒ 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 ⇒ 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.
333 334 335 336 337 338 339 |
# File 'app/helpers/symphonia/application_helper.rb', line 333 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 ⇒ Object
364 365 366 367 368 369 370 |
# File 'app/helpers/symphonia/application_helper.rb', line 364 def body(&) @body = if block_given? @c.capture(&) else (@body.is_a?(Proc) ? @body.call.to_s : @body.to_s) end end |
#footer ⇒ Object
372 373 374 375 376 377 378 |
# File 'app/helpers/symphonia/application_helper.rb', line 372 def (&) @footer = if block_given? @c.capture(&) else (@footer.is_a?(Proc) ? @footer.call.to_s : @footer.to_s) end end |
#modal_id ⇒ Object (readonly)
Returns the value of attribute modal_id.
331 332 333 |
# File 'app/helpers/symphonia/application_helper.rb', line 331 def modal_id @modal_id end |
#size ⇒ Object
Returns the value of attribute size.
330 331 332 |
# File 'app/helpers/symphonia/application_helper.rb', line 330 def size @size end |
#title ⇒ Object
Returns the value of attribute title.
330 331 332 |
# File 'app/helpers/symphonia/application_helper.rb', line 330 def title @title end |
Instance Method Details
#header ⇒ Object
356 357 358 359 360 361 362 |
# File 'app/helpers/symphonia/application_helper.rb', line 356 def header(&) @header = if block_given? @c.capture(&) else (@header.is_a?(Proc) ? @header.call.to_s : @header.to_s) end end |
#submit(name = nil, options = {}) ⇒ Object
380 381 382 383 |
# File 'app/helpers/symphonia/application_helper.rb', line 380 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
343 344 345 346 347 348 349 350 351 352 353 354 |
# File 'app/helpers/symphonia/application_helper.rb', line 343 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.tag.div(class: "modal-header") do @c.tag.("", :class => "close fa fa-times", :data => { dismiss: "modal" }, "aria-hidden" => true) + @c.tag.h4(@title, class: "modal-title") + @header.to_s end content = @c.tag.div(@c.tag.div(body.html_safe, class: "modal-content-inner-container container-fluid"), class: "modal-body") content << @c.tag.div(.html_safe, class: "modal-footer") html << content.html_safe html << "</div></div></div>" html.html_safe end |