예제 #1
0
 /**
  * Generates a XMLElement representation of a Symphony drawer widget.
  * A widget is identified by it's `$label`, and it's contents is defined
  * by the `XMLElement`, `$content`.
  *
  * @since Symphony 2.3
  * @param string $id
  *  The id attribute for this drawer
  * @param string $label
  *  A name for this drawer
  * @param XMLElement $content
  *  An XMLElement containing the HTML that should be contained inside
  *  the drawer.
  * @param string $default_state
  *  This parameter defines whether the drawer will be open or closed by
  *  default. It defaults to closed.
  * @param array $attributes (optional)
  *  Any additional attributes can be included in an associative array with
  *  the key being the name and the value being the value of the attribute.
  *  Attributes set from this array will override existing attributes
  *  set by previous params, except the `id` attribute.
  * @return XMLElement
  */
 public function Drawer($id = '', $label = '', XMLElement $content = null, $default_state = 'closed', $context = '', array $attributes = array())
 {
     $id = General::createHandle($id);
     $contents = new XMLElement('div', $content, array('class' => 'contents'));
     $contents->setElementStyle('html');
     $drawer = new XMLElement('div', $contents, $attributes);
     $drawer->setAttribute('data-default-state', $default_state);
     $drawer->setAttribute('data-context', $context);
     $drawer->setAttribute('data-label', $label);
     $drawer->addClass('drawer');
     $drawer->setAttribute('id', 'drawer-' . $id);
     return $drawer;
 }