/** * If configured, prints the table pagination to navigate to a next set of data * @param Table $tableHelper * @return string */ public static function printPagination(Table $tableHelper) { $maxPages = $tableHelper->getTableModel()->getMaxPageNumber(); $currentPage = $tableHelper->getTableModel()->getPageNumber(); $html = '<nav class="text-center"><ul class="pagination">'; $html .= sprintf('<li class="%s"><a href="%s" aria-label="Previous"><span aria-hidden="true">«</span></a></li>', $currentPage <= 1 ? 'disabled' : '', $tableHelper->getView()->UrlWithQuery(array('page' => $currentPage - 1))); for ($i = 1; $i <= $maxPages; $i++) { $html .= $i == $currentPage ? '<li class="active">' : '<li>'; $html .= sprintf('<a href="%s">%d</a></li>', $tableHelper->getView()->UrlWithQuery(array('page' => $i)), $i); } $html .= sprintf('<li class="%s"><a href="%s" aria-label="Next"><span aria-hidden="true">»</span></a></li>', $currentPage >= $maxPages ? 'disabled' : '', $tableHelper->getView()->UrlWithQuery(array('page' => $currentPage + 1))); $html .= '</ul></nav>'; return $html; }
/** * If the TableModel contains FilterData this method will fill the element with these values * * @param ElementInterface $element * @param $fieldName * @param Table $tableHelper * @return Element */ public static function setElementValues(ElementInterface $element, $fieldName, Table $tableHelper) { $values = $tableHelper->getTableModel()->getPrefetchedValuesByName($fieldName); if ($values && method_exists($element, 'setValueOptions')) { $valueOptions = array(); foreach ($values as $value) { if ($value instanceof \DateTime) { $valueOptions[$value->format('Y-m-d')] = $value->format('Y-m-d'); continue; } $valueOptions[$value] = $value; } $element->setValueOptions($valueOptions); } if (method_exists($element, 'setEmptyOption')) { $emptyLabel = $tableHelper->getView()->Translate('Select') . ' ' . $tableHelper->getView()->Translate($fieldName); $element->setEmptyOption($emptyLabel); } return $element; }
/** * @param Table $tableHelper * @param TableRowModel $tableRow * @param $links * @return mixed */ public static function getLinksFromListeners(Table $tableHelper, TableRowModel $tableRow, $links) { $responseCollection = $tableHelper->getEventManager()->trigger(DataGridEvents::DATAGRID_PRE_PRINTTABLECONTENTROWACTIONS, __CLASS__, array('links' => $links, 'entity' => $tableRow)); foreach ($responseCollection as $response) { if (is_array($response) && isset($response['links'])) { $links = $response['links']; } } return $links; }
/** * @param Table $tableHelper * @return mixed */ public static function getHeaderColumnsFromListeners(Table $tableHelper) { $responseCollection = $tableHelper->getEventManager()->trigger(DataGridEvents::DATAGRID_PRE_PRINTTABLEHEADROW, __CLASS__, array('tableHelper' => $tableHelper)); foreach ($responseCollection as $response) { if (is_array($response) && isset($response['tableHelper'])) { $tableHelper = $response['tableHelper']; } } return $tableHelper; }