metadata_presenter 0.1.8 → 0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bc59d58800c23dd0836423c3d0f02b76516db564afd6343d989291f23cddce3b
4
- data.tar.gz: '078b3a6ab2888fb5a1f6f6ba8f925af66713469787af6991df362e1c19fcf245'
3
+ metadata.gz: 4502db8905d70f018c8229e2fffb8f1c392415ee4ee8214bfc9bde851e563c8e
4
+ data.tar.gz: ddaacc9a8520bdb2df646150e3f10001d06c9865a0008e68b8e117320b8e0d85
5
5
  SHA512:
6
- metadata.gz: cdee22833e4d58cad16595fcd5b664be8b28641a4c0aeed6b7f5cb19f06a481330bfbb53a429442d8a72faf70a4dec97bffbdea0f368774d472377690635fdde
7
- data.tar.gz: 7afb80b5201bdf97117c79bb604eba016207b4ec2caf7bad7ebf64a6426fdb51b2ccf4211bda81c8de0e33bd43d50dea6369a84cecf3987632191e6913037f4b
6
+ metadata.gz: f21f6779bf1c90b4a09a7042f2117b5b2712fc72d2eb331226bd6142452abf2a6eac9f1c3b221c12bef9c2d46584f6f514b4918ba3f90381ffaf6d6daebbf9a4
7
+ data.tar.gz: dd6bcd473cdd65ace450ec00e1c4431d7844bf99201471e330752254b2eb2193cf15ad2ed0936a31c5483b97a3b7c4e4924c0b63d1d4a6aea21a5905279d530c
data/README.md CHANGED
@@ -47,6 +47,7 @@ that you need to write the following methods in your controller:
47
47
 
48
48
  1. save_user_data
49
49
  2. load_user_data
50
+ 3. editable?
50
51
 
51
52
  The user answers can be accessed via `params[:answers]`.
52
53
 
@@ -63,6 +64,18 @@ An example of implementation:
63
64
  end
64
65
  ```
65
66
 
67
+ The `editable?` is related if the pages and components could be editable in the
68
+ mountable app:
69
+
70
+ ```ruby
71
+ class MyAwesomeController
72
+ def editable?
73
+ false
74
+ end
75
+ helper_method :editable?
76
+ end
77
+ ```
78
+
66
79
  ## Generate documentation
67
80
 
68
81
  Run `rake doc` and open the doc/index.html
@@ -1,5 +1,5 @@
1
1
  class MetadataPresenter::Component < MetadataPresenter::Metadata
2
2
  def to_partial_path
3
- "component/#{type}"
3
+ "metadata_presenter/component/#{type}"
4
4
  end
5
5
  end
@@ -9,7 +9,7 @@ module MetadataPresenter
9
9
  def find(session:, current_page_url:)
10
10
  if session[:return_to_check_you_answer].present?
11
11
  session[:return_to_check_you_answer] = nil
12
- service.pages.find { |page| page.type == 'page.summary' }
12
+ service.pages.find { |page| page.type == 'page.checkanswers' }
13
13
  else
14
14
  service.next_page(from: current_page_url)
15
15
  end
@@ -10,6 +10,10 @@ module MetadataPresenter
10
10
  id == other.id if other.respond_to? :id
11
11
  end
12
12
 
13
+ def editable_attributes
14
+ self.to_h.reject { |k,_| k.in?([:_id, :_type, :steps]) }
15
+ end
16
+
13
17
  def components
14
18
  metadata.components&.map do |component|
15
19
  MetadataPresenter::Component.new(component)
@@ -3,5 +3,5 @@
3
3
  label: { text: component.label },
4
4
  hint: { text: component.hint },
5
5
  name: "answers[#{component.name}]",
6
- value: @user_data[component.name]
6
+ value: @user_data ? @user_data[component.name] : nil
7
7
  %>
@@ -25,7 +25,7 @@
25
25
  <% end %>
26
26
 
27
27
  <%= form_for @page, url: reserved_submissions_path do |f| %>
28
- <div data-block-id="page.summary.answers" data-block-type="answers">
28
+ <div data-block-id="page.checkanswers.answers" data-block-type="answers">
29
29
  <dl class="fb-block fb-block-answers govuk-summary-list">
30
30
  <% @service.pages.each do |page| %>
31
31
  <% Array(page.components).each do |component| %>
@@ -11,7 +11,7 @@
11
11
  <%= render partial: component, locals: { component: component, f: f } %>
12
12
  <% end %>
13
13
 
14
- <%= f.govuk_submit %>
14
+ <%= f.govuk_submit(disabled: editable?) %>
15
15
  <% end %>
16
16
  </div>
17
17
  </div>
@@ -26,7 +26,7 @@
26
26
  <%- end %>
27
27
 
28
28
  <%= form_tag(reserved_answers_path(@page.url), method: :post) do %>
29
- <button class='govuk-button govuk-button--start govuk-!-margin-top-2'>
29
+ <button <%= 'disabled' if editable? %> class='govuk-button govuk-button--start govuk-!-margin-top-2'>
30
30
  Start
31
31
  <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
32
  <path fill="currentColor" d="M0 0h13l20 20-20 20H0l20-20z" />
@@ -1,7 +1,8 @@
1
1
  {
2
- "_id": "page.summary",
3
- "_type": "page.summary",
2
+ "_id": "page.checkanswers",
3
+ "_type": "page.checkanswers",
4
4
  "heading": "Check your answers",
5
5
  "send_heading": "Now send your application",
6
- "send_body": "By submitting this application you confirm that, to the best of your knowledge, the details you are providing are correct."
6
+ "send_body": "By submitting this application you confirm that, to the best of your knowledge, the details you are providing are correct.",
7
+ "components": []
7
8
  }
@@ -122,7 +122,7 @@
122
122
  },
123
123
  {
124
124
  "_id": "page._check-answers",
125
- "_type": "page.summary",
125
+ "_type": "page.checkanswers",
126
126
  "body": "Optional content",
127
127
  "heading": "Review your answer",
128
128
  "lede": "First paragraph",
@@ -1,3 +1,3 @@
1
1
  module MetadataPresenter
2
- VERSION = '0.1.8'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -1,12 +1,12 @@
1
1
  {
2
- "$id": "http://gov.uk/schema/v1.0.0/page/summary",
3
- "_name": "page.summary",
2
+ "$id": "http://gov.uk/schema/v1.0.0/page/checkanswers",
3
+ "_name": "page.checkanswers",
4
4
  "title": "Check answers",
5
5
  "description": "Let users check and change their answers before submitting",
6
6
  "type": "object",
7
7
  "properties": {
8
8
  "_type": {
9
- "const": "page.summary"
9
+ "const": "page.checkanswers"
10
10
  },
11
11
  "section_heading": {
12
12
  "title": "Section heading",
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.1.8
4
+ version: 0.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-01-20 00:00:00.000000000 Z
11
+ date: 2021-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -247,20 +247,20 @@ files:
247
247
  - app/views/layouts/metadata_presenter/application.html.erb
248
248
  - app/views/metadata_presenter/component/_text.html.erb
249
249
  - app/views/metadata_presenter/header/show.html.erb
250
+ - app/views/metadata_presenter/page/checkanswers.html.erb
250
251
  - app/views/metadata_presenter/page/confirmation.html.erb
251
252
  - app/views/metadata_presenter/page/form.html.erb
252
253
  - app/views/metadata_presenter/page/singlequestion.html.erb
253
254
  - app/views/metadata_presenter/page/start.html.erb
254
- - app/views/metadata_presenter/page/summary.html.erb
255
255
  - config/initializers/default_metadata.rb
256
256
  - config/initializers/schemas.rb
257
257
  - config/routes.rb
258
258
  - default_metadata/component/text.json
259
259
  - default_metadata/config/meta.json
260
260
  - default_metadata/config/service.json
261
+ - default_metadata/page/checkanswers.json
261
262
  - default_metadata/page/confirmation.json
262
263
  - default_metadata/page/singlequestion.json
263
- - default_metadata/page/summary.json
264
264
  - default_metadata/service/base.json
265
265
  - default_metadata/string/error.max_length.json
266
266
  - default_metadata/string/error.min_length.json
@@ -308,9 +308,9 @@ files:
308
308
  - schemas/definition/width_class.json
309
309
  - schemas/errors/errors.json
310
310
  - schemas/link/link.json
311
+ - schemas/page/checkanswers.json
311
312
  - schemas/page/confirmation.json
312
313
  - schemas/page/start.json
313
- - schemas/page/summary.json
314
314
  - schemas/request/service.json
315
315
  - schemas/service/base.json
316
316
  - schemas/service/configuration.json