Newer
Older
<mat-sidenav-container hasBackdrop="false">
<mat-sidenav
#addMenu
position="end"
mode="over"
[opened]="isCourseSearchOpen$ | async"
>
<mat-toolbar color="primary" class="dialog-toolbar">
<span class="dialog-toolbar-title">Course Search</span>
<button mat-button class="close-btn" (click)="closeCourseSearch()">
<i class="material-icons">keyboard_arrow_right</i>
</button>
<cse-course-search></cse-course-search>
<mat-progress-bar
id="loading-plan-progress"
mode="indeterminate"
*ngIf="(isLoadingPlan$ | async)"
></mat-progress-bar>
<mat-sidenav-container id="plans-container">
<!-- Menu side nav -->
<mat-sidenav
#rightMenu
position="end"
[mode]="mobileView.matches ? 'over' : 'side'"
[opened]="mobileView.matches ? false : true"
>
<cse-sidenav-menu-item></cse-sidenav-menu-item>
</mat-sidenav>
<mat-sidenav-content
id="degree-plan-wrapper"
[ngClass]="{ isLoadingPlan: isLoadingPlan$ | async }"
*ngIf="(degreePlan$ | async) as degreePlan"
>
<div
fxLayout="row"
fxLayout.lt-sm="column"
fxLayoutGap="20px"
fxLayoutAlign="start center"
style="margin: 24px 0px 24px 24px;"
>
[disabled]="isLoadingPlan$ | async"
placeholder="Degree Plans"
class="degree-plan-selector"
[value]="degreePlan.roadmapId"
[disableOptionCentering]="true"
(selectionChange)="handleDegreePlanChange($event)"
>
<!-- Render the name of the currently visible degree plan. -->
<mat-select-trigger>
<mat-icon class="primary-star" *ngIf="degreePlan.primary"
>star_rate</mat-icon
>
<span class="plan-name">{{ degreePlan.name }}</span>
</mat-select-trigger>
<!-- Show all degree plans in the dropdown list and ddd a star next to the user's primary plan. -->
<mat-option
*ngFor="let degreePlan of (allDegreePlans$ | async)"
[value]="degreePlan.roadmapId"
>
<mat-icon class="primary-star" *ngIf="degreePlan.primary"
>star_rate</mat-icon
>
<span class="plan-name">{{ degreePlan.name }}</span>
<button
mat-icon-button
[matMenuTriggerFor]="degreePlanMenu"
[disabled]="isLoadingPlan$ | async"
>
<mat-icon matTooltip="Plan settings" matTooltipPosition="right"
>settings</mat-icon
>
<button mat-menu-item (click)="onRenamePlanClick(degreePlan)">
Rename plan
</button>
<button
mat-menu-item
(click)="onMakePrimayClick(degreePlan)"
[disabled]="degreePlan.primary"
>
Make primary
</button>
<button mat-menu-item (click)="onPrintPlanClick()">
Print plan
</button>
<button mat-menu-item>
Download PDF
</button>
<button
mat-menu-item
(click)="onDeletePlanClick(degreePlan)"
[disabled]="degreePlan.primary"
>
Delete plan
</button>
<hr />
<button mat-menu-item (click)="onCreatePlanClick()">
Add degree plan
</button>
<button id="menu-toggle-btn" mat-button (click)="rightMenu.toggle()">
<i *ngIf="rightMenu.opened" class="material-icons">chevron_right</i>
<i *ngIf="!rightMenu.opened" class="material-icons">chevron_left</i>
</button>
<div
id="year-wrapper"
fxLayout="column"
fxLayoutGap="20px"
fxLayoutAlign="start stretch"
style="margin: 24px"
>
<div id="year-mask" *ngIf="(isLoadingPlan$ | async)"></div>
<mat-accordion multi="true">
<ng-container *ngFor="let yearCode of (yearCodes$ | async)">
<cse-year-container [yearCode]="yearCode"></cse-year-container>
</ng-container>
</mat-accordion>
</div>