metadata_presenter 0.10.0 → 0.13.2

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: 1ef68ecaae97370722eab970f6dd1ce2490c35f762af5bb2ff7addbe51fded02
4
- data.tar.gz: 5a56f15853ed9becc11b70d0d0e1532ead81a098de1f7fbe3a1f1103a60c9a5d
3
+ metadata.gz: 25eab7ae4724a7b0efc235808753ec4d66b966c6d9d36aefea3938839d6a18fb
4
+ data.tar.gz: 548f0e1c5784f72a48f29ff2555f2ed41e77deb704037f33d6ab9042b08de25a
5
5
  SHA512:
6
- metadata.gz: bccc48c9113831eed3a67fbb8aeb19ebc6f624b1526feb113578f67f4a1d6ab8989ff01f2d9f44176f03e80782fe8313f389979b042d749217b6c2d683dd8557
7
- data.tar.gz: 7d8aabc2e90780a6d01ae263abfc6b93e6dd9b888f3b7c5339b16305e3008feb16f0c4aee41d91429dd8e1e24384fea93c44827e44a093db7b6aff8554b97f18
6
+ metadata.gz: 1d33a47191c80f198c2c2318ae690b469398459d37e329667c5f81b0f857ecfa277f5f8ac797e18e2df94951dd43be551b63f9037137566e30b996e18bd1c15c
7
+ data.tar.gz: c9cdc90d35ce14f61f7afb9102fe39119dd84abdd4189a9f076aab5bf6bb861f4cc91bc841000718ae6184363d48a721b0fc3fe7b603baa4be46e99c8ccb9c26
@@ -11,5 +11,14 @@ module MetadataPresenter
11
11
  not_found
12
12
  end
13
13
  end
14
+
15
+ def page_answers_presenters
16
+ PageAnswersPresenter.map(
17
+ view: view_context,
18
+ pages: service.pages,
19
+ answers: @user_data
20
+ )
21
+ end
22
+ helper_method :page_answers_presenters
14
23
  end
15
24
  end
@@ -3,7 +3,7 @@ module MetadataPresenter
3
3
  def main_h1(component)
4
4
  if component.legend.present?
5
5
  content_tag(:legend, class: 'govuk-fieldset__legend govuk-fieldset__legend--l') do
6
- content_tag(:h1, class: 'govuk-fieldset__heading') do
6
+ content_tag(:h1, class: 'govuk-heading-xl') do
7
7
  component.legend
8
8
  end
9
9
  end
@@ -14,32 +14,6 @@ module MetadataPresenter
14
14
  end
15
15
  end
16
16
 
17
- ## Display user answers on the view
18
- ## When the user doesn't answered yet the component will be blank
19
- # or with data otherwise, so doing the if in every output is not
20
- # pratical.
21
- #
22
- # The below example search for 'first_name' in the user data instance
23
- # variable as long your load_user_data in the controller sets the variable.
24
- #
25
- # @example
26
- # <%=a 'first_name' %>
27
- #
28
- def a(component_key)
29
- if @user_data.present?
30
- @user_data[component_key]
31
- end
32
- end
33
- alias answer a
34
-
35
- ## Display user answers on the view formatted.
36
- ##
37
- def formatted_answer(component_key)
38
- user_answer = answer(component_key)
39
-
40
- simple_format(user_answer) if user_answer.present?
41
- end
42
-
43
17
  # Renders markdown given a text.
44
18
  #
45
19
  # @example
@@ -2,4 +2,18 @@ class MetadataPresenter::Component < MetadataPresenter::Metadata
2
2
  def to_partial_path
3
3
  "metadata_presenter/component/#{type}"
4
4
  end
5
+
6
+ def humanised_title
7
+ self.label || self.legend
8
+ end
9
+
10
+ def items
11
+ metadata.items.map do |item|
12
+ OpenStruct.new(
13
+ id: item['label'],
14
+ name: item['label'],
15
+ description: item['hint']
16
+ )
17
+ end
18
+ end
5
19
  end
@@ -0,0 +1,19 @@
1
+ module MetadataPresenter
2
+ class DateField
3
+ attr_reader :day, :month, :year
4
+
5
+ def initialize(day:, month:, year:)
6
+ @day = day
7
+ @month = month
8
+ @year = year
9
+ end
10
+
11
+ def present?
12
+ !blank?
13
+ end
14
+
15
+ def blank?
16
+ @day.blank? || @month.blank? || @year.blank?
17
+ end
18
+ end
19
+ end
@@ -17,11 +17,33 @@ module MetadataPresenter
17
17
  end
18
18
 
19
19
  def respond_to_missing?(method_name, include_private = false)
20
- answers[method_name.to_s].present?
20
+ method_name.to_s.in?(components.map(&:id))
21
21
  end
22
22
 
23
23
  def method_missing(method_name, *args, &block)
24
- answers[method_name.to_s]
24
+ component = components.find { |component| component.id == method_name.to_s }
25
+
26
+ if component && component.type == 'date'
27
+ date_answer(component.id)
28
+ else
29
+ answers[method_name.to_s]
30
+ end
31
+ end
32
+
33
+ def date_answer(component_id)
34
+ date = raw_date_answer(component_id)
35
+
36
+ MetadataPresenter::DateField.new(day: date[0], month: date[1], year: date[2])
37
+ end
38
+
39
+ def raw_date_answer(component_id)
40
+ [
41
+ GOVUKDesignSystemFormBuilder::Elements::Date::SEGMENTS[:day],
42
+ GOVUKDesignSystemFormBuilder::Elements::Date::SEGMENTS[:month],
43
+ GOVUKDesignSystemFormBuilder::Elements::Date::SEGMENTS[:year]
44
+ ].map do |segment|
45
+ answers["#{component_id.to_s}(#{segment})"]
46
+ end
25
47
  end
26
48
 
27
49
  private
@@ -0,0 +1,57 @@
1
+ module MetadataPresenter
2
+ class PageAnswersPresenter
3
+ def self.map(view:, pages:, answers:)
4
+ pages.map do |page|
5
+ Array(page.components).map do |component|
6
+ new(
7
+ view: view,
8
+ component: component,
9
+ page: page,
10
+ answers: answers
11
+ )
12
+ end
13
+ end.flatten
14
+ end
15
+
16
+ attr_reader :view, :component, :page, :answers
17
+ delegate :url, to: :page
18
+ delegate :humanised_title, to: :component
19
+
20
+ def initialize(view:, component:, page:, answers:)
21
+ @view = view
22
+ @component = component
23
+ @page = page
24
+ @answers = answers
25
+
26
+ @page_answers = PageAnswers.new(page, answers)
27
+ end
28
+
29
+ def answer
30
+ value = @page_answers.send(component.id)
31
+
32
+ return '' if value.blank?
33
+ if self.class.private_method_defined?(component.type.to_sym)
34
+ send(component.type.to_sym, value)
35
+ else
36
+ value
37
+ end
38
+ end
39
+
40
+ private
41
+
42
+ def date(value)
43
+ I18n.l(
44
+ Date.civil(value.year.to_i, value.month.to_i, value.day.to_i),
45
+ format: '%d %B %Y'
46
+ )
47
+ end
48
+
49
+ def textarea(value)
50
+ view.simple_format(value, {}, wrapper_tag: 'span')
51
+ end
52
+
53
+ def checkboxes(value)
54
+ value.reject(&:blank?).join("<br>").html_safe
55
+ end
56
+ end
57
+ end
@@ -38,7 +38,7 @@ module MetadataPresenter
38
38
  end
39
39
 
40
40
  def valid?
41
- return true if user_answer.blank? && allow_blank?
41
+ return true if allow_blank?
42
42
 
43
43
  if invalid_answer?
44
44
  error_message = custom_error_message || default_error_message
@@ -63,7 +63,12 @@ module MetadataPresenter
63
63
  # @return [String] user answer for the specific component
64
64
  #
65
65
  def user_answer
66
- page_answers.send(component.name)
66
+ value = page_answers.send(component.name)
67
+ if component.type == 'checkboxes'
68
+ Array(value).reject(&:blank?)
69
+ else
70
+ value
71
+ end
67
72
  end
68
73
 
69
74
  # The default error message will be look using the schema key.
@@ -115,7 +120,7 @@ module MetadataPresenter
115
120
  #
116
121
  def error_message_hash
117
122
  {
118
- control: component.label,
123
+ control: component.humanised_title,
119
124
  schema_key.to_sym => component.validation[schema_key]
120
125
  }
121
126
  end
@@ -127,7 +132,7 @@ module MetadataPresenter
127
132
  # @return [TrueClass]
128
133
  #
129
134
  def allow_blank?
130
- true unless self.class.name.demodulize.include?('RequiredValidator')
135
+ user_answer.blank? && !self.class.name.demodulize.include?('RequiredValidator')
131
136
  end
132
137
  end
133
138
  end
@@ -0,0 +1,14 @@
1
+ module MetadataPresenter
2
+ class DateValidator < BaseValidator
3
+ def invalid_answer?
4
+ Date.strptime(
5
+ "#{user_answer.year}-#{user_answer.month}-#{user_answer.day}",
6
+ '%Y-%m-%d'
7
+ )
8
+
9
+ false
10
+ rescue Date::Error
11
+ true
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,9 @@
1
+ <%=
2
+ f.govuk_collection_check_boxes component.id.to_sym,
3
+ component.items,
4
+ :id,
5
+ :name,
6
+ :description,
7
+ legend: { text: input_title },
8
+ hint: { text: component.hint }
9
+ %>
@@ -0,0 +1,5 @@
1
+ <%=
2
+ f.govuk_date_field component.id.to_sym,
3
+ hint: { text: component.hint },
4
+ legend: { text: input_title }
5
+ %>
@@ -0,0 +1,9 @@
1
+ <%=
2
+ f.govuk_collection_radio_buttons component.id.to_sym,
3
+ component.items,
4
+ :id,
5
+ :name,
6
+ :description,
7
+ legend: { text: input_title },
8
+ hint: { text: component.hint }
9
+ %>
@@ -27,27 +27,25 @@
27
27
  <%= form_for @page, url: reserved_submissions_path do |f| %>
28
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
- <% @service.pages.each do |page| %>
31
- <% Array(page.components).each do |component| %>
32
- <div class="govuk-summary-list__row">
33
- <dt class="govuk-summary-list__key">
34
- <%= component.label %>
35
- </dt>
30
+ <% page_answers_presenters.each do |page_answers_presenter| %>
31
+ <div class="govuk-summary-list__row">
32
+ <dt class="govuk-summary-list__key">
33
+ <%= page_answers_presenter.humanised_title %>
34
+ </dt>
36
35
 
37
- <dd class="govuk-summary-list__value">
38
- <%= formatted_answer(component.name) %>
39
- </dd>
40
- <dd class="govuk-summary-list__actions">
41
- <%= link_to(
42
- change_answer_path(url: page.url),
43
- class: 'govuk-link'
44
- ) do %>
45
- Change<span class="govuk-visually-hidden"> Your answer for <%= component.label %></span>
46
- <% end %>
47
- </a>
48
- </dd>
49
- </div>
50
- <% end %>
36
+ <dd class="govuk-summary-list__value">
37
+ <%= page_answers_presenter.answer %>
38
+ </dd>
39
+ <dd class="govuk-summary-list__actions">
40
+ <%= link_to(
41
+ change_answer_path(url: page_answers_presenter.url),
42
+ class: 'govuk-link'
43
+ ) do %>
44
+ Change<span class="govuk-visually-hidden"> Your answer for <%= page_answers_presenter.humanised_title %></span>
45
+ <% end %>
46
+ </a>
47
+ </dd>
48
+ </div>
51
49
  <% end %>
52
50
  </dl>
53
51
  </div>
@@ -0,0 +1,24 @@
1
+ {
2
+ "_id": "component.checkboxes",
3
+ "_type": "checkboxes",
4
+ "errors": {},
5
+ "hint": "[Hint text (optional)]",
6
+ "items": [
7
+ {
8
+ "_id": "component_checkbox_1",
9
+ "_type": "checkbox",
10
+ "label": "Option",
11
+ "hint": "[Hint text (optional)]",
12
+ "value": "value-1"
13
+ },
14
+ {
15
+ "_id": "component_checkbox_2",
16
+ "_type": "checkbox",
17
+ "label": "Option",
18
+ "hint": "[Hint text (optional)]",
19
+ "value": "value-2"
20
+ }
21
+ ],
22
+ "name": "component-name",
23
+ "legend": "Question"
24
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "_id": "component.date",
3
+ "_type": "date",
4
+ "errors": {},
5
+ "hint": "Component hint",
6
+ "legend": "Component legend",
7
+ "name": "component-name",
8
+ "date_type": "day-month-year",
9
+ "validation": {
10
+ "date": true
11
+ }
12
+ }
@@ -2,9 +2,23 @@
2
2
  "_id": "component.radios",
3
3
  "_type": "radios",
4
4
  "errors": {},
5
- "hint": "Component hint",
6
- "label": "Component label",
7
- "items": [],
5
+ "hint": "[Hint text (optional)]",
6
+ "items": [
7
+ {
8
+ "_id": "component_radio_1",
9
+ "_type": "radio",
10
+ "label": "Option",
11
+ "hint": "[Hint text (optional)]",
12
+ "value": "value-1"
13
+ },
14
+ {
15
+ "_id": "component_radio_2",
16
+ "_type": "radio",
17
+ "label": "Option",
18
+ "hint": "[Hint text (optional)]",
19
+ "value": "value-2"
20
+ }
21
+ ],
8
22
  "name": "component-name",
9
- "legend": "Required legend"
23
+ "legend": "Question"
10
24
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "_id": "definition.checkbox",
3
+ "_type": "checkbox",
4
+ "label": "Option",
5
+ "hint": "[Hint text (optional)]",
6
+ "value": "checkbox-value"
7
+ }
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "_id": "definition.radio",
3
3
  "_type": "radio",
4
- "label": "Required label",
4
+ "label": "Option",
5
+ "hint": "[Hint text (optional)]",
5
6
  "value": "radio-value"
6
7
  }
@@ -0,0 +1,6 @@
1
+ {
2
+ "_id": "error.date",
3
+ "_type": "string.error",
4
+ "description": "Input (date) is not a valid date",
5
+ "value": "Enter a valid date for %{control}"
6
+ }
@@ -165,6 +165,107 @@
165
165
  "heading": "Family Hobbies",
166
166
  "url": "/family-hobbies"
167
167
  },
168
+ {
169
+ "_uuid": "4251b25e-08de-4dcb-8f2f-dd9848dcdca6",
170
+ "_id": "page.do-you-like-star-wars",
171
+ "_type": "page.singlequestion",
172
+ "components": [
173
+ {
174
+ "_id": "do-you-like-star-wars_radios_1",
175
+ "_type": "radios",
176
+ "errors": {},
177
+ "hint": "Component hint",
178
+ "legend": "Do you like Star Wars?",
179
+ "items": [
180
+ {
181
+ "_id": "do-you-like-star-wars_radio_1",
182
+ "_type": "radio",
183
+ "label": "Only on weekends",
184
+ "hint": "Optional item hint",
185
+ "value": "only-on-weekends"
186
+ },
187
+ {
188
+ "_id": "do-you-like-star-wars_radio_2",
189
+ "_type": "radio",
190
+ "label": "Hell no!",
191
+ "hint": "Optional item hint",
192
+ "value": "hell-no"
193
+ }
194
+ ],
195
+ "name": "do-you-like-star-wars_radios_1",
196
+ "validation": {
197
+ "required": true
198
+ }
199
+ }
200
+ ],
201
+ "heading": "Radio buttons",
202
+ "url": "/do-you-like-star-wars"
203
+ },
204
+ {
205
+ "_id": "page.holiday",
206
+ "url": "holiday",
207
+ "_type":"page.singlequestion",
208
+ "_uuid":"ff4557b2-486b-481e-9eef-f315718639e8",
209
+ "heading":"Question",
210
+ "components": [
211
+ {
212
+ "_id": "holiday_date_1",
213
+ "hint": "Component hint",
214
+ "name": "holiday_date_1",
215
+ "_type": "date",
216
+ "legend": "What is the day that you like to take holidays?",
217
+ "errors": {},
218
+ "date_type": "day-month-year",
219
+ "validation": {
220
+ "date": true,
221
+ "required": true
222
+ }
223
+ }
224
+ ]
225
+ },
226
+ {
227
+ "_uuid": "7b748584-100e-4d81-a54a-5049190136cc",
228
+ "_id": "page.burgers",
229
+ "_type": "page.singlequestion",
230
+ "components": [
231
+ {
232
+ "_id": "burgers_checkboxes_1",
233
+ "_type": "checkboxes",
234
+ "errors": {},
235
+ "hint": "Select all that apply",
236
+ "legend": "What would you like on your burger?",
237
+ "items": [
238
+ {
239
+ "_id": "burgers_checkbox_1",
240
+ "_type": "checkbox",
241
+ "label": "Beef, cheese, tomato",
242
+ "hint": "Optional item hint",
243
+ "value": "beef-cheese-tomato"
244
+ },
245
+ {
246
+ "_id": "burgers_checkbox_2",
247
+ "_type": "checkbox",
248
+ "label": "Chicken, cheese, tomato",
249
+ "hint": "Optional item hint",
250
+ "value": "chicken-cheese-tomato"
251
+ },
252
+ {
253
+ "_id": "burgers_checkbox_3",
254
+ "_type": "checkbox",
255
+ "label": "Mozzarella, cheddar, feta",
256
+ "hint": "Optional item hint",
257
+ "value": "mozzarella-cheddar-feta"
258
+ }
259
+ ],
260
+ "name": "burgers_checkboxes_1",
261
+ "validation": {
262
+ "required": true
263
+ }
264
+ }
265
+ ],
266
+ "heading": "Checkboxes",
267
+ "url": "/burgers"
268
+ },
168
269
  {
169
270
  "_uuid": "e819d0c2-7062-4997-89cf-44d26d098404",
170
271
  "_id": "page._check-answers",
@@ -1,3 +1,3 @@
1
1
  module MetadataPresenter
2
- VERSION = '0.10.0'
2
+ VERSION = '0.13.2'
3
3
  end
@@ -0,0 +1,33 @@
1
+ {
2
+ "$id": "http://gov.uk/schema/v1.0.0/checkboxes",
3
+ "_name": "component.checkboxes",
4
+ "title": "Checkboxes",
5
+ "description": "Let users select one or more options from a list",
6
+ "type": "object",
7
+ "properties": {
8
+ "_type": {
9
+ "const": "checkboxes"
10
+ },
11
+ "items": {
12
+ "title": "Options",
13
+ "description": "Items that users can select",
14
+ "type": "array",
15
+ "items": {
16
+ "$ref": "definition.checkbox"
17
+ }
18
+ }
19
+ },
20
+ "allOf": [
21
+ {
22
+ "$ref": "definition.fieldset"
23
+ }
24
+ ],
25
+ "transforms": {
26
+ "namespace": {
27
+ "propagation": "items[?(@._type === 'checkbox')]"
28
+ }
29
+ },
30
+ "required": [
31
+ "items"
32
+ ]
33
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "$id": "http://gov.uk/schema/v1.0.0/date",
3
+ "_name": "component.date",
4
+ "title": "Date",
5
+ "description": "Let users enter an exact date",
6
+ "type": "object",
7
+ "properties": {
8
+ "_type": {
9
+ "const": "date"
10
+ },
11
+ "name": {
12
+ "inputType": "date"
13
+ },
14
+ "date_type": {
15
+ "title": "Date type",
16
+ "description": "The format for entering dates",
17
+ "type": "string",
18
+ "enum": [
19
+ "day-month-year",
20
+ "month-year",
21
+ "day-month",
22
+ "year"
23
+ ],
24
+ "default": "day-month-year"
25
+ }
26
+ },
27
+ "allOf": [
28
+ {
29
+ "$ref": "definition.fieldset"
30
+ },
31
+ {
32
+ "$ref": "validations#/definitions/date_bundle"
33
+ }
34
+ ],
35
+ "composite": [
36
+ "day",
37
+ "month",
38
+ "year"
39
+ ],
40
+ "definitions": {
41
+ "date_type_enum": {
42
+ "day-month-year": "Day / Month / Year",
43
+ "month-year": "Month / Year",
44
+ "year": "Year",
45
+ "day-month": "Day / Month"
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "$id": "http://gov.uk/schema/v1.0.0/checkbox",
3
+ "_name": "definition.checkbox",
4
+ "title": "Checkbox item",
5
+ "description": "Component that provides a checkbox item",
6
+ "type": "object",
7
+ "properties": {
8
+ "_type": {
9
+ "const": "checkbox"
10
+ },
11
+ "value": {
12
+ "default": "yes"
13
+ },
14
+ "label": {
15
+ "skipOptional": true
16
+ },
17
+ "hint": {
18
+ "title": "Hint text",
19
+ "description": "Text to help users understand an option - appears in grey under the label",
20
+ "type": "string",
21
+ "content": true
22
+ },
23
+ "conditional_component": {
24
+ "$ref": "definition.conditionalcomponent"
25
+ }
26
+ },
27
+ "allOf": [
28
+ {
29
+ "$ref": "definition.namespace"
30
+ },
31
+ {
32
+ "$ref": "definition.option"
33
+ },
34
+ {
35
+ "$ref": "definition.name"
36
+ }
37
+ ],
38
+ "required": [
39
+ "label"
40
+ ],
41
+ "transforms": {
42
+ "namespace": {
43
+ "propagation": "conditional_component"
44
+ }
45
+ }
46
+ }
@@ -25,6 +25,15 @@
25
25
  ],
26
26
  "default": true
27
27
  },
28
+ "date": {
29
+ "title": "Date",
30
+ "description": "Whether the user must answer with a valid date",
31
+ "oneOf": [
32
+ {
33
+ "$ref": "definition.conditional.boolean"
34
+ }
35
+ ]
36
+ },
28
37
  "errors_required": {
29
38
  "title": "Error messages for ‘Required’",
30
39
  "allOf": [
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.10.0
4
+ version: 0.13.2
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-12 00:00:00.000000000 Z
11
+ date: 2021-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -233,12 +233,15 @@ files:
233
233
  - app/helpers/metadata_presenter/application_helper.rb
234
234
  - app/jobs/metadata_presenter/application_job.rb
235
235
  - app/models/metadata_presenter/component.rb
236
+ - app/models/metadata_presenter/date_field.rb
236
237
  - app/models/metadata_presenter/metadata.rb
237
238
  - app/models/metadata_presenter/next_page.rb
238
239
  - app/models/metadata_presenter/page.rb
239
240
  - app/models/metadata_presenter/page_answers.rb
240
241
  - app/models/metadata_presenter/service.rb
242
+ - app/presenters/metadata_presenter/page_answers_presenter.rb
241
243
  - app/validators/metadata_presenter/base_validator.rb
244
+ - app/validators/metadata_presenter/date_validator.rb
242
245
  - app/validators/metadata_presenter/max_length_validator.rb
243
246
  - app/validators/metadata_presenter/min_length_validator.rb
244
247
  - app/validators/metadata_presenter/number_validator.rb
@@ -247,7 +250,10 @@ files:
247
250
  - app/validators/metadata_presenter/validate_schema.rb
248
251
  - app/views/errors/404.html
249
252
  - app/views/layouts/metadata_presenter/application.html.erb
253
+ - app/views/metadata_presenter/component/_checkboxes.html.erb
254
+ - app/views/metadata_presenter/component/_date.html.erb
250
255
  - app/views/metadata_presenter/component/_number.html.erb
256
+ - app/views/metadata_presenter/component/_radios.html.erb
251
257
  - app/views/metadata_presenter/component/_text.html.erb
252
258
  - app/views/metadata_presenter/component/_textarea.html.erb
253
259
  - app/views/metadata_presenter/header/show.html.erb
@@ -259,18 +265,22 @@ files:
259
265
  - config/initializers/default_metadata.rb
260
266
  - config/initializers/schemas.rb
261
267
  - config/routes.rb
268
+ - default_metadata/component/checkboxes.json
269
+ - default_metadata/component/date.json
262
270
  - default_metadata/component/number.json
263
271
  - default_metadata/component/radios.json
264
272
  - default_metadata/component/text.json
265
273
  - default_metadata/component/textarea.json
266
274
  - default_metadata/config/meta.json
267
275
  - default_metadata/config/service.json
276
+ - default_metadata/definition/checkbox.json
268
277
  - default_metadata/definition/radio.json
269
278
  - default_metadata/page/checkanswers.json
270
279
  - default_metadata/page/confirmation.json
271
280
  - default_metadata/page/singlequestion.json
272
281
  - default_metadata/page/start.json
273
282
  - default_metadata/service/base.json
283
+ - default_metadata/string/error.date.json
274
284
  - default_metadata/string/error.max_length.json
275
285
  - default_metadata/string/error.min_length.json
276
286
  - default_metadata/string/error.number.json
@@ -283,6 +293,8 @@ files:
283
293
  - lib/metadata_presenter/test_helpers.rb
284
294
  - lib/metadata_presenter/version.rb
285
295
  - lib/tasks/metadata_presenter_tasks.rake
296
+ - schemas/component/checkboxes.json
297
+ - schemas/component/date.json
286
298
  - schemas/component/number.json
287
299
  - schemas/component/radios.json
288
300
  - schemas/component/text.json
@@ -291,6 +303,7 @@ files:
291
303
  - schemas/config/meta.json
292
304
  - schemas/config/service.json
293
305
  - schemas/definition/block.json
306
+ - schemas/definition/checkbox.json
294
307
  - schemas/definition/component.json
295
308
  - schemas/definition/components.json
296
309
  - schemas/definition/condition.base.json