You are here

class BootstrapHTMLExporter in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/aklump/loft_data_grids/src/AKlump/LoftDataGrids/BootstrapHTMLExporter.php \AKlump\LoftDataGrids\BootstrapHTMLExporter

Class HTMLExporter

Hierarchy

Expanded class hierarchy of BootstrapHTMLExporter

File

vendor/aklump/loft_data_grids/src/AKlump/LoftDataGrids/BootstrapHTMLExporter.php, line 7

Namespace

AKlump\LoftDataGrids
View source
class BootstrapHTMLExporter extends HTMLExporter implements ExporterInterface {
  public $format;
  protected $extension = '.html';

  /**
   * Constructor
   */
  public function __construct(ExportData $data, $filename = '') {
    parent::__construct($data, $filename);
    $this->format->bol = "<tr>";
    $this->format->eol = "</tr>" . $this->format->cr;
    $this->format->html = '<!DOCTYPE html>

  <html>
  <head>
      <title></title>
      <style type="text/css"></style>
  </head>

  <body></body>
  </html>';
    $this->format->css = null;
  }
  public function getInfo() {
    $info = parent::getInfo();
    $info = array(
      'name' => 'HTML for Bootstrap Format',
      'shortname' => 'HTML',
      'description' => 'Export data in the .html file format using Bootstrap markup.',
    ) + $info;
    return $info;
  }
  public function compile($page_id = null) {
    $pages = $this
      ->getDataAsTransformedArray($page_id, null);
    $tables = array();
    foreach ($pages as $page_id => $data) {
      $this->output = '';
      $this->output .= '<thead>' . $this->format->cr;
      $this->format->left = '<th>';
      $this->format->right = '</th>';
      $this->output .= $this
        ->collapseRow($this
        ->getHeader($page_id));
      $this->output .= '</thead>' . $this->format->cr;

      // Format the rows:
      $this->format->left = '<td>';
      $this->format->right = '</td>';
      $this->output .= '<tbody>' . $this->format->cr;
      foreach ($data as $row) {
        $this->output .= $this
          ->collapseRow($row);
      }
      $this->output .= '</tbody>' . $this->format->cr;
      $page_title = '';
      if (count($pages) > 1 && $this
        ->getShowPageIds()) {
        $page_title = '<caption>' . $page_id . '</caption>';
      }
      $tables[] = '<table class="table">' . $page_title . $this->format->cr . $this->output . '</table>' . $this->format->cr;
    }
    $this->output = implode($this->format->cr, $tables);

    // Now decide if this is a snippet or full document
    if (!$this->format->snippet) {
      $snippet = $this->output;
      $this->output = $this->format->html;
      $this->output = str_replace('<style type="text/css"></style>', '<style type="text/css">' . $this->format->css . '</style>', $this->output);
      $this->output = str_replace('<body></body>', '<body>' . $snippet . '</body>', $this->output);
      $this->output = str_replace('<title></title>', '<title>' . $this->title . '</title>', $this->output);
    }
    return $this;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
BootstrapHTMLExporter::$extension protected property Overrides HTMLExporter::$extension
BootstrapHTMLExporter::$format public property Overrides HTMLExporter::$format
BootstrapHTMLExporter::compile public function Build the string content of $this->output and return $this for chaining. Overrides HTMLExporter::compile
BootstrapHTMLExporter::getInfo public function Return info about this class Overrides HTMLExporter::getInfo
BootstrapHTMLExporter::__construct public function Constructor Overrides HTMLExporter::__construct
CSVExporter::$page protected property
CSVExporter::collapseRow protected function Collapse a row 1
Exporter::$export_data protected property
Exporter::$header protected property
Exporter::$settings protected property
Exporter::addSetting public function Adds/Updates a single setting by name. Overrides ExporterInterface::addSetting
Exporter::cssSafe protected function
Exporter::dataTransform protected function Iterate over all cells and transform data as appropriate.
Exporter::export public function Export data as a string Overrides ExporterInterface::export 1
Exporter::filenameSafe protected function Return a string as a safe filename
Exporter::formatColumn public function Format a single column with format by string Overrides ExporterInterface::formatColumn 1
Exporter::getData public function Return the ExportDataInterface object Overrides ExporterInterface::getData
Exporter::getDataAsTransformedArray protected function Convert ExportData to an array transforming every cell.
Exporter::getFilename public function Get the filename Overrides ExporterInterface::getFilename
Exporter::getHeader public function Return an array each of the keys present in the data on a page. Overrides ExporterInterface::getHeader
Exporter::getSettings public function Return the settings object. Overrides ExporterInterface::getSettings
Exporter::getShowPageIds public function Return the showPageIds. Overrides ExporterInterface::getShowPageIds
Exporter::getTitle public function Overrides ExporterInterface::getTitle
Exporter::hidePageIds public function Set the exporter to hide page ids. Overrides ExporterInterface::hidePageIds
Exporter::save public function Stream as a file to the server with headers. Overrides ExporterInterface::save 1
Exporter::saveFile public function Compile and and save to a filepath. Overrides ExporterInterface::saveFile 2
Exporter::setData public function Set the export data object Overrides ExporterInterface::setData
Exporter::setFilename public function Getter/Setter for the filename Overrides ExporterInterface::setFilename
Exporter::setSettings public function Set the settings object. Overrides ExporterInterface::setSettings
Exporter::setSettingsDefault protected function Setup default values on object data. 4
Exporter::setTitle public function Set a title for the exported document Overrides ExporterInterface::setTitle 1
Exporter::showPageIds public function Set the exporter to display page ids. Overrides ExporterInterface::showPageIds
HTMLExporter::collapseCell protected function Collapse a single cell in a row. Overrides CSVExporter::collapseCell