UNPKG

ng-zorro-antd-mobile

Version:

An enterprise-class mobile UI components based on Ant Design and Angular

157 lines 15.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ElementRef, TemplateRef, ViewEncapsulation } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { LocaleProviderService } from '../locale-provider/locale-provider.service'; import { ActionSheetRef } from './action-sheet-ref.class'; /** * @template T, R */ export class ActionSheetComponent extends ActionSheetRef { /** * @param {?} localeProviderService * @param {?} elementRef */ constructor(localeProviderService, elementRef) { super(); this.localeProviderService = localeProviderService; this.elementRef = elementRef; this.unsubscribe$ = new Subject(); } /** * @return {?} */ ngOnInit() { this.localeProvider(); } /** * @return {?} */ localeProvider() { /** @type {?} */ const self = this; if (self.option.locale || self.option.locale !== undefined) { self.localeProviderService.setLocale(self.option.locale); } self.localeProviderService.localeChange.pipe(takeUntil(self.unsubscribe$)).subscribe((/** * @param {?} _ * @return {?} */ _ => { if (self.option.cancelButtonText) { self.option.cancelButtonText = self.localeProviderService.getLocaleSubObj('ActionSheet')['dismissText']; } })); } /** * @param {?} index * @param {?=} rowIndex * @param {?=} event * @return {?} */ onPress(index, rowIndex = 0, event) { } /** * @param {?} option * @return {?} */ showShare(option) { /** @type {?} */ const cls = { [`${option.prefixCls}-share`]: option.flag === 'SHARE' }; return cls; } /** * @param {?} option * @param {?} suffix * @return {?} */ setActiveClassName(option, suffix) { return [`${option.prefixCls}-${suffix}-active`]; } /** * @param {?} value * @return {?} */ isNoTitle(value) { return value === '' || value === null || value === undefined; } /** * @param {?} value * @return {?} */ isTemplateRef(value) { return value instanceof TemplateRef; } /** * @param {?} options * @param {?} value * @return {?} */ isArray(options, value) { if (options.length > 0 && value) { return value instanceof Array; } return false; } /** * @return {?} */ getInstance() { return this; } /** * @return {?} */ getElement() { return this.elementRef && this.elementRef.nativeElement; } /** * @return {?} */ close() { if (this.option.close) { this.option.close(); } } /** * @return {?} */ destroy() { this.close(); } /** * @return {?} */ ngOnDestroy() { this.unsubscribe$.next(); this.unsubscribe$.complete(); } } ActionSheetComponent.decorators = [ { type: Component, args: [{ selector: 'ActionSheet', template: "<div class=\"{{ option.prefixCls }}-mask {{ option.maskTransitionName }}\"></div>\n<div\n role=\"dialog\"\n class=\"{{ option.prefixCls }}-wrap {{ option.transitionName }}\"\n (click)=\"option.maskClose(-1, 0, $event)\"\n>\n <div role=\"document\" class=\"{{ option.prefixCls }}\" [ngClass]=\"showShare(option)\">\n <div class=\"{{ option.prefixCls }}-content\">\n <button aria-label=\"Close\" class=\"{{ option.prefixCls }}-close\">\n <span class=\"{{ option.prefixCls }}-close-x\"></span>\n </button>\n <div class=\"{{ option.prefixCls }}-body\">\n <div>\n <ng-container *ngIf=\"!isNoTitle(option.title)\">\n <ng-template *ngIf=\"isTemplateRef(option.title)\" [ngTemplateOutlet]=\"option.title\"></ng-template>\n <h3 *ngIf=\"!isTemplateRef(option.title)\" class=\"{{ option.prefixCls }}-title\">{{ option.title }}</h3>\n </ng-container>\n <ng-container *ngIf=\"!isNoTitle(option.message)\">\n <ng-template *ngIf=\"isTemplateRef(option.message)\" [ngTemplateOutlet]=\"option.message\"></ng-template>\n <div *ngIf=\"!isTemplateRef(option.message)\" class=\"{{ option.prefixCls }}-message\">\n {{ option.message }}\n </div>\n </ng-container>\n <ng-container [ngSwitch]=\"option.flag\">\n <div *ngSwitchCase=\"'NORMAL'\" class=\"{{ option.prefixCls }}-button-list\" role=\"group\">\n <ng-container *ngFor=\"let item of option.options; let i = index\">\n <div\n TouchFeedbackDirective\n class=\"{{ option.prefixCls }}-button-list-item\"\n [className]=\"setActiveClassName(option, 'button-list-item')\"\n >\n <div\n *ngIf=\"option.destructiveButtonIndex !== i && option.cancelButtonIndex !== i\"\n class=\"{{ option.prefixCls }}-button-list-item\"\n (click)=\"option.onPress(i, 0, $event)\"\n >\n {{ item }}\n </div>\n <div\n *ngIf=\"option.destructiveButtonIndex === i\"\n class=\"{{ option.prefixCls }}-button-list-item {{ option.prefixCls }}-destructive-button\"\n (click)=\"option.onPress(i, 0, $event)\"\n >\n {{ item }}\n </div>\n <div\n *ngIf=\"option.cancelButtonIndex === i\"\n class=\"{{ option.prefixCls }}-button-list-item {{ option.prefixCls }}-cancel-button\"\n (click)=\"option.onPress(i, 0, $event)\"\n >\n {{ item }}\n <span class=\"{{ option.prefixCls }}-cancel-button-mask\"></span>\n </div>\n </div>\n </ng-container>\n </div>\n <div *ngSwitchCase=\"'SHARE'\" class=\"{{ option.prefixCls }}-share {{ option.prefixCls }}-share-content\">\n <div *ngIf=\"!isArray(option.options, option.options[0])\" class=\"{{ option.prefixCls }}-share-list\">\n <ng-container *ngFor=\"let item of option.options; let i = index\">\n <div class=\"{{ option.prefixCls }}-share-list-item\" (click)=\"option.onPress(i, 0, $event)\">\n <div class=\"{{ option.prefixCls }}-share-list-item-icon\">\n <ng-template *ngIf=\"isTemplateRef(item.icon)\" [ngTemplateOutlet]=\"item.icon\"></ng-template>\n <div *ngIf=\"!isTemplateRef(item.icon)\" [innerHTML]=\"item.icon | safeHTML\"></div>\n </div>\n <div class=\"{{ option.prefixCls }}-share-list-item-title\">{{ item.title }}</div>\n </div>\n </ng-container>\n </div>\n <ng-container *ngIf=\"isArray(option.options, option.options[0])\">\n <div\n *ngFor=\"let items of option.options; let rowIndex = index\"\n class=\"{{ option.prefixCls }}-share-list\"\n >\n <ng-container *ngFor=\"let item of items; let i = index\">\n <div class=\"{{ option.prefixCls }}-share-list-item\" (click)=\"option.onPress(i, rowIndex, $event)\">\n <div class=\"{{ option.prefixCls }}-share-list-item-icon\">\n <ng-template *ngIf=\"isTemplateRef(item.icon)\" [ngTemplateOutlet]=\"item.icon\"></ng-template>\n <div *ngIf=\"!isTemplateRef(item.icon)\" [innerHTML]=\"item.icon | safeHTML\"></div>\n </div>\n <div class=\"{{ option.prefixCls }}-share-list-item-title\">{{ item.title }}</div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <div\n TouchFeedbackDirective\n [className]=\"setActiveClassName(option, 'share-cancel-button')\"\n class=\"{{ option.prefixCls }}-share-cancel-button\"\n >\n {{ option.cancelButtonText }}\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n</div>\n", encapsulation: ViewEncapsulation.None }] } ]; /** @nocollapse */ ActionSheetComponent.ctorParameters = () => [ { type: LocaleProviderService }, { type: ElementRef } ]; if (false) { /** @type {?} */ ActionSheetComponent.prototype.unsubscribe$; /** @type {?} */ ActionSheetComponent.prototype.option; /** * @type {?} * @private */ ActionSheetComponent.prototype.localeProviderService; /** @type {?} */ ActionSheetComponent.prototype.elementRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQtbW9iaWxlLyIsInNvdXJjZXMiOlsiYWN0aW9uLXNoZWV0L2FjdGlvbi1zaGVldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBVSxTQUFTLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFNMUQsTUFBTSxPQUFPLG9CQUF1QyxTQUFRLGNBQW9COzs7OztJQUc5RSxZQUFvQixxQkFBNEMsRUFBUyxVQUFzQjtRQUM3RixLQUFLLEVBQUUsQ0FBQztRQURVLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRi9GLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUluQyxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7O0lBRUQsY0FBYzs7Y0FDTixJQUFJLEdBQUcsSUFBSTtRQUNqQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUMxRCxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUQ7UUFDRCxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3ZGLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3pHO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7O0lBRUQsT0FBTyxDQUFDLEtBQVUsRUFBRSxRQUFRLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBRyxDQUFDOzs7OztJQUMzQyxTQUFTLENBQUMsTUFBTTs7Y0FDUixHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7UUFDdEUsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzs7Ozs7SUFFRCxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsTUFBTTtRQUMvQixPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7Ozs7SUFFRCxTQUFTLENBQUMsS0FBZ0M7UUFDeEMsT0FBTyxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQztJQUMvRCxDQUFDOzs7OztJQUVELGFBQWEsQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sS0FBSyxZQUFZLFdBQVcsQ0FBQztJQUN0QyxDQUFDOzs7Ozs7SUFFRCxPQUFPLENBQUMsT0FBWSxFQUFFLEtBQVU7UUFDOUIsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxLQUFLLEVBQUU7WUFDL0IsT0FBTyxLQUFLLFlBQVksS0FBSyxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7O0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDMUQsQ0FBQzs7OztJQUVELEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDOzs7O0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7OztZQTFFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLHl1S0FBNEM7Z0JBQzVDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7O1lBTlEscUJBQXFCO1lBSFMsVUFBVTs7OztJQVcvQyw0Q0FBbUM7O0lBQ25DLHNDQUFZOzs7OztJQUNBLHFEQUFvRDs7SUFBRSwwQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQsIENvbXBvbmVudCwgT25EZXN0cm95LCBFbGVtZW50UmVmLCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExvY2FsZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uL2xvY2FsZS1wcm92aWRlci9sb2NhbGUtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25TaGVldFJlZiB9IGZyb20gJy4vYWN0aW9uLXNoZWV0LXJlZi5jbGFzcyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdBY3Rpb25TaGVldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tc2hlZXQuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvblNoZWV0Q29tcG9uZW50PFQgPSBhbnksIFIgPSBhbnk+IGV4dGVuZHMgQWN0aW9uU2hlZXRSZWY8VCwgUj4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIG9wdGlvbjogYW55O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2FsZVByb3ZpZGVyU2VydmljZTogTG9jYWxlUHJvdmlkZXJTZXJ2aWNlLCBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvY2FsZVByb3ZpZGVyKCk7XG4gIH1cblxuICBsb2NhbGVQcm92aWRlcigpIHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBpZiAoc2VsZi5vcHRpb24ubG9jYWxlIHx8IHNlbGYub3B0aW9uLmxvY2FsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzZWxmLmxvY2FsZVByb3ZpZGVyU2VydmljZS5zZXRMb2NhbGUoc2VsZi5vcHRpb24ubG9jYWxlKTtcbiAgICB9XG4gICAgc2VsZi5sb2NhbGVQcm92aWRlclNlcnZpY2UubG9jYWxlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHNlbGYudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgaWYgKHNlbGYub3B0aW9uLmNhbmNlbEJ1dHRvblRleHQpIHtcbiAgICAgICAgc2VsZi5vcHRpb24uY2FuY2VsQnV0dG9uVGV4dCA9IHNlbGYubG9jYWxlUHJvdmlkZXJTZXJ2aWNlLmdldExvY2FsZVN1Yk9iaignQWN0aW9uU2hlZXQnKVsnZGlzbWlzc1RleHQnXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9uUHJlc3MoaW5kZXg6IGFueSwgcm93SW5kZXggPSAwLCBldmVudCkge31cbiAgc2hvd1NoYXJlKG9wdGlvbikge1xuICAgIGNvbnN0IGNscyA9IHsgW2Ake29wdGlvbi5wcmVmaXhDbHN9LXNoYXJlYF06IG9wdGlvbi5mbGFnID09PSAnU0hBUkUnIH07XG4gICAgcmV0dXJuIGNscztcbiAgfVxuXG4gIHNldEFjdGl2ZUNsYXNzTmFtZShvcHRpb24sIHN1ZmZpeCkge1xuICAgIHJldHVybiBbYCR7b3B0aW9uLnByZWZpeENsc30tJHtzdWZmaXh9LWFjdGl2ZWBdO1xuICB9XG5cbiAgaXNOb1RpdGxlKHZhbHVlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgcmV0dXJuIHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgaXNUZW1wbGF0ZVJlZih2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuICB9XG5cbiAgaXNBcnJheShvcHRpb25zOiBhbnksIHZhbHVlOiBhbnkpIHtcbiAgICBpZiAob3B0aW9ucy5sZW5ndGggPiAwICYmIHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBBcnJheTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0SW5zdGFuY2UoKTogQWN0aW9uU2hlZXRDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZ2V0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZiAmJiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wdGlvbi5jbG9zZSkge1xuICAgICAgdGhpcy5vcHRpb24uY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=