trait SlickFormatterTrait in Slick Carousel 8.2
Same name and namespace in other branches
- 8 src/Plugin/Field/FieldFormatter/SlickFormatterTrait.php \Drupal\slick\Plugin\Field\FieldFormatter\SlickFormatterTrait
- 7.3 src/Plugin/Field/FieldFormatter/SlickFormatterTrait.php \Drupal\slick\Plugin\Field\FieldFormatter\SlickFormatterTrait
A Trait common for slick formatters.
Hierarchy
- trait \Drupal\slick\Plugin\Field\FieldFormatter\SlickFormatterTrait
File
- src/
Plugin/ Field/ FieldFormatter/ SlickFormatterTrait.php, line 11
Namespace
Drupal\slick\Plugin\Field\FieldFormatterView source
trait SlickFormatterTrait {
/**
* The slick field formatter manager.
*
* @var \Drupal\slick\SlickManagerInterface
*/
protected $manager;
/**
* The image factory service.
*
* @var \Drupal\Core\Image\ImageFactory
*/
protected $imageFactory = NULL;
/**
* Returns the image factory.
*
* @todo deprecated in blazy:8.x-2.0 and is removed from blazy:8.x-3.0. Use
* BlazyOEmbed::imageFactory() instead.
* @see https://www.drupal.org/node/3103018
*/
public function imageFactory() {
if (is_null($this->imageFactory)) {
$this->imageFactory = \Drupal::service('image.factory');
}
return $this->imageFactory;
}
/**
* Returns the slick field formatter service.
*/
public function formatter() {
return $this->formatter;
}
/**
* Returns the slick service.
*/
public function manager() {
return $this->manager;
}
/**
* Returns the slick admin service shortcut.
*/
public function admin() {
return \Drupal::service('slick.admin');
}
/**
* Injects DI services.
*/
protected static function injectServices($instance, ContainerInterface $container, $type = '') {
$instance->formatter = $instance->blazyManager = $container
->get('slick.formatter');
$instance->manager = $container
->get('slick.manager');
// Blazy:2.x+ might already set these, provides a failsafe.
if ($type == 'image' || $type == 'entity') {
$instance->imageFactory = isset($instance->imageFactory) ? $instance->imageFactory : $container
->get('image.factory');
if ($type == 'entity') {
$instance->loggerFactory = isset($instance->loggerFactory) ? $instance->loggerFactory : $container
->get('logger.factory');
$instance->blazyEntity = isset($instance->blazyEntity) ? $instance->blazyEntity : $container
->get('blazy.entity');
$instance->blazyOembed = isset($instance->blazyOembed) ? $instance->blazyOembed : $instance->blazyEntity
->oembed();
}
}
return $instance;
}
/**
* {@inheritdoc}
*/
public function settingsSummary() {
return $this
->admin()
->getSettingsSummary($this
->getScopedFormElements());
}
/**
* {@inheritdoc}
*/
public static function isApplicable(FieldDefinitionInterface $field_definition) {
return $field_definition
->getFieldStorageDefinition()
->isMultiple();
}
/**
* Builds the settings.
*/
public function buildSettings() {
$settings = array_merge($this
->getCommonFieldDefinition(), $this
->getSettings());
$settings['third_party'] = $this
->getThirdPartySettings();
return $settings;
}
/**
* Defines the common scope for both front and admin.
*/
public function getCommonFieldDefinition() {
$field = $this->fieldDefinition;
return [
'namespace' => 'slick',
'current_view_mode' => $this->viewMode,
'field_name' => $field
->getName(),
'field_type' => $field
->getType(),
'entity_type' => $field
->getTargetEntityTypeId(),
'plugin_id' => $this
->getPluginId(),
'target_type' => $this
->getFieldSetting('target_type'),
];
}
/**
* Defines the common scope for the form elements.
*/
public function getCommonScopedFormElements() {
return [
'settings' => $this
->getSettings(),
] + $this
->getCommonFieldDefinition();
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
SlickFormatterTrait:: |
protected | property | The image factory service. | |
SlickFormatterTrait:: |
protected | property | The slick field formatter manager. | |
SlickFormatterTrait:: |
public | function | Returns the slick admin service shortcut. | |
SlickFormatterTrait:: |
public | function | Builds the settings. | 1 |
SlickFormatterTrait:: |
public | function | Returns the slick field formatter service. | |
SlickFormatterTrait:: |
public | function | Defines the common scope for both front and admin. | |
SlickFormatterTrait:: |
public | function | Defines the common scope for the form elements. | |
SlickFormatterTrait:: |
public | function | Returns the image factory. | |
SlickFormatterTrait:: |
protected static | function | Injects DI services. | |
SlickFormatterTrait:: |
public static | function | 2 | |
SlickFormatterTrait:: |
public | function | Returns the slick service. | |
SlickFormatterTrait:: |
public | function |