Module: ModalStack::Helpers::ModalStackContainerHelper
- Defined in:
- lib/modal_stack/helpers/modal_stack_container_helper.rb
Overview
Wraps the layout content in the panel structure expected by the JS runtime. The layout ‘modal.html.erb` typically reads:
<%= modal_stack_container size: :md, dismissible: true do %>
<%= yield %>
<% end %>
Constant Summary collapse
- DEFAULT_SIZE =
:md
Instance Method Summary collapse
Instance Method Details
#modal_stack_container(size: DEFAULT_SIZE, dismissible: true, variant: :modal, side: nil, width: nil, height: nil, html: {}) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/modal_stack/helpers/modal_stack_container_helper.rb', line 15 def modal_stack_container(size: DEFAULT_SIZE, dismissible: true, variant: :modal, side: nil, width: nil, height: nil, html: {}, &) classes = ["modal-stack__panel", "modal-stack__panel--#{variant}", "modal-stack__panel--size-#{size}"] classes << "modal-stack__panel--side-#{side}" if side attrs = { class: [classes, html[:class]].compact.join(" "), data: { modal_stack_size: size, modal_stack_variant: variant, modal_stack_dismissible: dismissible.to_s, modal_stack_side: side, modal_stack_width: width, modal_stack_height: height }.merge(html.fetch(:data, {})).compact }.merge(html.except(:class, :data)) content_tag(:div, capture(&), **attrs) end |