Skip to content

Commit f95e617

Browse files
committed
rake convert
1 parent 4d879df commit f95e617

35 files changed

+215
-95
lines changed

assets/javascripts/bootstrap-sprockets.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
//= require ./bootstrap/carousel
55
//= require ./bootstrap/collapse
66
//= require ./bootstrap/dropdown
7-
//= require ./bootstrap/modal
8-
//= require ./bootstrap/scrollspy
97
//= require ./bootstrap/tab
108
//= require ./bootstrap/transition
9+
//= require ./bootstrap/scrollspy
10+
//= require ./bootstrap/modal
1111
//= require ./bootstrap/tooltip
1212
//= require ./bootstrap/popover

assets/javascripts/bootstrap.js

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,8 @@ if (typeof jQuery === 'undefined') {
229229
if ($parent.length) {
230230
var $input = this.$element.find('input')
231231
if ($input.prop('type') == 'radio') {
232-
if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
233-
else $parent.find('.active').removeClass('active')
232+
if ($input.prop('checked')) changed = false
233+
if (!$input.prop('checked') || !this.$element.hasClass('active')) $parent.find('.active').removeClass('active')
234234
}
235235
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
236236
} else {
@@ -280,7 +280,7 @@ if (typeof jQuery === 'undefined') {
280280
var $btn = $(e.target)
281281
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
282282
Plugin.call($btn, 'toggle')
283-
e.preventDefault()
283+
if (!$(e.target).is('input[type="radio"]')) e.preventDefault()
284284
})
285285
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
286286
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
@@ -774,7 +774,10 @@ if (typeof jQuery === 'undefined') {
774774
if (!isActive) {
775775
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
776776
// if mobile we use a backdrop because click events don't delegate
777-
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
777+
$(document.createElement('div'))
778+
.addClass('dropdown-backdrop')
779+
.insertAfter($(this))
780+
.on('click', clearMenus)
778781
}
779782

780783
var relatedTarget = { relatedTarget: this }
@@ -836,6 +839,8 @@ if (typeof jQuery === 'undefined') {
836839

837840
if (!$parent.hasClass('open')) return
838841

842+
if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
843+
839844
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
840845

841846
if (e.isDefaultPrevented()) return
@@ -895,8 +900,7 @@ if (typeof jQuery === 'undefined') {
895900
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
896901
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
897902
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
898-
.on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
899-
.on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
903+
.on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
900904

901905
}(jQuery);
902906

@@ -992,9 +996,7 @@ if (typeof jQuery === 'undefined') {
992996
that.$element[0].offsetWidth // force reflow
993997
}
994998

995-
that.$element
996-
.addClass('in')
997-
.attr('aria-hidden', false)
999+
that.$element.addClass('in')
9981000

9991001
that.enforceFocus()
10001002

@@ -1028,7 +1030,6 @@ if (typeof jQuery === 'undefined') {
10281030

10291031
this.$element
10301032
.removeClass('in')
1031-
.attr('aria-hidden', true)
10321033
.off('click.dismiss.bs.modal')
10331034
.off('mouseup.dismiss.bs.modal')
10341035

@@ -1092,7 +1093,8 @@ if (typeof jQuery === 'undefined') {
10921093
if (this.isShown && this.options.backdrop) {
10931094
var doAnimate = $.support.transition && animate
10941095

1095-
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
1096+
this.$backdrop = $(document.createElement('div'))
1097+
.addClass('modal-backdrop ' + animate)
10961098
.appendTo(this.$body)
10971099

10981100
this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
@@ -1292,7 +1294,7 @@ if (typeof jQuery === 'undefined') {
12921294
this.type = type
12931295
this.$element = $(element)
12941296
this.options = this.getOptions(options)
1295-
this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
1297+
this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
12961298

12971299
if (this.$element[0] instanceof document.constructor && !this.options.selector) {
12981300
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
@@ -1427,6 +1429,7 @@ if (typeof jQuery === 'undefined') {
14271429
.data('bs.' + this.type, this)
14281430

14291431
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
1432+
this.$element.trigger('inserted.bs.' + this.type)
14301433

14311434
var pos = this.getPosition()
14321435
var actualWidth = $tip[0].offsetWidth
@@ -1619,7 +1622,7 @@ if (typeof jQuery === 'undefined') {
16191622
var rightEdgeOffset = pos.left + viewportPadding + actualWidth
16201623
if (leftEdgeOffset < viewportDimensions.left) { // left overflow
16211624
delta.left = viewportDimensions.left - leftEdgeOffset
1622-
} else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
1625+
} else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
16231626
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
16241627
}
16251628
}
@@ -1645,7 +1648,13 @@ if (typeof jQuery === 'undefined') {
16451648
}
16461649

16471650
Tooltip.prototype.tip = function () {
1648-
return (this.$tip = this.$tip || $(this.options.template))
1651+
if (!this.$tip) {
1652+
this.$tip = $(this.options.template)
1653+
if (this.$tip.length != 1) {
1654+
throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
1655+
}
1656+
}
1657+
return this.$tip
16491658
}
16501659

16511660
Tooltip.prototype.arrow = function () {
@@ -1682,6 +1691,12 @@ if (typeof jQuery === 'undefined') {
16821691
clearTimeout(this.timeout)
16831692
this.hide(function () {
16841693
that.$element.off('.' + that.type).removeData('bs.' + that.type)
1694+
if (that.$tip) {
1695+
that.$tip.detach()
1696+
}
1697+
that.$tip = null
1698+
that.$arrow = null
1699+
that.$viewport = null
16851700
})
16861701
}
16871702

assets/javascripts/bootstrap.min.js

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/javascripts/bootstrap/button.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@
5656
if ($parent.length) {
5757
var $input = this.$element.find('input')
5858
if ($input.prop('type') == 'radio') {
59-
if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
60-
else $parent.find('.active').removeClass('active')
59+
if ($input.prop('checked')) changed = false
60+
if (!$input.prop('checked') || !this.$element.hasClass('active')) $parent.find('.active').removeClass('active')
6161
}
6262
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
6363
} else {
@@ -107,7 +107,7 @@
107107
var $btn = $(e.target)
108108
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
109109
Plugin.call($btn, 'toggle')
110-
e.preventDefault()
110+
if (!$(e.target).is('input[type="radio"]')) e.preventDefault()
111111
})
112112
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
113113
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))

assets/javascripts/bootstrap/dropdown.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@
3434
if (!isActive) {
3535
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
3636
// if mobile we use a backdrop because click events don't delegate
37-
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
37+
$(document.createElement('div'))
38+
.addClass('dropdown-backdrop')
39+
.insertAfter($(this))
40+
.on('click', clearMenus)
3841
}
3942

4043
var relatedTarget = { relatedTarget: this }
@@ -96,6 +99,8 @@
9699

97100
if (!$parent.hasClass('open')) return
98101

102+
if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
103+
99104
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
100105

101106
if (e.isDefaultPrevented()) return
@@ -155,7 +160,6 @@
155160
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
156161
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
157162
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
158-
.on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
159-
.on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
163+
.on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
160164

161165
}(jQuery);

assets/javascripts/bootstrap/modal.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,7 @@
9090
that.$element[0].offsetWidth // force reflow
9191
}
9292

93-
that.$element
94-
.addClass('in')
95-
.attr('aria-hidden', false)
93+
that.$element.addClass('in')
9694

9795
that.enforceFocus()
9896

@@ -126,7 +124,6 @@
126124

127125
this.$element
128126
.removeClass('in')
129-
.attr('aria-hidden', true)
130127
.off('click.dismiss.bs.modal')
131128
.off('mouseup.dismiss.bs.modal')
132129

@@ -190,7 +187,8 @@
190187
if (this.isShown && this.options.backdrop) {
191188
var doAnimate = $.support.transition && animate
192189

193-
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
190+
this.$backdrop = $(document.createElement('div'))
191+
.addClass('modal-backdrop ' + animate)
194192
.appendTo(this.$body)
195193

196194
this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {

assets/javascripts/bootstrap/tooltip.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
this.type = type
5151
this.$element = $(element)
5252
this.options = this.getOptions(options)
53-
this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
53+
this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
5454

5555
if (this.$element[0] instanceof document.constructor && !this.options.selector) {
5656
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
@@ -185,6 +185,7 @@
185185
.data('bs.' + this.type, this)
186186

187187
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
188+
this.$element.trigger('inserted.bs.' + this.type)
188189

189190
var pos = this.getPosition()
190191
var actualWidth = $tip[0].offsetWidth
@@ -377,7 +378,7 @@
377378
var rightEdgeOffset = pos.left + viewportPadding + actualWidth
378379
if (leftEdgeOffset < viewportDimensions.left) { // left overflow
379380
delta.left = viewportDimensions.left - leftEdgeOffset
380-
} else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
381+
} else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
381382
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
382383
}
383384
}
@@ -403,7 +404,13 @@
403404
}
404405

405406
Tooltip.prototype.tip = function () {
406-
return (this.$tip = this.$tip || $(this.options.template))
407+
if (!this.$tip) {
408+
this.$tip = $(this.options.template)
409+
if (this.$tip.length != 1) {
410+
throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
411+
}
412+
}
413+
return this.$tip
407414
}
408415

409416
Tooltip.prototype.arrow = function () {
@@ -440,6 +447,12 @@
440447
clearTimeout(this.timeout)
441448
this.hide(function () {
442449
that.$element.off('.' + that.type).removeData('bs.' + that.type)
450+
if (that.$tip) {
451+
that.$tip.detach()
452+
}
453+
that.$tip = null
454+
that.$arrow = null
455+
that.$viewport = null
443456
})
444457
}
445458

assets/stylesheets/bootstrap/_badges.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
font-weight: $badge-font-weight;
1313
color: $badge-color;
1414
line-height: $badge-line-height;
15-
vertical-align: baseline;
15+
vertical-align: middle;
1616
white-space: nowrap;
1717
text-align: center;
1818
background-color: $badge-bg;

assets/stylesheets/bootstrap/_button-groups.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
margin-left: -5px; // Offset the first child's margin
3737
@include clearfix;
3838

39+
.btn,
3940
.btn-group,
4041
.input-group {
4142
float: left;

assets/stylesheets/bootstrap/_buttons.scss

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,18 @@
4747
&[disabled],
4848
fieldset[disabled] & {
4949
cursor: $cursor-disabled;
50-
pointer-events: none; // Future-proof disabling of clicks
5150
@include opacity(.65);
5251
@include box-shadow(none);
5352
}
53+
54+
// [converter] extracted a& to a.btn
55+
}
56+
57+
a.btn {
58+
&.disabled,
59+
fieldset[disabled] & {
60+
pointer-events: none; // Future-proof disabling of clicks on `<a>` elements
61+
}
5462
}
5563

5664

assets/stylesheets/bootstrap/_carousel.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
@media all and (transform-3d), (-webkit-transform-3d) {
3030
@include transition-transform(0.6s ease-in-out);
3131
@include backface-visibility(hidden);
32-
@include perspective(1000);
32+
@include perspective(1000px);
3333

3434
&.next,
3535
&.active.right {

assets/stylesheets/bootstrap/_dropdowns.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
margin-left: 2px;
1212
vertical-align: middle;
1313
border-top: $caret-width-base dashed;
14+
border-top: $caret-width-base solid\9; // IE8
1415
border-right: $caret-width-base solid transparent;
1516
border-left: $caret-width-base solid transparent;
1617
}

0 commit comments

Comments
 (0)