activeadmin_blaze_theme 0.5.14 → 0.5.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +33 -0
- data/.gitignore +11 -2
- data/.rspec +3 -0
- data/.rubocop.yml +27 -0
- data/Gemfile +2 -0
- data/README.md +31 -19
- data/Rakefile +2 -1
- data/activeadmin_blaze_theme.gemspec +1 -1
- data/bin/rails +29 -0
- data/bin/rake +29 -0
- data/bin/rspec +29 -0
- data/bin/rubocop +29 -0
- data/lib/activeadmin/views/activeadmin_form.rb +6 -2
- data/lib/activeadmin_blaze_theme.rb +5 -2
- data/lib/activeadmin_blaze_theme/version.rb +1 -1
- data/lib/formtastic/inputs/blaze_toggle_input.rb +12 -8
- data/spec/dummy/.ruby-version +1 -0
- data/spec/dummy/.tool-versions +1 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/admin/authors.rb +57 -0
- data/spec/dummy/app/admin/dashboard.rb +32 -0
- data/spec/dummy/app/admin/posts.rb +50 -0
- data/spec/dummy/app/admin/tags.rb +4 -0
- data/spec/dummy/app/assets/config/manifest.js +3 -0
- data/spec/dummy/app/assets/images/.keep +0 -0
- data/spec/dummy/app/assets/javascripts/active_admin.js +1 -0
- data/spec/dummy/app/assets/stylesheets/active_admin.scss +4 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
- data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
- data/spec/dummy/app/controllers/application_controller.rb +2 -0
- data/spec/dummy/app/controllers/concerns/.keep +0 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/javascript/packs/application.js +15 -0
- data/spec/dummy/app/jobs/application_job.rb +7 -0
- data/spec/dummy/app/mailers/application_mailer.rb +4 -0
- data/spec/dummy/app/models/application_record.rb +7 -0
- data/spec/dummy/app/models/author.rb +26 -0
- data/spec/dummy/app/models/concerns/.keep +0 -0
- data/spec/dummy/app/models/post.rb +25 -0
- data/spec/dummy/app/models/post_tag.rb +9 -0
- data/spec/dummy/app/models/profile.rb +9 -0
- data/spec/dummy/app/models/tag.rb +6 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +33 -0
- data/spec/dummy/config.ru +5 -0
- data/spec/dummy/config/application.rb +18 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/cable.yml +10 -0
- data/spec/dummy/config/database.yml +8 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +62 -0
- data/spec/dummy/config/environments/production.rb +112 -0
- data/spec/dummy/config/environments/test.rb +49 -0
- data/spec/dummy/config/initializers/active_admin.rb +335 -0
- data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
- data/spec/dummy/config/initializers/assets.rb +12 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/content_security_policy.rb +28 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +33 -0
- data/spec/dummy/config/puma.rb +38 -0
- data/spec/dummy/config/routes.rb +3 -0
- data/spec/dummy/config/spring.rb +6 -0
- data/spec/dummy/config/storage.yml +7 -0
- data/spec/dummy/db/migrate/20170806125915_create_active_storage_tables.active_storage.rb +27 -0
- data/spec/dummy/db/migrate/20180101010101_create_active_admin_comments.rb +16 -0
- data/spec/dummy/db/migrate/20180607053251_create_authors.rb +13 -0
- data/spec/dummy/db/migrate/20180607053254_create_profiles.rb +12 -0
- data/spec/dummy/db/migrate/20180607053255_create_tags.rb +11 -0
- data/spec/dummy/db/migrate/20180607053257_create_post_tags.rb +12 -0
- data/spec/dummy/db/migrate/20180607053739_create_posts.rb +17 -0
- data/spec/dummy/db/schema.rb +99 -0
- data/spec/dummy/lib/assets/.keep +0 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
- data/spec/dummy/public/apple-touch-icon.png +0 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/rails_helper.rb +36 -0
- data/spec/spec_helper.rb +20 -0
- data/spec/support/capybara.rb +3 -0
- data/spec/support/drivers.rb +7 -0
- data/spec/system/theme_spec.rb +15 -0
- metadata +169 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af3f001d6915ecc2ab8b31b3161503ae7dec0ddbb3d73e540f84400021286ef8
|
4
|
+
data.tar.gz: 8e738b5f803ccb3aecc414fe3b85b4cc71806b0ba1f2d94b19a756fee83d333a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a2f5c9cd1161cd38baad128f22eb90c5d05dc00807dec294908f8463be2d4d67efac5b11bb8061af7ab6f13a56a10b2eeaa1779ad239512d9fd4f6ef194b4cb
|
7
|
+
data.tar.gz: 8c7ebfe0ca82825ae580c4a8a9309c35d5cb16f9203bb04d40a0decc1ea6984994b180a045b2eb33ea8478952fec8b40a1ed49d40612d780da3c26a554f6d333
|
@@ -0,0 +1,33 @@
|
|
1
|
+
version: 2.1
|
2
|
+
orbs:
|
3
|
+
ruby: circleci/ruby@0.1.2
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
docker:
|
8
|
+
- image: circleci/ruby:2.6.6-stretch-node-browsers
|
9
|
+
executor: ruby/default
|
10
|
+
steps:
|
11
|
+
- checkout
|
12
|
+
- restore_cache:
|
13
|
+
key: gem-cache-{{ checksum "activeadmin_blaze_theme.gemspec" }}
|
14
|
+
- run:
|
15
|
+
name: Setup Bundler
|
16
|
+
command: gem install bundler
|
17
|
+
- run:
|
18
|
+
name: Bundle Install
|
19
|
+
command: bundle install --path vendor/bundle
|
20
|
+
- save_cache:
|
21
|
+
key: gem-cache-{{ checksum "activeadmin_blaze_theme.gemspec" }}
|
22
|
+
paths: vendor/bundle
|
23
|
+
- run:
|
24
|
+
name: Run Specs
|
25
|
+
command: |
|
26
|
+
bin/rspec \
|
27
|
+
--profile 10 \
|
28
|
+
--format RspecJunitFormatter \
|
29
|
+
--out test_results/rspec.xml \
|
30
|
+
--format progress \
|
31
|
+
$(circleci tests glob "spec/**/*_spec.rb")
|
32
|
+
- store_test_results:
|
33
|
+
path: test_results
|
data/.gitignore
CHANGED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
inherit_from:
|
2
|
+
- https://relaxed.ruby.style/rubocop.yml
|
3
|
+
|
4
|
+
AllCops:
|
5
|
+
Exclude:
|
6
|
+
- bin/*
|
7
|
+
- spec/dummy/**/*
|
8
|
+
NewCops: enable
|
9
|
+
|
10
|
+
Gemspec/RequiredRubyVersion:
|
11
|
+
Enabled: false
|
12
|
+
|
13
|
+
Naming/FileName:
|
14
|
+
Enabled: false
|
15
|
+
|
16
|
+
Layout/LineLength:
|
17
|
+
Enabled: true
|
18
|
+
Max: 120
|
19
|
+
|
20
|
+
Style/HashEachMethods:
|
21
|
+
Enabled: true
|
22
|
+
|
23
|
+
Style/HashTransformKeys:
|
24
|
+
Enabled: true
|
25
|
+
|
26
|
+
Style/HashTransformValues:
|
27
|
+
Enabled: true
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
# Active Admin Blaze Theme
|
1
|
+
# Active Admin Blaze Theme
|
2
|
+
[![Gem Version](https://badge.fury.io/rb/activeadmin_blaze_theme.svg)](https://badge.fury.io/rb/activeadmin_blaze_theme) [![CircleCI](https://circleci.com/gh/blocknotes/activeadmin_blaze_theme.svg?style=svg)](https://circleci.com/gh/blocknotes/activeadmin_blaze_theme)
|
2
3
|
|
3
4
|
A theme for Active Admin using [Blaze CSS](http://blazecss.com/).
|
4
5
|
|
@@ -17,7 +18,7 @@ Features:
|
|
17
18
|
## Customize
|
18
19
|
- To change colors add before your Active Admin styles (_app/assets/stylesheets/active_admin.scss_):
|
19
20
|
|
20
|
-
```
|
21
|
+
```scss
|
21
22
|
// blaze colors
|
22
23
|
$color-brand: #2C3E50;
|
23
24
|
$color-info: #4dabf5;
|
@@ -51,7 +52,7 @@ $text-shadow: #000 !default;
|
|
51
52
|
|
52
53
|
- To move sidebar on the left add to your Active Admin styles (after blaze theme import):
|
53
54
|
|
54
|
-
```
|
55
|
+
```scss
|
55
56
|
#active_admin_content.with_sidebar {
|
56
57
|
@extend .sidebar_left;
|
57
58
|
}
|
@@ -59,7 +60,7 @@ $text-shadow: #000 !default;
|
|
59
60
|
|
60
61
|
- Squared style (no rounded borders):
|
61
62
|
|
62
|
-
```
|
63
|
+
```scss
|
63
64
|
#active_admin_content, .active_admin #title_bar {
|
64
65
|
@extend .no_rounded;
|
65
66
|
}
|
@@ -67,14 +68,14 @@ $text-shadow: #000 !default;
|
|
67
68
|
|
68
69
|
- More options:
|
69
70
|
|
70
|
-
```
|
71
|
+
```scss
|
71
72
|
// scrollable table cells
|
72
73
|
body.active_admin .index_content table {
|
73
74
|
@extend .scrollable_cells;
|
74
75
|
}
|
75
76
|
```
|
76
77
|
|
77
|
-
```
|
78
|
+
```scss
|
78
79
|
// fix ckeditor width
|
79
80
|
body.active_admin .cke {
|
80
81
|
@extend .ckeditor_width_fix
|
@@ -86,22 +87,28 @@ body.active_admin .cke {
|
|
86
87
|
### Toggle
|
87
88
|
In *form* \ *inputs* block:
|
88
89
|
|
89
|
-
|
90
|
+
```ruby
|
91
|
+
f.input :boolean, as: :blaze_toggle
|
92
|
+
```
|
90
93
|
|
91
94
|
To change toggle color:
|
92
95
|
|
93
|
-
|
96
|
+
```ruby
|
97
|
+
f.input :boolean, as: :blaze_toggle, input_html: { toggle_class: 'c-toggle--brand' }
|
98
|
+
```
|
94
99
|
|
95
100
|
Available: `c-toggle--brand, c-toggle--info, c-toggle--warning, c-toggle--success, c-toggle--error`
|
96
101
|
|
97
102
|
Standard checkbox with label on the left:
|
98
103
|
|
99
|
-
|
104
|
+
```ruby
|
105
|
+
f.input :boolean, as: :blaze_toggle, input_html: { simple_checkbox: true }
|
106
|
+
```
|
100
107
|
|
101
108
|
### Sidebar menu
|
102
109
|
A sidebar menu (*priority* option permit to put the sidebar above the filters):
|
103
110
|
|
104
|
-
```
|
111
|
+
```ruby
|
105
112
|
sidebar :help, priority: 0 do
|
106
113
|
ul class: 'blaze-menu' do
|
107
114
|
li do
|
@@ -122,7 +129,7 @@ end
|
|
122
129
|
### Accordion
|
123
130
|
An accordion group in a form:
|
124
131
|
|
125
|
-
```
|
132
|
+
```ruby
|
126
133
|
f.accordion_group do
|
127
134
|
f.accordion 'First accordion' do
|
128
135
|
f.inputs for: [:detail, f.object.detail || Detail.new] do |f2|
|
@@ -142,13 +149,21 @@ end
|
|
142
149
|
### Readonly field
|
143
150
|
Some readonly fields in a form:
|
144
151
|
|
145
|
-
|
152
|
+
```ruby
|
153
|
+
f.readonly :position
|
154
|
+
```
|
146
155
|
|
147
|
-
|
156
|
+
```ruby
|
157
|
+
f.readonly :position, f.object.position * 2
|
158
|
+
```
|
148
159
|
|
149
|
-
|
160
|
+
```ruby
|
161
|
+
f.readonly 'Code', 'Automatically set after save', class: 'a-wrapper-class'
|
162
|
+
```
|
150
163
|
|
151
|
-
|
164
|
+
```ruby
|
165
|
+
f.readonly nil, 'Value only, no label'
|
166
|
+
```
|
152
167
|
|
153
168
|
### Styled table
|
154
169
|
Table styles:
|
@@ -187,21 +202,18 @@ end
|
|
187
202
|
|
188
203
|
## Screenshots
|
189
204
|
Index:
|
190
|
-
|
191
205
|
![index](extra/screenshot1.jpg)
|
192
206
|
|
193
207
|
Edit:
|
194
|
-
|
195
208
|
![edit](extra/screenshot2.jpg)
|
196
209
|
|
197
210
|
Show - sidebar on the left:
|
198
|
-
|
199
211
|
![edit](extra/screenshot3.jpg)
|
200
212
|
|
201
213
|
## Do you like it? Star it!
|
202
214
|
If you use this component just star it. A developer is more motivated to improve a project when there is some interest.
|
203
215
|
|
204
|
-
Take a look at [other
|
216
|
+
Take a look at [other Active Admin components](https://github.com/blocknotes?utf8=✓&tab=repositories&q=activeadmin&type=source) if you are curious.
|
205
217
|
|
206
218
|
## Contributors
|
207
219
|
- [Mattia Roccoberton](http://blocknot.es): author
|
data/Rakefile
CHANGED
data/bin/rails
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application 'rails' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
require "pathname"
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
+
Pathname.new(__FILE__).realpath)
|
14
|
+
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
+
|
17
|
+
if File.file?(bundle_binstub)
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
+
load(bundle_binstub)
|
20
|
+
else
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
require "rubygems"
|
27
|
+
require "bundler/setup"
|
28
|
+
|
29
|
+
load Gem.bin_path("railties", "rails")
|
data/bin/rake
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application 'rake' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
require "pathname"
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
+
Pathname.new(__FILE__).realpath)
|
14
|
+
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
+
|
17
|
+
if File.file?(bundle_binstub)
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
+
load(bundle_binstub)
|
20
|
+
else
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
require "rubygems"
|
27
|
+
require "bundler/setup"
|
28
|
+
|
29
|
+
load Gem.bin_path("rake", "rake")
|
data/bin/rspec
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application 'rspec' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
require "pathname"
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
+
Pathname.new(__FILE__).realpath)
|
14
|
+
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
+
|
17
|
+
if File.file?(bundle_binstub)
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
+
load(bundle_binstub)
|
20
|
+
else
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
require "rubygems"
|
27
|
+
require "bundler/setup"
|
28
|
+
|
29
|
+
load Gem.bin_path("rspec-core", "rspec")
|
data/bin/rubocop
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application 'rubocop' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
require "pathname"
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
+
Pathname.new(__FILE__).realpath)
|
14
|
+
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
+
|
17
|
+
if File.file?(bundle_binstub)
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
+
load(bundle_binstub)
|
20
|
+
else
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
require "rubygems"
|
27
|
+
require "bundler/setup"
|
28
|
+
|
29
|
+
load Gem.bin_path("rubocop", "rubocop")
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
ActiveAdmin::Views::ActiveAdminForm.class_eval do
|
2
4
|
def accordion( title, &block )
|
3
5
|
@accordion_id = @accordion_id ? ( @accordion_id + 1 ) : 1
|
@@ -15,8 +17,10 @@ ActiveAdmin::Views::ActiveAdminForm.class_eval do
|
|
15
17
|
end
|
16
18
|
|
17
19
|
def readonly( field, value = nil, options = {} )
|
20
|
+
field_value = value.nil? ? nil : raw(value)
|
21
|
+
field_value ||= (field && object.respond_to?(field) ? object.send(field) : '')
|
18
22
|
cl = 'readonly-field'
|
19
|
-
cl +=
|
23
|
+
cl += " #{options[:class]}" if options[:class]
|
20
24
|
li class: cl do
|
21
25
|
if !field.blank?
|
22
26
|
label field, for: nil, class: 'field_label'
|
@@ -24,7 +28,7 @@ ActiveAdmin::Views::ActiveAdminForm.class_eval do
|
|
24
28
|
span ' '.html_safe, class: 'field_label'
|
25
29
|
end
|
26
30
|
div do
|
27
|
-
span
|
31
|
+
span field_value, class: 'field_value'
|
28
32
|
end
|
29
33
|
end
|
30
34
|
end
|
@@ -1,3 +1,6 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'activeadmin'
|
1
4
|
require 'activeadmin/views/activeadmin_form'
|
2
5
|
require 'activeadmin_blaze_theme/version'
|
3
6
|
# require 'formtastic/inputs/blaze_array_input'
|
@@ -11,7 +14,7 @@ module ActiveAdminBlazeTheme
|
|
11
14
|
end
|
12
15
|
|
13
16
|
ActiveAdmin::Views::IndexAsTable::IndexTableFor::TableActions.class_eval do
|
14
|
-
def item
|
17
|
+
def item(*args)
|
15
18
|
cl = args[2][:class]
|
16
19
|
if cl.include? 'view_link'
|
17
20
|
args[0] = '<span class="icon-eye"></span> '.html_safe + args[0]
|
@@ -23,6 +26,6 @@ ActiveAdmin::Views::IndexAsTable::IndexTableFor::TableActions.class_eval do
|
|
23
26
|
args[0] = '<span class="icon-bin"></span> '.html_safe + args[0]
|
24
27
|
args[2][:class] += ' c-button c-button--ghost-error u-xsmall'
|
25
28
|
end
|
26
|
-
text_node link_to
|
29
|
+
text_node link_to(*args)
|
27
30
|
end
|
28
31
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Formtastic
|
2
4
|
module Inputs
|
3
5
|
class BlazeToggleInput < Formtastic::Inputs::BooleanInput
|
@@ -15,8 +17,8 @@ module Formtastic
|
|
15
17
|
def to_html
|
16
18
|
input_wrapping do
|
17
19
|
toggle_label <<
|
18
|
-
|
19
|
-
|
20
|
+
hidden_field_html <<
|
21
|
+
toggle_checkbox
|
20
22
|
end
|
21
23
|
end
|
22
24
|
|
@@ -36,18 +38,20 @@ module Formtastic
|
|
36
38
|
end
|
37
39
|
|
38
40
|
def label_html_options
|
39
|
-
classes = input_html_options[:simple_checkbox] ? [] : [
|
40
|
-
super.merge(
|
41
|
+
classes = input_html_options[:simple_checkbox] ? [] : ['c-toggle', input_html_options[:toggle_class]]
|
42
|
+
super.merge(for: input_html_options[:id], class: classes - ['label'])
|
41
43
|
end
|
42
44
|
|
43
45
|
def label_with_embedded_checkbox
|
44
|
-
check_box_html << "" << (
|
46
|
+
check_box_html << "" << (input_html_options[:simple_checkbox] ? '' : toggle_html) # << label_text
|
45
47
|
end
|
46
48
|
|
47
49
|
def toggle_html
|
48
|
-
template.content_tag(
|
49
|
-
|
50
|
-
|
50
|
+
template.content_tag(
|
51
|
+
:div,
|
52
|
+
Formtastic::Util.html_safe(template.content_tag(:div, '', class: 'c-toggle__handle')),
|
53
|
+
class: 'c-toggle__track'
|
54
|
+
)
|
51
55
|
end
|
52
56
|
end
|
53
57
|
end
|