diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/time_tables_controller.rb | 10 | ||||
| -rw-r--r-- | app/inputs/search_stop_area_input.rb | 2 | ||||
| -rw-r--r-- | app/inputs/search_time_table_input.rb | 40 | ||||
| -rw-r--r-- | app/views/connection_links/select_areas.html.erb | 4 | ||||
| -rw-r--r-- | app/views/stop_areas/add_children.html.erb | 2 | ||||
| -rw-r--r-- | app/views/stop_areas/index.rabl | 9 | ||||
| -rw-r--r-- | app/views/stop_areas/select_parent.html.erb | 4 | ||||
| -rw-r--r-- | app/views/stop_areas/show.rabl | 9 | ||||
| -rw-r--r-- | app/views/time_tables/comment_filter.json.rabl | 5 | ||||
| -rw-r--r-- | app/views/time_tables/index.json.rabl | 5 | ||||
| -rw-r--r-- | app/views/time_tables/time_tables.json.rabl | 5 | ||||
| -rw-r--r-- | app/views/vehicle_journeys/_form.html.erb | 16 | 
12 files changed, 81 insertions, 30 deletions
| diff --git a/app/controllers/time_tables_controller.rb b/app/controllers/time_tables_controller.rb index 586713c60..2a4042521 100644 --- a/app/controllers/time_tables_controller.rb +++ b/app/controllers/time_tables_controller.rb @@ -33,10 +33,7 @@ class TimeTablesController < ChouetteController    end    def comment_filter -    respond_to do |format|   -      format.json { render :json => filtered_time_tables_maps}   -    end   -     +    @time_tables = filtered_time_tables        end    def index     @@ -68,11 +65,6 @@ class TimeTablesController < ChouetteController    protected -  def filtered_time_tables_maps -    filtered_time_tables.collect do |time_table| -      { :id => time_table.id, :name => time_table_description(time_table) } -    end -  end    def filtered_time_tables      referential.time_tables.select{ |t| t.comment =~ /#{params[:q]}/i  }    end diff --git a/app/inputs/search_stop_area_input.rb b/app/inputs/search_stop_area_input.rb index 8003a513a..44f9cf82a 100644 --- a/app/inputs/search_stop_area_input.rb +++ b/app/inputs/search_stop_area_input.rb @@ -13,7 +13,7 @@ class SearchStopAreaInput < Formtastic::Inputs::SearchInput               noResultsText: '#{options[:no_result_text]}',               searchingText: '#{options[:searching_text]}',               resultsFormatter: function(item){ return '<li><div class=\"name\">' + item.name + '</div><div class=\"info\">' + item.area_type + '</div><div class=\"info\">' +  item.zip_code + ' ' + item.city_name + '</div></li>' }, -             tokenFormatter: function(item) { return '<li><p>' + item.name + '</p></li>' } +             tokenFormatter: function(item){ return '<li><div class=\"name\">' + item.name + '</div><div class=\"info\">' + item.area_type + '</div><div class=\"info\">' +  item.zip_code + ' ' + item.city_name + '</div></li>' },             });          });").html_safe)      end diff --git a/app/inputs/search_time_table_input.rb b/app/inputs/search_time_table_input.rb new file mode 100644 index 000000000..49f266d7a --- /dev/null +++ b/app/inputs/search_time_table_input.rb @@ -0,0 +1,40 @@ +class SearchTimeTableInput < Formtastic::Inputs::SearchInput + +  def search +    if options[:json] +      tokenLimit = options[:tokenLimit].present? ? options[:tokenLimit] : "null"  +      template.content_tag( :script, +       ("$(document).ready(function() { +           $('##{dom_id}').tokenInput('#{options[:json]}', { +             crossDomain: false, +             tokenLimit: #{tokenLimit}, +             minChars: 2, +             preventDuplicates: true, +             hintText: '#{options[:hint_text]}', +             noResultsText: '#{options[:no_result_text]}', +             searchingText: '#{options[:searching_text]}', +             resultsFormatter: function(item){ return '<li><div class=\"comment\">' + item.comment + '</div><div class=\"info\">' + item.time_table_bounding + '</div><div class=\"info\">' +  item.composition_info + '</div></li>' }, +             tokenFormatter: function(item){ return '<li><div class=\"comment\">' + item.comment + '</div><div class=\"info\">' + item.time_table_bounding + '</div><div class=\"info\">' +  item.composition_info + '</div></li>' }, +           }); +        });").html_safe) +    end +  end +   +  def to_html +    input_wrapping do       +      label_html << +        builder.search_field(method, input_html_options) << +          search +    end +  end +   +  def input_html_options +    super.merge({ +                  :required          => nil, +                  :autofocus         => nil, +                  :class             => 'token-input', +                  'data-model-name' => object.class.model_name.human +                }) +  end  +   +end diff --git a/app/views/connection_links/select_areas.html.erb b/app/views/connection_links/select_areas.html.erb index 17f6b193f..c98b4994e 100644 --- a/app/views/connection_links/select_areas.html.erb +++ b/app/views/connection_links/select_areas.html.erb @@ -3,8 +3,8 @@  <%= semantic_form_for [@referential, @connection_link] do |form| %>  <div>    <%= form.inputs do %> -    <%= form.input :departure_id, :as => :search_stop_area, :json => referential_connection_link_connection_link_areas_path(@referential, @connection_link, :format => :json), :tokenLimit => 1, :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => ( @departure.present? ? [ { :id => @departure.id.to_s, :name => "#{@departure.name}" } ]: [] ).to_json } %> -    <%= form.input :arrival_id, :as => :search_stop_area, :json => referential_connection_link_connection_link_areas_path(@referential, @connection_link, :format => :json), :tokenLimit => 1, :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => ( @arrival.present? ? [ { :id => @arrival.id.to_s, :name => "#{@arrival.name}" } ]: [] ).to_json }  %> +    <%= form.input :departure_id, :as => :search_stop_area, :json => referential_connection_link_connection_link_areas_path(@referential, @connection_link, :format => :json), :tokenLimit => 1, :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new('stop_areas/show', [@departure], :view_path => 'app/views', :format => :json).render  } %> +    <%= form.input :arrival_id, :as => :search_stop_area, :json => referential_connection_link_connection_link_areas_path(@referential, @connection_link, :format => :json), :tokenLimit => 1, :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new('stop_areas/show', [@arrival], :view_path => 'app/views', :format => :json).render }  %>    <% end %>     <%= form.actions do %> diff --git a/app/views/stop_areas/add_children.html.erb b/app/views/stop_areas/add_children.html.erb index 33cc81b27..732e28466 100644 --- a/app/views/stop_areas/add_children.html.erb +++ b/app/views/stop_areas/add_children.html.erb @@ -3,7 +3,7 @@  <%= semantic_form_for [@referential, @stop_area] do |form| %>  <div>    <%= form.inputs do %> -    <%= form.input :children_ids, :as => :search_stop_area, :json => referential_stop_area_stop_area_children_path(@referential, @stop_area, :format => :json), :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => ( @children.map { |child| { :id => child.id.to_s, :name => "#{child.name}" } } ).to_json }  %> +    <%= form.input :children_ids, :as => :search_stop_area, :json => referential_stop_area_stop_area_children_path(@referential, @stop_area, :format => :json), :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new('stop_areas/index', @children, :view_path => 'app/views', :format => :json).render }  %>    <% end %>     <%= form.actions do %> diff --git a/app/views/stop_areas/index.rabl b/app/views/stop_areas/index.rabl new file mode 100644 index 000000000..72b736858 --- /dev/null +++ b/app/views/stop_areas/index.rabl @@ -0,0 +1,9 @@ +collection @stop_areas + +node do |stop_area| +  { :id => stop_area.id, :name => stop_area.name || "", :zip_code => stop_area.zip_code || "", :city_name => stop_area.city_name || "" }   +end + +node :area_type do |area| +  I18n.t("area_types.label.#{area.area_type.underscore}") || "" +end
\ No newline at end of file diff --git a/app/views/stop_areas/select_parent.html.erb b/app/views/stop_areas/select_parent.html.erb index 9bd25f4dd..9909e49d0 100644 --- a/app/views/stop_areas/select_parent.html.erb +++ b/app/views/stop_areas/select_parent.html.erb @@ -2,8 +2,8 @@  <%= semantic_form_for [@referential, @stop_area] do |form| %>  <div> -  <%= form.inputs do %> -    <%= form.input :parent_id, :as => :search_stop_area, :json => referential_stop_area_stop_area_parents_path(@referential, @stop_area, :format => :json), :tokenLimit => 1, :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => ( @parent.present? ? [ { :id => @parent.id.to_s, :name => "#{@parent.name}" } ]: [] ).to_json }  %> +  <%= form.inputs do %>     +    <%= form.input :parent_id, :as => :search_stop_area, :json => referential_stop_area_stop_area_parents_path(@referential, @stop_area, :format => :json), :hint_text => t('search_hint'), :no_result_text => t('no_result_text'), :searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new('stop_areas/show', [@parent], :view_path => 'app/views', :format => :json).render }  %>    <% end %>     <%= form.actions do %> diff --git a/app/views/stop_areas/show.rabl b/app/views/stop_areas/show.rabl new file mode 100644 index 000000000..a03a3511d --- /dev/null +++ b/app/views/stop_areas/show.rabl @@ -0,0 +1,9 @@ +object @stop_area + +node do |stop_area| +  { :id => stop_area.id, :name => stop_area.name || "", :zip_code => stop_area.zip_code || "", :city_name => stop_area.city_name || "" }   +end + +node :area_type do |area| +  I18n.t("area_types.label.#{area.area_type.underscore}") || "" +end diff --git a/app/views/time_tables/comment_filter.json.rabl b/app/views/time_tables/comment_filter.json.rabl new file mode 100644 index 000000000..dec29cb69 --- /dev/null +++ b/app/views/time_tables/comment_filter.json.rabl @@ -0,0 +1,5 @@ +collection @time_tables, :object_root => false + +node do |time_table| +  { :id => time_table.id, :comment => time_table.comment, :time_table_bounding => time_table_bounding( time_table), :composition_info => composition_info(time_table) } +end                      diff --git a/app/views/time_tables/index.json.rabl b/app/views/time_tables/index.json.rabl new file mode 100644 index 000000000..dec29cb69 --- /dev/null +++ b/app/views/time_tables/index.json.rabl @@ -0,0 +1,5 @@ +collection @time_tables, :object_root => false + +node do |time_table| +  { :id => time_table.id, :comment => time_table.comment, :time_table_bounding => time_table_bounding( time_table), :composition_info => composition_info(time_table) } +end                      diff --git a/app/views/time_tables/time_tables.json.rabl b/app/views/time_tables/time_tables.json.rabl new file mode 100644 index 000000000..dec29cb69 --- /dev/null +++ b/app/views/time_tables/time_tables.json.rabl @@ -0,0 +1,5 @@ +collection @time_tables, :object_root => false + +node do |time_table| +  { :id => time_table.id, :comment => time_table.comment, :time_table_bounding => time_table_bounding( time_table), :composition_info => composition_info(time_table) } +end                      diff --git a/app/views/vehicle_journeys/_form.html.erb b/app/views/vehicle_journeys/_form.html.erb index d5d4cffdd..7d530a66e 100644 --- a/app/views/vehicle_journeys/_form.html.erb +++ b/app/views/vehicle_journeys/_form.html.erb @@ -12,7 +12,7 @@      <%= form.input :facility %>      <%= form.input :vehicle_type_identifier%>      <%= form.input :objectid, :required => !@vehicle_journey.new_record?, :input_html => { :title => t("formtastic.titles.vehicle_journey.objectid")} %> -    <%= form.input :time_table_tokens, :label => t('.time_tables'), :as => :text,  :input_html => { :"data-pre" => ( @vehicle_journey.time_tables.map { |time_table| { :id => time_table.id, :name => time_table_description(time_table) } } ).to_json }  %> +    <%= form.input :time_table_tokens, :label => t('.time_tables'), :as => :search_time_table, :json => comment_filter_referential_time_tables_path(@referential, :format => :json), :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'),  :input_html => { :"data-pre" => ( @vehicle_journey.time_tables.map{ |time_table| { :id => time_table.id, :comment => time_table.comment, :time_table_bounding => time_table_bounding( time_table), :composition_info => composition_info(time_table) } } ).to_json }  %>      <li class="input">  	    <%= form.label @vehicle_journey.human_attribute_name(:vehicle_journey_at_stop_ids), :class => "label" %>      </li> @@ -65,17 +65,3 @@    <%= javascript_include_tag edit_referential_line_route_vehicle_journey_path(@referential, @line, @route, @vehicle_journey, :format => :js) %>  <% end %> -<script> -	$(function() { -          $( "#vehicle_journey_time_table_tokens" ).tokenInput('<%= comment_filter_referential_time_tables_path(@referential, :format => :json) %>', { -       crossDomain: false, -       prePopulate: $('#time_table_tokens').data('pre'), -       minChars: 1, -       preventDuplicates: true, -       hintText: '<%= t('search_hint') %>', -       noResultsText: '<%= t('no_result_text') %>', -       searchingText: '<%= t('searching_term') %>' -    }); -	}); -</script> - | 
