metadata_presenter 2.1.1 → 2.2.0
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/models/metadata_presenter/page.rb +23 -10
- data/app/presenters/metadata_presenter/page_answers_presenter.rb +1 -1
- data/app/views/metadata_presenter/page/checkanswers.html.erb +4 -4
- data/app/views/metadata_presenter/page/confirmation.html.erb +2 -2
- data/app/views/metadata_presenter/page/content.html.erb +2 -2
- data/app/views/metadata_presenter/page/multiplequestions.html.erb +2 -2
- data/config/initializers/{page_components.rb → supported_components.rb} +1 -1
- data/lib/metadata_presenter/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ec8517c93b646b82f9084516869dd500189ee28718b67cbf15f681e71b3ae83f
|
4
|
+
data.tar.gz: 31476c840217b5fa8bceb6ccd1e3e008e33784a3fb5506018192e54901e0330a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4bace053abc5af0fc2ba23a7d64348a2bc23aefed4df1e834138988138d6c24fb04ffd552a594537794e76b35308d98e5bf75efed844d99266fc88f0d3b0a861
|
7
|
+
data.tar.gz: aa40d60598b4217c2a0296e61ec5500d1b6df03037783c63de58415d18c1a1819866978e275518fb4e794676f643f1a7b9525c6f3c5e9319a37a66cfc70cfc15
|
@@ -12,6 +12,7 @@ module MetadataPresenter
|
|
12
12
|
add_component
|
13
13
|
add_extra_component
|
14
14
|
].freeze
|
15
|
+
QUESTION_PAGES = %w[page.singlequestion page.multiplequestions].freeze
|
15
16
|
|
16
17
|
def editable_attributes
|
17
18
|
to_h.reject { |k, _| k.in?(NOT_EDITABLE) }
|
@@ -33,11 +34,19 @@ module MetadataPresenter
|
|
33
34
|
to_components(metadata.extra_components, collection: :extra_components)
|
34
35
|
end
|
35
36
|
|
36
|
-
def
|
37
|
-
|
37
|
+
def input_components
|
38
|
+
all_components.reject(&:content?)
|
39
|
+
end
|
40
|
+
|
41
|
+
def content_components
|
42
|
+
all_components.select(&:content?)
|
43
|
+
end
|
44
|
+
|
45
|
+
def supported_components_by_type(type)
|
46
|
+
supported = supported_components(raw_type)[type]
|
38
47
|
|
39
48
|
all_components.select do |component|
|
40
|
-
|
49
|
+
supported.include?(component.type)
|
41
50
|
end
|
42
51
|
end
|
43
52
|
|
@@ -49,12 +58,12 @@ module MetadataPresenter
|
|
49
58
|
"metadata_presenter/#{type.gsub('.', '/')}"
|
50
59
|
end
|
51
60
|
|
52
|
-
def
|
53
|
-
|
61
|
+
def supported_input_components
|
62
|
+
supported_components(raw_type)[:input]
|
54
63
|
end
|
55
64
|
|
56
|
-
def
|
57
|
-
|
65
|
+
def supported_content_components
|
66
|
+
supported_components(raw_type)[:content]
|
58
67
|
end
|
59
68
|
|
60
69
|
def upload_components
|
@@ -65,6 +74,10 @@ module MetadataPresenter
|
|
65
74
|
type == 'page.standalone'
|
66
75
|
end
|
67
76
|
|
77
|
+
def question_page?
|
78
|
+
type.in?(QUESTION_PAGES)
|
79
|
+
end
|
80
|
+
|
68
81
|
def title
|
69
82
|
return heading if heading?
|
70
83
|
|
@@ -87,10 +100,10 @@ module MetadataPresenter
|
|
87
100
|
end
|
88
101
|
end
|
89
102
|
|
90
|
-
def
|
91
|
-
values = Rails.application.config.
|
103
|
+
def supported_components(page_type)
|
104
|
+
values = Rails.application.config.supported_components[page_type]
|
92
105
|
if values.blank?
|
93
|
-
raise PageComponentsNotDefinedError, "No
|
106
|
+
raise PageComponentsNotDefinedError, "No supported components defined for #{page_type} in config initialiser"
|
94
107
|
end
|
95
108
|
|
96
109
|
values
|
@@ -10,7 +10,7 @@ module MetadataPresenter
|
|
10
10
|
|
11
11
|
def self.map(view:, pages:, answers:)
|
12
12
|
user_input_pages(pages).map { |page|
|
13
|
-
Array(page.
|
13
|
+
Array(page.supported_components_by_type(:input)).map do |component|
|
14
14
|
new(
|
15
15
|
view: view,
|
16
16
|
component: component,
|
@@ -16,8 +16,8 @@
|
|
16
16
|
components: @page.extra_components,
|
17
17
|
tag: nil,
|
18
18
|
classes: nil,
|
19
|
-
input_components: @page.
|
20
|
-
content_components: @page.
|
19
|
+
input_components: @page.supported_input_components,
|
20
|
+
content_components: @page.supported_content_components
|
21
21
|
} %>
|
22
22
|
|
23
23
|
<dl class="fb-block fb-block-answers govuk-summary-list">
|
@@ -80,8 +80,8 @@
|
|
80
80
|
components: @page.components,
|
81
81
|
tag: nil,
|
82
82
|
classes: nil,
|
83
|
-
input_components: @page.
|
84
|
-
content_components: @page.
|
83
|
+
input_components: @page.supported_input_components,
|
84
|
+
content_components: @page.supported_content_components
|
85
85
|
} %>
|
86
86
|
|
87
87
|
<button <%= 'disabled' if editable? %> data-prevent-double-click="true" class="fb-block fb-block-actions govuk-button" data-module="govuk-button" data-block-id="actions" data-block-type="actions">
|
@@ -29,7 +29,7 @@
|
|
29
29
|
components: @page.components,
|
30
30
|
tag: nil,
|
31
31
|
classes: nil,
|
32
|
-
input_components: @page.
|
33
|
-
content_components: @page.
|
32
|
+
input_components: @page.supported_input_components,
|
33
|
+
content_components: @page.supported_content_components
|
34
34
|
} %>
|
35
35
|
</div>
|
@@ -21,8 +21,8 @@
|
|
21
21
|
components: @page.components,
|
22
22
|
tag: nil,
|
23
23
|
classes: nil,
|
24
|
-
input_components: @page.
|
25
|
-
content_components: @page.
|
24
|
+
input_components: @page.supported_input_components,
|
25
|
+
content_components: @page.supported_content_components
|
26
26
|
} %>
|
27
27
|
|
28
28
|
<%= f.govuk_submit(disabled: editable?) %>
|
@@ -13,8 +13,8 @@
|
|
13
13
|
components: @page.components,
|
14
14
|
tag: :h2,
|
15
15
|
classes: 'govuk-heading-m govuk-!-margin-top-8',
|
16
|
-
input_components: @page.
|
17
|
-
content_components: @page.
|
16
|
+
input_components: @page.supported_input_components,
|
17
|
+
content_components: @page.supported_content_components
|
18
18
|
}
|
19
19
|
%>
|
20
20
|
|
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.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- MoJ Online
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-08-
|
11
|
+
date: 2021-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: govuk_design_system_formbuilder
|
@@ -343,8 +343,8 @@ files:
|
|
343
343
|
- config/initializers/default_metadata.rb
|
344
344
|
- config/initializers/default_text.rb
|
345
345
|
- config/initializers/inflections.rb
|
346
|
-
- config/initializers/page_components.rb
|
347
346
|
- config/initializers/schemas.rb
|
347
|
+
- config/initializers/supported_components.rb
|
348
348
|
- config/routes.rb
|
349
349
|
- default_metadata/component/checkboxes.json
|
350
350
|
- default_metadata/component/content.json
|