class LinkSeparate in ShrinkTheWeb 8
Plugin annotation
@FieldFormatter(
id = "shrinktheweb_link_separate",
label = @Translation("[ShrinkTheWeb] Separate title and URL"),
field_types = {"link"}
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\Core\Field\PluginSettingsBase implements DependentPluginInterface, PluginSettingsInterface
- class \Drupal\Core\Field\FormatterBase implements FormatterInterface, ContainerFactoryPluginInterface
- class \Drupal\shrinktheweb\Plugin\Field\FieldFormatter\LinkSeparate
- class \Drupal\Core\Field\FormatterBase implements FormatterInterface, ContainerFactoryPluginInterface
- class \Drupal\Core\Field\PluginSettingsBase implements DependentPluginInterface, PluginSettingsInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of LinkSeparate
File
- src/
Plugin/ Field/ FieldFormatter/ LinkSeparate.php, line 16
Namespace
Drupal\shrinktheweb\Plugin\Field\FieldFormatterView source
class LinkSeparate extends FormatterBase {
/**
* {@inheritdoc}
*/
public static function defaultSettings() {
return array(
'custom_width' => '',
'full_length' => '',
'max_height' => '',
'native_resolution' => '',
'widescreen_resolution_y' => '',
'delay' => '',
'quality' => '',
) + parent::defaultSettings();
}
/**
* {@inheritdoc}
*/
public function settingsForm(array $form, FormStateInterface $form_state) {
$elements = parent::settingsForm($form, $form_state);
$elements['custom_width'] = array(
'#type' => 'number',
'#title' => t('Custom Width'),
'#field_suffix' => t('px'),
'#default_value' => $this
->getSetting('custom_width'),
'#min' => 1,
'#description' => t('enter your custom image width, this will override default size '),
'#size' => 4,
'#maxlength' => 4,
);
$elements['full_length'] = array(
'#type' => 'select',
'#title' => $this
->t('Full-Length capture'),
'#default_value' => $this
->getSetting('full_length'),
'#options' => array(
'1' => $this
->t('Enabled'),
'0' => $this
->t('Disabled'),
'' => $this
->t('Not set'),
),
);
$elements['max_height'] = array(
'#type' => 'number',
'#title' => t('Max height'),
'#field_suffix' => t('px'),
'#default_value' => $this
->getSetting('max_height'),
'#min' => 1,
'#description' => t('use if you want to set maxheight for fullsize capture'),
'#size' => 10,
'#maxlength' => 10,
);
$elements['native_resolution'] = array(
'#type' => 'number',
'#title' => t('Native resolution'),
'#field_suffix' => t('px'),
'#default_value' => $this
->getSetting('native_resolution'),
'#min' => 1,
'#description' => t('i.e. 640 for 640x480'),
'#size' => 4,
'#maxlength' => 4,
);
$elements['widescreen_resolution_y'] = array(
'#type' => 'number',
'#title' => t('Widescreen resolution Y'),
'#field_suffix' => t('px'),
'#default_value' => $this
->getSetting('widescreen_resolution_y'),
'#min' => 1,
'#description' => t('i.e. 900 for 1440x900 if 1440 is set for Native resolution'),
'#size' => 4,
'#maxlength' => 4,
);
$elements['delay'] = array(
'#type' => 'number',
'#title' => t('Delay After Load'),
'#field_suffix' => t('seconds'),
'#default_value' => $this
->getSetting('delay'),
'#min' => 1,
'#description' => t('max. 45'),
'#size' => 2,
'#maxlength' => 2,
);
$elements['quality'] = array(
'#type' => 'number',
'#title' => t('Quality'),
'#field_suffix' => t('%'),
'#default_value' => $this
->getSetting('quality'),
'#min' => 1,
'#description' => t('0 .. 100 '),
'#size' => 3,
'#maxlength' => 3,
);
return $elements;
}
/**
* {@inheritdoc}
*/
public function settingsSummary() {
$summary = array();
$settings = $this
->getSettings();
if (!empty($settings['custom_width'])) {
$summary[] = t('Custom Width is @custom_width px', array(
'@custom_width' => $settings['custom_width'],
));
}
else {
$summary[] = t('Custom Width is not set');
}
if (!empty($settings['full_length'])) {
if ($settings['full_length'] == 1) {
$summary[] = t('Full-Length capture enabled');
}
else {
$summary[] = t('Full-Length capture disabled');
}
}
else {
$summary[] = t('Full-Length is not set');
}
if (!empty($settings['max_height'])) {
$summary[] = t('Max height is @max_height px', array(
'@max_height' => $settings['max_height'],
));
}
else {
$summary[] = t('Max height is not set');
}
if (!empty($settings['native_resolution'])) {
$summary[] = t('Native resolution is @native_resolution px', array(
'@native_resolution' => $settings['native_resolution'],
));
}
else {
$summary[] = t('Native resolution is not set');
}
if (!empty($settings['widescreen_resolution_y'])) {
$summary[] = t('Widescreen resolution Y is @widescreen_resolution_y px', array(
'@widescreen_resolution_y' => $settings['widescreen_resolution_y'],
));
}
else {
$summary[] = t('Widescreen resolution Y is not set');
}
if (!empty($settings['delay'])) {
$summary[] = t('Delay is @delay seconds', array(
'@delay' => $settings['delay'],
));
}
else {
$summary[] = t('Delay is not set');
}
if (!empty($settings['quality'])) {
$summary[] = t('Quality is @quality %', array(
'@quality' => $settings['quality'],
));
}
else {
$summary[] = t('Quality is not set');
}
return $summary;
}
/**
* {@inheritdoc}
*/
public function viewElements(FieldItemListInterface $items, $langcode) {
$settings = $this
->getSettings();
$elements = array();
foreach ($items as $delta => $item) {
$url = $item->uri;
$title = $item->title;
$elements[$delta] = array(
'#theme' => 'shrinktheweb_formatter_shrinktheweb_link_separate',
'#url' => $url,
'#title' => $title,
'#image_path' => '',
);
if (!empty($settings['custom_width'])) {
$elements[$delta]['#custom_width'] = $settings['custom_width'];
}
if (!empty($settings['full_length'])) {
$elements[$delta]['#full_length'] = $settings['full_length'];
}
if (!empty($settings['max_height'])) {
$elements[$delta]['#max_height'] = $settings['max_height'];
}
if (!empty($settings['native_resolution'])) {
$elements[$delta]['#native_resolution'] = $settings['native_resolution'];
}
if (!empty($settings['widescreen_resolution_y'])) {
$elements[$delta]['#widescreen_resolution_y'] = $settings['widescreen_resolution_y'];
}
if (!empty($settings['delay'])) {
$elements[$delta]['#delay'] = $settings['delay'];
}
if (!empty($settings['quality'])) {
$elements[$delta]['#quality'] = $settings['quality'];
}
}
return $elements;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
FormatterBase:: |
protected | property | The field definition. | |
FormatterBase:: |
protected | property | The label display setting. | |
FormatterBase:: |
protected | property |
The formatter settings. Overrides PluginSettingsBase:: |
|
FormatterBase:: |
protected | property | The view mode. | |
FormatterBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
11 |
FormatterBase:: |
protected | function | Returns the value of a field setting. | |
FormatterBase:: |
protected | function | Returns the array of field settings. | |
FormatterBase:: |
public static | function |
Returns if the formatter can be used for the provided field. Overrides FormatterInterface:: |
14 |
FormatterBase:: |
public | function |
Allows formatters to load information for field values being displayed. Overrides FormatterInterface:: |
2 |
FormatterBase:: |
public | function |
Builds a renderable array for a fully themed field. Overrides FormatterInterface:: |
1 |
FormatterBase:: |
public | function |
Constructs a FormatterBase object. Overrides PluginBase:: |
11 |
LinkSeparate:: |
public static | function |
Defines the default settings for this plugin. Overrides PluginSettingsBase:: |
|
LinkSeparate:: |
public | function |
Returns a form to configure settings for the formatter. Overrides FormatterBase:: |
|
LinkSeparate:: |
public | function |
Returns a short summary for the current formatter settings. Overrides FormatterBase:: |
|
LinkSeparate:: |
public | function |
Builds a renderable array for a field value. Overrides FormatterInterface:: |
|
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginSettingsBase:: |
protected | property | Whether default settings have been merged into the current $settings. | |
PluginSettingsBase:: |
protected | property | The plugin settings injected by third party modules. | |
PluginSettingsBase:: |
public | function |
Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: |
6 |
PluginSettingsBase:: |
public | function |
Returns the value of a setting, or its default value if absent. Overrides PluginSettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Returns the array of settings, including defaults for missing settings. Overrides PluginSettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Gets the list of third parties that store information. Overrides ThirdPartySettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Gets the value of a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Gets all third-party settings of a given module. Overrides ThirdPartySettingsInterface:: |
|
PluginSettingsBase:: |
protected | function | Merges default settings values into $settings. | |
PluginSettingsBase:: |
public | function |
Informs the plugin that some configuration it depends on will be deleted. Overrides PluginSettingsInterface:: |
3 |
PluginSettingsBase:: |
public | function |
Sets the value of a setting for the plugin. Overrides PluginSettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Sets the settings for the plugin. Overrides PluginSettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Sets the value of a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Unsets a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |