From 909c59926835f60eaed5f683c1d9a91dbd4e9570 Mon Sep 17 00:00:00 2001 From: Henning Leutz <leutz@pcsg.de> Date: Wed, 22 Nov 2017 10:49:08 +0100 Subject: [PATCH] fix: quiqqer/package-slider#22 --- bin/Controls/Slider/Promoslider.js | 40 +++++++++++++++++++----------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/bin/Controls/Slider/Promoslider.js b/bin/Controls/Slider/Promoslider.js index c1b7b2b..bafd961 100644 --- a/bin/Controls/Slider/Promoslider.js +++ b/bin/Controls/Slider/Promoslider.js @@ -3,10 +3,6 @@ * @author www.pcsg.de (Henning Leutz) * * Promo Slider - Slider für eye catching Sachen - * - * @require qui/QUI - * @require qui/controls/Control - * @require URL_OPT_DIR + bin/hammerjs/hammer.min.js */ define('package/quiqqer/bricks/bin/Controls/Slider/Promoslider', [ @@ -95,7 +91,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/Promoslider', [ self.show(event.target.get('data-no')); }; - + var i, len, Dot; for (i = 0, len = desktopSlides.length; i < len; i++) { @@ -110,6 +106,10 @@ define('package/quiqqer/bricks/bin/Controls/Slider/Promoslider', [ Dot.inject(this.$DotsDesktop); this.$desktopdots.push(Dot); + + if (desktopSlides[i].get('data-href') && desktopSlides[i].get('data-href') !== '') { + desktopSlides[i].setStyle('cursor', 'pointer'); + } } if (typeof this.$desktopdots[0] !== 'undefined') { @@ -130,6 +130,10 @@ define('package/quiqqer/bricks/bin/Controls/Slider/Promoslider', [ Dot.inject(this.$DotsMobile); this.$mobiledots.push(Dot); + + if (mobileSlides[i].get('data-href') && mobileSlides[i].get('data-href') !== '') { + mobileSlides[i].setStyle('cursor', 'pointer'); + } } if (typeof this.$mobiledots[0] !== 'undefined') { @@ -141,7 +145,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/Promoslider', [ // keyboard events document.addEvent('keyup', function (event) { - if (event.key == 'left') { + if (event.key === 'left') { self.prev(); return; } @@ -149,18 +153,28 @@ define('package/quiqqer/bricks/bin/Controls/Slider/Promoslider', [ self.next(); }); + // slide clicks + var slideClick = function () { + if (this.get('data-href') && this.get('data-href') !== '') { + window.location = this.get('data-href'); + } + }; + + desktopSlides.addEvent('click', slideClick); + mobileSlides.addEvent('click', slideClick); + // touch events if (this.getAttribute('touch')) { this.$Touch = new Hammer(this.getElm()); this.$Touch.on('swipe', function (ev) { - if (ev.offsetDirection == 4) { + if (ev.offsetDirection === 4) { self.prev(); return; } - if (ev.offsetDirection == 2) { + if (ev.offsetDirection === 2) { self.next(); } }); @@ -283,8 +297,8 @@ define('package/quiqqer/bricks/bin/Controls/Slider/Promoslider', [ if (slideNo < 0) { slideNo = Elm.getElements( - '.quiqqer-bricks-promoslider-slide' - ).length - 1; + '.quiqqer-bricks-promoslider-slide' + ).length - 1; } return this.show(slideNo); @@ -409,11 +423,9 @@ define('package/quiqqer/bricks/bin/Controls/Slider/Promoslider', [ this.$hideSheetToLeft(Current).then(function () { return this.$showSheetFromRight(Slide); - }.bind(this)).then(function () { resolve(); this.$running = false; - }.bind(this)); }.bind(this)); @@ -530,7 +542,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/Promoslider', [ return new Promise(function (resolve) { (function () { - if (Node.getStyle('position') == 'absolute') { + if (Node.getStyle('position') === 'absolute') { var oldPos = Node.getStyle('left').toInt(); moofx(Node).animate({ @@ -580,7 +592,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/Promoslider', [ return new Promise(function (resolve) { (function () { - if (Node.getStyle('position') == 'absolute') { + if (Node.getStyle('position') === 'absolute') { var origLeft = Node.getStyle('left').toInt(); Node.setStyle('left', origLeft + 50); -- GitLab