Sha256: 950fe7d7dbae33a636c41dc642f3b883004684ea5332c10d49a0ecafef00b8a7

Contents?: true

Size: 818 Bytes

Versions: 50

Compression:

Stored size: 818 Bytes

Contents

module ActiveAdmin
  module Views

    class Panel < ActiveAdmin::Component
      builder_method :panel

      def build(title, attributes = {})
        super(attributes)
        add_class "panel"
        @title = h3(title.to_s)
        @contents = div(class: "panel_contents")
      end

      def add_child(child)
        if @contents
          @contents << child
        else
          super
        end
      end

      # Override children? to only report children when the panel's
      # contents have been added to. This ensures that the panel
      # correcly appends string values, etc.
      def children?
        @contents.children?
      end

      def header_action(*args)
        action = args[0]

        @title << div(class: 'header_action') do
          action
        end
      end
    end
  end
end

Version data entries

50 entries across 50 versions & 5 rubygems

Version Path
activeadmin_addons-1.0.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/lib/active_admin/views/components/panel.rb
activeadmin-1.1.0 lib/active_admin/views/components/panel.rb
activeadmin-1.0.0 lib/active_admin/views/components/panel.rb
activeadmin-1.0.0.pre5 lib/active_admin/views/components/panel.rb
activeadmin-orac-1.0.0.pre4 lib/active_admin/views/components/panel.rb
activeadmin-orac-1.0.0 lib/active_admin/views/components/panel.rb
activeadmin-orac-1.0.0.pre.orac lib/active_admin/views/components/panel.rb
activeadmin-1.0.0.pre4 lib/active_admin/views/components/panel.rb
activeadmin-1.0.0.pre3 lib/active_admin/views/components/panel.rb
activeadmin-1.0.0.pre2 lib/active_admin/views/components/panel.rb