Newer
Older
class="course-item {{ disabled ? 'disabled' : '' }} {{ status }}"
tabindex="0"
(click)="openCourseDetailsDialog()"
(keyup)="detectEnter($event)">
<div fxLayout="row" fxLayoutAlign="space-between start">
<div
fxLayout="column"
fxLayoutAlign="space-between start"
fxFlex="80"
<div fxLayout="row" fxLayoutAlign="start center">
<div class="icon-number-wrapper">
<p cdkFocusRegionStart class="course-number">
{{ course | courseDescription }}
alt="Course is in progress"
aria-label="Course is in progress"
matTooltip="Course is in progress"
<i
*ngSwitchCase="'Waitlisted'"
class="material-icons problem-icon"
alt="Course is waitlisted"
aria-label="Course is waitlisted"
<i
*ngSwitchCase="'NotOfferedInTerm'"
class="material-icons error-icon"
alt="Course is not offered in term"
aria-label="Course is not offered in term"
matTooltip="Course is not offered in term"
matTooltipPosition="above">
*ngSwitchCase="'DoesNotExist'"
class="material-icons not-offered-icon"
alt="Course is no longer offered"
aria-label="Course is no longer offered"
matTooltip="Course is no longer offered"
matTooltipPosition="above">
</i>
</div>
<div fxLayout="row" fxLayoutAlign="start center">
<p class="course-title">
<div fxLayout="column" fxLayoutAlign="space-between end" fxFlex="20">
<div *ngIf="!disabled" fxLayout="row" fxLayoutAlign="end center">
mat-icon-button
aria-label="Open course menu"
pnogal
committed
<mat-icon aria-label="Course menu" alt="Course menu" matTooltip="Course menu" matTooltipPosition="above">
<mat-menu #courseMenu="matMenu" class="course-item-menu" isFocusable="true" isTabbable="true">
<ng-template matMenuContent>
<button mat-menu-item (click)="openCourseDetailsDialog()" aria-describedby="course-details-content" attr.aria-label="Open dialog to see {{ course | courseDescription }} course details">
<button mat-menu-item [matMenuTriggerFor]="academicYearsGroup" attr.aria-label="Select to move {{ course | courseDescription }} to a different term">
</button>
<mat-menu #academicYearsGroup="matMenu" class="course-item-submenu">
<ng-template matMenuContent>
<button mat-menu-item *ngFor="let term of (droppableTermCodes$ | async)"
attr.aria-labelledby="Move {{ course | courseDescription }} course to {{ term | getTermDescription }} term"
(click)="onMove(term)">
{{ term | getTermDescription }}
</button>
</ng-template>
</mat-menu>
<button
mat-menu-item
attr.aria-label="Move {{ course | courseDescription }} course to Saved for later"
*ngIf="type !== 'saved'"
(click)="onSaveForLater()">
Save for later
</button>
attr.aria-label="Remove {{ course | courseDescription }} course from my plan"
*ngIf="type !== 'search'"
(click)="onRemove()">
Remove
<div *ngIf="disabled" fxLayout="row" fxLayoutAlign="end center">
<p *ngIf="!(showGrades$ | async)">{{ ' ' }}</p>
<p *ngIf="showGrades$ | async" attr.aria-label="grade {{ course.grade }}">{{ course.grade || ' ' }}</p>
<p *ngIf="type !== 'saved'"
<ng-container *ngIf="course.credits !== undefined || course.creditRange !== undefined">
<span attr.aria-label="{{ course.credits ? course.credits : course.creditRange }} credits">{{ course.credits ? course.credits : course.creditRange }} Cr</span>