示例#1
0
 public function testCanFilterWhenGettingFilterableFields()
 {
     foreach ($this->fields as $field) {
         $field->setFilterable(true);
     }
     $this->assertEquals(4, count($this->fields->getFilterableFields()));
     $filter = new CallbackFilter(function (Field $field) {
         return 'visible' === $field->getId();
     });
     $this->assertEquals(1, count($this->fields->getFilterableFields($filter)));
 }
 /**
  * Render the filter controls inside a form tag that is rendered elsewhere.
  * No form HTML tags or buttons will be rendered by this method, only the
  * filter controls themselves.
  *
  * By default, this form will use GET so that it geneates a query string
  * that can be used to share search results, but you can use POST if needed
  * for your case.
  *
  * @param Fields $fields
  * @param SelectFilter $selectFilter
  * @param string $title
  * @param string $method
  * @param boolean $buttons
  * @return string
  */
 public function inline(Fields $fields, SelectFilter $selectFilter, $title, $method = 'GET', $buttons = false)
 {
     $this->view->headScript()->appendFile($this->view->bowerUrl('/dewdrop/www/js/filter/main.js'));
     $this->view->headLink()->appendStylesheet($this->view->bowerUrl('/dewdrop/www/css/filter.css'));
     return $this->partial('bootstrap-filter-controls.phtml', array('fields' => $fields->getFilterableFields(), 'typeHelper' => $selectFilter->getFilterTypeHelper(), 'values' => $selectFilter->getSelectModifier()->getCurrentFilters(), 'defaultVars' => $selectFilter->getDefaultVarsHelper(), 'title' => $title, 'method' => $method, 'paramPrefix' => $selectFilter->getPrefix(), 'showButtons' => $buttons));
 }