Module: ContainersHelper

Defined in:
app/helpers/containers_helper.rb

Instance Method Summary collapse

Instance Method Details



102
103
104
# File 'app/helpers/containers_helper.rb', line 102

def add_or_move_to_container_link(object)
  link_to( (object.contained? ? 'Move to another' : 'Add to' ) + ' container', containerize_collection_object_path(object) )
end

#container_autocomplete_tag(container) ⇒ Object



41
42
43
# File 'app/helpers/containers_helper.rb', line 41

def container_autocomplete_tag(container)
  container_tag(container)
end

#container_collection_item_count(container) ⇒ Object



62
63
64
65
66
# File 'app/helpers/containers_helper.rb', line 62

def container_collection_item_count(container)
  return (:em, 'no container provided') if container.blank?
  v = container.all_contained_objects.count
  v == 0 ? 'empty' : v
end


22
23
24
25
# File 'app/helpers/containers_helper.rb', line 22

def container_link(container)
  return nil if container.nil?
  link_to(container_tag(container.metamorphosize).html_safe, container.metamorphosize)
end

#container_location(object) ⇒ String?

Returns a string representation of the containers location, includes disposition of the containers if provided.

Returns:

  • (String, nil)

    a string representation of the containers location, includes disposition of the containers if provided



70
71
72
73
74
75
76
77
78
79
# File 'app/helpers/containers_helper.rb', line 70

def container_location(object)
  return nil if !object.containable?
  parts = []
  object.enclosing_containers.each do |c|
    s = (c.name.presence || c.class.class_name)
    s += " [#{c.disposition}]" if c.disposition.present?
    parts.push s
  end
  parts.join('; ')
end


51
52
53
54
55
# File 'app/helpers/containers_helper.rb', line 51

def container_parent_link(container)
  return nil if container.container_item.nil?
  return nil if container.container_item.parent.nil?
  link_to(container.container_item.parent.contained_object)
end

#container_parent_tag(container) ⇒ Object



45
46
47
48
49
# File 'app/helpers/containers_helper.rb', line 45

def container_parent_tag(container)
  return nil if container.container_item.nil?
  return nil if container.container_item.parent.nil?
  container_tag(container.container_item.parent.contained_object)
end

#container_tag(container) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/helpers/containers_helper.rb', line 3

def container_tag(container)
  return nil if container.nil?
  a = []

  a.push container.name if container.name

  a.push identifier_short_tag(container.identifiers.first)
  a.push tag.i(container.type, class: [:feedback, 'feedback-thin', 'feedback-secondary'])
  a.push tag.span container.container_items.count.to_s + ' inside', class: [:feedback, 'feedback-thin', 'feedback-info']

  if container.print_label
    a.push tag.span container.print_label, class: [:feedback, 'feedback-thin', 'feedback-light']
  end

 # a.push tag.span 'id: ' + container.to_param

  a.compact.join(' ').html_safe
end

#container_typesObject



106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'app/helpers/containers_helper.rb', line 106

def container_types
  r = []
  Container.descendants.each do |t|
    r.push({
      type: t.name,
      name: t.class_name,
      dimensions: t.dimensions.presence,
      valid_parents: t.valid_parents.presence
    })
  end
  r.sort!{|a,b| a[:type] <=> b[:type]}
  r
end

#containers_search_formObject



58
59
60
# File 'app/helpers/containers_helper.rb', line 58

def containers_search_form
  render('/containers/quick_search_form')
end

#draw_container_tag(container) ⇒ Object

TODO: move content to containers/_card



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'app/helpers/containers_helper.rb', line 82

def draw_container_tag(container)
  return nil if container.nil?

  (:div, class: :draw_container) do
    (:h2) do
      'Container details'
    end +

    (:h3) do
      container_tag(container)
    end +

    (:div) do
      (:ol, class: [:object_tag_list]) do
        container.container_items.collect{ |a| (:li, container_item_tag(a)) }.join('').html_safe
      end
    end
  end
end

#label_for_container(container) ⇒ Object



27
28
29
30
31
32
33
# File 'app/helpers/containers_helper.rb', line 27

def label_for_container(container)
  return nil if container.nil?
  [ label_for_identifier(container.identifiers.first),
    container.name,
    container.print_label,
  ].compact.join(': ').html_safe
end

#label_for_container_container(container) ⇒ Object

TODO: Clean, refactor



36
37
38
39
# File 'app/helpers/containers_helper.rb', line 36

def label_for_container_container(container)
  return nil if container.nil?
  container.name || container.print_label || label_for_identifier(container.identifiers.first) || container.id.to_s
end