Saltar al contenido principal
Neural UIv2.0.0Documentación
Ver v1 GitHub

DashboardGrid

Organiza tarjetas de dashboard proyectadas en una cuadrícula reordenable.

Categoría
Diseño y contenido
Import
@neural-ui/core/dashboard-grid
Selector
neu-dashboard-grid
import { NeuDashboardGridComponent } from '@neural-ui/core/dashboard-grid';

Uso

Asigna un id estable a cada tarjeta y proyecta un elemento renderizado con data-tile-id coincidente. No uses un ng-template sin instanciar como contenido de tarjeta. cols y rows definen la extensión; columns define la cuadrícula. Acepta orderChange sustituyendo tiles. Arrastre y flechas proponen el mismo orden sin modificar tu array.

Ejemplos

Prueba esta interacción gestionada por la aplicación. Código incluye los eventos y los datos iniciales.

Ejemplos

Eventos: 0

Prueba y configura

Cambia las opciones públicas, prueba el resultado y consulta el template actualizado. Código contiene la implementación ejecutable completa.

Prueba y configura

Eventos: 0

template.html
<neu-dashboard-grid
  [tiles]="localizedTiles()"
  [columns]="2"
  (orderChange)="tiles.set($event); record('orderChange', $event)"
  ><div data-tile-id="sales">
    <strong>24.800 €</strong>
    <p>{{ t("Monthly sales", "Ventas mensuales") }}</p>
  </div>
  <div data-tile-id="orders">
    <strong>128</strong>
    <p>{{ t("Open orders", "Pedidos abiertos") }}</p>
  </div>
  <div data-tile-id="customers">
    <strong>86</strong>
    <p>{{ t("Active customers", "Clientes activos") }}</p>
  </div></neu-dashboard-grid
>

Estado y eventos

Asigna un id estable a cada tarjeta y proyecta un elemento renderizado con data-tile-id coincidente. No uses un ng-template sin instanciar como contenido de tarjeta. cols y rows definen la extensión; columns define la cuadrícula. Acepta orderChange sustituyendo tiles. Arrastre y flechas proponen el mismo orden sin modificar tu array.

Accesibilidad y teclado

Tab alcanza los controles de las tarjetas. Las flechas reordenan la tarjeta enfocada; Escape cancela un arrastre activo.

Tecla
Acción
Tab Recorre los controles y acciones habilitados de las tarjetas.
Arrow keys Reordena la tarjeta enfocada cuando está habilitada la reordenación por teclado.
Escape Cancela un arrastre activo.

API

Inputs, modelos y Outputs se extraen del paquete Core instalado. Los tipos públicos enlazan a sus definiciones. Los Templates incluyen ejemplos ejecutables.

Inputs

Configura el componente con [propiedad]="valor". Tu aplicación proporciona estos valores; el componente no debe reemplazar el estado que le pasas.

Nombre
Tipo
Por defecto
Uso en el template
Descripción
columnsnumber3[columns]Número de columnas de la cuadrícula del panel.
tilesreadonly NeuDashboardTileConfig[][][tiles]Configuración de tarjetas con ids que coinciden con data-tile-id y extensiones de filas/columnas opcionales.

Outputs

Escucha un evento con (evento)="handler($event)". La tabla indica qué datos recibe tu función y cómo utilizarlos.

Nombre
Valor emitido
Uso en el template
Descripción
orderChangereadonly NeuDashboardTileConfig[](orderChange)="onOrderChange($event)"Propone el array completo reordenado. Sustituye items o tiles para aceptarlo.

Templates

ng-content proyecta contenido dentro del componente. Los inputs TemplateRef reciben un template; las directivas ng-template identifican templates con un contexto tipado. Una directiva compartida en el entrypoint no es necesariamente un slot de este componente.

Nombre
Mecanismo
Contrato
*

Contenido proyectado

Ver ejemplo
Proyección de contenido

Contenido proporcionado por la aplicación.

<ng-content />

Contexto utilizado: —

Cada ejemplo muestra un template diferente. Alterna entre Demo y Código para consultar su implementación, imports y estado.

Contenido proyectado

*

Contenido proyectado

Eventos: 0

Public Types

Abre un tipo para consultar su definición y los campos de sus interfaces.

Estilos y tokens

Usa los tokens públicos de la referencia. El diseño del contenedor pertenece a tu aplicación; comprueba el resultado en modo claro y oscuro y en espacios estrechos.

Tokens específicos

Este componente utiliza tokens compartidos del tema en lugar de tokens específicos.

Tokens compartidos utilizados

Sobrescríbelos en un contenedor local para afectar a este ejemplo. Una modificación en :root afecta a los demás componentes que utilizan el mismo token.

Token
Efecto aquí
Otros efectos
Valor / alternativa
--neu-border Bordes normales de controles y celdas Compartido con otros consumidores de Core; limita el cambio a un ámbito. rgba(15, 23, 42, 0.08)
--neu-focus-ring Anillo normal del foco de teclado Compartido con otros consumidores de Core; limita el cambio a un ámbito. 0 0 0 var(--neu-focus-ring-width) rgba(0, 122, 255, 0.15)
--neu-primary Color de marca en controles activos y énfasis Compartido con otros consumidores de Core; limita el cambio a un ámbito. #007aff
--neu-surface Superficie principal del campo, cabecera o control Compartido con otros consumidores de Core; limita el cambio a un ámbito. #ffffff
--neu-text Color del texto principal y de los iconos que lo heredan Compartido con otros consumidores de Core; limita el cambio a un ámbito. #0f172a
--neu-text-muted Etiquetas secundarias y contenido de ayuda Compartido con otros consumidores de Core; limita el cambio a un ámbito. #475569
--neu-radius-xl Radio de esquina Compartido con otros consumidores de Core; limita el cambio a un ámbito. 16px