Skip to content
Snippets Groups Projects
dars-view.component.ts 1.78 KiB
Newer Older
import { Component, ViewChild } from '@angular/core';
import { MatSidenav } from '@angular/material';
import { DarsApiService } from '../services/api.service';
import { Audit } from '../models/audit';

@Component({
  selector: 'cse-dars-view',
  templateUrl: './dars-view.component.html',
  styleUrls: ['./dars-view.component.scss'],
})
export class DARSViewComponent {
  displayedColumns = [
    'view',
    'school',
    'program',
    'honors',
    'plan',
    'status',
    'download',
  ];

  dataSource = [
    {
      pending: true,
      school: 'Letters & Science',
      program: 'Psychology',
      honors: 'keep',
      plan: 12345,
    },
    {
      pending: false,
      school: 'Letters & Science',
      program: 'Psychology',
      honors: 'keep',
      plan: 12345,
    },
    {
      pending: false,
      school: 'Letters & Science',
      program: 'Psychology',
      honors: 'keep',
      plan: 12345,
    },
    {
      pending: false,
      school: 'Letters & Science',
      program: 'Psychology',
      honors: 'keep',
      plan: 12345,
    },
  ];
  @ViewChild('auditSideNav') auditSideNav: MatSidenav;

  public isLoading: boolean;
  public auditId: number | null;
  public audit: Audit;

  constructor(private api: DarsApiService) {
    this.isLoading = false;
    this.auditId = null;
  }

  public openAudit(auditId: number) {
    // if user is loading a new audit
    if (auditId !== this.auditId) {
      this.isLoading = true;
      this.auditId = null;

      this.api
        .getAudit(auditId)
        .toPromise()
        .then(audit => {
          this.isLoading = false;
          this.auditId = auditId;
          this.audit = audit;

          console.log(audit);
        })
        .catch(e => {
          console.log(e);
        });
    }
    this.auditSideNav.open();
  }