- <table class="mapkey-table">
- <% YAML.load_file("#{RAILS_ROOT}/config/key.yml").each do |name,data| %>
- <% if params[:layer] == name %>
- <% data.each do |entry| %>
- <% if params[:zoom].to_i >= entry['min_zoom'] && params[:zoom].to_i <= entry['max_zoom'] %>
- <tr>
- <td class="mapkey-table-key" align="center">
- <%= image_tag "key/#{name}/#{entry['image']}" %>
- </td>
- <td class="mapkey-table-value">
- <%= [*t("site.key.table.entry.#{entry['name']}")].to_sentence %>
- </td>
- </tr>
- <% end %>
+ <table class="table table-sm table-borderless mapkey-table mb-0">
+ <% YAML.load_file(Rails.root.join("config/key.yml")).each do |name,data| %>
+ <% data.each do |entry| %>
+ <%= tag.tr :class => "mapkey-table-entry", :data => { :layer => name, :zoom_min => entry["min_zoom"], :zoom_max => entry["max_zoom"] } do %>
+ <td class="mapkey-table-key align-middle">
+ <% if entry["width"] && entry["height"] && entry["fill"] %>
+ <%= image_tag "data:image/svg+xml,#{u("<svg xmlns='http://www.w3.org/2000/svg' width='#{entry['width']}' height='#{entry['height']}'><rect width='100%' height='100%' fill='#{entry['fill']}' /></svg>")}" %>
+ <% else %>
+ <%= image_tag "key/#{name}/#{entry['image']}" %>
+ <% end %>
+ </td>
+ <td class="mapkey-table-value">
+ <%= Array(t(".table.entry.#{entry['name']}")).to_sentence %>
+ </td>