UNPKG

ng-zorro-antd-mobile

Version:

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

144 lines (143 loc) 11 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Component, Input, ChangeDetectorRef, Output, EventEmitter, ViewEncapsulation, HostBinding } from '@angular/core'; import { animate, state, style, transition, trigger } from '@angular/animations'; import { AccordionService } from '../accordion.service'; export class AccordionGroupComponent { /** * @param {?} _accordionService * @param {?} _cdr */ constructor(_accordionService, _cdr) { this._accordionService = _accordionService; this._cdr = _cdr; this.isShowChild = true; this.isOpened = false; this.disabled = false; this.onOpen = new EventEmitter(); this.onClose = new EventEmitter(); this.onChange = new EventEmitter(); this._amItem = true; this._isActive = this.isOpened; this._addon = true; } /** * @return {?} */ checkAndToggle() { this.toggle(); } /** * @return {?} */ get slide() { return this.isOpened ? 'down' : 'up'; } /** * @return {?} */ toggle() { if (this.disabled) { return; } this.isShowChild = true; /** @type {?} */ const isOpenedBeforeWeChange = this.isOpened; if (this._accordionService.accordion) { this._accordionService.component.closeAll(); } this.isOpened = !isOpenedBeforeWeChange; if (this.isOpened) { this.onOpen.emit(); } else { this.onClose.emit(); } this.onChange.emit(this.isOpened); } /** * @return {?} */ openOnInitialization() { setTimeout(() => { this.isOpened = true; this._cdr.detectChanges(); }, 0); } /** * @param {?} event * @return {?} */ slideAnimationDoen(event) { if (event.fromState === 'down' && event.toState === 'up') { this.isShowChild = false; } } } AccordionGroupComponent.decorators = [ { type: Component, args: [{ selector: 'AccordionPanel', template: "<div role=\"tab\"\n class=\"am-accordion-header\"\n data-scale=\"true\"\n [attr.aria-expanded]=\"isOpened\"\n (click)=\"checkAndToggle()\"\n>\n <i class=\"arrow\"></i>\n {{header}}\n</div>\n<div role=\"tabpanel\"\n class=\"am-accordion-content\"\n [ngClass]=\"{'am-accordion-content-active':isOpened}\"\n [@slide]=\"slide\"\n (@slide.done)=\"slideAnimationDoen($event)\" \n>\n <div *ngIf=\"isShowChild\" class=\"am-accordion-content-box\">\n <ng-content></ng-content>\n </div>\n</div>\n", encapsulation: ViewEncapsulation.None, animations: [ trigger('slide', [ state('up', style({ height: 0 })), state('down', style({ height: '*' })), transition('down => up', [animate(200, style({ height: 0 }))]), transition('up => down', [ animate(200, style({ height: '*' })) ]) ]) ] }] } ]; /** @nocollapse */ AccordionGroupComponent.ctorParameters = () => [ { type: AccordionService }, { type: ChangeDetectorRef } ]; AccordionGroupComponent.propDecorators = { key: [{ type: Input }], header: [{ type: Input }], isOpened: [{ type: Input }], disabled: [{ type: Input }], onOpen: [{ type: Output }], onClose: [{ type: Output }], onChange: [{ type: Output }], _amItem: [{ type: HostBinding, args: ['class.am-accordion-item',] }], _isActive: [{ type: HostBinding, args: ['class.am-accordion-item-active',] }], _addon: [{ type: HostBinding, args: ['class.addon',] }] }; if (false) { /** @type {?} */ AccordionGroupComponent.prototype.isShowChild; /** @type {?} */ AccordionGroupComponent.prototype.key; /** @type {?} */ AccordionGroupComponent.prototype.header; /** @type {?} */ AccordionGroupComponent.prototype.isOpened; /** @type {?} */ AccordionGroupComponent.prototype.disabled; /** @type {?} */ AccordionGroupComponent.prototype.onOpen; /** @type {?} */ AccordionGroupComponent.prototype.onClose; /** @type {?} */ AccordionGroupComponent.prototype.onChange; /** @type {?} */ AccordionGroupComponent.prototype._amItem; /** @type {?} */ AccordionGroupComponent.prototype._isActive; /** @type {?} */ AccordionGroupComponent.prototype._addon; /** @type {?} */ AccordionGroupComponent.prototype._accordionService; /** @type {?} */ AccordionGroupComponent.prototype._cdr; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQtbW9iaWxlLyIsInNvdXJjZXMiOlsiYWNjb3JkaW9uL2FjY29yZGlvbi1ncm91cC9hY2NvcmRpb24tZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBc0J4RCxNQUFNOzs7OztJQXNCSixZQUFvQixpQkFBbUMsRUFBVSxJQUF1QjtRQUFwRSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBbUI7MkJBckJqRSxJQUFJO3dCQU9QLEtBQUs7d0JBRUwsS0FBSztzQkFFaEIsSUFBSSxZQUFZLEVBQUU7dUJBRWpCLElBQUksWUFBWSxFQUFFO3dCQUVqQixJQUFJLFlBQVksRUFBRTt1QkFFNkIsSUFBSTt5QkFDSyxJQUFJLENBQUMsUUFBUTtzQkFDbkMsSUFBSTtLQUUyQzs7OztJQUU1RixjQUFjO1FBQ1osSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ2Y7Ozs7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0tBQ3RDOzs7O0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzs7UUFDeEIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzdDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRTtZQUNwQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLHNCQUFzQixDQUFDO1FBQ3hDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3BCO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ25DOzs7O0lBRUQsb0JBQW9CO1FBQ2xCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzNCLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDUDs7Ozs7SUFFRCxrQkFBa0IsQ0FBQyxLQUFLO1FBQ3RCLElBQUksS0FBSyxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFDeEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDMUI7S0FDRjs7O1lBakZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQix5aEJBQStDO2dCQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxPQUFPLEVBQUU7d0JBQ2YsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDakMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzt3QkFDckMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUM5RCxVQUFVLENBQUMsWUFBWSxFQUFFOzRCQUN2QixPQUFPLENBQ0wsR0FBRyxFQUNILEtBQUssQ0FBQztnQ0FDSixNQUFNLEVBQUUsR0FBRzs2QkFDWixDQUFDLENBQ0g7eUJBQ0YsQ0FBQztxQkFDSCxDQUFDO2lCQUNIO2FBQ0Y7Ozs7WUFyQlEsZ0JBQWdCO1lBRkUsaUJBQWlCOzs7a0JBMkJ6QyxLQUFLO3FCQUVMLEtBQUs7dUJBRUwsS0FBSzt1QkFFTCxLQUFLO3FCQUVMLE1BQU07c0JBRU4sTUFBTTt1QkFFTixNQUFNO3NCQUdOLFdBQVcsU0FBQyx5QkFBeUI7d0JBQ3JDLFdBQVcsU0FBQyxnQ0FBZ0M7cUJBQzVDLFdBQVcsU0FBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3RW5jYXBzdWxhdGlvbiwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQWNjb3JkaW9uU2VydmljZSB9IGZyb20gJy4uL2FjY29yZGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnQWNjb3JkaW9uUGFuZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NsaWRlJywgW1xuICAgICAgc3RhdGUoJ3VwJywgc3R5bGUoeyBoZWlnaHQ6IDAgfSkpLFxuICAgICAgc3RhdGUoJ2Rvd24nLCBzdHlsZSh7IGhlaWdodDogJyonIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2Rvd24gPT4gdXAnLCBbYW5pbWF0ZSgyMDAsIHN0eWxlKHsgaGVpZ2h0OiAwIH0pKV0pLFxuICAgICAgdHJhbnNpdGlvbigndXAgPT4gZG93bicsIFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAyMDAsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgaGVpZ2h0OiAnKidcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICBdKVxuICAgIF0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uR3JvdXBDb21wb25lbnQge1xuICBpc1Nob3dDaGlsZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAga2V5OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGhlYWRlcjogc3RyaW5nO1xuICBASW5wdXQoKVxuICBpc09wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KClcbiAgb25PcGVuID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tYWNjb3JkaW9uLWl0ZW0nKSBwcml2YXRlIF9hbUl0ZW0gPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLWFjY29yZGlvbi1pdGVtLWFjdGl2ZScpIHByaXZhdGUgX2lzQWN0aXZlID0gdGhpcy5pc09wZW5lZDtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hZGRvbicpIHByaXZhdGUgX2FkZG9uID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hY2NvcmRpb25TZXJ2aWNlOiBBY2NvcmRpb25TZXJ2aWNlLCBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIGNoZWNrQW5kVG9nZ2xlKCkge1xuICAgIHRoaXMudG9nZ2xlKCk7XG4gIH1cblxuICBnZXQgc2xpZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc09wZW5lZCA/ICdkb3duJyA6ICd1cCc7XG4gIH1cblxuICB0b2dnbGUoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pc1Nob3dDaGlsZCA9IHRydWU7XG4gICAgY29uc3QgaXNPcGVuZWRCZWZvcmVXZUNoYW5nZSA9IHRoaXMuaXNPcGVuZWQ7XG4gICAgaWYgKHRoaXMuX2FjY29yZGlvblNlcnZpY2UuYWNjb3JkaW9uKSB7XG4gICAgICB0aGlzLl9hY2NvcmRpb25TZXJ2aWNlLmNvbXBvbmVudC5jbG9zZUFsbCgpO1xuICAgIH1cbiAgICB0aGlzLmlzT3BlbmVkID0gIWlzT3BlbmVkQmVmb3JlV2VDaGFuZ2U7XG4gICAgaWYgKHRoaXMuaXNPcGVuZWQpIHtcbiAgICAgIHRoaXMub25PcGVuLmVtaXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcbiAgICB9XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMuaXNPcGVuZWQpO1xuICB9XG5cbiAgb3Blbk9uSW5pdGlhbGl6YXRpb24oKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzT3BlbmVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBzbGlkZUFuaW1hdGlvbkRvZW4oZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuZnJvbVN0YXRlID09PSAnZG93bicgJiYgZXZlbnQudG9TdGF0ZSA9PT0gJ3VwJykge1xuICAgICAgdGhpcy5pc1Nob3dDaGlsZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19