iberck
12/12/2016 - 8:46 PM

Grails taglibs import assets

Grails taglibs import assets

Import taglib assets

La siguiente técnica sirve para que el taglib obligue a importar sus assets y para evitar que se importe repetido el mismo asset. Se recomienda meter todos los js/css en un archivo de manifiesto, para que el framework genere un bundle en producción.

class TestTagLib {

   static namespace = 't'

   def assetsTest = {
       if (pageScope["${this.class.name}_assets"]) {
           throwTagError("Ya se han importado los assets del taglib ${this.class.name}")
       }
       pageScope["${this.class.name}_assets"] = true

       out << asset.javascript(src: "bootstrap-colorpicker/js/bootstrap-colorpicker.js")
       out << asset.stylesheet(src: "bootstrap-colorpicker/css/bootstrap-colorpicker.css")
   }

   def test = {attrs, body ->
       if (!pageScope["${this.class.name}_assets"]) {
           throwTagError("No se ha importado los assets del taglib ${this.class.name}")
       }

       out << "Hello world"
   }

}