metadata_presenter 2.17.11 → 2.17.12

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: 5c0fc8809f2ded3ff926abae242977d1e502bb49f2dfecc64c91c8fd43e3ca8d
4
- data.tar.gz: afaf9751bf92bfccdfb9b5ca8362b179b6999acab4efb1e098f51873ef15149e
3
+ metadata.gz: 83d44483b1324f5bd4feb59767282ae2356c985bfd7afc50be63335dd1c57dbe
4
+ data.tar.gz: 64dd7c4d4cd9c2815e1fada71c2780f60203b2530b305b0edd82a85833cf5f0b
5
5
  SHA512:
6
- metadata.gz: e738295503ef40d85ea5129be00bd0896e8f0b7273a27bce1f8203a3b12e7d2e4f50cc5d214f9503c308aa0d3033bbe69f31499b5584da64725ea90b77066fc9
7
- data.tar.gz: 0c4d1f59c8809212399ea14d8446dff1088d26446463a3eabf9ba6c0435df16c4a05901f2d66c5fde4ae969d16a0149b6b71505fda987bad2b4f13529a4bcaf7
6
+ metadata.gz: 6da916e33426cfbd2868b09aa0a92c16a78fbee45cf33016a24844686dfc82a8dc076c80538c2e5ab723e9448fd5a0a1802e06bea94abfe311922a046c94d190
7
+ data.tar.gz: 5af616852e99ec845cf63daf3eb630f9a6b6e83229f58a763df29f787fc0e940e8b7fd7f928a048687324469c7abbe78e611bca513936de80cf3a2838d2b7d64
@@ -1,6 +1,6 @@
1
1
  class MetadataPresenter::AutocompleteItem < MetadataPresenter::Metadata
2
2
  def id
3
- value
3
+ { text: text, value: value }.to_json
4
4
  end
5
5
 
6
6
  def name
@@ -10,6 +10,17 @@ class MetadataPresenter::Component < MetadataPresenter::Metadata
10
10
  # Threshold percentage at which the remaining count is shown
11
11
  VALIDATION_STRING_LENGTH_THRESHOLD = 75
12
12
 
13
+ # Overriding here because autocomplete component's items property is non interactable
14
+ # in the Editor therefore it does not need to exist in the data-fb-content-data
15
+ # attribute on the page. The data-fb-content-data attribute is what is used to
16
+ # update user interactable elements such as the component question or page section
17
+ # heading etc.
18
+ def to_json(*_args)
19
+ return super unless autocomplete?
20
+
21
+ JSON.parse(super).to_json(except: 'items')
22
+ end
23
+
13
24
  def to_partial_path
14
25
  "metadata_presenter/component/#{type}"
15
26
  end
@@ -25,7 +36,7 @@ class MetadataPresenter::Component < MetadataPresenter::Metadata
25
36
  end
26
37
 
27
38
  def item_klass
28
- type == 'autocomplete' ? MetadataPresenter::AutocompleteItem : MetadataPresenter::Item
39
+ autocomplete? ? MetadataPresenter::AutocompleteItem : MetadataPresenter::Item
29
40
  end
30
41
 
31
42
  SUPPORTS_BRANCHING = %w[radios checkboxes].freeze
@@ -34,6 +45,10 @@ class MetadataPresenter::Component < MetadataPresenter::Metadata
34
45
  type.in?(SUPPORTS_BRANCHING)
35
46
  end
36
47
 
48
+ def autocomplete?
49
+ type == 'autocomplete'
50
+ end
51
+
37
52
  def content?
38
53
  type == 'content'
39
54
  end
@@ -106,7 +106,7 @@ module MetadataPresenter
106
106
  end
107
107
 
108
108
  def autocomplete_component_present?
109
- components.any? { |component| component.type == 'autocomplete' }
109
+ components.any?(&:autocomplete?)
110
110
  end
111
111
 
112
112
  def assign_autocomplete_items(items)
@@ -83,5 +83,9 @@ module MetadataPresenter
83
83
  def upload(file_hash)
84
84
  file_hash['original_filename']
85
85
  end
86
+
87
+ def autocomplete(value)
88
+ JSON.parse(value)['text']
89
+ end
86
90
  end
87
91
  end
@@ -0,0 +1,7 @@
1
+ {
2
+ "4dc23b9c-9757-4526-813d-b43efbe07dad": [
3
+ { "text": "Afghanistan", "value": "AF"},
4
+ { "text": "Albania", "value": "AL"},
5
+ { "text": "Australia", "value": "AU"}
6
+ ]
7
+ }
@@ -1,3 +1,3 @@
1
1
  module MetadataPresenter
2
- VERSION = '2.17.11'.freeze
2
+ VERSION = '2.17.12'.freeze
3
3
  end
@@ -4,14 +4,12 @@
4
4
  "title": "Autocomplete",
5
5
  "description": "Let users select one option from an auto-completing list",
6
6
  "type": "object",
7
- "allOf": [
8
- {
9
- "$ref": "definition.select"
10
- }
11
- ],
12
7
  "properties": {
13
8
  "_type": {
14
9
  "const": "autocomplete"
10
+ },
11
+ "items": {
12
+ "$ref": "definition.select"
15
13
  }
16
14
  }
17
15
  }
@@ -2,15 +2,9 @@
2
2
  "$id": "http://gov.uk/schema/v1.0.0/definition/select",
3
3
  "_name": "definition.select",
4
4
  "title": "Select component definition",
5
- "properties": {
6
- "items": {
7
- "title": "Items",
8
- "description": "Items that users can select",
9
- "type": "array",
10
- "items": {
11
- "$ref": "definition.select_item"
12
- }
13
- }
5
+ "type": "array",
6
+ "items": {
7
+ "$ref": "definition.select_item"
14
8
  },
15
9
  "required": [
16
10
  "items"
@@ -17,12 +17,8 @@
17
17
  "type": "string"
18
18
  }
19
19
  },
20
- "allOf": [
21
- {
22
- "$ref": "definition.component"
23
- }
24
- ],
25
20
  "required": [
21
+ "text",
26
22
  "value"
27
23
  ],
28
24
  "category": [
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metadata_presenter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.17.11
4
+ version: 2.17.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - MoJ Forms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-27 00:00:00.000000000 Z
11
+ date: 2022-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_design_system_formbuilder
@@ -435,6 +435,7 @@ files:
435
435
  - fixtures/branching_8.png
436
436
  - fixtures/branching_9.json
437
437
  - fixtures/branching_9.png
438
+ - fixtures/countries.json
438
439
  - fixtures/exit_only_service.json
439
440
  - fixtures/invalid_content_page.json
440
441
  - fixtures/no_component_page.json