Skip to content
Snippets Groups Projects
new-audit-options.component.ts 1.62 KiB
Newer Older
Paulina Nogal's avatar
Paulina Nogal committed
import { Component, OnInit } from '@angular/core';
Paulina Nogal's avatar
Paulina Nogal committed
import { MatDialogRef, MatSnackBar } from '@angular/material';
Paulina Nogal's avatar
Paulina Nogal committed
import {
  FormBuilder,
  FormGroup,
  FormControl,
  Validators,
  FormArray,
  AbstractControl,
} from '@angular/forms';

@Component({
  selector: 'cse-new-audit-options',
  templateUrl: './new-audit-options.component.html',
  styleUrls: ['./new-audit-options.component.scss'],
})
export class NewAuditOptionsComponent implements OnInit {
  public newAuditForm: FormGroup;

  get formArray(): AbstractControl | null {
    return this.newAuditForm.get('formArray');
  }

Paulina Nogal's avatar
Paulina Nogal committed
  constructor(
    private fb: FormBuilder,
    private dialogRef: MatDialogRef<NewAuditOptionsComponent>,
    private snackBar: MatSnackBar,
  ) {}
Paulina Nogal's avatar
Paulina Nogal committed

  ngOnInit() {
    this.newAuditForm = this.fb.group({
      formArray: this.fb.array([
        this.fb.group({
          auditType: new FormControl(''),
        }),
        this.fb.group({
          programOfStudy: new FormControl(''),
Paulina Nogal's avatar
Paulina Nogal committed
          academicProgram: new FormControl(''),
Paulina Nogal's avatar
Paulina Nogal committed
        }),
        this.fb.group({
          honors: new FormControl(''),
Paulina Nogal's avatar
Paulina Nogal committed
          includeCoursesFrom: new FormControl(''),
Paulina Nogal's avatar
Paulina Nogal committed
          runAgainst: new FormControl(''),
        }),
        this.fb.group({
          credits: new FormControl(''),
        }),
      ]),
    });
  }
Paulina Nogal's avatar
Paulina Nogal committed

  public runDARSAudit() {
    const {
      auditType,
      programOfStudy,
      academicProgram,
      honors,
      includeCoursesFrom,
      runAgainst,
      credits,
    } = this.newAuditForm.value;

    this.dialogRef.close();
    this.snackBar.open(
      'Audit in progress. You will be notified when the audit is ready to be viewed.',
    );
  }
Paulina Nogal's avatar
Paulina Nogal committed
}