Prototipo de pantalla de búsqueda simple

LIBP-0136 (Libro de pautas)

Las pantallas de búsqueda simple permiten obtener listados de entidades de la aplicación mediante la ejecución de búsquedas con ciertos criterios preestablecidos.
Habitualmente, se habilita la posibilidad de realizar operaciones sobre los resultados obtenidos en función de los permisos del usuario conectado.

En este libro de pautas, se establecerán los elementos principales de este tipo de pantallas así como las particularidades que sean destacables comentar.

Pautas

TítuloCarácter
Dos secciones diferenciadasObligatoria
Título de la pantallaRecomendada
Sin resultadosRecomendada
Botones de acción sobre elementos de la tabla de resultadosObligatoria
ImplementaciónRecomendada

Dos secciones diferenciadas

Las pantallas de búsqueda simple dispondrán de una sección con los criterios de búsqueda y otra en la que se mostrarán los resultados cuando el número de criterios de búsqueda sea pequeño. En otro caso, deberán ser pantallas diferenciadas.

Para pocos criterios de búsqueda, las secciones disponibles en las pantallas de búsqueda simple serán las siguientes:

  • Sección superior que se titulará "Criterios de búsqueda" y contendrá los botones de "Buscar" y "Limpiar".
  • Sección inferior donde se mostrará una tabla con el listado de resultados obtenidos. Podrá denominarse "Resultados de la búsqueda" o "Listado de <entidades>", pero manteniendo siempre la uniformidad del formato en todas las pantallas de la aplicación.

En la siguiente imagen se muestra un ejemplo de pantalla de búsqueda simple:

Busqueda simpleBusqueda simple

Cuando el número de criterios de búsqueda es elevado, se tendrán que proporcionar al usuario dos pantallas diferenciadas: una pantalla con los criterios de búqueda y otra pantalla con los resultados de la ejecución de la búsqueda en el sistema.

Título de la pantalla

El título de la pantalla tendrá el siguiente formato: "Busqueda de ".

El formato del título de la pantalla será "Búsqueda de <entidades>" para informar al usuario el tipo de pantalla en la que se encuentra y que entidades puede esperar que sean devueltas como parte del resultado.

Un ejemplo puede ser "Búsqueda de usuarios".

Sin resultados

Al entrar por primera vez en la pantalla de búsqueda simple o cuando no se devuelvan registros en la búsqueda realizada, se montrará en la tabla de resultados una única fila con el texto "No existen resultados".

Para informar al usuario de que una operación de búsqueda no ha devuelto elementos, se utilizará, adicionalmente al mensaje informativo, la tabla de resultados en la que se mostrará una única fila con el texto "No existen resultados".

Botones de acción sobre elementos de la tabla de resultados

Los botones localizados debajo de la tabla de resultados se referirán a operaciones que puedan realizarse sobre los elementos seleccionados de la misma.

Para la realización de operaciones con múltiples elementos de la tabla de resultados, será necesario habilitar un conjunto de botones de acción al pie de la misma.

Con el objeto del cumplimiento de las pautas de usabilidad y accesibilidad, estos botones deberán estar siempre debajo de la tabla de resultados, con una estética diferenciada de cualquier otro botón de acción que aplique a toda la pantalla.

Implementación

Implementar la búsqueda simple empleando los artefactos suministrados con el caso práctico.

En el caso práctico se ofrece un ejemplo de este tipo de pantalla que se compone de:

  • Plantilla: plantilla.xhtml
  • Fichero: busquedaSimple.xhtml
  • Backing Bean: Listado.java

 

Principales soluciones que implementa:

  • Cumplimiento de pautas de accesibilidad y usabilidad
  • En la plantilla, eliminación de atributos no válidos para scripts generados por RichFaces a través de jQuery
  • Enlace a la página actual con un botón tipo "submit" para evitar error de accesibilidad al no disponer de botón de envío de formulario
  • Generación de fuentes de difusión en formato ATOM1.0
    Para ello utiliza el fichero exportar.html y las clases Redifusion.java, Feed.java y Entry.java
  • Listado con el componente "dataTable" de RichFaces
    Filtro de entidades utilizando cuadros de búsqueda y la llamada a la función de filtro a través de la propiedad "filterValue" de "rich:column"
    Control del número de entidades listadas a través de la propiedad "rows" del dataTable
    Ordenación de las tuplas por las diferentes columnas activando la propiedad "sortable" en el componente "rich:column"
  • Paginación con el componente datascroller
    Cambio de imágenes en los enlaces de la paginación
    La forma de implementar la paginación en este ejemplo es manteniendo en sesión todas las entidades que contiene el listado. Este tipo de implementación debe utilizarse cuando el número de entidades es reducido y nunca cuando es superior a 1000, ya que en caso contrario produciría un consumo excesivo de memoria en el servidor. 
  • Eliminación de atributo "style" de elementos "div" y "table" generados por RichFaces a través de jQuery
  • Inclusión de atributo "summary" a tabla de entidades a través de jQuery
  • Ejemplo de exportación a pdf accesible a través del servlet PDFServlet.java

Contenidos relacionados

Recursos
Área: Interfaz de usuario » Normalización de Interfaces
Código Título Tipo Carácter
RECU-0524 Caso práctico Ejemplo Recomendado