|
@@ -15,7 +15,7 @@ use Symfony\Component\Form\FieldInterface;
|
|
|
use Symfony\Component\Form\Renderer\Theme\ThemeInterface;
|
|
|
use Symfony\Component\Form\Renderer\Plugin\PluginInterface;
|
|
|
|
|
|
-class DefaultRenderer implements RendererInterface
|
|
|
+class DefaultRenderer implements RendererInterface, \ArrayAccess
|
|
|
{
|
|
|
private $field;
|
|
|
|
|
@@ -31,6 +31,8 @@ class DefaultRenderer implements RendererInterface
|
|
|
|
|
|
private $rendered = false;
|
|
|
|
|
|
+ private $children = array();
|
|
|
+
|
|
|
public function __construct(ThemeInterface $theme, $template)
|
|
|
{
|
|
|
$this->theme = $theme;
|
|
@@ -65,6 +67,11 @@ class DefaultRenderer implements RendererInterface
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public function setChildren(array $renderers)
|
|
|
+ {
|
|
|
+ $this->children = $renderers;
|
|
|
+ }
|
|
|
+
|
|
|
public function setTheme(ThemeInterface $theme)
|
|
|
{
|
|
|
$this->theme = $theme;
|
|
@@ -159,4 +166,24 @@ class DefaultRenderer implements RendererInterface
|
|
|
$vars
|
|
|
));
|
|
|
}
|
|
|
+
|
|
|
+ public function offsetGet($name)
|
|
|
+ {
|
|
|
+ return $this->children[$name];
|
|
|
+ }
|
|
|
+
|
|
|
+ public function offsetExists($name)
|
|
|
+ {
|
|
|
+ return isset($this->children[$name]);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function offsetSet($name, $value)
|
|
|
+ {
|
|
|
+ throw new \BadMethodCallException('Not supported');
|
|
|
+ }
|
|
|
+
|
|
|
+ public function offsetUnset($name)
|
|
|
+ {
|
|
|
+ throw new \BadMethodCallException('Not supported');
|
|
|
+ }
|
|
|
}
|