Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
8 / 8
CssCommand
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
3 / 3
3
100.00% covered (success)
100.00%
8 / 8
 __construct
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
3 / 3
 setProperty
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
2 / 2
 render
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
3 / 3
<?php
/**
 * @file
 * Contains \Drupal\Core\Ajax\CssCommand.
 */
namespace Drupal\Core\Ajax;
/**
 * 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.
 *
 * @see http://docs.jquery.com/CSS/css#properties
 *
 * @ingroup ajax
 */
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 = array();
  /**
   * 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 = array()) {
    $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 array(
      'command' => 'css',
      'selector' => $this->selector,
      'argument' => $this->css,
    );
  }
}