Module: AssertedDistributionsHelper
- Defined in:
- app/helpers/asserted_distributions_helper.rb
Instance Method Summary collapse
- #asserted_distribution_geo(asserted_distribution, html) ⇒ Object
- #asserted_distribution_link(asserted_distribution) ⇒ Object
- #asserted_distribution_tag(asserted_distribution) ⇒ Object
-
#asserted_distribution_to_geo_json_feature(asserted_distribution) ⇒ Hash
GeoJSON feature.
- #asserted_distributions_search_form ⇒ Object
- #geo_flair(asserted_distribution, html) ⇒ Object
- #label_for_asserted_distribution(asserted_distribution) ⇒ Object
- #no_geographic_items? ⇒ Boolean
Instance Method Details
#asserted_distribution_geo(asserted_distribution, html) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/helpers/asserted_distributions_helper.rb', line 38 def asserted_distribution_geo(asserted_distribution, html) if html [ object_tag(asserted_distribution.asserted_distribution_shape.), geo_flair(asserted_distribution, true) ].join(' ') else [ label_for(asserted_distribution.asserted_distribution_shape.), geo_flair(asserted_distribution, false) ].join(' ') end end |
#asserted_distribution_link(asserted_distribution) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/helpers/asserted_distributions_helper.rb', line 23 def asserted_distribution_link(asserted_distribution) return nil if asserted_distribution.nil? [ link_to( otu_tag(asserted_distribution.otu).html_safe, asserted_distribution.otu ), (asserted_distribution.is_absent ? content_tag(:span, ' not in ', class: :warning) : ' in ' ), link_to( asserted_distribution_geo(asserted_distribution, true).html_safe, asserted_distribution ) ].join(' ').html_safe end |
#asserted_distribution_tag(asserted_distribution) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# File 'app/helpers/asserted_distributions_helper.rb', line 3 def asserted_distribution_tag(asserted_distribution) return nil if asserted_distribution.nil? [ otu_tag(asserted_distribution.otu).html_safe, (asserted_distribution.is_absent ? tag.span(' not in ', class: [:feedback, 'feedback-thin', 'feedback-warning']).html_safe : ' in ').html_safe, asserted_distribution_geo(asserted_distribution, true).html_safe # ' by ', # (asserted_distribution.source.cached_author_string ? asserted_distribution.source.cached_author_string # : content_tag(:span, '[source authors must be updated]', class: :warning)) ].join(' ').html_safe end |
#asserted_distribution_to_geo_json_feature(asserted_distribution) ⇒ Hash
Returns GeoJSON feature.
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'app/helpers/asserted_distributions_helper.rb', line 78 def asserted_distribution_to_geo_json_feature(asserted_distribution) return nil if asserted_distribution.nil? return nil unless asserted_distribution.has_shape? return { 'type' => 'Feature', 'geometry' => RGeo::GeoJSON.encode(asserted_distribution.geo_object), # TODO: optimize 'properties' => { 'base' => { 'type' => 'AssertedDistribution', 'id' => asserted_distribution.id, 'label' => label_for_asserted_distribution(asserted_distribution) }, 'shape' => { 'type' => asserted_distribution.asserted_distribution_shape_type, 'id' => asserted_distribution.asserted_distribution_shape_id }, 'is_absent' => asserted_distribution.is_absent } } end |
#asserted_distributions_search_form ⇒ Object
69 70 71 |
# File 'app/helpers/asserted_distributions_helper.rb', line 69 def asserted_distributions_search_form render('/asserted_distributions/quick_search_form') end |
#geo_flair(asserted_distribution, html) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'app/helpers/asserted_distributions_helper.rb', line 52 def geo_flair(asserted_distribution, html) case asserted_distribution.asserted_distribution_shape_type when 'GeographicArea' if html content_tag(:span, 'Geographic Area', class: [:feedback, 'feedback-primary', 'feedback-thin']) else '[Geographic Area]' end when 'Gazetteer' if html content_tag(:span, 'Gazetteer', class: [:feedback, 'feedback-secondary', 'feedback-thin']) else '[Gazetteer]' end end end |
#label_for_asserted_distribution(asserted_distribution) ⇒ Object
15 16 17 18 19 20 21 |
# File 'app/helpers/asserted_distributions_helper.rb', line 15 def label_for_asserted_distribution(asserted_distribution) return nil if asserted_distribution.nil? [ label_for_otu(asserted_distribution.otu), asserted_distribution_geo(asserted_distribution, false) ].compact.join(' in ') end |
#no_geographic_items? ⇒ Boolean
73 74 75 |
# File 'app/helpers/asserted_distributions_helper.rb', line 73 def no_geographic_items? ' (has no geographic items)' if @asserted_distribution.asserted_distribution_shape.geographic_items.empty? end |