aboutsummaryrefslogtreecommitdiffstats
path: root/app/inputs
diff options
context:
space:
mode:
authorMarc Florisson2014-11-18 22:23:09 +0100
committerMarc Florisson2014-11-18 22:23:09 +0100
commitd3dbdbbc532eacb11d77e1912f822fed92e30547 (patch)
tree59dd40d9eb085cd59969a9ab2be314da3d518f00 /app/inputs
parent0df2ab4ef16ade6547db4f707472cc9506c12892 (diff)
downloadchouette-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.rb35
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