diff options
Diffstat (limited to 'app/inputs')
| -rw-r--r-- | app/inputs/search_timeband_input.rb | 44 | 
1 files changed, 44 insertions, 0 deletions
diff --git a/app/inputs/search_timeband_input.rb b/app/inputs/search_timeband_input.rb new file mode 100644 index 000000000..bad262ef2 --- /dev/null +++ b/app/inputs/search_timeband_input.rb @@ -0,0 +1,44 @@ +class SearchTimebandInput < Formtastic::Inputs::SearchInput + +  def search +    if options[:json] +      template.content_tag( :script, +                            ("$(document).ready(function() { +          var timeband_formatter = function(item){ +            return '<li>' + item.name + '</li>'; +          }; +           $('##{dom_id}').tokenInput('#{options[:json]}', { +             zindex: 1061, +             crossDomain: false, +             tokenLimit: 1, +             minChars: 2, +             propertyToSearch: 'name', +             preventDuplicates: true, +             hintText: '#{options[:hint_text]}', +             noResultsText: '#{options[:no_result_text]}', +             searchingText: '#{options[:searching_text]}', +             resultsFormatter: timeband_formatter, +             tokenFormatter: timeband_formatter, +           }); +        });").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  | 
