From 41dc0d7c6808bfb42294f3deae6c848d3d6f0020 Mon Sep 17 00:00:00 2001 From: Campii <dominik.chrzanowski183@gmail.com> Date: Tue, 7 Jun 2022 18:41:25 +0200 Subject: [PATCH] feat: slider has same height like active slide [CustomerReviewsSlider] quiqqer/package-bricks#134 --- bin/Controls/Slider/CustomerReviewsSlider.js | 33 +++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/bin/Controls/Slider/CustomerReviewsSlider.js b/bin/Controls/Slider/CustomerReviewsSlider.js index 2be3d96..6a0157c 100644 --- a/bin/Controls/Slider/CustomerReviewsSlider.js +++ b/bin/Controls/Slider/CustomerReviewsSlider.js @@ -44,6 +44,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/CustomerReviewsSlider', [ */ $onImport: function () { var delay = this.getAttribute('delay'); + var self = this; var options = { type: 'carousel', @@ -54,7 +55,37 @@ define('package/quiqqer/bricks/bin/Controls/Slider/CustomerReviewsSlider', [ options['autoplay'] = delay; } - new Glide('.glide', options).mount(); + var glide = new Glide('.glide', options); + + var GlideElem = document.querySelector('.customerReviewsSlider-slider-wrapper'); + + if (GlideElem) { + + // Automated height on Carousel build + glide.on('build.after', function () { + self.glideHandleHeight(); + }); + + // Automated height on Carousel change + glide.on('run.after', function () { + self.glideHandleHeight(); + }); + + + glide.mount(); + } + }, + + glideHandleHeight: function () { + const activeSlide = document.querySelector('.glide__slide--active'); + const activeSlideHeight = activeSlide ? activeSlide.offsetHeight + 50 : 0; + + const glideTrack = document.querySelector('.customerReviewsSlider-track'); + const glideTrackHeight = glideTrack ? glideTrack.offsetHeight : 0; + + if (activeSlideHeight !== glideTrackHeight) { + glideTrack.style.height = `${activeSlideHeight}px`; + } } }); }); \ No newline at end of file -- GitLab