UNPKG

materialize-angular

Version:
126 lines 10.4 kB
/** * @fileoverview added by tsickle * Generated from: app/completed-components/accordion/accordion.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @license * Copyright Workylab. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE */ import { Component, ContentChildren, EventEmitter, Input, Output, QueryList } from '@angular/core'; import { CollapsibleComponent } from '../collapsible/collapsible.component'; import { config } from '../../config'; export class AccordionComponent { constructor() { this.className = AccordionComponent.defaultProps.className; this.activeIndex = AccordionComponent.defaultProps.activeIndex; this.initCollapsibles = this.initCollapsibles.bind(this); this.registerCollapsibles = this.registerCollapsibles.bind(this); this.onToggleEmitter = new EventEmitter(); } /** * @return {?} */ ngAfterContentInit() { this.initCollapsibles(); this.collapsiblesQueryList.changes.subscribe(this.initCollapsibles); } /** * @return {?} */ initCollapsibles() { setTimeout(this.registerCollapsibles, 0); } /** * @return {?} */ registerCollapsibles() { this.collapsiblesQueryList.forEach((/** * @param {?} item * @param {?} index * @return {?} */ (item, index) => { item.onOpenEmitter.subscribe((/** * @return {?} */ () => { this.toggleCollapsibles(index); })); })); } /** * @param {?} currentIndex * @return {?} */ toggleCollapsibles(currentIndex) { this.activeIndex = currentIndex; this.onToggleEmitter.emit(this.activeIndex); this.collapsiblesQueryList.forEach((/** * @param {?} item * @param {?} index * @return {?} */ (item, index) => { if (index === currentIndex) { item.open(); } else { item.close(); } })); } /** * @return {?} */ showNext() { /** @type {?} */ const nextIndex = this.activeIndex === null || this.activeIndex >= this.collapsiblesQueryList.length ? null : this.activeIndex + 1; this.toggleCollapsibles(nextIndex); } /** * @return {?} */ showPrev() { /** @type {?} */ const prevIndex = this.activeIndex === null || this.activeIndex === 0 ? null : this.activeIndex - 1; this.toggleCollapsibles(prevIndex); } } AccordionComponent.defaultProps = { activeIndex: null, className: '' }; AccordionComponent.decorators = [ { type: Component, args: [{ selector: `${config.components.prefix}-accordion }`, template: "<div [ngClass]=\"className\">\n <ng-content select=\"materialize-collapsible\"></ng-content>\n</div>\n" }] } ]; /** @nocollapse */ AccordionComponent.ctorParameters = () => []; AccordionComponent.propDecorators = { collapsiblesQueryList: [{ type: ContentChildren, args: [CollapsibleComponent,] }], onToggleEmitter: [{ type: Output, args: ['onToggle',] }], className: [{ type: Input }] }; if (false) { /** @type {?} */ AccordionComponent.defaultProps; /** @type {?} */ AccordionComponent.prototype.collapsiblesQueryList; /** @type {?} */ AccordionComponent.prototype.onToggleEmitter; /** @type {?} */ AccordionComponent.prototype.className; /** @type {?} */ AccordionComponent.prototype.activeIndex; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL21hdGVyaWFsaXplLWFuZ3VsYXIvIiwic291cmNlcyI6WyJhcHAvY29tcGxldGVkLWNvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNdEMsTUFBTSxPQUFPLGtCQUFrQjtJQWM3QjtRQUpTLGNBQVMsR0FBVyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBS3JFLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUUvRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVqRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQzs7OztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0RSxDQUFDOzs7O0lBRUQsZ0JBQWdCO1FBQ2QsVUFBVSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7O0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPOzs7OztRQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUzs7O1lBQUMsR0FBRyxFQUFFO2dCQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7O0lBRUQsa0JBQWtCLENBQUMsWUFBMkI7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7UUFFaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPOzs7OztRQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2pELElBQUksS0FBSyxLQUFLLFlBQVksRUFBRTtnQkFDMUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2Q7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxRQUFROztjQUNBLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNO1lBQ2xHLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQztRQUV4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7OztJQUVELFFBQVE7O2NBQ0EsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQztZQUNuRSxDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUM7UUFFeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7O0FBcEVlLCtCQUFZLEdBQW1CO0lBQzdDLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxFQUFFO0NBQ2QsQ0FBQzs7WUFSSCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLEdBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFPLGNBQWM7Z0JBQ3JELG1IQUF5QzthQUMxQzs7Ozs7b0NBT0UsZUFBZSxTQUFDLG9CQUFvQjs4QkFFcEMsTUFBTSxTQUFDLFVBQVU7d0JBRWpCLEtBQUs7Ozs7SUFUTixnQ0FHRTs7SUFFRixtREFBOEY7O0lBRTlGLDZDQUFpRTs7SUFFakUsdUNBQXVFOztJQUV2RSx5Q0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgV29ya3lsYWIuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3dvcmt5bGFiL21hdGVyaWFsaXplLWFuZ3VsYXIvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2NvcmRpb25Nb2RlbCB9IGZyb20gJy4vYWNjb3JkaW9uLm1vZGVsJztcbmltcG9ydCB7IENvbGxhcHNpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29sbGFwc2libGUvY29sbGFwc2libGUuY29tcG9uZW50JztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogYCR7IGNvbmZpZy5jb21wb25lbnRzLnByZWZpeCB9LWFjY29yZGlvbiB9YCxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWNjb3JkaW9uTW9kZWwsIEFmdGVyQ29udGVudEluaXQge1xuICBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdFByb3BzOiBBY2NvcmRpb25Nb2RlbCA9IHtcbiAgICBhY3RpdmVJbmRleDogbnVsbCxcbiAgICBjbGFzc05hbWU6ICcnXG4gIH07XG5cbiAgQENvbnRlbnRDaGlsZHJlbihDb2xsYXBzaWJsZUNvbXBvbmVudCkgY29sbGFwc2libGVzUXVlcnlMaXN0OiBRdWVyeUxpc3Q8Q29sbGFwc2libGVDb21wb25lbnQ+O1xuXG4gIEBPdXRwdXQoJ29uVG9nZ2xlJykgb25Ub2dnbGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8bnVtYmVyIHwgbnVsbD47XG5cbiAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmcgPSBBY2NvcmRpb25Db21wb25lbnQuZGVmYXVsdFByb3BzLmNsYXNzTmFtZTtcblxuICBwdWJsaWMgYWN0aXZlSW5kZXg6IG51bWJlciB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IEFjY29yZGlvbkNvbXBvbmVudC5kZWZhdWx0UHJvcHMuYWN0aXZlSW5kZXg7XG5cbiAgICB0aGlzLmluaXRDb2xsYXBzaWJsZXMgPSB0aGlzLmluaXRDb2xsYXBzaWJsZXMuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZ2lzdGVyQ29sbGFwc2libGVzID0gdGhpcy5yZWdpc3RlckNvbGxhcHNpYmxlcy5iaW5kKHRoaXMpO1xuXG4gICAgdGhpcy5vblRvZ2dsZUVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5pbml0Q29sbGFwc2libGVzKCk7XG5cbiAgICB0aGlzLmNvbGxhcHNpYmxlc1F1ZXJ5TGlzdC5jaGFuZ2VzLnN1YnNjcmliZSh0aGlzLmluaXRDb2xsYXBzaWJsZXMpO1xuICB9XG5cbiAgaW5pdENvbGxhcHNpYmxlcygpIHtcbiAgICBzZXRUaW1lb3V0KHRoaXMucmVnaXN0ZXJDb2xsYXBzaWJsZXMsIDApO1xuICB9XG5cbiAgcmVnaXN0ZXJDb2xsYXBzaWJsZXMoKSB7XG4gICAgdGhpcy5jb2xsYXBzaWJsZXNRdWVyeUxpc3QuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGl0ZW0ub25PcGVuRW1pdHRlci5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnRvZ2dsZUNvbGxhcHNpYmxlcyhpbmRleCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZUNvbGxhcHNpYmxlcyhjdXJyZW50SW5kZXg6IG51bWJlciB8IG51bGwpIHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gY3VycmVudEluZGV4O1xuXG4gICAgdGhpcy5vblRvZ2dsZUVtaXR0ZXIuZW1pdCh0aGlzLmFjdGl2ZUluZGV4KTtcblxuICAgIHRoaXMuY29sbGFwc2libGVzUXVlcnlMaXN0LmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpZiAoaW5kZXggPT09IGN1cnJlbnRJbmRleCkge1xuICAgICAgICBpdGVtLm9wZW4oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW0uY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNob3dOZXh0KCkge1xuICAgIGNvbnN0IG5leHRJbmRleCA9IHRoaXMuYWN0aXZlSW5kZXggPT09IG51bGwgfHwgdGhpcy5hY3RpdmVJbmRleCA+PSB0aGlzLmNvbGxhcHNpYmxlc1F1ZXJ5TGlzdC5sZW5ndGhcbiAgICAgID8gbnVsbFxuICAgICAgOiB0aGlzLmFjdGl2ZUluZGV4ICsgMTtcblxuICAgIHRoaXMudG9nZ2xlQ29sbGFwc2libGVzKG5leHRJbmRleCk7XG4gIH1cblxuICBzaG93UHJldigpIHtcbiAgICBjb25zdCBwcmV2SW5kZXggPSB0aGlzLmFjdGl2ZUluZGV4ID09PSBudWxsIHx8IHRoaXMuYWN0aXZlSW5kZXggPT09IDBcbiAgICAgID8gbnVsbFxuICAgICAgOiB0aGlzLmFjdGl2ZUluZGV4IC0gMTtcblxuICAgIHRoaXMudG9nZ2xlQ29sbGFwc2libGVzKHByZXZJbmRleCk7XG4gIH1cbn1cbiJdfQ==