metadata_presenter 0.13.3 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
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