diff options
| author | Marc Florisson | 2014-11-18 22:23:09 +0100 |
|---|---|---|
| committer | Marc Florisson | 2014-11-18 22:23:09 +0100 |
| commit | d3dbdbbc532eacb11d77e1912f822fed92e30547 (patch) | |
| tree | 59dd40d9eb085cd59969a9ab2be314da3d518f00 /app/inputs | |
| parent | 0df2ab4ef16ade6547db4f707472cc9506c12892 (diff) | |
| download | chouette-core-d3dbdbbc532eacb11d77e1912f822fed92e30547.tar.bz2 | |
add registration_number in stop area auto complete. Mantis 30118
Diffstat (limited to 'app/inputs')
| -rw-r--r-- | app/inputs/search_stop_area_input.rb | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/app/inputs/search_stop_area_input.rb b/app/inputs/search_stop_area_input.rb index 1feb58d00..901715dc1 100644 --- a/app/inputs/search_stop_area_input.rb +++ b/app/inputs/search_stop_area_input.rb @@ -2,9 +2,28 @@ class SearchStopAreaInput < Formtastic::Inputs::SearchInput def search if options[:json] - tokenLimit = options[:tokenLimit].present? ? options[:tokenLimit] : "null" + tokenLimit = options[:tokenLimit].present? ? options[:tokenLimit] : "null" template.content_tag( :script, ("$(document).ready(function() { + var item_name = function( item){ + var result = item.name; + console.log( item ); + console.log( item.registration_number ); + if ( item.registration_number !=null && item.registration_number.length > 0) { + result += ' (' + item.registration_number + ')'; + } + return result; + }; + var item_format = function( item ){ + var info = ''; + if ( item.zip_code != null ) { + info += item.zip_code + ' '; + } + if ( item.city_name != null ) { + info += item.city_name; + } + return '<li><div class=\"name\">' + item_name( item) + '</div><div class=\"info\">' + item.area_type + '</div><div class=\"info\">' + info + '</div></li>' + }; $('##{dom_id}').tokenInput('#{options[:json]}', { crossDomain: false, tokenLimit: #{tokenLimit}, @@ -13,21 +32,21 @@ class SearchStopAreaInput < Formtastic::Inputs::SearchInput hintText: '#{options[:hint_text]}', 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><div class=\"name\">' + item.name + '</div><div class=\"info\">' + item.area_type + '</div><div class=\"info\">' + item.zip_code + ' ' + item.city_name + '</div></li>' }, + resultsFormatter: item_format, + tokenFormatter: item_format }); });").html_safe) end end - + def to_html - input_wrapping do + input_wrapping do label_html << builder.search_field(method, input_html_options) << search end end - + def input_html_options super.merge({ :required => nil, @@ -35,6 +54,6 @@ class SearchStopAreaInput < Formtastic::Inputs::SearchInput :class => 'token-input', 'data-model-name' => object.class.model_name.human }) - end - + end + end |
