phlexi-form 0.14.1 → 0.14.3
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 646d0fa05822cf1814bd5b69b124f7f1601996a17033299721e9a18e90fff91a
|
|
4
|
+
data.tar.gz: e89da4957a05d123399d716258c6f46750a4e48fede058dad531573806f2c5f7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 54be074be2f6131b9ab0d1ef85164527db01b4a801a3834d0b8f0862953cda5e3e0cb11a84abffecce191519bb8630b972cc548aff9fc214e4c532ab17e6df6f
|
|
7
|
+
data.tar.gz: 0260d7469abaeb372b7d7299e6e0212241560c4683e30d6a7b708fba552f6292ac83eff4063f4a9feb15a646bfca57bc6bd751af183326b7f478610494511862
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [0.14.3]
|
|
4
|
+
|
|
5
|
+
- Fix `Checkbox#checked?` so boolean-ish values from JSON/text columns or params
|
|
6
|
+
(`"f"`, `"F"`, `"FALSE"`, `"off"`, `"OFF"`, `0`, `:false`, ...) render unchecked.
|
|
7
|
+
The recognised falsey set now mirrors Rails' `ActiveModel::Type::Boolean::FALSE_VALUES`
|
|
8
|
+
instead of only `""`, `"0"` and lowercase `"false"`.
|
|
9
|
+
|
|
3
10
|
## [0.2.0] - 2024-07-31
|
|
4
11
|
|
|
5
12
|
- Initial release
|
|
@@ -27,12 +27,20 @@ module Phlexi
|
|
|
27
27
|
@include_hidden != false
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
+
# Stringified form of Rails' ActiveModel::Type::Boolean::FALSE_VALUES.
|
|
31
|
+
# Kept as a literal set (rather than depending on activemodel) so a
|
|
32
|
+
# boolean-ish value from a JSON/text column or params — "f", "F",
|
|
33
|
+
# "FALSE", "off", 0, :false, ... — is recognised as unchecked. The
|
|
34
|
+
# component compares field.dom.value, which stringifies the underlying
|
|
35
|
+
# value, so the integer/symbol/boolean forms collapse onto these.
|
|
36
|
+
FALSE_VALUES = ["", "0", "f", "F", "false", "FALSE", "off", "OFF"].freeze
|
|
37
|
+
|
|
30
38
|
def checked?
|
|
31
39
|
return false if field.dom.value == @unchecked_value
|
|
32
40
|
|
|
33
41
|
if @checked_value == "1" # using default values
|
|
34
42
|
# handle nils, numbers and booleans
|
|
35
|
-
!
|
|
43
|
+
!FALSE_VALUES.include?(field.dom.value)
|
|
36
44
|
else # custom value, so explicit match
|
|
37
45
|
field.dom.value == @checked_value
|
|
38
46
|
end
|
|
@@ -9,6 +9,7 @@ module Phlexi
|
|
|
9
9
|
|
|
10
10
|
def build_attributes
|
|
11
11
|
super
|
|
12
|
+
@raw_choices = attributes.delete(:choices)
|
|
12
13
|
@label_method = attributes.delete(:label_method)
|
|
13
14
|
@value_method = attributes.delete(:value_method)
|
|
14
15
|
@group_method = attributes.delete(:group_method)
|
|
@@ -17,7 +18,7 @@ module Phlexi
|
|
|
17
18
|
|
|
18
19
|
def choices
|
|
19
20
|
@choices ||= begin
|
|
20
|
-
collection =
|
|
21
|
+
collection = @raw_choices || field.choices
|
|
21
22
|
build_choice_mapper(collection)
|
|
22
23
|
end
|
|
23
24
|
end
|
data/lib/phlexi/form/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: phlexi-form
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.14.
|
|
4
|
+
version: 0.14.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stefan Froelich
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-07-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: phlex
|