bootstrap-on-rails 0.0.2 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/README.md +16 -7
- data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
- data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +47 -47
- data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
- data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
- data/app/assets/javascripts/bootstrap/affix.js +48 -32
- data/app/assets/javascripts/bootstrap/alert.js +14 -20
- data/app/assets/javascripts/bootstrap/button.js +34 -33
- data/app/assets/javascripts/bootstrap/carousel.js +60 -54
- data/app/assets/javascripts/bootstrap/collapse.js +27 -36
- data/app/assets/javascripts/bootstrap/dropdown.js +36 -39
- data/app/assets/javascripts/bootstrap/modal.js +90 -56
- data/app/assets/javascripts/bootstrap/popover.js +21 -25
- data/app/assets/javascripts/bootstrap/scrollspy.js +56 -44
- data/app/assets/javascripts/bootstrap/tab.js +17 -24
- data/app/assets/javascripts/bootstrap/tooltip.js +158 -87
- data/app/assets/javascripts/bootstrap/transition.js +24 -21
- data/app/assets/stylesheets/bootstrap/alerts.less +4 -3
- data/app/assets/stylesheets/bootstrap/badges.less +27 -23
- data/app/assets/stylesheets/bootstrap/bootstrap.less +3 -2
- data/app/assets/stylesheets/bootstrap/breadcrumbs.less +4 -1
- data/app/assets/stylesheets/bootstrap/button-groups.less +36 -49
- data/app/assets/stylesheets/bootstrap/buttons.less +16 -17
- data/app/assets/stylesheets/bootstrap/carousel.less +18 -6
- data/app/assets/stylesheets/bootstrap/close.less +0 -0
- data/app/assets/stylesheets/bootstrap/code.less +16 -1
- data/app/assets/stylesheets/bootstrap/component-animations.less +6 -4
- data/app/assets/stylesheets/bootstrap/dropdowns.less +33 -10
- data/app/assets/stylesheets/bootstrap/forms.less +236 -60
- data/app/assets/stylesheets/bootstrap/glyphicons.less +5 -9
- data/app/assets/stylesheets/bootstrap/grid.less +40 -49
- data/app/assets/stylesheets/bootstrap/input-groups.less +51 -21
- data/app/assets/stylesheets/bootstrap/jumbotron.less +15 -7
- data/app/assets/stylesheets/bootstrap/labels.less +7 -1
- data/app/assets/stylesheets/bootstrap/list-group.less +47 -4
- data/app/assets/stylesheets/bootstrap/media.less +0 -0
- data/app/assets/stylesheets/bootstrap/mixins.less +35 -854
- data/app/assets/stylesheets/bootstrap/mixins/alerts.less +14 -0
- data/app/assets/stylesheets/bootstrap/mixins/background-variant.less +8 -0
- data/app/assets/stylesheets/bootstrap/mixins/border-radius.less +18 -0
- data/app/assets/stylesheets/bootstrap/mixins/buttons.less +50 -0
- data/app/assets/stylesheets/bootstrap/mixins/center-block.less +7 -0
- data/app/assets/stylesheets/bootstrap/mixins/clearfix.less +22 -0
- data/app/assets/stylesheets/bootstrap/mixins/forms.less +81 -0
- data/app/assets/stylesheets/bootstrap/mixins/gradients.less +59 -0
- data/app/assets/stylesheets/bootstrap/mixins/grid-framework.less +91 -0
- data/app/assets/stylesheets/bootstrap/mixins/grid.less +122 -0
- data/app/assets/stylesheets/bootstrap/mixins/hide-text.less +21 -0
- data/app/assets/stylesheets/bootstrap/mixins/image.less +34 -0
- data/app/assets/stylesheets/bootstrap/mixins/labels.less +12 -0
- data/app/assets/stylesheets/bootstrap/mixins/list-group.less +29 -0
- data/app/assets/stylesheets/bootstrap/mixins/nav-divider.less +10 -0
- data/app/assets/stylesheets/bootstrap/mixins/nav-vertical-align.less +9 -0
- data/app/assets/stylesheets/bootstrap/mixins/opacity.less +8 -0
- data/app/assets/stylesheets/bootstrap/mixins/pagination.less +23 -0
- data/app/assets/stylesheets/bootstrap/mixins/panels.less +24 -0
- data/app/assets/stylesheets/bootstrap/mixins/progress-bar.less +10 -0
- data/app/assets/stylesheets/bootstrap/mixins/reset-filter.less +8 -0
- data/app/assets/stylesheets/bootstrap/mixins/resize.less +6 -0
- data/app/assets/stylesheets/bootstrap/mixins/responsive-visibility.less +15 -0
- data/app/assets/stylesheets/bootstrap/mixins/size.less +10 -0
- data/app/assets/stylesheets/bootstrap/mixins/tab-focus.less +9 -0
- data/app/assets/stylesheets/bootstrap/mixins/table-row.less +28 -0
- data/app/assets/stylesheets/bootstrap/mixins/text-emphasis.less +8 -0
- data/app/assets/stylesheets/bootstrap/mixins/text-overflow.less +8 -0
- data/app/assets/stylesheets/bootstrap/mixins/vendor-prefixes.less +224 -0
- data/app/assets/stylesheets/bootstrap/modals.less +38 -20
- data/app/assets/stylesheets/bootstrap/navbar.less +103 -72
- data/app/assets/stylesheets/bootstrap/navs.less +3 -23
- data/app/assets/stylesheets/bootstrap/normalize.less +153 -134
- data/app/assets/stylesheets/bootstrap/pager.less +5 -5
- data/app/assets/stylesheets/bootstrap/pagination.less +6 -3
- data/app/assets/stylesheets/bootstrap/panels.less +117 -46
- data/app/assets/stylesheets/bootstrap/popovers.less +12 -12
- data/app/assets/stylesheets/bootstrap/print.less +0 -4
- data/app/assets/stylesheets/bootstrap/progress-bars.less +27 -14
- data/app/assets/stylesheets/bootstrap/responsive-embed.less +34 -0
- data/app/assets/stylesheets/bootstrap/responsive-utilities.less +109 -124
- data/app/assets/stylesheets/bootstrap/scaffolding.less +34 -3
- data/app/assets/stylesheets/bootstrap/tables.less +23 -26
- data/app/assets/stylesheets/bootstrap/theme.less +12 -1
- data/app/assets/stylesheets/bootstrap/thumbnails.less +10 -4
- data/app/assets/stylesheets/bootstrap/tooltip.less +1 -1
- data/app/assets/stylesheets/bootstrap/type.less +151 -117
- data/app/assets/stylesheets/bootstrap/utilities.less +1 -0
- data/app/assets/stylesheets/bootstrap/variables.less +399 -190
- data/app/assets/stylesheets/bootstrap/wells.less +1 -1
- data/bootstrap-on-rails.gemspec +1 -1
- data/lib/bootstrap-on-rails/version.rb +1 -1
- metadata +33 -3
@@ -1,34 +1,26 @@
|
|
1
1
|
/* ========================================================================
|
2
|
-
* Bootstrap: dropdown.js v3.0
|
2
|
+
* Bootstrap: dropdown.js v3.2.0
|
3
3
|
* http://getbootstrap.com/javascript/#dropdowns
|
4
4
|
* ========================================================================
|
5
|
-
* Copyright
|
6
|
-
*
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
-
* you may not use this file except in compliance with the License.
|
9
|
-
* You may obtain a copy of the License at
|
10
|
-
*
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
*
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
-
* See the License for the specific language governing permissions and
|
17
|
-
* limitations under the License.
|
5
|
+
* Copyright 2011-2014 Twitter, Inc.
|
6
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
18
7
|
* ======================================================================== */
|
19
8
|
|
20
9
|
|
21
|
-
+function ($) {
|
10
|
+
+function ($) {
|
11
|
+
'use strict';
|
22
12
|
|
23
13
|
// DROPDOWN CLASS DEFINITION
|
24
14
|
// =========================
|
25
15
|
|
26
16
|
var backdrop = '.dropdown-backdrop'
|
27
|
-
var toggle = '[data-toggle=dropdown]'
|
17
|
+
var toggle = '[data-toggle="dropdown"]'
|
28
18
|
var Dropdown = function (element) {
|
29
|
-
|
19
|
+
$(element).on('click.bs.dropdown', this.toggle)
|
30
20
|
}
|
31
21
|
|
22
|
+
Dropdown.VERSION = '3.2.0'
|
23
|
+
|
32
24
|
Dropdown.prototype.toggle = function (e) {
|
33
25
|
var $this = $(this)
|
34
26
|
|
@@ -41,19 +33,20 @@
|
|
41
33
|
|
42
34
|
if (!isActive) {
|
43
35
|
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
|
44
|
-
// if mobile we
|
36
|
+
// if mobile we use a backdrop because click events don't delegate
|
45
37
|
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
|
46
38
|
}
|
47
39
|
|
48
|
-
|
40
|
+
var relatedTarget = { relatedTarget: this }
|
41
|
+
$parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
|
49
42
|
|
50
43
|
if (e.isDefaultPrevented()) return
|
51
44
|
|
45
|
+
$this.trigger('focus')
|
46
|
+
|
52
47
|
$parent
|
53
48
|
.toggleClass('open')
|
54
|
-
.trigger('shown.bs.dropdown')
|
55
|
-
|
56
|
-
$this.focus()
|
49
|
+
.trigger('shown.bs.dropdown', relatedTarget)
|
57
50
|
}
|
58
51
|
|
59
52
|
return false
|
@@ -73,11 +66,12 @@
|
|
73
66
|
var isActive = $parent.hasClass('open')
|
74
67
|
|
75
68
|
if (!isActive || (isActive && e.keyCode == 27)) {
|
76
|
-
if (e.which == 27) $parent.find(toggle).focus
|
77
|
-
return $this.click
|
69
|
+
if (e.which == 27) $parent.find(toggle).trigger('focus')
|
70
|
+
return $this.trigger('click')
|
78
71
|
}
|
79
72
|
|
80
|
-
var
|
73
|
+
var desc = ' li:not(.divider):visible a'
|
74
|
+
var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
|
81
75
|
|
82
76
|
if (!$items.length) return
|
83
77
|
|
@@ -85,19 +79,21 @@
|
|
85
79
|
|
86
80
|
if (e.keyCode == 38 && index > 0) index-- // up
|
87
81
|
if (e.keyCode == 40 && index < $items.length - 1) index++ // down
|
88
|
-
if (!~index) index=0
|
82
|
+
if (!~index) index = 0
|
89
83
|
|
90
|
-
$items.eq(index).focus
|
84
|
+
$items.eq(index).trigger('focus')
|
91
85
|
}
|
92
86
|
|
93
|
-
function clearMenus() {
|
87
|
+
function clearMenus(e) {
|
88
|
+
if (e && e.which === 3) return
|
94
89
|
$(backdrop).remove()
|
95
|
-
$(toggle).each(function (
|
90
|
+
$(toggle).each(function () {
|
96
91
|
var $parent = getParent($(this))
|
92
|
+
var relatedTarget = { relatedTarget: this }
|
97
93
|
if (!$parent.hasClass('open')) return
|
98
|
-
$parent.trigger(e = $.Event('hide.bs.dropdown'))
|
94
|
+
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
|
99
95
|
if (e.isDefaultPrevented()) return
|
100
|
-
$parent.removeClass('open').trigger('hidden.bs.dropdown')
|
96
|
+
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
|
101
97
|
})
|
102
98
|
}
|
103
99
|
|
@@ -106,7 +102,7 @@
|
|
106
102
|
|
107
103
|
if (!selector) {
|
108
104
|
selector = $this.attr('href')
|
109
|
-
selector = selector &&
|
105
|
+
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
110
106
|
}
|
111
107
|
|
112
108
|
var $parent = selector && $(selector)
|
@@ -118,18 +114,19 @@
|
|
118
114
|
// DROPDOWN PLUGIN DEFINITION
|
119
115
|
// ==========================
|
120
116
|
|
121
|
-
|
122
|
-
|
123
|
-
$.fn.dropdown = function (option) {
|
117
|
+
function Plugin(option) {
|
124
118
|
return this.each(function () {
|
125
119
|
var $this = $(this)
|
126
|
-
var data = $this.data('dropdown')
|
120
|
+
var data = $this.data('bs.dropdown')
|
127
121
|
|
128
|
-
if (!data) $this.data('dropdown', (data = new Dropdown(this)))
|
122
|
+
if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
|
129
123
|
if (typeof option == 'string') data[option].call($this)
|
130
124
|
})
|
131
125
|
}
|
132
126
|
|
127
|
+
var old = $.fn.dropdown
|
128
|
+
|
129
|
+
$.fn.dropdown = Plugin
|
133
130
|
$.fn.dropdown.Constructor = Dropdown
|
134
131
|
|
135
132
|
|
@@ -148,7 +145,7 @@
|
|
148
145
|
$(document)
|
149
146
|
.on('click.bs.dropdown.data-api', clearMenus)
|
150
147
|
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
151
|
-
.on('click.bs.dropdown.data-api'
|
152
|
-
.on('keydown.bs.dropdown.data-api', toggle + ', [role=menu]'
|
148
|
+
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
149
|
+
.on('keydown.bs.dropdown.data-api', toggle + ', [role="menu"], [role="listbox"]', Dropdown.prototype.keydown)
|
153
150
|
|
154
151
|
}(jQuery);
|
@@ -1,45 +1,45 @@
|
|
1
1
|
/* ========================================================================
|
2
|
-
* Bootstrap: modal.js v3.0
|
2
|
+
* Bootstrap: modal.js v3.2.0
|
3
3
|
* http://getbootstrap.com/javascript/#modals
|
4
4
|
* ========================================================================
|
5
|
-
* Copyright
|
6
|
-
*
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
-
* you may not use this file except in compliance with the License.
|
9
|
-
* You may obtain a copy of the License at
|
10
|
-
*
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
*
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
-
* See the License for the specific language governing permissions and
|
17
|
-
* limitations under the License.
|
5
|
+
* Copyright 2011-2014 Twitter, Inc.
|
6
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
18
7
|
* ======================================================================== */
|
19
8
|
|
20
9
|
|
21
|
-
+function ($) {
|
10
|
+
+function ($) {
|
11
|
+
'use strict';
|
22
12
|
|
23
13
|
// MODAL CLASS DEFINITION
|
24
14
|
// ======================
|
25
15
|
|
26
16
|
var Modal = function (element, options) {
|
27
|
-
this.options
|
28
|
-
this.$
|
29
|
-
this.$
|
30
|
-
this
|
31
|
-
|
32
|
-
|
17
|
+
this.options = options
|
18
|
+
this.$body = $(document.body)
|
19
|
+
this.$element = $(element)
|
20
|
+
this.$backdrop =
|
21
|
+
this.isShown = null
|
22
|
+
this.scrollbarWidth = 0
|
23
|
+
|
24
|
+
if (this.options.remote) {
|
25
|
+
this.$element
|
26
|
+
.find('.modal-content')
|
27
|
+
.load(this.options.remote, $.proxy(function () {
|
28
|
+
this.$element.trigger('loaded.bs.modal')
|
29
|
+
}, this))
|
30
|
+
}
|
33
31
|
}
|
34
32
|
|
33
|
+
Modal.VERSION = '3.2.0'
|
34
|
+
|
35
35
|
Modal.DEFAULTS = {
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
backdrop: true,
|
37
|
+
keyboard: true,
|
38
|
+
show: true
|
39
39
|
}
|
40
40
|
|
41
41
|
Modal.prototype.toggle = function (_relatedTarget) {
|
42
|
-
return this
|
42
|
+
return this.isShown ? this.hide() : this.show(_relatedTarget)
|
43
43
|
}
|
44
44
|
|
45
45
|
Modal.prototype.show = function (_relatedTarget) {
|
@@ -52,18 +52,24 @@
|
|
52
52
|
|
53
53
|
this.isShown = true
|
54
54
|
|
55
|
+
this.checkScrollbar()
|
56
|
+
this.$body.addClass('modal-open')
|
57
|
+
|
58
|
+
this.setScrollbar()
|
55
59
|
this.escape()
|
56
60
|
|
57
|
-
this.$element.on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
61
|
+
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
58
62
|
|
59
63
|
this.backdrop(function () {
|
60
64
|
var transition = $.support.transition && that.$element.hasClass('fade')
|
61
65
|
|
62
66
|
if (!that.$element.parent().length) {
|
63
|
-
that.$element.appendTo(
|
67
|
+
that.$element.appendTo(that.$body) // don't move modals dom position
|
64
68
|
}
|
65
69
|
|
66
|
-
that.$element
|
70
|
+
that.$element
|
71
|
+
.show()
|
72
|
+
.scrollTop(0)
|
67
73
|
|
68
74
|
if (transition) {
|
69
75
|
that.$element[0].offsetWidth // force reflow
|
@@ -79,11 +85,11 @@
|
|
79
85
|
|
80
86
|
transition ?
|
81
87
|
that.$element.find('.modal-dialog') // wait for modal to slide in
|
82
|
-
.one(
|
83
|
-
that.$element.focus
|
88
|
+
.one('bsTransitionEnd', function () {
|
89
|
+
that.$element.trigger('focus').trigger(e)
|
84
90
|
})
|
85
91
|
.emulateTransitionEnd(300) :
|
86
|
-
that.$element.focus
|
92
|
+
that.$element.trigger('focus').trigger(e)
|
87
93
|
})
|
88
94
|
}
|
89
95
|
|
@@ -98,6 +104,9 @@
|
|
98
104
|
|
99
105
|
this.isShown = false
|
100
106
|
|
107
|
+
this.$body.removeClass('modal-open')
|
108
|
+
|
109
|
+
this.resetScrollbar()
|
101
110
|
this.escape()
|
102
111
|
|
103
112
|
$(document).off('focusin.bs.modal')
|
@@ -105,11 +114,11 @@
|
|
105
114
|
this.$element
|
106
115
|
.removeClass('in')
|
107
116
|
.attr('aria-hidden', true)
|
108
|
-
.off('click.dismiss.modal')
|
117
|
+
.off('click.dismiss.bs.modal')
|
109
118
|
|
110
119
|
$.support.transition && this.$element.hasClass('fade') ?
|
111
120
|
this.$element
|
112
|
-
.one(
|
121
|
+
.one('bsTransitionEnd', $.proxy(this.hideModal, this))
|
113
122
|
.emulateTransitionEnd(300) :
|
114
123
|
this.hideModal()
|
115
124
|
}
|
@@ -119,7 +128,7 @@
|
|
119
128
|
.off('focusin.bs.modal') // guard against infinite focus loop
|
120
129
|
.on('focusin.bs.modal', $.proxy(function (e) {
|
121
130
|
if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
|
122
|
-
this.$element.focus
|
131
|
+
this.$element.trigger('focus')
|
123
132
|
}
|
124
133
|
}, this))
|
125
134
|
}
|
@@ -138,7 +147,6 @@
|
|
138
147
|
var that = this
|
139
148
|
this.$element.hide()
|
140
149
|
this.backdrop(function () {
|
141
|
-
that.removeBackdrop()
|
142
150
|
that.$element.trigger('hidden.bs.modal')
|
143
151
|
})
|
144
152
|
}
|
@@ -149,16 +157,16 @@
|
|
149
157
|
}
|
150
158
|
|
151
159
|
Modal.prototype.backdrop = function (callback) {
|
152
|
-
var that
|
160
|
+
var that = this
|
153
161
|
var animate = this.$element.hasClass('fade') ? 'fade' : ''
|
154
162
|
|
155
163
|
if (this.isShown && this.options.backdrop) {
|
156
164
|
var doAnimate = $.support.transition && animate
|
157
165
|
|
158
166
|
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
159
|
-
.appendTo(
|
167
|
+
.appendTo(this.$body)
|
160
168
|
|
161
|
-
this.$element.on('click.dismiss.modal', $.proxy(function (e) {
|
169
|
+
this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
|
162
170
|
if (e.target !== e.currentTarget) return
|
163
171
|
this.options.backdrop == 'static'
|
164
172
|
? this.$element[0].focus.call(this.$element[0])
|
@@ -173,31 +181,56 @@
|
|
173
181
|
|
174
182
|
doAnimate ?
|
175
183
|
this.$backdrop
|
176
|
-
.one(
|
184
|
+
.one('bsTransitionEnd', callback)
|
177
185
|
.emulateTransitionEnd(150) :
|
178
186
|
callback()
|
179
187
|
|
180
188
|
} else if (!this.isShown && this.$backdrop) {
|
181
189
|
this.$backdrop.removeClass('in')
|
182
190
|
|
183
|
-
|
191
|
+
var callbackRemove = function () {
|
192
|
+
that.removeBackdrop()
|
193
|
+
callback && callback()
|
194
|
+
}
|
195
|
+
$.support.transition && this.$element.hasClass('fade') ?
|
184
196
|
this.$backdrop
|
185
|
-
.one(
|
197
|
+
.one('bsTransitionEnd', callbackRemove)
|
186
198
|
.emulateTransitionEnd(150) :
|
187
|
-
|
199
|
+
callbackRemove()
|
188
200
|
|
189
201
|
} else if (callback) {
|
190
202
|
callback()
|
191
203
|
}
|
192
204
|
}
|
193
205
|
|
206
|
+
Modal.prototype.checkScrollbar = function () {
|
207
|
+
if (document.body.clientWidth >= window.innerWidth) return
|
208
|
+
this.scrollbarWidth = this.scrollbarWidth || this.measureScrollbar()
|
209
|
+
}
|
210
|
+
|
211
|
+
Modal.prototype.setScrollbar = function () {
|
212
|
+
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
|
213
|
+
if (this.scrollbarWidth) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
|
214
|
+
}
|
215
|
+
|
216
|
+
Modal.prototype.resetScrollbar = function () {
|
217
|
+
this.$body.css('padding-right', '')
|
218
|
+
}
|
219
|
+
|
220
|
+
Modal.prototype.measureScrollbar = function () { // thx walsh
|
221
|
+
var scrollDiv = document.createElement('div')
|
222
|
+
scrollDiv.className = 'modal-scrollbar-measure'
|
223
|
+
this.$body.append(scrollDiv)
|
224
|
+
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
|
225
|
+
this.$body[0].removeChild(scrollDiv)
|
226
|
+
return scrollbarWidth
|
227
|
+
}
|
228
|
+
|
194
229
|
|
195
230
|
// MODAL PLUGIN DEFINITION
|
196
231
|
// =======================
|
197
232
|
|
198
|
-
|
199
|
-
|
200
|
-
$.fn.modal = function (option, _relatedTarget) {
|
233
|
+
function Plugin(option, _relatedTarget) {
|
201
234
|
return this.each(function () {
|
202
235
|
var $this = $(this)
|
203
236
|
var data = $this.data('bs.modal')
|
@@ -209,6 +242,9 @@
|
|
209
242
|
})
|
210
243
|
}
|
211
244
|
|
245
|
+
var old = $.fn.modal
|
246
|
+
|
247
|
+
$.fn.modal = Plugin
|
212
248
|
$.fn.modal.Constructor = Modal
|
213
249
|
|
214
250
|
|
@@ -227,20 +263,18 @@
|
|
227
263
|
$(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
|
228
264
|
var $this = $(this)
|
229
265
|
var href = $this.attr('href')
|
230
|
-
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
231
|
-
var option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
266
|
+
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
|
267
|
+
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
232
268
|
|
233
|
-
e.preventDefault()
|
269
|
+
if ($this.is('a')) e.preventDefault()
|
234
270
|
|
235
|
-
$target
|
236
|
-
.
|
237
|
-
.one('
|
238
|
-
$this.is(':visible') && $this.focus
|
271
|
+
$target.one('show.bs.modal', function (showEvent) {
|
272
|
+
if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
|
273
|
+
$target.one('hidden.bs.modal', function () {
|
274
|
+
$this.is(':visible') && $this.trigger('focus')
|
239
275
|
})
|
276
|
+
})
|
277
|
+
Plugin.call($target, option, this)
|
240
278
|
})
|
241
279
|
|
242
|
-
$(document)
|
243
|
-
.on('show.bs.modal', '.modal', function () { $(document.body).addClass('modal-open') })
|
244
|
-
.on('hidden.bs.modal', '.modal', function () { $(document.body).removeClass('modal-open') })
|
245
|
-
|
246
280
|
}(jQuery);
|
@@ -1,24 +1,14 @@
|
|
1
1
|
/* ========================================================================
|
2
|
-
* Bootstrap: popover.js v3.0
|
2
|
+
* Bootstrap: popover.js v3.2.0
|
3
3
|
* http://getbootstrap.com/javascript/#popovers
|
4
4
|
* ========================================================================
|
5
|
-
* Copyright
|
6
|
-
*
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
-
* you may not use this file except in compliance with the License.
|
9
|
-
* You may obtain a copy of the License at
|
10
|
-
*
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
*
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
-
* See the License for the specific language governing permissions and
|
17
|
-
* limitations under the License.
|
5
|
+
* Copyright 2011-2014 Twitter, Inc.
|
6
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
18
7
|
* ======================================================================== */
|
19
8
|
|
20
9
|
|
21
|
-
+function ($) {
|
10
|
+
+function ($) {
|
11
|
+
'use strict';
|
22
12
|
|
23
13
|
// POPOVER PUBLIC CLASS DEFINITION
|
24
14
|
// ===============================
|
@@ -29,11 +19,13 @@
|
|
29
19
|
|
30
20
|
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
|
31
21
|
|
32
|
-
Popover.
|
33
|
-
|
34
|
-
,
|
35
|
-
|
36
|
-
|
22
|
+
Popover.VERSION = '3.2.0'
|
23
|
+
|
24
|
+
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
|
25
|
+
placement: 'right',
|
26
|
+
trigger: 'click',
|
27
|
+
content: '',
|
28
|
+
template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
|
37
29
|
})
|
38
30
|
|
39
31
|
|
@@ -54,7 +46,9 @@
|
|
54
46
|
var content = this.getContent()
|
55
47
|
|
56
48
|
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
|
57
|
-
$tip.find('.popover-content')[
|
49
|
+
$tip.find('.popover-content').empty()[ // we use append for html objects to maintain js events
|
50
|
+
this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
|
51
|
+
](content)
|
58
52
|
|
59
53
|
$tip.removeClass('fade top bottom left right in')
|
60
54
|
|
@@ -78,7 +72,7 @@
|
|
78
72
|
}
|
79
73
|
|
80
74
|
Popover.prototype.arrow = function () {
|
81
|
-
return this.$arrow = this.$arrow || this.tip().find('.arrow')
|
75
|
+
return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
|
82
76
|
}
|
83
77
|
|
84
78
|
Popover.prototype.tip = function () {
|
@@ -90,19 +84,21 @@
|
|
90
84
|
// POPOVER PLUGIN DEFINITION
|
91
85
|
// =========================
|
92
86
|
|
93
|
-
|
94
|
-
|
95
|
-
$.fn.popover = function (option) {
|
87
|
+
function Plugin(option) {
|
96
88
|
return this.each(function () {
|
97
89
|
var $this = $(this)
|
98
90
|
var data = $this.data('bs.popover')
|
99
91
|
var options = typeof option == 'object' && option
|
100
92
|
|
93
|
+
if (!data && option == 'destroy') return
|
101
94
|
if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
|
102
95
|
if (typeof option == 'string') data[option]()
|
103
96
|
})
|
104
97
|
}
|
105
98
|
|
99
|
+
var old = $.fn.popover
|
100
|
+
|
101
|
+
$.fn.popover = Plugin
|
106
102
|
$.fn.popover.Constructor = Popover
|
107
103
|
|
108
104
|
|