2017-04-25 8 views
0

J'utilise YUI Paginator API pour la pagination et j'ai besoin de montrer le nombre total de pages à l'écran. J'ai vu qu'il y a une fonction getTotalPages() dans l'API mais je ne suis pas sûr de la façon de l'utiliser, il n'y a pas assez de documentation. Aussi après avoir regardé une autre documentation j'ai essayé d'utiliser {totalPages} mais n'a pas fonctionné. Quelqu'un peut-il m'aider dans ce numéro? Merci d'avance!! Voici l'extrait de code que j'utilise. S'il vous plaît se référer à l'objet modèle de configuration:Comment afficher Nombre total de pages dans YUI Paginator?

config = { 
       rowsPerPage: 100, 

       template : 
        '<p class="klass">' + 

         '<label>Total pages: {totalPages}</label>'+ 
         '<label>Page size: {RowsPerPageDropdown}</label>'+ 
        '</p>', 
       rowsPerPageDropdownClass : "yui-pg-rpp-options", 
       rowsPerPageOptions : [ 
            { value : 100 , text : "100" }, 
            { value : 250 , text : "250" }, 
            { value : 500 , text : "500" }, 
            { value : 1000 , text : "1000" }, 
            { value : tstMap[tabName].length , text : "All" } 
           ], 
      };                
var myPaginator = new YAHOO.widget.Paginator(config); 

Répondre

1

L'utilitaire Paginator vous permet d'afficher un élément ou un groupe d'éléments en fonction du nombre d'articles que vous souhaitez afficher à un moment donné.

La fonctionnalité principale de Paginator est contenue dans paginator-core et est mélangée dans paginator pour permettre à paginator d'avoir des fonctionnalités supplémentaires ajoutées tout en laissant intacte la fonctionnalité de base. Cela permet à paginator-core de rester disponible pour une utilisation ultérieure ou utilisée de manière isolée si c'est la seule pièce dont vous avez besoin. En raison du nombre important d'interfaces qu'un paginateur peut éventuellement contenir, Paginator ne contient aucune interface utilisateur prête à l'emploi. Toutefois, Paginator est prêt à être utilisé dans tout module Basé sur la base, tel qu'un widget, en étendant la classe désirée et en mixant dans Paginator. Ceci est affiché dans l'exemple suivant:

YUI().use('paginator-url', 'widget', function (Y){ 
      var MyPaginator = Y.Base.create('my-paginator', Y.Widget, [Y.Paginator], { 

       renderUI: function() { 
        var numbers = '', 
         i, numberOfPages = this.get('totalPages'); 

        for (i = 1; i <= numberOfPages; i++) { 
         // use paginator-url's formatUrl method 
         numbers += '<a href="' + this.formatUrl(i) + '">' + i + '</a>'; 
        } 

        this.get('boundingBox').append(numbers); 
       }, 

       bindUI: function() { 
        this.get('boundingBox').delegate('click', function (e) { 
         // let's not go to the page, just update internally 
         e.preventDefault(); 
         this.set('page', parseInt(e.currentTarget.getContent(), 10)); 
        }, 'a', this); 

        this.after('pageChange', function (e) { 
         // mark the link selected when it's the page being displayed 
         var bb = this.get('boundingBox'), 
          activeClass = 'selected'; 

         bb.all('a').removeClass(activeClass).item(e.newVal).addClass(activeClass); 
        }); 
       } 

      }); 

      var myPg = new MyPaginator({ 
          totalItems: 100, 
          pageUrl: '?pg={page}' 
         }); 

      myPg.render(); 
     });