public function DisplayPluginBase::submitOptionsForm in Views (for Drupal 7) 8.3
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::submitOptionsForm
4 calls to DisplayPluginBase::submitOptionsForm()
- Attachment::submitOptionsForm in lib/
Drupal/ views/ Plugin/ views/ display/ Attachment.php - Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.
- Block::submitOptionsForm in lib/
Views/ block/ Plugin/ views/ display/ Block.php - Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.
- DisplayTest::submitOptionsForm in tests/
views_test_data/ lib/ Drupal/ views_test_data/ Plugin/ views/ display/ DisplayTest.php - Overrides Drupal\views\Plugin\views\display\DisplayPluginBase::submitOptionsForm().
- Page::submitOptionsForm in lib/
Drupal/ views/ Plugin/ views/ display/ Page.php - Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.
4 methods override DisplayPluginBase::submitOptionsForm()
- Attachment::submitOptionsForm in lib/
Drupal/ views/ Plugin/ views/ display/ Attachment.php - Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.
- Block::submitOptionsForm in lib/
Views/ block/ Plugin/ views/ display/ Block.php - Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.
- DisplayTest::submitOptionsForm in tests/
views_test_data/ lib/ Drupal/ views_test_data/ Plugin/ views/ display/ DisplayTest.php - Overrides Drupal\views\Plugin\views\display\DisplayPluginBase::submitOptionsForm().
- Page::submitOptionsForm in lib/
Drupal/ views/ Plugin/ views/ display/ Page.php - Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.
File
- lib/
Drupal/ views/ Plugin/ views/ display/ DisplayPluginBase.php, line 2129 - Definition of Drupal\views\Plugin\views\display\DisplayPluginBase.
Class
- DisplayPluginBase
- The default display plugin handler. Display plugins handle options and basic mechanisms for different output methods.
Namespace
Drupal\views\Plugin\views\displayCode
public function submitOptionsForm(&$form, &$form_state) {
// Not sure I like this being here, but it seems (?) like a logical place.
$cache_plugin = $this
->getPlugin('cache');
if ($cache_plugin) {
$cache_plugin
->cache_flush();
}
$section = $form_state['section'];
switch ($section) {
case 'display_id':
if (isset($form_state['values']['display_id'])) {
$this->display['new_id'] = $form_state['values']['display_id'];
}
break;
case 'display_title':
$this->display['display_title'] = $form_state['values']['display_title'];
$this
->setOption('display_description', $form_state['values']['display_description']);
break;
case 'access':
$access = $this
->getOption('access');
if ($access['type'] != $form_state['values']['access']['type']) {
$plugin = views_get_plugin('access', $form_state['values']['access']['type']);
if ($plugin) {
$access = array(
'type' => $form_state['values']['access']['type'],
);
$this
->setOption('access', $access);
if ($plugin
->usesOptions()) {
$this->view
->addFormToStack('display', $this->display['id'], array(
'access_options',
));
}
}
}
break;
case 'access_options':
$plugin = $this
->getPlugin('access');
if ($plugin) {
$access = $this
->getOption('access');
$plugin
->submitOptionsForm($form['access_options'], $form_state);
$access['options'] = $form_state['values'][$section];
$this
->setOption('access', $access);
}
break;
case 'cache':
$cache = $this
->getOption('cache');
if ($cache['type'] != $form_state['values']['cache']['type']) {
$plugin = views_get_plugin('cache', $form_state['values']['cache']['type']);
if ($plugin) {
$cache = array(
'type' => $form_state['values']['cache']['type'],
);
$this
->setOption('cache', $cache);
if ($plugin
->usesOptions()) {
$this->view
->addFormToStack('display', $this->display['id'], array(
'cache_options',
));
}
}
}
break;
case 'cache_options':
$plugin = $this
->getPlugin('cache');
if ($plugin) {
$cache = $this
->getOption('cache');
$plugin
->submitOptionsForm($form['cache_options'], $form_state);
$cache['options'] = $form_state['values'][$section];
$this
->setOption('cache', $cache);
}
break;
case 'query':
$plugin = $this
->get_plugin('query');
if ($plugin) {
$plugin
->submitOptionsForm($form['query']['options'], $form_state);
$this
->setOption('query', $form_state['values'][$section]);
}
break;
case 'link_display':
$this
->setOption('link_url', $form_state['values']['link_url']);
case 'title':
case 'css_class':
case 'display_comment':
$this
->setOption($section, $form_state['values'][$section]);
break;
case 'field_language':
$this
->setOption('field_langcode', $form_state['values']['field_langcode']);
$this
->setOption('field_langcode_add_to_query', $form_state['values']['field_langcode_add_to_query']);
break;
case 'use_ajax':
case 'hide_attachment_summary':
case 'hide_admin_links':
$this
->setOption($section, (bool) $form_state['values'][$section]);
break;
case 'use_more':
$this
->setOption($section, intval($form_state['values'][$section]));
$this
->setOption('use_more_always', !intval($form_state['values']['use_more_always']));
$this
->setOption('use_more_text', $form_state['values']['use_more_text']);
case 'distinct':
$this
->setOption($section, $form_state['values'][$section]);
break;
case 'group_by':
$this
->setOption($section, $form_state['values'][$section]);
break;
case 'row':
// This if prevents resetting options to default if they don't change
// the plugin.
$row = $this
->getOption('row');
if ($row['type'] != $form_state['values'][$section]) {
$plugin = views_get_plugin('row', $form_state['values'][$section]);
if ($plugin) {
$row = array(
'type' => $form_state['values'][$section],
);
$this
->setOption($section, $row);
// send ajax form to options page if we use it.
if ($plugin
->usesOptions()) {
$this->view
->addFormToStack('display', $this->display['id'], array(
'row_options',
));
}
}
}
break;
case 'style':
// This if prevents resetting options to default if they don't change
// the plugin.
$style = $this
->getOption('style');
if ($style['type'] != $form_state['values'][$section]) {
$plugin = views_get_plugin('style', $form_state['values'][$section]);
if ($plugin) {
$row = array(
'type' => $form_state['values'][$section],
);
$this
->setOption($section, $row);
// send ajax form to options page if we use it.
if ($plugin
->usesOptions()) {
$this->view
->addFormToStack('display', $this->display['id'], array(
'style_options',
));
}
}
}
break;
case 'style_options':
$plugin = $this
->getPlugin('style');
if ($plugin) {
$style = $this
->getOption('style');
$plugin
->submitOptionsForm($form['style_options'], $form_state);
$style['options'] = $form_state['values'][$section];
$this
->setOption('style', $style);
}
break;
case 'row_options':
$plugin = $this
->getPlugin('row');
if ($plugin) {
$row = $this
->getOption('row');
$plugin
->submitOptionsForm($form['row_options'], $form_state);
$row['options'] = $form_state['values'][$section];
$this
->setOption('row', $row);
}
break;
case 'exposed_block':
$this
->setOption($section, (bool) $form_state['values'][$section]);
break;
case 'exposed_form':
$exposed_form = $this
->getOption('exposed_form');
if ($exposed_form['type'] != $form_state['values']['exposed_form']['type']) {
$plugin = views_get_plugin('exposed_form', $form_state['values']['exposed_form']['type']);
if ($plugin) {
$exposed_form = array(
'type' => $form_state['values']['exposed_form']['type'],
'options' => array(),
);
$this
->setOption('exposed_form', $exposed_form);
if ($plugin
->usesOptions()) {
$this->view
->addFormToStack('display', $this->display['id'], array(
'exposed_form_options',
));
}
}
}
break;
case 'exposed_form_options':
$plugin = $this
->getPlugin('exposed_form');
if ($plugin) {
$exposed_form = $this
->getOption('exposed_form');
$plugin
->submitOptionsForm($form['exposed_form_options'], $form_state);
$exposed_form['options'] = $form_state['values'][$section];
$this
->setOption('exposed_form', $exposed_form);
}
break;
case 'pager':
$pager = $this
->getOption('pager');
if ($pager['type'] != $form_state['values']['pager']['type']) {
$plugin = views_get_plugin('pager', $form_state['values']['pager']['type']);
if ($plugin) {
// Because pagers have very similar options, let's allow pagers to
// try to carry the options over.
$plugin
->init($this->view, $this->display, $pager['options']);
$pager = array(
'type' => $form_state['values']['pager']['type'],
'options' => $plugin->options,
);
$this
->setOption('pager', $pager);
if ($plugin
->usesOptions()) {
$this->view
->addFormToStack('display', $this->display['id'], array(
'pager_options',
));
}
}
}
break;
case 'pager_options':
$plugin = $this
->getPlugin('pager');
if ($plugin) {
$pager = $this
->getOption('pager');
$plugin
->submitOptionsForm($form['pager_options'], $form_state);
$pager['options'] = $form_state['values'][$section];
$this
->setOption('pager', $pager);
}
break;
}
foreach ($this->extender as $extender) {
$extender
->submitOptionsForm($form, $form_state);
}
}