You are here

class WebformUiElementEditForm in Webform 6.x

Same name and namespace in other branches
  1. 8.5 modules/webform_ui/src/Form/WebformUiElementEditForm.php \Drupal\webform_ui\Form\WebformUiElementEditForm

Provides an edit webform for a webform element.

Hierarchy

Expanded class hierarchy of WebformUiElementEditForm

1 string reference to 'WebformUiElementEditForm'
webform_ui.routing.yml in modules/webform_ui/webform_ui.routing.yml
modules/webform_ui/webform_ui.routing.yml

File

modules/webform_ui/src/Form/WebformUiElementEditForm.php, line 16

Namespace

Drupal\webform_ui\Form
View source
class WebformUiElementEditForm extends WebformUiElementFormBase {

  /**
   * {@inheritdoc}
   */
  protected $operation = 'update';

  /**
   * {@inheritdoc}
   */
  public function buildForm(array $form, FormStateInterface $form_state, WebformInterface $webform = NULL, $key = NULL, $parent_key = NULL, $type = NULL) {
    $this->element = $webform
      ->getElementDecoded($key);
    if ($this->element === NULL) {
      throw new NotFoundHttpException();
    }

    // Handler changing element type.
    if ($type = $this
      ->getRequest()
      ->get('type')) {
      $webform_element = $this
        ->getWebformElementPlugin();
      $related_types = $webform_element
        ->getRelatedTypes($this->element);
      if (!isset($related_types[$type])) {
        throw new NotFoundHttpException();
      }
      $this->originalType = $this->element['#type'];
      $this->element['#type'] = $type;
    }

    // Issue: #title is display as modal dialog's title and can't be escaped.
    // Workaround: Filter and define @title as safe markup.
    $title = WebformElementHelper::getAdminTitle($this->element);
    $form['#title'] = $this
      ->t('Edit @title element', [
      '@title' => Markup::create(Xss::filterAdmin($title)),
    ]);
    $this->action = $this
      ->t('updated');
    $form = parent::buildForm($form, $form_state, $webform, $key);

    // Delete action.
    if (!$form_state
      ->get('default_value_element')) {
      $url = new Url('entity.webform_ui.element.delete_form', [
        'webform' => $webform
          ->id(),
        'key' => $key,
      ]);
      $this
        ->buildDialogDeleteAction($form, $form_state, $url);
    }
    return $form;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property
DependencySerializationTrait::$_serviceIds protected property
DependencySerializationTrait::__sleep public function 2
DependencySerializationTrait::__wakeup public function 2
FormBase::$configFactory protected property The config factory. 3
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. 3
FormBase::container private function Returns the service container.
FormBase::currentUser protected function Gets the current user.
FormBase::getRequest protected function Gets the request object.
FormBase::getRouteMatch protected function Gets the route match.
FormBase::logger protected function Gets the logger for a specific channel.
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.
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. 27
MessengerTrait::messenger public function Gets the messenger. 27
MessengerTrait::setMessenger public function Sets the messenger.
RedirectDestinationTrait::$redirectDestination protected property The redirect destination service. 1
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. 4
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
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
WebformAjaxFormTrait::announce protected function Queue announcement with Ajax response.
WebformAjaxFormTrait::buildAjaxForm protected function Add Ajax support to a form.
WebformAjaxFormTrait::createAjaxResponse protected function Create an AjaxResponse or WebformAjaxResponse object.
WebformAjaxFormTrait::getAnnouncements protected function Get announcements.
WebformAjaxFormTrait::getDefaultAjaxSettings protected function Get default ajax callback settings. 1
WebformAjaxFormTrait::getFormStateRedirectUrl protected function Get redirect URL from the form's state.
WebformAjaxFormTrait::getWrapperId protected function Get the form's Ajax wrapper id. 1
WebformAjaxFormTrait::isCallableAjaxCallback protected function Determine if Ajax callback is callable.
WebformAjaxFormTrait::isDialog protected function Is the current request for an Ajax modal/dialog.
WebformAjaxFormTrait::isOffCanvasDialog protected function Is the current request for an off canvas dialog.
WebformAjaxFormTrait::missingAjaxCallback protected function Handle missing Ajax callback.
WebformAjaxFormTrait::replaceForm protected function Replace form via an Ajax response. 1
WebformAjaxFormTrait::resetAnnouncements protected function Reset announcements.
WebformAjaxFormTrait::setAnnouncements protected function Set announcements.
WebformAjaxFormTrait::submitAjaxForm public function Submit form #ajax callback. 1
WebformAjaxFormTrait::validateAjaxForm public function Validate form #ajax callback. 1
WebformDialogFormTrait::buildDialogConfirmForm protected function Add modal dialog support to a confirm form.
WebformDialogFormTrait::buildDialogDeleteAction protected function Build webform dialog delete link.
WebformDialogFormTrait::buildDialogForm protected function Add modal dialog support to a form.
WebformDialogFormTrait::cancelAjaxForm public function Cancel form #ajax callback. Overrides WebformAjaxFormTrait::cancelAjaxForm 1
WebformDialogFormTrait::closeDialog public function Close dialog.
WebformDialogFormTrait::isAjax protected function Returns if webform is using Ajax. Overrides WebformAjaxFormTrait::isAjax 1
WebformDialogFormTrait::noSubmit public function Empty submit callback used to only have the submit button to use an #ajax submit callback. Overrides WebformAjaxFormTrait::noSubmit
WebformDialogFormTrait::noValidate public function Validate callback to clear validation errors. 2
WebformUiElementEditForm::$operation protected property The operation of the current webform. Overrides WebformUiElementFormBase::$operation
WebformUiElementEditForm::buildForm public function Form constructor. Overrides WebformUiElementFormBase::buildForm
WebformUiElementFormBase::$action protected property The action of the current webform.
WebformUiElementFormBase::$element protected property The webform element.
WebformUiElementFormBase::$elementManager protected property The webform element manager.
WebformUiElementFormBase::$elementsValidator protected property The webform element validator.
WebformUiElementFormBase::$entityFieldManager protected property The entity field manager.
WebformUiElementFormBase::$key protected property The webform element key.
WebformUiElementFormBase::$originalType protected property The webform element's original element type.
WebformUiElementFormBase::$parentKey protected property The webform element parent key.
WebformUiElementFormBase::$renderer protected property The renderer.
WebformUiElementFormBase::$tokenManager protected property The token manager.
WebformUiElementFormBase::$webform protected property The webform.
WebformUiElementFormBase::buildDefaultValueForm public function Build update default value form elements.
WebformUiElementFormBase::create public static function Instantiates a new instance of this class. Overrides FormBase::create
WebformUiElementFormBase::exists public function Determines if the webform element key already exists. 1
WebformUiElementFormBase::getDefaultKey public function Get the default key for the current element.
WebformUiElementFormBase::getDefaultValue public function Get updated default value for an element.
WebformUiElementFormBase::getElement public function Return the render element associated with this form. Overrides WebformUiElementFormInterface::getElement
WebformUiElementFormBase::getFormId public function Returns a unique string identifying the form. Overrides FormInterface::getFormId 1
WebformUiElementFormBase::getKey public function Return the render element's key associated with this form. Overrides WebformUiElementFormInterface::getKey
WebformUiElementFormBase::getParentKey public function Return the render element's parent key associated with this form. Overrides WebformUiElementFormInterface::getParentKey
WebformUiElementFormBase::getParentKeyPrefix protected function Get the parent key prefix.
WebformUiElementFormBase::getWebform public function Return the webform associated with this form. Overrides WebformUiElementFormInterface::getWebform
WebformUiElementFormBase::getWebformElementPlugin public function Return the webform element associated with this form. Overrides WebformUiElementFormInterface::getWebformElementPlugin 1
WebformUiElementFormBase::isNew public function Is new element. Overrides WebformUiElementFormInterface::isNew
WebformUiElementFormBase::isParentElementFlexbox protected function Determine if the parent element is a 'webform_flexbox'.
WebformUiElementFormBase::isParentKeyPrefixEnabled protected function Determine if parent key prefixing is enabled.
WebformUiElementFormBase::setDefaultValue public function Set default value to be updated.
WebformUiElementFormBase::submitForm public function Form submission handler. Overrides FormInterface::submitForm 1
WebformUiElementFormBase::validateDefaultValue public function Default value validation handler.
WebformUiElementFormBase::validateForm public function Form validation handler. Overrides FormBase::validateForm