[Form] Implement a fluid interface FormView
This commit is contained in:
parent
fd3a853597
commit
39efc49da0
@ -27,8 +27,10 @@ class CheckboxType extends AbstractType
|
||||
|
||||
public function buildView(FormView $view, FormInterface $form)
|
||||
{
|
||||
$view->set('value', $form->getAttribute('value'));
|
||||
$view->set('checked', (Boolean) $form->getData());
|
||||
$view
|
||||
->set('value', $form->getAttribute('value'))
|
||||
->set('checked', (Boolean) $form->getData())
|
||||
;
|
||||
}
|
||||
|
||||
public function getDefaultOptions(array $options)
|
||||
|
@ -89,12 +89,14 @@ class ChoiceType extends AbstractType
|
||||
$choices = $form->getAttribute('choice_list')->getChoices();
|
||||
$preferred = array_flip($form->getAttribute('preferred_choices'));
|
||||
|
||||
$view->set('multiple', $form->getAttribute('multiple'));
|
||||
$view->set('expanded', $form->getAttribute('expanded'));
|
||||
$view->set('preferred_choices', array_intersect_key($choices, $preferred));
|
||||
$view->set('choices', array_diff_key($choices, $preferred));
|
||||
$view->set('separator', '-------------------');
|
||||
$view->set('empty_value', '');
|
||||
$view
|
||||
->set('multiple', $form->getAttribute('multiple'))
|
||||
->set('expanded', $form->getAttribute('expanded'))
|
||||
->set('preferred_choices', array_intersect_key($choices, $preferred))
|
||||
->set('choices', array_diff_key($choices, $preferred))
|
||||
->set('separator', '-------------------')
|
||||
->set('empty_value', '')
|
||||
;
|
||||
|
||||
if ($view->get('multiple') && !$view->get('expanded')) {
|
||||
// Add "[]" to the name in case a select tag with multiple options is
|
||||
|
@ -38,8 +38,10 @@ class CollectionType extends AbstractType
|
||||
|
||||
public function buildView(FormView $view, FormInterface $form)
|
||||
{
|
||||
$view->set('allow_add', $form->getAttribute('allow_add'));
|
||||
$view->set('allow_delete', $form->getAttribute('allow_delete'));
|
||||
$view
|
||||
->set('allow_add', $form->getAttribute('allow_add'))
|
||||
->set('allow_delete', $form->getAttribute('allow_delete'))
|
||||
;
|
||||
}
|
||||
|
||||
public function getDefaultOptions(array $options)
|
||||
|
@ -64,18 +64,20 @@ class FieldType extends AbstractType
|
||||
$name = $form->getName();
|
||||
}
|
||||
|
||||
$view->set('form', $view);
|
||||
$view->set('id', $id);
|
||||
$view->set('name', $name);
|
||||
$view->set('errors', $form->getErrors());
|
||||
$view->set('value', $form->getClientData());
|
||||
$view->set('read_only', $form->isReadOnly());
|
||||
$view->set('required', $form->isRequired());
|
||||
$view->set('max_length', $form->getAttribute('max_length'));
|
||||
$view->set('size', null);
|
||||
$view->set('label', $form->getAttribute('label'));
|
||||
$view->set('multipart', false);
|
||||
$view->set('attr', array());
|
||||
$view
|
||||
->set('form', $view)
|
||||
->set('id', $id)
|
||||
->set('name', $name)
|
||||
->set('errors', $form->getErrors())
|
||||
->set('value', $form->getClientData())
|
||||
->set('read_only', $form->isReadOnly())
|
||||
->set('required', $form->isRequired())
|
||||
->set('max_length', $form->getAttribute('max_length'))
|
||||
->set('size', null)
|
||||
->set('label', $form->getAttribute('label'))
|
||||
->set('multipart', false)
|
||||
->set('attr', array())
|
||||
;
|
||||
|
||||
$types = array();
|
||||
foreach (array_reverse((array) $form->getTypes()) as $type) {
|
||||
|
@ -27,8 +27,10 @@ class RadioType extends AbstractType
|
||||
|
||||
public function buildView(FormView $view, FormInterface $form)
|
||||
{
|
||||
$view->set('value', $form->getAttribute('value'));
|
||||
$view->set('checked', (Boolean) $form->getData());
|
||||
$view
|
||||
->set('value', $form->getAttribute('value'))
|
||||
->set('checked', (Boolean) $form->getData())
|
||||
;
|
||||
|
||||
if ($view->hasParent()) {
|
||||
$view->set('name', $view->getParent()->get('name'));
|
||||
|
@ -73,8 +73,10 @@ class TimeType extends AbstractType
|
||||
|
||||
public function buildView(FormView $view, FormInterface $form)
|
||||
{
|
||||
$view->set('widget', $form->getAttribute('widget'));
|
||||
$view->set('with_seconds', $form->getAttribute('with_seconds'));
|
||||
$view
|
||||
->set('widget', $form->getAttribute('widget'))
|
||||
->set('with_seconds', $form->getAttribute('with_seconds'))
|
||||
;
|
||||
}
|
||||
|
||||
public function getDefaultOptions(array $options)
|
||||
|
@ -38,10 +38,14 @@ class FormView implements \ArrayAccess, \IteratorAggregate, \Countable
|
||||
/**
|
||||
* @param string $name
|
||||
* @param mixed $value
|
||||
*
|
||||
* @return FormView The current view
|
||||
*/
|
||||
public function set($name, $value)
|
||||
{
|
||||
$this->vars[$name] = $value;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -91,10 +95,14 @@ class FormView implements \ArrayAccess, \IteratorAggregate, \Countable
|
||||
*
|
||||
* @param string $name The name of the attribute
|
||||
* @param string $value The value
|
||||
*
|
||||
* @return FormView The current view
|
||||
*/
|
||||
public function setAttribute($name, $value)
|
||||
{
|
||||
$this->vars['attr'][$name] = $value;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -109,20 +117,28 @@ class FormView implements \ArrayAccess, \IteratorAggregate, \Countable
|
||||
|
||||
/**
|
||||
* Marks the attached form as rendered
|
||||
*
|
||||
* @return FormView The current view
|
||||
*/
|
||||
public function setRendered()
|
||||
{
|
||||
$this->rendered = true;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the parent view.
|
||||
*
|
||||
* @param FormView $parent The parent view
|
||||
*
|
||||
* @return FormView The current view
|
||||
*/
|
||||
public function setParent(FormView $parent = null)
|
||||
{
|
||||
$this->parent = $parent;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -149,10 +165,14 @@ class FormView implements \ArrayAccess, \IteratorAggregate, \Countable
|
||||
* Sets the children view.
|
||||
*
|
||||
* @param array $children The children as instances of FormView
|
||||
*
|
||||
* @return FormView The current view
|
||||
*/
|
||||
public function setChildren(array $children)
|
||||
{
|
||||
$this->children = $children;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user