public function SlickManager::attach in Slick Carousel 7.3
Same name and namespace in other branches
- 8.2 src/SlickManager.php \Drupal\slick\SlickManager::attach()
- 8 src/SlickManager.php \Drupal\slick\SlickManager::attach()
Returns array of needed assets suitable for #attached property.
Return value
array Returns the required library array.
Overrides BlazyManagerBase::attach
1 call to SlickManager::attach()
File
- src/
SlickManager.php, line 98
Class
- SlickManager
- Implements SlickManagerInterface.
Namespace
Drupal\slickCode
public function attach(array $attach) {
$load = parent::attach($attach);
// Load optional easing library.
if ($this
->getEasingPath()) {
$load['library'][] = [
'slick',
'easing',
];
}
// Load optional colorbox, or mousewheel.
foreach ([
'colorbox',
'mousewheel',
] as $component) {
if (!empty($attach[$component])) {
$load['library'][] = [
'slick',
$component,
];
}
}
// Load the main slick initializer.
$load['library'][] = [
'slick',
'load',
];
// Only attach a skin if so configured.
if (!empty($attach['skin'])) {
$this
->attachSkin($load, $attach);
}
// Attach default JS settings to allow responsive displays have a lookup,
// excluding wasted/trouble options, e.g.: PHP string vs JS object.
$excludes = explode(' ', 'mobileFirst appendArrows appendDots asNavFor prevArrow nextArrow respondTo');
$excludes = array_combine($excludes, $excludes);
$load['js'][] = [
'data' => [
'slick' => array_diff_key(Slick::defaultSettings(), $excludes),
],
'type' => 'setting',
];
drupal_alter('slick_attach', $load, $attach);
return $load;
}