bootstrap-sass-rails-rtl 2.2.2.0 → 2.3.1.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.
- data/README.md +25 -0
- data/lib/bootstrap/sass/rails/version.rb +1 -1
- data/vendor/assets/javascripts/twitter/bootstrap/affix.js +1 -1
- data/vendor/assets/javascripts/twitter/bootstrap/alert.js +1 -1
- data/vendor/assets/javascripts/twitter/bootstrap/button.js +1 -1
- data/vendor/assets/javascripts/twitter/bootstrap/carousel.js +32 -10
- data/vendor/assets/javascripts/twitter/bootstrap/collapse.js +4 -4
- data/vendor/assets/javascripts/twitter/bootstrap/dropdown.js +14 -10
- data/vendor/assets/javascripts/twitter/bootstrap/modal.js +14 -12
- data/vendor/assets/javascripts/twitter/bootstrap/popover.js +5 -5
- data/vendor/assets/javascripts/twitter/bootstrap/scrollspy.js +2 -2
- data/vendor/assets/javascripts/twitter/bootstrap/tab.js +1 -1
- data/vendor/assets/javascripts/twitter/bootstrap/tooltip.js +104 -30
- data/vendor/assets/javascripts/twitter/bootstrap/transition.js +1 -1
- data/vendor/assets/javascripts/twitter/bootstrap/typeahead.js +16 -4
- data/vendor/assets/stylesheets/twitter/bootstrap-no-sprites.css.scss +1 -1
- data/vendor/assets/stylesheets/twitter/bootstrap.css.scss +1 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/_button-groups.scss +4 -2
- data/vendor/assets/stylesheets/twitter/bootstrap/_buttons.scss +8 -10
- data/vendor/assets/stylesheets/twitter/bootstrap/_carousel.scss +34 -7
- data/vendor/assets/stylesheets/twitter/bootstrap/_close.scss +2 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/_dropdowns.scss +16 -12
- data/vendor/assets/stylesheets/twitter/bootstrap/_forms.scss +12 -2
- data/vendor/assets/stylesheets/twitter/bootstrap/_labels-badges.scss +4 -2
- data/vendor/assets/stylesheets/twitter/bootstrap/_media.scss +2 -2
- data/vendor/assets/stylesheets/twitter/bootstrap/_mixins.scss +17 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/_navbar.scss +20 -13
- data/vendor/assets/stylesheets/twitter/bootstrap/_navs.scss +33 -18
- data/vendor/assets/stylesheets/twitter/bootstrap/_pager.scss +3 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/_pagination.scss +3 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/_popovers.scss +5 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/_reset.scss +0 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/_responsive-767px-max.scss +0 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/_responsive-navbar.scss +6 -2
- data/vendor/assets/stylesheets/twitter/bootstrap/_responsive-utilities.scss +17 -0
- data/vendor/assets/stylesheets/twitter/bootstrap/_responsive.scss +1 -10
- data/vendor/assets/stylesheets/twitter/bootstrap/_scaffolding.scss +2 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/_sprites.scss +7 -3
- data/vendor/assets/stylesheets/twitter/bootstrap/_tables.scss +26 -19
- data/vendor/assets/stylesheets/twitter/bootstrap/_thumbnails.scss +3 -2
- data/vendor/assets/stylesheets/twitter/bootstrap/_tooltip.scss +6 -6
- data/vendor/assets/stylesheets/twitter/bootstrap/_type.scss +19 -7
- data/vendor/assets/stylesheets/twitter/bootstrap/_variables.scss +1 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_button-groups.scss +4 -2
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_buttons.scss +8 -10
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_carousel.scss +34 -7
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_close.scss +2 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_dropdowns.scss +16 -12
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_forms.scss +12 -2
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_labels-badges.scss +4 -2
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_media.scss +2 -2
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_mixins.scss +17 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_navbar.scss +20 -13
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_navs.scss +33 -18
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_pager.scss +3 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_pagination.scss +3 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_popovers.scss +5 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_reset.scss +0 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_responsive-767px-max.scss +0 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_responsive-navbar.scss +6 -2
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_responsive-utilities.scss +17 -0
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_responsive.scss +1 -10
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_scaffolding.scss +2 -1
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_sprites.scss +7 -3
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_tables.scss +26 -19
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_thumbnails.scss +3 -2
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_tooltip.scss +6 -6
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_type.scss +19 -7
- data/vendor/assets/stylesheets/twitter/bootstrap/rtl/_variables.scss +1 -1
- metadata +40 -46
data/README.md
CHANGED
|
@@ -72,6 +72,31 @@ within `.css.scss` files.
|
|
|
72
72
|
@include myButton(10px);
|
|
73
73
|
}
|
|
74
74
|
```
|
|
75
|
+
### Responsive styles
|
|
76
|
+
|
|
77
|
+
Adding the responsive styles included with Twitter Bootstrap to your project is just as easy.
|
|
78
|
+
Depending on the way you chose to include the base bootstrap styles you need to do one of the following:
|
|
79
|
+
|
|
80
|
+
Importing the responsive partial using the Sass `@import` directive in a `.scss` file:
|
|
81
|
+
|
|
82
|
+
```scss
|
|
83
|
+
@import 'twitter/bootstrap';
|
|
84
|
+
@import 'twitter/bootstrap/responsive';
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Using `=require` to include the responsive partial in a `.css` file (watch the underscore in the partial name!):
|
|
88
|
+
```css
|
|
89
|
+
/*
|
|
90
|
+
*= require twitter/bootstrap
|
|
91
|
+
*= require twitter/bootstrap/_responsive
|
|
92
|
+
*/
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Using `=require` to include the responsive partial in a `.scss` file (watch the underscore in the partial name!):
|
|
96
|
+
```scss
|
|
97
|
+
#= require twitter/bootstrap
|
|
98
|
+
#= require twitter/bootstrap/_responsive
|
|
99
|
+
```
|
|
75
100
|
|
|
76
101
|
### Icon Fonts
|
|
77
102
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ==========================================================
|
|
2
|
-
* bootstrap-affix.js v2.
|
|
2
|
+
* bootstrap-affix.js v2.3.1
|
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#affix
|
|
4
4
|
* ==========================================================
|
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ==========================================================
|
|
2
|
-
* bootstrap-alert.js v2.
|
|
2
|
+
* bootstrap-alert.js v2.3.1
|
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#alerts
|
|
4
4
|
* ==========================================================
|
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ============================================================
|
|
2
|
-
* bootstrap-button.js v2.
|
|
2
|
+
* bootstrap-button.js v2.3.1
|
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#buttons
|
|
4
4
|
* ============================================================
|
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ==========================================================
|
|
2
|
-
* bootstrap-carousel.js v2.
|
|
2
|
+
* bootstrap-carousel.js v2.3.1
|
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#carousel
|
|
4
4
|
* ==========================================================
|
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
var Carousel = function (element, options) {
|
|
30
30
|
this.$element = $(element)
|
|
31
|
+
this.$indicators = this.$element.find('.carousel-indicators')
|
|
31
32
|
this.options = options
|
|
32
33
|
this.options.pause == 'hover' && this.$element
|
|
33
34
|
.on('mouseenter', $.proxy(this.pause, this))
|
|
@@ -38,19 +39,24 @@
|
|
|
38
39
|
|
|
39
40
|
cycle: function (e) {
|
|
40
41
|
if (!e) this.paused = false
|
|
42
|
+
if (this.interval) clearInterval(this.interval);
|
|
41
43
|
this.options.interval
|
|
42
44
|
&& !this.paused
|
|
43
45
|
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
|
|
44
46
|
return this
|
|
45
47
|
}
|
|
46
48
|
|
|
49
|
+
, getActiveIndex: function () {
|
|
50
|
+
this.$active = this.$element.find('.item.active')
|
|
51
|
+
this.$items = this.$active.parent().children()
|
|
52
|
+
return this.$items.index(this.$active)
|
|
53
|
+
}
|
|
54
|
+
|
|
47
55
|
, to: function (pos) {
|
|
48
|
-
var
|
|
49
|
-
, children = $active.parent().children()
|
|
50
|
-
, activePos = children.index($active)
|
|
56
|
+
var activeIndex = this.getActiveIndex()
|
|
51
57
|
, that = this
|
|
52
58
|
|
|
53
|
-
if (pos > (
|
|
59
|
+
if (pos > (this.$items.length - 1) || pos < 0) return
|
|
54
60
|
|
|
55
61
|
if (this.sliding) {
|
|
56
62
|
return this.$element.one('slid', function () {
|
|
@@ -58,18 +64,18 @@
|
|
|
58
64
|
})
|
|
59
65
|
}
|
|
60
66
|
|
|
61
|
-
if (
|
|
67
|
+
if (activeIndex == pos) {
|
|
62
68
|
return this.pause().cycle()
|
|
63
69
|
}
|
|
64
70
|
|
|
65
|
-
return this.slide(pos >
|
|
71
|
+
return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
|
|
66
72
|
}
|
|
67
73
|
|
|
68
74
|
, pause: function (e) {
|
|
69
75
|
if (!e) this.paused = true
|
|
70
76
|
if (this.$element.find('.next, .prev').length && $.support.transition.end) {
|
|
71
77
|
this.$element.trigger($.support.transition.end)
|
|
72
|
-
this.cycle()
|
|
78
|
+
this.cycle(true)
|
|
73
79
|
}
|
|
74
80
|
clearInterval(this.interval)
|
|
75
81
|
this.interval = null
|
|
@@ -103,10 +109,19 @@
|
|
|
103
109
|
|
|
104
110
|
e = $.Event('slide', {
|
|
105
111
|
relatedTarget: $next[0]
|
|
112
|
+
, direction: direction
|
|
106
113
|
})
|
|
107
114
|
|
|
108
115
|
if ($next.hasClass('active')) return
|
|
109
116
|
|
|
117
|
+
if (this.$indicators.length) {
|
|
118
|
+
this.$indicators.find('.active').removeClass('active')
|
|
119
|
+
this.$element.one('slid', function () {
|
|
120
|
+
var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
|
|
121
|
+
$nextIndicator && $nextIndicator.addClass('active')
|
|
122
|
+
})
|
|
123
|
+
}
|
|
124
|
+
|
|
110
125
|
if ($.support.transition && this.$element.hasClass('slide')) {
|
|
111
126
|
this.$element.trigger(e)
|
|
112
127
|
if (e.isDefaultPrevented()) return
|
|
@@ -151,7 +166,7 @@
|
|
|
151
166
|
if (!data) $this.data('carousel', (data = new Carousel(this, options)))
|
|
152
167
|
if (typeof option == 'number') data.to(option)
|
|
153
168
|
else if (action) data[action]()
|
|
154
|
-
else if (options.interval) data.cycle()
|
|
169
|
+
else if (options.interval) data.pause().cycle()
|
|
155
170
|
})
|
|
156
171
|
}
|
|
157
172
|
|
|
@@ -174,11 +189,18 @@
|
|
|
174
189
|
/* CAROUSEL DATA-API
|
|
175
190
|
* ================= */
|
|
176
191
|
|
|
177
|
-
$(document).on('click.carousel.data-api', '[data-slide]', function (e) {
|
|
192
|
+
$(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
|
|
178
193
|
var $this = $(this), href
|
|
179
194
|
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
|
180
195
|
, options = $.extend({}, $target.data(), $this.data())
|
|
196
|
+
, slideIndex
|
|
197
|
+
|
|
181
198
|
$target.carousel(options)
|
|
199
|
+
|
|
200
|
+
if (slideIndex = $this.attr('data-slide-to')) {
|
|
201
|
+
$target.data('carousel').pause().to(slideIndex).cycle()
|
|
202
|
+
}
|
|
203
|
+
|
|
182
204
|
e.preventDefault()
|
|
183
205
|
})
|
|
184
206
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* =============================================================
|
|
2
|
-
* bootstrap-collapse.js v2.
|
|
2
|
+
* bootstrap-collapse.js v2.3.1
|
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#collapse
|
|
4
4
|
* =============================================================
|
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
, actives
|
|
53
53
|
, hasData
|
|
54
54
|
|
|
55
|
-
if (this.transitioning) return
|
|
55
|
+
if (this.transitioning || this.$element.hasClass('in')) return
|
|
56
56
|
|
|
57
57
|
dimension = this.dimension()
|
|
58
58
|
scroll = $.camelCase(['scroll', dimension].join('-'))
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
|
|
73
73
|
, hide: function () {
|
|
74
74
|
var dimension
|
|
75
|
-
if (this.transitioning) return
|
|
75
|
+
if (this.transitioning || !this.$element.hasClass('in')) return
|
|
76
76
|
dimension = this.dimension()
|
|
77
77
|
this.reset(this.$element[dimension]())
|
|
78
78
|
this.transition('removeClass', $.Event('hide'), 'hidden')
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
return this.each(function () {
|
|
130
130
|
var $this = $(this)
|
|
131
131
|
, data = $this.data('collapse')
|
|
132
|
-
, options = typeof option == 'object' && option
|
|
132
|
+
, options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
|
|
133
133
|
if (!data) $this.data('collapse', (data = new Collapse(this, options)))
|
|
134
134
|
if (typeof option == 'string') data[option]()
|
|
135
135
|
})
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ============================================================
|
|
2
|
-
* bootstrap-dropdown.js v2.
|
|
2
|
+
* bootstrap-dropdown.js v2.3.1
|
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
|
|
4
4
|
* ============================================================
|
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
|
@@ -81,7 +81,10 @@
|
|
|
81
81
|
|
|
82
82
|
isActive = $parent.hasClass('open')
|
|
83
83
|
|
|
84
|
-
if (!isActive || (isActive && e.keyCode == 27))
|
|
84
|
+
if (!isActive || (isActive && e.keyCode == 27)) {
|
|
85
|
+
if (e.which == 27) $parent.find(toggle).focus()
|
|
86
|
+
return $this.click()
|
|
87
|
+
}
|
|
85
88
|
|
|
86
89
|
$items = $('[role=menu] li:not(.divider):visible a', $parent)
|
|
87
90
|
|
|
@@ -115,8 +118,9 @@
|
|
|
115
118
|
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
|
116
119
|
}
|
|
117
120
|
|
|
118
|
-
$parent = $(selector)
|
|
119
|
-
|
|
121
|
+
$parent = selector && $(selector)
|
|
122
|
+
|
|
123
|
+
if (!$parent || !$parent.length) $parent = $this.parent()
|
|
120
124
|
|
|
121
125
|
return $parent
|
|
122
126
|
}
|
|
@@ -152,10 +156,10 @@
|
|
|
152
156
|
* =================================== */
|
|
153
157
|
|
|
154
158
|
$(document)
|
|
155
|
-
.on('click.dropdown.data-api
|
|
156
|
-
.on('click.dropdown
|
|
157
|
-
.on('
|
|
158
|
-
.on('click.dropdown.data-api
|
|
159
|
-
.on('keydown.dropdown.data-api
|
|
159
|
+
.on('click.dropdown.data-api', clearMenus)
|
|
160
|
+
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
|
161
|
+
.on('click.dropdown-menu', function (e) { e.stopPropagation() })
|
|
162
|
+
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
|
163
|
+
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
|
160
164
|
|
|
161
|
-
}(window.jQuery);
|
|
165
|
+
}(window.jQuery);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* =========================================================
|
|
2
|
-
* bootstrap-modal.js v2.
|
|
2
|
+
* bootstrap-modal.js v2.3.1
|
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#modals
|
|
4
4
|
* =========================================================
|
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
|
@@ -60,8 +60,7 @@
|
|
|
60
60
|
that.$element.appendTo(document.body) //don't move modals dom position
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
that.$element
|
|
64
|
-
.show()
|
|
63
|
+
that.$element.show()
|
|
65
64
|
|
|
66
65
|
if (transition) {
|
|
67
66
|
that.$element[0].offsetWidth // force reflow
|
|
@@ -139,16 +138,17 @@
|
|
|
139
138
|
})
|
|
140
139
|
}
|
|
141
140
|
|
|
142
|
-
, hideModal: function (
|
|
143
|
-
this
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
141
|
+
, hideModal: function () {
|
|
142
|
+
var that = this
|
|
143
|
+
this.$element.hide()
|
|
144
|
+
this.backdrop(function () {
|
|
145
|
+
that.removeBackdrop()
|
|
146
|
+
that.$element.trigger('hidden')
|
|
147
|
+
})
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
, removeBackdrop: function () {
|
|
151
|
-
this.$backdrop.remove()
|
|
151
|
+
this.$backdrop && this.$backdrop.remove()
|
|
152
152
|
this.$backdrop = null
|
|
153
153
|
}
|
|
154
154
|
|
|
@@ -172,6 +172,8 @@
|
|
|
172
172
|
|
|
173
173
|
this.$backdrop.addClass('in')
|
|
174
174
|
|
|
175
|
+
if (!callback) return
|
|
176
|
+
|
|
175
177
|
doAnimate ?
|
|
176
178
|
this.$backdrop.one($.support.transition.end, callback) :
|
|
177
179
|
callback()
|
|
@@ -180,8 +182,8 @@
|
|
|
180
182
|
this.$backdrop.removeClass('in')
|
|
181
183
|
|
|
182
184
|
$.support.transition && this.$element.hasClass('fade')?
|
|
183
|
-
this.$backdrop.one($.support.transition.end,
|
|
184
|
-
|
|
185
|
+
this.$backdrop.one($.support.transition.end, callback) :
|
|
186
|
+
callback()
|
|
185
187
|
|
|
186
188
|
} else if (callback) {
|
|
187
189
|
callback()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ===========================================================
|
|
2
|
-
* bootstrap-popover.js v2.
|
|
2
|
+
* bootstrap-popover.js v2.3.1
|
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#popovers
|
|
4
4
|
* ===========================================================
|
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
, $e = this.$element
|
|
59
59
|
, o = this.options
|
|
60
60
|
|
|
61
|
-
content = $e.
|
|
62
|
-
||
|
|
61
|
+
content = (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
|
|
62
|
+
|| $e.attr('data-content')
|
|
63
63
|
|
|
64
64
|
return content
|
|
65
65
|
}
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
placement: 'right'
|
|
100
100
|
, trigger: 'click'
|
|
101
101
|
, content: ''
|
|
102
|
-
, template: '<div class="popover"><div class="arrow"></div><
|
|
102
|
+
, template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
|
|
103
103
|
})
|
|
104
104
|
|
|
105
105
|
|
|
@@ -111,4 +111,4 @@
|
|
|
111
111
|
return this
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
}(window.jQuery);
|
|
114
|
+
}(window.jQuery);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* =============================================================
|
|
2
|
-
* bootstrap-scrollspy.js v2.
|
|
2
|
+
* bootstrap-scrollspy.js v2.3.1
|
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
|
|
4
4
|
* =============================================================
|
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
, $href = /^#\w/.test(href) && $(href)
|
|
60
60
|
return ( $href
|
|
61
61
|
&& $href.length
|
|
62
|
-
&& [[ $href.position().top + self.$scrollElement.scrollTop(), href ]] ) || null
|
|
62
|
+
&& [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
|
|
63
63
|
})
|
|
64
64
|
.sort(function (a, b) { return a[0] - b[0] })
|
|
65
65
|
.each(function () {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ========================================================
|
|
2
|
-
* bootstrap-tab.js v2.
|
|
2
|
+
* bootstrap-tab.js v2.3.1
|
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#tabs
|
|
4
4
|
* ========================================================
|
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ===========================================================
|
|
2
|
-
* bootstrap-tooltip.js v2.
|
|
2
|
+
* bootstrap-tooltip.js v2.3.1
|
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#tooltips
|
|
4
4
|
* Inspired by the original jQuery.tipsy by Jason Frame
|
|
5
5
|
* ===========================================================
|
|
@@ -38,19 +38,27 @@
|
|
|
38
38
|
, init: function (type, element, options) {
|
|
39
39
|
var eventIn
|
|
40
40
|
, eventOut
|
|
41
|
+
, triggers
|
|
42
|
+
, trigger
|
|
43
|
+
, i
|
|
41
44
|
|
|
42
45
|
this.type = type
|
|
43
46
|
this.$element = $(element)
|
|
44
47
|
this.options = this.getOptions(options)
|
|
45
48
|
this.enabled = true
|
|
46
49
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
triggers = this.options.trigger.split(' ')
|
|
51
|
+
|
|
52
|
+
for (i = triggers.length; i--;) {
|
|
53
|
+
trigger = triggers[i]
|
|
54
|
+
if (trigger == 'click') {
|
|
55
|
+
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
|
|
56
|
+
} else if (trigger != 'manual') {
|
|
57
|
+
eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
|
|
58
|
+
eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
|
|
59
|
+
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
|
60
|
+
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
|
61
|
+
}
|
|
54
62
|
}
|
|
55
63
|
|
|
56
64
|
this.options.selector ?
|
|
@@ -59,7 +67,7 @@
|
|
|
59
67
|
}
|
|
60
68
|
|
|
61
69
|
, getOptions: function (options) {
|
|
62
|
-
options = $.extend({}, $.fn[this.type].defaults,
|
|
70
|
+
options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)
|
|
63
71
|
|
|
64
72
|
if (options.delay && typeof options.delay == 'number') {
|
|
65
73
|
options.delay = {
|
|
@@ -72,7 +80,15 @@
|
|
|
72
80
|
}
|
|
73
81
|
|
|
74
82
|
, enter: function (e) {
|
|
75
|
-
var
|
|
83
|
+
var defaults = $.fn[this.type].defaults
|
|
84
|
+
, options = {}
|
|
85
|
+
, self
|
|
86
|
+
|
|
87
|
+
this._options && $.each(this._options, function (key, value) {
|
|
88
|
+
if (defaults[key] != value) options[key] = value
|
|
89
|
+
}, this)
|
|
90
|
+
|
|
91
|
+
self = $(e.currentTarget)[this.type](options).data(this.type)
|
|
76
92
|
|
|
77
93
|
if (!self.options.delay || !self.options.delay.show) return self.show()
|
|
78
94
|
|
|
@@ -97,14 +113,16 @@
|
|
|
97
113
|
|
|
98
114
|
, show: function () {
|
|
99
115
|
var $tip
|
|
100
|
-
, inside
|
|
101
116
|
, pos
|
|
102
117
|
, actualWidth
|
|
103
118
|
, actualHeight
|
|
104
119
|
, placement
|
|
105
120
|
, tp
|
|
121
|
+
, e = $.Event('show')
|
|
106
122
|
|
|
107
123
|
if (this.hasContent() && this.enabled) {
|
|
124
|
+
this.$element.trigger(e)
|
|
125
|
+
if (e.isDefaultPrevented()) return
|
|
108
126
|
$tip = this.tip()
|
|
109
127
|
this.setContent()
|
|
110
128
|
|
|
@@ -116,19 +134,18 @@
|
|
|
116
134
|
this.options.placement.call(this, $tip[0], this.$element[0]) :
|
|
117
135
|
this.options.placement
|
|
118
136
|
|
|
119
|
-
inside = /in/.test(placement)
|
|
120
|
-
|
|
121
137
|
$tip
|
|
122
138
|
.detach()
|
|
123
139
|
.css({ top: 0, left: 0, display: 'block' })
|
|
124
|
-
.insertAfter(this.$element)
|
|
125
140
|
|
|
126
|
-
|
|
141
|
+
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
|
142
|
+
|
|
143
|
+
pos = this.getPosition()
|
|
127
144
|
|
|
128
145
|
actualWidth = $tip[0].offsetWidth
|
|
129
146
|
actualHeight = $tip[0].offsetHeight
|
|
130
147
|
|
|
131
|
-
switch (
|
|
148
|
+
switch (placement) {
|
|
132
149
|
case 'bottom':
|
|
133
150
|
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
|
|
134
151
|
break
|
|
@@ -143,13 +160,58 @@
|
|
|
143
160
|
break
|
|
144
161
|
}
|
|
145
162
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
.addClass(placement)
|
|
149
|
-
.addClass('in')
|
|
163
|
+
this.applyPlacement(tp, placement)
|
|
164
|
+
this.$element.trigger('shown')
|
|
150
165
|
}
|
|
151
166
|
}
|
|
152
167
|
|
|
168
|
+
, applyPlacement: function(offset, placement){
|
|
169
|
+
var $tip = this.tip()
|
|
170
|
+
, width = $tip[0].offsetWidth
|
|
171
|
+
, height = $tip[0].offsetHeight
|
|
172
|
+
, actualWidth
|
|
173
|
+
, actualHeight
|
|
174
|
+
, delta
|
|
175
|
+
, replace
|
|
176
|
+
|
|
177
|
+
$tip
|
|
178
|
+
.offset(offset)
|
|
179
|
+
.addClass(placement)
|
|
180
|
+
.addClass('in')
|
|
181
|
+
|
|
182
|
+
actualWidth = $tip[0].offsetWidth
|
|
183
|
+
actualHeight = $tip[0].offsetHeight
|
|
184
|
+
|
|
185
|
+
if (placement == 'top' && actualHeight != height) {
|
|
186
|
+
offset.top = offset.top + height - actualHeight
|
|
187
|
+
replace = true
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
if (placement == 'bottom' || placement == 'top') {
|
|
191
|
+
delta = 0
|
|
192
|
+
|
|
193
|
+
if (offset.left < 0){
|
|
194
|
+
delta = offset.left * -2
|
|
195
|
+
offset.left = 0
|
|
196
|
+
$tip.offset(offset)
|
|
197
|
+
actualWidth = $tip[0].offsetWidth
|
|
198
|
+
actualHeight = $tip[0].offsetHeight
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
|
|
202
|
+
} else {
|
|
203
|
+
this.replaceArrow(actualHeight - height, actualHeight, 'top')
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (replace) $tip.offset(offset)
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
, replaceArrow: function(delta, dimension, position){
|
|
210
|
+
this
|
|
211
|
+
.arrow()
|
|
212
|
+
.css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
|
|
213
|
+
}
|
|
214
|
+
|
|
153
215
|
, setContent: function () {
|
|
154
216
|
var $tip = this.tip()
|
|
155
217
|
, title = this.getTitle()
|
|
@@ -161,6 +223,10 @@
|
|
|
161
223
|
, hide: function () {
|
|
162
224
|
var that = this
|
|
163
225
|
, $tip = this.tip()
|
|
226
|
+
, e = $.Event('hide')
|
|
227
|
+
|
|
228
|
+
this.$element.trigger(e)
|
|
229
|
+
if (e.isDefaultPrevented()) return
|
|
164
230
|
|
|
165
231
|
$tip.removeClass('in')
|
|
166
232
|
|
|
@@ -179,13 +245,15 @@
|
|
|
179
245
|
removeWithAnimation() :
|
|
180
246
|
$tip.detach()
|
|
181
247
|
|
|
248
|
+
this.$element.trigger('hidden')
|
|
249
|
+
|
|
182
250
|
return this
|
|
183
251
|
}
|
|
184
252
|
|
|
185
253
|
, fixTitle: function () {
|
|
186
254
|
var $e = this.$element
|
|
187
255
|
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
|
|
188
|
-
$e.attr('data-original-title', $e.attr('title') || '').
|
|
256
|
+
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
|
189
257
|
}
|
|
190
258
|
}
|
|
191
259
|
|
|
@@ -193,11 +261,12 @@
|
|
|
193
261
|
return this.getTitle()
|
|
194
262
|
}
|
|
195
263
|
|
|
196
|
-
, getPosition: function (
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
264
|
+
, getPosition: function () {
|
|
265
|
+
var el = this.$element[0]
|
|
266
|
+
return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
|
|
267
|
+
width: el.offsetWidth
|
|
268
|
+
, height: el.offsetHeight
|
|
269
|
+
}, this.$element.offset())
|
|
201
270
|
}
|
|
202
271
|
|
|
203
272
|
, getTitle: function () {
|
|
@@ -215,6 +284,10 @@
|
|
|
215
284
|
return this.$tip = this.$tip || $(this.options.template)
|
|
216
285
|
}
|
|
217
286
|
|
|
287
|
+
, arrow: function(){
|
|
288
|
+
return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
|
|
289
|
+
}
|
|
290
|
+
|
|
218
291
|
, validate: function () {
|
|
219
292
|
if (!this.$element[0].parentNode) {
|
|
220
293
|
this.hide()
|
|
@@ -236,8 +309,8 @@
|
|
|
236
309
|
}
|
|
237
310
|
|
|
238
311
|
, toggle: function (e) {
|
|
239
|
-
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
|
|
240
|
-
self
|
|
312
|
+
var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
|
|
313
|
+
self.tip().hasClass('in') ? self.hide() : self.show()
|
|
241
314
|
}
|
|
242
315
|
|
|
243
316
|
, destroy: function () {
|
|
@@ -269,10 +342,11 @@
|
|
|
269
342
|
, placement: 'top'
|
|
270
343
|
, selector: false
|
|
271
344
|
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
|
|
272
|
-
, trigger: 'hover'
|
|
345
|
+
, trigger: 'hover focus'
|
|
273
346
|
, title: ''
|
|
274
347
|
, delay: 0
|
|
275
348
|
, html: false
|
|
349
|
+
, container: false
|
|
276
350
|
}
|
|
277
351
|
|
|
278
352
|
|
|
@@ -284,4 +358,4 @@
|
|
|
284
358
|
return this
|
|
285
359
|
}
|
|
286
360
|
|
|
287
|
-
}(window.jQuery);
|
|
361
|
+
}(window.jQuery);
|