UNPKG

ng-zorro-antd-mobile

Version:

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

112 lines 15.1 kB
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'; import { isTemplateRef } from 'ng-zorro-antd-mobile/core'; import * as i0 from "@angular/core"; import * as i1 from "../accordion.service"; import * as i2 from "@angular/common"; export class AccordionGroupComponent { 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.isTemplateRef = isTemplateRef; this.amItem = true; this.isActive = this.isOpened; this.addon = true; } checkAndToggle() { this.toggle(); } get slide() { return this.isOpened ? 'down' : 'up'; } toggle() { if (this.disabled) { return; } this.isShowChild = true; 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); } openOnInitialization() { setTimeout(() => { this.isOpened = true; this._cdr.detectChanges(); }, 0); } slideAnimationDoen(event) { if (event.fromState === 'down' && event.toState === 'up') { setTimeout(() => { this.isShowChild = false; }, 0); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AccordionGroupComponent, deps: [{ token: i1.AccordionService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AccordionGroupComponent, selector: "AccordionPanel, nzm-accordion-panel", inputs: { key: "key", header: "header", isOpened: "isOpened", disabled: "disabled" }, outputs: { onOpen: "onOpen", onClose: "onClose", onChange: "onChange" }, host: { properties: { "class.am-accordion-item": "this.amItem", "class.am-accordion-item-active": "this.isActive", "class.addon": "this.addon" } }, ngImport: i0, template: "<div\n 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 <ng-container *ngIf=\"!isTemplateRef(header)\">{{ header }}</ng-container>\n <ng-template *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"header\"></ng-template>\n</div>\n<div\n 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", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], 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: '*' })) ]) ]) ], encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AccordionGroupComponent, decorators: [{ type: Component, args: [{ selector: 'AccordionPanel, nzm-accordion-panel', 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: '*' })) ]) ]) ], template: "<div\n 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 <ng-container *ngIf=\"!isTemplateRef(header)\">{{ header }}</ng-container>\n <ng-template *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"header\"></ng-template>\n</div>\n<div\n 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" }] }], ctorParameters: () => [{ type: i1.AccordionService }, { type: i0.ChangeDetectorRef }], 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'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi1ncm91cC9hY2NvcmRpb24tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLWdyb3VwL2FjY29yZGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFDakIsV0FBVyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBc0IxRCxNQUFNLE9BQU8sdUJBQXVCO0lBdUJsQyxZQUFvQixpQkFBbUMsRUFBVSxJQUF1QjtRQUFwRSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUF0QnhGLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBTzVCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU1QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM5QixrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUVpQixXQUFNLEdBQUcsSUFBSSxDQUFDO1FB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Q0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDOUQsVUFBVSxDQUFDLFlBQVksRUFBRTtnQ0FDdkIsT0FBTyxDQUNMLEdBQUcsRUFDSCxLQUFLLENBQUM7b0NBQ0osTUFBTSxFQUFFLEdBQUc7aUNBQ1osQ0FBQyxDQUNIOzZCQUNGLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDtxSEFNRCxHQUFHO3NCQURGLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxNQUFNO2dCQUdQLE9BQU87c0JBRE4sTUFBTTtnQkFHUCxRQUFRO3NCQURQLE1BQU07Z0JBSXdDLE1BQU07c0JBQXBELFdBQVc7dUJBQUMseUJBQXlCO2dCQUNnQixRQUFRO3NCQUE3RCxXQUFXO3VCQUFDLGdDQUFnQztnQkFDVixLQUFLO3NCQUF2QyxXQUFXO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBIb3N0QmluZGluZyxcbiAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEFjY29yZGlvblNlcnZpY2UgfSBmcm9tICcuLi9hY2NvcmRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBpc1RlbXBsYXRlUmVmIH0gZnJvbSAnbmctem9ycm8tYW50ZC1tb2JpbGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ0FjY29yZGlvblBhbmVsLCBuem0tYWNjb3JkaW9uLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzbGlkZScsIFtcbiAgICAgIHN0YXRlKCd1cCcsIHN0eWxlKHsgaGVpZ2h0OiAwIH0pKSxcbiAgICAgIHN0YXRlKCdkb3duJywgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdkb3duID0+IHVwJywgW2FuaW1hdGUoMjAwLCBzdHlsZSh7IGhlaWdodDogMCB9KSldKSxcbiAgICAgIHRyYW5zaXRpb24oJ3VwID0+IGRvd24nLCBbXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgMjAwLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIGhlaWdodDogJyonXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkdyb3VwQ29tcG9uZW50IHtcbiAgaXNTaG93Q2hpbGQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGtleTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBoZWFkZXI6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBASW5wdXQoKVxuICBpc09wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KClcbiAgb25PcGVuID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBpc1RlbXBsYXRlUmVmID0gaXNUZW1wbGF0ZVJlZjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLWFjY29yZGlvbi1pdGVtJykgcHVibGljIGFtSXRlbSA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tYWNjb3JkaW9uLWl0ZW0tYWN0aXZlJykgcHVibGljIGlzQWN0aXZlID0gdGhpcy5pc09wZW5lZDtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hZGRvbicpIHB1YmxpYyBhZGRvbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfYWNjb3JkaW9uU2VydmljZTogQWNjb3JkaW9uU2VydmljZSwgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBjaGVja0FuZFRvZ2dsZSgpIHtcbiAgICB0aGlzLnRvZ2dsZSgpO1xuICB9XG5cbiAgZ2V0IHNsaWRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuZWQgPyAnZG93bicgOiAndXAnO1xuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNTaG93Q2hpbGQgPSB0cnVlO1xuICAgIGNvbnN0IGlzT3BlbmVkQmVmb3JlV2VDaGFuZ2UgPSB0aGlzLmlzT3BlbmVkO1xuICAgIGlmICh0aGlzLl9hY2NvcmRpb25TZXJ2aWNlLmFjY29yZGlvbikge1xuICAgICAgdGhpcy5fYWNjb3JkaW9uU2VydmljZS5jb21wb25lbnQuY2xvc2VBbGwoKTtcbiAgICB9XG4gICAgdGhpcy5pc09wZW5lZCA9ICFpc09wZW5lZEJlZm9yZVdlQ2hhbmdlO1xuICAgIGlmICh0aGlzLmlzT3BlbmVkKSB7XG4gICAgICB0aGlzLm9uT3Blbi5lbWl0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25DbG9zZS5lbWl0KCk7XG4gICAgfVxuICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLmlzT3BlbmVkKTtcbiAgfVxuXG4gIG9wZW5PbkluaXRpYWxpemF0aW9uKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc09wZW5lZCA9IHRydWU7XG4gICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgc2xpZGVBbmltYXRpb25Eb2VuKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmZyb21TdGF0ZSA9PT0gJ2Rvd24nICYmIGV2ZW50LnRvU3RhdGUgPT09ICd1cCcpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzU2hvd0NoaWxkID0gZmFsc2U7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgcm9sZT1cInRhYlwiXG4gIGNsYXNzPVwiYW0tYWNjb3JkaW9uLWhlYWRlclwiXG4gIGRhdGEtc2NhbGU9XCJ0cnVlXCJcbiAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc09wZW5lZFwiXG4gIChjbGljayk9XCJjaGVja0FuZFRvZ2dsZSgpXCJcbj5cbiAgPGkgY2xhc3M9XCJhcnJvd1wiPjwvaT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlUmVmKGhlYWRlcilcIj57eyBoZWFkZXIgfX08L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihoZWFkZXIpXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyXCI+PC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuPGRpdlxuICByb2xlPVwidGFicGFuZWxcIlxuICBjbGFzcz1cImFtLWFjY29yZGlvbi1jb250ZW50XCJcbiAgW25nQ2xhc3NdPVwieyAnYW0tYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlJzogaXNPcGVuZWQgfVwiXG4gIFtAc2xpZGVdPVwic2xpZGVcIlxuICAoQHNsaWRlLmRvbmUpPVwic2xpZGVBbmltYXRpb25Eb2VuKCRldmVudClcIlxuPlxuICA8ZGl2ICpuZ0lmPVwiaXNTaG93Q2hpbGRcIiBjbGFzcz1cImFtLWFjY29yZGlvbi1jb250ZW50LWJveFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==