/** * Render the default table HTML * * @param DataResult $data * @return string */ protected function renderTable(DataResult $data = null) { $html = ''; $html .= "<table cellspacing=\"0\" class=\"{$this->config->getClass()}\" id=\"{$this->config->getTableId()}\">"; $html .= "<thead><tr>"; foreach ($this->config->getColumns() as $column) { if ($column->isVisible()) { $html .= "<th>{$column->getTitle()}</th>"; } else { $html .= "<th style=\"display: none;\">{$column->getTitle()}</th>"; } } $html .= "</tr></thead>"; $html .= "<tbody>"; if (!$this->config->isServerSideEnabled()) { $html .= $this->renderStaticData($data); } else { $html .= "<tr><td class=\"dataTables_empty\">{$this->config->getLoadingHtml()}</td></tr>"; } $html .= "</tbody>"; $html .= "</table>"; $html .= "<!-- Built with italolelis/datatables -->"; return $html; }
public static function fromConfig(Config $config) { $options = new self(); return $options->setBPaginate($config->isPaginationEnabled())->setBLengthChange($config->isLengthChangeEnabled())->setBProcessing($config->isProcessingEnabled())->setBFilter($config->isFilterEnabled())->setBSort($config->isSortEnabled())->setBInfo($config->isInfoEnabled())->setBAutoWidth($config->isAutoWidthEnabled())->setBScrollCollapse($config->isScrollCollapseEnabled())->setBScrollInfinite($config->isScrollInfiniteEnabled())->setIDisplayLength($config->getDisplayLength())->setBJQueryUI($config->isJQueryUIEnabled())->setSPaginationType($config->getPaginationType())->setBStateSave($config->isSaveStateEnabled())->setICookieDuration($config->getCookieDuration())->setAsStripClasses($config->getStripClasses())->setBServerSide($config->isServerSideEnabled())->setSAjaxSource($config->getAjaxSource())->setSScrollX($config->getScrollX())->setSScrollY($config->getScrollY())->setIScrollLoadGap($config->getScrollLoadGap())->setSCookiePrefix($config->getCookiePrefix())->setSDom($config->getDom()); }