2017 © Pedro Peláez
 

library searchpro

Este es una libreria que te permite listar las tablas de una base de datos. Pueden mostrar tablas relacionadas y filtrarlas entre multiples valores. Pagina los resultados y puedes asignar el numero de resultados por pagina

image

bitsystem/searchpro

Este es una libreria que te permite listar las tablas de una base de datos. Pueden mostrar tablas relacionadas y filtrarlas entre multiples valores. Pagina los resultados y puedes asignar el numero de resultados por pagina

  • Thursday, July 26, 2018
  • by juliangarciaga3
  • Repository
  • 1 Watchers
  • 1 Stars
  • 5 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Image

Libreria adaptada para symfony 3.x, 4.x Recorta imagenes que se obtienen desde los ficheros temporales(/tmp) del servidor.En esta carpeta se suele guardar los datos pasados por formularios, etc. Recorta las miniaturas de la imagen centrada segun los parametros que se le pase y retorna un array con la ruta donde se guardaron y genera minuaturas. Estas imagenes son guardadas en una carpeta alojada en "/web" o "/public"., (*1)

Índice

SearchGloom, (*2)

¿Como funciona?

- Primero: Obtienes la ruta donde se encuentra la imagen temporal. - Segundo: Instancia la clase Imagen() - Tercero: Inserta el nombre de la imagen con el metodo setName() - Cuardo: Inserta la imagen temporal, el nombre de la carpeta donde se guarda y el callBack donde llamar las funciones de Thumbnail - Quinto: save() retorna un array con los datos meta de la imagen guardada., (*3)

Llama la libreria, (*4)

use Bitsystem\Backend\Image;
//Obtiene la imagen pasada por un formulario
$imageBinary = $request->files->get('image', FALSE);

//Instancia la clase
$image = new Image();
$image->setName($request->request->get('name', NULL));
$image->insertImage($imageBinary, 'course',function($e){
    $e->thumbnail(40,40);
    $e->thumbnail(364,205);
    $e->thumbnail(1080,720);
});

//Retorna un array
$imageSave = $image->save();

//Recorre el array para obtener el path de la imagen
foreach ($imageSave['thumbnails'] as $value){
    $value['route'];
    $value['width'];
    $value['height'];
}

Search Pro

Search pro es una libreria pensada para mostrar las tablas de una base de datos nombrando la tabla y las columnas que necesitamos visualizar. Ademas puedes filtrar las tablas por las columnas. Incluye un sistema de paginacion que busca los resultados de la tabla por Ajax segun los filtros seleccionados., (*5)

Índice

, (*6)

¿Como funciona?

Accedemos a la terminal y instalamos con composer la libreria en el composer.json de nuestro proyecto Symfony, (*7)

composer require bitsystem/searchpro

, (*8)

Twig

Necesitamos agregar primero el select2.js necesario para poder visualizar los filtros de la tabla. Despues tableList.js al final., (*9)

{{ blocks javascripts }}
    //Dependencias
    <script type="text/javascript" src="{{ asset('assets/select2/dist/js/select2.min.js') }}"></script>
    //Plugin para generar la tabla
    <script src="{{asset('js/tableList.js')}}"></script>
{{ endblocks }}

Php

Primero incluimos la libreria en el controlador., (*10)

use Bitsystem\SearchPro\Search as Search;

Recogemos el texto a buscar y el filtro a buscar. Instancion la clase y usas los metodos que necesites para mostrar las columnas., (*11)

//Campo de busqueda
$textSearch = $request->request->get('q','');

//Parametros del filtro
$filter = $request->request->get('filter','');
$search = new Search($this->getDoctrine()->getManager(), $request);
$result = $search->setTable('Clientes')
    ->addColum([
                'id' => 'id',
                'nombre' => 'nombre'
    ])
    ->selectRow([   1 => 1,
                    10 => [ 10, true ],
                    20 => 20,
                    30 => 30,
                    40 => 40,
                    'Todo' => 'all'
                ])
    ->search('nombre',$textSearch)
    ->getResult();
    return $result;

Parametros

, (*12)

Paginación

Si necesitamos ocultar la paginacion de la tabla solo tenemos que añadir la opcion paging. Por defecto el valor de paging es TRUE, (*13)

paging: false

Numero de resultados

El numero de resultados totales de columnas de la tabla se muestra debajo de la paginacion. Por defecto el valor de info es TRUE Si necesitamos ocultar la informacion solo tenemos que añadir la opcion info., (*14)

info: false

addColum

, (*15)

->addColum([
            'nombre variable' => 'Nombre columna Tabla'
])

Metodo encargado de obtener el nombre de la tabla principal para poder hacer las consultas. La tabla principal se relaciona con otras tablas con los metodos addColumForeignKey() , addColumForeignKey(), (*16)

->setTable('Nombre tabla')

, (*17)

->addColumForeignKey([
          'POPULATION' => [
                          'type' => 'select',
                          'table' => 'MUNICIPALITY',
                          'columReference' => 'MUNICIPALITY',
                          'colum' => 'POPULATION'
                      ]
     ])

Para implementarlo necesitamos insertar en nuestro controlador y en la vista twig algunos archivos necesarios., (*18)

Estructura basica html, (*19)



$("#search-pro").search({
    textSend: $('#find'),
    buttonSend: $('#find-ajax'),
    paging: false,
    info: false,
    colums: ['Id','Nombre'],
    tableRow: function(data){
        var row = "";
        $.each(data.result, function(k, v){
            row += "<tr data-href='"+v.id+"'>\
                        <th>"+v.id+"</th>\
                            <th>\
                            <a>"+v.nombre+"</a>\
                        </th>\
                    </tr>";
        });
        return row;
    }
});

npm install, (*20)

NOTA

Esta librera utiliza los metodos GET y POST debemos asegurarnos de que tenemos habilitada la request de ellas, (*21)

Resultado

Vista de como se ve la tabla segun los parametros indicados, (*22)

tabla, (*23)

Give the example

And repeat, (*24)

until finished

End with an example of getting some data out of the system or using it for a little demo, (*25)

Running the tests

Explain how to run the automated tests for this system, (*26)

Break down into end to end tests

Explain what these tests test and why, (*27)

Give an example

And coding style tests

Explain what these tests test and why, (*28)

Give an example

Deployment

Add additional notes about how to deploy this on a live system, (*29)

Built With

  • Dropwizard - The web framework used
  • Maven - Dependency Management
  • ROME - Used to generate RSS Feeds

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us., (*30)

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository., (*31)

Autor

Consulte también la lista de colaboradores que participaron en este proyect., (*32)

Licencia

Este proyecto está licenciado bajo la Licencia MIT - ver el LICENSE.md archivo para detalles, (*33)

Inspirado

The Versions

26/07 2018

dev-master

9999999-dev

Este es una libreria que te permite listar las tablas de una base de datos. Pueden mostrar tablas relacionadas y filtrarlas entre multiples valores. Pagina los resultados y puedes asignar el numero de resultados por pagina

  Sources   Download

MIT

by Julian Garcia Garcia

26/07 2018

1.0.0

1.0.0.0

Este es una libreria que te permite listar las tablas de una base de datos. Pueden mostrar tablas relacionadas y filtrarlas entre multiples valores. Pagina los resultados y puedes asignar el numero de resultados por pagina

  Sources   Download

MIT

by Julian Garcia Garcia