You are here

class CssCommand in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Ajax/CssCommand.php \Drupal\Core\Ajax\CssCommand

An AJAX command for calling the jQuery css() method.

The 'css' command will instruct the client to use the jQuery css() method to apply the CSS arguments to elements matched by the given selector.

This command is implemented by Drupal.AjaxCommands.prototype.css() defined in misc/ajax.js.

Hierarchy

Expanded class hierarchy of CssCommand

See also

http://docs.jquery.com/CSS/css#properties

Related topics

2 files declare their use of CssCommand
AjaxCommandsTest.php in core/tests/Drupal/Tests/Core/Ajax/AjaxCommandsTest.php
ajax_forms_test.module in core/modules/system/tests/modules/ajax_forms_test/ajax_forms_test.module
Simpletest mock module for Ajax forms testing.

File

core/lib/Drupal/Core/Ajax/CssCommand.php, line 18

Namespace

Drupal\Core\Ajax
View source
class CssCommand implements CommandInterface {

  /**
   * A CSS selector string.
   *
   * If the command is a response to a request from an #ajax form element then
   * this value can be NULL.
   *
   * @var string
   */
  protected $selector;

  /**
   * An array of property/value pairs to set in the CSS for the selector.
   *
   * @var array
   */
  protected $css = [];

  /**
   * Constructs a CssCommand object.
   *
   * @param string $selector
   *   A CSS selector for elements to which the CSS will be applied.
   * @param array $css
   *   An array of CSS property/value pairs to set.
   */
  public function __construct($selector, array $css = []) {
    $this->selector = $selector;
    $this->css = $css;
  }

  /**
   * Adds a property/value pair to the CSS to be added to this element.
   *
   * @param $property
   *   The CSS property to be changed.
   * @param $value
   *   The new value of the CSS property.
   *
   * @return $this
   */
  public function setProperty($property, $value) {
    $this->css[$property] = $value;
    return $this;
  }

  /**
   * Implements Drupal\Core\Ajax\CommandInterface:render().
   */
  public function render() {
    return [
      'command' => 'css',
      'selector' => $this->selector,
      'argument' => $this->css,
    ];
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CssCommand::$css protected property An array of property/value pairs to set in the CSS for the selector.
CssCommand::$selector protected property A CSS selector string.
CssCommand::render public function Implements Drupal\Core\Ajax\CommandInterface:render(). Overrides CommandInterface::render
CssCommand::setProperty public function Adds a property/value pair to the CSS to be added to this element.
CssCommand::__construct public function Constructs a CssCommand object.