class WizardFormController in Chaos Tool Suite (ctools) 8.3
Wrapping controller for wizard forms that serve as the main page body.
Hierarchy
- class \Drupal\Core\Controller\FormController uses DependencySerializationTrait
- class \Drupal\ctools\Controller\WizardFormController
Expanded class hierarchy of WizardFormController
1 string reference to 'WizardFormController'
1 service uses WizardFormController
File
- src/
Controller/ WizardFormController.php, line 15
Namespace
Drupal\ctools\ControllerView source
class WizardFormController extends FormController {
/**
* The class resolver.
*
* @var \Drupal\Core\DependencyInjection\ClassResolverInterface
*/
protected $classResolver;
/**
* Tempstore Factory for keeping track of values in each step of the wizard.
*
* @var \Drupal\Core\TempStore\SharedTempStoreFactory
*/
protected $tempstore;
/**
* The event dispatcher.
*
* @var \Symfony\Component\EventDispatcher\EventDispatcherInterface
*/
protected $dispatcher;
/**
* @param \Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface $argument_resolver
* The argument resolver.
* @param \Drupal\Core\Form\FormBuilderInterface $form_builder
* The form builder.
* @param \Drupal\ctools\Wizard\WizardFactoryInterface $wizard_factory
* The wizard factory.
*/
public function __construct(ArgumentResolverInterface $argument_resolver, FormBuilderInterface $form_builder, WizardFactoryInterface $wizard_factory) {
parent::__construct($argument_resolver, $form_builder);
$this->wizardFactory = $wizard_factory;
}
/**
* {@inheritdoc}
*/
protected function getFormArgument(RouteMatchInterface $route_match) {
return $route_match
->getRouteObject()
->getDefault('_wizard');
}
/**
* Wizards are not instantiated as simply as forms, so this method is unused.
*/
protected function getFormObject(RouteMatchInterface $route_match, $form_arg) {
if (!is_subclass_of($form_arg, '\\Drupal\\ctools\\Wizard\\FormWizardInterface')) {
throw new \Exception("The _wizard default must reference a class instance of \\Drupal\\ctools\\Wizard\\FormWizardInterface.");
}
$parameters = $route_match
->getParameters()
->all();
$parameters += $form_arg::getParameters();
$parameters['route_match'] = $route_match;
return $this->wizardFactory
->createWizard($form_arg, $parameters);
}
/**
* {@inheritdoc}
*/
public function getContentResult(Request $request, RouteMatchInterface $route_match) {
$wizard = $this
->getFormObject($route_match, $this
->getFormArgument($route_match));
$ajax = $request->attributes
->get('js') == 'ajax' ? TRUE : FALSE;
return $this->wizardFactory
->getWizardForm($wizard, $request->attributes
->all(), $ajax);
}
}
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 | |
FormController:: |
protected | property | The argument resolver. | |
FormController:: |
protected | property | The controller resolver. | |
FormController:: |
protected | property | The form builder. | |
WizardFormController:: |
protected | property | The class resolver. | |
WizardFormController:: |
protected | property | The event dispatcher. | |
WizardFormController:: |
protected | property | Tempstore Factory for keeping track of values in each step of the wizard. | |
WizardFormController:: |
public | function |
Invokes the form and returns the result. Overrides FormController:: |
|
WizardFormController:: |
protected | function |
Extracts the form argument string from a request. Overrides FormController:: |
1 |
WizardFormController:: |
protected | function |
Wizards are not instantiated as simply as forms, so this method is unused. Overrides FormController:: |
|
WizardFormController:: |
public | function |
Overrides FormController:: |
1 |