class UiBibz::Ui::Core::Notifications::Spinner

Create a spinner

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

Attributes

Options

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

Signatures

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

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

Examples

UiBibz::Ui::Core::Notifications::Spinner.new(content, status: :success, type: :pill).render

UiBibz::Ui::Core::Notifications::Spinner.new() do
  #content
end.render

Helper

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

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

Public Instance Methods

pre_render() click to toggle source

Render html tag

# File lib/ui_bibz/ui/core/notifications/spinner.rb, line 53
def pre_render
  content_tag tag_html, html_options do
    content_tag :span, @content || 'Loading...', class: 'sr-only'
  end
end

Private Instance Methods

component_html_classes() click to toggle source
# File lib/ui_bibz/ui/core/notifications/spinner.rb, line 65
def component_html_classes
  ["spinner-#{type}", status, size]
end
component_html_options() click to toggle source
# File lib/ui_bibz/ui/core/notifications/spinner.rb, line 61
def component_html_options
  super.merge({ role: 'status' })
end
size() click to toggle source
# File lib/ui_bibz/ui/core/notifications/spinner.rb, line 77
def size
  "spinner-#{type}-#{options[:size]}" if options[:size]
end
status() click to toggle source
# File lib/ui_bibz/ui/core/notifications/spinner.rb, line 69
def status
  "text-#{@options[:status] || :secondary}" if options[:status]
end
tag_html() click to toggle source
# File lib/ui_bibz/ui/core/notifications/spinner.rb, line 81
def tag_html
  options[:tag] || :div
end
type() click to toggle source
# File lib/ui_bibz/ui/core/notifications/spinner.rb, line 73
def type
  @options[:type] || 'border'
end