mirror of
https://github.com/twbs/bootstrap.git
synced 2025-08-17 19:06:40 +02:00
Merge branch '2.3.0-wip' of github.com:twitter/bootstrap into 2.3.0-wip
This commit is contained in:
43
Makefile
43
Makefile
@@ -62,21 +62,46 @@ clean:
|
|||||||
# recess & uglifyjs are required
|
# recess & uglifyjs are required
|
||||||
#
|
#
|
||||||
|
|
||||||
bootstrap:
|
bootstrap: bootstrap-img bootstrap-css bootstrap-js
|
||||||
mkdir -p bootstrap/img
|
|
||||||
mkdir -p bootstrap/css
|
|
||||||
|
#
|
||||||
|
# JS COMPILE
|
||||||
|
#
|
||||||
|
bootstrap-js: bootstrap/js/*.js
|
||||||
|
|
||||||
|
bootstrap/js/*.js: js/*.js
|
||||||
mkdir -p bootstrap/js
|
mkdir -p bootstrap/js
|
||||||
cp img/* bootstrap/img/
|
|
||||||
./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.css
|
|
||||||
./node_modules/.bin/recess --compress ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.min.css
|
|
||||||
./node_modules/.bin/recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.css
|
|
||||||
./node_modules/.bin/recess --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.min.css
|
|
||||||
cat js/bootstrap-transition.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-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js js/bootstrap-affix.js > bootstrap/js/bootstrap.js
|
cat js/bootstrap-transition.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-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js js/bootstrap-affix.js > bootstrap/js/bootstrap.js
|
||||||
./node_modules/.bin/uglifyjs -nc bootstrap/js/bootstrap.js > bootstrap/js/bootstrap.min.tmp.js
|
./node_modules/.bin/uglifyjs -nc bootstrap/js/bootstrap.js > bootstrap/js/bootstrap.min.tmp.js
|
||||||
echo "/*!\n* Bootstrap.js by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > bootstrap/js/copyright.js
|
echo "/*!\n* Bootstrap.js by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > bootstrap/js/copyright.js
|
||||||
cat bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js > bootstrap/js/bootstrap.min.js
|
cat bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js > bootstrap/js/bootstrap.min.js
|
||||||
rm bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js
|
rm bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js
|
||||||
|
|
||||||
|
#
|
||||||
|
# CSS COMPLILE
|
||||||
|
#
|
||||||
|
|
||||||
|
bootstrap-css: bootstrap/css/*.css
|
||||||
|
|
||||||
|
bootstrap/css/*.css: less/*.less
|
||||||
|
mkdir -p bootstrap/css
|
||||||
|
./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.css
|
||||||
|
./node_modules/.bin/recess --compress ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.min.css
|
||||||
|
./node_modules/.bin/recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.css
|
||||||
|
./node_modules/.bin/recess --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.min.css
|
||||||
|
|
||||||
|
#
|
||||||
|
# IMAGES
|
||||||
|
#
|
||||||
|
|
||||||
|
bootstrap-img: bootstrap/img/*
|
||||||
|
|
||||||
|
bootstrap/img/*: img/*
|
||||||
|
mkdir -p bootstrap/img
|
||||||
|
cp img/* bootstrap/img/
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# MAKE FOR GH-PAGES 4 FAT & MDO ONLY (O_O )
|
# MAKE FOR GH-PAGES 4 FAT & MDO ONLY (O_O )
|
||||||
#
|
#
|
||||||
@@ -98,4 +123,4 @@ watch:
|
|||||||
watchr -e "watch('less/.*\.less') { system 'make' }"
|
watchr -e "watch('less/.*\.less') { system 'make' }"
|
||||||
|
|
||||||
|
|
||||||
.PHONY: docs watch gh-pages
|
.PHONY: docs watch gh-pages bootstrap-img bootstrap-css bootstrap-js
|
1
docs/assets/js/bootstrap-carousel.js
vendored
1
docs/assets/js/bootstrap-carousel.js
vendored
@@ -108,6 +108,7 @@
|
|||||||
|
|
||||||
e = $.Event('slide', {
|
e = $.Event('slide', {
|
||||||
relatedTarget: $next[0]
|
relatedTarget: $next[0]
|
||||||
|
, direction: direction
|
||||||
})
|
})
|
||||||
|
|
||||||
if ($next.hasClass('active')) return
|
if ($next.hasClass('active')) return
|
||||||
|
1
docs/assets/js/bootstrap-typeahead.js
vendored
1
docs/assets/js/bootstrap-typeahead.js
vendored
@@ -271,6 +271,7 @@
|
|||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
this.select()
|
this.select()
|
||||||
|
this.$element.focus()
|
||||||
}
|
}
|
||||||
|
|
||||||
, mouseenter: function (e) {
|
, mouseenter: function (e) {
|
||||||
|
2
docs/assets/js/bootstrap.js
vendored
2
docs/assets/js/bootstrap.js
vendored
@@ -369,6 +369,7 @@
|
|||||||
|
|
||||||
e = $.Event('slide', {
|
e = $.Event('slide', {
|
||||||
relatedTarget: $next[0]
|
relatedTarget: $next[0]
|
||||||
|
, direction: direction
|
||||||
})
|
})
|
||||||
|
|
||||||
if ($next.hasClass('active')) return
|
if ($next.hasClass('active')) return
|
||||||
@@ -2001,6 +2002,7 @@
|
|||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
this.select()
|
this.select()
|
||||||
|
this.$element.focus()
|
||||||
}
|
}
|
||||||
|
|
||||||
, mouseenter: function (e) {
|
, mouseenter: function (e) {
|
||||||
|
2
docs/assets/js/bootstrap.min.js
vendored
2
docs/assets/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
1
js/bootstrap-carousel.js
vendored
1
js/bootstrap-carousel.js
vendored
@@ -108,6 +108,7 @@
|
|||||||
|
|
||||||
e = $.Event('slide', {
|
e = $.Event('slide', {
|
||||||
relatedTarget: $next[0]
|
relatedTarget: $next[0]
|
||||||
|
, direction: direction
|
||||||
})
|
})
|
||||||
|
|
||||||
if ($next.hasClass('active')) return
|
if ($next.hasClass('active')) return
|
||||||
|
1
js/bootstrap-typeahead.js
vendored
1
js/bootstrap-typeahead.js
vendored
@@ -271,6 +271,7 @@
|
|||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
this.select()
|
this.select()
|
||||||
|
this.$element.focus()
|
||||||
}
|
}
|
||||||
|
|
||||||
, mouseenter: function (e) {
|
, mouseenter: function (e) {
|
||||||
|
12
js/tests/unit/bootstrap-carousel.js
vendored
12
js/tests/unit/bootstrap-carousel.js
vendored
@@ -31,6 +31,18 @@ $(function () {
|
|||||||
.carousel('next')
|
.carousel('next')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test("should fire slide event with direction", function () {
|
||||||
|
var template = '<div id="myCarousel" class="carousel slide"><div class="carousel-inner"><div class="item active"><img alt=""><div class="carousel-caption"><h4>{{_i}}First Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Second Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Third Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div></div><a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a><a class="right carousel-control" href="#myCarousel" data-slide="next">›</a></div>'
|
||||||
|
$.support.transition = false
|
||||||
|
stop()
|
||||||
|
$(template).on('slide', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
ok(e.direction)
|
||||||
|
ok(e.direction === 'right' || e.direction === 'left')
|
||||||
|
start()
|
||||||
|
}).carousel('next')
|
||||||
|
})
|
||||||
|
|
||||||
test("should fire slide event with relatedTarget", function () {
|
test("should fire slide event with relatedTarget", function () {
|
||||||
var template = '<div id="myCarousel" class="carousel slide"><div class="carousel-inner"><div class="item active"><img alt=""><div class="carousel-caption"><h4>{{_i}}First Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Second Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Third Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div></div><a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a><a class="right carousel-control" href="#myCarousel" data-slide="next">›</a></div>'
|
var template = '<div id="myCarousel" class="carousel slide"><div class="carousel-inner"><div class="item active"><img alt=""><div class="carousel-caption"><h4>{{_i}}First Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Second Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Third Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div></div><a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a><a class="right carousel-control" href="#myCarousel" data-slide="next">›</a></div>'
|
||||||
$.support.transition = false
|
$.support.transition = false
|
||||||
|
5
js/tests/unit/bootstrap-typeahead.js
vendored
5
js/tests/unit/bootstrap-typeahead.js
vendored
@@ -192,17 +192,22 @@ $(function () {
|
|||||||
}).appendTo('body')
|
}).appendTo('body')
|
||||||
, typeahead = $input.data('typeahead')
|
, typeahead = $input.data('typeahead')
|
||||||
, changed = false
|
, changed = false
|
||||||
|
, focus = false
|
||||||
|
, blur = false
|
||||||
|
|
||||||
$input.val('a')
|
$input.val('a')
|
||||||
typeahead.lookup()
|
typeahead.lookup()
|
||||||
|
|
||||||
$input.change(function() { changed = true });
|
$input.change(function() { changed = true });
|
||||||
|
$input.focus(function() { focus = true; blur = false });
|
||||||
|
$input.blur(function() { blur = true; focus = false });
|
||||||
|
|
||||||
$(typeahead.$menu.find('li')[2]).mouseover().click()
|
$(typeahead.$menu.find('li')[2]).mouseover().click()
|
||||||
|
|
||||||
equals($input.val(), 'ac', 'input value was correctly set')
|
equals($input.val(), 'ac', 'input value was correctly set')
|
||||||
ok(!typeahead.$menu.is(':visible'), 'the menu was hidden')
|
ok(!typeahead.$menu.is(':visible'), 'the menu was hidden')
|
||||||
ok(changed, 'a change event was fired')
|
ok(changed, 'a change event was fired')
|
||||||
|
ok(focus && !blur, 'focus is still set')
|
||||||
|
|
||||||
$input.remove()
|
$input.remove()
|
||||||
typeahead.$menu.remove()
|
typeahead.$menu.remove()
|
||||||
|
Reference in New Issue
Block a user