예제 #1
0
 public function render(Entity $entity)
 {
     $datalist = '';
     if (count($this->datalist)) {
         foreach ($this->datalist as $value) {
             $datalist .= Entity::html('option', array('value' => $value));
         }
         $datalist = Entity::html('datalist', array('id' => $entity->getId() . '-datalist'), $datalist);
     }
     $attr = $this->attributes + array('type' => $this->type, 'id' => $entity->getId(), 'required' => $entity->getRequired(), 'name' => $entity->getFullName(), 'value' => $this->getValue($entity), 'list' => $datalist ? $entity->getId() . '-datalist' : null);
     return $datalist . Entity::html('input', $attr);
 }
예제 #2
0
 public function getFullName()
 {
     $name = $this->getName();
     $parentName = $this->parent ? $this->parent->getFullName() : null;
     if ($parentName !== null) {
         $name = $parentName . "[" . $name . "]";
     }
     if ($this->isArray()) {
         $name .= '[]';
     }
     return $name;
 }
예제 #3
0
 public function render(Entity $entity)
 {
     $value = $entity->getValue();
     $attr = $this->attributes + array('type' => $this->type, 'id' => $entity->getId(), 'name' => $entity->getFullName());
     if ($entity->isArray()) {
         $output = "";
         foreach ($value as $v) {
             // TODO: does not preserve keys, is this ok?
             $output .= Entity::html('input', $attr + array('value' => $v));
         }
         return $output;
     }
     return Entity::html('input', $attr + array('value' => $value));
 }
예제 #4
0
 public function render(Entity $entity)
 {
     $attr = $this->attributes + array('type' => $this->type, 'id' => $entity->getId(), 'required' => $entity->getRequired(), 'name' => $entity->getFullName(), 'multiple' => $entity->isArray());
     return Entity::html('input', $attr);
 }
예제 #5
0
 public function render(Entity $entity)
 {
     $values = (array) $entity->getValue();
     return $this->buildChoices($entity->getFullName(), $entity->getId(), $entity->getChoices(), $values, $entity->getDisabledChoices());
 }
예제 #6
0
 public function render(Entity $entity)
 {
     $attr = $this->attributes + array('id' => $entity->getId(), 'name' => $entity->getFullName(), 'required' => $entity->getRequired());
     return Entity::html('textarea', $attr, htmlspecialchars($entity->getValue()));
 }
예제 #7
0
 public function render(Entity $entity)
 {
     $attr = $this->attributes + array('id' => $entity->getId(), 'type' => $this->type, 'name' => $entity->getFullName());
     return Entity::html('button', $attr, htmlspecialchars($entity->getLabel()));
 }
예제 #8
0
 public function render(Entity $entity)
 {
     $attr = $this->attributes + array('id' => $entity->getId(), 'name' => $entity->getFullName());
     return Entity::html('select', $attr, $this->buildChoices($this->getChoices(), (array) $entity->getValue(), $this->getDisabledChoices()));
 }