Sha256: 56ab6cb5039fc72f8db48640b92f39da407924b7b9bc6f30f45f201d1630592f

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 KB

Contents

module Enjoy
  module Admin
    module PageBlock
      def self.config(fields = {})
        Proc.new {
          # navigation_label 'CMS'

          field :enabled, :toggle
          field :name

          fields.each_pair do |name, type|
            if type.nil?
              field name
            else
              if type.is_a?(Array)
                field name, type[0], &type[1]
              else
                field name, type
              end
            end
          end

          field :items do
            read_only true
            help 'Список блоков'

            pretty_value do
              bindings[:object].items.to_a.map { |i|
                route = (bindings[:view] || bindings[:controller])
                model_name = i.rails_admin_model
                route.link_to(i.name, route.rails_admin.show_path(model_name: model_name, id: i.id), title: i.name)
              }.join("<br>").html_safe
            end
          end

          if block_given?
            yield self
          end
        }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
enjoy_cms-0.3.0.3 lib/enjoy/admin/page_block.rb