<\/HEAD>
En algunos casos, se requiere acceder a la información de un widget desde otro widget. Entonces surge la pregunta de cómo hacer que los datos de un widget estén disponibles para otro widget.<\/P>
Para este caso de uso, un widget dispone de las funciones publishData(), fetchData(), fetchDataByName(), onReceiveData() y onNoData(). Estas funciones son heredadas automáticamente por un widget propio desde BaseWidget.<\/P>
Para entender mejor el uso de estas funciones, veamos un ejemplo muy sencillo con dos widgets. El
primer widget llamado SetLocation sirve para ingresar una coordenada X\/Y, sobre la cual se puede centrar el mapa:<\/P>
<\/P>
El segundo widget llamado GetLocation simplemente debe mostrar esta coordenada X\/Y:<\/P>
<\/P>
¿Cómo llegan ahora los valores de las coordenadas al segundo widget?<\/P>
En el widget que envía los datos, es decir SetLocation, los valores de las coordenadas se ingresan en dos campos de entrada y se leen en una función,
que se llama al hacer clic en el botón. Si se tienen varios datos individuales, se pueden agrupar, por ejemplo, en una cadena JSON. Para poner estos datos a disposición de otros widgets, se llama a la función publishData() y se le pasan los datos:<\/P>
<\/P>
En el widget que debe recibir los datos, es decir en GetLocation, los datos se recuperan con la función fetchData(widgetId).
La función puede llamarse, por ejemplo, en el método startUp():<\/P>
<\/P>
El parámetro widgetId es el ID del widget que envía los datos (aquí SetLocation), tal como está registrado en el archivo de configuración config.json
de la App.<\/P>
Si hay datos disponibles para recibir, estos se ponen a disposición en la función manejadora de eventos onReceiveData(), que debe implementarse en el
widget receptor. Si no hay datos disponibles, se llama a la función manejadora de eventos onNoData().<\/P>
<\/P>
En la función onReceiveData() los datos transmitidos se pasan como parámetro, para que puedan usarse aquí, por ejemplo,
para mostrarlos en el widget.<\/P>
Resumiendo nuevamente el proceso:<\/P>
1) En el widget emisor proporcionar los datos con la función publishData().<\/P>
2) En el widget receptor solicitar los datos mediante la función fetchData() y leerlos y usarlos en la función onReceiveData().<\/P>
<\/P>
1Feliz codificacif3n!<\/P><\/BODY><\/HTML>