41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
# File 'app/helpers/effective_datatables_private_helper.rb', line 41
def (form, name, value, opts)
return render(partial: opts[:header_partial], locals: {form: form, name: (opts[:label] || name), column: opts}) if opts[:header_partial].present?
include_blank = opts[:filter].key?(:include_blank) ? opts[:filter][:include_blank] : (opts[:label] || name.titleize)
pattern = opts[:filter].key?(:pattern) ? opts[:filter][:pattern] : nil
placeholder = opts[:filter].key?(:placeholder) ? opts[:filter][:placeholder] : (opts[:label] || name.titleize)
title = opts[:filter].key?(:title) ? opts[:filter][:title] : (opts[:label] || name.titleize)
case opts[:filter][:as]
when :string, :text, :number
form.input name, label: false, required: false, value: value,
as: :string,
placeholder: placeholder,
input_html: { name: nil, value: value, title: title, pattern: pattern, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} }
when :obfuscated_id
pattern ||= '[0-9]{3}-?[0-9]{4}-?[0-9]{3}'
title = opts[:filter].key?(:title) ? opts[:filter][:title] : 'Expected format: XXX-XXXX-XXX'
form.input name, label: false, required: false, value: value,
as: :string,
placeholder: placeholder,
input_html: { name: nil, value: value, title: title, pattern: pattern, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} }
when :date
form.input name, label: false, required: false, value: value,
as: (ActionView::Helpers::FormBuilder.instance_methods.include?(:effective_date_picker) ? :effective_date_picker : :string),
placeholder: placeholder,
input_group: false,
input_html: { name: nil, value: value, title: title, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
input_js: { useStrict: true, keepInvalid: true }
when :datetime
form.input name, label: false, required: false, value: value,
as: (ActionView::Helpers::FormBuilder.instance_methods.include?(:effective_date_time_picker) ? :effective_date_time_picker : :string),
placeholder: placeholder,
input_group: false,
input_html: { name: nil, value: value, title: title, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
input_js: { useStrict: true, keepInvalid: true } when :select, :boolean
form.input name, label: false, required: false, value: value,
as: (ActionView::Helpers::FormBuilder.instance_methods.include?(:effective_select) ? :effective_select : :select),
collection: opts[:filter][:collection],
selected: opts[:filter][:selected],
multiple: opts[:filter][:multiple] == true,
include_blank: include_blank,
input_html: { name: nil, value: value, title: title, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
input_js: { placeholder: placeholder }
when :grouped_select
form.input name, label: false, required: false, value: value,
as: (ActionView::Helpers::FormBuilder.instance_methods.include?(:effective_select) ? :effective_select : :grouped_select),
collection: opts[:filter][:collection],
selected: opts[:filter][:selected],
multiple: opts[:filter][:multiple] == true,
include_blank: include_blank,
grouped: true,
polymorphic: opts[:filter][:polymorphic] == true,
group_label_method: opts[:filter][:group_label_method] || :first,
group_method: opts[:filter][:group_method] || :last,
input_html: { name: nil, value: value, title: title, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
input_js: { placeholder: placeholder }
when :bulk_actions_column
form.input name, label: false, required: false, value: nil,
as: :boolean,
input_html: { name: nil, value: nil, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index], 'role' => 'bulk-actions-all'} }
end
end
|