+++ /dev/null
-<?php
-
-namespace Drupal\layout_builder\Form;
-
-use Drupal\Core\Ajax\AjaxResponse;
-use Drupal\Core\Ajax\ReplaceCommand;
-use Drupal\Core\Form\FormStateInterface;
-use Drupal\layout_builder\Controller\AjaxHelperTrait;
-
-/**
- * Provides a helper to for submitting an AJAX form.
- *
- * @internal
- *
- * @todo Move to \Drupal\Core in https://www.drupal.org/node/2896535.
- */
-trait AjaxFormHelperTrait {
-
- use AjaxHelperTrait;
-
- /**
- * Submit form dialog #ajax callback.
- *
- * @param array $form
- * An associative array containing the structure of the form.
- * @param \Drupal\Core\Form\FormStateInterface $form_state
- * The current state of the form.
- *
- * @return \Drupal\Core\Ajax\AjaxResponse
- * An AJAX response that display validation error messages or represents a
- * successful submission.
- */
- public function ajaxSubmit(array &$form, FormStateInterface $form_state) {
- if ($form_state->hasAnyErrors()) {
- $form['status_messages'] = [
- '#type' => 'status_messages',
- '#weight' => -1000,
- ];
- $response = new AjaxResponse();
- $response->addCommand(new ReplaceCommand('[data-drupal-selector="' . $form['#attributes']['data-drupal-selector'] . '"]', $form));
- }
- else {
- $response = $this->successfulAjaxSubmit($form, $form_state);
- }
- return $response;
- }
-
- /**
- * Allows the form to respond to a successful AJAX submission.
- *
- * @param array $form
- * An associative array containing the structure of the form.
- * @param \Drupal\Core\Form\FormStateInterface $form_state
- * The current state of the form.
- *
- * @return \Drupal\Core\Ajax\AjaxResponse
- * An AJAX response.
- */
- abstract protected function successfulAjaxSubmit(array $form, FormStateInterface $form_state);
-
-}