materialize-angular
Version:
Material UI Angular library
148 lines • 11.2 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';
var AccordionComponent = /** @class */ (function () {
function AccordionComponent() {
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 {?}
*/
AccordionComponent.prototype.ngAfterContentInit = /**
* @return {?}
*/
function () {
this.initCollapsibles();
this.collapsiblesQueryList.changes.subscribe(this.initCollapsibles);
};
/**
* @return {?}
*/
AccordionComponent.prototype.initCollapsibles = /**
* @return {?}
*/
function () {
setTimeout(this.registerCollapsibles, 0);
};
/**
* @return {?}
*/
AccordionComponent.prototype.registerCollapsibles = /**
* @return {?}
*/
function () {
var _this = this;
this.collapsiblesQueryList.forEach((/**
* @param {?} item
* @param {?} index
* @return {?}
*/
function (item, index) {
item.onOpenEmitter.subscribe((/**
* @return {?}
*/
function () {
_this.toggleCollapsibles(index);
}));
}));
};
/**
* @param {?} currentIndex
* @return {?}
*/
AccordionComponent.prototype.toggleCollapsibles = /**
* @param {?} currentIndex
* @return {?}
*/
function (currentIndex) {
this.activeIndex = currentIndex;
this.onToggleEmitter.emit(this.activeIndex);
this.collapsiblesQueryList.forEach((/**
* @param {?} item
* @param {?} index
* @return {?}
*/
function (item, index) {
if (index === currentIndex) {
item.open();
}
else {
item.close();
}
}));
};
/**
* @return {?}
*/
AccordionComponent.prototype.showNext = /**
* @return {?}
*/
function () {
/** @type {?} */
var nextIndex = this.activeIndex === null || this.activeIndex >= this.collapsiblesQueryList.length
? null
: this.activeIndex + 1;
this.toggleCollapsibles(nextIndex);
};
/**
* @return {?}
*/
AccordionComponent.prototype.showPrev = /**
* @return {?}
*/
function () {
/** @type {?} */
var 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 = function () { return []; };
AccordionComponent.propDecorators = {
collapsiblesQueryList: [{ type: ContentChildren, args: [CollapsibleComponent,] }],
onToggleEmitter: [{ type: Output, args: ['onToggle',] }],
className: [{ type: Input }]
};
return AccordionComponent;
}());
export { AccordionComponent };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL21hdGVyaWFsaXplLWFuZ3VsYXIvIiwic291cmNlcyI6WyJhcHAvY29tcGxldGVkLWNvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdEM7SUFrQkU7UUFKUyxjQUFTLEdBQVcsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztRQUtyRSxJQUFJLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7UUFFL0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7Ozs7SUFFRCwrQ0FBa0I7OztJQUFsQjtRQUNFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Ozs7SUFFRCw2Q0FBZ0I7OztJQUFoQjtRQUNFLFVBQVUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7OztJQUVELGlEQUFvQjs7O0lBQXBCO1FBQUEsaUJBTUM7UUFMQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTzs7Ozs7UUFBQyxVQUFDLElBQUksRUFBRSxLQUFLO1lBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUzs7O1lBQUM7Z0JBQzNCLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLEVBQUMsQ0FBQztRQUNMLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFRCwrQ0FBa0I7Ozs7SUFBbEIsVUFBbUIsWUFBMkI7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7UUFFaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPOzs7OztRQUFDLFVBQUMsSUFBSSxFQUFFLEtBQUs7WUFDN0MsSUFBSSxLQUFLLEtBQUssWUFBWSxFQUFFO2dCQUMxQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDZDtRQUNILENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELHFDQUFROzs7SUFBUjs7WUFDUSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTTtZQUNsRyxDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUM7UUFFeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Ozs7SUFFRCxxQ0FBUTs7O0lBQVI7O1lBQ1EsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQztZQUNuRSxDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUM7UUFFeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFwRWUsK0JBQVksR0FBbUI7UUFDN0MsV0FBVyxFQUFFLElBQUk7UUFDakIsU0FBUyxFQUFFLEVBQUU7S0FDZCxDQUFDOztnQkFSSCxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFNLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxpQkFBZTtvQkFDckQsbUhBQXlDO2lCQUMxQzs7Ozs7d0NBT0UsZUFBZSxTQUFDLG9CQUFvQjtrQ0FFcEMsTUFBTSxTQUFDLFVBQVU7NEJBRWpCLEtBQUs7O0lBNERSLHlCQUFDO0NBQUEsQUExRUQsSUEwRUM7U0F0RVksa0JBQWtCOzs7SUFDN0IsZ0NBR0U7O0lBRUYsbURBQThGOztJQUU5Riw2Q0FBaUU7O0lBRWpFLHVDQUF1RTs7SUFFdkUseUNBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IFdvcmt5bGFiLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS93b3JreWxhYi9tYXRlcmlhbGl6ZS1hbmd1bGFyL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjb3JkaW9uTW9kZWwgfSBmcm9tICcuL2FjY29yZGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBDb2xsYXBzaWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbGxhcHNpYmxlL2NvbGxhcHNpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IGAkeyBjb25maWcuY29tcG9uZW50cy5wcmVmaXggfS1hY2NvcmRpb24gfWAsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFjY29yZGlvbk1vZGVsLCBBZnRlckNvbnRlbnRJbml0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRQcm9wczogQWNjb3JkaW9uTW9kZWwgPSB7XG4gICAgYWN0aXZlSW5kZXg6IG51bGwsXG4gICAgY2xhc3NOYW1lOiAnJ1xuICB9O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQ29sbGFwc2libGVDb21wb25lbnQpIGNvbGxhcHNpYmxlc1F1ZXJ5TGlzdDogUXVlcnlMaXN0PENvbGxhcHNpYmxlQ29tcG9uZW50PjtcblxuICBAT3V0cHV0KCdvblRvZ2dsZScpIG9uVG9nZ2xlRW1pdHRlcjogRXZlbnRFbWl0dGVyPG51bWJlciB8IG51bGw+O1xuXG4gIEBJbnB1dCgpIGNsYXNzTmFtZTogc3RyaW5nID0gQWNjb3JkaW9uQ29tcG9uZW50LmRlZmF1bHRQcm9wcy5jbGFzc05hbWU7XG5cbiAgcHVibGljIGFjdGl2ZUluZGV4OiBudW1iZXIgfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYWN0aXZlSW5kZXggPSBBY2NvcmRpb25Db21wb25lbnQuZGVmYXVsdFByb3BzLmFjdGl2ZUluZGV4O1xuXG4gICAgdGhpcy5pbml0Q29sbGFwc2libGVzID0gdGhpcy5pbml0Q29sbGFwc2libGVzLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZWdpc3RlckNvbGxhcHNpYmxlcyA9IHRoaXMucmVnaXN0ZXJDb2xsYXBzaWJsZXMuYmluZCh0aGlzKTtcblxuICAgIHRoaXMub25Ub2dnbGVFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuaW5pdENvbGxhcHNpYmxlcygpO1xuXG4gICAgdGhpcy5jb2xsYXBzaWJsZXNRdWVyeUxpc3QuY2hhbmdlcy5zdWJzY3JpYmUodGhpcy5pbml0Q29sbGFwc2libGVzKTtcbiAgfVxuXG4gIGluaXRDb2xsYXBzaWJsZXMoKSB7XG4gICAgc2V0VGltZW91dCh0aGlzLnJlZ2lzdGVyQ29sbGFwc2libGVzLCAwKTtcbiAgfVxuXG4gIHJlZ2lzdGVyQ29sbGFwc2libGVzKCkge1xuICAgIHRoaXMuY29sbGFwc2libGVzUXVlcnlMaXN0LmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpdGVtLm9uT3BlbkVtaXR0ZXIuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy50b2dnbGVDb2xsYXBzaWJsZXMoaW5kZXgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVDb2xsYXBzaWJsZXMoY3VycmVudEluZGV4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IGN1cnJlbnRJbmRleDtcblxuICAgIHRoaXMub25Ub2dnbGVFbWl0dGVyLmVtaXQodGhpcy5hY3RpdmVJbmRleCk7XG5cbiAgICB0aGlzLmNvbGxhcHNpYmxlc1F1ZXJ5TGlzdC5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKGluZGV4ID09PSBjdXJyZW50SW5kZXgpIHtcbiAgICAgICAgaXRlbS5vcGVuKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpdGVtLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzaG93TmV4dCgpIHtcbiAgICBjb25zdCBuZXh0SW5kZXggPSB0aGlzLmFjdGl2ZUluZGV4ID09PSBudWxsIHx8IHRoaXMuYWN0aXZlSW5kZXggPj0gdGhpcy5jb2xsYXBzaWJsZXNRdWVyeUxpc3QubGVuZ3RoXG4gICAgICA/IG51bGxcbiAgICAgIDogdGhpcy5hY3RpdmVJbmRleCArIDE7XG5cbiAgICB0aGlzLnRvZ2dsZUNvbGxhcHNpYmxlcyhuZXh0SW5kZXgpO1xuICB9XG5cbiAgc2hvd1ByZXYoKSB7XG4gICAgY29uc3QgcHJldkluZGV4ID0gdGhpcy5hY3RpdmVJbmRleCA9PT0gbnVsbCB8fCB0aGlzLmFjdGl2ZUluZGV4ID09PSAwXG4gICAgICA/IG51bGxcbiAgICAgIDogdGhpcy5hY3RpdmVJbmRleCAtIDE7XG5cbiAgICB0aGlzLnRvZ2dsZUNvbGxhcHNpYmxlcyhwcmV2SW5kZXgpO1xuICB9XG59XG4iXX0=