38 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
 | 
						|
namespace Nextend\SmartSlider3\Slider\Feature;
 | 
						|
 | 
						|
 | 
						|
#[\AllowDynamicProperties]
 | 
						|
class LazyLoad {
 | 
						|
 | 
						|
    private $slider;
 | 
						|
 | 
						|
    public $isEnabled = 0, $neighborCount = 0, $layerImageOptimize = 0, $layerImageWidthNormal = 1400, $layerImageWidthTablet = 800, $layerImageWidthMobile = 425;
 | 
						|
 | 
						|
    public function __construct($slider) {
 | 
						|
 | 
						|
        $this->slider = $slider;
 | 
						|
 | 
						|
        $this->isEnabled     = intval($slider->params->get('imageload', 0));
 | 
						|
        $this->neighborCount = intval($slider->params->get('imageloadNeighborSlides', 0));
 | 
						|
 | 
						|
        $this->layerImageOptimize = intval($slider->params->get('layer-image-optimize', 0)) && !$slider->isAdmin;
 | 
						|
        if ($this->layerImageOptimize) {
 | 
						|
            $this->layerImageWidthNormal = $slider->params->get('layer-image-width-normal', 1400);
 | 
						|
            $this->layerImageWidthTablet = $slider->params->get('layer-image-width-tablet', 800);
 | 
						|
            $this->layerImageWidthMobile = $slider->params->get('layer-image-width-mobile', 425);
 | 
						|
        }
 | 
						|
 | 
						|
        $this->layerImageSizeBase64     = intval($slider->params->get('layer-image-base64', 0)) && !$slider->isAdmin;
 | 
						|
        $this->layerImageSizeBase64Size = max(0, intval($slider->params->get('layer-image-base64-size', 5))) * 1024;
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    public function makeJavaScriptProperties(&$properties) {
 | 
						|
 | 
						|
        $properties['lazyLoad']         = $this->isEnabled;
 | 
						|
        $properties['lazyLoadNeighbor'] = $this->neighborCount;
 | 
						|
    }
 | 
						|
} |