TwitterTimelineFormatter.php in Twitter Embed 8
File
src/Plugin/Field/FieldFormatter/TwitterTimelineFormatter.php
View source
<?php
namespace Drupal\twitter_embed\Plugin\Field\FieldFormatter;
use Drupal\Core\Field\FieldDefinitionInterface;
use Drupal\twitter_embed\TwitterTimelineWidget;
class TwitterTimelineFormatter extends TwitterFormatterBase {
public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings) {
$this->twitterWidget = \Drupal::service('twitter_embed.timeline_widget');
parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings);
}
public static function defaultSettings() {
return TwitterTimelineWidget::getDefaultSettings() + parent::defaultSettings();
}
public function getSettings() {
if (!array_key_exists($this
->getSetting('type'), $this->twitterWidget
->getAvailableTypes())) {
$type = TwitterTimelineWidget::getDefaultSettings()['type'];
$this
->setSetting('type', $type);
}
if (!array_key_exists($this
->getSetting('display_style'), $this->twitterWidget
->getAvailableDisplayStyles())) {
$displayStyle = TwitterTimelineWidget::getDefaultSettings()['display_style'];
$this
->setSetting('display_style', $displayStyle);
}
return parent::getSettings();
}
}