2017 © Pedro Peláez
 

library report

Clase de integración con DataTables

image

silvioq/report

Clase de integración con DataTables

  • Friday, April 6, 2018
  • by silvioq
  • Repository
  • 2 Watchers
  • 1 Stars
  • 276 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 22 Versions
  • 20 % Grown

The README.md

Doctrine - Symfony - Datatable Integration

Symfony 4

# config/bundles.php
...
    Silvioq\ReportBundle\SilvioqReportBundle::class => ['all' => true],
...

Datatable usage

TODO, (*1)

Table usage

Table is a simple class for generating large reports (or CSV) from your entities, (*2)

Simple usage, (*3)

<?php
namespace AppBundle\Controller;

use Symfony\Component\HttpFoundation\StreamedResponse;
use Symfony\Component\HttpFoundation\ResponseHeaderBag;
use AppBundle\Entity\Entity;

class SimpleController extends Controller
{
    public function downloadAction()
    {
        $table =  $this->get('silvioq.report.table')->build(Entity::class);
                $em = $this->getDoctrine()->getManager();
        $response = new StreamedResponse();
        $iterator = $em->getRepository(Entity::class)
                ->createQueryBuilder('a')
                ->getQuery()->iterate();

        $trans = $this->get('translator');
        $header = array_map(function($header)use($trans){
                return $trans->trans($header);
            }, $table->getHeader() );

        $response->setCallback(function() use($iterator,$table, $header){
            $f = fopen( "php://output", "w" );
            try
            {
                fputcsv( $f, $header );
                foreach( $iterator as $row )
                {
                    $entity = $row[0];
                    fputcsv( $f, $table->getRow($entity) );
                }
            }
            catch(\Exception $e )
            {
                echo $e->getMessage();
                return;
            }
            fclose( $f );
        });
        $disposition = $response->headers->makeDisposition(
            ResponseHeaderBag::DISPOSITION_ATTACHMENT,
            'entity.csv' );
        $response->headers->set('Content-Type','text/csv');

        return $response;
    }
}

Build Status, (*4)

The Versions

17/12 2017

dev-expand-many-to-many

dev-expand-many-to-many

Clase de integración con DataTables

  Sources   Download

MIT

The Requires

 

The Development Requires

by Silvio

18/11 2017

v1.2.0

1.2.0.0

Clase de integración con DataTables

  Sources   Download

MIT

The Requires

 

The Development Requires

by Silvio

18/11 2017

v1.1.4

1.1.4.0

Clase de integración con DataTables

  Sources   Download

MIT

The Requires

 

The Development Requires

by Silvio

07/08 2017

v1.1.3

1.1.3.0

Clase de integración con DataTables

  Sources   Download

MIT

The Requires

 

The Development Requires

by Silvio

02/06 2017

v1.1.2

1.1.2.0

Clase de integración con DataTables

  Sources   Download

MIT

The Requires

 

The Development Requires

by Silvio

01/06 2017

v1.1.0

1.1.0.0

Clase de integración con DataTables

  Sources   Download

MIT

The Requires

 

The Development Requires

by Silvio

05/05 2017

v1.0.4

1.0.4.0

Clase de integración con DataTables

  Sources   Download

MIT

The Requires

 

The Development Requires

by Silvio

03/05 2017

v1.0.3

1.0.3.0

Clase de integración con DataTables

  Sources   Download

MIT

The Requires

 

The Development Requires

by Silvio

02/05 2017

v1.0.2

1.0.2.0

Clase de integración con DataTables

  Sources   Download

The Requires

 

The Development Requires

by Silvio

10/04 2017

v1.0.1

1.0.1.0

Clase de integración con DataTables

  Sources   Download

The Requires

 

The Development Requires

by Silvio

10/04 2017

v1.0.0

1.0.0.0

Clase de integración con DataTables

  Sources   Download

The Requires

 

The Development Requires

by Silvio