Sha256: 03efe815a776b3548a00ee8da1f88a7390cb12ff015bca6a432788d594c8179b

Contents?: true

Size: 755 Bytes

Versions: 12

Compression:

Stored size: 755 Bytes

Contents

module ExpressUi
  class Panel < ExpressTemplates::Container

    has_option :heading, "The panel heading text. Set to false to supress", default: true
    has_option :footer, "The panel footing text."

    before_build -> {
      add_class 'panel'
    }

    contains -> (&block) {
      div(class: "panel-heading", only_when: !!config[:heading]) {
        panel_header
      }
      div(class: "panel-body") {
        block.call
      }
      div(class: "panel-footer", only_when: !!config[:footer]) {
        panel_footer
      }
    }

    def panel_footer
      config[:footer]
    end

    def panel_header
      case config[:header]
      when String
        config[:header]
      else
        config[:id].to_s.titleize
      end
    end

  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
express_ui-0.5.0 app/components/express_ui/panel.rb
express_ui-0.4.2 app/components/express_ui/panel.rb
express_ui-0.4.1 app/components/express_ui/panel.rb
express_ui-0.4.0 app/components/express_ui/panel.rb
express_ui-0.3.0 app/components/express_ui/panel.rb
express_ui-0.2.1 app/components/express_ui/panel.rb
express_ui-0.2.0 app/components/express_ui/panel.rb
express_ui-0.1.7 app/components/express_ui/panel.rb
express_ui-0.1.6 app/components/express_ui/panel.rb
express_ui-0.1.5 app/components/express_ui/panel.rb
express_ui-0.1.4 app/components/express_ui/panel.rb
express_ui-0.1.3 app/components/express_ui/panel.rb