class Jssor in Jssor Slider 8
Same name in this branch
- 8 src/Plugin/views/style/Jssor.php \Drupal\jssor\Plugin\views\style\Jssor
- 8 src/Plugin/views/row/Jssor.php \Drupal\jssor\Plugin\views\row\Jssor
Row handler plugin for displaying search results.
Plugin annotation
@ViewsRow(
id = "jssor_row",
theme = "views_view_jssor_row",
title = @Translation("Jssor"),
help = @Translation("Provides a row plugin to display image slider with caption."),
display_types = {"normal"}
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\views\Plugin\views\PluginBase implements DependentPluginInterface, ContainerFactoryPluginInterface, TrustedCallbackInterface, ViewsPluginInterface
- class \Drupal\views\Plugin\views\row\RowPluginBase
- class \Drupal\jssor\Plugin\views\row\Jssor
- class \Drupal\views\Plugin\views\row\RowPluginBase
- class \Drupal\views\Plugin\views\PluginBase implements DependentPluginInterface, ContainerFactoryPluginInterface, TrustedCallbackInterface, ViewsPluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of Jssor
File
- src/
Plugin/ views/ row/ Jssor.php, line 25 - Definition of Drupal\jssor\Plugin\views\row\Jssor.
Namespace
Drupal\jssor\Plugin\views\rowView source
class Jssor extends RowPluginBase {
/**
* {@inheritdoc}
*/
protected function defineOptions() {
$options = parent::defineOptions();
$options['image_options'] = array(
'default' => array(),
);
$options['caption_options'] = array(
'default' => array(),
);
$options['play_in_transition'] = array(
'default' => '',
);
$options['play_in_mode'] = array(
'default' => 1,
);
$options['play_out_transition'] = array(
'default' => '',
);
$options['play_out_mode'] = array(
'default' => 1,
);
return $options;
}
/**
* {@inheritdoc}
*/
public function buildOptionsForm(&$form, FormStateInterface $form_state) {
parent::buildOptionsForm($form, $form_state);
// Get all image and text fields.
$image_options = [];
$caption_options = [];
$transitions_options = [
'Move' => [
'L' => 'L',
'R' => 'R',
'T' => 'T',
'B' => 'B',
'TL' => 'TL',
'TR' => 'TR',
'BL' => 'BL',
'BR' => 'BR',
],
'Move|IB' => [
'L|IB' => 'L|IB',
'R|IB' => 'R|IB',
'T|IB' => 'T|IB',
'B|IB' => 'B|IB',
'TL|IB' => 'TL|IB',
'TR|IB' => 'TR|IB',
'BL|IB' => 'BL|IB',
'BR|IB' => 'BR|IB',
],
'Move|IE' => [
'L|IE' => 'L|IE',
'R|IE' => 'R|IE',
'T|IE' => 'T|IE',
'B|IE' => 'B|IE',
'TL|IE' => 'TL|IE',
'TR|IE' => 'TR|IE',
'BL|IE' => 'BL|IE',
'BR|IE' => 'BR|IE',
],
'Move|EP' => [
'L|EP' => 'L|EP',
'R|EP' => 'R|EP',
'T|EP' => 'T|EP',
'B|EP' => 'B|EP',
'TL|EP' => 'TL|EP',
'TR|EP' => 'TR|EP',
'BL|EP' => 'BL|EP',
'BR|EP' => 'BR|EP',
],
'Move with Rotate' => [
'L*' => 'L*',
'R*' => 'R*',
'T*' => 'T*',
'B*' => 'B*',
'TL*' => 'TL*',
'TR*' => 'TR*',
'BL*' => 'BL*',
'BR*' => 'BR*',
],
'Move with Rotate IE' => [
'L*IE' => 'L*IE',
'R*IE' => 'R*IE',
'T*IE' => 'T*IE',
'B*IE' => 'B*IE',
'TL*IE' => 'TL*IE',
'TR*IE' => 'TR*IE',
'BL*IE' => 'BL*IE',
'BR*IE' => 'BR*IE',
],
'Move with Rotate IB' => [
'L*IB' => 'L*IB',
'R*IB' => 'R*IB',
'T*IB' => 'T*IB',
'B*IB' => 'B*IB',
'TL*IB' => 'TL*IB',
'TR*IB' => 'TR*IB',
'BL*IB' => 'BL*IB',
'BR*IB' => 'BR*IB',
],
'Move with Rotate IW' => [
'L*IW' => 'L*IW',
'R*IW' => 'R*IW',
'T*IW' => 'T*IW',
'B*IW' => 'B*IW',
'TL*IW' => 'TL*IW',
'TR*IW' => 'TR*IW',
'BL*IW' => 'BL*IW',
'BR*IW' => 'BR*IW',
],
'Move IE with Rotate IE' => [
'L*IE*IE' => 'L*IE*IE',
'R*IE*IE' => 'R*IE*IE',
'T*IE*IE' => 'T*IE*IE',
'B*IE*IE' => 'B*IE*IE',
'TL*IE*IE' => 'TL*IE*IE',
'TR*IE*IE' => 'TR*IE*IE',
'BL*IE*IE' => 'BL*IE*IE',
'BR*IE*IE' => 'BR*IE*IE',
],
'Clip' => [
'CLIP' => 'CLIP',
'CLIP|LR' => 'CLIP|LR',
'CLIP|TB' => 'CLIP|TB',
'CLIP|L' => 'CLIP|L',
'CLIP|R' => 'CLIP|R',
'CLIP|T' => 'CLIP|T',
'CLIP|B' => 'CLIP|B',
],
'MClip' => [
'MCLIP|L' => 'MCLIP|L',
'MCLIP|R' => 'MCLIP|R',
'MCLIP|T' => 'MCLIP|T',
'MCLIP|B' => 'MCLIP|B',
],
'Zoom' => [
'ZM' => 'ZM',
'ZM|P30' => 'ZM|P30',
'ZM|P50' => 'ZM|P50',
'ZM|P70' => 'ZM|P70',
'ZM|P80' => 'ZM|P80',
'ZMF|2' => 'ZMF|2',
'ZMF|3' => 'ZMF|3',
'ZMF|4' => 'ZMF|4',
'ZMF|5' => 'ZMF|5',
'ZMF|10' => 'ZMF|10',
'ZML|L' => 'ZML|L',
'ZML|R' => 'ZML|R',
'ZML|T' => 'ZML|T',
'ZML|B' => 'ZML|B',
'ZML|TL' => 'ZML|TL',
'ZML|TR' => 'ZML|TR',
'ZML|BL' => 'ZML|BL',
'ZML|BR' => 'ZML|BR',
'ZML|IE|L' => 'ZML|IE|L',
'ZML|IE|R' => 'ZML|IE|R',
'ZML|IE|T' => 'ZML|IE|T',
'ZML|IE|B' => 'ZML|IE|B',
'ZML|IE|TL' => 'ZML|IE|TL',
'ZML|IE|TR' => 'ZML|IE|TR',
'ZML|IE|BL' => 'ZML|IE|BL',
'ZML|IE|BR' => 'ZML|IE|BR',
'ZMS|L' => 'ZMS|L',
'ZMS|R' => 'ZMS|R',
'ZMS|T' => 'ZMS|T',
'ZMS|B' => 'ZMS|B',
'ZMS|TL' => 'ZMS|TL',
'ZMS|TR' => 'ZMS|TR',
'ZMS|BL' => 'ZMS|BL',
'ZMS|BR' => 'ZMS|BR',
],
];
if ($fields = $this->view->display_handler
->getOption('fields')) {
foreach ($fields as $id => $field) {
switch ($field['type']) {
case 'image':
$image_options[$id] = $field['id'];
break;
case 'string':
$caption_options[$id] = $field['id'];
break;
}
}
}
$form['image_options'] = array(
'#type' => 'select',
'#title' => $this
->t('Image field'),
'#description' => $this
->t('Select image field.'),
'#options' => $image_options,
'#default_value' => $this->options['image_options'],
);
$form['caption_options'] = array(
'#type' => 'select',
'#title' => $this
->t('Caption field'),
'#description' => $this
->t('Select caption field.'),
'#options' => $caption_options,
'#default_value' => $this->options['caption_options'],
);
$form['play_in_mode'] = [
'#type' => 'select',
'#title' => $this
->t('Play in mode'),
'#description' => $this
->t('Specifies how captions will play in.'),
'#options' => [
0 => $this
->t('No play'),
1 => $this
->t('Goes after main slide played in, play captions in one by one'),
3 => $this
->t('Goes after main slide played in, play all captions in parallelly'),
],
'#default_value' => $this->options['play_in_mode'],
];
$form['play_in_transition'] = [
'#type' => 'select',
'#title' => $this
->t('Transition'),
'#description' => $this
->t('Transition.'),
'#options' => $transitions_options,
'#default_value' => $this->options['play_in_transition'],
];
$form['play_out_mode'] = [
'#type' => 'select',
'#title' => $this
->t('Play in mode'),
'#description' => $this
->t('Specifies how captions will play in.'),
'#options' => [
0 => $this
->t('No play'),
1 => $this
->t('Goes after main slide played in, play captions in one by one'),
3 => $this
->t('Goes after main slide played in, play all captions in parallelly'),
],
'#default_value' => $this->options['play_out_mode'],
];
$form['play_out_transition'] = [
'#type' => 'select',
'#title' => $this
->t('Transition'),
'#description' => $this
->t('Transition.'),
'#options' => $transitions_options,
'#default_value' => $this->options['play_out_transition'],
];
}
/**
* {@inheritdoc}
*/
public function render($row) {
static $row_index;
if (!isset($row_index)) {
$row_index = 0;
}
else {
$row_index++;
}
// Create the RSS item object.
$item = new \stdClass();
$item->image = $this
->getField($row_index, $this->options['image_options']);
$item->caption = $this
->getField($row_index, $this->options['caption_options']);
$build = array(
'#theme' => $this
->themeFunctions(),
'#view' => $this->view,
'#options' => $this->options,
'#row' => $item,
);
return $build;
}
/**
* Retrieves a views field value from the style plugin.
*
* @param $index
* The index count of the row as expected by views_plugin_style::getField().
* @param $field_id
* The ID assigned to the required field in the display.
*
* @return string|null|\Drupal\Component\Render\MarkupInterface
* An empty string if there is no style plugin, or the field ID is empty.
* NULL if the field value is empty. If neither of these conditions apply,
* a MarkupInterface object containing the rendered field value.
*/
public function getField($index, $field_id) {
if (empty($this->view->style_plugin) || !is_object($this->view->style_plugin) || empty($field_id)) {
return '';
}
return $this->view->style_plugin
->getField($index, $field_id);
}
}
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 | |
Jssor:: |
public | function |
Provide a form for setting options. Overrides RowPluginBase:: |
|
Jssor:: |
protected | function |
Information about options for all kinds of purposes will be held here. Overrides RowPluginBase:: |
|
Jssor:: |
public | function | Retrieves a views field value from the style plugin. | |
Jssor:: |
public | function |
Render a row object. This usually passes through to a theme template
of some form, but not always. Overrides RowPluginBase:: |
|
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:: |
public | property | Plugins's definition | |
PluginBase:: |
public | property | The display object this plugin is for. | |
PluginBase:: |
public | property | Options for this plugin will be held here. | |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
protected | property | Stores the render API renderer. | 3 |
PluginBase:: |
public | property | The top object of a view. | 1 |
PluginBase:: |
public | function |
Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: |
14 |
PluginBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
62 |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Clears a plugin. Overrides ViewsPluginInterface:: |
2 |
PluginBase:: |
protected | function | Do the work to filter out stored options depending on the defined options. | |
PluginBase:: |
public | function |
Filter out stored options depending on the defined options. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public | function |
Returns an array of available token replacements. Overrides ViewsPluginInterface:: |
|
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 |
Returns the plugin provider. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
protected | function | Returns the render API renderer. | 1 |
PluginBase:: |
public | function |
Adds elements for available core tokens to a form. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public | function |
Returns a string with any core tokens replaced. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
constant | Include entity row languages when listing languages. | ||
PluginBase:: |
constant | Include negotiated languages when listing languages. | ||
PluginBase:: |
public | function |
Initialize the plugin. Overrides ViewsPluginInterface:: |
8 |
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginBase:: |
protected | function | Makes an array of languages, optionally including special languages. | |
PluginBase:: |
public | function |
Return the human readable name of the display. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public static | function |
Moves form elements into fieldsets for presentation purposes. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public static | function |
Flattens the structure of form elements. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public static | function | Returns substitutions for Views queries for languages. | |
PluginBase:: |
protected | function | Fills up the options of the plugin with defaults. | |
PluginBase:: |
public | function |
Returns the summary of the settings in the display. Overrides ViewsPluginInterface:: |
6 |
PluginBase:: |
public | function |
Provide a full list of possible theme templates used by this style. Overrides ViewsPluginInterface:: |
1 |
PluginBase:: |
public static | function |
Lists the trusted callbacks provided by the implementing class. Overrides TrustedCallbackInterface:: |
6 |
PluginBase:: |
public | function |
Unpack options over our existing defaults, drilling down into arrays
so that defaults don't get totally blown away. Overrides ViewsPluginInterface:: |
|
PluginBase:: |
public | function |
Returns the usesOptions property. Overrides ViewsPluginInterface:: |
8 |
PluginBase:: |
public | function |
Validate that the plugin is correct and can be saved. Overrides ViewsPluginInterface:: |
6 |
PluginBase:: |
protected | function | Replaces Views' tokens in a given string. The resulting string will be sanitized with Xss::filterAdmin. | 1 |
PluginBase:: |
constant | Query string to indicate the site default language. | ||
PluginBase:: |
public | function |
Constructs a PluginBase object. Overrides PluginBase:: |
|
RowPluginBase:: |
protected | property | Does the row plugin support to add fields to its output. | 4 |
RowPluginBase:: |
protected | property |
Denotes whether the plugin has an additional options form. Overrides PluginBase:: |
1 |
RowPluginBase:: |
public | function | Allow the style to do stuff before each row is rendered. | 4 |
RowPluginBase:: |
public | function |
Add anything to the query that we might need to. Overrides PluginBase:: |
2 |
RowPluginBase:: |
public | function |
Perform any necessary changes to the form values prior to storage.
There is no need for this function to actually store the data. Overrides PluginBase:: |
1 |
RowPluginBase:: |
public | function | Returns the usesFields property. | 4 |
RowPluginBase:: |
public | function |
Validate the options form. Overrides PluginBase:: |
1 |
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. | |
TrustedCallbackInterface:: |
constant | Untrusted callbacks throw exceptions. | ||
TrustedCallbackInterface:: |
constant | Untrusted callbacks trigger silenced E_USER_DEPRECATION errors. | ||
TrustedCallbackInterface:: |
constant | Untrusted callbacks trigger E_USER_WARNING errors. |