Pathologic was missing because of a .git folder inside.
[yaffs-website] / web / modules / contrib / slick / src / SlickFormatter.php
1 <?php
2
3 namespace Drupal\slick;
4
5 use Drupal\slick\Entity\Slick;
6 use Drupal\blazy\BlazyFormatterManager;
7
8 /**
9  * Implements SlickFormatterInterface.
10  */
11 class SlickFormatter extends BlazyFormatterManager implements SlickFormatterInterface {
12
13   /**
14    * {@inheritdoc}
15    */
16   public function buildSettings(array &$build, $items) {
17     $settings = &$build['settings'];
18
19     // Prepare integration with Blazy.
20     $settings['item_id']   = 'slide';
21     $settings['namespace'] = 'slick';
22
23     // Pass basic info to parent::buildSettings().
24     parent::buildSettings($build, $items);
25
26     // Slick specific stuffs.
27     $build['optionset'] = Slick::load($settings['optionset']);
28
29     // Ensures deleted optionset while being used doesn't screw up.
30     if (empty($build['optionset'])) {
31       $build['optionset'] = Slick::load('default');
32     }
33
34     if (!isset($settings['nav'])) {
35       $settings['nav'] = !empty($settings['optionset_thumbnail']) && isset($items[1]);
36     }
37
38     // Do not bother for SlickTextFormatter, or when vanilla is on.
39     if (empty($settings['vanilla'])) {
40       $lazy              = $build['optionset']->getSetting('lazyLoad');
41       $settings['blazy'] = $lazy == 'blazy' || !empty($settings['blazy']);
42       $settings['lazy']  = $settings['blazy'] ? 'blazy' : $lazy;
43
44       if (empty($settings['blazy'])) {
45         $settings['lazy_class'] = $settings['lazy_attribute'] = 'lazy';
46       }
47     }
48     else {
49       // Nothing to work with Vanilla on, disable the asnavfor, else JS error.
50       $settings['nav'] = FALSE;
51     }
52
53     // Only trim overridables options if disabled.
54     if (empty($settings['override']) && isset($settings['overridables'])) {
55       $settings['overridables'] = array_filter($settings['overridables']);
56     }
57   }
58
59   /**
60    * Gets the thumbnail image using theme_image_style().
61    *
62    * @param array $settings
63    *   The array containing: thumbnail_style, etc.
64    * @param object $item
65    *   The \Drupal\image\Plugin\Field\FieldType\ImageItem object.
66    *
67    * @return array
68    *   The renderable array of thumbnail image.
69    */
70   public function getThumbnail(array $settings = [], $item = NULL) {
71     $thumbnail = [];
72     if (!empty($settings['uri'])) {
73       $thumbnail = [
74         '#theme'      => 'image_style',
75         '#style_name' => isset($settings['thumbnail_style']) ? $settings['thumbnail_style'] : 'thumbnail',
76         '#uri'        => $settings['uri'],
77         '#item'       => $item,
78       ];
79     }
80     return $thumbnail;
81   }
82
83 }