ImageDesaturateFormatter.php in Image desaturate formatter 8
Definition of Drupal\image_desaturate_formatter\Plugin\Field\FieldFormatter\ImageDesaturateFormatter.
File
lib/Drupal/image_desaturate_formatter/Plugin/Field/FieldFormatter/ImageDesaturateFormatter.phpView source
<?php
/**
* @file
* Definition of Drupal\image_desaturate_formatter\Plugin\Field\FieldFormatter\ImageDesaturateFormatter.
*/
namespace Drupal\image_desaturate_formatter\Plugin\Field\FieldFormatter;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\image\Plugin\Field\FieldFormatter\ImageFormatter;
/**
* Plugin implementation of the 'image_desaturate' formatter.
*
* @FieldFormatter(
* id = "image_desaturate",
* label = @Translation("Image desaturate formatter"),
* field_types = {
* "image"
* },
* settings = {
* "image_style" = "",
* "image_link" = "",
* "default_style" = "desaturate",
* }
* )
*/
class ImageDesaturateFormatter extends ImageFormatter {
/**
* {@inheritdoc}
*/
public function settingsForm(array $form, array &$form_state) {
$element = parent::settingsForm($form, $form_state);
$element['default_style'] = array(
'#title' => t('Default image style'),
'#type' => 'select',
'#options' => array(
'desaturate' => t('Desaturate'),
'default' => t('Default'),
),
'#default_value' => $this
->getSetting('default_style'),
);
return $element;
}
/**
* {@inheritdoc}
*/
public function settingsSummary() {
$summary = parent::settingsSummary();
$default_style = array(
'default' => t('Default image style'),
'desaturate' => t('Desaturate image style'),
);
$default_style_setting = $this
->getSetting('default_style');
if (isset($default_style[$default_style_setting])) {
$summary[] = $default_style[$default_style_setting];
}
return $summary;
}
/**
* {@inheritdoc}
*/
public function viewElements(FieldItemListInterface $items) {
$elements = parent::viewElements($items);
$default_style_setting = $this
->getSetting('default_style');
foreach ($elements as &$element) {
$element['#theme'] = 'image_desaturate_formatter';
$element['#default_style'] = $default_style_setting;
}
return $elements;
}
}
Classes
Name | Description |
---|---|
ImageDesaturateFormatter | Plugin implementation of the 'image_desaturate' formatter. |