jombo 1.0.1 → 1.0.2
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/.rvmrc +1 -1
- data/README.md +1 -1
- data/lib/jombo/version.rb +1 -1
- data/vendor/assets/images/glyphicons-halflings-white.png +0 -0
- data/vendor/assets/images/glyphicons-halflings.png +0 -0
- data/vendor/assets/javascripts/bootstrap/bootstrap-alert.js +8 -5
- data/vendor/assets/javascripts/bootstrap/bootstrap-button.js +5 -3
- data/vendor/assets/javascripts/bootstrap/bootstrap-carousel.js +21 -13
- data/vendor/assets/javascripts/bootstrap/bootstrap-collapse.js +21 -8
- data/vendor/assets/javascripts/bootstrap/bootstrap-dropdown.js +5 -3
- data/vendor/assets/javascripts/bootstrap/bootstrap-modal.js +6 -5
- data/vendor/assets/javascripts/bootstrap/bootstrap-popover.js +4 -6
- data/vendor/assets/javascripts/bootstrap/bootstrap-scrollspy.js +28 -9
- data/vendor/assets/javascripts/bootstrap/bootstrap-tab.js +2 -2
- data/vendor/assets/javascripts/bootstrap/bootstrap-tooltip.js +6 -6
- data/vendor/assets/javascripts/bootstrap/bootstrap-transition.js +3 -3
- data/vendor/assets/javascripts/bootstrap/bootstrap-typeahead.js +12 -10
- data/vendor/assets/stylesheets/bootstrap/bootstrap-responsive.css +339 -218
- data/vendor/assets/stylesheets/bootstrap/bootstrap.css +1027 -398
- metadata +5 -3
data/.rvmrc
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# Use this gemset. If it does not exist, create it.
|
2
|
-
rvm use ruby-1.9.3-
|
2
|
+
rvm use ruby-1.9.3-p125@jombo-gem --create
|
data/README.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
## Back-story
|
8
8
|
|
9
|
-
I'm a phenomenal fan of [Bootstrap](http://twitter.github.com/bootstrap/)
|
9
|
+
I'm a phenomenal fan of [Bootstrap](http://twitter.github.com/bootstrap/). One might even say a cheerleader! Anyhow, I use [Rails](http://rubyonrails.org/) and wanted to experiment with the bleeding edge of Bootstrap as it was being developed. Manually adding adding and updating the assets in one project was fine. Doing it for two or three projects over-and-over started to become cumbersome.
|
10
10
|
|
11
11
|
I had never made a gem before. The shiny new Rails 3 Asset Pipeline offered an interesting new piece of learning. So, here it is, my first Ruby gem in living history.
|
12
12
|
|
data/lib/jombo/version.rb
CHANGED
Binary file
|
Binary file
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* ==========================================================
|
2
|
-
* bootstrap-alert.js v2.0.
|
2
|
+
* bootstrap-alert.js v2.0.2
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#alerts
|
4
4
|
* ==========================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -51,11 +51,14 @@
|
|
51
51
|
|
52
52
|
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
|
53
53
|
|
54
|
-
$parent
|
54
|
+
$parent
|
55
|
+
.trigger('close')
|
56
|
+
.removeClass('in')
|
55
57
|
|
56
58
|
function removeElement() {
|
57
|
-
$parent
|
58
|
-
|
59
|
+
$parent
|
60
|
+
.trigger('closed')
|
61
|
+
.remove()
|
59
62
|
}
|
60
63
|
|
61
64
|
$.support.transition && $parent.hasClass('fade') ?
|
@@ -88,4 +91,4 @@
|
|
88
91
|
$('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
|
89
92
|
})
|
90
93
|
|
91
|
-
}( window.jQuery )
|
94
|
+
}( window.jQuery );
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* ============================================================
|
2
|
-
* bootstrap-button.js v2.0.
|
2
|
+
* bootstrap-button.js v2.0.2
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#buttons
|
4
4
|
* ============================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -91,8 +91,10 @@
|
|
91
91
|
|
92
92
|
$(function () {
|
93
93
|
$('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
|
94
|
-
$(e.target)
|
94
|
+
var $btn = $(e.target)
|
95
|
+
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
96
|
+
$btn.button('toggle')
|
95
97
|
})
|
96
98
|
})
|
97
99
|
|
98
|
-
}( window.jQuery )
|
100
|
+
}( window.jQuery );
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* ==========================================================
|
2
|
-
* bootstrap-carousel.js v2.0.
|
2
|
+
* bootstrap-carousel.js v2.0.2
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#carousel
|
4
4
|
* ==========================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -27,14 +27,18 @@
|
|
27
27
|
|
28
28
|
var Carousel = function (element, options) {
|
29
29
|
this.$element = $(element)
|
30
|
-
this.options =
|
30
|
+
this.options = options
|
31
31
|
this.options.slide && this.slide(this.options.slide)
|
32
|
+
this.options.pause == 'hover' && this.$element
|
33
|
+
.on('mouseenter', $.proxy(this.pause, this))
|
34
|
+
.on('mouseleave', $.proxy(this.cycle, this))
|
32
35
|
}
|
33
36
|
|
34
37
|
Carousel.prototype = {
|
35
38
|
|
36
39
|
cycle: function () {
|
37
|
-
this.
|
40
|
+
this.options.interval
|
41
|
+
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
|
38
42
|
return this
|
39
43
|
}
|
40
44
|
|
@@ -61,6 +65,7 @@
|
|
61
65
|
|
62
66
|
, pause: function () {
|
63
67
|
clearInterval(this.interval)
|
68
|
+
this.interval = null
|
64
69
|
return this
|
65
70
|
}
|
66
71
|
|
@@ -88,13 +93,9 @@
|
|
88
93
|
|
89
94
|
$next = $next.length ? $next : this.$element.find('.item')[fallback]()
|
90
95
|
|
91
|
-
if (
|
92
|
-
|
93
|
-
|
94
|
-
$next.addClass('active')
|
95
|
-
this.sliding = false
|
96
|
-
this.$element.trigger('slid')
|
97
|
-
} else {
|
96
|
+
if ($next.hasClass('active')) return
|
97
|
+
|
98
|
+
if ($.support.transition && this.$element.hasClass('slide')) {
|
98
99
|
$next.addClass(type)
|
99
100
|
$next[0].offsetWidth // force reflow
|
100
101
|
$active.addClass(direction)
|
@@ -106,6 +107,12 @@
|
|
106
107
|
that.sliding = false
|
107
108
|
setTimeout(function () { that.$element.trigger('slid') }, 0)
|
108
109
|
})
|
110
|
+
} else {
|
111
|
+
this.$element.trigger('slide')
|
112
|
+
$active.removeClass('active')
|
113
|
+
$next.addClass('active')
|
114
|
+
this.sliding = false
|
115
|
+
this.$element.trigger('slid')
|
109
116
|
}
|
110
117
|
|
111
118
|
isCycling && this.cycle()
|
@@ -123,16 +130,17 @@
|
|
123
130
|
return this.each(function () {
|
124
131
|
var $this = $(this)
|
125
132
|
, data = $this.data('carousel')
|
126
|
-
, options = typeof option == 'object' && option
|
133
|
+
, options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
|
127
134
|
if (!data) $this.data('carousel', (data = new Carousel(this, options)))
|
128
135
|
if (typeof option == 'number') data.to(option)
|
129
136
|
else if (typeof option == 'string' || (option = options.slide)) data[option]()
|
130
|
-
else data.cycle()
|
137
|
+
else if (options.interval) data.cycle()
|
131
138
|
})
|
132
139
|
}
|
133
140
|
|
134
141
|
$.fn.carousel.defaults = {
|
135
142
|
interval: 5000
|
143
|
+
, pause: 'hover'
|
136
144
|
}
|
137
145
|
|
138
146
|
$.fn.carousel.Constructor = Carousel
|
@@ -151,4 +159,4 @@
|
|
151
159
|
})
|
152
160
|
})
|
153
161
|
|
154
|
-
}( window.jQuery )
|
162
|
+
}( window.jQuery );
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* =============================================================
|
2
|
-
* bootstrap-collapse.js v2.0.
|
2
|
+
* bootstrap-collapse.js v2.0.2
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#collapse
|
4
4
|
* =============================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -42,11 +42,18 @@
|
|
42
42
|
}
|
43
43
|
|
44
44
|
, show: function () {
|
45
|
-
var dimension
|
46
|
-
, scroll
|
47
|
-
, actives
|
45
|
+
var dimension
|
46
|
+
, scroll
|
47
|
+
, actives
|
48
48
|
, hasData
|
49
49
|
|
50
|
+
if (this.transitioning) return
|
51
|
+
|
52
|
+
dimension = this.dimension()
|
53
|
+
scroll = $.camelCase(['scroll', dimension].join('-'))
|
54
|
+
actives = this.$parent && this.$parent.find('> .accordion-group > .in')
|
55
|
+
hasData
|
56
|
+
|
50
57
|
if (actives && actives.length) {
|
51
58
|
hasData = actives.data('collapse')
|
52
59
|
actives.collapse('hide')
|
@@ -56,11 +63,12 @@
|
|
56
63
|
this.$element[dimension](0)
|
57
64
|
this.transition('addClass', 'show', 'shown')
|
58
65
|
this.$element[dimension](this.$element[0][scroll])
|
59
|
-
|
60
66
|
}
|
61
67
|
|
62
68
|
, hide: function () {
|
63
|
-
var dimension
|
69
|
+
var dimension
|
70
|
+
if (this.transitioning) return
|
71
|
+
dimension = this.dimension()
|
64
72
|
this.reset(this.$element[dimension]())
|
65
73
|
this.transition('removeClass', 'hide', 'hidden')
|
66
74
|
this.$element[dimension](0)
|
@@ -74,16 +82,21 @@
|
|
74
82
|
[dimension](size || 'auto')
|
75
83
|
[0].offsetWidth
|
76
84
|
|
77
|
-
this.$element
|
85
|
+
this.$element[size != null ? 'addClass' : 'removeClass']('collapse')
|
86
|
+
|
87
|
+
return this
|
78
88
|
}
|
79
89
|
|
80
90
|
, transition: function ( method, startEvent, completeEvent ) {
|
81
91
|
var that = this
|
82
92
|
, complete = function () {
|
83
93
|
if (startEvent == 'show') that.reset()
|
94
|
+
that.transitioning = 0
|
84
95
|
that.$element.trigger(completeEvent)
|
85
96
|
}
|
86
97
|
|
98
|
+
this.transitioning = 1
|
99
|
+
|
87
100
|
this.$element
|
88
101
|
.trigger(startEvent)
|
89
102
|
[method]('in')
|
@@ -133,4 +146,4 @@
|
|
133
146
|
})
|
134
147
|
})
|
135
148
|
|
136
|
-
}( window.jQuery )
|
149
|
+
}( window.jQuery );
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* ============================================================
|
2
|
-
* bootstrap-dropdown.js v2.0.
|
2
|
+
* bootstrap-dropdown.js v2.0.2
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
|
4
4
|
* ============================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -86,7 +86,9 @@
|
|
86
86
|
|
87
87
|
$(function () {
|
88
88
|
$('html').on('click.dropdown.data-api', clearMenus)
|
89
|
-
$('body')
|
89
|
+
$('body')
|
90
|
+
.on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() })
|
91
|
+
.on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
90
92
|
})
|
91
93
|
|
92
|
-
}( window.jQuery )
|
94
|
+
}( window.jQuery );
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* =========================================================
|
2
|
-
* bootstrap-modal.js v2.0.
|
2
|
+
* bootstrap-modal.js v2.0.2
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#modals
|
4
4
|
* =========================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -26,7 +26,7 @@
|
|
26
26
|
* ====================== */
|
27
27
|
|
28
28
|
var Modal = function ( content, options ) {
|
29
|
-
this.options =
|
29
|
+
this.options = options
|
30
30
|
this.$element = $(content)
|
31
31
|
.delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
|
32
32
|
}
|
@@ -177,16 +177,17 @@
|
|
177
177
|
return this.each(function () {
|
178
178
|
var $this = $(this)
|
179
179
|
, data = $this.data('modal')
|
180
|
-
, options = typeof option == 'object' && option
|
180
|
+
, options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
|
181
181
|
if (!data) $this.data('modal', (data = new Modal(this, options)))
|
182
182
|
if (typeof option == 'string') data[option]()
|
183
|
-
else data.show()
|
183
|
+
else if (options.show) data.show()
|
184
184
|
})
|
185
185
|
}
|
186
186
|
|
187
187
|
$.fn.modal.defaults = {
|
188
188
|
backdrop: true
|
189
189
|
, keyboard: true
|
190
|
+
, show: true
|
190
191
|
}
|
191
192
|
|
192
193
|
$.fn.modal.Constructor = Modal
|
@@ -206,4 +207,4 @@
|
|
206
207
|
})
|
207
208
|
})
|
208
209
|
|
209
|
-
}( window.jQuery )
|
210
|
+
}( window.jQuery );
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* ===========================================================
|
2
|
-
* bootstrap-popover.js v2.0.
|
2
|
+
* bootstrap-popover.js v2.0.2
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#popovers
|
4
4
|
* ===========================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -38,8 +38,8 @@
|
|
38
38
|
, title = this.getTitle()
|
39
39
|
, content = this.getContent()
|
40
40
|
|
41
|
-
$tip.find('.popover-title')
|
42
|
-
$tip.find('.popover-content > *')
|
41
|
+
$tip.find('.popover-title').html(title)
|
42
|
+
$tip.find('.popover-content > *').html(content)
|
43
43
|
|
44
44
|
$tip.removeClass('fade top bottom left right in')
|
45
45
|
}
|
@@ -56,8 +56,6 @@
|
|
56
56
|
content = $e.attr('data-content')
|
57
57
|
|| (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
|
58
58
|
|
59
|
-
content = content.toString().replace(/(^\s*|\s*$)/, "")
|
60
|
-
|
61
59
|
return content
|
62
60
|
}
|
63
61
|
|
@@ -92,4 +90,4 @@
|
|
92
90
|
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
|
93
91
|
})
|
94
92
|
|
95
|
-
}( window.jQuery )
|
93
|
+
}( window.jQuery );
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* =============================================================
|
2
|
-
* bootstrap-scrollspy.js v2.0.
|
2
|
+
* bootstrap-scrollspy.js v2.0.2
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
|
4
4
|
* =============================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -43,25 +43,42 @@
|
|
43
43
|
constructor: ScrollSpy
|
44
44
|
|
45
45
|
, refresh: function () {
|
46
|
-
|
46
|
+
var self = this
|
47
|
+
, $targets
|
48
|
+
|
49
|
+
this.offsets = []
|
50
|
+
this.targets = []
|
51
|
+
|
52
|
+
$targets = this.$body
|
47
53
|
.find(this.selector)
|
48
54
|
.map(function () {
|
49
55
|
var href = $(this).attr('href')
|
50
|
-
|
56
|
+
, $href = /^#\w/.test(href) && $(href)
|
57
|
+
return ( $href
|
58
|
+
&& href.length
|
59
|
+
&& [[ $href.position().top, href ]] ) || null
|
60
|
+
})
|
61
|
+
.sort(function (a, b) { return a[0] - b[0] })
|
62
|
+
.each(function () {
|
63
|
+
self.offsets.push(this[0])
|
64
|
+
self.targets.push(this[1])
|
51
65
|
})
|
52
|
-
|
53
|
-
this.offsets = $.map(this.targets, function (id) {
|
54
|
-
return $(id).position().top
|
55
|
-
})
|
56
66
|
}
|
57
67
|
|
58
68
|
, process: function () {
|
59
69
|
var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
|
70
|
+
, scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
|
71
|
+
, maxScroll = scrollHeight - this.$scrollElement.height()
|
60
72
|
, offsets = this.offsets
|
61
73
|
, targets = this.targets
|
62
74
|
, activeTarget = this.activeTarget
|
63
75
|
, i
|
64
76
|
|
77
|
+
if (scrollTop >= maxScroll) {
|
78
|
+
return activeTarget != (i = targets.last()[0])
|
79
|
+
&& this.activate ( i )
|
80
|
+
}
|
81
|
+
|
65
82
|
for (i = offsets.length; i--;) {
|
66
83
|
activeTarget != targets[i]
|
67
84
|
&& scrollTop >= offsets[i]
|
@@ -85,8 +102,10 @@
|
|
85
102
|
.addClass('active')
|
86
103
|
|
87
104
|
if ( active.parent('.dropdown-menu') ) {
|
88
|
-
active.closest('li.dropdown').addClass('active')
|
105
|
+
active = active.closest('li.dropdown').addClass('active')
|
89
106
|
}
|
107
|
+
|
108
|
+
active.trigger('activate')
|
90
109
|
}
|
91
110
|
|
92
111
|
}
|
@@ -122,4 +141,4 @@
|
|
122
141
|
})
|
123
142
|
})
|
124
143
|
|
125
|
-
}( window.jQuery )
|
144
|
+
}( window.jQuery );
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* ========================================================
|
2
|
-
* bootstrap-tab.js v2.0.
|
2
|
+
* bootstrap-tab.js v2.0.2
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#tabs
|
4
4
|
* ========================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -127,4 +127,4 @@
|
|
127
127
|
})
|
128
128
|
})
|
129
129
|
|
130
|
-
}( window.jQuery )
|
130
|
+
}( window.jQuery );
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* ===========================================================
|
2
|
-
* bootstrap-tooltip.js v2.0.
|
2
|
+
* bootstrap-tooltip.js v2.0.2
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#tooltips
|
4
4
|
* Inspired by the original jQuery.tipsy by Jason Frame
|
5
5
|
* ===========================================================
|
@@ -73,8 +73,9 @@
|
|
73
73
|
if (!self.options.delay || !self.options.delay.show) {
|
74
74
|
self.show()
|
75
75
|
} else {
|
76
|
+
clearTimeout(this.timeout)
|
76
77
|
self.hoverState = 'in'
|
77
|
-
setTimeout(function() {
|
78
|
+
this.timeout = setTimeout(function() {
|
78
79
|
if (self.hoverState == 'in') {
|
79
80
|
self.show()
|
80
81
|
}
|
@@ -88,8 +89,9 @@
|
|
88
89
|
if (!self.options.delay || !self.options.delay.hide) {
|
89
90
|
self.hide()
|
90
91
|
} else {
|
92
|
+
clearTimeout(this.timeout)
|
91
93
|
self.hoverState = 'out'
|
92
|
-
setTimeout(function() {
|
94
|
+
this.timeout = setTimeout(function() {
|
93
95
|
if (self.hoverState == 'out') {
|
94
96
|
self.hide()
|
95
97
|
}
|
@@ -206,8 +208,6 @@
|
|
206
208
|
title = $e.attr('data-original-title')
|
207
209
|
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
|
208
210
|
|
209
|
-
title = title.toString().replace(/(^\s*|\s*$)/, "")
|
210
|
-
|
211
211
|
return title
|
212
212
|
}
|
213
213
|
|
@@ -267,4 +267,4 @@
|
|
267
267
|
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
|
268
268
|
}
|
269
269
|
|
270
|
-
}( window.jQuery )
|
270
|
+
}( window.jQuery );
|