Sha256: 9d985888e2649ffe72c38e475c96cd32059ea857ef9eca25e890a5ea6fe2a173

Contents?: true

Size: 1.07 KB

Versions: 3

Compression:

Stored size: 1.07 KB

Contents

module GeoConcerns
  class CoverageRenderer < CurationConcerns::Renderers::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
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
geo_concerns-0.0.6 app/renderers/geo_concerns/coverage_renderer.rb
geo_concerns-0.0.5 app/renderers/geo_concerns/coverage_renderer.rb
geo_concerns-0.0.4 app/renderers/geo_concerns/coverage_renderer.rb