Sha256: ba548fd73f14b546c352cd04513220649dc437a2436d0e93387cbd36ffb8f15d

Contents?: true

Size: 999 Bytes

Versions: 3

Compression:

Stored size: 999 Bytes

Contents

class CoverageRenderer < CurationConcerns::AttributeRenderer
  def render
    coverage = values.first if values
    return '' unless coverage
    markup(coverage).html_safe
  end

  private

    def markup(coverage)
      markup = ''
      markup << %(<tr><th>#{label}</th>\n<td id='accordion'><ul class='tabular'>)
      markup << value(coverage)
      markup << toggle_button
      markup << map(coverage)
      markup << %(</ul></td></tr>)
      markup
    end

    def value(coverage)
      attributes = microdata_object_attributes(field).merge(class: "attribute #{field}")
      %(<li#{html_attributes(attributes)}>#{attribute_value_to_html(coverage.to_s)})
    end

    def toggle_button
      %( <a data-toggle='collapse' data-parent='accordion' href='#bbox' class='btn btn-default'>
         Toggle Map</a>)
    end

    def map(coverage)
      %(<div id='bbox' class='collapse in'></div>
        <script>boundingBoxSelector({coverage: '#{coverage}', readonly: true});</script>)
    end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
geo_concerns-0.0.3 app/renderers/coverage_renderer.rb
geo_concerns-0.0.2 app/renderers/coverage_renderer.rb
geo_concerns-0.0.1 app/renderers/coverage_renderer.rb