/** * {@inheritdoc} */ public function getViewData(DocumentIterator $result, ViewData $data) { /** @var $data RangeAwareViewData */ $data->setMinBounds(new \DateTime(date(\DateTime::ISO8601, $result->getAggregations()['date_range_agg']->getValue()['min'] / 1000))); $data->setMaxBounds(new \DateTime(date(\DateTime::ISO8601, $result->getAggregations()['date_range_agg']->getValue()['max'] / 1000))); return $data; }
/** * {@inheritdoc} */ public function getViewData(DocumentIterator $result, ViewData $data) { /** @var $data ViewData\RangeAwareViewData */ $data->setMinBounds($result->getAggregations()['range_agg']->getValue()['min']); $data->setMaxBounds($result->getAggregations()['range_agg']->getValue()['max']); return $data; }
/** * @param string $key * @param ViewData $data * * @return array */ protected function getOptionUrlParameters($key, ViewData $data) { $parameters = $data->getResetUrlParameters(); $parameters[$this->getRequestField()] = $key; return $parameters; }
/** * {@inheritdoc} */ protected function isChoiceActive($key, ViewData $data) { return $data->getState()->isActive() && in_array($key, $data->getState()->getValue()); }
/** * Returns whether choice with the specified key is active. * * @param string $key * @param ViewData $data * * @return bool */ protected function isChoiceActive($key, ViewData $data) { return $data->getState()->isActive() && $data->getState()->getValue() == $key; }
/** * {@inheritdoc} */ public function getViewData(DocumentIterator $result, ViewData $data) { /** @var ViewData\PagerAwareViewData $data */ $data->setPager(new PagerService(new CountAdapter($result->getTotalCount()), array_filter(['page' => $data->getState()->getValue(), 'limit' => $this->getCountPerPage(), 'max_pages' => $this->getMaxPages()]))); return $data; }
/** * Creates view data for each filter. * * @param DocumentIterator $result * @param SearchRequest $request * * @return ViewData[] */ protected function getFiltersViewData(DocumentIterator $result, SearchRequest $request) { $out = []; /** @var FilterInterface[] $filters */ $filters = $this->container->all(); foreach ($filters as $name => $filter) { if ($filter instanceof ViewDataFactoryInterface) { $viewData = $filter->createViewData(); } else { $viewData = new ViewData(); } $viewData->setName($name); $viewData->setUrlParameters($this->composeUrlParameters($request, $filter)); $viewData->setState($request->get($name)); $viewData->setTags($filter->getTags()); $viewData->setResetUrlParameters($this->composeUrlParameters($request, $filter, [$name])); $out[$name] = $filter->getViewData($result, $viewData); } return $out; }