govuk_admin_template 4.3.0 → 4.4.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 +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +24 -1
- data/config/locales/simple_form.en.yml +31 -0
- data/lib/govuk_admin_template.rb +1 -0
- data/lib/govuk_admin_template/simple_form.rb +100 -0
- data/lib/govuk_admin_template/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c56ebc64084872a0154fa55966b9a1d03693533
|
4
|
+
data.tar.gz: 10700fabdcf062fe7cb012fc503dab55eea24897
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 778b339983aa3c70e7e695f2fe7ec7d3420b59ce89f32e6ade5b6cb2488e91c7e1245dfe50a70815ae6a45362f6f350e3faa669c45fb64c67b73f7b46e89ab63
|
7
|
+
data.tar.gz: 031bff6de0929be3b955784d3bdf420df310ef6582e724ebd7070ec6fe99d51c3f406bb7568e5f0201f55bae9cc67d1983683ff1298b53c487652813bd4533c0
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -73,7 +73,7 @@ in your `spec/javascripts/support/jasmine.yml` like this:
|
|
73
73
|
```yaml
|
74
74
|
src_files:
|
75
75
|
- assets/govuk-admin-template.js
|
76
|
-
|
76
|
+
```
|
77
77
|
|
78
78
|
It is recommended that the style guide is also made available within your app at the route `/style-guide`. Add this to your `config/routes.rb` file:
|
79
79
|
|
@@ -101,6 +101,29 @@ GovukAdminTemplate.configure do |c|
|
|
101
101
|
end
|
102
102
|
```
|
103
103
|
|
104
|
+
### Forms
|
105
|
+
|
106
|
+
Some GOV.UK admin apps use the [Simple
|
107
|
+
Form](https://github.com/plataformatec/simple_form) library for writing form
|
108
|
+
markup. This repo contains a recommended configuration in
|
109
|
+
`lib/govuk_admin_template/simple_form.rb`.
|
110
|
+
|
111
|
+
To use this configuration:
|
112
|
+
|
113
|
+
0. Add `simple_form` to your Gemfile.
|
114
|
+
0. Add an initializer in `config/initializers/simple_form.rb` containing the
|
115
|
+
following:
|
116
|
+
|
117
|
+
```
|
118
|
+
SimpleForm.setup do |config|
|
119
|
+
GovukAdminTemplate.setup_simple_form(config)
|
120
|
+
end
|
121
|
+
```
|
122
|
+
|
123
|
+
This gem also provides an i18n file in `config/locales/simple_form.en.yml`.
|
124
|
+
This removes the need for this file to be present in the host project unless
|
125
|
+
specific customisations are required.
|
126
|
+
|
104
127
|
### Content blocks
|
105
128
|
|
106
129
|
The gem [uses nested layouts](http://guides.rubyonrails.org/layouts_and_rendering.html#using-nested-layouts) for customisation.
|
@@ -0,0 +1,31 @@
|
|
1
|
+
en:
|
2
|
+
simple_form:
|
3
|
+
"yes": 'Yes'
|
4
|
+
"no": 'No'
|
5
|
+
required:
|
6
|
+
text: 'required'
|
7
|
+
mark: '*'
|
8
|
+
# You can uncomment the line below if you need to overwrite the whole required html.
|
9
|
+
# When using html, text and mark won't be used.
|
10
|
+
# html: '<abbr title="required">*</abbr>'
|
11
|
+
error_notification:
|
12
|
+
default_message: "Please review the problems below:"
|
13
|
+
# Examples
|
14
|
+
labels:
|
15
|
+
defaults:
|
16
|
+
title: 'Password'
|
17
|
+
# user:
|
18
|
+
# new:
|
19
|
+
# email: 'E-mail to sign in.'
|
20
|
+
# edit:
|
21
|
+
# email: 'E-mail.'
|
22
|
+
# hints:
|
23
|
+
# defaults:
|
24
|
+
# username: 'User name to sign in.'
|
25
|
+
# password: 'No special characters, please.'
|
26
|
+
# include_blanks:
|
27
|
+
# defaults:
|
28
|
+
# age: 'Rather not say'
|
29
|
+
# prompts:
|
30
|
+
# defaults:
|
31
|
+
# age: 'Select your age'
|
data/lib/govuk_admin_template.rb
CHANGED
@@ -2,6 +2,7 @@ require "govuk_admin_template/version"
|
|
2
2
|
require "govuk_admin_template/engine"
|
3
3
|
require "govuk_admin_template/config"
|
4
4
|
require "govuk_admin_template/view_helpers"
|
5
|
+
require "govuk_admin_template/simple_form"
|
5
6
|
|
6
7
|
module GovukAdminTemplate
|
7
8
|
mattr_accessor :environment_style, :environment_label
|
@@ -0,0 +1,100 @@
|
|
1
|
+
module GovukAdminTemplate
|
2
|
+
def self.setup_simple_form(config)
|
3
|
+
# Wrappers are used by the form builder to generate a complete input.
|
4
|
+
# You can remove any component from the wrapper, change the order or
|
5
|
+
# even add your own to the stack.
|
6
|
+
|
7
|
+
# The options given below are used to wrap the whole input.
|
8
|
+
config.wrappers :default, class: :input, hint_class: :field_with_hint, error_class: :field_with_errors do |b|
|
9
|
+
# Determines whether to use HTML5 (:email, :url, ...)
|
10
|
+
# and required attributes
|
11
|
+
b.use :html5
|
12
|
+
|
13
|
+
# Calculates placeholders automatically from I18n
|
14
|
+
# You can also pass a string as f.input placeholder: "Placeholder"
|
15
|
+
b.use :placeholder
|
16
|
+
|
17
|
+
## Optional extensions
|
18
|
+
# They are disabled unless you pass `f.input EXTENSION_NAME => :lookup`
|
19
|
+
# to the input. If so, they will retrieve the values from the model
|
20
|
+
# if any exists. If you want to enable the lookup for any of those
|
21
|
+
# extensions by default, you can change `b.optional` to `b.use`.
|
22
|
+
|
23
|
+
# Calculates maxlength from length validations for string inputs
|
24
|
+
b.optional :maxlength
|
25
|
+
|
26
|
+
# Calculates pattern from format validations for string inputs
|
27
|
+
b.optional :pattern
|
28
|
+
|
29
|
+
# Calculates min and max from length validations for numeric inputs
|
30
|
+
b.optional :min_max
|
31
|
+
|
32
|
+
# Calculates readonly automatically from readonly attributes
|
33
|
+
b.optional :readonly
|
34
|
+
|
35
|
+
## Inputs
|
36
|
+
b.use :label_input
|
37
|
+
b.use :hint, wrap_with: { tag: :span, class: :hint }
|
38
|
+
b.use :error, wrap_with: { tag: :span, class: :error }
|
39
|
+
end
|
40
|
+
|
41
|
+
config.wrappers :bootstrap, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
|
42
|
+
b.use :html5
|
43
|
+
b.use :placeholder
|
44
|
+
b.use :label, class: 'control-label'
|
45
|
+
b.wrapper tag: 'div' do |ba|
|
46
|
+
ba.use :input
|
47
|
+
ba.use :error, wrap_with: { tag: 'span', class: 'help-inline' }
|
48
|
+
ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
config.wrappers :prepend, tag: 'div', class: "form-group", error_class: 'has-error' do |b|
|
53
|
+
b.use :html5
|
54
|
+
b.use :placeholder
|
55
|
+
b.use :label
|
56
|
+
b.wrapper tag: 'div', class: 'controls' do |input|
|
57
|
+
input.wrapper tag: 'div', class: 'input-prepend' do |prepend|
|
58
|
+
prepend.use :input
|
59
|
+
end
|
60
|
+
input.use :hint, wrap_with: { tag: 'span', class: 'help-block' }
|
61
|
+
input.use :error, wrap_with: { tag: 'span', class: 'help-inline' }
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
config.wrappers :append, tag: 'div', class: "form-group", error_class: 'has-error' do |b|
|
66
|
+
b.use :html5
|
67
|
+
b.use :placeholder
|
68
|
+
b.use :label
|
69
|
+
b.wrapper tag: 'div', class: 'controls' do |input|
|
70
|
+
input.wrapper tag: 'div', class: 'input-append' do |append|
|
71
|
+
append.use :input
|
72
|
+
end
|
73
|
+
input.use :hint, wrap_with: { tag: 'span', class: 'help-block' }
|
74
|
+
input.use :error, wrap_with: { tag: 'span', class: 'help-inline' }
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
# The default wrapper to be used by the FormBuilder.
|
79
|
+
config.default_wrapper = :bootstrap
|
80
|
+
|
81
|
+
# Define the way to render check boxes / radio buttons with labels.
|
82
|
+
# Defaults to :nested for bootstrap config.
|
83
|
+
# inline: input + label
|
84
|
+
# nested: label > input
|
85
|
+
config.boolean_style = :inline
|
86
|
+
|
87
|
+
# Default class for buttons
|
88
|
+
config.button_class = 'btn'
|
89
|
+
|
90
|
+
# Default tag used for error notification helper.
|
91
|
+
config.error_notification_tag = :div
|
92
|
+
|
93
|
+
# CSS class to add for error notification helper.
|
94
|
+
config.error_notification_class = 'alert alert-danger'
|
95
|
+
|
96
|
+
# Tell browsers whether to use default HTML5 validations (novalidate option).
|
97
|
+
# Default is enabled.
|
98
|
+
config.browser_validations = false
|
99
|
+
end
|
100
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govuk_admin_template
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GOV.UK Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -175,10 +175,12 @@ files:
|
|
175
175
|
- app/views/govuk_admin_template/_table_filter.html.erb
|
176
176
|
- app/views/govuk_admin_template/style_guide/index.html.erb
|
177
177
|
- app/views/layouts/govuk_admin_template.html.erb
|
178
|
+
- config/locales/simple_form.en.yml
|
178
179
|
- config/routes.rb
|
179
180
|
- lib/govuk_admin_template.rb
|
180
181
|
- lib/govuk_admin_template/config.rb
|
181
182
|
- lib/govuk_admin_template/engine.rb
|
183
|
+
- lib/govuk_admin_template/simple_form.rb
|
182
184
|
- lib/govuk_admin_template/version.rb
|
183
185
|
- lib/govuk_admin_template/view_helpers.rb
|
184
186
|
homepage: https://github.com/alphagov/govuk_admin_template
|