Skip to content

Commit

Permalink
AutoComplete for GeographicArea adds display (only) information.
Browse files Browse the repository at this point in the history
  • Loading branch information
TuckerJD committed Sep 12, 2014
1 parent 20ee1e7 commit 557eaac
Show file tree
Hide file tree
Showing 5 changed files with 177 additions and 141 deletions.
3 changes: 2 additions & 1 deletion app/controllers/geographic_areas_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,13 @@ def autocomplete
@geographic_areas = GeographicArea.find_for_autocomplete(params)

data = @geographic_areas.collect do |t|
show_this = GeographicAreasHelper.geographic_area_autocomplete_tag(t)
{id: t.id,
label: GeographicAreasHelper.geographic_area_tag(t),
response_values: {
params[:method] => t.id
},
label_html: GeographicAreasHelper.geographic_area_tag(t)
label_html: show_this
}
end

Expand Down
16 changes: 8 additions & 8 deletions app/helpers/application_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ def scrollable_div_tag(text)
end

def similarly_named_records_list(instance)
model = instance.class
name = instance.name
model = instance.class
name = instance.name
records = model.where(['(name LIKE ? OR NAME like ?) AND id != ?', "#{name}%", "%#{name}%", instance]).limit(5)
content_tag(:span) do
content_tag(:em, 'Similarly named records: ' ) +
content_tag(:em, 'Similarly named records: ') +
content_tag(:span) do
(records.count == 0 ?
'none' :
records.collect{|r| link_to(r.name, r) }.join(', ').html_safe)
end
(records.count == 0 ?
'none' :
records.collect { |r| link_to(r.name, r) }.join(', ').html_safe)
end
end
end

Expand All @@ -29,7 +29,7 @@ def object_attributes_partial_path(object)
end

def batch_preview_model_path
send("batch_preview_#{controller_name.to_s.pluralize}_path")
send("batch_preview_#{controller_name.to_s.pluralize}_path")
end

def hidden_css_property_if(tru)
Expand Down
12 changes: 12 additions & 0 deletions app/helpers/geographic_areas_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,18 @@ def geographic_area_tag(geographic_area)
GeographicAreasHelper.geographic_area_tag(geographic_area)
end

def self.geographic_area_autocomplete_tag(geographic_area)
return nil if geographic_area.nil?
show_this = geographic_area.name
unless geographic_area.geographic_area_type.nil?
show_this += " (#{geographic_area.geographic_area_type.name})"
end
unless geographic_area.parent.nil?
show_this += " [#{geographic_area.parent.name}]"
end
show_this
end

def geographic_area_link(geographic_area, link_text = nil)
return nil if geographic_area.nil?
link_text ||= geographic_area.name
Expand Down
6 changes: 3 additions & 3 deletions app/helpers/search_helper.rb
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
module SearchHelper

def search_form_for_model(data_model)
def search_form_for_model(data_model)
search_partial = "#{data_model.name.tableize}_search_form"
if self.respond_to?(search_partial)
self.send(search_partial)
self.send(search_partial)
else
content_tag(:em, "Search form not yet available.")
end
end
end

end
281 changes: 152 additions & 129 deletions app/views/collecting_events/_form.html.erb
Original file line number Diff line number Diff line change
@@ -1,142 +1,165 @@
<%= form_for(@collecting_event) do |f| %>
<% if @collecting_event.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@collecting_event.errors.count, "error") %> prohibited this collecting_event from being saved:</h2>
<% if @collecting_event.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@collecting_event.errors.count, "error") %> prohibited this collecting_event from being
saved:</h2>

<ul>
<% @collecting_event.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<ul>
<% @collecting_event.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>


<div class="flexbox">
<div class="item item1">
<div class="flexbox">
<div class="item item1">

<div class="field">
<%= f.label :verbatim_locality %><br>
<%= f.text_field :verbatim_locality %>
</div>
<div class="field">
<%= f.label :verbatim_longitude %><br>
<%= f.text_field :verbatim_longitude %>
</div>
<div class="field">
<%= f.label :verbatim_latitude %><br>
<%= f.text_field :verbatim_latitude %>
</div>
<div class="field">
<%= f.label :verbatim_geolocation_uncertainty %><br>
<%= f.text_field :verbatim_geolocation_uncertainty %>
</div>
<div class="field">
<%= f.label :verbatim_trip_identifier %><br>
<%= f.text_field :verbatim_trip_identifier %>
</div>
<div class="field">
<%= f.label :verbatim_collectors %><br>
<%= f.text_field :verbatim_collectors %>
</div>
<div class="field">
<%= f.label :verbatim_method %><br>
<%= f.text_field :verbatim_method %>
</div>
<div class="field">
<%= f.label :verbatim_locality %>
<br>
<%= f.text_field :verbatim_locality %>
</div>
<div class="field">
<%= f.label :verbatim_longitude %>
<br>
<%= f.text_field :verbatim_longitude %>
</div>
<div class="field">
<%= f.label :verbatim_latitude %>
<br>
<%= f.text_field :verbatim_latitude %>
</div>
<div class="field">
<%= f.label :verbatim_geolocation_uncertainty %>
<br>
<%= f.text_field :verbatim_geolocation_uncertainty %>
</div>
<div class="field">
<%= f.label :verbatim_trip_identifier %>
<br>
<%= f.text_field :verbatim_trip_identifier %>
</div>
<div class="field">
<%= f.label :verbatim_collectors %>
<br>
<%= f.text_field :verbatim_collectors %>
</div>
<div class="field">
<%= f.label :verbatim_method %>
<br>
<%= f.text_field :verbatim_method %>
</div>

<div class="field">
<%= f.label :verbatim_elevation %><br>
<%= f.text_field :verbatim_elevation %>
</div>

<div class="field">
<%= f.label :verbatim_habitat%><br>
<%= f.text_field :verbatim_habitat %>
</div>
<div class="field">
<%= f.label :verbatim_elevation %>
<br>
<%= f.text_field :verbatim_elevation %>
</div>

<div class="field">
<%#= f.label :geographic_area_id %>
<%= f.label :geographic_area %><br>
<%#= f.number_field :geographic_area_id %>
<br>
<%= render :partial => 'elements/forms/ajax_select',
:locals => {:controller => 'geographic_areas',
:object => 'geographic_area',
:method => 'geographic_area_id',
:tag_id => 'geographic_area_id_for_collecting_event',
:display => geographic_area_tag(@collecting_event.geographic_area),
:size => 20} %>
<%# Also: :display => object_tag(@collecting_event.geographic_area) %>
</div>
<div class="field">
<%= f.label :minimum_elevation %><br>
<%= f.text_field :minimum_elevation %>
</div>
<div class="field">
<%= f.label :maximum_elevation %><br>
<%= f.text_field :maximum_elevation %>
</div>
<div class="field">
<%= f.label :elevation_precision %><br>
<%= f.text_field :elevation_precision %>
</div>
<div class="field">
<%= f.label :time_start %><br>
<%= f.time_select :time_start %>
</div>
<div class="field">
<%= f.label :time_end %><br>
<%= f.time_select :time_end %>
</div>
<div class="field">
<%= f.label :start_date_day %><br>
<%= f.text_field :start_date_day %>
</div>
<div class="field">
<%= f.label :start_date_month %><br>
<%= f.text_field :start_date_month %>
</div>
<div class="field">
<%= f.label :start_date_year %><br>
<%= f.text_field :start_date_year %>
</div>
<div class="field">
<%= f.label :end_date_day %><br>
<%= f.text_field :end_date_day %>
</div>
<div class="field">
<%= f.label :end_date_month %><br>
<%= f.text_field :end_date_month %>
</div>
<div class="field">
<%= f.label :end_date_year %><br>
<%= f.text_field :end_date_year %>
</div>
<div class="field">
<%= f.label :field_notes %><br>
<%= f.text_area :field_notes %>
<div class="field">
<%= f.label :verbatim_habitat %>
<br>
<%= f.text_field :verbatim_habitat %>
</div>

<div class="field">
<%= f.label :geographic_area %>
<br>
<br>
<%= render :partial => 'elements/forms/ajax_select',
:locals => {:controller => 'geographic_areas',
:object => 'geographic_area',
:method => 'geographic_area_id',
:tag_id => 'geographic_area_id_for_collecting_event',
:display => geographic_area_tag(@collecting_event.geographic_area),
:size => 20} %>
</div>
<div class="field">
<%= f.label :minimum_elevation %>
<br>
<%= f.text_field :minimum_elevation %>
</div>
<div class="field">
<%= f.label :maximum_elevation %>
<br>
<%= f.text_field :maximum_elevation %>
</div>
<div class="field">
<%= f.label :elevation_precision %>
<br>
<%= f.text_field :elevation_precision %>
</div>
<div class="field">
<%= f.label :time_start %>
<br>
<%= f.time_select :time_start %>
</div>
<div class="field">
<%= f.label :time_end %>
<br>
<%= f.time_select :time_end %>
</div>
<div class="field">
<%= f.label :start_date_day %>
<br>
<%= f.text_field :start_date_day %>
</div>
<div class="field">
<%= f.label :start_date_month %>
<br>
<%= f.text_field :start_date_month %>
</div>
<div class="field">
<%= f.label :start_date_year %>
<br>
<%= f.text_field :start_date_year %>
</div>
<div class="field">
<%= f.label :end_date_day %>
<br>
<%= f.text_field :end_date_day %>
</div>
<div class="field">
<%= f.label :end_date_month %>
<br>
<%= f.text_field :end_date_month %>
</div>
<div class="field">
<%= f.label :end_date_year %>
<br>
<%= f.text_field :end_date_year %>
</div>
<div class="field">
<%= f.label :field_notes %>
<br>
<%= f.text_area :field_notes %>
</div>
</div>
</div>

<div class="item item2">
<div class="item item2">

<div class="field">
<%= f.label :verbatim_label %><br>
<%= f.text_area :verbatim_label %>
</div>
<div class="field">
<%= f.label :print_label %><br>
<%= f.text_area :print_label %>
</div>
<div class="field">
<%= f.label :document_label %><br>
<%= f.text_area :document_label %>
</div>
</div>
<div class="field">
<%= f.label :verbatim_label %>
<br>
<%= f.text_area :verbatim_label %>
</div>
<div class="field">
<%= f.label :print_label %>
<br>
<%= f.text_area :print_label %>
</div>
<div class="field">
<%= f.label :document_label %>
<br>
<%= f.text_area :document_label %>
</div>
</div>

</div>
</div>

<div class="actions">
<%= f.submit %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>

0 comments on commit 557eaac

Please sign in to comment.