1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-08-17 19:06:40 +02:00

Remove the show delay for our toast plugin

This commit is contained in:
Johann-S
2018-09-18 14:37:40 +02:00
committed by XhmikosR
parent 4cac833447
commit 557d5ac74d
4 changed files with 17 additions and 63 deletions

View File

@@ -38,16 +38,13 @@ const Toast = (($) => {
const DefaultType = {
animation : 'boolean',
autohide : 'boolean',
delay : '(number|object)'
delay : 'number'
}
const Default = {
animation : true,
autohide : true,
delay : {
show: 0,
hide: 500
}
delay : 500
}
const Selector = {
@@ -95,19 +92,16 @@ const Toast = (($) => {
}
}
this._timeout = setTimeout(() => {
this._element.classList.add(ClassName.SHOW)
this._element.classList.add(ClassName.SHOW)
if (this._config.animation) {
const transitionDuration = Util.getTransitionDurationFromElement(this._element)
if (this._config.animation) {
const transitionDuration = Util.getTransitionDurationFromElement(this._element)
$(this._element)
.one(Util.TRANSITION_END, complete)
.emulateTransitionEnd(transitionDuration)
} else {
complete()
}
}, this._config.delay.show)
$(this._element)
.one(Util.TRANSITION_END, complete)
.emulateTransitionEnd(transitionDuration)
} else {
complete()
}
}
hide(withoutTimeout) {
@@ -122,7 +116,7 @@ const Toast = (($) => {
} else {
this._timeout = setTimeout(() => {
this._close()
}, this._config.delay.hide)
}, this._config.delay)
}
}
@@ -150,13 +144,6 @@ const Toast = (($) => {
...typeof config === 'object' && config ? config : {}
}
if (typeof config.delay === 'number') {
config.delay = {
show: config.delay,
hide: config.delay
}
}
Util.typeCheckConfig(
NAME,
config,

View File

@@ -184,28 +184,6 @@ $(function () {
.bootstrapToast('show')
})
QUnit.test('should allow to pass delay object in html', function (assert) {
assert.expect(1)
var done = assert.async()
var toastHtml =
'<div class="toast" data-delay=\'{"show": 0, "hide": 1}\'>' +
'<div class="toast-body">' +
'a simple toast' +
'</div>' +
'</div>'
var $toast = $(toastHtml)
.bootstrapToast()
.appendTo($('#qunit-fixture'))
$toast.on('shown.bs.toast', function () {
assert.strictEqual($toast.hasClass('show'), true)
done()
})
.bootstrapToast('show')
})
QUnit.test('should allow to config in js', function (assert) {
assert.expect(1)
var done = assert.async()
@@ -219,10 +197,7 @@ $(function () {
var $toast = $(toastHtml)
.bootstrapToast({
delay: {
show: 0,
hide: 1
}
delay: 1
})
.appendTo($('#qunit-fixture'))

View File

@@ -26,7 +26,7 @@
</div>
<div class="notifications">
<div id="toastAutoHide" class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div id="toastAutoHide" class="toast" role="alert" aria-live="assertive" aria-atomic="true" data-delay="2000">
<div class="toast-header">
<img class="rounded mr-2" data-src="holder.js/20x20?size=1&text=.&bg=#007aff" alt="">
<strong class="mr-auto">Bootstrap</strong>
@@ -60,10 +60,6 @@
<script src="../../dist/toast.js"></script>
<script>
$(function () {
$('#toastAutoHide').attr('data-delay', JSON.stringify({
show: 0,
hide: 2000
}))
$('.toast').toast()
$('#btnShowToast').on('click', function () {