import { Component, Input, ViewChild } from '@angular/core'; import { Audit, Requirement, ContentType } from '../models/audit'; import { DarsApiService } from '../services/api.service'; import { Store } from '@ngrx/store'; import { GlobalState } from '@app/core/state'; import * as selectors from '../store/selectors'; import { Observable } from 'rxjs'; import { MatAccordion } from '@angular/material'; @Component({ selector: 'cse-dars-audit', templateUrl: './audit.component.html', styleUrls: ['./audit.component.scss'], }) export class DarsAuditComponent { public metadata: any = {}; public auditId: number; @Input() audit: Audit; @ViewChild('requirements') requirements: MatAccordion; 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', ); } }