PDA

View Full Version : Reutilización de componentes



lucbebe
08-25-2009, 08:33 AM
Hola de nuevo.
Tengo un action squence con varios componentes javascript, que necesito utilizar desde varias action squence.
¿Alguien sabe si hay alguna forma de compartirlos entre las distintas action squences que vayan a utilizarlos, para evitar tener que copiarlos en todas?
Muchas gracias de antemano.

Maria Roldan
08-25-2009, 09:08 AM
sí, se puede, pero no me acuerdo como :p

Tenes que tener el codigo javascript aparte, como un js, no en el xaction.
y despues lo usas en el xaction, esta es la parte que no recuerdo exactamente, pero creo que pones el archivo como recurso, y listo.
mc

tdidomenico
08-25-2009, 10:10 AM
En el caso particular de la JavascriptRule, haciendo click derecho en el cuadro "Imported Javascript" podés asignar archivos que contengan tu código JS, y utilizarlo en todas las Action Sequences que quieras : http://wiki.pentaho.com/display/ServerDoc2x/JavaScript

¡Saludos!

lucbebe
08-26-2009, 02:39 AM
Gracias por las respuestas, lo he probado y funciona perfectamente.
El problema es que tengo varios componentes javascript seguidos, porque cada uno solo puede devolver un valor (sino lo he entendido mal) y a continuación un componente SQLLookupRule para que inserte los valores en la base de datos, de modo que aunque las funciones javascript sean solo una llamada, el código se agranda por la cantidad de componentes. ¿Sabeis si hai alguna forma de compartir el código de los componentes, algo así como un <include> de jsp?
Gracias de nuevo

tdidomenico
08-26-2009, 09:24 AM
Si mal no recuerdo el componente Javascript de las Action Sequences te permite definir todas las variables que quieras como salida, simplemente listándolas en el cuadro "Script Outputs", luego de declararlas en el código.

De esta manera sólo usarías un componente Javascript en cada xaction, incluyendo el código como ya lo hiciste.

¡Saludos!

lucbebe
08-27-2009, 03:24 AM
Efectivamente, funciona como lo describiste, solo no entiendo como no me funcionó cuando lo probara anteriormente, debí meter la pata en otra cosa.
Muchas gracias.