Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/Render/ElementInfoManagerInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/Render/ElementInfoManagerInterface.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,66 @@ +<?php + +namespace Drupal\Core\Render; + +use Drupal\Component\Plugin\Discovery\DiscoveryInterface; + +/** + * Collects available render array element types. + */ +interface ElementInfoManagerInterface extends DiscoveryInterface { + + /** + * Retrieves the default properties for the defined element type. + * + * Each of the element types defined by this hook is assumed to have a + * matching theme hook, which should be registered with hook_theme() as + * normal. + * + * For more information about custom element types see the explanation at + * https://www.drupal.org/node/169815. + * + * @param string $type + * The machine name of an element type plugin. + * + * @return array + * An associative array describing the element types being defined. The + * array contains a sub-array for each element type, with the + * machine-readable type name as the key. Each sub-array has a number of + * possible attributes: + * - #input: boolean indicating whether or not this element carries a value + * (even if it's hidden). + * - #process: array of callback functions taking $element, $form_state, + * and $complete_form. + * - #after_build: array of callables taking $element and $form_state. + * - #validate: array of callback functions taking $form and $form_state. + * - #element_validate: array of callback functions taking $element and + * $form_state. + * - #pre_render: array of callables taking $element. + * - #post_render: array of callables taking $children and $element. + * - #submit: array of callback functions taking $form and $form_state. + * - #title_display: optional string indicating if and how #title should be + * displayed (see form-element.html.twig). + * + * @see \Drupal\Core\Render\Element\ElementInterface + * @see \Drupal\Core\Render\Element\ElementInterface::getInfo() + */ + public function getInfo($type); + + /** + * Retrieves a single property for the defined element type. + * + * @param string $type + * An element type as defined by an element plugin. + * @param string $property_name + * The property within the element type that should be returned. + * @param $default + * (Optional) The value to return if the element type does not specify a + * value for the property. Defaults to NULL. + * + * @return string + * The property value of the defined element type. Or the provided + * default value, which can be NULL. + */ + public function getInfoProperty($type, $property_name, $default = NULL); + +}