metadata_presenter 3.3.21 → 3.3.23

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: e7869bdd57e746b2c7b56f867ab22bc87a46704420f5dde6549ea28179385c20
4
- data.tar.gz: 87b1dd8f6b236889a9057b5fe7505b7a6812bb02d2889335397186680a1343b9
3
+ metadata.gz: 6854382610b99865f2af30a38c5807393211a160d3ab4af1000964daf082caa9
4
+ data.tar.gz: 6c9cd5e2ecd9c4057cb59f12fdc34fb551398b490f52f020cea167838011f6f8
5
5
  SHA512:
6
- metadata.gz: 100550a87338f2cc5a2b6028362a004e0c128bd26b49662ee26c026e41061630a4e7091afd6f7401063290ad82b0b6a7a6920b81d9b48895dd7904fff016a89d
7
- data.tar.gz: 0b0c439a4a1c93939fcfee1ded176a6a4a38ad635ebdef89f21f3b4828c0faa2efd43ca8cce5338871ecca0dd2b3f833055e77735169339e779a67d87304e155
6
+ metadata.gz: b9924fc2c8e9b45e8f75468b474c166f78251faa4083d060acacff409c0a96da4b3be773d87970f13affa03d81ebda56c06a071dc7d897ca90254c395ebedf13
7
+ data.tar.gz: 0261d65fac2f0f0a07236abe4cfad1fdf06b3199ddebb4ad2c408597ae90bf2c46f08ff7ab1af18137f177ed7cd40d64c393e4599f7f167236032a1e0398b40f
@@ -22,26 +22,20 @@ module MetadataPresenter
22
22
 
23
23
  def uuid_to_include?(candidate_component)
24
24
  evaluation_conditions = []
25
- if candidate_component.conditionals.count == 1
26
- # if there are only and rules or the particular case where there is only one condition
25
+
26
+ if candidate_component.conditionals.count > 1
27
+ candidate_component.conditionals.each do |conditional|
28
+ evaluation_conditions << if conditional[:_type] == 'and'
29
+ evaluate_condition(conditional).flatten.all?
30
+ else
31
+ evaluate_condition(conditional)
32
+ end
33
+ end
34
+
35
+ candidate_component.uuid if evaluation_conditions.flatten.any?
36
+ else
27
37
  evaluation_conditions << evaluate_condition(candidate_component.conditionals[0])
28
38
  candidate_component.uuid if evaluation_conditions.flatten.all?
29
- elsif candidate_component.conditionals.count > 1
30
- # if there are or rule
31
- if candidate_component.conditionals[0][:_type] == 'and'
32
- # if there are 'and' in conditions between the 'or' rule
33
- candidate_component.conditionals.map do |conditional|
34
- evaluation_conditions << evaluate_condition(conditional).flatten.all?
35
- end
36
- return candidate_component.uuid if evaluation_conditions.flatten.any?
37
- end
38
- if candidate_component.conditionals[0][:_type] == 'if'
39
- # then this is an 'or' condition between conditionals
40
- candidate_component.conditionals.map do |conditional|
41
- evaluation_conditions << evaluate_condition(conditional)
42
- end
43
- candidate_component.uuid if evaluation_conditions.flatten.any?
44
- end
45
39
  end
46
40
  end
47
41
 
@@ -1,54 +1,56 @@
1
- <% components.each_with_index do |component, index| %>
2
- <% if component.type == 'content' %>
3
- <% next unless (editable? || @page.show_conditional_component?(component.uuid) || single_page_preview?) %>
4
- <editable-content id="<%= component.id %>"
5
- class="fb-editable govuk-!-margin-top-8"
6
- type="<%= component.type %>"
7
- default-content="<%= default_text('content') %>"
8
- content="<%= component.content %>"
9
- data-fb-content-id="<%= "page[#{component.collection}[#{index}]]" %>"
10
- data-config="<%= component.to_json %>"
11
- data-conditional-api-path="<%= editable? ? URI.decode_www_form_component(api_service_edit_conditional_content_path(service.service_id, component.uuid)) : '' %>"
12
- data-controller="orderable-item component"
13
- data-orderable-item-order-value="<%= component.order || index %>"
14
- data-orderable-items-target="orderableItem"
15
- data-action="orderable-item:move->orderable-items#reorder
16
- orderable-item:move->component#focus
17
- orderable-item:orderUpdated->component#update
18
- questionRemove->component#destroy"
19
- data-orderable-item-moving-class="moving">
20
- <div class="html">
21
- <%= to_html(component.content) %>
22
- </div>
23
- </editable-content>
24
- <% else %>
25
- <div class="fb-editable govuk-!-margin-top-8"
26
- id="<%= component.id %>"
27
- data-fb-content-type="<%= component.type %>"
28
- data-fb-content-id="<%= "page[#{component.collection}[#{index}]]" %>"
29
- data-fb-content-data="<%= component.to_json %>"
30
- data-fb-default-value="<%= default_title(component.type) %>"
31
- data-fb-default-item-value="<%= default_item_title(component.type) %>"
32
- data-controller="orderable-item component"
33
- data-orderable-item-order-value="<%= component.order || index %>"
34
- data-orderable-items-target="orderableItem"
35
- data-action="orderable-item:move->orderable-items#reorder
36
- orderable-item:move->component#focus
37
- orderable-item:orderUpdated->component#update
38
- questionRemove->component#destroy"
39
- data-orderable-item-moving-class="moving">
1
+ <div class="components" data-controller="orderable-items">
2
+ <% components.each_with_index do |component, index| %>
3
+ <% if component.type == 'content' %>
4
+ <% next unless (editable? || @page.show_conditional_component?(component.uuid) || single_page_preview?) %>
5
+ <editable-content id="<%= component.id %>"
6
+ class="fb-editable govuk-!-margin-top-8"
7
+ type="<%= component.type %>"
8
+ default-content="<%= default_text('content') %>"
9
+ content="<%= component.content %>"
10
+ data-fb-content-id="<%= "page[#{component.collection}[#{index}]]" %>"
11
+ data-config="<%= component.to_json %>"
12
+ data-conditional-api-path="<%= editable? ? URI.decode_www_form_component(api_service_edit_conditional_content_path(service.service_id, component.uuid)) : '' %>"
13
+ data-controller="orderable-item component"
14
+ data-orderable-item-order-value="<%= component.order || index %>"
15
+ data-orderable-items-target="orderableItem"
16
+ data-action="orderable-item:move->orderable-items#reorder
17
+ orderable-item:move->component#focus
18
+ orderable-item:orderUpdated->component#update
19
+ questionRemove->component#destroy"
20
+ data-orderable-item-moving-class="moving">
21
+ <div class="html">
22
+ <%= to_html(component.content) %>
23
+ </div>
24
+ </editable-content>
25
+ <% else %>
26
+ <div class="fb-editable govuk-!-margin-top-8"
27
+ id="<%= component.id %>"
28
+ data-fb-content-type="<%= component.type %>"
29
+ data-fb-content-id="<%= "page[#{component.collection}[#{index}]]" %>"
30
+ data-fb-content-data="<%= component.to_json %>"
31
+ data-fb-default-value="<%= default_title(component.type) %>"
32
+ data-fb-default-item-value="<%= default_item_title(component.type) %>"
33
+ data-controller="orderable-item component"
34
+ data-orderable-item-order-value="<%= component.order || index %>"
35
+ data-orderable-items-target="orderableItem"
36
+ data-action="orderable-item:move->orderable-items#reorder
37
+ orderable-item:move->component#focus
38
+ orderable-item:orderUpdated->component#update
39
+ questionRemove->component#destroy"
40
+ data-orderable-item-moving-class="moving">
40
41
 
41
- <%= render partial: component, locals: {
42
- f: f,
43
- component: component,
44
- component_id: "page[#{component.collection}[#{index}]]",
45
- input_title: main_title(
42
+ <%= render partial: component, locals: {
43
+ f: f,
46
44
  component: component,
47
- tag: :h2,
48
- classes: classes
49
- )
50
- }
51
- %>
52
- </div>
45
+ component_id: "page[#{component.collection}[#{index}]]",
46
+ input_title: main_title(
47
+ component: component,
48
+ tag: :h2,
49
+ classes: classes
50
+ )
51
+ }
52
+ %>
53
+ </div>
54
+ <% end %>
53
55
  <% end %>
54
- <% end %>
56
+ </div>
@@ -14,7 +14,6 @@
14
14
  <%= hidden_field_tag :authenticity_token, form_authenticity_token -%>
15
15
  <%= f.govuk_error_summary(t('presenter.errors.summary_heading')) %>
16
16
 
17
- <div class="components" data-controller="orderable-items">
18
17
  <%= render partial: 'metadata_presenter/component/components', locals: {
19
18
  f: f,
20
19
  components: @page.components,
@@ -24,7 +23,7 @@
24
23
  content_components: @page.supported_content_components
25
24
  }
26
25
  %>
27
- </div>
26
+
28
27
  <div class="govuk-button-group">
29
28
  <%= f.govuk_submit(t('presenter.actions.continue'), disabled: editable?) %>
30
29
 
@@ -1,3 +1,3 @@
1
1
  module MetadataPresenter
2
- VERSION = '3.3.21'.freeze
2
+ VERSION = '3.3.23'.freeze
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: 3.3.21
4
+ version: 3.3.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - MoJ Forms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-29 00:00:00.000000000 Z
11
+ date: 2024-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_design_system_formbuilder