class WorkspaceDeleteForm
Same name and namespace in other branches
- 11.x core/modules/workspaces/src/Form/WorkspaceDeleteForm.php \Drupal\workspaces\Form\WorkspaceDeleteForm
- 10 core/modules/workspaces/src/Form/WorkspaceDeleteForm.php \Drupal\workspaces\Form\WorkspaceDeleteForm
- 9 core/modules/workspaces/src/Form/WorkspaceDeleteForm.php \Drupal\workspaces\Form\WorkspaceDeleteForm
- 8.9.x core/modules/workspaces/src/Form/WorkspaceDeleteForm.php \Drupal\workspaces\Form\WorkspaceDeleteForm
- 11.x core/modules/workspaces_ui/src/Form/WorkspaceDeleteForm.php \Drupal\workspaces_ui\Form\WorkspaceDeleteForm
Provides a form for deleting a workspace.
@internal
Hierarchy
- class \Drupal\Core\Form\FormBase implements \Drupal\Core\Form\FormInterface, \Drupal\Core\DependencyInjection\ContainerInjectionInterface uses \Drupal\Core\DependencyInjection\AutowireTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Htmx\HtmxRequestInfoTrait, \Drupal\Core\Logger\LoggerChannelTrait, \Drupal\Core\Messenger\MessengerTrait, \Drupal\Core\Routing\RedirectDestinationTrait, \Drupal\Core\StringTranslation\StringTranslationTrait
- class \Drupal\Core\Entity\EntityForm implements \Drupal\Core\Entity\EntityFormInterface extends \Drupal\Core\Form\FormBase
- class \Drupal\Core\Entity\ContentEntityForm implements \Drupal\Core\Entity\ContentEntityFormInterface extends \Drupal\Core\Entity\EntityForm
- class \Drupal\Core\Entity\ContentEntityConfirmFormBase implements \Drupal\Core\Form\ConfirmFormInterface extends \Drupal\Core\Entity\ContentEntityForm
- class \Drupal\Core\Entity\ContentEntityDeleteForm uses \Drupal\Core\Entity\EntityDeleteFormTrait extends \Drupal\Core\Entity\ContentEntityConfirmFormBase
- class \Drupal\workspaces_ui\Form\WorkspaceDeleteForm extends \Drupal\Core\Entity\ContentEntityDeleteForm
- class \Drupal\Core\Entity\ContentEntityDeleteForm uses \Drupal\Core\Entity\EntityDeleteFormTrait extends \Drupal\Core\Entity\ContentEntityConfirmFormBase
- class \Drupal\Core\Entity\ContentEntityConfirmFormBase implements \Drupal\Core\Form\ConfirmFormInterface extends \Drupal\Core\Entity\ContentEntityForm
- class \Drupal\Core\Entity\ContentEntityForm implements \Drupal\Core\Entity\ContentEntityFormInterface extends \Drupal\Core\Entity\EntityForm
- class \Drupal\Core\Entity\EntityForm implements \Drupal\Core\Entity\EntityFormInterface extends \Drupal\Core\Form\FormBase
Expanded class hierarchy of WorkspaceDeleteForm
1 file declares its use of WorkspaceDeleteForm
- WorkspacesUiHooks.php in core/
modules/ workspaces_ui/ src/ Hook/ WorkspacesUiHooks.php
File
-
core/
modules/ workspaces_ui/ src/ Form/ WorkspaceDeleteForm.php, line 19
Namespace
Drupal\workspaces_ui\FormView source
class WorkspaceDeleteForm extends ContentEntityDeleteForm {
/**
* The workspace entity.
*
* @var \Drupal\workspaces\WorkspaceInterface
*/
protected $entity;
/**
* The workspace tracker service.
*
* @var \Drupal\workspaces\WorkspaceTrackerInterface
*/
protected $workspaceTracker;
/**
* The workspace repository service.
*
* @var \Drupal\workspaces\WorkspaceRepositoryInterface
*/
protected $workspaceRepository;
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container->get('entity.repository'), $container->get('workspaces.tracker'), $container->get('workspaces.repository'), $container->get('entity_type.bundle.info'), $container->get('datetime.time'));
}
/**
* Constructs a WorkspaceDeleteForm object.
*
* @param \Drupal\Core\Entity\EntityRepositoryInterface $entity_repository
* The entity repository service.
* @param \Drupal\workspaces\WorkspaceTrackerInterface $workspace_tracker
* The workspace tracker service to check how many revisions will be
* deleted.
* @param \Drupal\workspaces\WorkspaceRepositoryInterface $workspace_repository
* The workspace repository service.
* @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $entity_type_bundle_info
* The entity type bundle service.
* @param \Drupal\Component\Datetime\TimeInterface $time
* The time service.
*/
public function __construct(EntityRepositoryInterface $entity_repository, WorkspaceTrackerInterface $workspace_tracker, WorkspaceRepositoryInterface $workspace_repository, ?EntityTypeBundleInfoInterface $entity_type_bundle_info = NULL, ?TimeInterface $time = NULL) {
parent::__construct($entity_repository, $entity_type_bundle_info, $time);
$this->workspaceTracker = $workspace_tracker;
$this->workspaceRepository = $workspace_repository;
}
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state) {
$form = parent::buildForm($form, $form_state);
$workspace_tree = $this->workspaceRepository
->loadTree();
if (!empty($workspace_tree[$this->entity
->id()]['descendants'])) {
$form['description']['#markup'] = $this->t('The %label workspace can not be deleted because it has child workspaces.', [
'%label' => $this->entity
->label(),
]);
$form['actions']['submit']['#disabled'] = TRUE;
return $form;
}
$tracked_entities = $this->workspaceTracker
->getTrackedEntities($this->entity
->id());
$items = [];
foreach ($tracked_entities as $entity_type_id => $entity_ids) {
$revision_ids = $this->workspaceTracker
->getAllTrackedRevisions($this->entity
->id(), $entity_type_id, $entity_ids);
$label = $this->entityTypeManager
->getDefinition($entity_type_id)
->getLabel();
$items[] = $this->formatPlural(count($revision_ids), '1 @label revision.', '@count @label revisions.', [
'@label' => $label,
]);
}
$form['revisions'] = [
'#theme' => 'item_list',
'#title' => $this->t('The following will also be deleted:'),
'#items' => $items,
];
return $form;
}
/**
* {@inheritdoc}
*/
public function getDescription() {
return $this->t('This action cannot be undone, and will also delete all content created in this workspace.');
}
}
Members
| Title Sort descending | Modifiers | Object type | Summary | Member alias | Overriden Title | Overrides |
|---|---|---|---|---|---|---|
| AutowiredInstanceTrait::createInstanceAutowired | public static | function | Instantiates a new instance of the implementing class using autowiring. | |||
| AutowiredInstanceTrait::getAutowireArguments | private static | function | Resolves arguments for a method using autowiring. | |||
| ConfigDependencyDeleteFormTrait::addDependencyListsToForm | protected | function | Adds form elements to list affected configuration entities. | |||
| ConfigDependencyDeleteFormTrait::t | abstract protected | function | Translates a string to the current language or to a given language. | |||
| ContentEntityConfirmFormBase::actions | protected | function | Overrides EntityForm::actions | |||
| ContentEntityConfirmFormBase::delete | public | function | The delete() method is not used in ContentEntityConfirmFormBase. This overrides the default implementation that redirects to the delete-form confirmation form. |
|||
| ContentEntityConfirmFormBase::form | public | function | Overrides ContentEntityForm::form | |||
| ContentEntityConfirmFormBase::getBaseFormId | public | function | Overrides EntityForm::getBaseFormId | |||
| ContentEntityConfirmFormBase::getCancelText | public | function | Overrides ConfirmFormInterface::getCancelText | |||
| ContentEntityConfirmFormBase::getFormName | public | function | Overrides ConfirmFormInterface::getFormName | |||
| ContentEntityConfirmFormBase::save | public | function | The save() method is not used in ContentEntityConfirmFormBase. This overrides the default implementation that saves the entity. |
Overrides EntityForm::save | ||
| ContentEntityConfirmFormBase::validateForm | public | function | Overrides ContentEntityForm::validateForm | |||
| ContentEntityDeleteForm::getCancelUrl | public | function | Overrides ConfirmFormInterface::getCancelUrl | 5 | ||
| ContentEntityDeleteForm::getDeletionMessage | protected | function | 4 | |||
| ContentEntityDeleteForm::getQuestion | public | function | Overrides ConfirmFormInterface::getQuestion | |||
| ContentEntityDeleteForm::logDeletionMessage | protected | function | 2 | |||
| ContentEntityDeleteForm::submitForm | public | function | Overrides EntityDeleteFormTrait::submitForm | |||
| ContentEntityForm::$entityRepository | protected | property | The entity repository service. | |||
| ContentEntityForm::$entityTypeBundleInfo | protected | property | The entity type bundle info service. | |||
| ContentEntityForm::$time | protected | property | The time service. | |||
| ContentEntityForm::addRevisionableFormFields | protected | function | Add revision form fields if the entity enabled the UI. | |||
| ContentEntityForm::buildEntity | public | function | Overrides EntityForm::buildEntity | 4 | ||
| ContentEntityForm::copyFormValuesToEntity | protected | function | Overrides EntityForm::copyFormValuesToEntity | |||
| ContentEntityForm::flagViolations | protected | function | Flags violations for the current form. | 4 | ||
| ContentEntityForm::getBundleEntity | protected | function | Returns the bundle entity of the entity, or NULL if there is none. | |||
| ContentEntityForm::getEditedFieldNames | protected | function | Gets the names of all fields edited in the form. | 4 | ||
| ContentEntityForm::getFormDisplay | public | function | Overrides ContentEntityFormInterface::getFormDisplay | |||
| ContentEntityForm::getFormLangcode | public | function | Overrides ContentEntityFormInterface::getFormLangcode | |||
| ContentEntityForm::getNewRevisionDefault | protected | function | Should new revisions created on default. | |||
| ContentEntityForm::init | protected | function | Initializes the form state and the entity before the first form build. | Overrides EntityForm::init | 1 | |
| ContentEntityForm::initFormLangcodes | protected | function | Initializes form language code values. | |||
| ContentEntityForm::isDefaultFormLangcode | public | function | Overrides ContentEntityFormInterface::isDefaultFormLangcode | |||
| ContentEntityForm::prepareEntity | protected | function | Overrides EntityForm::prepareEntity | 1 | ||
| ContentEntityForm::setFormDisplay | public | function | Overrides ContentEntityFormInterface::setFormDisplay | |||
| ContentEntityForm::showRevisionUi | protected | function | Checks whether the revision form fields should be added to the form. | |||
| ContentEntityForm::updateChangedTime | public | function | Updates the changed time of the entity. | |||
| ContentEntityForm::updateFormLangcode | public | function | Updates the form language to reflect any change to the entity language. | |||
| DependencySerializationTrait::$_entityStorages | protected | property | An array of entity type IDs keyed by the property name of their storages. | |||
| DependencySerializationTrait::$_serviceIds | protected | property | An array of service IDs keyed by property name used for serialization. | |||
| DependencySerializationTrait::__sleep | public | function | 2 | |||
| DependencySerializationTrait::__wakeup | public | function | 2 | |||
| EntityDeleteFormTrait::getCancelUrl | public | function | Aliased as: traitGetCancelUrl | 2 | ||
| EntityDeleteFormTrait::getConfirmText | public | function | 1 | |||
| EntityDeleteFormTrait::getDeletionMessage | protected | function | Gets the message to display to the user after deleting the entity. | Aliased as: traitGetDeletionMessage | 3 | |
| EntityDeleteFormTrait::getEntity | abstract public | function | Gets the entity of this form. | |||
| EntityDeleteFormTrait::getQuestion | public | function | Aliased as: traitGetQuestion | 4 | ||
| EntityDeleteFormTrait::getRedirectUrl | protected | function | Returns the URL where the user should be redirected after deletion. | 4 | ||
| EntityDeleteFormTrait::logDeletionMessage | protected | function | Logs a message about the deleted entity. | Aliased as: traitLogDeletionMessage | 2 | |
| EntityDeleteFormTrait::logger | abstract protected | function | Gets the logger for a specific channel. | |||
| EntityForm::$entityTypeManager | protected | property | The entity type manager. | 3 | ||
| EntityForm::$moduleHandler | protected | property | The module handler service. | 3 | ||
| EntityForm::$operation | protected | property | The name of the current operation. | |||
| EntityForm::actionsElement | protected | function | Returns the action form element for the current entity form. | |||
| EntityForm::afterBuild | public | function | Form element #after_build callback: Updates the entity with submitted data. | 1 | ||
| EntityForm::getCallableFromDefinition | protected | function | Gets a callable from a string or array definition if possible. | |||
| EntityForm::getEntityFromRouteMatch | public | function | Overrides EntityFormInterface::getEntityFromRouteMatch | 3 | ||
| EntityForm::getFormId | public | function | Overrides FormInterface::getFormId | 14 | ||
| EntityForm::getOperation | public | function | Overrides EntityFormInterface::getOperation | |||
| EntityForm::prepareInvokeAll | protected | function | Invokes the specified prepare hook variant. | |||
| EntityForm::processForm | public | function | Process callback: assigns weights and hides extra fields. | |||
| EntityForm::setEntity | public | function | Overrides EntityFormInterface::setEntity | |||
| EntityForm::setEntityTypeManager | public | function | Overrides EntityFormInterface::setEntityTypeManager | |||
| EntityForm::setModuleHandler | public | function | Overrides EntityFormInterface::setModuleHandler | |||
| EntityForm::setOperation | public | function | Overrides EntityFormInterface::setOperation | |||
| FormBase::$configFactory | protected | property | The config factory. | 1 | ||
| FormBase::$requestStack | protected | property | The request stack. | 1 | ||
| FormBase::$routeMatch | protected | property | The route match. | |||
| FormBase::config | protected | function | Retrieves a configuration object. | |||
| FormBase::configFactory | protected | function | Gets the config factory for this form. | 1 | ||
| FormBase::container | private | function | Returns the service container. | |||
| FormBase::currentUser | protected | function | Gets the current user. | 2 | ||
| FormBase::getRequest | protected | function | Gets the request object. | Overrides HtmxRequestInfoTrait::getRequest | ||
| FormBase::getRouteMatch | protected | function | Gets the route match. | |||
| FormBase::redirect | protected | function | Returns a redirect response object for the specified route. | |||
| FormBase::resetConfigFactory | public | function | Resets the configuration factory. | |||
| FormBase::setConfigFactory | public | function | Sets the config factory for this form. | |||
| FormBase::setRequestStack | public | function | Sets the request stack object to use. | |||
| HtmxRequestInfoTrait::getHtmxCurrentUrl | protected | function | Retrieves the URL of the requesting page from an HTMX request header. | |||
| HtmxRequestInfoTrait::getHtmxPrompt | protected | function | Retrieves the prompt from an HTMX request header. | |||
| HtmxRequestInfoTrait::getHtmxTarget | protected | function | Retrieves the target identifier from an HTMX request header. | |||
| HtmxRequestInfoTrait::getHtmxTrigger | protected | function | Retrieves the trigger identifier from an HTMX request header. | |||
| HtmxRequestInfoTrait::getHtmxTriggerName | protected | function | Retrieves the trigger name from an HTMX request header. | |||
| HtmxRequestInfoTrait::isHtmxBoosted | protected | function | Determines if the request is boosted by HTMX. | |||
| HtmxRequestInfoTrait::isHtmxHistoryRestoration | protected | function | Determines if if the request is for history restoration. | |||
| HtmxRequestInfoTrait::isHtmxRequest | protected | function | Determines if the request is sent by HTMX. | |||
| LoggerChannelTrait::$loggerFactory | protected | property | The logger channel factory service. | |||
| LoggerChannelTrait::getLogger | protected | function | Gets the logger for a specific channel. | |||
| LoggerChannelTrait::setLoggerFactory | public | function | Injects the logger channel factory. | |||
| MessengerTrait::$messenger | protected | property | The messenger. | 25 | ||
| MessengerTrait::messenger | public | function | Gets the messenger. | 25 | ||
| MessengerTrait::setMessenger | public | function | Sets the messenger. | |||
| RedirectDestinationTrait::$redirectDestination | protected | property | The redirect destination service. | 2 | ||
| RedirectDestinationTrait::getDestinationArray | protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |||
| RedirectDestinationTrait::getRedirectDestination | protected | function | Returns the redirect destination service. | |||
| RedirectDestinationTrait::setRedirectDestination | public | function | Sets the redirect destination service. | |||
| StringTranslationTrait::$stringTranslation | protected | property | The string translation service. | 3 | ||
| StringTranslationTrait::formatPlural | protected | function | Formats a string containing a count of items. | |||
| StringTranslationTrait::getNumberOfPlurals | protected | function | Returns the number of plurals supported by a given language. | |||
| StringTranslationTrait::getStringTranslation | protected | function | Gets the string translation service. | |||
| StringTranslationTrait::setStringTranslation | public | function | Sets the string translation service to use. | 2 | ||
| WorkspaceDeleteForm::$entity | protected | property | The workspace entity. | Overrides ContentEntityForm::$entity | ||
| WorkspaceDeleteForm::$workspaceRepository | protected | property | The workspace repository service. | |||
| WorkspaceDeleteForm::$workspaceTracker | protected | property | The workspace tracker service. | |||
| WorkspaceDeleteForm::buildForm | public | function | Overrides ContentEntityDeleteForm::buildForm | |||
| WorkspaceDeleteForm::create | public static | function | Overrides ContentEntityForm::create | |||
| WorkspaceDeleteForm::getDescription | public | function | Overrides ContentEntityConfirmFormBase::getDescription | |||
| WorkspaceDeleteForm::__construct | public | function | Constructs a WorkspaceDeleteForm object. | Overrides ContentEntityForm::__construct |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.