2013-08-16 1 views
0

remoteLink est utilisé pour appeler le gestionnaire de serveur dans le projet Grails comme ci-dessous. Je peux placer la méthode blockUi dans onLoading pour rendre invoke amical. S'il y a un peu de remoteLink, je peux le faire pour chaque remoteLink. Mais s'il y a beaucoup de remoteLink, répéter ce n'est pas une bonne pratique comme mon imagination.bloc ui sur ajax chargement pour grails

Je souhaite utiliser des balises GSP. Y at-il une méthode comme un intercepteur pour l'événement de chargement ajax remoteLink pour le faire sans répéter? S'il y en a, alors il vaudra mieux que remoteLink soit exclu de blockUi en plaçant une balise comme: except = 'true'

Merci beaucoup pour votre aide!

<g:remoteLink action="show" 
      id="1" 
      update="success" 
      onLoading="blockUi()" 
      onComplete="hideProgress()">Show Book 1</g:remoteLink> 

Répondre

1

Vous pouvez créer votre propre TagLib et appelez remoteLink avec votre onLoading par défaut.

class AjaxTagLib { 
    static namespace = "my" //define a namespace to not conflict with g 

    def remoteLink = { attrs -> 
    //default onLoading attribute 
    if(!attrs.onLoading) { 
     attrs.onLoading = "blockUi()" 
    } 
    g.remoteLink(attrs) 
    } 
} 

Ensuite, vous pouvez utiliser cette instad de g.remoteLink:

<my:remoteLink action="show" id="1" update="success">Show Book 1</my:remoteLink>