import { Component, Input, ViewChild, OnInit } from '@angular/core'; import { Audit, Requirement, ContentType } from '../models/audit'; import { MatAccordion } from '@angular/material'; @Component({ selector: 'cse-dars-audit', templateUrl: './audit.component.html', styleUrls: ['./audit.component.scss'], }) export class DarsAuditComponent implements OnInit { public metadata: any = {}; public auditId: number; @Input() audit: Audit; @ViewChild(MatAccordion) requirements: MatAccordion; public ngOnInit() { console.log(this.audit); } public openAllRequirements() { this.requirements.openAll(); } public closeAllRequirements() { this.requirements.closeAll(); } public getRequirementTitle(requirement: Requirement): string[] { const title = requirement.requirementLinesGroupedByContentType.find( r => r.contentType === 'okRequirementTitle' || r.contentType === 'noRequirementTitle', ); return title ? title.lines : ['No title found']; } public getRequirementBody(requirement: Requirement): ContentType[] { return requirement.requirementLinesGroupedByContentType.filter( r => r.contentType !== 'okRequirementTitle' && r.contentType !== 'noRequirementTitle', ); } }