class Para::Markup::Modal

Public Instance Methods

body(options = {}, &block) click to toggle source
# File lib/para/markup/modal.rb, line 50
def body(options = {}, &block)
  merge_class!(options, 'modal-body')

  content_tag(:div, options) do
    capture { block.call }
  end
end
container(options = {}, &block) click to toggle source
# File lib/para/markup/modal.rb, line 4
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)

  options.reverse_merge!(
    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
        content_tag(:div, class: 'modal-inner') do
          capture { block.call(self) }
        end
      end
    end
  end
end
header(options = {}, &block) click to toggle source
# File lib/para/markup/modal.rb, line 30
def header(options = {}, &block)
  merge_class!(options, 'modal-header')

  content_tag(:div, options) do
    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
  end
end