lib/para/markup/modal.rb in para-0.11.4 vs lib/para/markup/modal.rb in para-0.12.0
- old
+ new
@@ -1,48 +1,63 @@
module Para
module Markup
class Modal < Para::Markup::Component
def container(options = {}, &block)
- merge_class!(options, "modal")
- merge_class!(options, "fade") unless options.delete(:fade) == false
- merge_class!(options, "in") if options.delete(:displayed)
+ merge_class!(options, 'modal')
+ merge_class!(options, 'fade') unless options.delete(:fade) == false
+ merge_class!(options, 'in') if options.delete(:displayed)
options.reverse_merge!(
- tabindex: "-1", role: "dialog", "aria-hidden" => "true", "aria-labelledby" => (options[:id] || "modal")
+ tabindex: '-1',
+ role: 'dialog',
+ 'aria-hidden' => 'true',
+ 'aria-labelledby' => options[:id]
)
+ options[:data] ||= {}
+ options[:data]['para-admin-modal-target'] ||= 'modal'
+
content_tag(:div, options) do
- content_tag(:div, class: "modal-dialog") do
- content_tag(:div, class: "modal-content") do
- capture { block.call(self) }
+ content_tag(:div, class: 'modal-dialog') do
+ content_tag(:div, class: 'modal-content') do
+ content_tag(:div, class: 'modal-inner') do
+ capture { block.call(self) }
+ end
end
end
end
end
def header(options = {}, &block)
- merge_class!(options, "modal-header")
+ merge_class!(options, 'modal-header')
content_tag(:div, options) do
- content_tag(:button, "×".html_safe, class: "close", type: "button",
- "data-dismiss" => "modal", "aria-hidden" => "true"
+ content_tag(
+ :button,
+ '×'.html_safe,
+ class: 'close',
+ type: 'button',
+ 'aria-hidden' => 'true',
+ data: {
+ action: 'click->para-admin-modal#closeModal'
+ }
) +
- content_tag(:h4, class: "modal-title") do
- capture { block.call }
- end
+ content_tag(:h4, class: 'modal-title') do
+ capture { block.call }
+ end
end
end
def body(options = {}, &block)
- merge_class!(options, "modal-body")
+ merge_class!(options, 'modal-body')
content_tag(:div, options) do
capture { block.call }
end
end
def footer(options = {}, &block)
- merge_class!(options, "modal-footer")
+ merge_class!(options, 'modal-footer')
content_tag(:div, options) do
capture { block.call }
end
end