govuk_design_system_formbuilder 1.2.7 → 2.0.0b1
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/govuk_design_system_formbuilder/builder.rb +147 -72
- data/lib/govuk_design_system_formbuilder/containers/check_boxes_fieldset.rb +9 -9
- data/lib/govuk_design_system_formbuilder/containers/form_group.rb +4 -3
- data/lib/govuk_design_system_formbuilder/containers/radio_buttons_fieldset.rb +10 -10
- data/lib/govuk_design_system_formbuilder/elements/check_boxes/collection.rb +12 -12
- data/lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb +6 -2
- data/lib/govuk_design_system_formbuilder/elements/check_boxes/fieldset_check_box.rb +7 -3
- data/lib/govuk_design_system_formbuilder/elements/date.rb +8 -8
- data/lib/govuk_design_system_formbuilder/elements/file.rb +7 -7
- data/lib/govuk_design_system_formbuilder/elements/hint.rb +35 -8
- data/lib/govuk_design_system_formbuilder/elements/label.rb +6 -2
- data/lib/govuk_design_system_formbuilder/elements/legend.rb +1 -1
- data/lib/govuk_design_system_formbuilder/elements/radios/collection.rb +14 -14
- data/lib/govuk_design_system_formbuilder/elements/radios/collection_radio_button.rb +9 -1
- data/lib/govuk_design_system_formbuilder/elements/radios/fieldset_radio_button.rb +13 -5
- data/lib/govuk_design_system_formbuilder/elements/select.rb +11 -11
- data/lib/govuk_design_system_formbuilder/elements/text_area.rb +11 -11
- data/lib/govuk_design_system_formbuilder/traits/collection_item.rb +1 -1
- data/lib/govuk_design_system_formbuilder/traits/hint.rb +15 -2
- data/lib/govuk_design_system_formbuilder/traits/input.rb +8 -8
- data/lib/govuk_design_system_formbuilder/version.rb +1 -1
- metadata +4 -4
@@ -8,23 +8,23 @@ module GOVUKDesignSystemFormBuilder
|
|
8
8
|
include Traits::Label
|
9
9
|
include Traits::Supplemental
|
10
10
|
|
11
|
-
def initialize(builder, object_name, attribute_name,
|
11
|
+
def initialize(builder, object_name, attribute_name, hint:, label:, caption:, rows:, max_words:, max_chars:, threshold:, form_group:, **kwargs, &block)
|
12
12
|
super(builder, object_name, attribute_name, &block)
|
13
13
|
|
14
|
-
@label
|
15
|
-
@caption
|
16
|
-
@
|
17
|
-
@max_words
|
18
|
-
@max_chars
|
19
|
-
@threshold
|
20
|
-
@rows
|
21
|
-
@
|
22
|
-
@html_attributes
|
14
|
+
@label = label
|
15
|
+
@caption = caption
|
16
|
+
@hint = hint
|
17
|
+
@max_words = max_words
|
18
|
+
@max_chars = max_chars
|
19
|
+
@threshold = threshold
|
20
|
+
@rows = rows
|
21
|
+
@form_group = form_group
|
22
|
+
@html_attributes = kwargs
|
23
23
|
end
|
24
24
|
|
25
25
|
def html
|
26
26
|
Containers::CharacterCount.new(@builder, **character_count_options).html do
|
27
|
-
Containers::FormGroup.new(@builder, @object_name, @attribute_name,
|
27
|
+
Containers::FormGroup.new(@builder, @object_name, @attribute_name, **@form_group).html do
|
28
28
|
safe_join([label_element, supplemental_content, hint_element, error_element, text_area, limit_description])
|
29
29
|
end
|
30
30
|
end
|
@@ -2,7 +2,7 @@ module GOVUKDesignSystemFormBuilder
|
|
2
2
|
module Traits
|
3
3
|
module Hint
|
4
4
|
def hint_id
|
5
|
-
return nil
|
5
|
+
return nil unless hint_element.active?
|
6
6
|
|
7
7
|
build_id('hint')
|
8
8
|
end
|
@@ -10,7 +10,20 @@ module GOVUKDesignSystemFormBuilder
|
|
10
10
|
private
|
11
11
|
|
12
12
|
def hint_element
|
13
|
-
@hint_element ||= Elements::Hint.new(@builder, @object_name, @attribute_name,
|
13
|
+
@hint_element ||= Elements::Hint.new(@builder, @object_name, @attribute_name, **hint_content)
|
14
|
+
end
|
15
|
+
|
16
|
+
def hint_content
|
17
|
+
case @hint
|
18
|
+
when NilClass
|
19
|
+
{}
|
20
|
+
when Hash
|
21
|
+
@hint
|
22
|
+
when Proc
|
23
|
+
{ content: @hint }
|
24
|
+
else
|
25
|
+
fail(ArgumentError, %(hint must be a Proc or Hash))
|
26
|
+
end
|
14
27
|
end
|
15
28
|
end
|
16
29
|
end
|
@@ -1,19 +1,19 @@
|
|
1
1
|
module GOVUKDesignSystemFormBuilder
|
2
2
|
module Traits
|
3
3
|
module Input
|
4
|
-
def initialize(builder, object_name, attribute_name,
|
4
|
+
def initialize(builder, object_name, attribute_name, hint:, label:, caption:, width:, form_group:, **kwargs, &block)
|
5
5
|
super(builder, object_name, attribute_name, &block)
|
6
6
|
|
7
|
-
@width
|
8
|
-
@label
|
9
|
-
@caption
|
10
|
-
@
|
11
|
-
@html_attributes
|
12
|
-
@
|
7
|
+
@width = width
|
8
|
+
@label = label
|
9
|
+
@caption = caption
|
10
|
+
@hint = hint
|
11
|
+
@html_attributes = kwargs
|
12
|
+
@form_group = form_group
|
13
13
|
end
|
14
14
|
|
15
15
|
def html
|
16
|
-
Containers::FormGroup.new(@builder, @object_name, @attribute_name,
|
16
|
+
Containers::FormGroup.new(@builder, @object_name, @attribute_name, **@form_group).html do
|
17
17
|
safe_join([label_element, supplemental_content, hint_element, error_element, input])
|
18
18
|
end
|
19
19
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govuk_design_system_formbuilder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0b1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Yates
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionview
|
@@ -314,9 +314,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
314
314
|
version: '0'
|
315
315
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
316
316
|
requirements:
|
317
|
-
- - "
|
317
|
+
- - ">"
|
318
318
|
- !ruby/object:Gem::Version
|
319
|
-
version:
|
319
|
+
version: 1.3.1
|
320
320
|
requirements: []
|
321
321
|
rubygems_version: 3.1.2
|
322
322
|
signing_key:
|