module TbHelpers::Components

Public Instance Methods

tb_alert_flash(key, options = nil, tag = :div, escape = true) click to toggle source

alerts

# File lib/tb-helpers/components.rb, line 6
def tb_alert_flash(key, options = nil, tag = :div, escape = true)
  return nil if flash[key].blank?

  options ||= {}
  context = delete_option_if_exists!(options, :context, key)
  closeable = delete_option_if_exists!(options, :closeable, false)
  heading = delete_option_if_exists!(options, :heading, nil)

  classes = ["alert alert-#{context}"]
  block = delete_option_if_exists!(options, :block, false)
  classes << 'alert-block' if block
  set_or_prepend_option!(options, :class, classes.join(' '))

  content_tag(tag, options, nil, escape) do
    concat tb_icon_close_button(:data => {:dismiss => 'alert'}) if closeable
    concat content_tag(:h4, heading, {:class => 'alert-heading'}, true) if heading
    concat flash[key]
  end
end
tb_clearfix(options = nil) click to toggle source
# File lib/tb-helpers/components.rb, line 104
def tb_clearfix(options = nil)
  options ||= {}
  tag = delete_option_if_exists!(options, :tag, :div)
  escape = delete_option_if_exists!(options, :escape, true)

  set_or_prepend_option!(options, :class, 'clearfix')
  content_tag(tag, '', options, escape)
end
tb_icon_close(style, options = nil) click to toggle source
# File lib/tb-helpers/components.rb, line 80
def tb_icon_close(style, options = nil)
  tag = case style
    when :link then :a
    when :button then :button
    else raise ArgumentError.new('invalid style value')
  end
  escape = delete_option_if_exists!(options, :escape, true)

  options[:class] ||= 'close'
  if tag == :link
    options[:href] ||= '#'
  end

  content_tag(tag, '&times;'.html_safe, options, escape)
end
tb_icon_close_button(options = nil) click to toggle source
# File lib/tb-helpers/components.rb, line 100
def tb_icon_close_button(options = nil)
  tb_icon_close(:button, options)
end
tb_progress_bar(progress, options = nil) click to toggle source

progess bars

# File lib/tb-helpers/components.rb, line 30
def tb_progress_bar(progress, options = nil)
  options ||= {}
  context = delete_option_if_exists!(options, :context, nil)
  tag = delete_option_if_exists!(options, :tag, :div)
  escape = delete_option_if_exists!(options, :escape, true)

  progresses = progress.is_a?(Array) ? progress : [progress]
  contexts = context.is_a?(Array) ? context : [context]

  classes = ['progress']
  striped = delete_option_if_exists!(options, :striped, false)
  classes << 'progress-striped' if striped
  active = delete_option_if_exists!(options, :active, false)
  classes << 'active' if active
  set_or_prepend_option!(options, :class, classes.join(' '))

  content_tag(tag, options, nil, escape) do
    progresses.each_with_index do |progress, progress_idx|
      classes = ['bar']
      context = contexts[progress_idx]
      classes << "bar-#{context}" if context

      concat content_tag(tag, '', {:class => classes.join(' '), :style => "width: #{progress}%;"}, true)
    end
  end
end
tb_well(content = nil, options = nil, &block) click to toggle source

misc

# File lib/tb-helpers/components.rb, line 67
def tb_well(content = nil, options = nil, &block)
  content, options = content_or_options_with_block?(content, options, &block)
  tag = delete_option_if_exists!(options, :tag, :div)
  escape = delete_option_if_exists!(options, :escape, true)

  classes = ['well']
  size = delete_option_if_exists!(options, :size, false)
  classes << "well-#{size}" if size
  set_or_prepend_option!(options, :class, classes.join(' '))

  content_tag(tag, content, options, escape)
end