metadata_presenter 2.17.5 → 2.17.8
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 +4 -4
- data/README.md +0 -12
- data/app/views/layouts/metadata_presenter/application.html.erb +1 -0
- data/app/views/metadata_presenter/component/_autocomplete.html.erb +16 -0
- data/config/locales/en.yml +2 -1
- data/default_metadata/component/upload.json +3 -1
- data/fixtures/version.json +2 -1
- data/lib/metadata_presenter/version.rb +1 -1
- data/schemas/component/autocomplete.json +1 -7
- data/schemas/validations/validations.json +2 -1
- metadata +3 -17
- data/lib/tasks/metadata_presenter_tasks.rake +0 -89
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd76b81cc2912dc02d76759ad2ea32cf276786d08a54a3c8b2eab163bc039139
|
4
|
+
data.tar.gz: 283d0486ab6d17e3258ddf7da5603a70adc3591aac3c43c3d646c259b20800a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb930c0728e2c01a503f66074258365110dceb236770dd17598b974fdedb803596937003da48f7079d486e91e67788a0cafd24b522948f6c69dfeaface16a0db
|
7
|
+
data.tar.gz: 0670fa58f9d8076f49c89c6f4e8df5d33b8075fd72a2b0be1f0fd84df0024cc0257566ea7fccfea914d4dee175e2a56a77f96abd90a216d91507b4f90af2ab9f
|
data/README.md
CHANGED
@@ -83,15 +83,3 @@ service.
|
|
83
83
|
## Generate documentation
|
84
84
|
|
85
85
|
Run `rake doc` and open the doc/index.html
|
86
|
-
|
87
|
-
## Flow diagrams
|
88
|
-
|
89
|
-
You can generate flow diagrams calling a rake task:
|
90
|
-
|
91
|
-
```
|
92
|
-
brew install graphviz
|
93
|
-
SERVICE_METADATA="some-form-metadata" rails metadata:flow
|
94
|
-
```
|
95
|
-
|
96
|
-
This will generate an image with the flow for that metadata. Open that image
|
97
|
-
and profit!
|
@@ -6,6 +6,7 @@
|
|
6
6
|
<%= csp_meta_tag %>
|
7
7
|
|
8
8
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
9
|
+
<meta name="robots" content="noindex">
|
9
10
|
<link rel="shortcut icon" sizes="16x16 32x32 48x48" href="<%= asset_pack_url('media/images/favicon.ico') %>" type="image/x-icon" />
|
10
11
|
<link rel="mask-icon" href="<%= asset_pack_url('media/images/govuk-mask-icon.svg') %>" color="blue">
|
11
12
|
<link rel="apple-touch-icon" sizes="180x180" href="<%= asset_pack_url('media/images/govuk-apple-touch-icon-180x180.png') %>">
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%=
|
2
|
+
f.govuk_collection_select component.id.to_sym,
|
3
|
+
component.items,
|
4
|
+
:id,
|
5
|
+
:name,
|
6
|
+
label: { text: input_title },
|
7
|
+
hint: {
|
8
|
+
data: { "fb-default-text" => default_text('hint') },
|
9
|
+
text: component.hint
|
10
|
+
},
|
11
|
+
class: "govuk-!-width-two-thirds"
|
12
|
+
%>
|
13
|
+
|
14
|
+
<% if editable? %>
|
15
|
+
<%= render partial: '/partials/editable_autocomplete', locals: { component: component } %>
|
16
|
+
<% end %>
|
data/config/locales/en.yml
CHANGED
@@ -18,9 +18,11 @@
|
|
18
18
|
"application/vnd.oasis.opendocument.text",
|
19
19
|
"application/pdf",
|
20
20
|
"application/rtf",
|
21
|
+
"application/csv",
|
21
22
|
"image/jpeg",
|
22
23
|
"image/png",
|
23
|
-
"application/vnd.ms-excel"
|
24
|
+
"application/vnd.ms-excel",
|
25
|
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
24
26
|
]
|
25
27
|
}
|
26
28
|
}
|
data/fixtures/version.json
CHANGED
@@ -559,7 +559,8 @@
|
|
559
559
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
560
560
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.template",
|
561
561
|
"application/vnd.ms-word.document.macroEnabled.12",
|
562
|
-
"application/vnd.ms-word.template.macroEnabled.12"
|
562
|
+
"application/vnd.ms-word.template.macroEnabled.12",
|
563
|
+
"application/csv"
|
563
564
|
],
|
564
565
|
"max_size": 7340032,
|
565
566
|
"virus_scan": true
|
@@ -1,18 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"$id": "http://gov.uk/schema/v1.0.0/autocomplete",
|
3
|
-
"_name": "autocomplete",
|
3
|
+
"_name": "component.autocomplete",
|
4
4
|
"title": "Autocomplete",
|
5
5
|
"description": "Let users select one option from an auto-completing list",
|
6
6
|
"type": "object",
|
7
7
|
"allOf": [
|
8
8
|
{
|
9
9
|
"$ref": "definition.select"
|
10
|
-
},
|
11
|
-
{
|
12
|
-
"$ref": "definition.field"
|
13
|
-
},
|
14
|
-
{
|
15
|
-
"$ref": "definition.width_class.input"
|
16
10
|
}
|
17
11
|
],
|
18
12
|
"properties": {
|
@@ -345,7 +345,8 @@
|
|
345
345
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
346
346
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.template",
|
347
347
|
"application/vnd.ms-word.document.macroEnabled.12",
|
348
|
-
"application/vnd.ms-word.template.macroEnabled.12"
|
348
|
+
"application/vnd.ms-word.template.macroEnabled.12",
|
349
|
+
"application/csv"
|
349
350
|
]
|
350
351
|
}
|
351
352
|
},
|
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: 2.17.
|
4
|
+
version: 2.17.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- MoJ Forms
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: govuk_design_system_formbuilder
|
@@ -128,20 +128,6 @@ dependencies:
|
|
128
128
|
- - ">="
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: '0'
|
131
|
-
- !ruby/object:Gem::Dependency
|
132
|
-
name: ruby-graphviz
|
133
|
-
requirement: !ruby/object:Gem::Requirement
|
134
|
-
requirements:
|
135
|
-
- - ">="
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
version: '0'
|
138
|
-
type: :development
|
139
|
-
prerelease: false
|
140
|
-
version_requirements: !ruby/object:Gem::Requirement
|
141
|
-
requirements:
|
142
|
-
- - ">="
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: '0'
|
145
131
|
- !ruby/object:Gem::Dependency
|
146
132
|
name: rspec-rails
|
147
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -344,6 +330,7 @@ files:
|
|
344
330
|
- app/views/metadata_presenter/attribute/_heading.html.erb
|
345
331
|
- app/views/metadata_presenter/attribute/_lede.html.erb
|
346
332
|
- app/views/metadata_presenter/attribute/_section_heading.html.erb
|
333
|
+
- app/views/metadata_presenter/component/_autocomplete.html.erb
|
347
334
|
- app/views/metadata_presenter/component/_checkboxes.html.erb
|
348
335
|
- app/views/metadata_presenter/component/_components.html.erb
|
349
336
|
- app/views/metadata_presenter/component/_content.html.erb
|
@@ -457,7 +444,6 @@ files:
|
|
457
444
|
- lib/metadata_presenter/engine.rb
|
458
445
|
- lib/metadata_presenter/test_helpers.rb
|
459
446
|
- lib/metadata_presenter/version.rb
|
460
|
-
- lib/tasks/metadata_presenter_tasks.rake
|
461
447
|
- schemas/component/autocomplete.json
|
462
448
|
- schemas/component/checkboxes.json
|
463
449
|
- schemas/component/content.json
|
@@ -1,89 +0,0 @@
|
|
1
|
-
require 'metadata_presenter/test_helpers'
|
2
|
-
|
3
|
-
namespace :metadata do
|
4
|
-
include MetadataPresenter::TestHelpers
|
5
|
-
|
6
|
-
desc 'Represent the flow objects in human readable form'
|
7
|
-
task flow: :environment do
|
8
|
-
require 'ruby-graphviz'
|
9
|
-
metadata = ENV['SERVICE_METADATA'] || metadata_fixture('branching')
|
10
|
-
service = MetadataPresenter::Service.new(metadata)
|
11
|
-
|
12
|
-
graph = MetadataPresenter::Graph.new(service)
|
13
|
-
|
14
|
-
graph.draw.generate_image
|
15
|
-
puts "Generated file #{graph.filename}"
|
16
|
-
system("open #{graph.filename}")
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
module MetadataPresenter
|
21
|
-
class Graph
|
22
|
-
attr_reader :service, :filename, :nodes
|
23
|
-
|
24
|
-
delegate :metadata, :start_page, :find_page_by_uuid, :service_slug, to: :service
|
25
|
-
|
26
|
-
def initialize(service)
|
27
|
-
@service = service
|
28
|
-
@graphviz = GraphViz.new(:G, type: :digraph)
|
29
|
-
@filename = Rails.root.join('tmp', "#{service_slug}.png")
|
30
|
-
@nodes = {}
|
31
|
-
end
|
32
|
-
|
33
|
-
def draw
|
34
|
-
draw_nodes
|
35
|
-
draw_edges
|
36
|
-
|
37
|
-
self
|
38
|
-
end
|
39
|
-
|
40
|
-
def generate_image
|
41
|
-
@graphviz.output(png: filename)
|
42
|
-
end
|
43
|
-
|
44
|
-
private
|
45
|
-
|
46
|
-
def draw_nodes
|
47
|
-
flow.each do |id, _value|
|
48
|
-
flow_object = service.flow_object(id)
|
49
|
-
|
50
|
-
if flow_object.branch?
|
51
|
-
full_description = flow_object.conditionals.map.each_with_index do |conditional, _index|
|
52
|
-
conditional.expressions.map { |expression|
|
53
|
-
expression.service = service
|
54
|
-
|
55
|
-
"#{expression.expression_component.humanised_title} #{expression.operator} #{expression.field_label}"
|
56
|
-
}.join(" #{conditional.type} ")
|
57
|
-
end
|
58
|
-
nodes[id] = @graphviz.add_nodes(full_description.flatten.join(' / '))
|
59
|
-
else
|
60
|
-
current_page = find_page_by_uuid(id)
|
61
|
-
nodes[id] = @graphviz.add_nodes(current_page.url)
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
def draw_edges
|
67
|
-
flow.each do |id, _value|
|
68
|
-
flow_object = service.flow_object(id)
|
69
|
-
current_node = nodes[id]
|
70
|
-
node_next = nodes[flow_object.default_next]
|
71
|
-
|
72
|
-
if flow_object.branch?
|
73
|
-
@graphviz.add_edges(current_node, node_next, label: 'Conditions are not met', labelfontsize: 8) if node_next
|
74
|
-
|
75
|
-
flow_object.group_by_page.each do |page_uuid, _conditionals|
|
76
|
-
conditionals_node = nodes[page_uuid]
|
77
|
-
@graphviz.add_edges(current_node, conditionals_node, label: 'Conditions are met', labelfontsize: 8) if conditionals_node
|
78
|
-
end
|
79
|
-
elsif node_next
|
80
|
-
@graphviz.add_edges(current_node, node_next)
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
def flow
|
86
|
-
service.flow
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|