From 07e0200a730c11ff0f76d8fe2771030502ed402e Mon Sep 17 00:00:00 2001 From: Campii <dominik.chrzanowski183@gmail.com> Date: Mon, 8 Nov 2021 18:38:19 +0100 Subject: [PATCH] feat: Added new options dots position [Basicslider] quiqqer/package-bricks#131 --- bricks.xml | 14 ++++++++++++++ locale.xml | 12 ++++++++++++ src/QUI/Bricks/Controls/Slider/BasicSlider.css | 5 +++++ src/QUI/Bricks/Controls/Slider/BasicSlider.html | 12 +++++++++++- src/QUI/Bricks/Controls/Slider/BasicSlider.php | 5 ++++- 5 files changed, 46 insertions(+), 2 deletions(-) diff --git a/bricks.xml b/bricks.xml index 5b18bfd..fecdb9b 100644 --- a/bricks.xml +++ b/bricks.xml @@ -182,6 +182,20 @@ <locale group="quiqqer/bricks" var="brick.control.basicSlider.navigationDotsShow"/> </setting> + <setting name="navigationDotPosition" type="select"> + <locale group="quiqqer/bricks" + var="brick.basicSlider.navigationDotPosition"/> + + <option value="underSlide"> + <locale group="quiqqer/bricks" + var="brick.basicSlider.navigationDotPosition.underSlide"/> + </option> + <option value="underText"> + <locale group="quiqqer/bricks" + var="brick.basicSlider.navigationDotPosition.underText"/> + </option> + </setting> + <setting name="maxImageWidth" type="number"> <locale group="quiqqer/bricks" var="brick.control.basicSlider.maxImageWidth"/> diff --git a/locale.xml b/locale.xml index 94ad8de..0e69cf1 100644 --- a/locale.xml +++ b/locale.xml @@ -432,6 +432,18 @@ <de><![CDATA[Punktnavigation anzeigen]]></de> <en><![CDATA[Show dots navigation]]></en> </locale> + <locale name="brick.basicSlider.navigationDotPosition"> + <de><![CDATA[Punktnavigation anzeigen]]></de> + <en><![CDATA[Navigation position]]></en> + </locale> + <locale name="brick.basicSlider.navigationDotPosition.underSlide"> + <de><![CDATA[Unter Folie]]></de> + <en><![CDATA[Under slide]]></en> + </locale> + <locale name="brick.basicSlider.navigationDotPosition.underText"> + <de><![CDATA[Unter Text]]></de> + <en><![CDATA[Under text]]></en> + </locale> <locale name="brick.control.basicSlider.maxImageWidth"> <de><![CDATA[Maximale Briete des Bildes]]></de> <en><![CDATA[Maximum image width]]></en> diff --git a/src/QUI/Bricks/Controls/Slider/BasicSlider.css b/src/QUI/Bricks/Controls/Slider/BasicSlider.css index e271132..e1ff313 100644 --- a/src/QUI/Bricks/Controls/Slider/BasicSlider.css +++ b/src/QUI/Bricks/Controls/Slider/BasicSlider.css @@ -39,6 +39,11 @@ flex-direction: row-reverse; } +.basic-slider-dots { + text-align: center; + padding: 0; +} + .basic-slider-dots li { display: inline-block; width: 15px; diff --git a/src/QUI/Bricks/Controls/Slider/BasicSlider.html b/src/QUI/Bricks/Controls/Slider/BasicSlider.html index 2b18f45..cad298d 100644 --- a/src/QUI/Bricks/Controls/Slider/BasicSlider.html +++ b/src/QUI/Bricks/Controls/Slider/BasicSlider.html @@ -14,6 +14,16 @@ <div class="basic-slider-content" style="align-items: {$textPosition};"> <div class="basic-slider-content-container"> {$sliderContent} + + {if $dotsNav && $dotsPosition === 'underText'} + <ul class="basic-slider-dots"> + {foreach from=$images item=Image key=key} + + <li class="basic-slider-dot"></li> + + {/foreach} + </ul> + {/if} </div> </div> @@ -30,7 +40,7 @@ {/foreach} </ul> - {if $dotsNav} + {if $dotsNav && $dotsPosition === 'underSlide'} <ul class="basic-slider-dots"> {foreach from=$images item=Image key=key} diff --git a/src/QUI/Bricks/Controls/Slider/BasicSlider.php b/src/QUI/Bricks/Controls/Slider/BasicSlider.php index d8bca6a..21fccc3 100644 --- a/src/QUI/Bricks/Controls/Slider/BasicSlider.php +++ b/src/QUI/Bricks/Controls/Slider/BasicSlider.php @@ -52,6 +52,7 @@ public function getBody() $sliderContent = $this->getAttribute('sliderContent'); $imgLeft = false; $dotsNav = false; + $dotsPosition = 'underSlide'; if (!$mediaFolder) { return ''; @@ -94,7 +95,8 @@ public function getBody() $maxImageWidth = intval($this->getAttribute('maxImageWidth')); } - $dotsNav = $this->getAttribute('navigationDotsShow'); + $dotsNav = $this->getAttribute('navigationDotsShow'); + $dotsPosition = $this->getAttribute('navigationDotPosition'); // text position switch ($this->getAttribute('textPosition')) { @@ -119,6 +121,7 @@ public function getBody() 'maxImageWidth' => $maxImageWidth, 'textPosition' => $textPosition, 'dotsNav' => $dotsNav, + 'dotsPosition' => $dotsPosition, ]; $Engine->assign($options); -- GitLab