Ejercicio 8 - Agregar un fragmento
Objetivo
El objetivo de este ejercicio es enriquecer la aplicaci贸n para que los usuarios creen y gestionen sus solicitudes de vacaciones agregando un fragmento a la p谩gina SeguimientoDeSolicitud.
Instrucciones resumidas
- En el formulario ingresarSolicitudVacaciones, crea un fragmento con los widgets DatePicker et Input para recolectar la informaci贸n al llenar una nueva solicitud.
- Utiliza este fragmento en la p谩gina y vincula sus datos.
- Despliega nuevamente la p谩gina de la aplicaci贸n utilizando el bot贸n Deploy del descriptor de la aplicaci贸n en Bonita Studio.
Instrucciones paso a paso
En el formulario ingresarSolicitudVacaciones, crea un fragmento
-
Abre el formulario
- Vuelve a la p谩gina de inicio de UI Designer
- Selecciona el formulario ingresarSolicitudVacaciones en la pesta帽a Fomularios y haz clic para abrirlo
-
Crea un fragmento a partir del formulario ingresarSolicitudVacaciones
-
Selecciona el contenedor con los 2 widgets Fecha de 铆nicio y N煤mero de d铆as
-
En el panel derecho, haz clic en ... y selecciona Guardar como fragmento.
-
N贸mbralo nuevaSolicitudVacacionesFragmento.
-
Haz clic en Guardar. Aparece una nueva pesta帽a de men煤 en la parte izquierda del UI Designer.
-
Guarda el formulario y vuelve a la p谩gina de inicio de UI Designer
-
-
Configura el fragmento:
- Selecciona el fragmento y haz clic en Editar... para configurar los datos del fragmento
- Haz clic en Crear una nueva variable
- N贸mbrala dataExt.
- Haz clic en S铆 para exponer los datos del fragmento a la p谩gina y Guardar la variable
- Selecciona el widget DatePicker.
- En el campo Valor sustituye formInput por dataExt
- Selecciona el widget Input y sustituye formInput por dataExt en el campo Value
- Haz clic en Guardar.
- Selecciona el fragmento y haz clic en Editar... para configurar los datos del fragmento
Utiliza este fragmento en la p谩gina y vincula sus datos
-
Utiliza este fragmento en la p谩gina
- Vuelve a la p谩gina SeguimientoDeSolicitud
- Borra los campos Date Picker e Input
- Arrastra y suelta el nuevaSolicitudVacacionesFragmento del men煤 de la izquierda al contenedor del formulario.
-
Vincula los datos del fragmento con los datos de la p谩gina:
- Vuelva a la p谩gina de la aplicaci贸n SeguimientoDeSolicitud.
- En el panel de configuraci贸n, en Datos de fragmento enlazable agrega la variable nuevaSolicitudVacaciones
- Guarda los cambios.
- Haz clic en Vista previa La p谩gina ahora deber铆a verse as铆:
-
Crea una nueva variable para almacenar informaci贸n relacionada con el proceso:
- Haz clic en Crear una nueva variable
- Nombra la variable informacionDefinicionProceso
- Elije el tipo API externa
- En el campo API URL, escribe:
../API/bpm/process?p=0&c=10&f=name=SolicitudVacaciones&o=version%20desc
-
Agrega un bot贸n para enviar el formulario:
- Arrastra el widget Bot贸n desde la paleta y col贸calo en el contenedor del formulario debajo de los dos widgets
- Ingresa Crear una nueva solicitud en el campo Etiqueta
- Selecciona POST de la lista desplegable Acci贸n
- Haz clic en fx para cambiar el modo del campo Datos enviados al hacer clic y selecciona nuevaSolicitudVacaciones
- En el campo URL para llamar, escribe:
../API/bpm/process/{{informacionDefinicionProceso[0].id}}/instantiation
- En el campo URL de destino si tiene 茅xito, escribe:
/bonita/apps/solicitud-vacaciones
(de momento no se puede ir a la p谩gina porque hay que crear la aplicaci贸n de destino) - Selecciona la opci贸n centrado para el par谩metro Alineaci贸n
- Selecciona la opci贸n primary para el par谩metro Est铆lo
- Guarda los cambios. La p谩gina ahora deber铆a verse as铆:
- La vista previa de la p谩gina te permite verificar que funciona correctamente
Despliega nuevamente la p谩gina de la aplicaci贸n utilizando el bot贸n Deploy del descriptor de la aplicaci贸n en Bonita Studio.
-
Desde Bonita Studio, haz clic en el bot贸n Desplegar Se abre una ventana de despliegue.
-
Haz clic en Desplegar (B)
-
Para abrir la aplicaci贸n, selecciona Aplicaci贸n de solicitud de vacaciones como usuario.
-
Haz clic en Abrir.
La aplicaci贸n deber铆a tener este aspecto una vez desplegada:
隆Y ya est谩! ;)