AddFormBase
abstract class AddFormBase extends FormBase implements BaseFormIdInterface, TrustedCallbackInterface (View source)
Provides a base class for creating media items from within the media library.
Traits
Provides dependency injection friendly methods for serialization.
Wrapper methods for the Link Generator.
Wrapper methods for the logger factory service.
Provides a trait for the messenger service.
Wrapper methods for the Redirect Destination.
Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.
Wrapper methods for the Url Generator.
Properties
| protected array | $_serviceIds | An array of service IDs keyed by property name used for serialization. |
from DependencySerializationTrait |
| protected array | $_entityStorages | An array of entity type IDs keyed by the property name of their storages. |
from DependencySerializationTrait |
| protected LinkGeneratorInterface | $linkGenerator | The link generator. |
from LinkGeneratorTrait |
| protected LoggerChannelFactoryInterface | $loggerFactory | The logger channel factory service. |
from LoggerChannelTrait |
| protected MessengerInterface | $messenger | The messenger. |
from MessengerTrait |
| protected RedirectDestinationInterface | $redirectDestination | The redirect destination service. |
from RedirectDestinationTrait |
| protected TranslationInterface | $stringTranslation | The string translation service. |
from StringTranslationTrait |
| protected UrlGeneratorInterface | $urlGenerator | The url generator. |
from UrlGeneratorTrait |
| protected RequestStack | $requestStack | The request stack. |
from FormBase |
| protected ConfigFactoryInterface | $configFactory | The config factory. |
from FormBase |
| protected RouteMatchInterface | $routeMatch | The route match. |
from FormBase |
| protected EntityTypeManagerInterface | $entityTypeManager | The entity type manager. |
|
| protected MediaLibraryUiBuilder | $libraryUiBuilder | The media library UI builder. |
|
| protected MediaTypeInterface | $mediaType | The type of media items being created by this form. |
|
| protected EntityViewBuilderInterface | $viewBuilder | The media view builder. |
|
| protected OpenerResolverInterface | $openerResolver | The opener resolver. |
Methods
Gets the logger for a specific channel.
Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
Returns the redirect destination service.
Sets the redirect destination service.
Translates a string to the current language or to a given language.
Formats a string containing a count of items.
Returns the number of plurals supported by a given language.
Gets the string translation service.
Generates a URL or path for a specific route based on the given parameters.
Returns a redirect response object for the specified route.
Instantiates a new instance of this class.
Sets the request stack object to use.
Constructs a AddFormBase object.
Returns a string identifying the base form.
Builds the element for submitting source field value(s).
Builds the sub-form for setting required fields on a new media item.
Lists the trusted callbacks provided by the implementing class.
Converts the set of newly added media into an item list for rendering.
Returns a render array containing the current selection.
Returns a render array for a single pre-selected media item.
Returns an array of supported actions for the form.
Creates media items from source field input values.
Creates a new, unsaved media item from a source field value.
Prepares a created media item to be permanently saved.
Submit handler for the remove button.
AJAX callback to update the entire form based on source field input.
Validate a created media item.
AJAX callback to send the new media item(s) to the media library.
AJAX callback to send the new media item(s) to the calling code.
Get the media library state from the form state.
Returns the name of the source field for a media type.
Get all pre-selected media items from the form state.
Get all pre-selected and added media items from the form state.
Determines if the "advanced UI" of the Media Library is enabled.
Details
__sleep()
{@inheritdoc}
__wakeup()
{@inheritdoc}
protected GeneratedLink
l($text, Url $url)
deprecated
deprecated
Renders a link to a route given a route name and its parameters.
For details on the arguments, usage, and possible exceptions see \Drupal\Core\Utility\LinkGeneratorInterface::generate().
protected LinkGeneratorInterface
getLinkGenerator()
deprecated
deprecated
Returns the link generator.
$this
setLinkGenerator(LinkGeneratorInterface $generator)
deprecated
deprecated
Sets the link generator service.
protected LoggerInterface
getLogger(string $channel)
Gets the logger for a specific channel.
$this
setLoggerFactory(LoggerChannelFactoryInterface $logger_factory)
Injects the logger channel factory.
setMessenger(MessengerInterface $messenger)
Sets the messenger.
MessengerInterface
messenger()
Gets the messenger.
protected array
getDestinationArray()
Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
protected RedirectDestinationInterface
getRedirectDestination()
Returns the redirect destination service.
$this
setRedirectDestination(RedirectDestinationInterface $redirect_destination)
Sets the redirect destination service.
protected TranslatableMarkup
t(string $string, array $args = [], array $options = [])
Translates a string to the current language or to a given language.
See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.
In order for strings to be localized, make them available in one of the ways supported by the
protected
formatPlural($count, $singular, $plural, array $args = [], array $options = [])
Formats a string containing a count of items.
protected
getNumberOfPlurals($langcode = NULL)
Returns the number of plurals supported by a given language.
protected TranslationInterface
getStringTranslation()
Gets the string translation service.
$this
setStringTranslation(TranslationInterface $translation)
Sets the string translation service to use.
protected string
url($route_name, $route_parameters = [], $options = [])
deprecated
deprecated
Generates a URL or path for a specific route based on the given parameters.
For details on the arguments, usage, and possible exceptions see \Drupal\Core\Routing\UrlGeneratorInterface::generateFromRoute().
protected RedirectResponse
redirect(string $route_name, array $route_parameters = [], array $options = [], int $status = 302)
deprecated
deprecated
Returns a redirect response object for the specified route.
protected UrlGeneratorInterface
getUrlGenerator()
deprecated
deprecated
Returns the URL generator service.
$this
setUrlGenerator(UrlGeneratorInterface $generator)
deprecated
deprecated
Sets the URL generator service.
static
create(ContainerInterface $container)
Instantiates a new instance of this class.
This is a factory method that returns a new instance of this class. The factory should pass any needed dependencies into the constructor of this class, but not the container itself. Every call to this method must return a new instance of this class; that is, it may not implement a singleton.
validateForm(array $form, FormStateInterface $form_state)
Form validation handler.
protected ImmutableConfig
config(string $name)
Retrieves a configuration object.
This is the main entry point to the configuration API. Calling
protected ConfigFactoryInterface
configFactory()
Gets the config factory for this form.
When accessing configuration values, use $this->config(). Only use this when the config factory needs to be manipulated directly.
$this
setConfigFactory(ConfigFactoryInterface $config_factory)
Sets the config factory for this form.
resetConfigFactory()
Resets the configuration factory.
protected Request
getRequest()
Gets the request object.
protected RouteMatchInterface
getRouteMatch()
Gets the route match.
$this
setRequestStack(RequestStack $request_stack)
Sets the request stack object to use.
protected AccountInterface
currentUser()
Gets the current user.
protected LoggerInterface
logger(string $channel)
Gets the logger for a specific channel.
This method exists for backward-compatibility between FormBase and LoggerChannelTrait. Use LoggerChannelTrait::getLogger() instead.
__construct(EntityTypeManagerInterface $entity_type_manager, MediaLibraryUiBuilder $library_ui_builder, OpenerResolverInterface $opener_resolver = NULL)
Constructs a AddFormBase object.
string|null
getBaseFormId()
Returns a string identifying the base form.
protected MediaTypeInterface
getMediaType(FormStateInterface $form_state)
Get the media type from the form state.
array
buildForm(array $form, FormStateInterface $form_state)
Form constructor.
abstract protected array
buildInputElement(array $form, FormStateInterface $form_state)
Builds the element for submitting source field value(s).
The input element needs to have a submit handler to create media items from the user input and store them in the form state using ::processInputValues().
protected array
buildEntityFormElement(MediaInterface $media, array $form, FormStateInterface $form_state, int $delta)
Builds the sub-form for setting required fields on a new media item.
static string[]
trustedCallbacks()
Lists the trusted callbacks provided by the implementing class.
Trusted callbacks are public methods on the implementing class and can be invoked via \Drupal\Core\Security\DoTrustedCallbackTrait::doTrustedCallback().
array
preRenderAddedMedia(array $element)
Converts the set of newly added media into an item list for rendering.
protected array
buildCurrentSelectionArea(array $form, FormStateInterface $form_state)
Returns a render array containing the current selection.
protected array
buildSelectedItemElement(MediaInterface $media, array $form, FormStateInterface $form_state)
Returns a render array for a single pre-selected media item.
protected array
buildActions(array $form, FormStateInterface $form_state)
Returns an array of supported actions for the form.
protected
processInputValues(array $source_field_values, array $form, FormStateInterface $form_state)
Creates media items from source field input values.
protected MediaInterface
createMediaFromValue(MediaTypeInterface $media_type, EntityStorageInterface $media_storage, string $source_field_name, mixed $source_field_value)
Creates a new, unsaved media item from a source field value.
protected
prepareMediaEntityForSave(MediaInterface $media)
Prepares a created media item to be permanently saved.
removeButtonSubmit(array $form, FormStateInterface $form_state)
Submit handler for the remove button.
AjaxResponse|array
updateFormCallback(array $form, FormStateInterface $form_state)
AJAX callback to update the entire form based on source field input.
protected
validateMediaEntity(MediaInterface $media, array $form, FormStateInterface $form_state, int $delta)
Validate a created media item.
submitForm(array $form, FormStateInterface $form_state)
Form submission handler.
array|AjaxResponse
updateLibrary(array $form, FormStateInterface $form_state)
AJAX callback to send the new media item(s) to the media library.
protected array
buildMediaLibraryUi(FormStateInterface $form_state)
Build the render array of the media library UI.
array|AjaxResponse
updateWidget(array $form, FormStateInterface $form_state)
AJAX callback to send the new media item(s) to the calling code.
protected MediaLibraryState
getMediaLibraryState(FormStateInterface $form_state)
Get the media library state from the form state.
protected string
getSourceFieldName(MediaTypeInterface $media_type)
Returns the name of the source field for a media type.
protected MediaInterface[]
getPreSelectedMediaItems(FormStateInterface $form_state)
Get all pre-selected media items from the form state.
protected MediaInterface[]
getAddedMediaItems(FormStateInterface $form_state)
Get all added media items from the form state.
protected MediaInterface[]
getCurrentMediaItems(FormStateInterface $form_state)
Get all pre-selected and added media items from the form state.
protected bool
isAdvancedUi()
Determines if the "advanced UI" of the Media Library is enabled.
This exposes additional features that are useful to power users.