web47core 1.1.9 → 1.1.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/helpers/core_form_helper.rb +32 -11
- data/lib/web47core/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c95dc1ded2406eed714fa60226d939f995826d8fdb4997e86a967f4363a0dcfd
|
4
|
+
data.tar.gz: fe198b4505c6a33fa455af240b59f28bcc1a38e3da9da3a9b77879dfbeeb56a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6849efd0b1fc1c5960251d23ce8777738864c1e460e3e5832b64b06c733a858e2c408eefd9d300a3b294070f839e5def87bbe94e137689a787d801eb0a1e2bc9
|
7
|
+
data.tar.gz: 4481ee2a4accca93a6fce56261e83aa4f3ca62787797d0b6ff2904ee5703d250bf333c7aa3c857eaa9e8537505b47022072be855f05092c588be5409e74918b7
|
@@ -122,10 +122,9 @@ module CoreFormHelper
|
|
122
122
|
# Create the select tag
|
123
123
|
#
|
124
124
|
def form_select_tag(model, field, options = {})
|
125
|
-
form_name = form_field_name(model, field, options)
|
126
125
|
select_content = {
|
127
|
-
id:
|
128
|
-
name:
|
126
|
+
id: form_field_id(model, field, options),
|
127
|
+
name: form_field_name(model, field, options),
|
129
128
|
class: options[:input_classes],
|
130
129
|
disabled: options[:disabled]
|
131
130
|
}
|
@@ -172,13 +171,12 @@ module CoreFormHelper
|
|
172
171
|
# Checkbox field
|
173
172
|
#
|
174
173
|
def form_checkbox(model, field, classes = %w[s12 m6 l4 xl3], options = {})
|
175
|
-
form_name = form_field_name model, field
|
176
174
|
value = model.send(field)
|
177
175
|
options[:disabled] ||= false
|
178
176
|
properties = {
|
179
177
|
class: 'validate',
|
180
|
-
id:
|
181
|
-
name:
|
178
|
+
id: form_field_id(model, field),
|
179
|
+
name: form_field_name(model, field),
|
182
180
|
type: :checkbox,
|
183
181
|
disabled: options[:disabled]
|
184
182
|
}
|
@@ -245,7 +243,7 @@ module CoreFormHelper
|
|
245
243
|
classes = value.nil? && place_holder.blank? ? '' : 'active'
|
246
244
|
classes += error.present? ? ' invalid red-text' : ' valid'
|
247
245
|
options[:class] = classes
|
248
|
-
options[:for] =
|
246
|
+
options[:for] = form_field_id(model, field, options)
|
249
247
|
options['data-error'] = error.join(', ') if error.present?
|
250
248
|
content_tag(:label, options) do
|
251
249
|
concat(I18n.exists?(key) ? I18n.t(key) : field.to_s.humanize)
|
@@ -260,7 +258,7 @@ module CoreFormHelper
|
|
260
258
|
key = "ui_form.#{model.class.to_s.underscore}.hints.#{field}"
|
261
259
|
return nil unless I18n.exists?(key)
|
262
260
|
|
263
|
-
content_tag(:p, class: 'form-hint', for:
|
261
|
+
content_tag(:p, class: 'form-hint', for: form_field_id(model, field)) do
|
264
262
|
concat(I18n.t(key))
|
265
263
|
end
|
266
264
|
end
|
@@ -269,7 +267,6 @@ module CoreFormHelper
|
|
269
267
|
# Add the placeholder option if found in the translations
|
270
268
|
#
|
271
269
|
def text_field_options(model, field, options)
|
272
|
-
form_name = form_field_name model, field, options
|
273
270
|
hint_key = "ui_form.#{model.class.to_s.underscore}.hints.#{field}"
|
274
271
|
if I18n.exists?(hint_key)
|
275
272
|
classes = %w[validate tooltipped]
|
@@ -278,8 +275,8 @@ module CoreFormHelper
|
|
278
275
|
classes = %w[validate]
|
279
276
|
end
|
280
277
|
classes += options[:input_classes] if options[:input_classes].present?
|
281
|
-
options[:name] =
|
282
|
-
options[:id] =
|
278
|
+
options[:name] = form_field_name(model, field, options)
|
279
|
+
options[:id] = form_field_id(model, field, options)
|
283
280
|
place_holder = options[:place_holder] || field_place_holder(model, field)
|
284
281
|
if place_holder.present?
|
285
282
|
classes << 'active'
|
@@ -319,6 +316,30 @@ module CoreFormHelper
|
|
319
316
|
end
|
320
317
|
end
|
321
318
|
|
319
|
+
#
|
320
|
+
# Return a consistent form field id
|
321
|
+
#
|
322
|
+
def form_field_id(model, field, options = {})
|
323
|
+
return options[:form_id] if options[:form_id].present?
|
324
|
+
|
325
|
+
# TODO: Need to handle the other side of the 1:M use case where
|
326
|
+
# the field name needs to end in _ids, not _id.
|
327
|
+
field = "#{field}_id" if model.class.reflect_on_association(field).present?
|
328
|
+
if options[:index].present?
|
329
|
+
if options[:array_name].present?
|
330
|
+
if options[:base_name].present?
|
331
|
+
"#{options[:form_id_prefix]}#{options[:base_name]}[#{options[:array_name]}[#{options[:index]}][#{field}]]"
|
332
|
+
else
|
333
|
+
"#{options[:form_id_prefix]}#{options[:array_name]}[#{options[:index]}][#{field}]"
|
334
|
+
end
|
335
|
+
else
|
336
|
+
"#{options[:form_id_prefix]}#{model.class.to_s.underscore}[#{options[:index]}][#{field}]"
|
337
|
+
end
|
338
|
+
else
|
339
|
+
"#{options[:form_id_prefix]}#{model.class.to_s.underscore}[#{field}]"
|
340
|
+
end
|
341
|
+
end
|
342
|
+
|
322
343
|
def form_radio_button(model, field, options = {})
|
323
344
|
value = model.send(field)
|
324
345
|
classes = (%w[input-field col] + options[:classes] || []).join(' ')
|
data/lib/web47core/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: web47core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Schroeder
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-02
|
11
|
+
date: 2021-03-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|