Module: Hancock::Pages::Admin::Page

Defined in:
lib/hancock/pages/admin/page.rb

Class Method Summary collapse

Class Method Details

.config(nav_label = nil, fields = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/hancock/pages/admin/page.rb', line 4

def self.config(nav_label = nil, fields = {})
  if nav_label.is_a?(Hash)
    nav_label, fields = nav_label[:nav_label], nav_label
  elsif nav_label.is_a?(Array)
    nav_label, fields = nil, nav_label
  end
  Proc.new {
    navigation_label(!nav_label.blank? ? nav_label : I18n.t('hancock.pages'))

    list do
      scopes [:sorted, :enabled, nil]

      field :enabled, :toggle do
        searchable false
      end
      field :menus, :menu do
        searchable :name
      end
      field :name do
        searchable true
      end
      field :connectable do
        searchable :name
      end
      field :fullpath do
        searchable true
        pretty_value do
          bindings[:view].(:a, bindings[:object].fullpath, href: bindings[:object].fullpath)
        end
      end
      field :redirect do
        searchable true
      end
      field :slug do
        searchable true
      end
    end

    edit do
      field :enabled, :toggle
      field :name
      field :connectable do
        read_only true
      end

      group :content, &Hancock::Admin.content_block(excluded_fields: [:excerpt])
      # group :content do
      #   active false
      #   field :excerpt, :hancock_html
      #   # field :excerpt_html, :ck_editor
      #   # field :excerpt_clear, :toggle
      #   field :content, :hancock_html
      #   # field :content_html, :ck_editor
      #   # field :content_clear, :toggle
      # end


      group :menu, &Hancock::Pages::Admin.menu_block
      # group :menu do
      #   active false
      #   label I18n.t('hancock.menu_title')
      #   field :menus
      #   field :fullpath, :string do
      #     help I18n.t('hancock.with_final_slash')
      #   end
      #   field :regexp, :string do
      #     help I18n.t('hancock.page_url_regex')
      #   end
      #   field :redirect, :string do
      #     help I18n.t('hancock.final_in_menu')
      #   end
      #   field :text_slug
      # end

      Hancock::RailsAdminGroupPatch::hancock_cms_group(self, fields)

      group :seo_n_sitemap, &Hancock::Seo::Admin.seo_n_sitemap_block
      # group :seo do
      #   active false
      #   field :seo
      # end
      # group :sitemap_data do
      #   active false
      #   field :sitemap_data
      # end

      # group :caching, &Hancock::Admin.caching_block
    end

    nested_set({
      max_depth: Hancock::Pages.config.menu_max_depth,
      scopes: []
    })

    if block_given?
      yield self
    end
  }
end