metadata_presenter 0.18.3 → 0.20.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/helpers/metadata_presenter/application_helper.rb +4 -0
- data/app/helpers/metadata_presenter/default_text.rb +7 -0
- data/app/models/metadata_presenter/component.rb +1 -5
- data/app/models/metadata_presenter/item.rb +13 -0
- data/app/models/metadata_presenter/metadata.rb +8 -2
- data/app/models/metadata_presenter/page.rb +1 -1
- data/app/models/metadata_presenter/service.rb +3 -1
- data/app/views/metadata_presenter/attribute/_body.html.erb +8 -0
- data/app/views/metadata_presenter/attribute/_lede.html.erb +8 -0
- data/app/views/metadata_presenter/attribute/_section_heading.html.erb +8 -0
- data/app/views/metadata_presenter/component/_checkboxes.html.erb +4 -1
- data/app/views/metadata_presenter/component/_content.html.erb +1 -0
- data/app/views/metadata_presenter/component/_date.html.erb +4 -1
- data/app/views/metadata_presenter/component/_number.html.erb +4 -1
- data/app/views/metadata_presenter/component/_radios.html.erb +4 -1
- data/app/views/metadata_presenter/component/_text.html.erb +4 -1
- data/app/views/metadata_presenter/component/_textarea.html.erb +4 -1
- data/app/views/metadata_presenter/page/checkanswers.html.erb +4 -21
- data/app/views/metadata_presenter/page/confirmation.html.erb +5 -17
- data/app/views/metadata_presenter/page/content.html.erb +5 -22
- data/app/views/metadata_presenter/page/multiplequestions.html.erb +2 -7
- data/app/views/metadata_presenter/page/start.html.erb +5 -22
- data/config/initializers/default_text.rb +5 -0
- data/default_metadata/component/checkboxes.json +7 -4
- data/default_metadata/component/date.json +2 -1
- data/default_metadata/component/number.json +2 -1
- data/default_metadata/component/radios.json +7 -4
- data/default_metadata/component/text.json +1 -1
- data/default_metadata/component/textarea.json +1 -1
- data/default_metadata/page/content.json +2 -2
- data/default_metadata/page/multiplequestions.json +1 -1
- data/default_metadata/page/singlequestion.json +1 -1
- data/default_text/content.json +7 -0
- data/lib/metadata_presenter/version.rb +1 -1
- metadata +10 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9104ffa15172aa0c05b93c6fcbcbed224882e509009f55c821e295d363744352
|
4
|
+
data.tar.gz: 8b2aafe365433397daf8d8c36a3b720326ec4fb2e88d1b371cd61bf2df2678e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 84da29c93270a93857ac9c3e5c882ff64af15d5f5f58bfb75e770352e2cff2743a6d2818bbe9fb267ed470ea317bcb1c6ac828c9fc399f89c3e20f51394ab7d5
|
7
|
+
data.tar.gz: 230815be659879b0da6035edd3b5161f2cef2ba72bce958f4bfa0e83bf6888ec801a365fc5dee308f76d8e5c7c7e6b66029f4bb44a03881fe1ae58e8ae8554d0
|
@@ -9,11 +9,7 @@ class MetadataPresenter::Component < MetadataPresenter::Metadata
|
|
9
9
|
|
10
10
|
def items
|
11
11
|
metadata.items.map do |item|
|
12
|
-
|
13
|
-
id: item['label'],
|
14
|
-
name: item['label'],
|
15
|
-
description: item['hint']
|
16
|
-
)
|
12
|
+
MetadataPresenter::Item.new(item, editor: editor?)
|
17
13
|
end
|
18
14
|
end
|
19
15
|
end
|
@@ -4,8 +4,9 @@ class MetadataPresenter::Metadata
|
|
4
4
|
|
5
5
|
attr_reader :metadata
|
6
6
|
|
7
|
-
def initialize(metadata)
|
7
|
+
def initialize(metadata, editor: false)
|
8
8
|
@metadata = OpenStruct.new(metadata)
|
9
|
+
@editor = editor
|
9
10
|
end
|
10
11
|
|
11
12
|
def to_json
|
@@ -25,6 +26,11 @@ class MetadataPresenter::Metadata
|
|
25
26
|
end
|
26
27
|
|
27
28
|
def method_missing(method_name, *args, &block)
|
28
|
-
metadata.send(method_name, *args, &block)
|
29
|
+
value = metadata.send(method_name, *args, &block)
|
30
|
+
value.blank? && editor? ? MetadataPresenter::DefaultText[method_name] : value
|
31
|
+
end
|
32
|
+
|
33
|
+
def editor?
|
34
|
+
@editor.present?
|
29
35
|
end
|
30
36
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
class MetadataPresenter::Service < MetadataPresenter::Metadata
|
2
2
|
def pages
|
3
|
-
@_pages ||= metadata.pages.map
|
3
|
+
@_pages ||= metadata.pages.map do |page|
|
4
|
+
MetadataPresenter::Page.new(page, editor: editor?)
|
5
|
+
end
|
4
6
|
end
|
5
7
|
|
6
8
|
def start_page
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<% if @page.section_heading %>
|
2
|
+
<p class="fb-editable govuk-caption-l fb-section_heading"
|
3
|
+
data-fb-content-type="element"
|
4
|
+
data-fb-content-id="page[section_heading]"
|
5
|
+
data-fb-default-text="<%= default_text('section_heading') %>">
|
6
|
+
<%= @page.section_heading %>
|
7
|
+
</p>
|
8
|
+
<%- end %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= to_markdown(component.html) %>
|
@@ -1,7 +1,10 @@
|
|
1
1
|
<%=
|
2
2
|
f.govuk_text_field component.id.to_sym,
|
3
3
|
label: { text: input_title },
|
4
|
-
hint: {
|
4
|
+
hint: {
|
5
|
+
data: { "fb-default-text" => default_text('hint') },
|
6
|
+
text: component.hint
|
7
|
+
},
|
5
8
|
name: "answers[#{component.name}]",
|
6
9
|
width: component.width_class_input.to_i
|
7
10
|
%>
|
@@ -1,7 +1,10 @@
|
|
1
1
|
<%=
|
2
2
|
f.govuk_text_area component.id.to_sym,
|
3
3
|
label: { text: input_title },
|
4
|
-
hint: {
|
4
|
+
hint: {
|
5
|
+
data: { "fb-default-text" => default_text('hint') },
|
6
|
+
text: component.hint
|
7
|
+
},
|
5
8
|
name: "answers[#{component.name}]",
|
6
9
|
max_chars: component.maxchars,
|
7
10
|
max_words: component.maxwords,
|
@@ -1,12 +1,7 @@
|
|
1
1
|
<div class="govuk-grid-row">
|
2
2
|
<div class="govuk-grid-column-two-thirds">
|
3
|
-
|
4
|
-
|
5
|
-
data-fb-content-type="element"
|
6
|
-
data-fb-content-id="page[section_heading]">
|
7
|
-
<%= @page.section_heading %>
|
8
|
-
</p>
|
9
|
-
<% end %>
|
3
|
+
|
4
|
+
<%= render partial: 'metadata_presenter/attribute/section_heading' %>
|
10
5
|
|
11
6
|
<% if @page.heading.present? %>
|
12
7
|
<h1 class="fb-editable govuk-heading-xl"
|
@@ -16,21 +11,9 @@
|
|
16
11
|
</h1>
|
17
12
|
<% end %>
|
18
13
|
|
19
|
-
|
20
|
-
<p class="fb-editable govuk-body-l"
|
21
|
-
data-fb-content-type="element"
|
22
|
-
data-fb-content-id="page[lede]">
|
23
|
-
<%= @page.lede %>
|
24
|
-
</p>
|
25
|
-
<% end %>
|
14
|
+
<%= render 'metadata_presenter/attribute/lede' %>
|
26
15
|
|
27
|
-
|
28
|
-
<div class="fb-body fb-editable govuk-prose-scope"
|
29
|
-
data-fb-content-type="content"
|
30
|
-
data-fb-content-id="page[body]">
|
31
|
-
<%= @page.body %>
|
32
|
-
</div>
|
33
|
-
<% end %>
|
16
|
+
<%= render 'metadata_presenter/attribute/body' %>
|
34
17
|
|
35
18
|
<%= form_for @page, url: reserved_submissions_path do |f| %>
|
36
19
|
<div data-block-id="page.checkanswers.answers" data-block-type="answers">
|
@@ -5,23 +5,11 @@
|
|
5
5
|
<%= @page.heading %>
|
6
6
|
</h1>
|
7
7
|
|
8
|
-
|
9
|
-
<p class="fb-editable govuk-panel__body"
|
10
|
-
data-fb-content-type="element"
|
11
|
-
data-fb-content-id="page[lede]">
|
12
|
-
<%= @page.lede %>
|
13
|
-
</p>
|
14
|
-
<% end %>
|
8
|
+
<%= render 'metadata_presenter/attribute/lede' %>
|
15
9
|
</div>
|
16
10
|
|
17
|
-
|
18
|
-
<div class="govuk-grid-
|
19
|
-
|
20
|
-
<div class="fb-editable fb-body govuk-prose-scope"
|
21
|
-
data-fb-content-type="content"
|
22
|
-
data-fb-content-id="page[body]">
|
23
|
-
<%= @page.body %>
|
24
|
-
</div>
|
25
|
-
</div>
|
11
|
+
<div class="govuk-grid-row">
|
12
|
+
<div class="govuk-grid-column-two-thirds">
|
13
|
+
<%= render 'metadata_presenter/attribute/body' %>
|
26
14
|
</div>
|
27
|
-
|
15
|
+
</div>
|
@@ -1,37 +1,20 @@
|
|
1
1
|
<div class="fb-main-grid-wrapper" data-fb-pagetype="<%= @page.type %>">
|
2
2
|
<div class="govuk-grid-row">
|
3
3
|
<div class="govuk-grid-column-two-thirds">
|
4
|
-
|
5
|
-
|
6
|
-
data-fb-content-type="element"
|
7
|
-
data-fb-content-id="page[section_heading]">
|
8
|
-
<%= @page.section_heading.html_safe %>
|
9
|
-
</p>
|
10
|
-
<%- end %>
|
4
|
+
|
5
|
+
<%= render 'metadata_presenter/attribute/section_heading' %>
|
11
6
|
|
12
7
|
<% if @page.heading %>
|
13
8
|
<h1 class="fb-editable govuk-heading-xl"
|
14
9
|
data-fb-content-id="page[heading]"
|
15
10
|
data-fb-content-type="element">
|
16
|
-
<%= @page.heading
|
11
|
+
<%= @page.heading %>
|
17
12
|
</h1>
|
18
13
|
<% end %>
|
19
14
|
|
20
|
-
|
21
|
-
<div class="fb-editable govuk-body-l"
|
22
|
-
data-fb-content-id="page[lede]"
|
23
|
-
data-fb-content-type="element">
|
24
|
-
<%= @page.lede.html_safe %>
|
25
|
-
</div>
|
26
|
-
<%- end %>
|
15
|
+
<%= render 'metadata_presenter/attribute/lede' %>
|
27
16
|
|
28
|
-
|
29
|
-
<div class="fb-editable"
|
30
|
-
data-fb-content-id="page[body]"
|
31
|
-
data-fb-content-type="content">
|
32
|
-
<%= to_markdown(@page.body) %>
|
33
|
-
</div>
|
34
|
-
<%- end %>
|
17
|
+
<%= render 'metadata_presenter/attribute/body' %>
|
35
18
|
|
36
19
|
<%= form_for @page_answers, as: :answers, url: @page.url, method: :post do |f| %>
|
37
20
|
<%= f.govuk_error_summary %>
|
@@ -1,13 +1,8 @@
|
|
1
1
|
<div class="fb-main-grid-wrapper" data-block-id="<%= @page.id %>" data-block-type="page" data-block-pagetype="<%= @page.type %>">
|
2
2
|
<div class="govuk-grid-row">
|
3
3
|
<div class="govuk-grid-column-two-thirds">
|
4
|
-
|
5
|
-
|
6
|
-
data-fb-content-type="element"
|
7
|
-
data-fb-content-id="page[section_heading]">
|
8
|
-
<%= @page.section_heading.html_safe %>
|
9
|
-
</p>
|
10
|
-
<%- end %>
|
4
|
+
|
5
|
+
<%= render 'metadata_presenter/attribute/section_heading' %>
|
11
6
|
|
12
7
|
<h1 class="govuk-heading-xl"><%= @page.heading %></h1>
|
13
8
|
|
@@ -1,37 +1,20 @@
|
|
1
1
|
<div class="fb-main-grid-wrapper" data-fb-pagetype="<%= @page.type %>">
|
2
2
|
<div class="govuk-grid-row">
|
3
3
|
<div class="govuk-grid-column-two-thirds">
|
4
|
-
|
5
|
-
|
6
|
-
data-fb-content-type="element"
|
7
|
-
data-fb-content-id="page[section_heading]">
|
8
|
-
<%= @page.section_heading.html_safe %>
|
9
|
-
</p>
|
10
|
-
<%- end %>
|
4
|
+
|
5
|
+
<%= render 'metadata_presenter/attribute/section_heading' %>
|
11
6
|
|
12
7
|
<% if @page.heading %>
|
13
8
|
<h1 class="fb-editable govuk-heading-xl"
|
14
9
|
data-fb-content-id="page[heading]"
|
15
10
|
data-fb-content-type="element">
|
16
|
-
<%= @page.heading
|
11
|
+
<%= @page.heading %>
|
17
12
|
</h1>
|
18
13
|
<% end %>
|
19
14
|
|
20
|
-
|
21
|
-
<div class="fb-editable"
|
22
|
-
data-fb-content-id="page[lede]"
|
23
|
-
data-fb-content-type="element">
|
24
|
-
<%= @page.lede.html_safe %>
|
25
|
-
</div>
|
26
|
-
<%- end %>
|
15
|
+
<%= render 'metadata_presenter/attribute/lede' %>
|
27
16
|
|
28
|
-
|
29
|
-
<div class="fb-editable"
|
30
|
-
data-fb-content-id="page[body]"
|
31
|
-
data-fb-content-type="content">
|
32
|
-
<%= to_markdown(@page.body) %>
|
33
|
-
</div>
|
34
|
-
<%- end %>
|
17
|
+
<%= render 'metadata_presenter/attribute/body' %>
|
35
18
|
|
36
19
|
<%= form_tag(root_path, method: :post) do %>
|
37
20
|
<button <%= 'disabled' if editable? %> class='govuk-button govuk-button--start govuk-!-margin-top-2'>
|
@@ -2,23 +2,26 @@
|
|
2
2
|
"_id": "component.checkboxes",
|
3
3
|
"_type": "checkboxes",
|
4
4
|
"errors": {},
|
5
|
-
"hint": "
|
5
|
+
"hint": "",
|
6
6
|
"items": [
|
7
7
|
{
|
8
8
|
"_id": "component_checkbox_1",
|
9
9
|
"_type": "checkbox",
|
10
10
|
"label": "Option",
|
11
|
-
"hint": "
|
11
|
+
"hint": "",
|
12
12
|
"value": "value-1"
|
13
13
|
},
|
14
14
|
{
|
15
15
|
"_id": "component_checkbox_2",
|
16
16
|
"_type": "checkbox",
|
17
17
|
"label": "Option",
|
18
|
-
"hint": "
|
18
|
+
"hint": "",
|
19
19
|
"value": "value-2"
|
20
20
|
}
|
21
21
|
],
|
22
22
|
"name": "component-name",
|
23
|
-
"legend": "Question"
|
23
|
+
"legend": "Question",
|
24
|
+
"validation": {
|
25
|
+
"required": true
|
26
|
+
}
|
24
27
|
}
|
@@ -2,11 +2,12 @@
|
|
2
2
|
"_id": "component.date",
|
3
3
|
"_type": "date",
|
4
4
|
"errors": {},
|
5
|
-
"hint": "
|
5
|
+
"hint": "",
|
6
6
|
"legend": "Question",
|
7
7
|
"name": "component-name",
|
8
8
|
"date_type": "day-month-year",
|
9
9
|
"validation": {
|
10
|
+
"required": true,
|
10
11
|
"date": true
|
11
12
|
}
|
12
13
|
}
|
@@ -2,11 +2,12 @@
|
|
2
2
|
"_id": "component.number",
|
3
3
|
"_type": "number",
|
4
4
|
"errors": {},
|
5
|
-
"hint": "
|
5
|
+
"hint": "",
|
6
6
|
"label": "Question",
|
7
7
|
"name": "component-name",
|
8
8
|
"width_class_input": "10",
|
9
9
|
"validation": {
|
10
|
+
"required": true,
|
10
11
|
"number": true
|
11
12
|
}
|
12
13
|
}
|
@@ -2,23 +2,26 @@
|
|
2
2
|
"_id": "component.radios",
|
3
3
|
"_type": "radios",
|
4
4
|
"errors": {},
|
5
|
-
"hint": "
|
5
|
+
"hint": "",
|
6
6
|
"items": [
|
7
7
|
{
|
8
8
|
"_id": "component_radio_1",
|
9
9
|
"_type": "radio",
|
10
10
|
"label": "Option",
|
11
|
-
"hint": "
|
11
|
+
"hint": "",
|
12
12
|
"value": "value-1"
|
13
13
|
},
|
14
14
|
{
|
15
15
|
"_id": "component_radio_2",
|
16
16
|
"_type": "radio",
|
17
17
|
"label": "Option",
|
18
|
-
"hint": "
|
18
|
+
"hint": "",
|
19
19
|
"value": "value-2"
|
20
20
|
}
|
21
21
|
],
|
22
22
|
"name": "component-name",
|
23
|
-
"legend": "Question"
|
23
|
+
"legend": "Question",
|
24
|
+
"validation": {
|
25
|
+
"required": true
|
26
|
+
}
|
24
27
|
}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
2
|
"_id": "page.content",
|
3
3
|
"_type": "page.content",
|
4
|
-
"section_heading": "
|
4
|
+
"section_heading": "",
|
5
5
|
"heading": "Title",
|
6
|
-
"lede": "
|
6
|
+
"lede": "",
|
7
7
|
"body": "[Optional content]",
|
8
8
|
"components": [],
|
9
9
|
"url": ""
|
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.
|
4
|
+
version: 0.20.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-03-
|
11
|
+
date: 2021-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -231,9 +231,11 @@ files:
|
|
231
231
|
- app/controllers/metadata_presenter/service_controller.rb
|
232
232
|
- app/controllers/metadata_presenter/submissions_controller.rb
|
233
233
|
- app/helpers/metadata_presenter/application_helper.rb
|
234
|
+
- app/helpers/metadata_presenter/default_text.rb
|
234
235
|
- app/jobs/metadata_presenter/application_job.rb
|
235
236
|
- app/models/metadata_presenter/component.rb
|
236
237
|
- app/models/metadata_presenter/date_field.rb
|
238
|
+
- app/models/metadata_presenter/item.rb
|
237
239
|
- app/models/metadata_presenter/metadata.rb
|
238
240
|
- app/models/metadata_presenter/next_page.rb
|
239
241
|
- app/models/metadata_presenter/page.rb
|
@@ -250,7 +252,11 @@ files:
|
|
250
252
|
- app/validators/metadata_presenter/validate_schema.rb
|
251
253
|
- app/views/errors/404.html
|
252
254
|
- app/views/layouts/metadata_presenter/application.html.erb
|
255
|
+
- app/views/metadata_presenter/attribute/_body.html.erb
|
256
|
+
- app/views/metadata_presenter/attribute/_lede.html.erb
|
257
|
+
- app/views/metadata_presenter/attribute/_section_heading.html.erb
|
253
258
|
- app/views/metadata_presenter/component/_checkboxes.html.erb
|
259
|
+
- app/views/metadata_presenter/component/_content.html.erb
|
254
260
|
- app/views/metadata_presenter/component/_date.html.erb
|
255
261
|
- app/views/metadata_presenter/component/_number.html.erb
|
256
262
|
- app/views/metadata_presenter/component/_radios.html.erb
|
@@ -266,6 +272,7 @@ files:
|
|
266
272
|
- app/views/metadata_presenter/page/singlequestion.html.erb
|
267
273
|
- app/views/metadata_presenter/page/start.html.erb
|
268
274
|
- config/initializers/default_metadata.rb
|
275
|
+
- config/initializers/default_text.rb
|
269
276
|
- config/initializers/schemas.rb
|
270
277
|
- config/routes.rb
|
271
278
|
- default_metadata/component/checkboxes.json
|
@@ -291,6 +298,7 @@ files:
|
|
291
298
|
- default_metadata/string/error.min_length.json
|
292
299
|
- default_metadata/string/error.number.json
|
293
300
|
- default_metadata/string/error.required.json
|
301
|
+
- default_text/content.json
|
294
302
|
- fixtures/non_finished_service.json
|
295
303
|
- fixtures/service.json
|
296
304
|
- fixtures/version.json
|