106 lines
3.0 KiB
PHP
106 lines
3.0 KiB
PHP
<?php
|
|
|
|
|
|
namespace Nextend\SmartSlider3\Renderable;
|
|
|
|
|
|
use Nextend\Framework\View\Html;
|
|
use Nextend\SmartSlider3\Renderable\Component\ComponentCol;
|
|
use Nextend\SmartSlider3\Renderable\Component\ComponentContent;
|
|
use Nextend\SmartSlider3\Renderable\Component\ComponentLayer;
|
|
use Nextend\SmartSlider3\Renderable\Component\ComponentRow;
|
|
use Nextend\SmartSlider3\Renderable\Item\AbstractItemFrontend;
|
|
|
|
abstract class AbstractRenderableOwner {
|
|
|
|
public $underEdit = false;
|
|
|
|
/**
|
|
* @var AbstractRenderable
|
|
*/
|
|
protected $renderable;
|
|
|
|
/** @var string Used for generators when multiple slides might contain the same unique class */
|
|
public $unique = '';
|
|
|
|
/**
|
|
* @return AbstractRenderable
|
|
*/
|
|
public function getRenderable() {
|
|
return $this->renderable;
|
|
}
|
|
|
|
public abstract function getElementID();
|
|
|
|
public function isComponentVisible($generatorVisibleVariable) {
|
|
return true;
|
|
}
|
|
|
|
public function fill($value) {
|
|
return $value;
|
|
}
|
|
|
|
public function fillLayers(&$layers) {
|
|
for ($i = 0; $i < count($layers); $i++) {
|
|
if (isset($layers[$i]['type'])) {
|
|
switch ($layers[$i]['type']) {
|
|
case 'slide':
|
|
$this->fillLayers($layers[$i]['layers']);
|
|
break;
|
|
case 'content':
|
|
ComponentContent::getFilled($this, $layers[$i]);
|
|
break;
|
|
case 'row':
|
|
ComponentRow::getFilled($this, $layers[$i]);
|
|
break;
|
|
case 'col':
|
|
ComponentCol::getFilled($this, $layers[$i]);
|
|
break;
|
|
case 'group':
|
|
$this->fillLayers($layers[$i]['layers']);
|
|
break;
|
|
default:
|
|
ComponentLayer::getFilled($this, $layers[$i]);
|
|
}
|
|
} else {
|
|
ComponentLayer::getFilled($this, $layers[$i]);
|
|
}
|
|
}
|
|
}
|
|
|
|
public function isLazyLoadingEnabled() {
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* @param AbstractItemFrontend $item
|
|
* @param $src
|
|
* @param array $attributes
|
|
*
|
|
* @return string
|
|
*/
|
|
public function renderImage($item, $src, $attributes = array(), $pictureAttributes = array()) {
|
|
|
|
return Html::image($src, $attributes);
|
|
}
|
|
|
|
public abstract function addScript($script, $name = false);
|
|
|
|
public abstract function isScriptAdded($name);
|
|
|
|
public abstract function addLess($file, $context);
|
|
|
|
public abstract function addCSS($css);
|
|
|
|
public abstract function addDeviceCSS($device, $css);
|
|
|
|
public abstract function addFont($font, $mode, $pre = null);
|
|
|
|
public abstract function addStyle($style, $mode, $pre = null);
|
|
|
|
public abstract function addImage($imageUrl);
|
|
|
|
public abstract function isAdmin();
|
|
|
|
public abstract function getAvailableDevices();
|
|
} |