Class: UiBibz::Ui::Core::Boxes::Components::CardBody

Inherits:
Component
  • Object
show all
Includes:
UiBibz::Ui::Concerns::HtmlConcern
Defined in:
lib/ui_bibz/ui/core/boxes/components/card_body.rb

Overview

Create a card body

Attributes

  • content - Content of element

  • options - Options of element

  • html_options - Html Options of element

Options

You can add HTML attributes using the html_options. You can pass arguments in options attribute:

Signatures

UiBibz::Ui::Core::Boxes::CardBody.new(content, options = nil, html_options = nil)

UiBibz::Ui::Core::Boxes::CardBody.new(options = nil, html_options = nil) do
  content
end

Examples

UiBibz::Ui::Core::Boxes::CardBody.new.render

UiBibz::Ui::Core::Boxes::CardBody.new do
  'Exemple'
end.render

Constant Summary

Constants inherited from Component

Component::BREAKPOINTS, Component::SIZES, Component::STATUSES

Instance Attribute Summary

Attributes inherited from Component

#content, #html_options, #options

Attributes inherited from Base

#output_buffer

Instance Method Summary collapse

Methods inherited from Component

#render, #tapped?

Methods included from PopoverExtension

#popover_data_html, #tooltip_data_html

Methods included from GlyphExtension

#generate_glyph, #glyph_and_content_html

Methods included from KlassExtension

#exclude_classes, #exclude_classes_in_html_options, #join_classes, #status

Methods inherited from Base

#generate_id, #i18n_set?, #inject_url

Constructor Details

#initialize(content = nil, options = nil, html_options = nil, &block) ⇒ CardBody

See UiBibz::Ui::Core::Component.initialize



41
42
43
44
# File 'lib/ui_bibz/ui/core/boxes/components/card_body.rb', line 41

def initialize(content = nil, options = nil, html_options = nil, &block)
  super
  @items = [@content]
end

Instance Method Details



65
66
67
# File 'lib/ui_bibz/ui/core/boxes/components/card_body.rb', line 65

def link(content = nil, options = nil, html_options = nil, &block)
  @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyLink.new(content, options, html_options, &block).render
end

#pre_renderObject

Render html tag



47
48
49
50
51
52
53
54
55
# File 'lib/ui_bibz/ui/core/boxes/components/card_body.rb', line 47

def pre_render
  if options[:collapse]
     :div, class: join_classes('collapse', show), id: options[:collapse], 'data-bs-parent': "##{options[:parent_collapse]}" do
       :div, @items.join.html_safe, html_options
    end
  else
     :div, @items.join.html_safe, html_options
  end
end

#row(content = nil, options = nil, html_options = nil, &block) ⇒ Object



73
74
75
76
77
78
79
# File 'lib/ui_bibz/ui/core/boxes/components/card_body.rb', line 73

def row(content = nil, options = nil, html_options = nil, &block)
  @items << if tapped?(block)
              UiBibz::Ui::Core::Layouts::Row.new(content, options, html_options).tap(&block).render
            else
              UiBibz::Ui::Core::Layouts::Row.new(content, options, html_options, &block).render
            end
end

#subtitle(content = nil, options = nil, html_options = nil, &block) ⇒ Object



61
62
63
# File 'lib/ui_bibz/ui/core/boxes/components/card_body.rb', line 61

def subtitle(content = nil, options = nil, html_options = nil, &block)
  @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodySubtitle.new(content, options, html_options, &block).render
end

#text(content = nil, options = nil, html_options = nil, &block) ⇒ Object



69
70
71
# File 'lib/ui_bibz/ui/core/boxes/components/card_body.rb', line 69

def text(content = nil, options = nil, html_options = nil, &block)
  @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyText.new(content, options, html_options, &block).render
end

#title(content = nil, options = nil, html_options = nil, &block) ⇒ Object



57
58
59
# File 'lib/ui_bibz/ui/core/boxes/components/card_body.rb', line 57

def title(content = nil, options = nil, html_options = nil, &block)
  @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyTitle.new(content, options, html_options, &block).render
end