chobble-forms 0.7.2 → 0.8.1
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/lib/chobble_forms/helpers.rb +17 -3
- data/lib/chobble_forms/version.rb +1 -1
- data/views/chobble_forms/_display_field.html.erb +17 -4
- 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: 83a50ed32d5816d85358c3cbfc349ce165e242ff5772abe2c2b9279159d73f89
|
|
4
|
+
data.tar.gz: 5274f3e96b1b5b2486b2bad34fcd0c424e6316d0ca4c46928873f740a5ea5716
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d3020e7fc68aabef0de03c4fb5394e29035456979f42978fd96238f53b0ef4433ad91d4d42b8e47d2d384e8122a0842971fd606cd089bfbaf55d66799f8e7fa3
|
|
7
|
+
data.tar.gz: 3de3e197ffd7e22b3c932e3cdd0eb30e79935e2509efca17002af168d8160172687797582909eb71f105bfe8ae3ab6f2283441faddf08cc9bb62da50f39ea460
|
|
@@ -23,11 +23,24 @@ module ChobbleForms
|
|
|
23
23
|
)
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
+
FieldValue = T.type_alias do
|
|
27
|
+
T.nilable(T.any(
|
|
28
|
+
String,
|
|
29
|
+
Integer,
|
|
30
|
+
Float,
|
|
31
|
+
Date,
|
|
32
|
+
DateTime,
|
|
33
|
+
Time,
|
|
34
|
+
T::Boolean,
|
|
35
|
+
T.untyped
|
|
36
|
+
))
|
|
37
|
+
end
|
|
38
|
+
|
|
26
39
|
FieldSetupResult = T.type_alias do
|
|
27
40
|
{
|
|
28
41
|
form_object: T.untyped,
|
|
29
42
|
i18n_base: String,
|
|
30
|
-
value:
|
|
43
|
+
value: FieldValue,
|
|
31
44
|
prefilled: T::Boolean,
|
|
32
45
|
field_label: String,
|
|
33
46
|
field_hint: T.nilable(String),
|
|
@@ -47,7 +60,7 @@ module ChobbleForms
|
|
|
47
60
|
build_field_setup_result(field_translations, value, prefilled)
|
|
48
61
|
end
|
|
49
62
|
|
|
50
|
-
sig { params(form_object: T.untyped, field: Symbol).returns([
|
|
63
|
+
sig { params(form_object: T.untyped, field: Symbol).returns([FieldValue, T::Boolean]) }
|
|
51
64
|
def get_field_value_and_prefilled_status(form_object, field)
|
|
52
65
|
return [nil, false] unless form_object&.object
|
|
53
66
|
|
|
@@ -114,6 +127,7 @@ module ChobbleForms
|
|
|
114
127
|
rows
|
|
115
128
|
step
|
|
116
129
|
type
|
|
130
|
+
value
|
|
117
131
|
].freeze, T::Array[Symbol])
|
|
118
132
|
|
|
119
133
|
sig { params(local_assigns: T::Hash[Symbol, LocalAssignValue]).void }
|
|
@@ -195,7 +209,7 @@ module ChobbleForms
|
|
|
195
209
|
end
|
|
196
210
|
end
|
|
197
211
|
|
|
198
|
-
sig { params(model: T.untyped, field: Symbol).returns({value:
|
|
212
|
+
sig { params(model: T.untyped, field: Symbol).returns({value: FieldValue, prefilled: T::Boolean}) }
|
|
199
213
|
def resolve_field_value(model, field)
|
|
200
214
|
return {value: nil, prefilled: false} if field.to_s.include?("password")
|
|
201
215
|
|
|
@@ -2,10 +2,23 @@
|
|
|
2
2
|
# Get i18n_base from section (already validated there)
|
|
3
3
|
setup = form_field_setup(field, local_assigns)
|
|
4
4
|
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
# Use provided value parameter if present, otherwise get from model
|
|
6
|
+
if local_assigns.key?(:value)
|
|
7
|
+
display_value = value
|
|
8
|
+
else
|
|
9
|
+
model_object = setup[:form_object].object
|
|
10
|
+
display_value = model_object.send(field) if model_object.respond_to?(field)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Format dates and times nicely
|
|
14
|
+
formatted_value = if display_value.is_a?(DateTime) || display_value.is_a?(Time)
|
|
15
|
+
display_value.strftime("%B %-d, %Y - %H:%M")
|
|
16
|
+
elsif display_value.is_a?(Date)
|
|
17
|
+
display_value.strftime("%B %-d, %Y")
|
|
18
|
+
else
|
|
19
|
+
display_value
|
|
20
|
+
end
|
|
8
21
|
%>
|
|
9
22
|
|
|
10
23
|
<%= setup[:form_object].label field, setup[:field_label] %>
|
|
11
|
-
<p><%=
|
|
24
|
+
<p><%= formatted_value %></p>
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: chobble-forms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.8.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Chobble.com
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
11
|
+
date: 2025-10-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|