Here is a Bootstrap panel. If user clicks icon, hidden parts becomes unhidden, but what I need is to unhidden only that part that was clicked.
@Component({
template: `
<div class="panel panel-default">
<div class="panel-heading" *ngFor="let fizz of fizzes">
<div class="row">
<div class="col-md-2">
<i class="glyphicon {{ fizz.iconClass }}"></i>
</div>
<div class="col-md-8">
{{ fizz.heading }}
</div>
<div class="col-md-2">
<i class="glyphicon glyphicon-menu-down clickable" (click)="onClick()"></i>
</div>
</div>
</div>
<div class="panel-body" [hidden]="!clicked">
{{ fizz.content }}
</div>
</div>
`
})
export class FizzComponent {
fizzes: object[];
clicked = false;
onClick(event: any) {
this.clicked = !this.clicked;
}
}
I could achieve it by defining every action on its own, but how do I do it in a more generic way?
Tried to pass $event, like so:
<i class="glyphicon glyphicon-menu-down clickable" (click)="onClick($event)"></i>
And
onClick(event: any) {
event.target.clicked = !event.target.clicked;
}
But without any luck..