railsstrap 3.3.0 → 3.3.1
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 +11 -6
- data/app/helpers/railsstrap/date_picker_helper.rb +84 -0
- data/lib/generators/railsstrap/install/install_generator.rb +2 -2
- data/lib/generators/railsstrap/install/templates/application.css +3 -0
- data/lib/generators/railsstrap/install/templates/application.js +2 -0
- data/lib/generators/railsstrap/install/templates/bootstrap_and_overrides.css +1 -1
- data/lib/generators/railsstrap/install/templates/bootstrap_and_overrides.less +6 -3
- data/lib/generators/railsstrap/themed/templates/_form.html.erb +1 -1
- data/lib/generators/railsstrap/themed/templates/_form.html.haml +1 -1
- data/lib/generators/railsstrap/themed/templates/_form.html.slim +1 -1
- data/lib/generators/railsstrap/themed/templates/edit.html.slim +1 -1
- data/lib/generators/railsstrap/themed/templates/index.html.slim +3 -4
- data/lib/generators/railsstrap/themed/templates/new.html.slim +1 -1
- data/lib/generators/railsstrap/themed/templates/show.html.slim +1 -1
- data/lib/railsstrap/constants.rb +1 -1
- data/lib/railsstrap/engine.rb +4 -1
- data/vendor/assets/bower_components/bootstrap/Gruntfile.js +12 -42
- data/vendor/assets/bower_components/bootstrap/README.md +2 -2
- data/vendor/assets/bower_components/bootstrap/bower.json +1 -1
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +47 -34
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +1 -1
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +2 -2
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css +79 -105
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +1 -1
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css +2 -2
- data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +73 -29
- data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +3 -3
- data/vendor/assets/bower_components/bootstrap/grunt/configBridge.json +44 -0
- data/vendor/assets/bower_components/bootstrap/js/affix.js +2 -2
- data/vendor/assets/bower_components/bootstrap/js/alert.js +2 -2
- data/vendor/assets/bower_components/bootstrap/js/button.js +3 -3
- data/vendor/assets/bower_components/bootstrap/js/carousel.js +3 -2
- data/vendor/assets/bower_components/bootstrap/js/collapse.js +2 -2
- data/vendor/assets/bower_components/bootstrap/js/dropdown.js +3 -3
- data/vendor/assets/bower_components/bootstrap/js/modal.js +48 -5
- data/vendor/assets/bower_components/bootstrap/js/popover.js +2 -2
- data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +2 -2
- data/vendor/assets/bower_components/bootstrap/js/tab.js +2 -2
- data/vendor/assets/bower_components/bootstrap/js/tooltip.js +2 -2
- data/vendor/assets/bower_components/bootstrap/js/transition.js +1 -1
- data/vendor/assets/bower_components/bootstrap/less/badges.less +7 -1
- data/vendor/assets/bower_components/bootstrap/less/button-groups.less +0 -4
- data/vendor/assets/bower_components/bootstrap/less/forms.less +19 -32
- data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/list-group.less +0 -8
- data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +2 -2
- data/vendor/assets/bower_components/bootstrap/less/modals.less +1 -2
- data/vendor/assets/bower_components/bootstrap/less/navbar.less +1 -0
- data/vendor/assets/bower_components/bootstrap/less/popovers.less +1 -0
- data/vendor/assets/bower_components/bootstrap/less/theme.less +12 -0
- data/vendor/assets/bower_components/bootstrap/less/tooltip.less +12 -4
- data/vendor/assets/bower_components/bootstrap/less/variables.less +1 -1
- data/vendor/assets/bower_components/bootstrap/package.json +4 -4
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md +32 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/Gruntfile.js +155 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/LICENSE +21 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/README.md +17 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/bower.json +35 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css +238 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css +5 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js +1 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/component.json +10 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/composer.json +30 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/package.json +35 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js +1384 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less +5 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker.less +294 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec +30 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec +30 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/NuGet.exe +0 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1 +2 -0
- data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js +88 -0
- data/vendor/assets/bower_components/moment/CHANGELOG.md +402 -0
- data/vendor/assets/bower_components/moment/LICENSE +22 -0
- data/vendor/assets/bower_components/moment/README.md +39 -0
- data/vendor/assets/bower_components/moment/benchmarks/clone.js +10 -0
- data/vendor/assets/bower_components/moment/bower.json +20 -0
- data/vendor/assets/bower_components/moment/locale/af.js +67 -0
- data/vendor/assets/bower_components/moment/locale/ar-ma.js +57 -0
- data/vendor/assets/bower_components/moment/locale/ar-sa.js +97 -0
- data/vendor/assets/bower_components/moment/locale/ar.js +130 -0
- data/vendor/assets/bower_components/moment/locale/az.js +103 -0
- data/vendor/assets/bower_components/moment/locale/be.js +152 -0
- data/vendor/assets/bower_components/moment/locale/bg.js +88 -0
- data/vendor/assets/bower_components/moment/locale/bn.js +107 -0
- data/vendor/assets/bower_components/moment/locale/bo.js +104 -0
- data/vendor/assets/bower_components/moment/locale/br.js +109 -0
- data/vendor/assets/bower_components/moment/locale/bs.js +140 -0
- data/vendor/assets/bower_components/moment/locale/ca.js +77 -0
- data/vendor/assets/bower_components/moment/locale/cs.js +157 -0
- data/vendor/assets/bower_components/moment/locale/cv.js +61 -0
- data/vendor/assets/bower_components/moment/locale/cy.js +79 -0
- data/vendor/assets/bower_components/moment/locale/da.js +58 -0
- data/vendor/assets/bower_components/moment/locale/de-at.js +74 -0
- data/vendor/assets/bower_components/moment/locale/de.js +73 -0
- data/vendor/assets/bower_components/moment/locale/el.js +94 -0
- data/vendor/assets/bower_components/moment/locale/en-au.js +64 -0
- data/vendor/assets/bower_components/moment/locale/en-ca.js +61 -0
- data/vendor/assets/bower_components/moment/locale/en-gb.js +65 -0
- data/vendor/assets/bower_components/moment/locale/eo.js +67 -0
- data/vendor/assets/bower_components/moment/locale/es.js +77 -0
- data/vendor/assets/bower_components/moment/locale/et.js +78 -0
- data/vendor/assets/bower_components/moment/locale/eu.js +62 -0
- data/vendor/assets/bower_components/moment/locale/fa.js +99 -0
- data/vendor/assets/bower_components/moment/locale/fi.js +107 -0
- data/vendor/assets/bower_components/moment/locale/fo.js +58 -0
- data/vendor/assets/bower_components/moment/locale/fr-ca.js +56 -0
- data/vendor/assets/bower_components/moment/locale/fr.js +60 -0
- data/vendor/assets/bower_components/moment/locale/gl.js +73 -0
- data/vendor/assets/bower_components/moment/locale/he.js +78 -0
- data/vendor/assets/bower_components/moment/locale/hi.js +106 -0
- data/vendor/assets/bower_components/moment/locale/hr.js +141 -0
- data/vendor/assets/bower_components/moment/locale/hu.js +107 -0
- data/vendor/assets/bower_components/moment/locale/hy-am.js +114 -0
- data/vendor/assets/bower_components/moment/locale/id.js +68 -0
- data/vendor/assets/bower_components/moment/locale/is.js +126 -0
- data/vendor/assets/bower_components/moment/locale/it.js +68 -0
- data/vendor/assets/bower_components/moment/locale/ja.js +59 -0
- data/vendor/assets/bower_components/moment/locale/ka.js +109 -0
- data/vendor/assets/bower_components/moment/locale/km.js +56 -0
- data/vendor/assets/bower_components/moment/locale/ko.js +65 -0
- data/vendor/assets/bower_components/moment/locale/lb.js +139 -0
- data/vendor/assets/bower_components/moment/locale/lt.js +120 -0
- data/vendor/assets/bower_components/moment/locale/lv.js +79 -0
- data/vendor/assets/bower_components/moment/locale/mk.js +88 -0
- data/vendor/assets/bower_components/moment/locale/ml.js +65 -0
- data/vendor/assets/bower_components/moment/locale/mr.js +105 -0
- data/vendor/assets/bower_components/moment/locale/ms-my.js +67 -0
- data/vendor/assets/bower_components/moment/locale/my.js +89 -0
- data/vendor/assets/bower_components/moment/locale/nb.js +59 -0
- data/vendor/assets/bower_components/moment/locale/ne.js +106 -0
- data/vendor/assets/bower_components/moment/locale/nl.js +69 -0
- data/vendor/assets/bower_components/moment/locale/nn.js +58 -0
- data/vendor/assets/bower_components/moment/locale/pl.js +100 -0
- data/vendor/assets/bower_components/moment/locale/pt-br.js +58 -0
- data/vendor/assets/bower_components/moment/locale/pt.js +62 -0
- data/vendor/assets/bower_components/moment/locale/ro.js +73 -0
- data/vendor/assets/bower_components/moment/locale/ru.js +176 -0
- data/vendor/assets/bower_components/moment/locale/sk.js +158 -0
- data/vendor/assets/bower_components/moment/locale/sl.js +146 -0
- data/vendor/assets/bower_components/moment/locale/sq.js +63 -0
- data/vendor/assets/bower_components/moment/locale/sr-cyrl.js +107 -0
- data/vendor/assets/bower_components/moment/locale/sr.js +107 -0
- data/vendor/assets/bower_components/moment/locale/sv.js +65 -0
- data/vendor/assets/bower_components/moment/locale/ta.js +114 -0
- data/vendor/assets/bower_components/moment/locale/th.js +59 -0
- data/vendor/assets/bower_components/moment/locale/tl-ph.js +60 -0
- data/vendor/assets/bower_components/moment/locale/tr.js +94 -0
- data/vendor/assets/bower_components/moment/locale/tzm-latn.js +56 -0
- data/vendor/assets/bower_components/moment/locale/tzm.js +56 -0
- data/vendor/assets/bower_components/moment/locale/uk.js +159 -0
- data/vendor/assets/bower_components/moment/locale/uz.js +56 -0
- data/vendor/assets/bower_components/moment/locale/vi.js +64 -0
- data/vendor/assets/bower_components/moment/locale/zh-cn.js +110 -0
- data/vendor/assets/bower_components/moment/locale/zh-tw.js +86 -0
- data/vendor/assets/bower_components/moment/min/locales.js +7001 -0
- data/vendor/assets/bower_components/moment/min/locales.min.js +4 -0
- data/vendor/assets/bower_components/moment/min/moment-with-locales.js +9394 -0
- data/vendor/assets/bower_components/moment/min/moment-with-locales.min.js +10 -0
- data/vendor/assets/bower_components/moment/min/moment.min.js +7 -0
- data/vendor/assets/bower_components/moment/moment.js +2936 -0
- data/vendor/assets/bower_components/moment/scripts/npm_prepublish.sh +43 -0
- data/vendor/assets/javascripts/datepicker/datepicker.js +3 -0
- data/vendor/assets/stylesheets/datepicker/datepicker.js +0 -0
- data/vendor/assets/stylesheets/datepicker/datepicker.less +1 -0
- data/vendor/assets/stylesheets/dist/railsstrap.css +240 -18
- data/vendor/assets/stylesheets/fontawesome.less +2 -0
- metadata +116 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a5368848076f90de4d3bb93d722da03a756c8587
|
|
4
|
+
data.tar.gz: 89ace966b95408b74b85a76027cec3504d264def
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 84d1f162e59603eba4dd0a94d284c23ce7304a5d2acec3f13d0351f569130505a609813da16aebdf2c37aa2ed3da51bd170f993ff7f27d09c5c89d4a16a13057
|
|
7
|
+
data.tar.gz: 0b193c4a8a0d599cf33a6b56587dae0ea6b59302d212ea496348b0a6d350290c97bd9b25a67b1f186a9f9ebcd85806fd70c326a1da71bcf37cc6a8140c35eb72
|
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Bootstrap
|
|
1
|
+
# Bootstrap + FontAwesome for Rails v3.1 & v4 Asset Pipeline
|
|
2
2
|
|
|
3
3
|
[](http://badge.fury.io/bo/bootstrap)
|
|
4
4
|
[](http://badge.fury.io/rb/railsstrap)
|
|
@@ -16,16 +16,15 @@ Railsstrap is more than just another gem providing bootstrap and fontawesome for
|
|
|
16
16
|
|
|
17
17
|
###Custom Components (in development)
|
|
18
18
|
* Asides - A modal that slides in from the left or right. Used often in mobile apps for off-screen sidebars or overlays.
|
|
19
|
-
* Callouts - Similar to an alert, it is used for drawing attention to content.
|
|
20
|
-
*
|
|
19
|
+
* Callouts - Similar to an alert, it is used for drawing attention to content. - New in 3.3.0!
|
|
20
|
+
* Date & Time picker - A styled HTML5 datepicker. - New in 3.3.1!
|
|
21
21
|
* Modal enhancements - animations and real centering placement.
|
|
22
22
|
* Popover enhancements - animations and custom placements for popover arrows and locations.
|
|
23
|
-
* Timepicker - A styled HTML5 time picker.
|
|
24
23
|
* Tooltip - animations and custom placements for tooltip arrows and locations.
|
|
25
24
|
|
|
26
25
|
###Animations
|
|
27
26
|
|
|
28
|
-
Railsstrap comes with over 75 CSS animations. See the wiki or the [vendor/assets/stylesheets/animate](https://github.com/toadkicker/railsstrap/tree/develop/vendor/assets/stylesheets/animate) folder for more info.
|
|
27
|
+
Railsstrap comes with over 75 CSS animations. See the wiki or the [vendor/assets/stylesheets/animate](https://github.com/toadkicker/railsstrap/tree/develop/vendor/assets/stylesheets/animate) folder for more info. Also the wiki has detailed instructions on using them.
|
|
29
28
|
|
|
30
29
|
## Example Application
|
|
31
30
|
An example application is available at [toadkicker/teststrap](https://github.com/toadkicker/teststrap). You can view it running on heroku [here.](http://teststrap.herokuapp.com/) Contributions welcome.
|
|
@@ -48,11 +47,17 @@ This will insert the appropriate entries into your application.js and applicatio
|
|
|
48
47
|
|
|
49
48
|
You will need to precompile your assets for FontAwesome support. To do this add this line:
|
|
50
49
|
|
|
50
|
+
This is verbose:
|
|
51
51
|
```
|
|
52
52
|
Rails.application.config.assets.precompile += %w( fontawesome/fonts/fontawesome-webfont.eot fontawesome/fonts/fontawesome-webfont.woff fontawesome/fonts/fontawesome-webfont.ttf fontawesome/fonts/fontawesome-webfont.svg )
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
This is all you really need:
|
|
56
|
+
```
|
|
57
|
+
Rails.application.config.assets.precompile += %w(.svg .eot .woff .ttf)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
For Rails 3 applications, add it to ```config/environments/production.rb```. For Rails 4, add it to ```config/initializers/assets.rb```.
|
|
56
61
|
|
|
57
62
|
|
|
58
63
|
Most of the info you'll need is in the wiki, and if it isn't please contribute!
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Railsstrap Datepicker Helper
|
|
2
|
+
#
|
|
3
|
+
# Setup instructions:
|
|
4
|
+
# open your application.js & application.css asset manifest file and uncomment the block to include the UI libraries
|
|
5
|
+
# use the date_picker helper for the html and the date_picker_javascript helper in your templates
|
|
6
|
+
#
|
|
7
|
+
# You can set these options a few ways:
|
|
8
|
+
# with html data-date-{OPTIONNAME},
|
|
9
|
+
# or pass a data option hash into date_picker, but change the key name to_underscore format so content_tag renders the data tag properly.
|
|
10
|
+
# or in date_picker_javascript, keeping it as camelCase
|
|
11
|
+
#
|
|
12
|
+
# pickDate: true, //en/disables the date picker
|
|
13
|
+
# pickTime: true, //en/disables the time picker
|
|
14
|
+
# useMinutes: true, //en/disables the minutes picker
|
|
15
|
+
# useSeconds: true, //en/disables the seconds picker
|
|
16
|
+
# useCurrent: true, //when true, picker will set the value to the current date/time
|
|
17
|
+
# minuteStepping:1, //set the minute stepping
|
|
18
|
+
# minDate:`1/1/1900`, //set a minimum date
|
|
19
|
+
# maxDate: , //set a maximum date (defaults to today +100 years)
|
|
20
|
+
# showToday: true, //shows the today indicator
|
|
21
|
+
# language:'en', //sets language locale
|
|
22
|
+
# defaultDate:"", //sets a default date, accepts js dates, strings and moment objects
|
|
23
|
+
# disabledDates:[], //an array of dates that cannot be selected
|
|
24
|
+
# enabledDates:[], //an array of dates that can be selected
|
|
25
|
+
# icons = {
|
|
26
|
+
# time: 'glyphicon glyphicon-time',
|
|
27
|
+
# date: 'glyphicon glyphicon-calendar',
|
|
28
|
+
# up: 'glyphicon glyphicon-chevron-up',
|
|
29
|
+
# down: 'glyphicon glyphicon-chevron-down'
|
|
30
|
+
# }
|
|
31
|
+
# useStrict: false, //use strict when validating dates
|
|
32
|
+
# sideBySide: false, //show the date and time picker side by side
|
|
33
|
+
# daysOfWeekDisabled:[] //for example use daysOfWeekDisabled: [0,6] to disable weekends
|
|
34
|
+
#
|
|
35
|
+
|
|
36
|
+
module Railsstrap
|
|
37
|
+
module DatePickerHelper
|
|
38
|
+
|
|
39
|
+
def date_picker(options = {})
|
|
40
|
+
opts = default_options.merge(options)
|
|
41
|
+
input = text_field_tag opts[:input_name], '', class: opts[:input_class]
|
|
42
|
+
icon_wrapper = content_tag opts[:icon_wrapper_tag], class: opts[:icon_wrapper_class] do
|
|
43
|
+
content_tag :i, '', class: opts[:icon]
|
|
44
|
+
end
|
|
45
|
+
content_tag(opts[:wrapper_tag], id: opts[:id], class: opts[:wrapper_class], data: opts[:data]) {
|
|
46
|
+
opts[:show_input] ? input + icon_wrapper : icon_wrapper
|
|
47
|
+
}
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def date_picker_javascript(options = {})
|
|
51
|
+
opts = default_js_options.merge(options)
|
|
52
|
+
javascript_tag "(function ($) { $('#{opts[:selector]}').datetimepicker(#{opts.to_json});})(jQuery);"
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
private
|
|
56
|
+
def default_options
|
|
57
|
+
{ id: 'date_picker',
|
|
58
|
+
wrapper_tag: :div,
|
|
59
|
+
show_input: true,
|
|
60
|
+
input_name: 'date_picker',
|
|
61
|
+
input_class: 'form-control',
|
|
62
|
+
input_type: 'text',
|
|
63
|
+
wrapper_class: 'input-group date',
|
|
64
|
+
icon_wrapper_tag: :span,
|
|
65
|
+
icon_wrapper_class: 'input-group-addon',
|
|
66
|
+
icon: 'fa fa-calendar',
|
|
67
|
+
data: { datepicker: true, date_language: 'en' }
|
|
68
|
+
}
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def default_js_options
|
|
72
|
+
{
|
|
73
|
+
selector: '[data-datepicker="true"]',
|
|
74
|
+
language: 'en',
|
|
75
|
+
icons: {
|
|
76
|
+
time: 'fa fa-clock-o',
|
|
77
|
+
date: 'fa fa-calendar',
|
|
78
|
+
up: 'fa fa-chevron-up',
|
|
79
|
+
down: 'fa fa-chevron-down'
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -14,7 +14,7 @@ module Railsstrap
|
|
|
14
14
|
js_manifest = 'app/assets/javascripts/application.js'
|
|
15
15
|
css_manifest = 'app/assets/stylesheets/application.css'
|
|
16
16
|
asset_initializer = 'config/initializers/assets.rb'
|
|
17
|
-
config_asset_insert_line = "Rails.application.config.assets.precompile\s+=\s%w(
|
|
17
|
+
config_asset_insert_line = "Rails.application.config.assets.precompile\s+=\s%w(.svg .eot .woff .ttf)"
|
|
18
18
|
|
|
19
19
|
if File.exists?(asset_initializer) && Rails::VERSION::MAJOR >= 4 #Must be Rails 4
|
|
20
20
|
content = File.read(asset_initializer)
|
|
@@ -44,7 +44,7 @@ module Railsstrap
|
|
|
44
44
|
if content.match(/require_tree\s+\.\s*$/)
|
|
45
45
|
# Good enough - that'll include our bootstrap_and_overrides.css.less
|
|
46
46
|
else
|
|
47
|
-
style_require_block = " *= require bootstrap_and_overrides\n"
|
|
47
|
+
style_require_block = " *= require bootstrap_and_overrides\n*=require fontawesome"
|
|
48
48
|
insert_into_file css_manifest, style_require_block, :after => "require_self\n"
|
|
49
49
|
end
|
|
50
50
|
else
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* This is a manifest file that'll automatically include all the stylesheets available in this directory
|
|
3
3
|
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
|
|
4
4
|
* the top of the compiled file, but it's generally better to create a new file per style scope.
|
|
5
|
+
*= require 'bootstrap'
|
|
6
|
+
*= require 'railsstrap'
|
|
7
|
+
*= require 'fontawesome'
|
|
5
8
|
*= require_self
|
|
6
9
|
*= require_tree .
|
|
7
10
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
=require bootstrap/dist/bootstrap.css
|
|
3
3
|
=require bootstrap/dist/bootstrap-theme.css
|
|
4
|
-
If you want exotic placement features, animations, and more, uncomment this
|
|
4
|
+
If you want exotic placement features, animations, components, and more, uncomment this:
|
|
5
5
|
=require dist/railsstrap.css
|
|
6
6
|
To use Font Awesome
|
|
7
7
|
=require fontawesome/css/font-awesome.(min).css
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
//If you want exotic placement features, animations, and more, import this
|
|
3
3
|
//@import "railsstrap";
|
|
4
4
|
|
|
5
|
-
// Font Awesome
|
|
6
|
-
@import "fontawesome/less/font-awesome";
|
|
7
|
-
|
|
8
5
|
// Glyphicons - included by default in bootstrap.
|
|
9
6
|
// You may need to customize config/initializers/assets.rb (Rails 4), or config/environments/[env].rb to add font paths in.
|
|
10
7
|
// In either case of FontAwesome or Glyphicons, the railsstrap:install task should insert the appropriate entries for you.
|
|
@@ -21,3 +18,9 @@
|
|
|
21
18
|
// Example:
|
|
22
19
|
// @import (reference) 'bootstrap/less/variables.less';
|
|
23
20
|
// @link-color: #ff0000;
|
|
21
|
+
//
|
|
22
|
+
// Date and Time Picker
|
|
23
|
+
//
|
|
24
|
+
// To enable the date and time picker, uncomment this line:
|
|
25
|
+
// @import "datepicker/datepicker.less";
|
|
26
|
+
// Don't forget to include the javascript library as well.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<%%= form_for @<%= resource_name %>, :html => { :class => "form-horizontal <%= resource_name %>" } do |f| %>
|
|
1
|
+
<%%= form_for @<%= resource_name %>, :html => { :role=> 'form', :class => "form-horizontal <%= resource_name %>" } do |f| %>
|
|
2
2
|
|
|
3
3
|
<%% if @<%= resource_name %>.errors.any? %>
|
|
4
4
|
<div id="error_expl" class="panel panel-danger">
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
= form_for @<%= resource_name %>, html: { class: "form form-horizontal <%= resource_name %>" } do |f|
|
|
1
|
+
= form_for @<%= resource_name %>, html: { role: "form", class: "form form-horizontal <%= resource_name %>" } do |f|
|
|
2
2
|
<%- columns.each do |column| -%>
|
|
3
3
|
.form-group
|
|
4
4
|
= f.label :<%= column.name %>, class: 'control-label col-lg-2'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
= form_for @<%= resource_name %>, html: { class: "form form-horizontal <%= resource_name %>" } do |f|
|
|
1
|
+
= form_for @<%= resource_name %>, html: { role: "form", class: "form form-horizontal <%= resource_name %>" } do |f|
|
|
2
2
|
<%- columns.each do |column| -%>
|
|
3
3
|
.form-group
|
|
4
4
|
= f.label :<%= column.name %>, :class => 'control-label col-lg-2'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
- model_class = <%= resource_name.classify %>
|
|
2
|
-
|
|
2
|
+
.page-header
|
|
3
3
|
h1=t '.title', :default => model_class.model_name.human.pluralize.titleize
|
|
4
|
-
table
|
|
4
|
+
table.table table-striped
|
|
5
5
|
thead
|
|
6
6
|
tr
|
|
7
7
|
th= model_class.human_attribute_name(:id)
|
|
@@ -23,5 +23,4 @@ table class="table table-striped"
|
|
|
23
23
|
'
|
|
24
24
|
= link_to t('.destroy', :default => t("helpers.links.destroy")), <%= singular_controller_routing_path %>_path(<%= resource_name %>), :method => :delete, :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) }, :class => 'btn btn-xs btn-danger'
|
|
25
25
|
|
|
26
|
-
= link_to t('.new', :default => t("helpers.links.new")), new_<%= singular_controller_routing_path %>_path, :class => 'btn btn-primary'
|
|
27
|
-
|
|
26
|
+
= link_to t('.new', :default => t("helpers.links.new")), new_<%= singular_controller_routing_path %>_path, :class => 'btn btn-primary'
|
data/lib/railsstrap/constants.rb
CHANGED
data/lib/railsstrap/engine.rb
CHANGED
|
@@ -7,6 +7,7 @@ require_relative '../../app/helpers/railsstrap/modal_helper.rb'
|
|
|
7
7
|
require_relative '../../app/helpers/railsstrap/navbar_helper.rb'
|
|
8
8
|
require_relative '../../app/helpers/railsstrap/bootstrap_flash_helper.rb'
|
|
9
9
|
require_relative '../../app/helpers/railsstrap/form_errors_helper.rb'
|
|
10
|
+
require_relative '../../app/helpers/railsstrap/date_picker_helper.rb'
|
|
10
11
|
|
|
11
12
|
module Railsstrap
|
|
12
13
|
class Engine < ::Rails::Engine
|
|
@@ -28,11 +29,13 @@ module Railsstrap
|
|
|
28
29
|
Railsstrap::GlyphHelper,
|
|
29
30
|
Railsstrap::IconHelper,
|
|
30
31
|
Railsstrap::NavbarHelper,
|
|
31
|
-
Railsstrap::BadgeLabelHelper
|
|
32
|
+
Railsstrap::BadgeLabelHelper,
|
|
33
|
+
Railsstrap::DatePickerHelper].each do |h|
|
|
32
34
|
app.config.to_prepare do
|
|
33
35
|
ActionController::Base.send :helper, h
|
|
34
36
|
end
|
|
35
37
|
end
|
|
38
|
+
|
|
36
39
|
ActionView::Helpers::FormBuilder.send :include, Railsstrap::FormErrorsHelper
|
|
37
40
|
end
|
|
38
41
|
end
|
|
@@ -27,6 +27,13 @@ module.exports = function (grunt) {
|
|
|
27
27
|
};
|
|
28
28
|
var generateRawFiles = require('./grunt/bs-raw-files-generator.js');
|
|
29
29
|
var generateCommonJSModule = require('./grunt/bs-commonjs-generator.js');
|
|
30
|
+
var configBridge = grunt.file.readJSON('./grunt/configBridge.json', { encoding: 'utf8' });
|
|
31
|
+
|
|
32
|
+
Object.keys(configBridge.paths).forEach(function (key) {
|
|
33
|
+
configBridge.paths[key].forEach(function (val, i, arr) {
|
|
34
|
+
arr[i] = path.join('./docs/assets', val);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
30
37
|
|
|
31
38
|
// Project configuration.
|
|
32
39
|
grunt.initConfig({
|
|
@@ -38,21 +45,8 @@ module.exports = function (grunt) {
|
|
|
38
45
|
' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
|
|
39
46
|
' * Licensed under <%= pkg.license.type %> (<%= pkg.license.url %>)\n' +
|
|
40
47
|
' */\n',
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
jqueryCheck: [
|
|
44
|
-
'if (typeof jQuery === \'undefined\') {',
|
|
45
|
-
' throw new Error(\'Bootstrap\\\'s JavaScript requires jQuery\')',
|
|
46
|
-
'}\n'
|
|
47
|
-
].join('\n'),
|
|
48
|
-
jqueryVersionCheck: [
|
|
49
|
-
'+function ($) {',
|
|
50
|
-
' var version = $.fn.jquery.split(\' \')[0].split(\'.\')',
|
|
51
|
-
' if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {',
|
|
52
|
-
' throw new Error(\'Bootstrap\\\'s JavaScript requires jQuery version 1.9.1 or higher\')',
|
|
53
|
-
' }',
|
|
54
|
-
'}(jQuery);\n\n'
|
|
55
|
-
].join('\n'),
|
|
48
|
+
jqueryCheck: configBridge.config.jqueryCheck.join('\n'),
|
|
49
|
+
jqueryVersionCheck: configBridge.config.jqueryVersionCheck.join('\n'),
|
|
56
50
|
|
|
57
51
|
// Task configuration.
|
|
58
52
|
clean: {
|
|
@@ -138,25 +132,11 @@ module.exports = function (grunt) {
|
|
|
138
132
|
dest: 'dist/js/<%= pkg.name %>.min.js'
|
|
139
133
|
},
|
|
140
134
|
customize: {
|
|
141
|
-
|
|
142
|
-
src: [
|
|
143
|
-
'docs/assets/js/vendor/less.min.js',
|
|
144
|
-
'docs/assets/js/vendor/jszip.min.js',
|
|
145
|
-
'docs/assets/js/vendor/uglify.min.js',
|
|
146
|
-
'docs/assets/js/vendor/Blob.js',
|
|
147
|
-
'docs/assets/js/vendor/FileSaver.js',
|
|
148
|
-
'docs/assets/js/raw-files.min.js',
|
|
149
|
-
'docs/assets/js/src/customizer.js'
|
|
150
|
-
],
|
|
135
|
+
src: configBridge.paths.customizerJs,
|
|
151
136
|
dest: 'docs/assets/js/customize.min.js'
|
|
152
137
|
},
|
|
153
138
|
docsJs: {
|
|
154
|
-
|
|
155
|
-
src: [
|
|
156
|
-
'docs/assets/js/vendor/holder.js',
|
|
157
|
-
'docs/assets/js/vendor/ZeroClipboard.min.js',
|
|
158
|
-
'docs/assets/js/src/application.js'
|
|
159
|
-
],
|
|
139
|
+
src: configBridge.paths.docsJs,
|
|
160
140
|
dest: 'docs/assets/js/docs.min.js'
|
|
161
141
|
}
|
|
162
142
|
},
|
|
@@ -195,16 +175,7 @@ module.exports = function (grunt) {
|
|
|
195
175
|
|
|
196
176
|
autoprefixer: {
|
|
197
177
|
options: {
|
|
198
|
-
browsers:
|
|
199
|
-
'Android 2.3',
|
|
200
|
-
'Android >= 4',
|
|
201
|
-
'Chrome >= 20',
|
|
202
|
-
'Firefox >= 24', // Firefox 24 is the latest ESR
|
|
203
|
-
'Explorer >= 8',
|
|
204
|
-
'iOS >= 6',
|
|
205
|
-
'Opera >= 12',
|
|
206
|
-
'Safari >= 6'
|
|
207
|
-
]
|
|
178
|
+
browsers: configBridge.config.autoprefixerBrowsers
|
|
208
179
|
},
|
|
209
180
|
core: {
|
|
210
181
|
options: {
|
|
@@ -350,7 +321,6 @@ module.exports = function (grunt) {
|
|
|
350
321
|
failHard: true,
|
|
351
322
|
reset: true,
|
|
352
323
|
relaxerror: [
|
|
353
|
-
'Bad value X-UA-Compatible for attribute http-equiv on element meta.',
|
|
354
324
|
'Element img is missing required attribute src.',
|
|
355
325
|
'Attribute autocomplete not allowed on element input at this point.',
|
|
356
326
|
'Attribute autocomplete not allowed on element button at this point.'
|
|
@@ -24,7 +24,7 @@ To get started, check out <http://getbootstrap.com>!
|
|
|
24
24
|
|
|
25
25
|
Four quick start options are available:
|
|
26
26
|
|
|
27
|
-
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.3.
|
|
27
|
+
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.3.1.zip).
|
|
28
28
|
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`.
|
|
29
29
|
- Install with [Bower](http://bower.io): `bower install bootstrap`.
|
|
30
30
|
- Install with [npm](https://www.npmjs.org): `npm install bootstrap`.
|
|
@@ -67,7 +67,7 @@ Bootstrap's documentation, included in this repo in the root directory, is built
|
|
|
67
67
|
|
|
68
68
|
### Running documentation locally
|
|
69
69
|
|
|
70
|
-
1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) (requires v2.
|
|
70
|
+
1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) (requires v2.5.x).
|
|
71
71
|
- **Windows users:** Read [this unofficial guide](http://jekyll-windows.juthilo.com/) to get Jekyll up and running without problems.
|
|
72
72
|
2. Install the Ruby-based syntax highlighter, [Rouge](https://github.com/jneen/rouge), with `gem install rouge`.
|
|
73
73
|
3. From the root `/bootstrap` directory, run `jekyll serve` in the command line.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap v3.3.
|
|
2
|
+
* Bootstrap v3.3.1 (http://getbootstrap.com)
|
|
3
3
|
* Copyright 2011-2014 Twitter, Inc.
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
5
5
|
*/
|
|
@@ -69,28 +69,28 @@
|
|
|
69
69
|
background-image: none;
|
|
70
70
|
}
|
|
71
71
|
.btn-primary {
|
|
72
|
-
background-image: -webkit-linear-gradient(top, #
|
|
73
|
-
background-image: -o-linear-gradient(top, #
|
|
74
|
-
background-image: -webkit-gradient(linear, left top, left bottom, from(#
|
|
75
|
-
background-image: linear-gradient(to bottom, #
|
|
76
|
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#
|
|
72
|
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
|
73
|
+
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
|
74
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
|
|
75
|
+
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
|
|
76
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
|
|
77
77
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
|
78
78
|
background-repeat: repeat-x;
|
|
79
|
-
border-color: #
|
|
79
|
+
border-color: #245580;
|
|
80
80
|
}
|
|
81
81
|
.btn-primary:hover,
|
|
82
82
|
.btn-primary:focus {
|
|
83
|
-
background-color: #
|
|
83
|
+
background-color: #265a88;
|
|
84
84
|
background-position: 0 -15px;
|
|
85
85
|
}
|
|
86
86
|
.btn-primary:active,
|
|
87
87
|
.btn-primary.active {
|
|
88
|
-
background-color: #
|
|
89
|
-
border-color: #
|
|
88
|
+
background-color: #265a88;
|
|
89
|
+
border-color: #245580;
|
|
90
90
|
}
|
|
91
91
|
.btn-primary:disabled,
|
|
92
92
|
.btn-primary[disabled] {
|
|
93
|
-
background-color: #
|
|
93
|
+
background-color: #265a88;
|
|
94
94
|
background-image: none;
|
|
95
95
|
}
|
|
96
96
|
.btn-success {
|
|
@@ -211,12 +211,12 @@
|
|
|
211
211
|
.dropdown-menu > .active > a,
|
|
212
212
|
.dropdown-menu > .active > a:hover,
|
|
213
213
|
.dropdown-menu > .active > a:focus {
|
|
214
|
-
background-color: #
|
|
215
|
-
background-image: -webkit-linear-gradient(top, #
|
|
216
|
-
background-image: -o-linear-gradient(top, #
|
|
217
|
-
background-image: -webkit-gradient(linear, left top, left bottom, from(#
|
|
218
|
-
background-image: linear-gradient(to bottom, #
|
|
219
|
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#
|
|
214
|
+
background-color: #2e6da4;
|
|
215
|
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
|
216
|
+
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
|
217
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
|
218
|
+
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
|
219
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
|
220
220
|
background-repeat: repeat-x;
|
|
221
221
|
}
|
|
222
222
|
.navbar-default {
|
|
@@ -275,6 +275,19 @@
|
|
|
275
275
|
.navbar-fixed-bottom {
|
|
276
276
|
border-radius: 0;
|
|
277
277
|
}
|
|
278
|
+
@media (max-width: 767px) {
|
|
279
|
+
.navbar .navbar-nav .open .dropdown-menu > .active > a,
|
|
280
|
+
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
|
|
281
|
+
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
|
|
282
|
+
color: #fff;
|
|
283
|
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
|
284
|
+
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
|
285
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
|
286
|
+
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
|
287
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
|
288
|
+
background-repeat: repeat-x;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
278
291
|
.alert {
|
|
279
292
|
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
|
|
280
293
|
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
|
|
@@ -325,11 +338,11 @@
|
|
|
325
338
|
background-repeat: repeat-x;
|
|
326
339
|
}
|
|
327
340
|
.progress-bar {
|
|
328
|
-
background-image: -webkit-linear-gradient(top, #
|
|
329
|
-
background-image: -o-linear-gradient(top, #
|
|
330
|
-
background-image: -webkit-gradient(linear, left top, left bottom, from(#
|
|
331
|
-
background-image: linear-gradient(to bottom, #
|
|
332
|
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#
|
|
341
|
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
|
|
342
|
+
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
|
|
343
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
|
|
344
|
+
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
|
|
345
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
|
|
333
346
|
background-repeat: repeat-x;
|
|
334
347
|
}
|
|
335
348
|
.progress-bar-success {
|
|
@@ -377,14 +390,14 @@
|
|
|
377
390
|
.list-group-item.active,
|
|
378
391
|
.list-group-item.active:hover,
|
|
379
392
|
.list-group-item.active:focus {
|
|
380
|
-
text-shadow: 0 -1px 0 #
|
|
381
|
-
background-image: -webkit-linear-gradient(top, #
|
|
382
|
-
background-image: -o-linear-gradient(top, #
|
|
383
|
-
background-image: -webkit-gradient(linear, left top, left bottom, from(#
|
|
384
|
-
background-image: linear-gradient(to bottom, #
|
|
385
|
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#
|
|
393
|
+
text-shadow: 0 -1px 0 #286090;
|
|
394
|
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
|
395
|
+
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
|
396
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
|
|
397
|
+
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
|
|
398
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
|
|
386
399
|
background-repeat: repeat-x;
|
|
387
|
-
border-color: #
|
|
400
|
+
border-color: #2b669a;
|
|
388
401
|
}
|
|
389
402
|
.list-group-item.active .badge,
|
|
390
403
|
.list-group-item.active:hover .badge,
|
|
@@ -404,11 +417,11 @@
|
|
|
404
417
|
background-repeat: repeat-x;
|
|
405
418
|
}
|
|
406
419
|
.panel-primary > .panel-heading {
|
|
407
|
-
background-image: -webkit-linear-gradient(top, #
|
|
408
|
-
background-image: -o-linear-gradient(top, #
|
|
409
|
-
background-image: -webkit-gradient(linear, left top, left bottom, from(#
|
|
410
|
-
background-image: linear-gradient(to bottom, #
|
|
411
|
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#
|
|
420
|
+
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
|
421
|
+
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
|
422
|
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
|
423
|
+
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
|
424
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
|
412
425
|
background-repeat: repeat-x;
|
|
413
426
|
}
|
|
414
427
|
.panel-success > .panel-heading {
|