Module: ForemanDatacenter::RacksHelper
- Defined in:
- app/helpers/foreman_datacenter/racks_helper.rb
Instance Method Summary collapse
- #grid_empty_style(cell, id) ⇒ Object
- #grid_rack_height(height) ⇒ Object
- #grid_rack_style(device) ⇒ Object
- #grid_template(grid, id, order) ⇒ Object
- #grid_u_desc(rack) ⇒ Object
- #margin_style(height) ⇒ Object
- #rack_groups_for_select(rack) ⇒ Object
Instance Method Details
#grid_empty_style(cell, id) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 |
# File 'app/helpers/foreman_datacenter/racks_helper.rb', line 38 def grid_empty_style(cell, id) case cell[1] when ["right"] column = "grid-area: rack-#{id}-row-#{cell[0]}-right-empty" when ["left"] column = "grid-area: rack-#{id}-row-#{cell[0]}-left-empty" when ["left", "right"] || ["right", "left"] column = "grid-area: rack-#{id}-row-#{cell[0]}-full-empty" end return column end |
#grid_rack_height(height) ⇒ Object
71 72 73 |
# File 'app/helpers/foreman_datacenter/racks_helper.rb', line 71 def grid_rack_height(height) return (height + 1) end |
#grid_rack_style(device) ⇒ Object
66 67 68 69 |
# File 'app/helpers/foreman_datacenter/racks_helper.rb', line 66 def grid_rack_style(device) css_class_name = device.name.gsub(/[.@#\s]/, "_") return "grid-area: #{css_class_name}" end |
#grid_template(grid, id, order) ⇒ Object
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 |
# File 'app/helpers/foreman_datacenter/racks_helper.rb', line 75 def grid_template(grid, id, order) result = [] gr = JSON.parse(grid) gr = gr.to_a.reverse.to_h if order == "desc" gr.each do |k,v| row = "rack-#{id}-u#{k}" if v.instance_of? Array if k == "0" row += " rack-#{id}-unpos-devs rack-#{id}-unpos-devs" else row += " rack-#{id}-row-#{k}-full-empty rack-#{id}-row-#{k}-full-empty" end else if v.size > 1 row += " #{v['left']} #{v['right']}" else row += " #{v['left']} rack-#{id}-row-#{k}-right-empty" if v.key?("left") row += " rack-#{id}-row-#{k}-left-empty #{v['right']}" if v.key?("right") row += " #{v['full']} #{v['full']}" if v.key?("full") end end result << row end final = result.join("' '").prepend("'") + "'" return "grid-template-areas: #{final}; grid-template-columns: 22% 39% 39%" end |
#grid_u_desc(rack) ⇒ Object
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 |
# File 'app/helpers/foreman_datacenter/racks_helper.rb', line 8 def grid_u_desc(rack) i = rack.height + 1 limit = 0 result = "" while limit <= i do if i == 0 && !rack.unpositioned_devices.empty? concat content_tag(:div, "Unpositioned Devices") else if i != 0 if rack.child_devices.any? { |d| d.position == i } concat content_tag :div, &-> do concat "#{i}U" rack.child_devices.each do |d| if d.position == i concat content_tag :strong, &-> do concat link_to("Child", device_path(d)) end end end end else concat content_tag(:div, "#{i}U") end end end i -= 1 end end |
#margin_style(height) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'app/helpers/foreman_datacenter/racks_helper.rb', line 50 def margin_style(height) result = "top: " case height when 1 result += "7%" when 2 result += "30%" when 3 result += "35%" when 4 result += "40%" else result += "45%" end end |
#rack_groups_for_select(rack) ⇒ Object
3 4 5 6 |
# File 'app/helpers/foreman_datacenter/racks_helper.rb', line 3 def rack_groups_for_select(rack) collection = rack.site ? rack.site.rack_groups : [] (collection, 'id', 'name', rack.rack_group_id) end |