Como crear un widget para un formulario

21, December, 2023 - Luciano Neimark

Para hablar de widgets tenemos que hablar primero de transformers. Si queremos modificar el aspecto de un formulario tenemos que sobreescribir cómo se generan esos formularios así se tiene en cuenta que puede llegar a aparecer un widget nuestro. Para lograr esto, vamos a ir al archivo de transformers.txt (/src/jrapid/transformers.txt) y vamos a agregar la siguiente línea: [[code]]form;extras://mybaseform.xsl;src/main/webapp/${module}/${entity}_form.html;true;true[[/code]] Y luego creamos el archivo mybaseform.xml en la carpeta src/jrapid/ [[code]] [[/code]] Vemos que se incluye el form original pero tambien un archivo con los widgets. En /src/jrapid/widgets escribimos las siguientes líneas: [[code]] [[/code]] Donde podemos ver que el include hace referencia a el widget de mapa que vamos a crear a continuación. /src/jrapid/widget-latLong.xsl [[code]] evaluated('/', me) {./} foo./

ACA VAMOS A MOSTRAR MAPA CON LATITUD Y LONGITUD
[[/code]] y por último se necesita en script que reemplace en el div de abajo de todo, por el widget de google maps que nos da un mapa: [[code]] function showInMap(obj) { var div = $(obj).parent().next(); var latLong = obj.value.split(';'); var center = new google.maps.LatLng(parseFloat(latLong[0]), parseFloat(latLong[1])); var map = new google.maps.Map(div[0], { center: center, zoom: 15 }); } [[/code]] Lo ultimo que queda es declarar el widget en main.xml dentro de config: [[code]] [[/code]]

ESEN