class Slick in Slick Carousel 8
Same name and namespace in other branches
- 8.2 src/Entity/Slick.php \Drupal\slick\Entity\Slick
- 7.3 src/Entity/Slick.php \Drupal\slick\Entity\Slick
Defines the Slick configuration entity.
Plugin annotation
@ConfigEntityType(
id = "slick",
label = @Translation("Slick optionset"),
list_path = "admin/config/media/slick",
config_prefix = "optionset",
entity_keys = {
"id" = "name",
"label" = "label",
"status" = "status",
"weight" = "weight",
},
config_export = {
"id",
"name",
"label",
"status",
"weight",
"group",
"skin",
"breakpoints",
"optimized",
"options",
}
)
Hierarchy
- class \Drupal\Core\Entity\EntityBase implements EntityInterface uses RefinableCacheableDependencyTrait, DependencySerializationTrait
- class \Drupal\Core\Config\Entity\ConfigEntityBase implements ConfigEntityInterface uses SynchronizableEntityTrait, PluginDependencyTrait
- class \Drupal\slick\Entity\Slick implements SlickInterface
- class \Drupal\Core\Config\Entity\ConfigEntityBase implements ConfigEntityInterface uses SynchronizableEntityTrait, PluginDependencyTrait
Expanded class hierarchy of Slick
9 files declare their use of Slick
- slick.api.php in ./
slick.api.php - Hooks and API provided by the Slick module.
- slick.theme.inc in templates/
slick.theme.inc - Hooks and preprocess functions for the Slick module.
- SlickCrudTest.php in tests/
src/ Kernel/ SlickCrudTest.php - SlickForm.php in slick_ui/
src/ Form/ SlickForm.php - SlickFormatter.php in src/
SlickFormatter.php
3 string references to 'Slick'
- slick.info.yml in ./
slick.info.yml - slick.info.yml
- slick_ui.info.yml in slick_ui/
slick_ui.info.yml - slick_ui/slick_ui.info.yml
- slick_ui.links.menu.yml in slick_ui/
slick_ui.links.menu.yml - slick_ui/slick_ui.links.menu.yml
File
- src/
Entity/ Slick.php, line 37
Namespace
Drupal\slick\EntityView source
class Slick extends ConfigEntityBase implements SlickInterface {
/**
* The legacy CTools ID for the configurable optionset.
*
* @var string
*/
protected $name;
/**
* The human-readable name for the optionset.
*
* @var string
*/
protected $label;
/**
* The weight to re-arrange the order of slick optionsets.
*
* @var int
*/
protected $weight = 0;
/**
* The optionset group for easy selections.
*
* @var string
*/
protected $group = '';
/**
* The skin name for the optionset.
*
* @var string
*/
protected $skin = '';
/**
* The number of breakpoints for the optionset.
*
* @var int
*/
protected $breakpoints = 0;
/**
* The flag indicating to optimize the stored options by removing defaults.
*
* @var bool
*/
protected $optimized = FALSE;
/**
* The plugin instance options.
*
* @var array
*/
protected $options = [];
/**
* The slick HTML ID.
*
* @var int
*/
private static $slickId;
/**
* Overrides Drupal\Core\Entity\Entity::id().
*/
public function id() {
return $this->name;
}
/**
* {@inheritdoc}
*/
public function getSkin() {
return $this->skin;
}
/**
* {@inheritdoc}
*/
public function getBreakpoints() {
return $this->breakpoints;
}
/**
* {@inheritdoc}
*/
public function getGroup() {
return $this->group;
}
/**
* {@inheritdoc}
*/
public function optimized() {
return $this->optimized;
}
/**
* {@inheritdoc}
*/
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 $this->options[$group];
}
return $this->options;
}
/**
* {@inheritdoc}
*/
public function getSettings() {
// With the Optimized options, all defaults are cleaned out, merge em.
return isset($this->options['settings']) ? array_merge(self::defaultSettings(), $this->options['settings']) : self::defaultSettings();
}
/**
* {@inheritdoc}
*/
public function setSettings(array $settings = []) {
$this->options['settings'] = $settings;
return $this;
}
/**
* {@inheritdoc}
*/
public function getSetting($name) {
return isset($this
->getSettings()[$name]) ? $this
->getSettings()[$name] : NULL;
}
/**
* {@inheritdoc}
*/
public function setSetting($name, $value) {
$this->options['settings'][$name] = $value;
return $this;
}
/**
* {@inheritdoc}
*/
public static function defaultSettings($group = 'settings') {
return self::load('default')->options[$group];
}
/**
* Returns the Slick responsive settings.
*
* @return array
* The responsive options.
*/
public function getResponsiveOptions() {
if (empty($this->breakpoints)) {
return FALSE;
}
$options = [];
if (isset($this->options['responsives']['responsive'])) {
$responsives = $this->options['responsives'];
if ($responsives['responsive']) {
foreach ($responsives['responsive'] as $delta => $responsive) {
if (empty($responsives['responsive'][$delta]['breakpoint'])) {
unset($responsives['responsive'][$delta]);
}
if (isset($responsives['responsive'][$delta])) {
$options[$delta] = $responsive;
}
}
}
}
return $options;
}
/**
* Sets the Slick responsive settings.
*
* @return $this
* The class instance that this method is called on.
*/
public function setResponsiveSettings($values, $delta = 0, $key = 'settings') {
$this->options['responsives']['responsive'][$delta][$key] = $values;
return $this;
}
/**
* Strip out options containing default values so to have real clean JSON.
*
* @return array
* The cleaned out settings.
*/
public function removeDefaultValues(array $js) {
$config = [];
$defaults = self::defaultSettings();
// Remove wasted dependent options if disabled, empty or not.
$this
->removeWastedDependentOptions($js);
$config = array_diff_assoc($js, $defaults);
// Remove empty lazyLoad, or left to default ondemand, to avoid JS error.
if (empty($config['lazyLoad'])) {
unset($config['lazyLoad']);
}
// Do not pass arrows HTML to JSON object as some are enforced.
$excludes = [
'downArrow',
'downArrowTarget',
'downArrowOffset',
'prevArrow',
'nextArrow',
];
foreach ($excludes as $key) {
unset($config[$key]);
}
// Clean up responsive options if similar to defaults.
if ($responsives = $this
->getResponsiveOptions()) {
$cleaned = [];
foreach ($responsives as $key => $responsive) {
$cleaned[$key]['breakpoint'] = $responsives[$key]['breakpoint'];
// Destroy responsive slick if so configured.
if (!empty($responsives[$key]['unslick'])) {
$cleaned[$key]['settings'] = 'unslick';
unset($responsives[$key]['unslick']);
}
else {
// Remove wasted dependent options if disabled, empty or not.
$this
->removeWastedDependentOptions($responsives[$key]['settings']);
$cleaned[$key]['settings'] = array_diff_assoc($responsives[$key]['settings'], $defaults);
}
}
$config['responsive'] = $cleaned;
}
return $config;
}
/**
* Removes wasted dependent options, even if not empty.
*/
public function removeWastedDependentOptions(array &$js) {
foreach (self::getDependentOptions() as $key => $option) {
if (isset($js[$key]) && empty($js[$key])) {
foreach ($option as $dependent) {
unset($js[$dependent]);
}
}
}
if (!empty($js['useCSS']) && !empty($js['cssEaseBezier'])) {
$js['cssEase'] = $js['cssEaseBezier'];
}
unset($js['cssEaseOverride'], $js['cssEaseBezier']);
}
/**
* Defines the dependent options.
*
* @return array
* The dependent options.
*/
public static function getDependentOptions() {
$down_arrow = [
'downArrowTarget',
'downArrowOffset',
];
return [
'arrows' => [
'prevArrow',
'nextArrow',
'downArrow',
] + $down_arrow,
'downArrow' => $down_arrow,
'autoplay' => [
'pauseOnHover',
'pauseOnDotsHover',
'autoplaySpeed',
],
'centerMode' => [
'centerPadding',
],
'dots' => [
'dotsClass',
'appendDots',
],
'swipe' => [
'swipeToSlide',
],
'useCSS' => [
'cssEase',
'cssEaseBezier',
'cssEaseOverride',
],
'vertical' => [
'verticalSwiping',
],
];
}
/**
* Returns the trusted HTML ID of a single slick instance.
*
* @return string
* The html ID.
*
* @todo: Consider Blazy::getHtmlId() instead.
*/
public static function getHtmlId($string = 'slick', $id = '') {
if (!isset(static::$slickId)) {
static::$slickId = 0;
}
// Do not use dynamic Html::getUniqueId, otherwise broken asnavfors.
return empty($id) ? Html::getId($string . '-' . ++static::$slickId) : strip_tags($id);
}
/**
* Returns HTML or layout related settings to shut up notices.
*
* @return array
* The default settings.
*/
public static function htmlSettings() {
return [
'cache' => 0,
'current_view_mode' => '',
'display' => 'main',
'grid' => 0,
'id' => '',
'nav' => FALSE,
'navpos' => FALSE,
'media_switch' => '',
'optionset' => 'default',
'ratio' => '',
'skin' => '',
'unslick' => FALSE,
'vanilla' => FALSE,
'vertical' => FALSE,
'vertical_tn' => FALSE,
'view_name' => '',
];
}
/**
* Defines JS options required by theme_slick(), used with optimized option.
*/
public static function jsSettings() {
return [
'asNavFor' => '',
'downArrowTarget' => '',
'downArrowOffset' => '',
'lazyLoad' => 'ondemand',
'prevArrow' => 'Previous',
'nextArrow' => 'Next',
'rows' => 1,
'slidesPerRow' => 1,
'slide' => '',
'slidesToShow' => 1,
'vertical' => FALSE,
];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CacheableDependencyTrait:: |
protected | property | Cache contexts. | |
CacheableDependencyTrait:: |
protected | property | Cache max-age. | |
CacheableDependencyTrait:: |
protected | property | Cache tags. | |
CacheableDependencyTrait:: |
protected | function | Sets cacheability; useful for value object constructors. | |
ConfigEntityBase:: |
private | property | Whether the config is being deleted by the uninstall process. | |
ConfigEntityBase:: |
protected | property | The language code of the entity's default language. | |
ConfigEntityBase:: |
protected | property | The original ID of the configuration entity. | |
ConfigEntityBase:: |
protected | property | The enabled/disabled status of the configuration entity. | 4 |
ConfigEntityBase:: |
protected | property | Third party entity settings. | |
ConfigEntityBase:: |
protected | property | Trust supplied data and not use configuration schema on save. | |
ConfigEntityBase:: |
protected | property | The UUID for this entity. | |
ConfigEntityBase:: |
protected | property | Information maintained by Drupal core about configuration. | |
ConfigEntityBase:: |
protected | function | Overrides \Drupal\Core\Entity\DependencyTrait:addDependency(). | |
ConfigEntityBase:: |
public | function |
Calculates dependencies and stores them in the dependency property. Overrides ConfigEntityInterface:: |
13 |
ConfigEntityBase:: |
public | function |
Creates a duplicate of the entity. Overrides EntityBase:: |
1 |
ConfigEntityBase:: |
public | function |
Disables the configuration entity. Overrides ConfigEntityInterface:: |
1 |
ConfigEntityBase:: |
public | function |
Enables the configuration entity. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Returns the value of a property. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Returns the cache tags that should be used to invalidate caches. Overrides EntityBase:: |
1 |
ConfigEntityBase:: |
public | function |
Gets the configuration dependency name. Overrides EntityBase:: |
|
ConfigEntityBase:: |
protected static | function | Gets the configuration manager. | |
ConfigEntityBase:: |
public | function |
Gets the configuration target identifier for the entity. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Gets the configuration dependencies. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Gets the original ID. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Gets the list of third parties that store information. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
public | function |
Gets the value of a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
public | function |
Gets all third-party settings of a given module. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
protected | function | Gets the typed config manager. | |
ConfigEntityBase:: |
public | function |
Gets whether on not the data is trusted. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
protected static | function |
Override to never invalidate the individual entities' cache tags; the
config system already invalidates them. Overrides EntityBase:: |
|
ConfigEntityBase:: |
protected | function |
Override to never invalidate the entity's cache tag; the config system
already invalidates it. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Checks whether this entity is installable. Overrides ConfigEntityInterface:: |
2 |
ConfigEntityBase:: |
public | function |
Overrides Entity::isNew(). Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Returns whether this entity is being changed during the uninstall process. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Deprecated way of generating a link to the entity. See toLink(). Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Informs the entity that entities it depends on will be deleted. Overrides ConfigEntityInterface:: |
7 |
ConfigEntityBase:: |
public static | function |
Acts on entities before they are deleted and before hooks are invoked. Overrides EntityBase:: |
8 |
ConfigEntityBase:: |
public | function |
Acts on an entity before the presave hook is invoked. Overrides EntityBase:: |
13 |
ConfigEntityBase:: |
public | function |
Saves an entity permanently. Overrides EntityBase:: |
1 |
ConfigEntityBase:: |
public | function |
Sets the value of a property. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Sets the original ID. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Sets the status of the configuration entity. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Sets the value of a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
public | function | ||
ConfigEntityBase:: |
public static | function | Helper callback for uasort() to sort configuration entities by weight and label. | 6 |
ConfigEntityBase:: |
public | function |
Returns whether the configuration entity is enabled. Overrides ConfigEntityInterface:: |
4 |
ConfigEntityBase:: |
public | function |
Gets an array of all property values. Overrides EntityBase:: |
2 |
ConfigEntityBase:: |
public | function |
Gets the URL object for the entity. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Sets that the data should be trusted. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Unsets a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
public | function |
Gets the public URL for this entity. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Gets the URL object for the entity. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Constructs an Entity object. Overrides EntityBase:: |
10 |
ConfigEntityBase:: |
public | function |
Overrides EntityBase:: |
4 |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | Aliased as: traitSleep | 1 |
DependencySerializationTrait:: |
public | function | 2 | |
DependencyTrait:: |
protected | property | The object's dependencies. | |
DependencyTrait:: |
protected | function | Adds multiple dependencies. | |
DependencyTrait:: |
protected | function | Adds a dependency. Aliased as: addDependencyTrait | |
EntityBase:: |
protected | property | Boolean indicating whether the entity should be forced to be new. | |
EntityBase:: |
protected | property | The entity type. | |
EntityBase:: |
protected | property | A typed data object wrapping this entity. | |
EntityBase:: |
public | function |
Checks data value access. Overrides AccessibleInterface:: |
1 |
EntityBase:: |
public | function |
Gets the bundle of the entity. Overrides EntityInterface:: |
1 |
EntityBase:: |
public static | function |
Constructs a new entity object, without permanently saving it. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Deletes an entity permanently. Overrides EntityInterface:: |
2 |
EntityBase:: |
public | function |
Enforces an entity to be new. Overrides EntityInterface:: |
|
EntityBase:: |
protected | function | Gets the entity manager. | |
EntityBase:: |
protected | function | Gets the entity type bundle info service. | |
EntityBase:: |
protected | function | Gets the entity type manager. | |
EntityBase:: |
public | function |
The cache contexts associated with this object. Overrides CacheableDependencyTrait:: |
|
EntityBase:: |
public | function |
The maximum age for which this object may be cached. Overrides CacheableDependencyTrait:: |
|
EntityBase:: |
public | function |
The cache tags associated with this object. Overrides CacheableDependencyTrait:: |
|
EntityBase:: |
public | function |
Gets the key that is used to store configuration dependencies. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the entity type definition. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the ID of the type of the entity. Overrides EntityInterface:: |
|
EntityBase:: |
protected | function | The list cache tags to invalidate for this entity. | |
EntityBase:: |
public | function |
Gets a typed data object for this entity object. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Indicates if a link template exists for a given key. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the label of the entity. Overrides EntityInterface:: |
6 |
EntityBase:: |
public | function |
Gets the language of the entity. Overrides EntityInterface:: |
1 |
EntityBase:: |
protected | function | Gets the language manager. | |
EntityBase:: |
protected | function | Gets an array link templates. | 1 |
EntityBase:: |
public static | function |
Loads an entity. Overrides EntityInterface:: |
|
EntityBase:: |
public static | function |
Loads one or more entities. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Acts on a created entity before hooks are invoked. Overrides EntityInterface:: |
4 |
EntityBase:: |
public static | function |
Acts on deleted entities before the delete hook is invoked. Overrides EntityInterface:: |
16 |
EntityBase:: |
public static | function |
Acts on loaded entities. Overrides EntityInterface:: |
2 |
EntityBase:: |
public | function |
Acts on a saved entity before the insert or update hook is invoked. Overrides EntityInterface:: |
14 |
EntityBase:: |
public static | function |
Changes the values of an entity before it is created. Overrides EntityInterface:: |
5 |
EntityBase:: |
public | function |
Gets a list of entities referenced by this entity. Overrides EntityInterface:: |
1 |
EntityBase:: |
public | function |
Generates the HTML for a link to this entity. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets a list of URI relationships supported by this entity. Overrides EntityInterface:: |
|
EntityBase:: |
protected | function | Gets an array of placeholders for this entity. | 2 |
EntityBase:: |
public | function |
Gets the entity UUID (Universally Unique Identifier). Overrides EntityInterface:: |
1 |
EntityBase:: |
protected | function | Gets the UUID generator. | |
PluginDependencyTrait:: |
protected | function | Calculates and adds dependencies of a specific plugin instance. | 1 |
PluginDependencyTrait:: |
protected | function | Calculates and returns dependencies of a specific plugin instance. | |
PluginDependencyTrait:: |
protected | function | Wraps the module handler. | 1 |
PluginDependencyTrait:: |
protected | function | Wraps the theme handler. | 1 |
RefinableCacheableDependencyTrait:: |
public | function | 1 | |
RefinableCacheableDependencyTrait:: |
public | function | ||
RefinableCacheableDependencyTrait:: |
public | function | ||
RefinableCacheableDependencyTrait:: |
public | function | ||
Slick:: |
protected | property | The number of breakpoints for the optionset. | |
Slick:: |
protected | property | The optionset group for easy selections. | |
Slick:: |
protected | property | The human-readable name for the optionset. | |
Slick:: |
protected | property | The legacy CTools ID for the configurable optionset. | |
Slick:: |
protected | property | The flag indicating to optimize the stored options by removing defaults. | |
Slick:: |
protected | property | The plugin instance options. | |
Slick:: |
protected | property | The skin name for the optionset. | |
Slick:: |
private static | property | The slick HTML ID. | |
Slick:: |
protected | property | The weight to re-arrange the order of slick optionsets. | |
Slick:: |
public static | function |
Returns available slick default options under group 'settings'. Overrides SlickInterface:: |
|
Slick:: |
public | function |
Returns the number of breakpoints. Overrides SlickInterface:: |
|
Slick:: |
public static | function | Defines the dependent options. | |
Slick:: |
public | function |
Returns the group this optioset instance belongs to for easy selections. Overrides SlickInterface:: |
|
Slick:: |
public static | function | Returns the trusted HTML ID of a single slick instance. | |
Slick:: |
public | function |
Returns the Slick options by group, or property. Overrides SlickInterface:: |
|
Slick:: |
public | function | Returns the Slick responsive settings. | |
Slick:: |
public | function |
Returns the value of a slick setting. Overrides SlickInterface:: |
|
Slick:: |
public | function |
Returns the array of slick settings. Overrides SlickInterface:: |
|
Slick:: |
public | function |
Returns the Slick skin. Overrides SlickInterface:: |
|
Slick:: |
public static | function | Returns HTML or layout related settings to shut up notices. | |
Slick:: |
public | function |
Overrides Drupal\Core\Entity\Entity::id(). Overrides EntityBase:: |
|
Slick:: |
public static | function | Defines JS options required by theme_slick(), used with optimized option. | |
Slick:: |
public | function |
Returns whether to optimize the stored options, or not. Overrides SlickInterface:: |
|
Slick:: |
public | function | Strip out options containing default values so to have real clean JSON. | |
Slick:: |
public | function | Removes wasted dependent options, even if not empty. | |
Slick:: |
public | function | Sets the Slick responsive settings. | |
Slick:: |
public | function |
Sets the value of a slick setting. Overrides SlickInterface:: |
|
Slick:: |
public | function |
Sets the array of slick settings. Overrides SlickInterface:: |
|
SynchronizableEntityTrait:: |
protected | property | Whether this entity is being created, updated or deleted through a synchronization process. | |
SynchronizableEntityTrait:: |
public | function | ||
SynchronizableEntityTrait:: |
public | function |