class WizardEntityFormController

Same name in other branches
  1. 8.x-3.x src/Controller/WizardEntityFormController.php \Drupal\ctools\Controller\WizardEntityFormController

Wrapping controller for wizard forms that serve as the main page body.

Hierarchy

Expanded class hierarchy of WizardEntityFormController

1 string reference to 'WizardEntityFormController'
ctools.services.yml in ./ctools.services.yml
ctools.services.yml
1 service uses WizardEntityFormController
ctools.wizard.entity.form in ./ctools.services.yml
Drupal\ctools\Controller\WizardEntityFormController

File

src/Controller/WizardEntityFormController.php, line 14

Namespace

Drupal\ctools\Controller
View source
class WizardEntityFormController extends WizardFormController {
    
    /**
     * The entity type manager.
     *
     * @var \Drupal\Core\Entity\EntityTypeManagerInterface
     */
    protected $entityTypeManager;
    
    /**
     * @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.
     * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
     *   The entity type manager.
     */
    public function __construct(ArgumentResolverInterface $argument_resolver, FormBuilderInterface $form_builder, WizardFactoryInterface $wizard_factory, EntityTypeManagerInterface $entity_type_manager) {
        parent::__construct($argument_resolver, $form_builder, $wizard_factory);
        $this->entityTypeManager = $entity_type_manager;
    }
    
    /**
     * {@inheritdoc}
     */
    protected function getFormArgument(RouteMatchInterface $route_match) {
        $form_arg = $route_match->getRouteObject()
            ->getDefault('_entity_wizard');
        [
            $entity_type_id,
            $operation,
        ] = explode('.', $form_arg);
        $definition = $this->entityTypeManager
            ->getDefinition($entity_type_id);
        $handlers = $definition->getHandlerClasses();
        if (empty($handlers['wizard'][$operation])) {
            throw new \Exception(sprintf('Unsupported wizard operation %s', $operation));
        }
        return $handlers['wizard'][$operation];
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
DependencySerializationTrait::$_entityStorages protected property
DependencySerializationTrait::$_serviceIds protected property
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
FormController::$argumentResolver protected property The argument resolver.
FormController::$formBuilder protected property The form builder.
WizardEntityFormController::$entityTypeManager protected property The entity type manager.
WizardEntityFormController::getFormArgument protected function Extracts the form argument string from a request. Overrides WizardFormController::getFormArgument
WizardEntityFormController::__construct public function Overrides WizardFormController::__construct
WizardFormController::$classResolver protected property The class resolver.
WizardFormController::$dispatcher protected property The event dispatcher.
WizardFormController::$tempstore protected property Tempstore Factory for keeping track of values in each step of the wizard.
WizardFormController::getContentResult public function Invokes the form and returns the result. Overrides FormController::getContentResult
WizardFormController::getFormObject protected function Wizards are not instantiated as simply as forms, so this method is unused. Overrides FormController::getFormObject