SlickBase.php in Slick Carousel 8.2
File
src/Entity/SlickBase.php
View source
<?php
namespace Drupal\slick\Entity;
use Drupal\Component\Utility\NestedArray;
use Drupal\Core\Config\Entity\ConfigEntityBase;
abstract class SlickBase extends ConfigEntityBase implements SlickBaseInterface {
protected $name;
protected $label;
protected $weight = 0;
protected $options = [];
public function id() {
return $this->name;
}
public function getOptions($group = NULL, $property = NULL) {
if ($group) {
if (is_array($group)) {
return NestedArray::getValue($this->options, (array) $group);
}
elseif (isset($property) && isset($this->options[$group])) {
return isset($this->options[$group][$property]) ? $this->options[$group][$property] : NULL;
}
return isset($this->options[$group]) ? $this->options[$group] : NULL;
}
return $this->options;
}
public function getSettings($ansich = FALSE) {
if ($ansich && isset($this->options['settings'])) {
return $this->options['settings'];
}
return isset($this->options['settings']) ? array_merge(self::defaultSettings(), $this->options['settings']) : self::defaultSettings();
}
public function setSettings(array $settings = []) {
$this->options['settings'] = $settings;
return $this;
}
public function getSetting($name) {
return isset($this
->getSettings()[$name]) ? $this
->getSettings()[$name] : NULL;
}
public function setSetting($name, $value) {
$this->options['settings'][$name] = $value;
return $this;
}
public static function defaultSettings($group = 'settings') {
$settings = self::load('default')->options[$group];
self::removeUnsupportedSettings($settings);
return $settings;
}
public static function removeUnsupportedSettings(array &$settings = []) {
$library = \Drupal::config('slick.settings')
->get('library');
if ($library == 'accessible-slick') {
unset($settings['accessibility']);
unset($settings['focusOnChange']);
}
else {
unset($settings['regionLabel']);
unset($settings['useGroupRole']);
unset($settings['instructionsText']);
unset($settings['useAutoplayToggleButton']);
unset($settings['pauseIcon']);
unset($settings['playIcon']);
unset($settings['arrowsPlacement']);
}
}
public static function loadWithFallback($id) {
$optionset = self::load($id);
if (empty($optionset)) {
$optionset = self::load('default');
}
return $optionset;
}
}
Classes
Name |
Description |
SlickBase |
Defines the Slick configuration entity. |