示例#1
0
 /**
  * Render a sorting link for a particular column.  If the collumn is
  * currently selected, which we can detect using a SelectSort helper, we use the
  * carets provided in Bootstrap to indicate in which direction it is sorted.
  *
  * @param string $content
  * @param string $fieldId
  * @param string $direction
  * @param SelectSort $sorter
  * @return string
  */
 protected function renderSortLink($content, $fieldId, $direction, SelectSort $sorter = null)
 {
     $request = $this->view->getRequest();
     $caret = '';
     if ($sorter && $sorter->isSorted() && $sorter->getSortedField()->getQueryStringId() === $fieldId || $fieldId === $request->getQuery('sort')) {
         if ($sorter) {
             $activeDir = strtolower($sorter->getSortedDirection());
         } else {
             $activeDir = 'asc' === $request->getQuery('dir') ? 'asc' : 'desc';
         }
         if ('asc' === $activeDir) {
             $caret = ' <span class="caret caret-up"></span>';
         } else {
             $caret = '<span class="caret"></span>';
         }
     }
     return sprintf('<a href="%s">%s%s</a>', $this->view->escapeHtmlAttr($this->url($fieldId, $direction)), $this->view->escapeHtml($content), $caret);
 }
示例#2
0
 protected function getActiveSortDirection($fieldId, SelectSort $sorter = null)
 {
     if (!$sorter) {
         return 'asc' === $this->view->getRequest()->getQuery('dir') ? 'asc' : 'desc';
     } else {
         if ($sorter->isSorted() && $sorter->getSortedField()->getQueryStringId() === $fieldId) {
             return strtolower($sorter->getSortedDirection());
         }
     }
     return 'asc';
 }