Commit a70c50d1 authored by Mark Otto's avatar Mark Otto

Merge branch 'master' into 3.0.0-wip

Conflicts:
	Makefile
	README.md
	component.json
	docs/assets/css/bootstrap-responsive.css
	docs/assets/css/bootstrap.css
	docs/assets/js/bootstrap-affix.js
	docs/assets/js/bootstrap-alert.js
	docs/assets/js/bootstrap-button.js
	docs/assets/js/bootstrap-carousel.js
	docs/assets/js/bootstrap-collapse.js
	docs/assets/js/bootstrap-dropdown.js
	docs/assets/js/bootstrap-modal.js
	docs/assets/js/bootstrap-popover.js
	docs/assets/js/bootstrap-scrollspy.js
	docs/assets/js/bootstrap-tab.js
	docs/assets/js/bootstrap-tooltip.js
	docs/assets/js/bootstrap-transition.js
	docs/assets/js/bootstrap-typeahead.js
	docs/assets/js/bootstrap.js
	docs/assets/js/bootstrap.min.js
	docs/index.html
	docs/templates/pages/index.mustache
	js/bootstrap-affix.js
	js/bootstrap-alert.js
	js/bootstrap-button.js
	js/bootstrap-carousel.js
	js/bootstrap-collapse.js
	js/bootstrap-dropdown.js
	js/bootstrap-modal.js
	js/bootstrap-popover.js
	js/bootstrap-scrollspy.js
	js/bootstrap-tab.js
	js/bootstrap-tooltip.js
	js/bootstrap-transition.js
	js/bootstrap-typeahead.js
	less/bootstrap.less
	less/responsive.less
	package.json
parents 77e8e2ae eb24718a
## 2.3.1 (February 28, 2013)
Patch release for @fat's n00bery
- fix missing event type in dropdown
- fix delegated data-attrs for popover/tooltip
- make carousel actually pause when you click cycle
- fix jshint ref in makefile
- fix trying to remove backdrop when no backdrop
## 2.3.0 (February 7, 2013) ## 2.3.0 (February 7, 2013)
Minor release to add carousel indicators, improve tooltips, improve dev setup, and fix hella bugs. Minor release to add carousel indicators, improve tooltips, improve dev setup, and fix hella bugs.
......
...@@ -12,8 +12,8 @@ build: ...@@ -12,8 +12,8 @@ build:
@echo "\n\n" @echo "\n\n"
@echo "\033[36mBuilding Bootstrap...\033[39m" @echo "\033[36mBuilding Bootstrap...\033[39m"
@echo "${HR}" @echo "${HR}"
@jshint js/*.js --config js/.jshintrc @./node_modules/.bin/jshint js/*.js --config js/.jshintrc
@jshint js/tests/unit/*.js --config js/.jshintrc @./node_modules/.bin/jshint js/tests/unit/*.js --config js/.jshintrc
@echo "Running JSHint on javascript... ${CHECK}" @echo "Running JSHint on javascript... ${CHECK}"
@./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > ${BOOTSTRAP} @./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > ${BOOTSTRAP}
@echo "Compiling LESS with Recess... ${CHECK}" @echo "Compiling LESS with Recess... ${CHECK}"
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
if (!e) this.paused = true if (!e) this.paused = true
if (this.$element.find('.next, .prev').length && $.support.transition.end) { if (this.$element.find('.next, .prev').length && $.support.transition.end) {
this.$element.trigger($.support.transition.end) this.$element.trigger($.support.transition.end)
this.cycle() this.cycle(true)
} }
clearInterval(this.interval) clearInterval(this.interval)
this.interval = null this.interval = null
......
...@@ -158,7 +158,7 @@ ...@@ -158,7 +158,7 @@
$(document) $(document)
.on('click.dropdown.data-api', clearMenus) .on('click.dropdown.data-api', clearMenus)
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('.dropdown-menu', function (e) { e.stopPropagation() }) .on('click.dropdown-menu', function (e) { e.stopPropagation() })
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
......
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
} }
, removeBackdrop: function () { , removeBackdrop: function () {
this.$backdrop.remove() this.$backdrop && this.$backdrop.remove()
this.$backdrop = null this.$backdrop = null
} }
......
...@@ -80,7 +80,15 @@ ...@@ -80,7 +80,15 @@
} }
, enter: function (e) { , enter: function (e) {
var self = $(e.currentTarget)[this.type](this._options).data(this.type) var defaults = $.fn[this.type].defaults
, options = {}
, self
this._options && $.each(this._options, function (key, value) {
if (defaults[key] != value) options[key] = value
}, this)
self = $(e.currentTarget)[this.type](options).data(this.type)
if (!self.options.delay || !self.options.delay.show) return self.show() if (!self.options.delay || !self.options.delay.show) return self.show()
......
...@@ -336,7 +336,7 @@ ...@@ -336,7 +336,7 @@
if (!e) this.paused = true if (!e) this.paused = true
if (this.$element.find('.next, .prev').length && $.support.transition.end) { if (this.$element.find('.next, .prev').length && $.support.transition.end) {
this.$element.trigger($.support.transition.end) this.$element.trigger($.support.transition.end)
this.cycle() this.cycle(true)
} }
clearInterval(this.interval) clearInterval(this.interval)
this.interval = null this.interval = null
...@@ -791,7 +791,7 @@ ...@@ -791,7 +791,7 @@
$(document) $(document)
.on('click.dropdown.data-api', clearMenus) .on('click.dropdown.data-api', clearMenus)
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('.dropdown-menu', function (e) { e.stopPropagation() }) .on('click.dropdown-menu', function (e) { e.stopPropagation() })
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
...@@ -946,7 +946,7 @@ ...@@ -946,7 +946,7 @@
} }
, removeBackdrop: function () { , removeBackdrop: function () {
this.$backdrop.remove() this.$backdrop && this.$backdrop.remove()
this.$backdrop = null this.$backdrop = null
} }
...@@ -1129,7 +1129,15 @@ ...@@ -1129,7 +1129,15 @@
} }
, enter: function (e) { , enter: function (e) {
var self = $(e.currentTarget)[this.type](this._options).data(this.type) var defaults = $.fn[this.type].defaults
, options = {}
, self
this._options && $.each(this._options, function (key, value) {
if (defaults[key] != value) options[key] = value
}, this)
self = $(e.currentTarget)[this.type](options).data(this.type)
if (!self.options.delay || !self.options.delay.show) return self.show() if (!self.options.delay || !self.options.delay.show) return self.show()
......
This diff is collapsed.
...@@ -15,7 +15,7 @@ title: Bootstrap ...@@ -15,7 +15,7 @@ title: Bootstrap
<a href="http://github.com/twitter/bootstrap" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'GitHub project']);">GitHub project</a> <a href="http://github.com/twitter/bootstrap" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'GitHub project']);">GitHub project</a>
</li> </li>
<li> <li>
<a href="./getting-started.html#examples" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Examples']);">Examples</a> <a href="./getting-started/#examples" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Examples']);">Examples</a>
</li> </li>
<li>Version 3.0.0</li> <li>Version 3.0.0</li>
</ul> </ul>
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
if (!e) this.paused = true if (!e) this.paused = true
if (this.$element.find('.next, .prev').length && $.support.transition.end) { if (this.$element.find('.next, .prev').length && $.support.transition.end) {
this.$element.trigger($.support.transition.end) this.$element.trigger($.support.transition.end)
this.cycle() this.cycle(true)
} }
clearInterval(this.interval) clearInterval(this.interval)
this.interval = null this.interval = null
......
...@@ -158,7 +158,7 @@ ...@@ -158,7 +158,7 @@
$(document) $(document)
.on('click.dropdown.data-api', clearMenus) .on('click.dropdown.data-api', clearMenus)
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('.dropdown-menu', function (e) { e.stopPropagation() }) .on('click.dropdown-menu', function (e) { e.stopPropagation() })
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
......
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
} }
, removeBackdrop: function () { , removeBackdrop: function () {
this.$backdrop.remove() this.$backdrop && this.$backdrop.remove()
this.$backdrop = null this.$backdrop = null
} }
......
...@@ -80,7 +80,15 @@ ...@@ -80,7 +80,15 @@
} }
, enter: function (e) { , enter: function (e) {
var self = $(e.currentTarget)[this.type](this._options).data(this.type) var defaults = $.fn[this.type].defaults
, options = {}
, self
this._options && $.each(this._options, function (key, value) {
if (defaults[key] != value) options[key] = value
}, this)
self = $(e.currentTarget)[this.type](options).data(this.type)
if (!self.options.delay || !self.options.delay.show) return self.show() if (!self.options.delay || !self.options.delay.show) return self.show()
......
...@@ -117,4 +117,21 @@ $(function () { ...@@ -117,4 +117,21 @@ $(function () {
}) })
.modal("toggle") .modal("toggle")
}) })
test("should allow modal close with 'backdrop:false'", function () {
stop()
$.support.transition = false
var div = $("<div>", { id: 'modal-test', "data-backdrop": false })
div
.bind("shown", function () {
ok($('#modal-test').is(":visible"), 'modal visible')
div.modal("hide")
})
.bind("hidden", function() {
ok(!$('#modal-test').is(":visible"), 'modal hidden')
div.remove()
start()
})
.modal("show")
})
}) })
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment