Newer
Older
<mat-card id="audit" *ngIf="audit">
<header id="audit-header" class="no-horizontal-padding">
<div class="audit-metadata">
<div>
<p>{{audit.header.preparedLabel}}: {{audit.header.preparedDate}}</p>
<p>{{audit.header.studentName}}</p>
<p>{{audit.header.darsDegreeProgramCodeLabel}}: {{audit.header.darsDegreeProgramCode}}</p>
</div>
<div class="text-align-right">
<p>0123456789</p>
<p>{{audit.header.darsCatalogYearTermLabel}}: {{audit.header.darsCatalogYearTerm}}</p>
<p *ngIf="audit.header.darsAlternateCatalogYearTerm1">
{{audit.header.darsAlternateCatalogYearTerm1Label}}: {{audit.header.darsAlternateCatalogYearTerm1}}
</p>
</div>
</div>
<h3 class="text-align-center">
{{audit.header.clientDefinedMessage}}
<br />
{{audit.header.degreeProgramTitle1}}
{{audit.header.degreeProgramTitle2}}
</h3>
<div class="audit-section-controles">

Scott Berg
committed
<button mat-stroked-button color="primary" (click)="openAllRequirements()">Open All Sections</button>
<button mat-stroked-button color="primary" (click)="closeAllRequirements()">Close All Sections</button>
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<section class="audit-section" class="audit-top-section">
<div *ngIf="audit.topSection.academicPlansSection && audit.topSection.academicPlansSection.planList.length > 0">
<h4>Academic Plans:</h4>
<ng-contrainer *ngFor="let plan of audit.topSection.academicPlansSection.planList">
<p class="audit-academic-plan">{{plan.planTypeLabel}}: {{plan.declareDate}} {{plan.planCodeNumber}} {{plan.planCodeDescription}}</p>
</ng-contrainer>
</div>
<div *ngIf="audit.topSection.advisorSection && audit.topSection.advisorSection.advisorNames">
<h4>{{audit.topSection.advisorSection.advisorLabel}}:</h4>
<ng-container *ngFor="let name of audit.topSection.advisorSection.advisorNames">
<p class="audit-advisor-name">{{name}}</p>
</ng-container>
</div>
<div *ngIf="audit.topSection.degreesSection && audit.topSection.degreesSection.degrees.length > 0">
<h4>{{audit.topSection.degreesSection.label}}:</h4>
<div *ngFor="let degree of audit.topSection.degreesSection.degrees" class="audit-degree">
<p class="audit-degree-awarded">Awarded: {{degree.awardedDate}}</p>
<p class="audit-degree-major">Major: {{degree.major}} {{degree.degreeCode}}</p>
</div>
</div>
</section>
<section class="audit-section audit-credit-tables">
<!-- TODO Figure out how to get this to look like a matTable -->
<table mat-table [dataSource]="formatHighSchoolUnitData(audit.topSection.highSchoolUnitsSection.units)">
<caption>HS Units</caption>
<tr mat-header-row *matHeaderRowDef="highSchoolUnitsSection"></tr>
<tr mat-row *matRowDef="let row; columns: highSchoolUnitsSection;"></tr>
<ng-container matColumnDef="LANG">
<th mat-header-cell *matHeaderCellDef>Lang</th>
<td mat-cell *matCellDef="let courses">{{courses.LANG}}</td>
</ng-container>
<ng-container matColumnDef="MATH">
<th mat-header-cell *matHeaderCellDef>Math</th>
<td mat-cell *matCellDef="let courses">{{courses.MATH}}</td>
</ng-container>
<ng-container matColumnDef="SCIENCE">
<th mat-header-cell *matHeaderCellDef>Science</th>
<td mat-cell *matCellDef="let courses">{{courses.SCIENCE}}</td>
</ng-container>
<ng-container matColumnDef="SOC STUD">
<th mat-header-cell *matHeaderCellDef>Soc Stud</th>
<td mat-cell *matCellDef="let courses">{{courses['SOC STUD']}}</td>
</ng-container>
</table>
<table mat-table [dataSource]="audit.topSection.advancedStandingCreditsSection.advanceStandingCredits">
<caption>{{audit.topSection.advancedStandingCreditsSection.sectionLabel}}</caption>
<tr mat-header-row *matHeaderRowDef="advancedStandingCredits"></tr>
<tr mat-row *matRowDef="let row; columns: advancedStandingCredits;"></tr>
<tr mat-footer-row *matFooterRowDef="advancedStandingCredits"></tr>
<ng-container matColumnDef="dateValue">
<th mat-header-cell *matHeaderCellDef>Date</th>
<td mat-cell *matCellDef="let course">{{course.dateValue}}</td>
<td mat-footer-cell *matFooterCellDef class="bold">Total</td>
</ng-container>
<ng-container matColumnDef="typeValue">
<th mat-header-cell *matHeaderCellDef>Type</th>
<td mat-cell *matCellDef="let course">{{course.typeValue}}</td>
<td mat-footer-cell *matFooterCellDef></td>
</ng-container>
<ng-container matColumnDef="degreeCreditsValue">
<th mat-header-cell *matHeaderCellDef class="text-align-right">Deg</th>
<td mat-cell *matCellDef="let course" class="text-align-right">{{course.degreeCreditsValue}}</td>
<td mat-footer-cell *matFooterCellDef class="bold text-align-right">{{audit.topSection.advancedStandingCreditsSection.totals.degreeCreditsValue}}</td>
</ng-container>
<ng-container matColumnDef="courseCreditsValue">
<th mat-header-cell *matHeaderCellDef class="text-align-right">Crse</th>
<td mat-cell *matCellDef="let course" class="text-align-right">{{course.courseCreditsValue}}</td>
<td mat-footer-cell *matFooterCellDef class="bold text-align-right">{{audit.topSection.advancedStandingCreditsSection.totals.courseCreditsValue}}</td>
</ng-container>
</table>

Scott Berg
committed
<section class="audit-section">
<mat-accordion multi="true" hideToggle="true" #requirements>

Scott Berg
committed
<!-- START OF REQUIREMENT -->
<ng-container *ngFor="let requirement of audit.requirements; trackBy: trackReq">

Scott Berg
committed
<!-- START OF REQUIREMENT TEXT -->
<ng-container *ngIf="requirement.status.status === 'NONE'; else requirementTemplate">
<div *ngFor="let contentType of requirement.requirementContents" class="content-type-{{contentType.contentType}}" matTooltip="{{contentType.contentType}}">
<p *ngFor="let line of contentType.lines">{{line}}</p>
</div>

Scott Berg
committed
</ng-container>
<!-- END OF REQUIREMENT TEXT -->

Scott Berg
committed
<!-- START OF ACCORDION REQUIREMENT -->
<ng-template #requirementTemplate>
<mat-expansion-panel #requirementPanel [expanded]="true">

Scott Berg
committed
<mat-expansion-panel-header collapsedHeight="auto" expandedHeight="auto">
<mat-panel-title class="requirement-title status-{{requirement.status.status === 'OK' ? 'ok' : 'no'}}">
<div class="requirement-icon-outer">
<mat-icon class="requirement-toggle">{{requirementPanel.expanded ? 'arrow_drop_down' : 'arrow_right'}}</mat-icon>

Scott Berg
committed
<mat-icon *ngIf="requirement.status.status === 'OK'" class="requirement-icon ok-icon">check_circle</mat-icon>
<mat-icon *ngIf="requirement.status.status === 'NO'" class="requirement-icon no-icon">cancel</mat-icon>
</div>
<div>
<p>
<ng-container *ngFor="let line of getRequirementTitle(requirement)">
{{line}}
</ng-container>
</p>

Scott Berg
committed
</div>
</mat-panel-title>
</mat-expansion-panel-header>
<div *ngFor="let reqBody of getRequirementBody(requirement); trackBy: trackByIndex">

Scott Berg
committed
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
<div class="content-type content-type-{{reqBody.contentType}}" matTooltip="{{reqBody.contentType}}" matTooltipPosition="left">
<ng-container [ngSwitch]="reqBody.template">
<ng-container *ngSwitchCase="'courses'">
<table style="width: 100%" mat-table [dataSource]="asCourseBody(reqBody).subRequirementCourses">
<caption>Applicable academic work</caption>
<tr mat-header-row *matHeaderRowDef="courseTerms"></tr>
<tr mat-row *matRowDef="let row; columns: courseTerms;"></tr>
<ng-container matColumnDef="term">
<th mat-header-cell *matHeaderCellDef>Term</th>
<td mat-cell *matCellDef="let course">{{course.term}}</td>
</ng-container>
<ng-container matColumnDef="course">
<th mat-header-cell *matHeaderCellDef>Course</th>
<td mat-cell *matCellDef="let course">{{course.course}}</td>
</ng-container>
<ng-container matColumnDef="credits">
<th mat-header-cell *matHeaderCellDef>Credits</th>
<td mat-cell *matCellDef="let course">{{course.credits}}</td>
</ng-container>
<ng-container matColumnDef="grade">
<th mat-header-cell *matHeaderCellDef>Grade</th>
<td mat-cell *matCellDef="let course">{{course.grade}}</td>
</ng-container>
<ng-container matColumnDef="title">
<th mat-header-cell *matHeaderCellDef>Course Title</th>
<td mat-cell *matCellDef="let course">{{course.courseTitle}}</td>
</ng-container>
<ng-container matColumnDef="note">
<th mat-header-cell *matHeaderCellDef>Course Note</th>
<td mat-cell *matCellDef="let course">{{course.courseNote}}</td>
</ng-container>
</table>
</ng-container>
<ng-container *ngSwitchCase="'lines'">
<p
*ngFor="let line of asLineBody(reqBody).lines; trackBy: trackByIndex"
[innerHTML]="line | auditLine:reqBody.contentType"></p>
</ng-container>
</ng-container>

Scott Berg
committed
</div>
</div>
</mat-expansion-panel>
</ng-template>
<!-- END OF ACCORDION REQUIREMENT -->
</ng-container>
<!-- END OF REQUIREMENT -->
</mat-accordion>
</section>
</mat-card>