1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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
|