Sha256: 921a0eabd4108888a6e01b7dab788e85550df89be227c12ae9d3ac35144f1361

Contents?: true

Size: 674 Bytes

Versions: 1

Compression:

Stored size: 674 Bytes

Contents

require File.join(File.dirname(__FILE__), 'layout_component')

module ExpressAdmin
  class Pane < LayoutComponent

    emits -> (block) {
      div(id: dom_id, class: pane_classes) {
        heading if title || status
        block.call(self) if block
      }
    }

    def heading
      h4(class: 'title') {
        current_arbre_element.add_child title
        if status
          span(class: 'status') { status }
        end
      }
    end

    def dom_id
      nil
    end

    def title
      config[:title] || ''
    end

    def status
      config[:status] || nil
    end

    def pane_classes
      add_class config[:id].to_s
      class_names
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
express_admin-1.3.0 app/components/express_admin/pane.rb