Skip to content
Snippets Groups Projects
Commit b5fefa12 authored by Cedric Hillion's avatar Cedric Hillion
Browse files

Merge branch '3360826-add-mode-option' into '1.1.x'

feat: (Issue #3360826) Mode option - Carousel or Gallery

See merge request !16
parents 53abfa22 96f08704
No related branches found
No related tags found
No related merge requests found
Pipeline #40917 skipped
...@@ -140,6 +140,18 @@ class TinySliderFieldFormatter extends EntityReferenceFormatterBase implements C ...@@ -140,6 +140,18 @@ class TinySliderFieldFormatter extends EntityReferenceFormatterBase implements C
'#description' => $this->t('Gutter from items.'), '#description' => $this->t('Gutter from items.'),
]; ];
// mode.
$element['mode'] = [
'#type' => 'select',
'#title' => $this->t('Mode'),
'#options' => [
'carousel' => $this->t('Carousel'),
'gallery' => $this->t('Gallery'),
],
'#default_value' => $this->getSetting('mode'),
'#description' => $this->t('With carousel everything slides to the side, while gallery uses fade animations and changes all slides at once.'),
];
// Navigation. // Navigation.
$element['nav'] = [ $element['nav'] = [
'#type' => 'checkbox', '#type' => 'checkbox',
...@@ -418,6 +430,7 @@ class TinySliderFieldFormatter extends EntityReferenceFormatterBase implements C ...@@ -418,6 +430,7 @@ class TinySliderFieldFormatter extends EntityReferenceFormatterBase implements C
$summary = []; $summary = [];
$itemsdisplay = $this->getSetting('items') ? $this->getSetting('items') : 3; $itemsdisplay = $this->getSetting('items') ? $this->getSetting('items') : 3;
$mode = $this->getSetting('mode') ? $this->getSetting('mode') : 'carousel';
$nav = $this->getSetting('nav') ? 'TRUE' : 'FALSE'; $nav = $this->getSetting('nav') ? 'TRUE' : 'FALSE';
$navposition = $this->getSetting('navPosition') ? $this->getSetting('navPosition') : 'top'; $navposition = $this->getSetting('navPosition') ? $this->getSetting('navPosition') : 'top';
$navasthumbnails = $this->getSetting('navAsThumbnails') ? 'TRUE' : 'FALSE'; $navasthumbnails = $this->getSetting('navAsThumbnails') ? 'TRUE' : 'FALSE';
...@@ -443,6 +456,7 @@ class TinySliderFieldFormatter extends EntityReferenceFormatterBase implements C ...@@ -443,6 +456,7 @@ class TinySliderFieldFormatter extends EntityReferenceFormatterBase implements C
$summary[] = $this->t('Link image to: ') . $this->getSetting('image_link') ?? $this->t('Nothing'); $summary[] = $this->t('Link image to: ') . $this->getSetting('image_link') ?? $this->t('Nothing');
$summary[] = $this->t('Amount of items displayed: ') . $itemsdisplay; $summary[] = $this->t('Amount of items displayed: ') . $itemsdisplay;
$summary[] = $this->t('Gutter from items: ') . $this->getSetting('gutter') . 'px'; $summary[] = $this->t('Gutter from items: ') . $this->getSetting('gutter') . 'px';
$summary[] = $this->t('Mode: ') . $mode;
$summary[] = $this->t('Display nav: ') . $nav; $summary[] = $this->t('Display nav: ') . $nav;
$summary[] = $this->t('Nav position: ') . $navposition; $summary[] = $this->t('Nav position: ') . $navposition;
$summary[] = $this->t('Nav as thumbnails: ') . $navasthumbnails; $summary[] = $this->t('Nav as thumbnails: ') . $navasthumbnails;
......
...@@ -67,6 +67,17 @@ class TinySlider extends StylePluginBase { ...@@ -67,6 +67,17 @@ class TinySlider extends StylePluginBase {
'#default_value' => $this->options['gutter'], '#default_value' => $this->options['gutter'],
'#description' => $this->t('Gutter from items.'), '#description' => $this->t('Gutter from items.'),
]; ];
// Mode.
$form['mode'] = [
'#type' => 'select',
'#title' => $this->t('Mode'),
'#options' => [
'carousel' => $this->t('Carousel'),
'gallery' => $this->t('Gallery'),
],
'#default_value' => $this->options['mode'],
'#description' => $this->t('With carousel everything slides to the side, while gallery uses fade animations and changes all slides at once.'),
];
// Navigation. // Navigation.
$form['nav'] = [ $form['nav'] = [
'#type' => 'checkbox', '#type' => 'checkbox',
......
...@@ -17,6 +17,7 @@ class TinySliderGlobal { ...@@ -17,6 +17,7 @@ class TinySliderGlobal {
'items' => 1, 'items' => 1,
'slideBy' => 'page', 'slideBy' => 'page',
'gutter' => '0', 'gutter' => '0',
'mode' => 'carousel',
'nav' => TRUE, 'nav' => TRUE,
'navPosition' => 'top', 'navPosition' => 'top',
'navAsThumbnails' => FALSE, 'navAsThumbnails' => FALSE,
...@@ -50,8 +51,8 @@ class TinySliderGlobal { ...@@ -50,8 +51,8 @@ class TinySliderGlobal {
public static function formatSettings($settings) { public static function formatSettings($settings) {
$settings['items'] = (int) $settings['items']; $settings['items'] = (int) $settings['items'];
$settings['slideBy'] = (string) $settings['slideBy']; $settings['slideBy'] = (string) $settings['slideBy'];
$settings['gutter'] = (int) $settings['gutter']; $settings['gutter'] = (int) $settings['gutter'];
$settings['mode'] = (string) $settings['mode'];
$settings['nav'] = (bool) $settings['nav']; $settings['nav'] = (bool) $settings['nav'];
$settings['navPosition'] = (string) $settings['navPosition']; $settings['navPosition'] = (string) $settings['navPosition'];
$settings['navAsThumbnails'] = (bool) $settings['navAsThumbnails']; $settings['navAsThumbnails'] = (bool) $settings['navAsThumbnails'];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment