Skip to content
Snippets Groups Projects
audit.component.ts 1.39 KiB
Newer Older
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 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',
    );
  }