metadata_presenter 0.28.3 → 0.28.8
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/helpers/metadata_presenter/application_helper.rb +0 -4
- data/app/models/metadata_presenter/metadata.rb +4 -0
- data/app/models/metadata_presenter/page.rb +22 -6
- data/app/views/layouts/metadata_presenter/application.html.erb +1 -1
- data/app/views/metadata_presenter/component/_components.html.erb +3 -3
- data/app/views/metadata_presenter/footer/_meta.html.erb +1 -1
- data/app/views/metadata_presenter/header/show.html.erb +2 -0
- data/app/views/metadata_presenter/page/checkanswers.html.erb +1 -1
- data/fixtures/version.json +9 -1
- data/lib/metadata_presenter/version.rb +1 -1
- 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: cdaa1c74990ae5ceea6cd7b25f78da2c45398cb60ed27b9945597fb19b95e967
|
4
|
+
data.tar.gz: 6ece822ec4049fb40c54f9c5ef1ed481af7bdd603327865ba4cdd0da8ffb9c4e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0cd4781efff34fd833465c3bffefa4266c486aaa1a3bf10fe12e2239e58d0fecf573776c4c183450a7f3d52438898f6f7650abc8fb9f902a188750273fa2129c
|
7
|
+
data.tar.gz: 95f440d8b1b4486435e970ef683d2520ebf716ef50b3cf1a007201d3e64c020550c2a0ce3db76707324ba292bd824cde3b6be12536ee1c56c15efa36efb4f490
|
@@ -5,22 +5,29 @@ module MetadataPresenter
|
|
5
5
|
class Page < MetadataPresenter::Metadata
|
6
6
|
include ActiveModel::Validations
|
7
7
|
|
8
|
-
|
8
|
+
NOT_EDITABLE = %i[
|
9
9
|
_uuid
|
10
|
-
|
10
|
+
_id
|
11
|
+
_type
|
12
|
+
steps
|
13
|
+
add_component
|
14
|
+
add_extra_component
|
15
|
+
].freeze
|
11
16
|
|
12
17
|
def ==(other)
|
13
18
|
id == other.id if other.respond_to? :id
|
14
19
|
end
|
15
20
|
|
16
21
|
def editable_attributes
|
17
|
-
to_h.reject { |k, _| k.in?(
|
22
|
+
to_h.reject { |k, _| k.in?(NOT_EDITABLE) }
|
18
23
|
end
|
19
24
|
|
20
25
|
def components
|
21
|
-
metadata.components
|
22
|
-
|
23
|
-
|
26
|
+
to_components(metadata.components, collection: :components)
|
27
|
+
end
|
28
|
+
|
29
|
+
def extra_components
|
30
|
+
to_components(metadata.extra_components, collection: :extra_components)
|
24
31
|
end
|
25
32
|
|
26
33
|
def to_partial_path
|
@@ -41,6 +48,15 @@ module MetadataPresenter
|
|
41
48
|
|
42
49
|
private
|
43
50
|
|
51
|
+
def to_components(node_components, collection:)
|
52
|
+
node_components&.map do |component|
|
53
|
+
MetadataPresenter::Component.new(
|
54
|
+
component.merge(collection: collection),
|
55
|
+
editor: editor?
|
56
|
+
)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
44
60
|
def page_components(page_type)
|
45
61
|
values = Rails.application.config.page_components[page_type]
|
46
62
|
if values.blank?
|
@@ -1,14 +1,14 @@
|
|
1
|
-
<%
|
1
|
+
<% components.each_with_index do |component, index| %>
|
2
2
|
<div class="fb-editable"
|
3
3
|
id="<%= component.id %>"
|
4
4
|
data-fb-content-type="<%= component.type %>"
|
5
|
-
data-fb-content-id="<%= "page[
|
5
|
+
data-fb-content-id="<%= "page[#{component.collection}[#{index}]]" %>"
|
6
6
|
data-fb-content-data="<%= component.to_json %>">
|
7
7
|
|
8
8
|
<%= render partial: component, locals: {
|
9
9
|
f: f,
|
10
10
|
component: component,
|
11
|
-
component_id: "page[
|
11
|
+
component_id: "page[#{component.collection}[#{index}]]",
|
12
12
|
input_title: main_title(
|
13
13
|
component: component,
|
14
14
|
tag: :h2,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<h2 class="govuk-visually-hidden">Support links</h2>
|
2
2
|
<ul class="govuk-footer__inline-list">
|
3
|
-
<%
|
3
|
+
<% service.meta.items.each do |item| %>
|
4
4
|
<li class="govuk-footer__inline-list-item">
|
5
5
|
<a class="govuk-footer__link" href=<%= File.join(request.script_name, item.href) %>><%= item.text %></a>
|
6
6
|
</li>
|
@@ -1,4 +1,6 @@
|
|
1
1
|
<header class="govuk-header" role="banner" data-module="govuk-header">
|
2
|
+
<a href="#main-content" class="govuk-skip-link">Skip to main content</a>
|
3
|
+
|
2
4
|
<div class="govuk-header__container govuk-width-container">
|
3
5
|
<div class="govuk-header__logo">
|
4
6
|
<a href="/" class="govuk-header__link govuk-header__link--homepage">
|
@@ -44,7 +44,7 @@
|
|
44
44
|
</dd>
|
45
45
|
<dd class="govuk-summary-list__actions">
|
46
46
|
<%= link_to(
|
47
|
-
change_answer_path(url: page_answers_presenter.url),
|
47
|
+
editable? ? '#' : change_answer_path(url: page_answers_presenter.url),
|
48
48
|
class: 'govuk-link'
|
49
49
|
) do %>
|
50
50
|
Change<span class="govuk-visually-hidden"> Your answer for <%= page_answers_presenter.humanised_title %></span>
|
data/fixtures/version.json
CHANGED
@@ -346,12 +346,20 @@
|
|
346
346
|
"url": "/check-answers",
|
347
347
|
"components": [
|
348
348
|
{
|
349
|
+
"_uuid": "256291c2-8ffa-4bda-8282-88e0724ccd10",
|
349
350
|
"_id": "check-answers_content_1",
|
350
351
|
"_type": "content",
|
351
352
|
"content": "Check yourself before you wreck yourself."
|
352
353
|
}
|
353
354
|
],
|
354
|
-
"extra_components": [
|
355
|
+
"extra_components": [
|
356
|
+
{
|
357
|
+
"_uuid": "09961c6a-29f8-4d4f-a6d2-af00cff15536",
|
358
|
+
"_id": "check-answers_content_1",
|
359
|
+
"_type": "content",
|
360
|
+
"content": "Take the cannoli."
|
361
|
+
}
|
362
|
+
]
|
355
363
|
},
|
356
364
|
{
|
357
365
|
"_uuid": "b238a22f-c180-48d0-a7d9-8aad2036f1f2",
|
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: 0.28.
|
4
|
+
version: 0.28.8
|
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-04-
|
11
|
+
date: 2021-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: govuk_design_system_formbuilder
|