web47core 1.1.9 → 1.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|