public function init()
 {
     $fileupload = new Element\File('files');
     $fileupload->setLabel("files");
     $fileupload->setAttribute('multiple', 'multiple');
     $this->add($fileupload);
     $button = new Element\Button('start');
     $button->setAttribute("type", 'submit');
     $button->setValue("Start upload")->setLabel("Start upload");
     $this->add($button);
     $button = new Element\Button('cancel');
     $button->setAttribute("type", 'reset');
     $button->setValue("Cancel upload")->setLabel("Cancel upload");
     $this->add($button);
     $button = new Element\Button('delete');
     $button->setAttribute("type", 'button');
     $button->setValue("Delete")->setLabel("Delete");
     $this->add($button);
     $checkbox = new Element\Checkbox('toggle');
     $checkbox->setValue("Toggle")->setLabel("Toggle");
     $checkbox->setAttribute("required", "");
     $this->add($checkbox);
 }
 /**
  * @throws RuntimeException
  * @return Form
  */
 public function getFilterForm()
 {
     $filters = $this->entity->getOptions()->getFilter();
     if ($filters) {
         if (is_string($filters)) {
             $form = $this->serviceLocator->get($filters);
         } elseif (is_array($filters)) {
             $simple = true;
             foreach ($filters as $filter) {
                 $simple = $simple && is_string($filter);
             }
             if ($simple) {
                 $form = new Form();
                 $form->setAttribute('method', 'GET');
                 foreach ($filters as $filter) {
                     $label = str_replace('_', ' ', $filter);
                     $form->add(new Text($filter, ['label' => $label]));
                 }
                 $submit = new Button('submit', ['label' => 'Filter']);
                 $submit->setAttribute('type', 'submit');
                 $form->add($submit);
             } else {
                 $factory = new Factory();
                 $form = $factory->createForm($filters);
             }
         } else {
             throw new RuntimeException('Unknown type of filter');
         }
         return $form;
     }
     return new Form();
 }