You are here

AjaxFormTrait.php in Context 8

Same filename and directory in other branches
  1. 8.4 src/Form/AjaxFormTrait.php
  2. 8.0 src/Form/AjaxFormTrait.php

File

src/Form/AjaxFormTrait.php
View source
<?php

/**
 * @file
 * Contains \Drupal\context\Form\AjaxFormTrait.
 */
namespace Drupal\context\Form;

use Drupal\Component\Serialization\Json;
use Drupal\Component\Utility\NestedArray;

/**
 * Provides helper methods for using an AJAX modal. This is a copy of the
 * ctools AjaxFormTrait.
 */
trait AjaxFormTrait {

  /**
   * Gets attributes for use with an AJAX modal.
   *
   * @return array
   */
  public static function getAjaxAttributes() {
    return [
      'class' => [
        'use-ajax',
      ],
      'data-dialog-type' => 'modal',
      'data-dialog-options' => Json::encode([
        'width' => 1000,
      ]),
    ];
  }

  /**
   * Gets attributes for use with an add button AJAX modal.
   *
   * @return array
   */
  public static function getAjaxButtonAttributes() {
    return NestedArray::mergeDeep(AjaxFormTrait::getAjaxAttributes(), [
      'class' => [
        'button',
        'button--small',
        'button-action',
      ],
    ]);
  }

}

Traits

Namesort descending Description
AjaxFormTrait Provides helper methods for using an AJAX modal. This is a copy of the ctools AjaxFormTrait.