Sucesos definidos por el usuario
Las vistas se comunican con otras vistas utilizando enlaces de datos. No obstante, también puede utilizar sucesos para interactuar con otras vistas. Para ilustrar los conceptos de este tema, se han añadido tres vistas relacionadas denominadas Revenue (ingresos), Expenses (gastos) y Profit (ganancias) a un servicio de usuario del lado del cliente. Todas estas vistas utilizan sucesos para interactuar entre ellas y todas son del tipo de vista Decimal. En el resto de este tema, se describen algunas de las características principales de la infraestructura de sucesos para las vistas.
Un ID de control es un identificador que se puede especificar en el código JavaScript para hacer referencia a una vista. Otras vistas pueden hacer referencia a los ID de control para permitirles interactuar entre ellas utilizando sucesos. Por ejemplo, en las propiedades de General, puede especificar un ID de control para una vista en el campo ID de control.

Todos los manejadores de sucesos definidos por el usuario para una vista se visualizan en las propiedades de Sucesos. Cada manejador de sucesos tiene un editor de JavaScript ampliable para añadir la lógica empresarial y tiene asistencia de contenido que puede invocar pulsando Ctrl-Espacio. En la imagen siguiente se muestran los manejadores de sucesos Al cargar y Al cambiar.

Para definir sucesos definidos por el usuario, utilice el tipo incorporado Suceso que se ha añadido para complementar los tipos incorporados Objeto y Servicio. En Declaraciones de variable, añada una o varias opciones de configuración. En Datos, cambie una o varias de las opciones de configuración a sucesos seleccionando el botón de opción Suceso y especificando un nombre y una etiqueta. En la figura siguiente, el suceso eventON_LOAD definido por el usuario se selecciona en Declaraciones de variable y el nombre, la etiqueta y la documentación correspondientes a este suceso definido por el usuario se muestran en Datos:

El suceso definido por el usuario eventON_LOAD es un manejador de sucesos especial. Si define una opción de configuración de sucesos con el nombre eventON_LOAD, se ejecutará automáticamente en el manejador de sucesos load.
Para registrar un suceso definido por el usuario después de haberlo definido, seleccione un manejador de sucesos en las propiedades de Comportamiento y, a continuación, utilice el editor de JavaScript en Código para añadir, si lo desea, lógica de registro. Si tiene variables adicionales que desea pasar al manejador de sucesos, puede llamar a la función registerEventHandlingFunction. No obstante, si no llama explícitamente a la función de registro, el manejador de sucesos se registrará sin variables adicionales.
Para designar cuándo se debería activar un suceso definido por el usuario, seleccione un manejador de sucesos en las propiedades de Comportamiento y utilice el editor de JavaScript en Código para añadir la lógica necesaria. En la lógica, tiene que llamar a la función executeEventHandlingFunction para ejecutar la lógica de sucesos. En la siguiente figura, se ejecuta el suceso valueChange en el manejador de sucesos change. La asistencia de contenido se ha invocado en la sentencia this. seleccionando Control-Espacio para buscar y seleccionar la función executeEventHandlingFunction:

Los manejadores de sucesos definidos por el usuario para la vista se visualizan en las propiedades Sucesos. Cada manejador de sucesos tiene un editor de JavaScript ampliable para añadir la lógica empresarial y tiene asistencia de contenido que puede invocar pulsando Ctrl-Espacio. Utilizando el editor de JavaScript, puede introducir código personalizado en un manejador de sucesos. Esto permite que la vista interactúe con otras vistas y realice tareas como definir los valores y comprobar las validaciones. En la figura siguiente, la asistencia de contenido se invoca en el editor JavaScript para el manejador de sucesos definidos por el usuario Al cambiar y el${VIEW_ID}la variable está a punto de seleccionarse:

Si añade el${VIEW_ID}al editor JavaScript de un manejador de sucesos definido por el usuario, debe sustituir la señal VIEW_ID por el ID de control de otra vista, lo que proporciona al manejador de sucesos definido por el usuario acceso completo a dicha vista. Por ejemplo, puede sustituir el${VIEW_ID}con ${Revenue} (que es el ID de control para la vista Ingresos). A continuación, puede llamar a una función como${Revenue}.getData()para obtener el valor de límite actual para la vista Ingresos.
page incorporada para utilizarla con sucesos. Es el equivalente a nivel de coach de especificar el${VIEW_ID}en el nivel de vista. La variable page
se puede utilizar en HTML personalizado a nivel de coach o en una tarea especificada en script en un servicio de usuario del lado del cliente. Por ejemplo, puede hacer referencia a una vista desde un manejador de sucesos utilizando la siguiente función a nivel de página o en scripts del lado del cliente:page.ui.get(VIEW_ID)
\n), comillas simples (\'), comillas dobles (\") y retorno de carro (\r), se ejecuta en tiempo de ejecución, preceda los caracteres especiales con un signo de barra inclinada invertida doble (\\) en lugar de la barra inclinada invertida simple (\).