materialize-angular
Version:
Material UI Angular library
126 lines • 10.4 kB
JavaScript
/**
* @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==