carbon-components-angular
Version:
Next generation components
2,270 lines • 115 kB
HTML
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>carbon-components-angular documentation</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../images/favicon.ico">
<link rel="stylesheet" href="../styles/style.css">
<link rel="stylesheet" href="../styles/dark.css">
<style>
footer.carbon {
position: absolute;
bottom: 0;
width: 100%;
z-index: 9999;
}
#root > div {
/*
* Subtracting the height of the footer to prevent
* overlaying the footer ontop of content
*/
height: calc(100vh - 48px);
}
</style>
</head>
<body>
<script>
// Blocking script to avoid flickering dark mode
// Dark mode toggle button
var useDark = window.matchMedia('(prefers-color-scheme: dark)');
var darkModeState = useDark.matches;
var $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
var $darkModeToggles = document.querySelectorAll('.dark-mode-switch');
var darkModeStateLocal = localStorage.getItem('compodoc_darkmode-state');
function checkToggle(check) {
for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
$darkModeToggleSwitchers[i].checked = check;
}
}
function toggleDarkMode(state) {
if (window.localStorage) {
localStorage.setItem('compodoc_darkmode-state', state);
}
checkToggle(state);
const hasClass = document.body.classList.contains('dark');
if (state) {
for (var i = 0; i < $darkModeToggles.length; i++) {
$darkModeToggles[i].classList.add('dark');
}
if (!hasClass) {
document.body.classList.add('dark');
}
} else {
for (var i = 0; i < $darkModeToggles.length; i++) {
$darkModeToggles[i].classList.remove('dark');
}
if (hasClass) {
document.body.classList.remove('dark');
}
}
}
useDark.addEventListener('change', function (evt) {
toggleDarkMode(evt.matches);
});
if (darkModeStateLocal) {
darkModeState = darkModeStateLocal === 'true';
}
toggleDarkMode(darkModeState);
</script>
<div class="navbar navbar-default navbar-fixed-top d-md-none p-0">
<div class="d-flex">
<a href="../" class="navbar-brand">carbon-components-angular documentation</a>
<button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
</div>
</div>
<div class="xs-menu menu" id="mobile-menu">
<div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu>
</div>
<div class="container-fluid main">
<div class="row main">
<div class="d-none d-md-block menu">
<compodoc-menu mode="normal"></compodoc-menu>
</div>
<!-- START CONTENT -->
<div class="content component">
<div class="content-data">
<ol class="breadcrumb">
<li class="breadcrumb-item">Components</li>
<li class="breadcrumb-item"
>
Pagination</li>
</ol>
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item">
<a href="#info" class="nav-link active"
role="tab" id="info-tab" data-bs-toggle="tab" data-link="info">Info</a>
</li>
<li class="nav-item">
<a href="#source" class="nav-link"
role="tab" id="source-tab" data-bs-toggle="tab" data-link="source">Source</a>
</li>
<li class="nav-item">
<a href="#tree" class="nav-link"
role="tab" id="tree-tab" data-bs-toggle="tab" data-link="dom-tree">DOM Tree</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade active in" id="info"><p class="comment">
<h3>File</h3>
</p>
<p class="comment">
<code>src/pagination/pagination.component.ts</code>
</p>
<p class="comment">
<h3>Description</h3>
</p>
<p class="comment">
<p>Use pagination when you have multiple pages of data to handle. Get started with importing the module:</p>
<b>Example :</b><div><pre class="line-numbers"><code class="language-typescript">import { PaginationModule } from 'carbon-components-angular';</code></pre></div><b>Example :</b><div><pre class="line-numbers"><code class="language-html"> <cds-pagination [model]="model" (selectPage)="selectPage($event)"></cds-pagination></code></pre></div><p>In your <code>selectPage()</code> method set the <code>model.currentPage</code> to selected page, <em>after</em>
you load the page.</p>
<b>Example :</b><div><pre class="line-numbers"><code class="language-typescript">selectPage(page) {
// ... your code to load the page goes here
this.model.currentPage = page;
// ... anything you want to do after page selection changes goes here
}</code></pre></div><p><a href="../../?path=/story/components-pagination--basic">See demo</a></p>
</p>
<section data-compodoc="block-metadata">
<h3>Metadata</h3>
<table class="table table-sm table-hover metadata">
<tbody>
<tr>
<td class="col-md-3">selector</td>
<td class="col-md-9"><code>cds-pagination, ibm-pagination</code></td>
</tr>
<tr>
<td class="col-md-3">template</td>
<td class="col-md-9"><pre class="line-numbers"><code class="language-html"><div
class="cds--pagination"
[ngClass]="{
'cds--skeleton': skeleton
}">
<!-- left skeleton div -->
<div *ngIf="skeleton" class="cds--pagination__left">
<p class="cds--skeleton__text" style="width: 70px"></p>
<p class="cds--skeleton__text" style="width: 35px"></p>
<p class="cds--skeleton__text" style="width: 105px"></p>
</div>
<div *ngIf="!skeleton" class="cds--pagination__left">
<ng-container *ngIf="showPageInput">
<label class="cds--pagination__text" [for]="itemsPerPageSelectId">
{{itemsPerPageText.subject | async}}
</label>
<div
class="cds--select cds--select--inline cds--select__item-count"
[class.cds--select--disabled]="pageInputDisabled">
<select
[id]="itemsPerPageSelectId"
[(ngModel)]="itemsPerPage"
[disabled]="pageInputDisabled"
class="cds--select-input">
<option
class="cds--select-option"
*ngFor="let option of itemsPerPageOptions"
[value]="option">
{{ option }}
</option>
</select>
<svg
cdsIcon="chevron--down"
size="16"
style="display: inherit"
class="cds--select__arrow"
aria-hidden="true"
[attr.ariaLabel]="optionsListText.subject | async">
</svg>
</div>
</ng-container>
<span *ngIf="!pagesUnknown && totalDataLength <= 1" class="cds--pagination__text cds--pagination__items-count" [ngStyle]="{'margin-left': showPageInput ? null : 0}">
{{totalItemText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex, total: totalDataLength } | async}}
</span>
<span *ngIf="!pagesUnknown && totalDataLength > 1" class="cds--pagination__text cds--pagination__items-count" [ngStyle]="{'margin-left': showPageInput ? null : 0}">
{{totalItemsText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex, total: totalDataLength } | async}}
</span>
<span *ngIf="pagesUnknown" class="cds--pagination__text cds--pagination__items-count" [ngStyle]="{'margin-left': showPageInput ? null : 0}">
{{totalItemsUnknownText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex } | async}}
</span>
</div>
<!-- right skeleton div -->
<div *ngIf="skeleton" class="cds--pagination__right">
<p class="cds--skeleton__text" style="width: 70px"></p>
</div>
<div *ngIf="!skeleton" class="cds--pagination__right">
<span *ngIf="pagesUnknown" class="cds--pagination__text cds--pagination__page-text">
<ng-container *ngIf="!showPageInput">{{currentPage}}</ng-container>
{{pageText.subject | async}}
</span>
<ng-container *ngIf="showPageInput">
<div
class="cds--select cds--select--inline cds--select__page-number"
[class.cds--select--disabled]="pageInputDisabled">
<label [for]="currentPageSelectId" class="cds--label cds--visually-hidden">{{pageText.subject | async}}</label>
<input
*ngIf="pageOptions.length > pageSelectThreshold"
style="padding-right: 1rem; margin-right: 1rem;"
[id]="currentPageSelectId"
type="number"
min="1"
[max]="pageOptions.length"
class="cds--select-input"
[(ngModel)]="currentPage">
<select
*ngIf="pageOptions.length <= pageSelectThreshold"
[id]="currentPageSelectId"
class="cds--select-input"
[disabled]="pageInputDisabled"
[(ngModel)]="currentPage">
<option *ngFor="let page of pageOptions; let i = index;" class="cds--select-option" [value]="i + 1">{{i + 1}}</option>
</select>
<svg
*ngIf="pageOptions.length <= pageSelectThreshold"
cdsIcon="chevron--down"
size="16"
style="display: inherit;"
class="cds--select__arrow"
[attr.ariaLabel]="optionsListText.subject | async">
</svg>
</div>
</ng-container>
<span *ngIf="!pagesUnknown && lastPage <= 1" class="cds--pagination__text">
<ng-container *ngIf="!showPageInput">{{currentPage}}</ng-container>
{{ofLastPageText.subject | i18nReplace: {last: lastPage} | async}}
</span>
<span *ngIf="!pagesUnknown && lastPage > 1" class="cds--pagination__text">
<ng-container *ngIf="!showPageInput">{{currentPage}}</ng-container>
{{ofLastPagesText.subject | i18nReplace: {last: lastPage} | async}}
</span>
<div class="cds--pagination__control-buttons">
<button
cdsButton="ghost"
iconOnly="true"
class="cds--pagination__button cds--pagination__button--backward"
[ngClass]="{
'cds--pagination__button--no-index': currentPage <= 1 || backwardDisabled
}"
tabindex="0"
[attr.aria-label]="backwardText.subject | async"
(click)="selectPage.emit(previousPage)"
[disabled]="(currentPage <= 1 || backwardDisabled ? true : null)">
<svg cdsIcon="caret--left" size="16" class="cds--btn__icon"></svg>
</button>
<button
cdsButton="ghost"
iconOnly="true"
class="
cds--pagination__button
cds--pagination__button--forward"
[ngClass]="{
'cds--pagination__button--no-index': currentPage >= lastPage || forwardDisabled
}"
tabindex="0"
[attr.aria-label]="forwardText.subject | async"
(click)="selectPage.emit(nextPage)"
[disabled]="(currentPage >= lastPage || forwardDisabled ? true : null)">
<svg cdsIcon="caret--right" size="16" class="cds--btn__icon"></svg>
</button>
</div>
</div>
</div>
</code></pre></td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-index">
<h3 id="index">Index</h3>
<table class="table table-sm table-bordered index-table">
<tbody>
<tr>
<td class="col-md-4">
<h6><b>Properties</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<span class="modifier">Protected</span>
<a href="#_pageOptions" >_pageOptions</a>
</li>
<li>
<a href="#backwardText" >backwardText</a>
</li>
<li>
<a href="#currentPageSelectId" >currentPageSelectId</a>
</li>
<li>
<a href="#forwardText" >forwardText</a>
</li>
<li>
<a href="#itemsPerPageSelectId" >itemsPerPageSelectId</a>
</li>
<li>
<a href="#itemsPerPageText" >itemsPerPageText</a>
</li>
<li>
<a href="#ofLastPagesText" >ofLastPagesText</a>
</li>
<li>
<a href="#ofLastPageText" >ofLastPageText</a>
</li>
<li>
<a href="#optionsListText" >optionsListText</a>
</li>
<li>
<a href="#pageText" >pageText</a>
</li>
<li>
<span class="modifier">Static</span>
<a href="#paginationCounter" >paginationCounter</a>
</li>
<li>
<a href="#totalItemsText" >totalItemsText</a>
</li>
<li>
<a href="#totalItemsUnknownText" >totalItemsUnknownText</a>
</li>
<li>
<a href="#totalItemText" >totalItemText</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Inputs</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#backwardDisabled" >backwardDisabled</a>
</li>
<li>
<a href="#disabled" >disabled</a>
</li>
<li>
<a href="#forwardDisabled" >forwardDisabled</a>
</li>
<li>
<a href="#itemsPerPageOptions" >itemsPerPageOptions</a>
</li>
<li>
<a href="#model" >model</a>
</li>
<li>
<a href="#pageInputDisabled" >pageInputDisabled</a>
</li>
<li>
<a href="#pageSelectThreshold" >pageSelectThreshold</a>
</li>
<li>
<a href="#pagesUnknown" >pagesUnknown</a>
</li>
<li>
<a href="#showPageInput" >showPageInput</a>
</li>
<li>
<a href="#skeleton" >skeleton</a>
</li>
<li>
<a href="#translations" >translations</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Outputs</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#selectPage" >selectPage</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Accessors</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#disabled" >disabled</a>
</li>
<li>
<a href="#translations" >translations</a>
</li>
<li>
<a href="#itemsPerPage" >itemsPerPage</a>
</li>
<li>
<a href="#currentPage" >currentPage</a>
</li>
<li>
<a href="#totalDataLength" >totalDataLength</a>
</li>
<li>
<a href="#lastPage" >lastPage</a>
</li>
<li>
<a href="#startItemIndex" >startItemIndex</a>
</li>
<li>
<a href="#endItemIndex" >endItemIndex</a>
</li>
<li>
<a href="#previousPage" >previousPage</a>
</li>
<li>
<a href="#nextPage" >nextPage</a>
</li>
<li>
<a href="#pageOptions" >pageOptions</a>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-constructor">
<h3 id="constructor">Constructor</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<code>constructor(i18n: <a href="../injectables/I18n.html" target="_self">I18n</a>, experimental: <a href="../injectables/ExperimentalService.html" target="_self">ExperimentalService</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="355" class="link-to-prism">src/pagination/pagination.component.ts:355</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div>
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>i18n</td>
<td>
<code><a href="../injectables/I18n.html" target="_self" >I18n</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>experimental</td>
<td>
<code><a href="../injectables/ExperimentalService.html" target="_self" >ExperimentalService</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-inputs">
<h3 id="inputs">Inputs</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="backwardDisabled"></a>
<b>backwardDisabled</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>false</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="225" class="link-to-prism">src/pagination/pagination.component.ts:225</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="disabled"></a>
<b>disabled</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="207" class="link-to-prism">src/pagination/pagination.component.ts:207</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set to <code>true</code> to disable the backward/forward buttons.</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="forwardDisabled"></a>
<b>forwardDisabled</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>false</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="226" class="link-to-prism">src/pagination/pagination.component.ts:226</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="itemsPerPageOptions"></a>
<b>itemsPerPageOptions</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>number[]</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>[10, 20, 30, 40, 50]</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="264" class="link-to-prism">src/pagination/pagination.component.ts:264</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Options for items per page select</p>
<p>A default array of options will be defined: [10, 20, 30, 40, 50]</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="model"></a>
<b>model</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../classes/PaginationModel.html" target="_self" >PaginationModel</a></code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="203" class="link-to-prism">src/pagination/pagination.component.ts:203</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p><code>PaginationModel</code> with the information about pages you're controlling.</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="pageInputDisabled"></a>
<b>pageInputDisabled</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>false</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="214" class="link-to-prism">src/pagination/pagination.component.ts:214</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set to <code>true</code> to disable the select box that changes the page.</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="pageSelectThreshold"></a>
<b>pageSelectThreshold</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>1000</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="223" class="link-to-prism">src/pagination/pagination.component.ts:223</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="pagesUnknown"></a>
<b>pagesUnknown</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>false</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="222" class="link-to-prism">src/pagination/pagination.component.ts:222</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set to <code>true</code> if the total number of items is unknown.</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="showPageInput"></a>
<b>showPageInput</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>true</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="218" class="link-to-prism">src/pagination/pagination.component.ts:218</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Controls wether or not to show the page selects</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="skeleton"></a>
<b>skeleton</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>false</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="199" class="link-to-prism">src/pagination/pagination.component.ts:199</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set to <code>true</code> for a loading pagination component.</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="translations"></a>
<b>translations</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../interfaces/PaginationTranslations.html" target="_self" >PaginationTranslations</a></code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="245" class="link-to-prism">src/pagination/pagination.component.ts:245</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Expects an object that contains some or all of:</p>
<b>Example :</b><div><pre class="line-numbers"><code class="language-none">{
"ITEMS_PER_PAGE": "Items per page:",
"OPEN_LIST_OF_OPTIONS": "Open list of options",
"BACKWARD": "Backward",
"FORWARD": "Forward",
"TOTAL_ITEMS_UNKNOWN": "{{start}}-{{end}} items",
"TOTAL_ITEMS": "{{start}}-{{end}} of {{total}} items",
"TOTAL_ITEM": "{{start}}-{{end}} of {{total}} item",
"OF_LAST_PAGES": "of {{last}} pages",
"OF_LAST_PAGE": "of {{last}} page"
}</code></pre></div></div>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-outputs">
<h3 id="outputs">Outputs</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="selectPage"></a>
<b>selectPage</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>EventEmitter</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="272" class="link-to-prism">src/pagination/pagination.component.ts:272</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Emits the new page number.</p>
<p>You should tie into this and update <code>model.currentPage</code> once the fresh
data is finally loaded.</p>
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-properties">
<h3 id="inputs">
Properties
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="_pageOptions"></a>
<span class="name">
<span class="modifier">Protected</span>
<span ><b>_pageOptions</b></span>
<a href="#_pageOptions"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>[]</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>[]</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="355" class="link-to-prism">src/pagination/pagination.component.ts:355</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="backwardText"></a>
<span class="name">
<span ><b>backwardText</b></span>
<a href="#backwardText"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.i18n.getOverridable("PAGINATION.BACKWARD")</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="346" class="link-to-prism">src/pagination/pagination.component.ts:346</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="currentPageSelectId"></a>
<span class="name">
<span ><b>currentPageSelectId</b></span>
<a href="#currentPageSelectId"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>`pagination-select-current-page-${Pagination.paginationCounter}`</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="342" class="link-to-prism">src/pagination/pagination.component.ts:342</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="forwardText"></a>
<span class="name">
<span ><b>forwardText</b></span>
<a href="#forwardText"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.i18n.getOverridable("PAGINATION.FORWARD")</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="347" class="link-to-prism">src/pagination/pagination.component.ts:347</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="itemsPerPageSelectId"></a>
<span class="name">
<span ><b>itemsPerPageSelectId</b></span>
<a href="#itemsPerPageSelectId"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>`pagination-select-items-per-page-${Pagination.paginationCounter}`</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="341" class="link-to-prism">src/pagination/pagination.component.ts:341</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="itemsPerPageText"></a>
<span class="name">
<span ><b>itemsPerPageText</b></span>
<a href="#itemsPerPageText"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.i18n.getOverridable("PAGINATION.ITEMS_PER_PAGE")</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="344" class="link-to-prism">src/pagination/pagination.component.ts:344</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="ofLastPagesText"></a>
<span class="name">
<span ><b>ofLastPagesText</b></span>
<a href="#ofLastPagesText"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.i18n.getOverridable("PAGINATION.OF_LAST_PAGES")</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="352" class="link-to-prism">src/pagination/pagination.component.ts:352</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="ofLastPageText"></a>
<span class="name">
<span ><b>ofLastPageText</b></span>
<a href="#ofLastPageText"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.i18n.getOverridable("PAGINATION.OF_LAST_PAGE")</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="353" class="link-to-prism">src/pagination/pagination.component.ts:353</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="optionsListText"></a>
<span class="name">
<span ><b>optionsListText</b></span>
<a href="#optionsListText"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.i18n.getOverridable("PAGINATION.OPEN_LIST_OF_OPTIONS")</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="345" class="link-to-prism">src/pagination/pagination.component.ts:345</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="pageText"></a>
<span class="name">
<span ><b>pageText</b></span>
<a href="#pageText"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.i18n.getOverridable("PAGINATION.PAGE")</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="351" class="link-to-prism">src/pagination/pagination.component.ts:351</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="paginationCounter"></a>
<span class="name">
<span class="modifier">Static</span>
<span ><b>paginationCounter</b></span>
<a href="#paginationCounter"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>0</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="194" class="link-to-prism">src/pagination/pagination.component.ts:194</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="totalItemsText"></a>
<span class="name">
<span ><b>totalItemsText</b></span>
<a href="#totalItemsText"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.i18n.getOverridable("PAGINATION.TOTAL_ITEMS")</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="348" class="link-to-prism">src/pagination/pagination.component.ts:348</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="totalItemsUnknownText"></a>
<span class="name">
<span ><b>totalItemsUnknownText</b></span>
<a href="#totalItemsUnknownText"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.i18n.getOverridable("PAGINATION.TOTAL_ITEMS_UNKNOWN")</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="350" class="link-to-prism">src/pagination/pagination.component.ts:350</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="totalItemText"></a>
<span class="name">
<span ><b>totalItemText</b></span>
<a href="#totalItemText"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.i18n.getOverridable("PAGINATION.TOTAL_ITEM")</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="349" class="link-to-prism">src/pagination/pagination.component.ts:349</a></div>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-accessors">
<h3 id="accessors">
Accessors
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="disabled"></a>
<span class="name"><b>disabled</b><a href="#disabled"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>set</b><code>disabled(value: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank">boolean</a>)</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="207" class="link-to-prism">src/pagination/pagination.component.ts:207</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set to <code>true</code> to disable the backward/forward buttons.</p>
</div>
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>value</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="translations"></a>
<span class="name"><b>translations</b><a href="#translations"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>set</b><code>translations(value: <a href="../interfaces/PaginationTranslations.html" target="_self">PaginationTranslations</a>)</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="245" class="link-to-prism">src/pagination/pagination.component.ts:245</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Expects an object that contains some or all of:</p>
<b>Example :</b><div><pre class="line-numbers"><code class="language-none">{
"ITEMS_PER_PAGE": "Items per page:",
"OPEN_LIST_OF_OPTIONS": "Open list of options",
"BACKWARD": "Backward",
"FORWARD": "Forward",
"TOTAL_ITEMS_UNKNOWN": "{{start}}-{{end}} items",
"TOTAL_ITEMS": "{{start}}-{{end}} of {{total}} items",
"TOTAL_ITEM": "{{start}}-{{end}} of {{total}} item",
"OF_LAST_PAGES": "of {{last}} pages",
"OF_LAST_PAGE": "of {{last}} page"
}</code></pre></div></div>
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>value</td>
<td>
<code><a href="../interfaces/PaginationTranslations.html" target="_self" >PaginationTranslations</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="itemsPerPage"></a>
<span class="name"><b>itemsPerPage</b><a href="#itemsPerPage"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>itemsPerPage()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="274" class="link-to-prism">src/pagination/pagination.component.ts:274</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>set</b><code>itemsPerPage(value)</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="277" class="link-to-prism">src/pagination/pagination.component.ts:277</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>value</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="currentPage"></a>
<span class="name"><b>currentPage</b><a href="#currentPage"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>currentPage()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="282" class="link-to-prism">src/pagination/pagination.component.ts:282</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>set</b><code>currentPage(value)</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="285" class="link-to-prism">src/pagination/pagination.component.ts:285</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>value</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="totalDataLength"></a>
<span class="name"><b>totalDataLength</b><a href="#totalDataLength"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>totalDataLength()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="292" class="link-to-prism">src/pagination/pagination.component.ts:292</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="lastPage"></a>
<span class="name"><b>lastPage</b><a href="#lastPage"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>lastPage()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="298" class="link-to-prism">src/pagination/pagination.component.ts:298</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>The last page number to display in the pagination view.</p>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="startItemIndex"></a>
<span class="name"><b>startItemIndex</b><a href="#startItemIndex"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>startItemIndex()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="303" class="link-to-prism">src/pagination/pagination.component.ts:303</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="endItemIndex"></a>
<span class="name"><b>endItemIndex</b><a href="#endItemIndex"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>endItemIndex()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="307" class="link-to-prism">src/pagination/pagination.component.ts:307</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="previousPage"></a>
<span class="name"><b>previousPage</b><a href="#previousPage"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>previousPage()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="316" class="link-to-prism">src/pagination/pagination.component.ts:316</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>The previous page number to navigate to, from the current page.</p>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="nextPage"></a>
<span class="name"><b>nextPage</b><a href="#nextPage"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>nextPage()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="323" class="link-to-prism">src/pagination/pagination.component.ts:323</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>The next page number to navigate to, from the current page.</p>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="pageOptions"></a>
<span class="name"><b>pageOptions</b><a href="#pageOptions"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>pageOptions()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="328" class="link-to-prism">src/pagination/pagination.component.ts:328</a></div>
</td>
</tr>
</tbody>
</table>
</section>
</div>
<div class="tab-pane fade tab-source-code" id="source">
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { PaginationModel } from "./pagination-model.class";
import {
Component,
Input,
Output,
EventEmitter
} from "@angular/core";
import { I18n, Overridable } from "carbon-components-angular/i18n";
import { ExperimentalService } from "carbon-components-angular/experimental";
import { merge } from "carbon-components-angular/utils";
export interface PaginationTranslations {
ITEMS_PER_PAGE: string;
OPEN_LIST_OF_OPTIONS: string;
BACKWARD: string;
FORWARD: string;
TOTAL_ITEMS_UNKNOWN: string;
TOTAL_ITEMS: string;
TOTAL_ITEM: string;
OF_LAST_PAGES: string;
OF_LAST_PAGE: string;
}
/**
* Use pagination when you have multiple pages of data to handle. Get started with importing the module:
*
* ```typescript
* import { PaginationModule } from 'carbon-components-angular';
* ```
*
* ```html
* <cds-pagination [model]="model" (selectPage)="selectPage($event)"></cds-pagination>
* ```
*
* In your `selectPage()` method set the `model.currentPage` to selected page, _after_
* you load the page.
*
* ```typescript
* selectPage(page) {
* // ... your code to load the page goes here
*
* this.model.currentPage = page;
*
* // ... anything you want to do after page selection changes goes here
* }
* ```
*
* [See demo](../../?path=/story/components-pagination--basic)
*/
@Component({
selector: "cds-pagination, ibm-pagination",
template: `
<div
class="cds--pagination"
[ngClass]="{
'cds--skeleton': skeleton
}">
<!-- left skeleton div -->
<div *ngIf="skeleton" class="cds--pagination__left">
<p class="cds--skeleton__text" style="width: 70px"></p>
<p class="cds--skeleton__text" style="width: 35px"></p>
<p class="cds--skeleton__text" style="width: 105px"></p>
</div>
<div *ngIf="!skeleton" class="cds--pagination__left">
<ng-container *ngIf="showPageInput">
<label class="cds--pagination__text" [for]="itemsPerPageSelectId">
{{itemsPerPageText.subject | async}}
</label>
<div
class="cds--select cds--select--inline cds--select__item-count"
[class.cds--select--disabled]="pageInputDisabled">
<select
[id]="itemsPerPageSelectId"
[(ngModel)]="itemsPerPage"
[disabled]="pageInputDisabled"
class="cds--select-input">
<option
class="cds--select-option"
*ngFor="let option of itemsPerPageOptions"
[value]="option">
{{ option }}
</option>
</select>
<svg
cdsIcon="chevron--down"
size="16"
style="display: inherit"
class="cds--select__arrow"
aria-hidden="true"
[attr.ariaLabel]="optionsListText.subject | async">
</svg>
</div>
</ng-container>
<span *ngIf="!pagesUnknown && totalDataLength <= 1" class="cds--pagination__text cds--pagination__items-count" [ngStyle]="{'margin-left': showPageInput ? null : 0}">
{{totalItemText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex, total: totalDataLength } | async}}
</span>
<span *ngIf="!pagesUnknown && totalDataLength > 1" class="cds--pagination__text cds--pagination__items-count" [ngStyle]="{'margin-left': showPageInput ? null : 0}">
{{totalItemsText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex, total: totalDataLength } | async}}
</span>
<span *ngIf="pagesUnknown" class="cds--pagination__text cds--pagination__items-count" [ngStyle]="{'margin-left': showPageInput ? null : 0}">
{{totalItemsUnknownText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex } | async}}
</span>
</div>
<!-- right skeleton div -->
<div *ngIf="skeleton" class="cds--pagination__right">
<p class="cds--skeleton__text" style="width: 70px"></p>
</div>
<div *ngIf="!skeleton" class="cds--pagination__right">
<span *ngIf="pagesUnknown" class="cds--pagination__text cds--pagination__page-text">
<ng-container *ngIf="!showPageInput">{{currentPage}}</ng-container>
{{pageText.subject | async}}
</span>
<ng-container *ngIf="showPageInput">
<div
class="cds--select cds--select--inline cds--select__page-number"
[class.cds--select--disabled]="pageInputDisabled">
<label [for]="currentPageSelectId" class="cds--label cds--visually-hidden">{{pageText.subject | async}}</label>
<input
*ngIf="pageOptions.length > pageSelectThreshold"
style="padding-right: 1rem; margin-right: 1rem;"
[id]="currentPageSelectId"
type="number"
min="1"
[max]="pageOptions.length"
class="cds--select-input"
[(ngModel)]="currentPage">
<select
*ngIf="pageOptions.length <= pageSelectThreshold"
[id]="currentPageSelectId"
class="cds--select-input"
[disabled]="pageInputDisabled"
[(ngModel)]="currentPage">
<option *ngFor="let page of pageOptions; let i = index;" class="cds--select-option" [value]="i + 1">{{i + 1}}</option>
</select>
<svg
*ngIf="pageOptions.length <= pageSelectThreshold"
cdsIcon="chevron--down"
size="16"
style="display: inherit;"
class="cds--select__arrow"
[attr.ariaLabel]="optionsListText.subject | async">
</svg>
</div>
</ng-container>
<span *ngIf="!pagesUnknown && lastPage <= 1" class="cds--pagination__text">
<ng-container *ngIf="!showPageInput">{{currentPage}}</ng-container>
{{ofLastPageText.subject | i18nReplace: {last: lastPage} | async}}
</span>
<span *ngIf="!pagesUnknown && lastPage > 1" class="cds--pagination__text">
<ng-container *ngIf="!showPageInput">{{currentPage}}</ng-container>
{{ofLastPagesText.subject | i18nReplace: {last: lastPage} | async}}
</span>
<div class="cds--pagination__control-buttons">
<button
cdsButton="ghost"
iconOnly="true"
class="cds--pagination__button cds--pagination__button--backward"
[ngClass]="{
'cds--pagination__button--no-index': currentPage <= 1 || backwardDisabled
}"
tabindex="0"
[attr.aria-label]="backwardText.subject | async"
(click)="selectPage.emit(previousPage)"
[disabled]="(currentPage <= 1 || backwardDisabled ? true : null)">
<svg cdsIcon="caret--left" size="16" class="cds--btn__icon"></svg>
</button>
<button
cdsButton="ghost"
iconOnly="true"
class="
cds--pagination__button
cds--pagination__button--forward"
[ngClass]="{
'cds--pagination__button--no-index': currentPage >= lastPage || forwardDisabled
}"
tabindex="0"
[attr.aria-label]="forwardText.subject | async"
(click)="selectPage.emit(nextPage)"
[disabled]="(currentPage >= lastPage || forwardDisabled ? true : null)">
<svg cdsIcon="caret--right" size="16" class="cds--btn__icon"></svg>
</button>
</div>
</div>
</div>
`
})
export class Pagination {
static paginationCounter = 0;
/**
* Set to `true` for a loading pagination component.
*/
@Input() skeleton = false;
/**
* `PaginationModel` with the information about pages you're controlling.
*/
@Input() model: PaginationModel;
/**
* Set to `true` to disable the backward/forward buttons.
*/
@Input() set disabled(value: boolean) {
this.backwardDisabled = value;
this.forwardDisabled = value;
}
/**
* Set to `true` to disable the select box that changes the page.
*/
@Input() pageInputDisabled = false;
/**
* Controls wether or not to show the page selects
*/
@Input() showPageInput = true;
/**
* Set to `true` if the total number of items is unknown.
*/
@Input() pagesUnknown = false;
@Input() pageSelectThreshold = 1000;
@Input() backwardDisabled = false;
@Input() forwardDisabled = false;
/**
* Expects an object that contains some or all of:
* ```
* {
* "ITEMS_PER_PAGE": "Items per page:",
* "OPEN_LIST_OF_OPTIONS": "Open list of options",
* "BACKWARD": "Backward",
* "FORWARD": "Forward",
* "TOTAL_ITEMS_UNKNOWN": "{{start}}-{{end}} items",
* "TOTAL_ITEMS": "{{start}}-{{end}} of {{total}} items",
* "TOTAL_ITEM": "{{start}}-{{end}} of {{total}} item",
* "OF_LAST_PAGES": "of {{last}} pages",
* "OF_LAST_PAGE": "of {{last}} page"
* }
* ```
*/
@Input()
set translations (value: PaginationTranslations) {
const valueWithDefaults = merge(this.i18n.getMultiple("PAGINATION"), value);
this.itemsPerPageText.override(valueWithDefaults.ITEMS_PER_PAGE);
this.optionsListText.override(valueWithDefaults.OPEN_LIST_OF_OPTIONS);
this.backwardText.override(valueWithDefaults.BACKWARD);
this.forwardText.override(valueWithDefaults.FORWARD);
this.totalItemsText.override(valueWithDefaults.TOTAL_ITEMS);
this.totalItemText.override(valueWithDefaults.TOTAL_ITEM);
this.totalItemsUnknownText.override(valueWithDefaults.TOTAL_ITEMS_UNKNOWN);
this.pageText.override(valueWithDefaults.PAGE);
this.ofLastPagesText.override(valueWithDefaults.OF_LAST_PAGES);
this.ofLastPageText.override(valueWithDefaults.OF_LAST_PAGE);
}
/**
* Options for items per page select
*
* A default array of options will be defined: [10, 20, 30, 40, 50]
*/
@Input() itemsPerPageOptions: number[] = [10, 20, 30, 40, 50];
/**
* Emits the new page number.
*
* You should tie into this and update `model.currentPage` once the fresh
* data is finally loaded.
*/
@Output() selectPage = new EventEmitter<number>();
get itemsPerPage() {
return this.model.pageLength;
}
set itemsPerPage(value) {
this.model.pageLength = Number(value);
this.currentPage = 1; // reset page
}
get currentPage() {
return this.model.currentPage;
}
set currentPage(value) {
value = Number(value);
// emits the value to allow the user to update current page
// in the model once the page is loaded
this.selectPage.emit(value);
}
get totalDataLength() {
return this.model.totalDataLength;
}
/**
* The last page number to display in the pagination view.
*/
get lastPage(): number {
const last = Math.ceil(this.totalDataLength / this.itemsPerPage);
return last > 0 ? last : 1;
}
get startItemIndex() {
return this.endItemIndex > 0 ? (this.currentPage - 1) * this.itemsPerPage + 1 : 0;
}
get endItemIndex() {
const projectedEndItemIndex = this.currentPage * this.itemsPerPage;
return projectedEndItemIndex < this.totalDataLength ? projectedEndItemIndex : this.totalDataLength;
}
/**
* The previous page number to navigate to, from the current page.
*/
get previousPage(): number {
return this.currentPage <= 1 ? 1 : this.currentPage - 1;
}
/**
* The next page number to navigate to, from the current page.
*/
get nextPage(): number {
const lastPage = this.lastPage;
return this.currentPage >= lastPage ? lastPage : this.currentPage + 1;
}
get pageOptions() {
/**
* Calculate number of pages based on totalDataLength and itemsPerPage.
* Even if totalDataLength is 0, numberOfPages should be always at least 1.
* New array will be constructed only if number of pages changes.
*/
const numberOfPages = Math.max(Math.ceil(this.totalDataLength / this.itemsPerPage), 1);
if (this._pageOptions.length !== numberOfPages) {
this._pageOptions = Array(numberOfPages);
}
return this._pageOptions;
}
itemsPerPageSelectId = `pagination-select-items-per-page-${Pagination.paginationCounter}`;
currentPageSelectId = `pagination-select-current-page-${Pagination.paginationCounter}`;
itemsPerPageText = this.i18n.getOverridable("PAGINATION.ITEMS_PER_PAGE");
optionsListText = this.i18n.getOverridable("PAGINATION.OPEN_LIST_OF_OPTIONS");
backwardText = this.i18n.getOverridable("PAGINATION.BACKWARD");
forwardText = this.i18n.getOverridable("PAGINATION.FORWARD");
totalItemsText = this.i18n.getOverridable("PAGINATION.TOTAL_ITEMS");
totalItemText = this.i18n.getOverridable("PAGINATION.TOTAL_ITEM");
totalItemsUnknownText = this.i18n.getOverridable("PAGINATION.TOTAL_ITEMS_UNKNOWN");
pageText = this.i18n.getOverridable("PAGINATION.PAGE");
ofLastPagesText = this.i18n.getOverridable("PAGINATION.OF_LAST_PAGES");
ofLastPageText = this.i18n.getOverridable("PAGINATION.OF_LAST_PAGE");
protected _pageOptions = [];
constructor(protected i18n: I18n, protected experimental: ExperimentalService) {
Pagination.paginationCounter++;
}
}
</code></pre>
</div>
<div class="tab-pane fade " id="tree">
<div id="tree-container"></div>
<div class="tree-legend">
<div class="title">
<b>Legend</b>
</div>
<div>
<div class="color htmlelement"></div><span>Html element</span>
</div>
<div>
<div class="color component"></div><span>Component</span>
</div>
<div>
<div class="color directive"></div><span>Html element with directive</span>
</div>
</div>
</div>
</div>
<script src="../js/libs/vis.min.js"></script>
<script src="../js/libs/htmlparser.js"></script>
<script src="../js/libs/deep-iterator.js"></script>
<script>
var COMPONENT_TEMPLATE = '<div><div class="cds--pagination" [ngClass]="{ \'cds--skeleton\': skeleton }"> <!-- left skeleton div --> <div *ngIf="skeleton" class="cds--pagination__left"> <p class="cds--skeleton__text" style="width: 70px"></p> <p class="cds--skeleton__text" style="width: 35px"></p> <p class="cds--skeleton__text" style="width: 105px"></p> </div> <div *ngIf="!skeleton" class="cds--pagination__left"> <ng-container *ngIf="showPageInput"> <label class="cds--pagination__text" [for]="itemsPerPageSelectId"> {{itemsPerPageText.subject | async}} </label> <div class="cds--select cds--select--inline cds--select__item-count" [class.cds--select--disabled]="pageInputDisabled"> <select [id]="itemsPerPageSelectId" [(ngModel)]="itemsPerPage" [disabled]="pageInputDisabled" class="cds--select-input"> <option class="cds--select-option" *ngFor="let option of itemsPerPageOptions" [value]="option"> {{ option }} </option> </select> <svg cdsIcon="chevron--down" size="16" style="display: inherit" class="cds--select__arrow" aria-hidden="true" [attr.ariaLabel]="optionsListText.subject | async"> </svg> </div> </ng-container> <span *ngIf="!pagesUnknown && totalDataLength <= 1" class="cds--pagination__text cds--pagination__items-count" [ngStyle]="{\'margin-left\': showPageInput ? null : 0}"> {{totalItemText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex, total: totalDataLength } | async}} </span> <span *ngIf="!pagesUnknown && totalDataLength > 1" class="cds--pagination__text cds--pagination__items-count" [ngStyle]="{\'margin-left\': showPageInput ? null : 0}"> {{totalItemsText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex, total: totalDataLength } | async}} </span> <span *ngIf="pagesUnknown" class="cds--pagination__text cds--pagination__items-count" [ngStyle]="{\'margin-left\': showPageInput ? null : 0}"> {{totalItemsUnknownText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex } | async}} </span> </div> <!-- right skeleton div --> <div *ngIf="skeleton" class="cds--pagination__right"> <p class="cds--skeleton__text" style="width: 70px"></p> </div> <div *ngIf="!skeleton" class="cds--pagination__right"> <span *ngIf="pagesUnknown" class="cds--pagination__text cds--pagination__page-text"> <ng-container *ngIf="!showPageInput">{{currentPage}}</ng-container> {{pageText.subject | async}} </span> <ng-container *ngIf="showPageInput"> <div class="cds--select cds--select--inline cds--select__page-number" [class.cds--select--disabled]="pageInputDisabled"> <label [for]="currentPageSelectId" class="cds--label cds--visually-hidden">{{pageText.subject | async}}</label> <input *ngIf="pageOptions.length > pageSelectThreshold" style="padding-right: 1rem; margin-right: 1rem;" [id]="currentPageSelectId" type="number" min="1" [max]="pageOptions.length" class="cds--select-input" [(ngModel)]="currentPage"> <select *ngIf="pageOptions.length <= pageSelectThreshold" [id]="currentPageSelectId" class="cds--select-input" [disabled]="pageInputDisabled" [(ngModel)]="currentPage"> <option *ngFor="let page of pageOptions; let i = index;" class="cds--select-option" [value]="i + 1">{{i + 1}}</option> </select> <svg *ngIf="pageOptions.length <= pageSelectThreshold" cdsIcon="chevron--down" size="16" style="display: inherit;" class="cds--select__arrow" [attr.ariaLabel]="optionsListText.subject | async"> </svg> </div> </ng-container> <span *ngIf="!pagesUnknown && lastPage <= 1" class="cds--pagination__text"> <ng-container *ngIf="!showPageInput">{{currentPage}}</ng-container> {{ofLastPageText.subject | i18nReplace: {last: lastPage} | async}} </span> <span *ngIf="!pagesUnknown && lastPage > 1" class="cds--pagination__text"> <ng-container *ngIf="!showPageInput">{{currentPage}}</ng-container> {{ofLastPagesText.subject | i18nReplace: {last: lastPage} | async}} </span> <div class="cds--pagination__control-buttons"> <button cdsButton="ghost" iconOnly="true" class="cds--pagination__button cds--pagination__button--backward" [ngClass]="{ \'cds--pagination__button--no-index\': currentPage <= 1 || backwardDisabled }" tabindex="0" [attr.aria-label]="backwardText.subject | async" (click)="selectPage.emit(previousPage)" [disabled]="(currentPage <= 1 || backwardDisabled ? true : null)"> <svg cdsIcon="caret--left" size="16" class="cds--btn__icon"></svg> </button> <button cdsButton="ghost" iconOnly="true" class=" cds--pagination__button cds--pagination__button--forward" [ngClass]="{ \'cds--pagination__button--no-index\': currentPage >= lastPage || forwardDisabled }" tabindex="0" [attr.aria-label]="forwardText.subject | async" (click)="selectPage.emit(nextPage)" [disabled]="(currentPage >= lastPage || forwardDisabled ? true : null)"> <svg cdsIcon="caret--right" size="16" class="cds--btn__icon"></svg> </button> </div> </div></div></div>'
var COMPONENTS = [{'name': 'Accordion', 'selector': 'cds-accordion, ibm-accordion'},{'name': 'AccordionItem', 'selector': 'cds-accordion-item, ibm-accordion-item'},{'name': 'ActionableNotification', 'selector': 'cds-actionable-notification, ibm-actionable-notification'},{'name': 'AlertModal', 'selector': 'cds-alert-modal, ibm-alert-modal'},{'name': 'BaseIconButton', 'selector': ''},{'name': 'BaseNotification', 'selector': ''},{'name': 'BaseTabHeader', 'selector': ''},{'name': 'Breadcrumb', 'selector': 'cds-breadcrumb, ibm-breadcrumb'},{'name': 'BreadcrumbItemComponent', 'selector': 'cds-breadcrumb-item, ibm-breadcrumb-item'},{'name': 'ButtonSet', 'selector': 'cds-button-set, ibm-button-set'},{'name': 'Checkbox', 'selector': 'cds-checkbox, ibm-checkbox'},{'name': 'ClickableTile', 'selector': 'cds-clickable-tile, ibm-clickable-tile'},{'name': 'CodeSnippet', 'selector': 'cds-code-snippet, ibm-code-snippet'},{'name': 'ComboBox', 'selector': 'cds-combo-box, ibm-combo-box'},{'name': 'ComboButtonComponent', 'selector': 'cds-combo-button'},{'name': 'ContainedList', 'selector': 'cds-contained-list, ibm-contained-list'},{'name': 'ContainedListItem', 'selector': 'cds-contained-list-item, ibm-contained-list-item'},{'name': 'ContentSwitcher', 'selector': 'cds-content-switcher, ibm-content-switcher'},{'name': 'ContextMenuComponent', 'selector': 'cds-menu, cds-context-menu, ibm-context-menu'},{'name': 'ContextMenuDividerComponent', 'selector': 'cds-menu-divider, cds-context-menu-divider, ibm-context-menu-divider'},{'name': 'ContextMenuGroupComponent', 'selector': 'cds-menu-group, cds-context-menu-group, ibm-context-menu-group'},{'name': 'ContextMenuItemComponent', 'selector': 'cds-menu-item, cds-context-menu-item, ibm-context-menu-item'},{'name': 'DatePicker', 'selector': 'cds-date-picker, ibm-date-picker'},{'name': 'DatePickerInput', 'selector': 'cds-date-picker-input, ibm-date-picker-input'},{'name': 'Dialog', 'selector': 'cds-dialog, ibm-dialog'},{'name': 'Documentation', 'selector': 'cds-documentation'},{'name': 'Dropdown', 'selector': 'cds-dropdown, ibm-dropdown'},{'name': 'DropdownList', 'selector': 'cds-dropdown-list, ibm-dropdown-list'},{'name': 'ExpandableTile', 'selector': 'cds-expandable-tile, ibm-expandable-tile'},{'name': 'FileComponent', 'selector': 'cds-file, ibm-file'},{'name': 'FileUploader', 'selector': 'cds-file-uploader, ibm-file-uploader'},{'name': 'Hamburger', 'selector': 'cds-hamburger, ibm-hamburger'},{'name': 'Header', 'selector': 'cds-header, ibm-header'},{'name': 'HeaderAction', 'selector': 'cds-header-action, ibm-header-action'},{'name': 'HeaderGlobal', 'selector': 'cds-header-global, ibm-header-global'},{'name': 'HeaderItem', 'selector': 'cds-header-item, ibm-header-item'},{'name': 'HeaderMenu', 'selector': 'cds-header-menu, ibm-header-menu'},{'name': 'HeaderNavigation', 'selector': 'cds-header-navigation, ibm-header-navigation'},{'name': 'IconButton', 'selector': 'cds-icon-button, ibm-icon-button'},{'name': 'InlineLoading', 'selector': 'cds-inline-loading, ibm-inline-loading'},{'name': 'Label', 'selector': 'cds-label, ibm-label'},{'name': 'ListColumn', 'selector': 'cds-list-column, ibm-list-column'},{'name': 'ListHeader', 'selector': 'cds-list-header, ibm-list-header'},{'name': 'ListRow', 'selector': 'cds-list-row, ibm-list-row'},{'name': 'Loading', 'selector': 'cds-loading, ibm-loading'},{'name': 'MenuButtonComponent', 'selector': 'cds-menu-button'},{'name': 'Modal', 'selector': 'cds-modal, ibm-modal'},{'name': 'ModalFooter', 'selector': 'cds-modal-footer, ibm-modal-footer'},{'name': 'ModalHeader', 'selector': 'cds-modal-header, ibm-modal-header'},{'name': 'Notification', 'selector': 'cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification'},{'name': 'NumberComponent', 'selector': 'cds-number, ibm-number'},{'name': 'OverflowMenu', 'selector': 'cds-overflow-menu, ibm-overflow-menu'},{'name': 'OverflowMenuCustomPane', 'selector': 'cds-overflow-custom-menu-pane, ibm-overflow-custom-menu-pane'},{'name': 'OverflowMenuOption', 'selector': 'cds-overflow-menu-option, ibm-overflow-menu-option'},{'name': 'OverflowMenuPane', 'selector': 'cds-overflow-menu-pane, ibm-overflow-menu-pane'},{'name': 'Overlay', 'selector': 'cds-overlay, ibm-overlay'},{'name': 'Pagination', 'selector': 'cds-pagination, ibm-pagination'},{'name': 'PaginationNav', 'selector': 'cds-pagination-nav, ibm-pagination-navm'},{'name': 'PaginationNavItem', 'selector': 'cds-pagination-nav-item, ibm-pagination-nav-item'},{'name': 'PaginationOverflow', 'selector': 'cds-pagination-overflow, ibm-pagination-overflow'},{'name': 'Panel', 'selector': 'cds-panel, ibm-panel'},{'name': 'PasswordInputLabelComponent', 'selector': 'cds-password-label, ibm-password-label'},{'name': 'Placeholder', 'selector': 'cds-placeholder, ibm-placeholder'},{'name': 'PopoverContent', 'selector': 'cds-popover-content, ibm-popover-content'},{'name': 'ProgressBar', 'selector': 'cds-progress-bar, ibm-progress-bar'},{'name': 'ProgressIndicator', 'selector': 'cds-progress-indicator, ibm-progress-indicator'},{'name': 'Radio', 'selector': 'cds-radio, ibm-radio'},{'name': 'RadioGroup', 'selector': 'cds-radio-group, ibm-radio-group'},{'name': 'Search', 'selector': 'cds-search, ibm-search'},{'name': 'Select', 'selector': 'cds-select, ibm-select'},{'name': 'SelectionTile', 'selector': 'cds-selection-tile, ibm-selection-tile'},{'name': 'SideNav', 'selector': 'cds-sidenav, ibm-sidenav'},{'name': 'SideNavItem', 'selector': 'cds-sidenav-item, ibm-sidenav-item'},{'name': 'SideNavMenu', 'selector': 'cds-sidenav-menu, ibm-sidenav-menu'},{'name': 'SkeletonPlaceholder', 'selector': 'cds-skeleton-placeholder, ibm-skeleton-placeholder'},{'name': 'SkeletonText', 'selector': 'cds-skeleton-text, ibm-skeleton-text'},{'name': 'Slider', 'selector': 'cds-slider, ibm-slider'},{'name': 'StructuredList', 'selector': 'cds-structured-list, ibm-structured-list'},{'name': 'SwitcherList', 'selector': 'cds-switcher-list, ibm-switcher-list'},{'name': 'SwitcherListItem', 'selector': 'cds-switcher-list-item, ibm-switcher-list-item'},{'name': 'Tab', 'selector': 'cds-tab, ibm-tab'},{'name': 'TabHeaderGroup', 'selector': 'cds-tab-header-group, ibm-tab-header-group'},{'name': 'TabHeaders', 'selector': 'cds-tab-headers, ibm-tab-headers'},{'name': 'Table', 'selector': 'cds-table, ibm-table'},{'name': 'TableBody', 'selector': '[cdsTableBody], [ibmTableBody]'},{'name': 'TableCheckbox', 'selector': '[cdsTableCheckbox], [ibmTableCheckbox]'},{'name': 'TableContainer', 'selector': 'cds-table-container, ibm-table-container'},{'name': 'TableData', 'selector': '[cdsTableData], [ibmTableData]'},{'name': 'TableExpandButton', 'selector': '[cdsTableExpandButton], [ibmTableExpandButton]'},{'name': 'TableExpandedRow', 'selector': '[cdsTableExpandedRow], [ibmTableExpandedRow]'},{'name': 'TableHead', 'selector': '[cdsTableHead], [ibmTableHead]'},{'name': 'TableHeadCell', 'selector': '[cdsTableHeadCell], [ibmTableHeadCell]'},{'name': 'TableHeadCheckbox', 'selector': '[cdsTableHeadCheckbox], [ibmTableHeadCheckbox]'},{'name': 'TableHeader', 'selector': 'cds-table-header, ibm-table-header'},{'name': 'TableHeadExpand', 'selector': '[cdsTableHeadExpand], [ibmTableHeadExpand]'},{'name': 'TableRadio', 'selector': '[cdsTableRadio], [ibmTableRadio]'},{'name': 'TableRowComponent', 'selector': '[cdsTableRow], [ibmTableRow]'},{'name': 'TableToolbar', 'selector': 'cds-table-toolbar, ibm-table-toolbar'},{'name': 'TableToolbarActions', 'selector': 'cds-table-toolbar-actions, ibm-table-toolbar-actions'},{'name': 'TableToolbarContent', 'selector': 'cds-table-toolbar-content, ibm-table-toolbar-content'},{'name': 'TableToolbarSearch', 'selector': 'cds-table-toolbar-search, ibm-table-toolbar-search'},{'name': 'Tabs', 'selector': 'cds-tabs, ibm-tabs'},{'name': 'TabSkeleton', 'selector': 'cds-tabs-skeleton, ibm-tabs-skeleton'},{'name': 'Tag', 'selector': 'cds-tag, ibm-tag'},{'name': 'TagFilter', 'selector': 'cds-tag-filter, ibm-tag-filter'},{'name': 'TagOperationalComponent', 'selector': 'cds-tag-operational, ibm-tag-operational'},{'name': 'TagSelectableComponent', 'selector': 'cds-tag-selectable, ibm-tag-selectable'},{'name': 'TextareaLabelComponent', 'selector': 'cds-textarea-label, ibm-textarea-label'},{'name': 'TextInputLabelComponent', 'selector': 'cds-text-label, ibm-text-label'},{'name': 'Tile', 'selector': 'cds-tile, ibm-tile'},{'name': 'TileGroup', 'selector': 'cds-tile-group, ibm-tile-group'},{'name': 'TimePicker', 'selector': 'cds-timepicker, ibm-timepicker'},{'name': 'TimePickerSelect', 'selector': 'cds-timepicker-select, ibm-timepicker-select'},{'name': 'Toast', 'selector': 'cds-toast, ibm-toast'},{'name': 'Toggle', 'selector': 'cds-toggle, ibm-toggle'},{'name': 'Toggletip', 'selector': 'cds-toggletip, ibm-toggletip'},{'name': 'Tooltip', 'selector': 'cds-tooltip, ibm-tooltip'},{'name': 'TooltipDefinition', 'selector': 'cds-tooltip-definition, ibm-tooltip-definition'},{'name': 'TreeNodeComponent', 'selector': 'cds-tree-node'},{'name': 'TreeViewComponent', 'selector': 'cds-tree-view'}];
var DIRECTIVES = [{'name': 'AbstractDropdownView', 'selector': '[cdsAbstractDropdownView], [ibmAbstractDropdownView]'},{'name': 'ActionableButton', 'selector': '[cdsActionableButton], [ibmActionableButton]'},{'name': 'ActionableSubtitle', 'selector': '[cdsActionableSubtitle], [ibmActionableSubtitle]'},{'name': 'ActionableTitle', 'selector': '[cdsActionableTitle], [ibmActionableTitle]'},{'name': 'BaseModal', 'selector': '[cdsBaseModal], [ibmBaseModal]'},{'name': 'Button', 'selector': '[cdsButton], [ibmButton]'},{'name': 'ClickableTileIconDirective', 'selector': '[cdsClickableTileIcon], [ibmClickableTileIcon]'},{'name': 'ColumnDirective', 'selector': '[cdsCol], [ibmCol]'},{'name': 'ContentSwitcherOption', 'selector': '[cdsContentOption], [ibmContentOption]'},{'name': 'DialogDirective', 'selector': '[cdsDialog], [ibmDialog]'},{'name': 'ExpandableTileAboveFoldDirective', 'selector': '[cdsAboveFold], [ibmAboveFold]'},{'name': 'ExpandableTileBelowFoldDirective', 'selector': '[cdsBelowFold], [ibmBelowFold]'},{'name': 'ExpandedRowHover', 'selector': '[cdsExpandedRowHover], [ibmExpandedRowHover]'},{'name': 'GridDirective', 'selector': '[cdsGrid], [ibmGrid]'},{'name': 'IconDirective', 'selector': '[cdsIcon], [ibmIcon]'},{'name': 'LayerDirective', 'selector': '[cdsLayer], [ibmLayer]'},{'name': 'Link', 'selector': '[cdsLink], [ibmLink]'},{'name': 'LinkIconDirective', 'selector': '[ibmLinkIcon], [cdsLinkIcon]'},{'name': 'List', 'selector': '[cdsList], [ibmList]'},{'name': 'ListItemDirective', 'selector': '[cdsListItem], [ibmListItem]'},{'name': 'ModalContent', 'selector': '[cdsModalContent], [ibmModalContent]'},{'name': 'ModalContentText', 'selector': '[cdsModalContentText], [ibmModalContentText]'},{'name': 'ModalHeaderHeading', 'selector': '[cdsModalHeaderHeading], [ibmModalHeaderHeading]'},{'name': 'ModalHeaderLabel', 'selector': '[cdsModalHeaderLabel], [ibmModalHeaderLabel]'},{'name': 'NotificationSubtitle', 'selector': '[cdsNotificationSubtitle], [ibmNotificationSubtitle]'},{'name': 'NotificationTitle', 'selector': '[cdsNotificationTitle], [ibmNotificationTitle]'},{'name': 'OptGroup', 'selector': 'optgroup'},{'name': 'Option', 'selector': 'option'},{'name': 'OverflowMenuDirective', 'selector': '[cdsOverflowMenu], [ibmOverflowMenu]'},{'name': 'PasswordInput', 'selector': '[cdsPassword], [ibmPassword]'},{'name': 'PopoverContainer', 'selector': '[cdsPopover], [ibmPopover]'},{'name': 'RouterLinkExtendedDirective', 'selector': '[routerLink]'},{'name': 'RowDirective', 'selector': '[cdsRow], [ibmRow]'},{'name': 'ScrollableList', 'selector': '[cdsScrollableList], [ibmScrollableList]'},{'name': 'StackDirective', 'selector': '[cdsStack], [ibmStack]'},{'name': 'TabHeader', 'selector': '[cdsTabHeader], [ibmTabHeader]'},{'name': 'TableDirective', 'selector': '[cdsTable], [ibmTable]'},{'name': 'TableHeadCellLabel', 'selector': '[cdsTableHeadCellLabel], [ibmTableHeadCellLabel]'},{'name': 'TableHeaderDescription', 'selector': '[cdsTableHeaderDescription], [ibmTableHeaderDescription]'},{'name': 'TableHeaderTitle', 'selector': '[cdsTableHeaderTitle], [ibmTableHeaderTitle]'},{'name': 'TagIconDirective', 'selector': '[cdsTagIcon], [ibmTagIcon]'},{'name': 'TextArea', 'selector': '[cdsTextArea], [ibmTextArea]'},{'name': 'TextInput', 'selector': '[cdsText], [ibmText]'},{'name': 'ThemeDirective', 'selector': '[cdsTheme], [ibmTheme]'},{'name': 'ToastCaption', 'selector': '[cdsToastCaption], [ibmToastCaption]'},{'name': 'ToastSubtitle', 'selector': '[cdsToastSubtitle], [ibmToastSubtitle]'},{'name': 'ToastTitle', 'selector': '[cdsToastTitle], [ibmToastTitle]'},{'name': 'ToggletipAction', 'selector': '[cdsToggletipAction], [ibmToggletipAction]'},{'name': 'ToggletipButton', 'selector': '[cdsToggletipButton], [ibmToggletipButton]'},{'name': 'ToggletipContent', 'selector': '[cdsToggletipContent], [ibmToggletipContent]'},{'name': 'ToggletipLabel', 'selector': '[cdsToggletipLabel], [ibmToggletipLabel]'}];
var ACTUAL_COMPONENT = {'name': 'Pagination'};
</script>
<script src="../js/tree.js"></script>
</div><div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
<!-- END CONTENT -->
</div>
</div>
<label class="dark-mode-switch">
<input type="checkbox">
<span class="slider">
<svg class="slider-icon" viewBox="0 0 24 24" fill="none" height="20" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" width="20" xmlns="http://www.w3.org/2000/svg">
<path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"></path>
</svg>
</span>
</label>
<script>
var COMPODOC_CURRENT_PAGE_DEPTH = 1;
var COMPODOC_CURRENT_PAGE_CONTEXT = 'component';
var COMPODOC_CURRENT_PAGE_URL = 'Pagination.html';
var MAX_SEARCH_RESULTS = 15;
</script>
<script>
$darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
checkToggle(darkModeState);
if ($darkModeToggleSwitchers.length > 0) {
for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
$darkModeToggleSwitchers[i].addEventListener('change', function (event) {
darkModeState = !darkModeState;
toggleDarkMode(darkModeState);
});
}
}
</script>
<script src="../js/libs/custom-elements.min.js"></script>
<script src="../js/libs/lit-html.js"></script>
<script src="../js/menu-wc.js" defer></script>
<script nomodule src="../js/menu-wc_es5.js" defer></script>
<script src="../js/libs/bootstrap-native.js"></script>
<script src="../js/libs/es6-shim.min.js"></script>
<script src="../js/libs/EventDispatcher.js"></script>
<script src="../js/libs/promise.min.js"></script>
<script src="../js/libs/zepto.min.js"></script>
<script src="../js/compodoc.js"></script>
<script src="../js/tabs.js"></script>
<script src="../js/menu.js"></script>
<script src="../js/libs/clipboard.min.js"></script>
<script src="../js/libs/prism.js"></script>
<script src="../js/sourceCode.js"></script>
<script src="../js/search/search.js"></script>
<script src="../js/search/lunr.min.js"></script>
<script src="../js/search/search-lunr.js"></script>
<script src="../js/search/search_index.js"></script>
<script src="../js/lazy-load-graphs.js"></script>
<footer class="carbon">
<dds-footer-container key="footer" disable-locale-button="true" size="micro" />
</footer>
<script
key="8"
type="module"
src="https://1.www.s81c.com/common/carbon-for-ibm-dotcom/tag/v1/latest/footer.min.js">
</script>
<!-- Storybook override -->
<script>
document.title = "Carbon Components Angular";
</script>
<script
src="//1.www.s81c.com/common/stats/ibm-common.js"
type="text/javascript"
async="async">
</script>
</body>
</html>