- <%= item[:title] %>
- <% if status_field.present? %>
- <% status_properties = filter_properties_by_names(item[:properties], [status_field]) %>
- <% if status_properties.any? %>
- <%= status_properties.first[:value] %>
- <% end %>
- <% end %>
-
-
- <% labeled_property_names = labeled_properties || [] %>
- <% if labeled_property_names.any? %>
- <% matched_labeled_properties = filter_properties_by_names(item[:properties], labeled_property_names) %>
+ <%= item[:title] %>
- <% patterns = ["label--inverted", "label--outline", "label--underline"] %>
+ <% status_properties = if status_field.present?
+ filter_properties_by_names(item[:properties], [status_field]).select { |property| property[:value].present? }
+ else
+ []
+ end %>
+ <% labeled_property_names = labeled_properties || [] %>
+ <% matched_labeled_properties = filter_properties_by_names(item[:properties], labeled_property_names).select { |property| property[:value].present? } %>
+ <% label_background_classes = ["bg--gray-40", "bg--gray-60"] %>
+ <% if status_properties.any? %>
+ <%= status_properties.first[:value] %>
+ <% end %>
-
+ <% if matched_labeled_properties.any? %>
+ <% label_background_offset = status_properties.any? ? 1 : 0 %>
+
<% matched_labeled_properties.each_with_index do |label, index| %>
- <% pattern = patterns[index % patterns.length] %>
- <% label_classes = "label label--small #{pattern}" %>
- <%= label[:value] %>
+ <% background_class = label_background_classes[(index + label_background_offset) % label_background_classes.length] %>
+ <%= label[:value] %>
<% end %>
<% end %>
<% listed_property_names = listed_properties || [] %>
<% if listed_property_names.any? %>
- <% matched_listed_properties = filter_properties_by_names(item[:properties], listed_property_names) %>
+ <% matched_listed_properties = filter_properties_by_names(item[:properties], listed_property_names).select { |property| property[:value].present? } %>
<% if matched_listed_properties.any? %>