/** * @param string $section * @param \APY\DataGridBundle\Grid\Grid $grid * @param \APY\DataGridBundle\Grid\Column\Column $param * @return string */ public function getGridUrl($section, $grid, $param = null) { $separator = strpos($grid->getRouteUrl(), '?') ? '&' : '?'; switch ($section) { case 'order': if ($param->isSorted()) { return $grid->getRouteUrl() . $separator . $grid->getHash() . '[' . Grid::REQUEST_QUERY_ORDER . ']=' . $param->getId() . '|' . ($param->getOrder() == 'asc' ? 'desc' : 'asc'); } else { return $grid->getRouteUrl() . $separator . $grid->getHash() . '[' . Grid::REQUEST_QUERY_ORDER . ']=' . $param->getId() . '|asc'; } case 'page': return $grid->getRouteUrl() . $separator . $grid->getHash() . '[' . Grid::REQUEST_QUERY_PAGE . ']=' . $param; case 'limit': return $grid->getRouteUrl() . $separator . $grid->getHash() . '[' . Grid::REQUEST_QUERY_LIMIT . ']='; case 'reset': return $grid->getRouteUrl() . $separator . $grid->getHash() . '[' . Grid::REQUEST_QUERY_RESET . ']='; } }