Class: UiBibz::Ui::Core::Notifications::Alert

Inherits:
Component show all
Defined in:
lib/ui_bibz/ui/core/notifications/alert.rb

Overview

Create an alert

This element is an extend of UiBibz::Ui::Core::Component.

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:

  • status - status of element with symbol value: (:default, :primary, :info, :warning, :danger)

  • glyph - [String | Hash] Add glyph with name or hash options

    • name - [String]

    *timeout - [Integer]

Signatures

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

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

Examples

UiBibz::Ui::Core::Alert.new(content, { status: :success, glyph: 'eye' },{ class: 'test' }).render

UiBibz::Ui::Core::Alert.new({glyph: { name: 'eye', size: 3}, { class: 'test' }) do
  content
end.render

Helper

notify(content, options = {}, html_options = {})

notify(options = {}, html_options = {}) do
  content
end

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

Methods inherited from Base

#generate_id, #i18n_set?, #inject_url

Constructor Details

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

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



52
53
54
55
# File 'lib/ui_bibz/ui/core/notifications/alert.rb', line 52

def initialize(content = nil, options = nil, html_options = nil, &block)
  super
  header(@content, tap: false) unless @tapped
end

Instance Method Details

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

Add Body which is a component



77
78
79
# File 'lib/ui_bibz/ui/core/notifications/alert.rb', line 77

def body(content = nil, options = nil, html_options = nil, &block)
  @body = UiBibz::Ui::Core::Notifications::Components::AlertBody.new(content, options, html_options, &block).render
end

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

Add Header which is a component



66
67
68
69
70
71
72
73
74
# File 'lib/ui_bibz/ui/core/notifications/alert.rb', line 66

def header(content = nil, options = nil, html_options = nil, &block)
  if block.nil?
    options = @options.merge(options || {})
  else
    content = @options.merge(content || {})
  end

  @header = UiBibz::Ui::Core::Notifications::Components::AlertHeader.new(content, options, html_options, &block).render
end

#pre_renderObject

Render html tag



58
59
60
61
62
63
# File 'lib/ui_bibz/ui/core/notifications/alert.rb', line 58

def pre_render
   :div, html_options do
    concat @header
    concat @body unless @body.nil?
  end
end