Utiliser du code Javascript dans le Widget HTML

Bonjour.

Je souhaiterais créer un tableau de ce genre : http://dreakmore.info/tgrid/demos/
Du coupe je pense utiliser un widget HTML de façon à pouvoir créer ce tableau. Et dans ce tableau, je voudrais le remplir avec un liste de données que j’ai récupéré grâce à un connecteur.
Est ce qu’il existe un méthode pour utiliser une variable de mon processus (ma liste) et en même temps utiliser du script javascript ?
Au début j’ai pensé utiliser un script groovy mais ça n’a pas l’air de faire bon ménage avec les $ de javascript.

Pour l’instant j’ai juste un tableau tout simple que j’utilise de cette façon :

String html = “<table border="1" style="width:300px">”;

html += “”;

for (s in listeNomsColonnes) {
html = html+“”+s+“”;
}

html += “Actions”;

for (i in listeDonnees) {
html += “”;
for (j in i) {
html += “”+((j!=null)?j:“”)+“”;
}
html += “<button onclick="alert(‘clic’)">Edit”;
}

return html+“”;

PS : listeNomsColonnes et listeDonnees sont les variables de mon processus. Je les parcours pour générer le code HTML qui sera affiché dansle widget.
Maintenant je souhaiterais y intégrer le script js proposé dans le lien tout en haut.

Après m’être documenté sur le langage Groovy, j’ai trouvé une solution.
Il suffit de mettre $ pour pouvoir utiliser le symbole $ dans un scrypt. C’était tout bête ^^

Et du coup je me suis servi de ton tutoriel :
http://community.bonitasoft.com/blog/how-add-custom-javascript-your-bonita-bpm-forms

J’utilise la librairie js datatables (https://datatables.net/) en suivant le tutoriel et ça donne un très bon résultat.

J’ai maintenant un tableau dans lequel je peux trier mes données et les filtrer.

Merci beaucoup pour ton tutoriel.

Est-ce que tu as essayé en créant un champs “hidden” auquel tu assignes la variable avec ta liste ? Du coup, tu dois pouvoir ensuite l’utiliser en JS.

Cool, super de voir que ça sert. Si tu peux partager un .bos avec un exemple dans la partie Project, ce serait super. Je verrai ensuite si on peut à terme proposer d’intégrer cette librairie dans un nouveau widget :wink: