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

OrderList

Reordena una lista seleccionable con teclado, botones o arrastre opcional.

Categoría
Formularios y selección
Import
@neural-ui/core/pick-list
Selector
neu-order-list
import { NeuOrderListComponent } from '@neural-ui/core/pick-list';

Uso

Usa valores de opción estables para identificar elementos. selectionChange aporta los seleccionados; orderChange propone el nuevo array. Aplícalo a items para aceptar el orden. El filtro cambia el subconjunto visible, no la colección. dragDrop es opcional; botones y teclado ofrecen la misma operación.

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-order-list
  (filterChange)="onFilterChange($event)"
  [items]="available()"
  [filter]="true"
  [dragDrop]="false"
  [selectionKeys]="selected()"
  (selectionChange)="selected.set($event.map(itemKey))"
  (orderChange)="available.set($event); record('orderChange', $event)"
  [ariaLabel]="'Proyectos ordenados'"
  [emptyFilterLabel]="'Sin proyectos coincidentes'"
  [filterLabel]="'Filtrar proyectos'"
  [filterPlaceholder]="'Buscar proyectos'"
></neu-order-list>

Estado y eventos

Usa valores de opción estables para identificar elementos. selectionChange aporta los seleccionados; orderChange propone el nuevo array. Aplícalo a items para aceptar el orden. El filtro cambia el subconjunto visible, no la colección. dragDrop es opcional; botones y teclado ofrecen la misma operación.

Accesibilidad y teclado

Usa Tab para alcanzar los elementos y botones de orden. Intro o Espacio selecciona un elemento o activa un botón de orden. Estos controles siguen disponibles sin dragDrop.

Tecla
Acción
Tab Recorre los botones de elementos y los controles disponibles para ordenar o transferir.
Enter Selecciona el elemento enfocado o activa el botón de ordenar o transferir. No es necesario arrastrar.
Space Selecciona el elemento enfocado o activa el botón de ordenar o transferir. No es necesario arrastrar.

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
ariaLabelstring'Ordered items'[ariaLabel]Nombre accesible del control o región.
dragDropbooleanfalse[dragDrop]Habilita el arrastre opcional; teclado y botones siguen disponibles.
emptyFilterLabelstring'No matching items'[emptyFilterLabel]Texto que se muestra cuando no hay entradas coincidentes con el filtro.
filterbooleanfalse[filter]Consulta de búsqueda original modificada por el usuario.
filterConfigReadonly<NeuOptionFilterConfig<T>>{}[filterConfig]Campos, modo de comparación, idioma y estrategia de filtrado local o remoto.
filterLabelstring'Filter ordered items'[filterLabel]Nombre accesible o texto de ayuda del filtro de la lista correspondiente.
filterPlaceholderstring'Filter items'[filterPlaceholder]Nombre accesible o texto de ayuda del filtro de la lista correspondiente.
filterValuestring | nullnull[filterValue]Consulta de búsqueda aplicada. Escucha filterChange si la controla la aplicación.
itemsreadonly T[][][items]Colección aplicada de elementos. Claves y accesores estables identifican las entradas; el componente no modifica el array.
optionDisabledNeuOptionDisabledAccessor<T> | nullnull[optionDisabled]Nombre de campo o función que indica si una opción está deshabilitada.
optionLabelNeuOptionLabelAccessor<T> | nullnull[optionLabel]Nombre de campo o función que obtiene la etiqueta visible de la opción.
optionValueNeuOptionValueAccessor<T, V> | nullnull[optionValue]Nombre de campo o función que obtiene el valor guardado de la opción.
selectionKeysreadonly V[] | undefinedundefined[selectionKeys]Valores estables aplicados de las opciones seleccionadas. undefined usa selección local.

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
filterChangestring(filterChange)="onFilterChange($event)"Propone el array completo de filtros actualizado, incluidos sus estados activos. Sustituye filters para aceptarlo.
itemDropNeuPickListDropEvent<T>(itemDrop)="onItemDrop($event)"Informa del drop por puntero/teclado con elemento, listas e índices. Aplica la propuesta de estado para aceptarlo.
orderChangeT[](orderChange)="onOrderChange($event)"Propone el array completo reordenado. Sustituye items o tiles para aceptarlo.
selectionChangeT[](selectionChange)="onSelectionChange($event)"Propone la selección, la clave afectada y el origen de la interacción. Aplica payload.selection a selection.

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
NeuOrderListItemDirectiveVer ejemplo Directiva pública de templateng-template[neuOrderListItem]

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

NeuOrderListItemDirective

NeuOrderListItemDirective

NeuOrderListItemDirective

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
Sin datos