VariantPluginAddBlockForm.php in Page Manager 8.4
Same filename and directory in other branches
Namespace
Drupal\page_manager_ui\FormFile
page_manager_ui/src/Form/VariantPluginAddBlockForm.phpView source
<?php
namespace Drupal\page_manager_ui\Form;
use Drupal\Component\Plugin\PluginManagerInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\TempStore\SharedTempStoreFactory;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\Request;
/**
* Provides a form for adding a block plugin to a variant.
*/
class VariantPluginAddBlockForm extends VariantPluginConfigureBlockFormBase {
/**
* The block manager.
*
* @var \Drupal\Component\Plugin\PluginManagerInterface
*/
protected $blockManager;
/**
* Constructs a new VariantPluginFormBase.
*
* @param \Drupal\Core\TempStore\SharedTempStoreFactory $tempstore
* The shared temp store.
* @param \Drupal\Component\Plugin\PluginManagerInterface $block_manager
* The block manager.
*/
public function __construct(SharedTempStoreFactory $tempstore, PluginManagerInterface $block_manager) {
parent::__construct($tempstore);
$this->blockManager = $block_manager;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container
->get('tempstore.shared'), $container
->get('plugin.manager.block'));
}
/**
* {@inheritdoc}
*/
public function getFormId() {
return 'page_manager_variant_add_block_form';
}
/**
* {@inheritdoc}
*/
protected function prepareBlock($plugin_id) {
$block = $this->blockManager
->createInstance($plugin_id);
$block_id = $this
->getVariantPlugin()
->addBlock($block
->getConfiguration());
return $this
->getVariantPlugin()
->getBlock($block_id);
}
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state, $block_display = NULL, $block_id = NULL, Request $request = NULL) {
$form = parent::buildForm($form, $form_state, $block_display, $block_id);
$form['region']['#default_value'] = $request->query
->get('region');
return $form;
}
/**
* {@inheritdoc}
*/
protected function submitText() {
return $this
->t('Add block');
}
}
Classes
Name | Description |
---|---|
VariantPluginAddBlockForm | Provides a form for adding a block plugin to a variant. |