twitter-bootstrap-rails 2.1.4 → 2.1.5

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of twitter-bootstrap-rails might be problematic. Click here for more details.

Files changed (53) hide show
  1. data/README.md +2 -1
  2. data/app/helpers/bootstrap_flash_helper.rb +2 -0
  3. data/app/helpers/glyph_helper.rb +1 -1
  4. data/lib/generators/bootstrap/install/install_generator.rb +5 -1
  5. data/lib/generators/bootstrap/install/templates/bootstrap.js +5 -0
  6. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +3 -0
  7. data/lib/twitter/bootstrap/rails/version.rb +1 -1
  8. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-affix.js +4 -2
  9. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +2 -4
  10. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +5 -7
  11. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +12 -12
  12. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +9 -11
  13. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +9 -11
  14. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +20 -25
  15. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +1 -1
  16. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +1 -1
  17. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +5 -7
  18. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +12 -11
  19. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +5 -5
  20. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +19 -9
  21. data/vendor/toolkit/fontawesome.less +6 -5
  22. data/vendor/toolkit/twitter/bootstrap/accordion.less +1 -1
  23. data/vendor/toolkit/twitter/bootstrap/alerts.less +1 -1
  24. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +2 -1
  25. data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +1 -1
  26. data/vendor/toolkit/twitter/bootstrap/button-groups.less +5 -8
  27. data/vendor/toolkit/twitter/bootstrap/buttons.less +17 -16
  28. data/vendor/toolkit/twitter/bootstrap/code.less +1 -1
  29. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +32 -5
  30. data/vendor/toolkit/twitter/bootstrap/forms.less +47 -14
  31. data/vendor/toolkit/twitter/bootstrap/hero-unit.less +6 -5
  32. data/vendor/toolkit/twitter/bootstrap/labels-badges.less +4 -2
  33. data/vendor/toolkit/twitter/bootstrap/media.less +55 -0
  34. data/vendor/toolkit/twitter/bootstrap/mixins.less +15 -10
  35. data/vendor/toolkit/twitter/bootstrap/modals.less +7 -11
  36. data/vendor/toolkit/twitter/bootstrap/navbar.less +6 -6
  37. data/vendor/toolkit/twitter/bootstrap/navs.less +3 -2
  38. data/vendor/toolkit/twitter/bootstrap/pager.less +10 -9
  39. data/vendor/toolkit/twitter/bootstrap/pagination.less +69 -12
  40. data/vendor/toolkit/twitter/bootstrap/popovers.less +2 -2
  41. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +2 -2
  42. data/vendor/toolkit/twitter/bootstrap/reset.less +5 -4
  43. data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +20 -1
  44. data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +12 -4
  45. data/vendor/toolkit/twitter/bootstrap/responsive.less +1 -1
  46. data/vendor/toolkit/twitter/bootstrap/sprites.less +10 -10
  47. data/vendor/toolkit/twitter/bootstrap/tables.less +20 -29
  48. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +1 -1
  49. data/vendor/toolkit/twitter/bootstrap/tooltip.less +1 -1
  50. data/vendor/toolkit/twitter/bootstrap/type.less +30 -24
  51. data/vendor/toolkit/twitter/bootstrap/variables.less +23 -1
  52. data/vendor/toolkit/twitter/bootstrap/wells.less +3 -3
  53. metadata +14 -12
data/README.md CHANGED
@@ -58,7 +58,7 @@ Layout (generates Twitter Bootstrap compatible layout) - (Haml and Slim supporte
58
58
  Usage:
59
59
 
60
60
 
61
- rails g bootstrap:layout [LAYOUT_NAME] [*fixed or fluid]
61
+ rails g bootstrap:layout [LAYOUT_NAME] [*fixed or fluid]
62
62
 
63
63
 
64
64
  Example:
@@ -191,6 +191,7 @@ gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootst
191
191
  <li>Released gem v.2.1.2 (minor fixes and updated to Twitter Bootstrap 2.1.0)</li>
192
192
  <li>Released gem v.2.1.3 (minor fixes and updated to Twitter Bootstrap 2.1.1)</li>
193
193
  <li>Released gem v.2.1.4 (minor fixes)</li>
194
+ <li>Released gem v.2.1.5 (minor fixes, install generator detects javascript template engine, updated to Twitter Bootstrap 2.2.1)</li>
194
195
  </ul>
195
196
 
196
197
 
@@ -2,6 +2,8 @@ module BootstrapFlashHelper
2
2
  def bootstrap_flash
3
3
  flash_messages = []
4
4
  flash.each do |type, message|
5
+ # Skip Devise :timeout flag
6
+ next if type == :timeout
5
7
  type = :success if type == :notice
6
8
  type = :error if type == :alert
7
9
  text = content_tag(:div,
@@ -6,7 +6,7 @@ module GlyphHelper
6
6
  # # => <i class="icon-lock icon-white"></i>
7
7
 
8
8
  def glyph(*names)
9
- content_tag :i, nil, class: names.map{|name| "icon-#{name.to_s.gsub('_','-')}" }
9
+ content_tag :i, nil, :class => names.map{|name| "icon-#{name.to_s.gsub('_','-')}" }
10
10
  end
11
11
  end
12
12
 
@@ -31,7 +31,11 @@ module Bootstrap
31
31
  end
32
32
 
33
33
  def add_bootstrap
34
- copy_file "bootstrap.coffee", "app/assets/javascripts/bootstrap.js.coffee"
34
+ if Rails.configuration.app_generators.rails[:javascript_engine] == :coffee
35
+ copy_file "bootstrap.coffee", "app/assets/javascripts/bootstrap.js.coffee"
36
+ else
37
+ copy_file "bootstrap.js", "app/assets/javascripts/bootstrap.js"
38
+ end
35
39
  copy_file "bootstrap_and_overrides.less", "app/assets/stylesheets/bootstrap_and_overrides.css.less"
36
40
  end
37
41
 
@@ -0,0 +1,5 @@
1
+ jQuery(function() {
2
+ $("a[rel=popover]").popover();
3
+ $(".tooltip").tooltip();
4
+ $("a[rel=tooltip]").tooltip();
5
+ });
@@ -16,6 +16,9 @@
16
16
  // Font Awesome
17
17
  @import "fontawesome";
18
18
 
19
+ // Glyphicons
20
+ //@import "twitter/bootstrap/sprites.less";
21
+
19
22
  // Your custom LESS stylesheets goes here
20
23
  //
21
24
  // Since bootstrap was imported above you have access to its mixins which
@@ -1,7 +1,7 @@
1
1
  module Twitter
2
2
  module Bootstrap
3
3
  module Rails
4
- VERSION = "2.1.4"
4
+ VERSION = "2.1.5"
5
5
  end
6
6
  end
7
7
  end
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================
2
- * bootstrap-affix.js v2.1.1
2
+ * bootstrap-affix.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#affix
4
4
  * ==========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -28,7 +28,9 @@
28
28
 
29
29
  var Affix = function (element, options) {
30
30
  this.options = $.extend({}, $.fn.affix.defaults, options)
31
- this.$window = $(window).on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
31
+ this.$window = $(window)
32
+ .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
33
+ .on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
32
34
  this.$element = $(element)
33
35
  this.checkPosition()
34
36
  }
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================
2
- * bootstrap-alert.js v2.1.1
2
+ * bootstrap-alert.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#alerts
4
4
  * ==========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -83,8 +83,6 @@
83
83
  /* ALERT DATA-API
84
84
  * ============== */
85
85
 
86
- $(function () {
87
- $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
88
- })
86
+ $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
89
87
 
90
88
  }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ============================================================
2
- * bootstrap-button.js v2.1.1
2
+ * bootstrap-button.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#buttons
4
4
  * ============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -85,12 +85,10 @@
85
85
  /* BUTTON DATA-API
86
86
  * =============== */
87
87
 
88
- $(function () {
89
- $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
90
- var $btn = $(e.target)
91
- if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
92
- $btn.button('toggle')
93
- })
88
+ $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
89
+ var $btn = $(e.target)
90
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
91
+ $btn.button('toggle')
94
92
  })
95
93
 
96
94
  }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================
2
- * bootstrap-carousel.js v2.1.1
2
+ * bootstrap-carousel.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#carousel
4
4
  * ==========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -94,9 +94,7 @@
94
94
  , direction = type == 'next' ? 'left' : 'right'
95
95
  , fallback = type == 'next' ? 'first' : 'last'
96
96
  , that = this
97
- , e = $.Event('slide', {
98
- relatedTarget: $next[0]
99
- })
97
+ , e
100
98
 
101
99
  this.sliding = true
102
100
 
@@ -104,6 +102,10 @@
104
102
 
105
103
  $next = $next.length ? $next : this.$element.find('.item')[fallback]()
106
104
 
105
+ e = $.Event('slide', {
106
+ relatedTarget: $next[0]
107
+ })
108
+
107
109
  if ($next.hasClass('active')) return
108
110
 
109
111
  if ($.support.transition && this.$element.hasClass('slide')) {
@@ -163,14 +165,12 @@
163
165
  /* CAROUSEL DATA-API
164
166
  * ================= */
165
167
 
166
- $(function () {
167
- $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
168
- var $this = $(this), href
169
- , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
170
- , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
171
- $target.carousel(options)
172
- e.preventDefault()
173
- })
168
+ $(document).on('click.carousel.data-api', '[data-slide]', function (e) {
169
+ var $this = $(this), href
170
+ , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
171
+ , options = $.extend({}, $target.data(), $this.data())
172
+ $target.carousel(options)
173
+ e.preventDefault()
174
174
  })
175
175
 
176
176
  }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-collapse.js v2.1.1
2
+ * bootstrap-collapse.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#collapse
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -143,16 +143,14 @@
143
143
  /* COLLAPSIBLE DATA-API
144
144
  * ==================== */
145
145
 
146
- $(function () {
147
- $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
148
- var $this = $(this), href
149
- , target = $this.attr('data-target')
150
- || e.preventDefault()
151
- || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
152
- , option = $(target).data('collapse') ? 'toggle' : $this.data()
153
- $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
154
- $(target).collapse(option)
155
- })
146
+ $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
147
+ var $this = $(this), href
148
+ , target = $this.attr('data-target')
149
+ || e.preventDefault()
150
+ || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
151
+ , option = $(target).data('collapse') ? 'toggle' : $this.data()
152
+ $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
153
+ $(target).collapse(option)
156
154
  })
157
155
 
158
156
  }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ============================================================
2
- * bootstrap-dropdown.js v2.1.1
2
+ * bootstrap-dropdown.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#dropdowns
4
4
  * ============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -100,8 +100,9 @@
100
100
  }
101
101
 
102
102
  function clearMenus() {
103
- getParent($(toggle))
104
- .removeClass('open')
103
+ $(toggle).each(function () {
104
+ getParent($(this)).removeClass('open')
105
+ })
105
106
  }
106
107
 
107
108
  function getParent($this) {
@@ -138,13 +139,10 @@
138
139
  /* APPLY TO STANDARD DROPDOWN ELEMENTS
139
140
  * =================================== */
140
141
 
141
- $(function () {
142
- $('html')
143
- .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
144
- $('body')
145
- .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
146
- .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
147
- .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
148
- })
142
+ $(document)
143
+ .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
144
+ .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
145
+ .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
146
+ .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
149
147
 
150
148
  }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* =========================================================
2
- * bootstrap-modal.js v2.1.1
2
+ * bootstrap-modal.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#modals
4
4
  * =========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -49,8 +49,6 @@
49
49
 
50
50
  if (this.isShown || e.isDefaultPrevented()) return
51
51
 
52
- $('body').addClass('modal-open')
53
-
54
52
  this.isShown = true
55
53
 
56
54
  this.escape()
@@ -72,13 +70,12 @@
72
70
  that.$element
73
71
  .addClass('in')
74
72
  .attr('aria-hidden', false)
75
- .focus()
76
73
 
77
74
  that.enforceFocus()
78
75
 
79
76
  transition ?
80
- that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
81
- that.$element.trigger('shown')
77
+ that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
78
+ that.$element.focus().trigger('shown')
82
79
 
83
80
  })
84
81
  }
@@ -96,8 +93,6 @@
96
93
 
97
94
  this.isShown = false
98
95
 
99
- $('body').removeClass('modal-open')
100
-
101
96
  this.escape()
102
97
 
103
98
  $(document).off('focusin.modal')
@@ -167,9 +162,11 @@
167
162
  this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
168
163
  .appendTo(document.body)
169
164
 
170
- if (this.options.backdrop != 'static') {
171
- this.$backdrop.click($.proxy(this.hide, this))
172
- }
165
+ this.$backdrop.click(
166
+ this.options.backdrop == 'static' ?
167
+ $.proxy(this.$element[0].focus, this.$element[0])
168
+ : $.proxy(this.hide, this)
169
+ )
173
170
 
174
171
  if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
175
172
 
@@ -219,21 +216,19 @@
219
216
  /* MODAL DATA-API
220
217
  * ============== */
221
218
 
222
- $(function () {
223
- $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
224
- var $this = $(this)
225
- , href = $this.attr('href')
226
- , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
227
- , option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
219
+ $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
220
+ var $this = $(this)
221
+ , href = $this.attr('href')
222
+ , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
223
+ , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
228
224
 
229
- e.preventDefault()
225
+ e.preventDefault()
230
226
 
231
- $target
232
- .modal(option)
233
- .one('hide', function () {
234
- $this.focus()
235
- })
236
- })
227
+ $target
228
+ .modal(option)
229
+ .one('hide', function () {
230
+ $this.focus()
231
+ })
237
232
  })
238
233
 
239
- }(window.jQuery);
234
+ }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ===========================================================
2
- * bootstrap-popover.js v2.1.1
2
+ * bootstrap-popover.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#popovers
4
4
  * ===========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-scrollspy.js v2.1.1
2
+ * bootstrap-scrollspy.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#scrollspy
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -1,5 +1,5 @@
1
1
  /* ========================================================
2
- * bootstrap-tab.js v2.1.1
2
+ * bootstrap-tab.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tabs
4
4
  * ========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -49,7 +49,7 @@
49
49
 
50
50
  if ( $this.parent('li').hasClass('active') ) return
51
51
 
52
- previous = $ul.find('.active a').last()[0]
52
+ previous = $ul.find('.active:last a')[0]
53
53
 
54
54
  e = $.Event('show', {
55
55
  relatedTarget: previous
@@ -125,11 +125,9 @@
125
125
  /* TAB DATA-API
126
126
  * ============ */
127
127
 
128
- $(function () {
129
- $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
130
- e.preventDefault()
131
- $(this).tab('show')
132
- })
128
+ $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
129
+ e.preventDefault()
130
+ $(this).tab('show')
133
131
  })
134
132
 
135
133
  }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ===========================================================
2
- * bootstrap-tooltip.js v2.1.1
2
+ * bootstrap-tooltip.js v2.2.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tooltips
4
4
  * Inspired by the original jQuery.tipsy by Jason Frame
5
5
  * ===========================================================
@@ -119,9 +119,9 @@
119
119
  inside = /in/.test(placement)
120
120
 
121
121
  $tip
122
- .remove()
122
+ .detach()
123
123
  .css({ top: 0, left: 0, display: 'block' })
124
- .appendTo(inside ? this.$element : document.body)
124
+ .insertAfter(this.$element)
125
125
 
126
126
  pos = this.getPosition(inside)
127
127
 
@@ -144,7 +144,7 @@
144
144
  }
145
145
 
146
146
  $tip
147
- .css(tp)
147
+ .offset(tp)
148
148
  .addClass(placement)
149
149
  .addClass('in')
150
150
  }
@@ -166,18 +166,18 @@
166
166
 
167
167
  function removeWithAnimation() {
168
168
  var timeout = setTimeout(function () {
169
- $tip.off($.support.transition.end).remove()
169
+ $tip.off($.support.transition.end).detach()
170
170
  }, 500)
171
171
 
172
172
  $tip.one($.support.transition.end, function () {
173
173
  clearTimeout(timeout)
174
- $tip.remove()
174
+ $tip.detach()
175
175
  })
176
176
  }
177
177
 
178
178
  $.support.transition && this.$tip.hasClass('fade') ?
179
179
  removeWithAnimation() :
180
- $tip.remove()
180
+ $tip.detach()
181
181
 
182
182
  return this
183
183
  }
@@ -235,8 +235,9 @@
235
235
  this.enabled = !this.enabled
236
236
  }
237
237
 
238
- , toggle: function () {
239
- this[this.tip().hasClass('in') ? 'hide' : 'show']()
238
+ , toggle: function (e) {
239
+ var self = $(e.currentTarget)[this.type](this._options).data(this.type)
240
+ self[self.tip().hasClass('in') ? 'hide' : 'show']()
240
241
  }
241
242
 
242
243
  , destroy: function () {
@@ -269,7 +270,7 @@
269
270
  , trigger: 'hover'
270
271
  , title: ''
271
272
  , delay: 0
272
- , html: true
273
+ , html: false
273
274
  }
274
275
 
275
- }(window.jQuery);
276
+ }(window.jQuery);