desy-angular v3.0 - Manual de integración DesyModalsModule

Componentes relativos a modales


Vamos a ver como se usa cada uno de los componentes.

 

Dialog


<desy-dialog...></desy-dialog>

Permite representar un diálogo modal definido desde template/html. Para crear un dialog dinámicamente ver el servicio DialogService.

 

Propiedad

Evento

Tipo

Descripción

Obligatorio

Propiedad

Evento

Tipo

Descripción

Obligatorio

active

activeChange

boolean

Indica si el dialog está activo. Se puede modificar internamente, por ejemplo al hacer pulsar sobre el fondo, por lo que se recomienda el uso de two-way binding.



 

Propiedad

Tipo

Descripción

Obligatorio

Propiedad

Tipo

Descripción

Obligatorio

id

string

Identificador del dialog.



caller

TemplateRef<any>

Template del elemento a mostrar dentro del dialog.

classes

string

Clases CSS separadas por espacio que se aplicarán sobre el componente.



focusOnClose

string | HTMLElement

Identificador o referencia del elemento que se llamará al cerrar el modal.

 

dismissOnBackdrop

boolean

Permite cerrar el modal al pulsar sobre el fondo.

 

 

Propiedades de accesibilidad

El componente dialog admite los siguientes parámetros de accesibilidad.

 

Ejemplo utilizando un componente Modal como caller y un botón para abrir el dialog

Componente
@Component({ selector: '...', templateUrl: '...', ... }) export class DemoDialogComponent { ... active = false; openDialog(): void { this.active = true; } closeDialog(): void { this.active = false; } ... }
HTML
<desy-button text="Abrir dialog" (clickEvent)="openDialog()" [id]="'dialog-btn'"></desy-button> <desy-dialog [(active)]="active" [id]="'dialog'" [caller]="modal" focusOnClose="dialog-btn" [dismissOnBackdrop]="true"> <ng-template #modal> <desy-modal [id]="'caller-example'" classes="relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white mt-2xl" [isDismissible]="true" [title]="{text:'Editar servicio publicado'}" [description]="{html:'<p>Actualmente este servicio está publicado.</p><p>Los cambios realizados no serán visibles hasta que sean validados</p>'}" [itemsPrimary]="[{text:'Editar servicio','classes':'c-button--primary'}]" (closeModal)="closeDialog()"> </desy-modal> </ng-template> </desy-dialog>

 

Modal


Permite representar el contenido de una ventana modal.

 

Propiedad

Tipo

Descripción

Obligatorio

Propiedad

Tipo

Descripción

Obligatorio

id

string

Identificador de la modal.



title

modalData

Contiene la información relativa al título de la modal.

Si

description

modalData

Contiene la descripción que podrá acompañar al título.

Si

itemsPrimary

Array<ModalButtonData[]>

Contiene la información relativa a los botones principales.

 

itemsSecondary

Array<ModalButtonData[]>

Contiene la información relativa a los botones secundarios.

 

icon

modalIconData

Contiene la información relativa al icono de la modal

 

isDismissible

boolean

Cuando es true, se muestra el icono de cierre de la modal

 

classes

string

Clases CSS separadas por espacio que se aplicarán sobre el componente.



headingLevel

number

Indica el nivel de encabezado del título: 1=h1, 2=h2, etc. Por defecto equivale a 2.

 

caller

TemplateRef <any>

Template para mostrar dentro del modal

 

 

Objeto ModalData

Propiedad

Tipo

Descripción

Obligatorio

Propiedad

Tipo

Descripción

Obligatorio

text

string

Contenido del texto en formato texto plano. No se aplicará cuando se especifique la propiedad html.

Si, cuando no se especifica html.

html

string

Contenido del texto en formato HTML.

Si, cuando no se especifica text.

classes

string

Classes CSS separadas por espacio que se aplicarán sobre los objetos de este tipo

 

 

Objeto ModalButtonData

Propiedad

Tipo

Descripción

Obligatorio

Propiedad

Tipo

Descripción

Obligatorio

text

string

Contenido del texto en formato texto plano.

 

classes

string

Classes CSS separadas por espacio que se aplicarán sobre los objetos de este tipo

 

 

Objeto ModalIconData

Propiedad

Tipo

Descripción

Obligatorio

Propiedad

Tipo

Descripción

Obligatorio

html

string

Contenido del texto en formato HTML.

 

type

string

Tipos predefinidos de icono, son: discard, delete, edit, changes y publish. No se aplicará cuando se especifique la propiedad html.

 

 

Propiedades de accesibilidad

El componente modal admite los siguientes parámetros de accesibilidad.

 

Evento

Tipo

Descripción

Evento

Tipo

Descripción

clickButton

DOM Event

Se emite al pulsar sobre un botón.

 

 

Accesibilidad


En todos los componentes se han tenido en cuenta los siguiente parámetros de accesibilidad. Se detalla en cada componente.

Parámetro

Atributo de accesibilidad equivalente

Parámetro

Atributo de accesibilidad equivalente

role

role

ariaLabel

aria-label

ariaDescribedBy

aria-describedby

ariaLabelledBy

aria-labelledby

ariaHidden

aria-hidden

ariaDisabled

aria-disabled

ariaControls

aria-controls

ariaCurrent

aria-current

ariaLive

aria-live

ariaExpanded

aria-expanded

ariaErrorMessage

aria-errormessage

ariaHasPopup

aria-haspopup

ariaModal

aria-modal

tabindex

tabindex


Servicios relativos a modales


Vamos a ver como se usa cada uno de los servicios.

 

DialogService


Servicio que permite abrir y cerrar diálogos de forma dinámica, es decir, sin tener que especificar los componentes en el HTML. Contiene los siguientes métodos

openDialog

Permite abrir un dialog.

closeDialog

Permite cerrar un dialog.

onCloseDialog

Permite gestionar el evento de cierre de un dialog.