File "OwlSetting.php"
Full Path: /home/attunedd/public_html/wp-content/plugins/carousel-slider/includes/Abstracts/OwlSetting.php
File size: 1.97 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace CarouselSlider\Abstracts;
use CarouselSlider\Helper;
/**
* OwlSetting class
* The owl carousel javascript option generator.
*
* @package CarouselSlider/Abstracts
*/
class OwlSetting {
/**
* Owl settings
*
* @var array
*/
protected $settings = [];
/**
* Get slider settings
*
* @var SliderSetting|null
*/
protected $slider_setting = null;
/**
* Class constructor
*
* @param SliderSetting $slider_setting slider setting class.
*/
public function __construct( SliderSetting $slider_setting ) {
$this->slider_setting = $slider_setting;
$this->read( $slider_setting );
}
/**
* Read settings
*
* @param SliderSetting $setting slider setting class.
*
* @return void
*/
public function read( SliderSetting $setting ) {
$this->settings = [
'nav' => $setting->get_nav_visibility() !== 'never',
'dots' => $setting->get_pagination_visibility() !== 'never',
'slideBy' => $setting->get_nav_steps(),
'stagePadding' => $setting->get_stage_padding(),
'margin' => $setting->get_space_between(),
'loop' => $setting->is_loop(),
'lazyLoad' => $setting->lazy_load_image(),
'autoplay' => $setting->is_autoplay(),
'autoplayTimeout' => $setting->get_autoplay_delay(),
'autoplaySpeed' => $setting->get_autoplay_speed(),
'autoplayHoverPause' => $setting->has_autoplay_hover_pause(),
'autoWidth' => $setting->is_auto_width(),
];
if ( $this->slider_setting->is_slider() ) {
$this->settings['items'] = 1;
} else {
foreach ( $this->slider_setting->get_slides_per_view() as $prefix => $item ) {
$this->settings['responsive'][ Helper::get_breakpoint_width( $prefix ) ] = [ 'items' => $item ];
}
}
}
/**
* Get all settings
*
* @return array
*/
public function all(): array {
return apply_filters( 'carousel_slider/settings/owl_settings', $this->settings, $this->slider_setting );
}
}