protected function WizardPluginBase::buildFormStyle in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php \Drupal\views\Plugin\views\wizard\WizardPluginBase::buildFormStyle()
Adds the style options to the wizard form.
Parameters
array $form: The full wizard form array.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the wizard form.
string $type: The display ID (e.g. 'page' or 'block').
1 call to WizardPluginBase::buildFormStyle()
- WizardPluginBase::buildForm in core/
modules/ views/ src/ Plugin/ views/ wizard/ WizardPluginBase.php - Form callback to build other elements in the "show" form.
File
- core/
modules/ views/ src/ Plugin/ views/ wizard/ WizardPluginBase.php, line 541 - Contains \Drupal\views\Plugin\views\wizard\WizardPluginBase.
Class
- WizardPluginBase
- Base class for Views wizard plugins.
Namespace
Drupal\views\Plugin\views\wizardCode
protected function buildFormStyle(array &$form, FormStateInterface $form_state, $type) {
$style_form =& $form['displays'][$type]['options']['style'];
$style = $style_form['style_plugin']['#default_value'];
$style_plugin = Views::pluginManager('style')
->createInstance($style);
if (isset($style_plugin) && $style_plugin
->usesRowPlugin()) {
$options = $this
->rowStyleOptions();
$style_form['row_plugin'] = array(
'#type' => 'select',
'#title' => $this
->t('of'),
'#options' => $options,
'#access' => count($options) > 1,
);
// For the block display, the default value should be "titles (linked)",
// if it's available (since that's the most common use case).
$block_with_linked_titles_available = $type == 'block' && isset($options['titles_linked']);
$default_value = $block_with_linked_titles_available ? 'titles_linked' : key($options);
$style_form['row_plugin']['#default_value'] = static::getSelected($form_state, array(
$type,
'style',
'row_plugin',
), $default_value, $style_form['row_plugin']);
// Changing this dropdown updates the individual row options via AJAX.
views_ui_add_ajax_trigger($style_form, 'row_plugin', array(
'displays',
$type,
'options',
'style',
'row_options',
));
// This is the region that can be updated by AJAX. The base class doesn't
// add anything here, but child classes can.
$style_form['row_options'] = array(
'#theme_wrappers' => array(
'container',
),
);
}
elseif ($style_plugin
->usesFields()) {
$style_form['row_plugin'] = array(
'#markup' => '<span>' . $this
->t('of fields') . '</span>',
);
}
}