From: Johann-S Date: Wed, 27 Mar 2019 12:37:04 +0000 (+0100) Subject: Reset carousel touch delta x to prevent click transformation in swipe (#28558) X-Git-Tag: v5.0.0-alpha1~1166 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1752addadfbb538f0f1bfb1ed5792a0c162b1a3b;p=thirdparty%2Fbootstrap.git Reset carousel touch delta x to prevent click transformation in swipe (#28558) --- diff --git a/js/src/carousel.js b/js/src/carousel.js index 3a9c4a47cb..1a185d0378 100644 --- a/js/src/carousel.js +++ b/js/src/carousel.js @@ -257,6 +257,8 @@ class Carousel { const direction = absDeltax / this.touchDeltaX + this.touchDeltaX = 0 + // swipe left if (direction > 0) { this.prev() diff --git a/js/tests/unit/carousel.js b/js/tests/unit/carousel.js index 02a0c8a777..f92d87c612 100644 --- a/js/tests/unit/carousel.js +++ b/js/tests/unit/carousel.js @@ -1153,7 +1153,7 @@ $(function () { } document.documentElement.ontouchstart = $.noop - assert.expect(3) + assert.expect(4) Simulator.setType('pointer') var $styles = $(stylesCarousel).appendTo('head') @@ -1182,6 +1182,7 @@ $(function () { assert.ok(true, 'slid event fired') assert.ok(!$item.hasClass('active')) assert.ok(spy.called) + assert.strictEqual(carousel.touchDeltaX, 0) $styles.remove() delete document.documentElement.ontouchstart done() @@ -1195,7 +1196,7 @@ $(function () { }) QUnit.test('should allow swipeleft and call next with touch events', function (assert) { - assert.expect(3) + assert.expect(4) clearPointerEvents() Simulator.setType('touch') document.documentElement.ontouchstart = $.noop @@ -1225,6 +1226,7 @@ $(function () { assert.ok(true, 'slid event fired') assert.ok(!$item.hasClass('active')) assert.ok(spy.called) + assert.strictEqual(carousel.touchDeltaX, 0) restorePointerEvents() delete document.documentElement.ontouchstart done()