diff --git a/panels.module b/panels.module index 20c9d57..05e0a2e 100644 --- a/panels.module +++ b/panels.module @@ -6,7 +6,6 @@ * Core functionality for the Panels engine. */ -use Drupal\Core\Form\FormStateInterface; use \Drupal\page_manager\PageVariantInterface; define('PANELS_REQUIRED_CTOOLS_API', '2.0-alpha'); @@ -15,47 +14,6 @@ define('PANELS_TITLE_FIXED', 0); // Hide title use to be true/false. So false re define('PANELS_TITLE_NONE', 1); // And true meant no title. define('PANELS_TITLE_PANE', 2); // And this is the new behavior, where the title field will pick from a pane. -function panels_form_alter(&$form, FormStateInterface $form_state, $form_id) { - if ($form_id == 'page_manage_variant_configure_form') { - $cached_values = $form_state->getTemporaryValue('wizard'); - /** @var \Drupal\page_manager\PageVariantInterface $page_variant */ - $page_variant = $cached_values['page_variant']; - if ($page_variant->getVariantPluginId() == 'panels_variant') { - // We'll set the title on the content page. - $form['variant_settings']['page_title']['#access'] = FALSE; - // Get renderer options. - $options = []; - foreach (\Drupal::service('plugin.manager.panels.display_builder')->getDefinitions() as $plugin_id => $definition) { - $options[$plugin_id] = $definition['label']; - } - $form['panel_settings'] = [ - 'builder' => [ - '#type' => 'select', - '#title' => t('Renderer'), - '#options' => $options, - '#default_value' => $page_variant->getVariantPlugin()->getBuilder()->getPluginId(), - ], - ]; - $form['delete']['#weight'] = 100; - array_unshift($form['actions']['submit']['#submit'], 'panels_page_manager_general_form_submit_handler'); - array_unshift($form['actions']['update_and_save']['#submit'], 'panels_page_manager_general_form_submit_handler'); - array_unshift($form['actions']['finish']['#submit'], 'panels_page_manager_general_form_submit_handler'); - } - } -} - -function panels_page_manager_general_form_submit_handler(&$form, FormStateInterface $form_state) { - $builder_id = $form_state->getValue('builder'); - $cached_values = $form_state->getTemporaryValue('wizard'); - /** @var \Drupal\page_manager\PageVariantInterface $page_variant */ - $page_variant = $cached_values['page_variant']; - /** @var \Drupal\panels\Plugin\DisplayVariant\PanelsDisplayVariant $variant */ - $variant = $page_variant->getVariantPlugin(); - $variant->setBuilder($builder_id); - $cached_values['plugin'] = $variant; - $form_state->setTemporaryValue('wizard', $cached_values); -} - /** * Returns the API version of Panels. This didn't exist in 1. * diff --git a/src/Plugin/DisplayVariant/PanelsDisplayVariant.php b/src/Plugin/DisplayVariant/PanelsDisplayVariant.php index e1552e0..d8020fa 100644 --- a/src/Plugin/DisplayVariant/PanelsDisplayVariant.php +++ b/src/Plugin/DisplayVariant/PanelsDisplayVariant.php @@ -345,23 +345,21 @@ class PanelsDisplayVariant extends BlockDisplayVariant implements PluginWizardIn '#default_value' => $this->configuration['page_title'] ?: '', ]; - if (empty($this->configuration['builder'])) { - $plugins = $this->builderManager->getDefinitions(); - $options = array(); - foreach ($plugins as $id => $plugin) { - $options[$id] = $plugin['label']; - } - // Only allow the IPE if the storage information is set. - if (!$this->getStorageType()) { - unset($options['ipe']); - } - $form['builder'] = [ - '#title' => $this->t('Builder'), - '#type' => 'select', - '#options' => $options, - '#default_value' => 'standard', - ]; + $plugins = $this->builderManager->getDefinitions(); + $options = array(); + foreach ($plugins as $id => $plugin) { + $options[$id] = $plugin['label']; } + // Only allow the IPE if the storage information is set. + if (!$this->getStorageType()) { + unset($options['ipe']); + } + $form['builder'] = [ + '#title' => $this->t('Builder'), + '#type' => 'select', + '#options' => $options, + '#default_value' => !empty($this->configuration['builder']) ? $this->configuration['builder'] : 'standard', + ]; return $form; }