Module: ComatoseAdminHelper

Defined in:
lib/comatose_admin_helper.rb

Instance Method Summary collapse

Instance Method Details

#add_select_tree_node(node, selected, level, hide) ⇒ Object

Called by tree_select_box



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/comatose_admin_helper.rb', line 17

def add_select_tree_node(node, selected, level, hide)
  padding = " " * level * 4
  padding += '» ' unless level==0
  hide_values = Array.new
  hide_values << hide if hide
  if node.id == selected
    select_box = %Q|<option value="#{node.id}" selected="true">#{padding}#{node.title}</option>\n|
  else
    if hide_values.include?(node.id)
      select_box = ''
    else
      select_box = %Q|<option value="#{node.id}">#{padding}#{node.title}</option>\n|
    end
  end
  node.children.each do |child|
    select_box += add_select_tree_node(child, selected, level + 1, hide) unless hide_values.include?(node.id)
  end
  select_box
end

#show_field?(key) ⇒ Boolean

Checks the hidden_meta_fields class variable for a specified field name…

Returns:

  • (Boolean)


4
5
6
# File 'lib/comatose_admin_helper.rb', line 4

def show_field?(key)
  !Comatose.config.hidden_meta_fields.include? key
end

#tree_select_box(nodes, selected = nil, hide = nil, label = "Parent", add_initial = false) ⇒ Object

Used in the Page Form to build an indented drop-down list of pages



9
10
11
12
13
14
15
# File 'lib/comatose_admin_helper.rb', line 9

def tree_select_box(nodes, selected= nil, hide= nil, label="Parent", add_initial=false)
  level = 0
  select_box = add_initial ? "<option value=0>No #{label}</option>\n" : ""
  selected = nodes[0].id if selected.nil? and not add_initial
  nodes.each {|node| select_box += add_select_tree_node(node, selected, level, hide) }
  select_box += ''
end