ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
146 lines • 10.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ViewEncapsulation, Input, Output, EventEmitter, TemplateRef } from '@angular/core';
import { takeUntil } from 'rxjs/operators';
import { Subject } from 'rxjs';
import { LocaleProviderService } from '../locale-provider/locale-provider.service';
/**
* @record
*/
function LocaleValue() { }
if (false) {
/** @type {?} */
LocaleValue.prototype.prevText;
/** @type {?} */
LocaleValue.prototype.nextText;
}
export class PaginationComponent {
/**
* @param {?} _localeProviderService
*/
constructor(_localeProviderService) {
this._localeProviderService = _localeProviderService;
this.prefixCls = 'am-pagination';
this._locale = {
prevText: '',
nextText: ''
};
this._unsubscribe$ = new Subject();
this.mode = 'button';
this.current = 1;
this.total = 0;
this.simple = false;
this.disabled = false;
this.onChange = new EventEmitter();
}
/**
* @return {?}
*/
get locale() {
return this._locale;
}
/**
* @param {?} v
* @return {?}
*/
set locale(v) {
this._locale = v;
this._unsubscribe$.next();
this._unsubscribe$.complete();
}
/**
* @param {?} key
* @return {?}
*/
isTemplateRef(key) {
return (/** @type {?} */ (key)) instanceof TemplateRef;
}
/**
* @param {?} p
* @return {?}
*/
onClick(p) {
this.current = p;
this.onChange.emit(p);
}
/**
* @param {?} p
* @return {?}
*/
getNumber(p) {
return new Array(p);
}
/**
* @return {?}
*/
ngOnInit() {
this._localeProviderService.localeChange.pipe(takeUntil(this._unsubscribe$)).subscribe((/**
* @param {?} _
* @return {?}
*/
_ => {
this._locale = (/** @type {?} */ (this._localeProviderService.getLocaleSubObj('Pagination')));
}));
}
/**
* @return {?}
*/
ngOnDestroy() {
this._unsubscribe$.next();
this._unsubscribe$.complete();
}
}
PaginationComponent.decorators = [
{ type: Component, args: [{
selector: 'Pagination, nzm-pagination',
template: "<div class=\"{{ prefixCls }} {{ prefixCls }}-align-center\">\n <Flex *ngIf=\"mode === 'button'\">\n <FlexItem class=\"{{ prefixCls }}-wrap-btn {{ prefixCls }}-wrap-btn-prev\">\n <a Button [inline]=\"true\" [disabled]=\"current <= 1\" (onClick)=\"onClick(current - 1)\">\n <ng-container *ngIf=\"!isTemplateRef(locale.prevText)\">\n {{ locale.prevText }}\n </ng-container>\n <ng-template *ngIf=\"isTemplateRef(locale.prevText)\" [ngTemplateOutlet]=\"locale.prevText\"></ng-template>\n </a>\n </FlexItem>\n <FlexItem class=\"{{ prefixCls }}-wrap\" aria-live=\"assertive\" *ngIf=\"!simple\">\n <span class=\"active\">{{ current }}</span\n >/\n <span>{{ total }}</span>\n </FlexItem>\n <FlexItem class=\"{{ prefixCls }}-wrap-btn {{ prefixCls }}-wrap-btn-next\">\n <a Button [inline]=\"true\" [disabled]=\"current >= total\" (onClick)=\"onClick(current + 1)\">\n <ng-container *ngIf=\"!isTemplateRef(locale.nextText)\">\n {{ locale.nextText }}\n </ng-container>\n <ng-template *ngIf=\"isTemplateRef(locale.nextText)\" [ngTemplateOutlet]=\"locale.nextText\"></ng-template>\n </a>\n </FlexItem>\n </Flex>\n\n <div class=\"{{ prefixCls }}-wrap\" *ngIf=\"mode === 'number'\">\n <span class=\"active\">{{ current }}</span\n >/<span>{{ total }}</span>\n </div>\n\n <div class=\"{{ prefixCls }}-wrap\" *ngIf=\"mode === 'pointer'\">\n <div\n *ngFor=\"let number of getNumber(total); let i = index\"\n class=\"{{ prefixCls }}-wrap-dot {{ current === i + 1 ? prefixCls + '-wrap-dot-active' : '' }}\"\n >\n <span></span>\n </div>\n </div>\n</div>\n",
encapsulation: ViewEncapsulation.None
}] }
];
/** @nocollapse */
PaginationComponent.ctorParameters = () => [
{ type: LocaleProviderService }
];
PaginationComponent.propDecorators = {
mode: [{ type: Input }],
current: [{ type: Input }],
total: [{ type: Input }],
simple: [{ type: Input }],
disabled: [{ type: Input }],
locale: [{ type: Input }],
onChange: [{ type: Output }]
};
if (false) {
/** @type {?} */
PaginationComponent.prototype.prefixCls;
/**
* @type {?}
* @private
*/
PaginationComponent.prototype._locale;
/**
* @type {?}
* @private
*/
PaginationComponent.prototype._unsubscribe$;
/** @type {?} */
PaginationComponent.prototype.mode;
/** @type {?} */
PaginationComponent.prototype.current;
/** @type {?} */
PaginationComponent.prototype.total;
/** @type {?} */
PaginationComponent.prototype.simple;
/** @type {?} */
PaginationComponent.prototype.disabled;
/** @type {?} */
PaginationComponent.prototype.onChange;
/**
* @type {?}
* @private
*/
PaginationComponent.prototype._localeProviderService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkLW1vYmlsZS8iLCJzb3VyY2VzIjpbInBhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFdBQVcsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7OztBQUVuRiwwQkFHQzs7O0lBRkMsK0JBQWlCOztJQUNqQiwrQkFBaUI7O0FBT25CLE1BQU0sT0FBTyxtQkFBbUI7Ozs7SUErQjlCLFlBQW9CLHNCQUE2QztRQUE3QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBOUJqRSxjQUFTLEdBQUcsZUFBZSxDQUFDO1FBRXBCLFlBQU8sR0FBZ0I7WUFDN0IsUUFBUSxFQUFFLEVBQUU7WUFDWixRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUM7UUFDTSxrQkFBYSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRzNELFNBQUksR0FBVyxRQUFRLENBQUM7UUFFeEIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUVwQixVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBRWxCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQVcxQixhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFYyxDQUFDOzs7O0lBWnJFLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7OztJQUNELElBQUksTUFBTSxDQUFDLENBQUM7UUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7Ozs7SUFNRCxhQUFhLENBQUMsR0FBRztRQUNmLE9BQU8sbUJBQUssR0FBRyxFQUFBLFlBQVksV0FBVyxDQUFDO0lBQ3pDLENBQUM7Ozs7O0lBRUQsT0FBTyxDQUFDLENBQVM7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDOzs7OztJQUVELFNBQVMsQ0FBQyxDQUFTO1FBQ2pCLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pGLElBQUksQ0FBQyxPQUFPLEdBQUcsbUJBQWEsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsRUFBQSxDQUFDO1FBQ3hGLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7O1lBNURGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0Qyw0cERBQTBDO2dCQUMxQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7OztZQVZRLHFCQUFxQjs7O21CQW9CM0IsS0FBSztzQkFFTCxLQUFLO29CQUVMLEtBQUs7cUJBRUwsS0FBSzt1QkFFTCxLQUFLO3FCQUVMLEtBQUs7dUJBU0wsTUFBTTs7OztJQTNCUCx3Q0FBNEI7Ozs7O0lBRTVCLHNDQUdFOzs7OztJQUNGLDRDQUEyRDs7SUFFM0QsbUNBQ3dCOztJQUN4QixzQ0FDb0I7O0lBQ3BCLG9DQUNrQjs7SUFDbEIscUNBQ3dCOztJQUN4Qix1Q0FDMEI7O0lBVTFCLHVDQUNzRDs7Ozs7SUFFMUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFRlbXBsYXRlUmVmLFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2NhbGVQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuLi9sb2NhbGUtcHJvdmlkZXIvbG9jYWxlLXByb3ZpZGVyLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgTG9jYWxlVmFsdWUge1xuICBwcmV2VGV4dDogc3RyaW5nO1xuICBuZXh0VGV4dDogc3RyaW5nO1xufVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnUGFnaW5hdGlvbiwgbnptLXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJlZml4Q2xzID0gJ2FtLXBhZ2luYXRpb24nO1xuXG4gIHByaXZhdGUgX2xvY2FsZTogTG9jYWxlVmFsdWUgPSB7XG4gICAgcHJldlRleHQ6ICcnLFxuICAgIG5leHRUZXh0OiAnJ1xuICB9O1xuICBwcml2YXRlIF91bnN1YnNjcmliZSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBJbnB1dCgpXG4gIG1vZGU6IHN0cmluZyA9ICdidXR0b24nO1xuICBASW5wdXQoKVxuICBjdXJyZW50OiBudW1iZXIgPSAxO1xuICBASW5wdXQoKVxuICB0b3RhbDogbnVtYmVyID0gMDtcbiAgQElucHV0KClcbiAgc2ltcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGdldCBsb2NhbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsZTtcbiAgfVxuICBzZXQgbG9jYWxlKHYpIHtcbiAgICB0aGlzLl9sb2NhbGUgPSB2O1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy5fdW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cbiAgQE91dHB1dCgpXG4gIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2xvY2FsZVByb3ZpZGVyU2VydmljZTogTG9jYWxlUHJvdmlkZXJTZXJ2aWNlKSB7fVxuXG4gIGlzVGVtcGxhdGVSZWYoa2V5KSB7XG4gICAgcmV0dXJuIDxhbnk+a2V5IGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG4gIH1cblxuICBvbkNsaWNrKHA6IG51bWJlcikge1xuICAgIHRoaXMuY3VycmVudCA9IHA7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHApO1xuICB9XG5cbiAgZ2V0TnVtYmVyKHA6IG51bWJlcik6IEFycmF5PG51bWJlcj4ge1xuICAgIHJldHVybiBuZXcgQXJyYXkocCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9sb2NhbGVQcm92aWRlclNlcnZpY2UubG9jYWxlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZShfID0+IHtcbiAgICAgIHRoaXMuX2xvY2FsZSA9IDxMb2NhbGVWYWx1ZT50aGlzLl9sb2NhbGVQcm92aWRlclNlcnZpY2UuZ2V0TG9jYWxlU3ViT2JqKCdQYWdpbmF0aW9uJyk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl91bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=