angular-ui / bootstrap

PLEASE READ THE PROJECT STATUS BELOW. Native AngularJS (Angular) directives for Bootstrap. Smaller footprint (20kB gzipped), no 3rd party JS dependencies (jQuery, bootstrap JS) required. Please read the README.md file before submitting an issue!
http://angular-ui.github.io/bootstrap/
MIT License
14.3k stars 6.74k forks source link

Pagination and seo #6656

Closed pruge closed 6 years ago

pruge commented 6 years ago

We have added a few code to show the href in a link to pagination.

directive.scope.setState = '&';
data-ui-sref="{{setState()}}({page: {{::page.number}}})"

new pagination template

var app = require('../index');

function configuration($provide) {
  'ngInject';
  $provide.decorator('uibPaginationDirective', function($delegate, $templateCache) {
        var directive = $delegate[0];
        directive.scope.setState = '&';
        $templateCache.put('uib/template/pagination/paginationHref.html',
            `

            <li ng-if="::boundaryLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-first"><a href="" ng-click="selectPage(1, $event)" ng-disabled="noPrevious()||ngDisabled" uib-tabindex-toggle>{{::getText('first')}}</a></li>
            <li ng-if="::directionLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-prev"><a href="" ng-click="selectPage(page -1, $event)" ng-disabled="noPrevious()||ngDisabled" uib-tabindex-toggle>{{::getText('previous')}}</a></li>
            <li ng-repeat="page in pages track by $index" ng-class="{active: page.active,disabled: ngDisabled&&!page.active}" class="pagination-page"><a href="" ng-click="selectPage(page.number, $event)" data-ui-sref="{{setState()}}({page: {{::page.number}}})" ng-disabled="ngDisabled&&!page.active" uib-tabindex-toggle>{{page.text}}</a></li>
            <li ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next"><a href="" ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle>{{::getText('next')}}</a></li>
            <li ng-if="::boundaryLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-last"><a href="" ng-click="selectPage(totalPages, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle>{{::getText('last')}}</a></li>

            `);
        return $delegate;
    });
}

app.config(configuration);

usage

<ul uib-pagination class="pagination-sm"
    template-url="uib/template/pagination/paginationHref.html"  <!-- add this -->
    [ set-state="main.board" ]   <!-- Can be omitted -->
    ...
></ul>

result

<li ng-repeat="page in pages track by $index" ng-class="{active: page.active,disabled: ngDisabled&amp;&amp;!page.active}" class="pagination-page ng-scope">
    <a href="/main/cling/cling_component?page=3&amp;limit=10" ng-click="selectPage(page.number, $event)" data-ui-sref="main.cling.list({page: 3})" ng-disabled="ngDisabled&amp;&amp;!page.active" uib-tabindex-toggle="" class="ng-binding">3</a>
</li>
icfantv commented 6 years ago

Closing this as this project is no longer being maintained, per the README and the ISSUE_TEMPLATE.