public function testTdClassNamesRendererGetsView()
 {
     $this->assertInstanceOf('Dewdrop\\View\\View', $this->helper->getTdClassNamesRenderer()->getView());
 }
Exemple #2
0
 /**
  * Render the <tbody> with the TableCell.Content helper to allow
  * each field's cell content to be modified.
  *
  * @param Fields $fields
  * @param array $data
  * @param TableCellHelper $renderer
  * @return string
  */
 public function renderBody(Fields $fields, array $data, TableCellHelper $renderer)
 {
     $rowIndex = 0;
     $out = '<tbody>';
     foreach ($data as $row) {
         $classes = $renderer->getRowClasses($row);
         if (!is_array($classes) || !count($classes)) {
             $out .= '<tr>';
         } else {
             $out .= sprintf('<tr class="%s">', implode(' ', array_map([$this->view, 'escapeHtmlAttr'], $classes)));
         }
         $columnIndex = 0;
         foreach ($fields as $field) {
             $out .= sprintf('<td class="%s">', $renderer->getTdClassNamesRenderer()->render($field, $row, $rowIndex, $columnIndex));
             $out .= $renderer->getContentRenderer()->render($field, $row, $rowIndex, $columnIndex);
             $out .= '</td>';
             $columnIndex += 1;
         }
         $out .= '</tr>';
         $rowIndex += 1;
     }
     $out .= '</tbody>';
     return $out;
 }
 /**
  * Render the supplied non-grouped fields in a Bootstrap table.
  *
  * @param Fields $fields
  * @param array $data
  * @param Renderer $renderer
  * @return string
  */
 protected function renderFields(Fields $fields, array $data, Renderer $renderer)
 {
     $rowIndex = 0;
     $out = '<div class="table-responsive">';
     $out .= '<table class="table">';
     foreach ($fields->getVisibleFields() as $field) {
         $out .= '<tr>';
         $content = $renderer->getContentRenderer()->render($field, $data, $rowIndex, 1);
         $classNames = $renderer->getTdClassNamesRenderer()->render($field, $data, $rowIndex, 1);
         $header = $renderer->getHeaderRenderer()->render($field);
         if (false !== stripos($content, '<table ')) {
             $out .= $this->renderTableContentInPanel($header, $classNames, $content);
         } else {
             $out .= $this->renderHeaderAndContent($header, $classNames, $content);
         }
         $out .= '</tr>';
         $rowIndex += 1;
     }
     $out .= '</table>';
     $out .= '</div>';
     return $out;
 }