metadata_presenter 0.13.3 → 0.14.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f61c08ab0dfb4a0f2d07168015012f35efd105f2bcaea0d9ce547bd291eeabd5
4
- data.tar.gz: b602b6f0043d681f73e09720c0fdc61b308a751536b7b5df11e4023fdbd470c9
3
+ metadata.gz: baead988b8948ffbff35fdd3b30b740953b339ff7d161ad08259e0a90949f81d
4
+ data.tar.gz: be77cea809e6b9b5680db1fb426d4333045efb06daa907e18477da9d72c14db6
5
5
  SHA512:
6
- metadata.gz: c4a4278f4867f2edf69b87097f0bd384e37f85fcf059c56884c8e52ce19f2f045b9ee294ab173387e427d6dee022ceb6141970ce64ea1a35f15017fbd7a6a084
7
- data.tar.gz: bace9ee8b5f8c5226819c5f61292612074b7fa140d51fdae77aaf6ea210b86953935c04e71300dda35239b5a1770d8df436bc8a44e635533fcd2b30b106c9134
6
+ metadata.gz: 942d95095d9b7a5a12286f286319b16cc4ae63e9c40b2eb4640ec07823f8f8ecc5f7fe35fadc4db3178446878c52f10aaeea85d9368979ac6b79ab0a0e07806f
7
+ data.tar.gz: 1ede80c50a8e03ba13a84b9ceba9bbfdb1d8c6908227a6791bba75b08d024e6e7e7f44e8f9e7bbbd77c55fd166b69143843cac693e8180be73f00e1676f2d541
data/README.md CHANGED
@@ -48,6 +48,7 @@ that you need to write the following methods in your controller:
48
48
  1. save_user_data
49
49
  2. load_user_data
50
50
  3. editable?
51
+ 4. create_submission
51
52
 
52
53
  The user answers can be accessed via `params[:answers]`.
53
54
 
@@ -76,6 +77,9 @@ mountable app:
76
77
  end
77
78
  ```
78
79
 
80
+ The `create_submission` is related to process the submission in a backend
81
+ service.
82
+
79
83
  ## Generate documentation
80
84
 
81
85
  Run `rake doc` and open the doc/index.html
@@ -4,10 +4,22 @@ module MetadataPresenter
4
4
  @page = service.confirmation_page
5
5
 
6
6
  if @page
7
+ create_submission
7
8
  redirect_to_page @page.url
8
9
  else
9
10
  not_found
10
11
  end
11
12
  end
13
+
14
+ def create_submission
15
+ # The runner is the only app that sends the submission.
16
+ # and it is not needed on the editor app (editing & previewing).
17
+ # So in the Runner we defined the #create_submission in the parent
18
+ # controller and in the Editor we don't.
19
+ #
20
+ if defined? super
21
+ super
22
+ end
23
+ end
12
24
  end
13
25
  end
@@ -51,7 +51,7 @@ module MetadataPresenter
51
51
  end
52
52
 
53
53
  def checkboxes(value)
54
- value.reject(&:blank?).join("<br>").html_safe
54
+ value.join("<br>").html_safe
55
55
  end
56
56
  end
57
57
  end
@@ -63,12 +63,7 @@ module MetadataPresenter
63
63
  # @return [String] user answer for the specific component
64
64
  #
65
65
  def user_answer
66
- value = page_answers.send(component.name)
67
- if component.type == 'checkboxes'
68
- Array(value).reject(&:blank?)
69
- else
70
- value
71
- end
66
+ page_answers.send(component.name)
72
67
  end
73
68
 
74
69
  # The default error message will be look using the schema key.
@@ -5,5 +5,6 @@
5
5
  :name,
6
6
  :description,
7
7
  legend: { text: input_title },
8
- hint: { text: component.hint }
8
+ hint: { text: component.hint },
9
+ include_hidden: false
9
10
  %>
@@ -1,6 +1,8 @@
1
- <%=
2
- f.govuk_text_field component.id.to_sym,
3
- label: { text: input_title },
4
- hint: { text: component.hint },
5
- name: "answers[#{component.name}]"
6
- %>
1
+ <div class="fb-editable" data-fb-content-type="<%= component._type %>" data-fb-content-id="<%= component_id %>" data-fb-content-data="<%= component.to_json %>">
2
+ <%=
3
+ f.govuk_text_field component.id.to_sym,
4
+ label: { text: input_title },
5
+ hint: { text: component.hint },
6
+ name: "answers[#{component.name}]"
7
+ %>
8
+ </div>
@@ -3,9 +3,10 @@
3
3
  <div class="govuk-grid-column-two-thirds">
4
4
  <%= form_for @page_answers, as: :answers, url: @page.url, method: :post do |f| %>
5
5
  <%= f.govuk_error_summary %>
6
- <% @page.components.each do |component| %>
6
+ <% @page.components.each_with_index do |component, index| %>
7
7
  <%= render partial: component, locals: {
8
8
  component: component,
9
+ component_id: "page[components[#{index}]]",
9
10
  f: f,
10
11
  input_title: main_h1(component) }
11
12
  %>
@@ -1,33 +1,41 @@
1
- <div class="fb-main-grid-wrapper" data-block-id="<%= @page.id %>" data-block-type="page" data-block-pagetype="<%= @page.type %>">
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
4
  <% if @page.section_heading -%>
5
- <p class="govuk-caption-l fb-section_heading" data-block-id="<%= @page.id %>" data-block-property="section_heading">
5
+ <p class="fb-editable govuk-caption-l fb-section_heading"
6
+ data-fb-content-type="element"
7
+ data-fb-content-id="page[section_heading]">
6
8
  <%= @page.section_heading.html_safe %>
7
9
  </p>
8
10
  <%- end %>
9
11
 
10
12
  <% if @page.heading %>
11
- <h1 class="<%= @page.heading_class %>" data-block-id="<%= @page.id %>" data-block-property="heading">
13
+ <h1 class="fb-editable <%= @page.heading_class %>"
14
+ data-fb-content-id="page[heading]"
15
+ data-fb-content-type="element">
12
16
  <%= @page.heading.html_safe %>
13
17
  </h1>
14
18
  <% end %>
15
19
 
16
20
  <% if @page.lede %>
17
- <p class="govuk-body-l" data-block-id="<%= @page.id %>" data-block-property="lede">
21
+ <div class="fb-editable"
22
+ data-fb-content-id="page[lede]"
23
+ data-fb-content-type="content">
18
24
  <%= @page.lede.html_safe %>
19
- </p>
25
+ </div>
20
26
  <%- end %>
21
27
 
22
28
  <% if @page.body %>
23
- <p class="govuk-body-l" data-block-id="<%= @page.id %>" data-block-property="lede">
24
- <%= to_markdown(@page.body) %>
25
- </p>
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>
26
34
  <%- end %>
27
35
 
28
36
  <%= form_tag(root_path, method: :post) do %>
29
37
  <button <%= 'disabled' if editable? %> class='govuk-button govuk-button--start govuk-!-margin-top-2'>
30
- Start
38
+ Start now
31
39
  <svg class="govuk-button__start-icon" xmlns="http://www.w3.org/2000/svg" width="17.5" height="19" viewBox="0 0 33 40" aria-hidden="true" focusable="false">
32
40
  <path fill="currentColor" d="M0 0h13l20 20-20 20H0l20-20z" />
33
41
  </svg>
@@ -35,9 +43,11 @@
35
43
  <% end %>
36
44
 
37
45
  <% if @page.before_you_start %>
38
- <p class="govuk-body-l" data-block-id="<%= @page.id %>" data-block-property="before-you-start">
39
- <%= to_markdown(@page.before_you_start) %>
40
- </p>
46
+ <div class="fb-editable"
47
+ data-fb-content-id="page[before_you_start]"
48
+ data-fb-content-type="content">
49
+ <%= to_markdown(@page.before_you_start) %>
50
+ </div>
41
51
  <%- end %>
42
52
  </div>
43
53
  </div>
@@ -1,3 +1,3 @@
1
1
  module MetadataPresenter
2
- VERSION = '0.13.3'
2
+ VERSION = '0.14.0'
3
3
  end
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.13.3
4
+ version: 0.14.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-02-16 00:00:00.000000000 Z
11
+ date: 2021-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails