jcyl-tablas
TypeScript icon, indicating that this package has built-in type declarations

2.8.0 • Public • Published

(Actualización del paquete tablas )

Esta librería está basada en la guía de estilos de la Junta de Castilla y León para implementar los estilos mediante un componente Angular.

Con este componente podemos generar tablas de los tipos A,B y C.

Demo online: StackBlitz

Instalación

Debemos descargar desde el Repositorio de la junta de Castilla y León las carpetas de la guía de estilos, para poder importar los css, js, fuentes, etc.

Copiar todo dentro de assets, dejando la estructura así:

assets
    css
    js
    fonts
    img

NPM

npm install jcyl-tablas

Importación de dependencias

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { JcylTablasModule } from 'jcyl-tablas';

@NgModule({
  declarations: [AppComponent],
  imports: [
        BrowserModule,
        AppRoutingModule,
        JcylTablasModule
        ],
  bootstrap: [AppComponent]
})
export class AppModule {}

Clases

Field

Atributo Tipo Descripción
colspan number Colspan de la celda
rowspan number Rowspan de la celda
content string Contenido que se visualizará en la celda
classTD string Clase que se añade al TD
isButton boolean Indica si queremos que sea un botón
class string Clase que se añade al contenido
isImg boolean Indica si queremos que el contenido sea una imagen
src string Referencia en caso de que sea una imagen
alt string Contenido en caso de que la imagen no esté dispnible
imgLink string Enlace de la imagen en caso de que sea clicable
isSeleccionable boolean Indica que queremos que la celda sea un checkbox
selected boolean Atributo para los checkbox si queremos que estén seleccionados

Ejemplos

new Field({
    isSeleccionable: true
})

new Field({
    content: 'CONSEJERO DE EDUCACIÓN'
})

new Field({
    content: 'No',
    isButton: true,
    class: 'btn-sm'
})
Row

Atributo Tipo Descripción
fields Field[] Array de objetos Field para pintar el contenido de la fila
destacada boolean Añade una clase para destacar la línea
id number Id para identificar la línea cuando es seleccionable (Field)
selected boolean Indica si está seleccionada
object any Por si queremos asociar un objeto para que nos le devuelva al tener filas seleccionables

Ejemplos

new Row({
    destacada: false,
    fields: [
        new Field({
            isSeleccionable: true
        }),
        new Field({
            content: 'No'
        }),
        new Field({
            content: 'No',
            isButton: true,
            class: 'btn-sm'
        })
    ]
})
Tabla

Atributo Tipo Descripción
cabecera string[] Array de string que se mostrarán como cabecera
caption string Caption para la tabla
summary string Párrafo para mostrar origen de la tabla
isTypeA boolean Indica si es una tabla de tipo A (Ver TIPO A)
isTypeB boolean Indica si es una tabla de tipo B (Ver TIPO B)
isTypeC boolean Indica si es una tabla de tipo C (Ver TIPO C)
rows Row[] Array de objetos Row que componen el contenido de la tabla
paginado Paginado Añade el paginado a la tabla
id number Id que tendrá la tabla

Ejemplos

new Tabla({
    cabecera: [
        '(EN MILLONES DE EUROS)',
        'LARGO PLAZO',
        'CORTO PLAZO',
        'TOTAL',
    ],
    caption: 'Distribución de la deuda según PDE (SEC 2010). Datos a 30 de septiembre de 2016',
    summary: 'Esto es el summary',
    isTypeA: true,
    rows: [
        new Row({
            destacada: false,
            fields: [
                new Field({
                    content: 'DEUDA FINANCIERA',
                    rowspan: 6
                }),
                new Field({
                    content: 'Administración general (Admón. Gral. + Fondo Facilidad Financiera)'
                }),
                new Field({
                    content: '9.775,98'
                }),
                new Field({
                    content: '0'
                }),
                new Field({
                    content: '9.775,98'
                })
            ]
        }),
        new Row({
            destacada: false,
            fields: [
                new Field({
                    content: 'Universidades, organismos autónomos administrativos y similares'
                }),
                new Field({
                    content: '394,78'
                }),
                new Field({
                    content: '2,56'
                }),
                new Field({
                    content: '397,34'
                })
            ]
        }),
        new Row({
            destacada: false,
            fields: [
                new Field({
                    content: 'Empresas clasificadas como administración pública'
                }),
                new Field({
                    content: '99,66'
                }),
                new Field({
                    content: '0'
                }),
                new Field({
                    content: '99,66'
                })
            ]
        }),
        new Row({
            destacada: true,
            fields: [
                new Field({
                    content: 'TOTAL'
                }),
                new Field({
                    content: '10.270,42'
                }),
                new Field({
                    content: '2,56'
                }),
                new Field({
                    content: '10.272,98'
                })
            ]
        }),
        new Row({
            destacada: false,
            fields: [
                new Field({
                    content: 'Factoring sin recurso'
                }),
                new Field({
                    content: '329,04'
                }),
                new Field({
                    content: '9,19'
                }),
                new Field({
                    content: '338,23'
                })
            ]
        }),
        new Row({
            destacada: false,
            fields: [
                new Field({
                    content: 'Otros (Colaboración público-privada) (*)'
                }),
                new Field({
                    content: '299,19'
                }),
                new Field({
                    content: '0'
                }),
                new Field({
                    content: '299,19'
                })
            ]
        }),
        new Row({
            destacada: false,
            fields: [
                new Field({
                    content: 'TOTAL DEUDA PROTOCOLO DÉFICIT EXCESIVO',
                    rowspan: 1
                }),
                new Field({
                    content: ''
                }),
                new Field({
                    content: '10.898,60'
                }),
                new Field({
                    content: '11,75'
                }),
                new Field({
                    content: '10.910,40'
                })
            ]
        })
    ]
});

Envío y recibo de eventos

Para pasar el objeto Tabla al componente, debemos asignarlo así [config]="tabla". Dependiendo de si tenemos campos seleccionables y la configuración de la tabla, podremos recibir dos eventos: (sendSelected)="getSelected($event)" y (clicBoton)="botonClicked($event)"

<jcyl-jcyl-tablas [config]="tabla" (sendSelected)="getSelected($event)"></jcyl-jcyl-tablas>

Configuración de la tabla

Atributo Descripción
config Objeto que tiene que recibir el objeto Tabla como parámetro

Eventos

Evento Descripción
sendSelected Recibe todas las filas seleccionadas en caso de que sean seleccionables
capclicBotontion Recibe el evento al clicar un botón en caso de que un campo Field sea botón

Readme

Keywords

Package Sidebar

Install

npm i jcyl-tablas

Weekly Downloads

67

Version

2.8.0

License

MIT

Unpacked Size

403 kB

Total Files

29

Last publish

Collaborators

  • parro