Ho un'app Grails 2.4.4 e sto provando a implementare un GSP che sfrutta un jQuery DataTable. Vedo che c'è un DataTable plugin ma sembra non mantenuto e incompatibile con Grails 2.x. Per non parlare del fatto che lo dovrebbe essere un modo per includere semplicemente qualsiasi lib di JS in Grails senza richiedere esplicitamente un plug-in.Come importare jQuery DataTables in Grails 2.4.4
Ecco la sezione plugins
della mia BuildConfig
:
plugins {
build ":release:3.0.1"
build ":tomcat:7.0.52.1"
compile "org.grails.plugins:gson:1.1.4"
compile ":rest-client-builder:1.0.3"
compile ":yammer-metrics:3.0.1-2"
runtime ":jquery:1.11.1"
runtime ":cached-resources:1.0"
runtime ":resources:1.2.14"
compile ":cache-headers:1.1.7"
compile ":rest-client-builder:1.0.3"
compile ":export:1.6"
compile ":standalone:1.2.3"
compile ":cache-headers:1.1.7"
compile ":scaffolding:2.1.2"
compile ':cache:1.1.3'
runtime ":resources:1.2.14"
runtime ":hibernate:3.6.10.15"
runtime ":database-migration:1.4.0"
runtime ":jquery:1.11.1"
}
Per ragioni al di fuori del campo di applicazione di questo quesiton, io non posso rimuovere o modificare le dichiarazioni esistenti nella sezione plugins
, ma posso aggiungere a loro. Ho sentito dire che qualcosa chiamato "asset pipeline" è il nuovo modo interessante di aggiungere librerie JS a un'app Grails, ma tutta la letteratura che riesco a trovare su questa pipeline è vaga e di alto livello. E non riesco a trovare esempi reali concreti di utilizzo di questa pipeline per includere DataTable in un'app Grails.
Il "! Ciao Mondo" versione di un DataTable sembra essere questo:
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
</tr>
...lots of more rows
</tbody>
</table>
$(document).ready(function() {
$('#example').DataTable();
});
Allora io mi chiedo: Come vado ho la (sopra) "Ciao Mondo" in esecuzione DataTable all'interno di un GSP ? Cosa specifiche configurazioni, plug-in, ecc. Devo cablare per farlo funzionare?