UNPKG

carbon-components-angular

Version:
98 lines 8.47 kB
import { Component, Input, Output, EventEmitter } from "@angular/core"; import * as i0 from "@angular/core"; import * as i1 from "carbon-components-angular/i18n"; import * as i2 from "@angular/common"; import * as i3 from "@angular/forms"; import * as i4 from "carbon-components-angular/icon"; import * as i5 from "./pagination-item.component"; /** * Used to present a selection of pages when there is an overflow * in the pagination list * * * ```html * <cds-pagination-overflow [fromIndex]="5" [count]="30" (change)="handleChange(value)"></cds-pagination-overflow> * ``` */ export class PaginationOverflow { constructor(i18n) { this.i18n = i18n; this.ariaLabel = this.i18n.get().PAGINATION.SELECT_ARIA; /** * Emits click event */ this.change = new EventEmitter(); } get countAsArray() { return [...Array(this.count)]; } handleChange(event) { this.change.emit(+event.target.value); event.target.value = ""; } } PaginationOverflow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PaginationOverflow, deps: [{ token: i1.I18n }], target: i0.ɵɵFactoryTarget.Component }); PaginationOverflow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PaginationOverflow, selector: "cds-pagination-overflow, ibm-pagination-overflow", inputs: { fromIndex: "fromIndex", count: "count", ariaLabel: "ariaLabel" }, outputs: { change: "change" }, ngImport: i0, template: ` <li class="cds--pagination-nav__list-item" *ngIf="count > 1"> <div class="cds--pagination-nav__select"> <select [attr.aria-label]="ariaLabel" class="cds--pagination-nav__page cds--pagination-nav__page--select" (change)="handleChange($event)"> <option value="" hidden></option> <option *ngFor="let item of countAsArray; let i = index"> {{fromIndex + i + 1}} </option> </select> <div class="cds--pagination-nav__select-icon-wrapper"> <svg cdsIcon="overflow-menu--horizontal" size="16" style="display: inherit" class="cds--pagination-nav__select-icon"> </svg> </div> </div> </li> <cds-pagination-nav-item *ngIf="count === 1" [page]="fromIndex + 1"></cds-pagination-nav-item> `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i5.PaginationNavItem, selector: "cds-pagination-nav-item, ibm-pagination-nav-item", inputs: ["page", "isActive"], outputs: ["click"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PaginationOverflow, decorators: [{ type: Component, args: [{ selector: "cds-pagination-overflow, ibm-pagination-overflow", template: ` <li class="cds--pagination-nav__list-item" *ngIf="count > 1"> <div class="cds--pagination-nav__select"> <select [attr.aria-label]="ariaLabel" class="cds--pagination-nav__page cds--pagination-nav__page--select" (change)="handleChange($event)"> <option value="" hidden></option> <option *ngFor="let item of countAsArray; let i = index"> {{fromIndex + i + 1}} </option> </select> <div class="cds--pagination-nav__select-icon-wrapper"> <svg cdsIcon="overflow-menu--horizontal" size="16" style="display: inherit" class="cds--pagination-nav__select-icon"> </svg> </div> </div> </li> <cds-pagination-nav-item *ngIf="count === 1" [page]="fromIndex + 1"></cds-pagination-nav-item> ` }] }], ctorParameters: function () { return [{ type: i1.I18n }]; }, propDecorators: { fromIndex: [{ type: Input }], count: [{ type: Input }], ariaLabel: [{ type: Input }], change: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1vdmVyZmxvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLW5hdi9wYWdpbmF0aW9uLW92ZXJmbG93LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBR3ZCOzs7Ozs7O0dBT0c7QUE2QkgsTUFBTSxPQUFPLGtCQUFrQjtJQW1COUIsWUFBc0IsSUFBVTtRQUFWLFNBQUksR0FBSixJQUFJLENBQU07UUFYdkIsY0FBUyxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztRQUVwRTs7V0FFRztRQUNPLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBTVgsQ0FBQztJQUpwQyxJQUFJLFlBQVk7UUFDZixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUlELFlBQVksQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7K0dBeEJXLGtCQUFrQjttR0FBbEIsa0JBQWtCLG1NQTFCcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXdCVDsyRkFFVyxrQkFBa0I7a0JBNUI5QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxrREFBa0Q7b0JBQzVELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBd0JUO2lCQUNEOzJGQUtTLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0ksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHRFdmVudEVtaXR0ZXJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEkxOG4gfSBmcm9tIFwiY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhci9pMThuXCI7XG5cbi8qKlxuICogVXNlZCB0byBwcmVzZW50IGEgc2VsZWN0aW9uIG9mIHBhZ2VzIHdoZW4gdGhlcmUgaXMgYW4gb3ZlcmZsb3dcbiAqIGluIHRoZSBwYWdpbmF0aW9uIGxpc3RcbiAqXG4gKiAqIGBgYGh0bWxcbiAqIDxjZHMtcGFnaW5hdGlvbi1vdmVyZmxvdyBbZnJvbUluZGV4XT1cIjVcIiBbY291bnRdPVwiMzBcIiAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSh2YWx1ZSlcIj48L2Nkcy1wYWdpbmF0aW9uLW92ZXJmbG93PlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtcGFnaW5hdGlvbi1vdmVyZmxvdywgaWJtLXBhZ2luYXRpb24tb3ZlcmZsb3dcIixcblx0dGVtcGxhdGU6IGBcblx0XHQ8bGkgY2xhc3M9XCJjZHMtLXBhZ2luYXRpb24tbmF2X19saXN0LWl0ZW1cIiAqbmdJZj1cImNvdW50ID4gMVwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImNkcy0tcGFnaW5hdGlvbi1uYXZfX3NlbGVjdFwiPlxuXHRcdFx0PHNlbGVjdFxuXHRcdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG5cdFx0XHRcdGNsYXNzPVwiY2RzLS1wYWdpbmF0aW9uLW5hdl9fcGFnZSBjZHMtLXBhZ2luYXRpb24tbmF2X19wYWdlLS1zZWxlY3RcIlxuXHRcdFx0XHQoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCI+XG5cdFx0XHRcdDxvcHRpb24gdmFsdWU9XCJcIiBoaWRkZW4+PC9vcHRpb24+XG5cdFx0XHRcdDxvcHRpb25cblx0XHRcdFx0Km5nRm9yPVwibGV0IGl0ZW0gb2YgY291bnRBc0FycmF5OyBsZXQgaSA9IGluZGV4XCI+XG5cdFx0XHRcdFx0e3tmcm9tSW5kZXggKyBpICsgMX19XG5cdFx0XHRcdDwvb3B0aW9uPlxuXHRcdFx0PC9zZWxlY3Q+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY2RzLS1wYWdpbmF0aW9uLW5hdl9fc2VsZWN0LWljb24td3JhcHBlclwiPlxuXHRcdFx0XHQ8c3ZnXG5cdFx0XHRcdFx0Y2RzSWNvbj1cIm92ZXJmbG93LW1lbnUtLWhvcml6b250YWxcIlxuXHRcdFx0XHRcdHNpemU9XCIxNlwiXG5cdFx0XHRcdFx0c3R5bGU9XCJkaXNwbGF5OiBpbmhlcml0XCJcblx0XHRcdFx0XHRjbGFzcz1cImNkcy0tcGFnaW5hdGlvbi1uYXZfX3NlbGVjdC1pY29uXCI+XG5cdFx0XHRcdDwvc3ZnPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2xpPlxuXHRcdDxjZHMtcGFnaW5hdGlvbi1uYXYtaXRlbSAqbmdJZj1cImNvdW50ID09PSAxXCIgW3BhZ2VdPVwiZnJvbUluZGV4ICsgMVwiPjwvY2RzLXBhZ2luYXRpb24tbmF2LWl0ZW0+XG5cdGBcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbk92ZXJmbG93IHtcblx0LyoqXG5cdCAqIFRoZSBwYWdlIGZvciB0aGlzIGNvbXBvbmVudCB0byBkaXBzbGF5XG5cdCAqL1xuXHRASW5wdXQoKSBmcm9tSW5kZXg6IG51bWJlcjtcblxuXHRASW5wdXQoKSBjb3VudDogbnVtYmVyO1xuXG5cdEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nID0gdGhpcy5pMThuLmdldCgpLlBBR0lOQVRJT04uU0VMRUNUX0FSSUE7XG5cblx0LyoqXG5cdCAqIEVtaXRzIGNsaWNrIGV2ZW50XG5cdCAqL1xuXHRAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cblx0Z2V0IGNvdW50QXNBcnJheSgpIHtcblx0XHRyZXR1cm4gWy4uLkFycmF5KHRoaXMuY291bnQpXTtcblx0fVxuXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpMThuOiBJMThuKSB7fVxuXG5cdGhhbmRsZUNoYW5nZShldmVudCkge1xuXHRcdHRoaXMuY2hhbmdlLmVtaXQoK2V2ZW50LnRhcmdldC52YWx1ZSk7XG5cdFx0ZXZlbnQudGFyZ2V0LnZhbHVlID0gXCJcIjtcblx0fVxufVxuIl19