angular4-collapsible
Version:
Angular 2 / 4 Materialize CSS collapsible components
35 lines (27 loc) • 1.01 kB
text/typescript
import {
Component,
AfterContentInit,
Input,
ContentChildren, QueryList
} from '@angular/core';
import { CollapsibleBodyComponent } from './collapsible-body.component';
import { CollapsibleService } from './collapsible.service';
import { CollapsibleEventService } from './collapsible-event.service';
({
selector: 'collapsible-list-item',
template: `
<ng-content select="collapsible-header"></ng-content>
<ng-content select="collapsible-body"></ng-content>
`,
providers: [CollapsibleEventService]
})
export class CollapsibleListItemComponent implements AfterContentInit {
(CollapsibleBodyComponent) contentListBodies: QueryList<CollapsibleBodyComponent>;
constructor(private collapsibleService: CollapsibleService) { }
ngAfterContentInit() {
// store list bodies in 'CollapsibleService'
this.contentListBodies.forEach((item) => {
this.collapsibleService.addListBody(item);
});
}
}