Search code examples
angularjspaginationangular-uiangular-ui-bootstrap

How to set prevous-text and next-text attribute as HTML template in angular-ui bootstrap pagination directive


I'm going to use http://angular-ui.github.io/bootstrap/#pagination I need to set 'previous', 'next' indicators as html.

something like:

<pagination 
    previous-text="'<span class="glyphicon glyphicon-arrow-left"></span>'"
    next-text="'<span class="glyphicon glyphicon-arrow-right"></span>'"
>
</pagination>

Unfortunately it returns parsed html instead of icons.

Here is a plunker with what I want to achieve: http://plnkr.co/edit/q59XhTO0II1ZBz21Etj2?p=preview


Solution

  • This answer is based on @pkozlowski.opensource comment: add a script tag to your html file like following and then your are good to go:

    <script id="template/pagination/pagination.html" type="text/ng-template">
    <ul class="pagination">
        <li ng-if="boundaryLinks" ng-class="{disabled: noPrevious()}">
            <a href ng-click="selectPage(1)" title="First Page"> 
                <span class="glyphicon glyphicon-fast-backward"></span>
            </a>
        </li>
        <li ng-if="directionLinks" ng-class="{disabled: noPrevious()}">
            <a href ng-click="selectPage(page - 1)" title="Previous Page">
              <span class="glyphicon glyphicon-step-backward"></span>
            </a>
        </li>
        <li ng-repeat="page in pages track by $index" ng-class="{active: page.active}">
          <a href ng-click="selectPage(page.number)">{{page.text}}</a>
        </li>
        <li ng-if="directionLinks" ng-class="{disabled: noNext()}">
          <a href ng-click="selectPage(page + 1)" title="Next Page">
            <span class="glyphicon glyphicon-step-forward"></span>
          </a>
       </li>
       <li ng-if="boundaryLinks" ng-class="{disabled: noNext()}">
         <a href ng-click="selectPage(totalPages)" title="Last Page">
           <span class="glyphicon glyphicon-fast-forward"></span>
         </a>
       </li>
    </ul>
    

    I modified original template and replaced pagination texts with glyphicons and added title to links for customization.