Skip to content
Snippets Groups Projects
Commit 2270ef1f authored by Isaac Evavold's avatar Isaac Evavold
Browse files

ROENROLL-1462 adds header 3-dot menu on mobile

parent 37538478
No related branches found
No related tags found
No related merge requests found
<header> <header ngClass.sm="hide-navigation-bar" ngClass.xs="hide-navigation-bar">
<cse-header></cse-header> <cse-header></cse-header>
<cse-navigation></cse-navigation> <cse-navigation></cse-navigation>
</header> </header>
<main> <main>
<router-outlet></router-outlet> <router-outlet></router-outlet>
</main> </main>
\ No newline at end of file
...@@ -8,6 +8,14 @@ header { ...@@ -8,6 +8,14 @@ header {
left: 0; left: 0;
width: 100%; width: 100%;
height: 112px; height: 112px;
&.hide-navigation-bar {
height: 64px;
& + main {
top: 64px;
}
}
} }
main { main {
......
<myuw-app-bar <myuw-app-bar
theme-name="" theme-name=""
app-name="Course Search & Enroll" app-name="Course Search & Enroll"
app-url="https://my.wisc.edu"> app-url="https://my.wisc.edu">
<myuw-drawer slot="myuw-navigation" fxShow fxHide.gt-sm> <myuw-drawer slot="myuw-navigation" fxShow fxHide.gt-sm>
<myuw-drawer-link <myuw-drawer-link
slot="myuw-drawer-links" slot="myuw-drawer-links"
name="Course Search" name="Course Search"
icon="" icon=""
href="/search"> href="/search">
</myuw-drawer-link> </myuw-drawer-link>
<myuw-drawer-link <myuw-drawer-link
slot="myuw-drawer-links" slot="myuw-drawer-links"
name="Scheduler" name="Scheduler"
icon="" icon=""
href="/scheduler"> href="/scheduler">
</myuw-drawer-link> </myuw-drawer-link>
<myuw-drawer-link <myuw-drawer-link
slot="myuw-drawer-links" slot="myuw-drawer-links"
name="Enrollment" name="Enrollment"
icon="" icon=""
href="/enrollment"> href="/enrollment">
</myuw-drawer-link> </myuw-drawer-link>
<myuw-drawer-link <myuw-drawer-link
slot="myuw-drawer-links" slot="myuw-drawer-links"
name="Degree Planner" name="Degree Planner"
icon="" icon=""
href="/degree-planner"> href="/degree-planner">
</myuw-drawer-link> </myuw-drawer-link>
</myuw-drawer> </myuw-drawer>
<myuw-help <myuw-help
slot="myuw-help" slot="myuw-help"
myuw-help-title="Need more help?" myuw-help-title="Need more help?"
show-button show-button
show-default-content> show-default-content>
</myuw-help> </myuw-help>
<myuw-profile
slot="myuw-profile"
session-endpoint=""
login-url=""
logout-url="http://login.wisc.edu/logout"
background-color="#9B0000">
</myuw-profile>
</myuw-app-bar> <div
\ No newline at end of file slot="myuw-profile"
id="profile-and-menu-wrapper"
ngClass.sm="show-three-dot-menu"
ngClass.xs="show-three-dot-menu">
<myuw-profile
slot="myuw-profile"
session-endpoint=""
login-url=""
logout-url="http://login.wisc.edu/logout"
background-color="#9B0000">
</myuw-profile>
<button id="myuw-three-dot" mat-icon-button [matMenuTriggerFor]="mobileActionMenu">
<mat-icon>more_horiz</mat-icon>
</button>
</div>
</myuw-app-bar>
<mat-menu #mobileActionMenu="matMenu">
<button mat-menu-item (click)="printPlan()">Print degree plan</button>
<button mat-menu-item (click)="downloadPdf()">Download PDF</button>
<button mat-menu-item (click)="addPlan()">Add degree plan</button>
<button mat-menu-item (click)="addYear()">Add academic year</button>
</mat-menu>
#profile-and-menu-wrapper {
width: 54px;
height: 42px;
margin: 11px 0;
display: block;
position: relative;
&.show-three-dot-menu {
width: 54px * 2;
button#myuw-three-dot {
display: block;
}
}
}
myuw-profile {
width: 54px;
height: 42px;
display: block;
position: absolute;
top: 0;
left: 0;
}
button#myuw-three-dot {
width: 34px;
height: 34px;
margin: 4px 10px;
display: none;
position: absolute;
left: 54px;
top: 0;
line-height: 28px;
background: rgb(142, 26, 17);
}
import { Component, OnInit } from '@angular/core'; import { Component } from '@angular/core';
import { Store } from '@ngrx/store';
import { DegreePlannerState } from '@app/degree-planner/store/state';
import { MatDialog, MatSnackBar } from '@angular/material';
import { PromptDialogComponent } from '@app/shared/dialogs/prompt-dialog/prompt-dialog.component';
import { CreatePlan } from '@app/degree-planner/store/actions/plan.actions';
import { AddAcademicYearRequest } from '@app/degree-planner/store/actions/addAcademicYear.actions';
@Component({ @Component({
selector: 'cse-header', selector: 'cse-header',
templateUrl: './header.component.html', templateUrl: './header.component.html',
styleUrls: ['./header.component.scss'] styleUrls: ['./header.component.scss'],
}) })
export class HeaderComponent implements OnInit { export class HeaderComponent {
constructor(
private store: Store<DegreePlannerState>,
private dialog: MatDialog,
private snackBar: MatSnackBar,
) {}
constructor() { } public printPlan() {
window.print();
}
ngOnInit() { public downloadPdf() {
} // FIXME
this.snackBar.open('Not supported yet');
}
public addPlan() {
this.dialog
.open(PromptDialogComponent, {
data: {
title: 'Add degree plan',
confirmText: 'Save',
inputName: 'i.e. Psychology',
},
})
.afterClosed()
.subscribe((result: { confirmed: boolean; value: string }) => {
const { confirmed, value } = result;
if (confirmed) {
const action = new CreatePlan({ name: value, primary: false });
this.store.dispatch(action);
}
});
}
public addYear() {
this.store.dispatch(new AddAcademicYearRequest());
this.snackBar.open('New academic year has been created');
}
} }
<nav mat-tab-nav-bar fxHide fxShow.gt-sm> <nav mat-tab-nav-bar fxHide fxShow.gt-sm>
<a mat-tab-link href="/search" routerLinkActive="active">Search</a> <a mat-tab-link href="/search" routerLinkActive="active">Search</a>
<a mat-tab-link href="/my-courses" routerLinkActive="active">My courses</a> <a mat-tab-link href="/my-courses" routerLinkActive="active">My courses</a>
<a mat-tab-link href="/scheduler" routerLinkActive="active">Scheduler</a> <a mat-tab-link href="/scheduler" routerLinkActive="active">Scheduler</a>
<a mat-tab-link routerLink="/degree-planner" routerLinkActive="active" >Degree Planner</a> <a mat-tab-link routerLink="/degree-planner" routerLinkActive="active" >Degree Planner</a>
<a mat-tab-link href="/scheduler" routerLinkActive="active">Degree Audit (DARS)</a> <a mat-tab-link href="/scheduler" routerLinkActive="active">Degree Audit (DARS)</a>
</nav> </nav>
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
mode="indeterminate" mode="indeterminate"
*ngIf="(isLoadingPlan$ | async)" *ngIf="(isLoadingPlan$ | async)"
></mat-progress-bar> ></mat-progress-bar>
<mat-sidenav-container id="plans-container"> <mat-sidenav-container id="plans-container" ngClass.sm="hide-navigation-bar" ngClass.xs="hide-navigation-bar">
<!-- Menu side nav --> <!-- Menu side nav -->
<mat-sidenav <mat-sidenav
#rightMenu #rightMenu
......
#plans-container { #plans-container {
height: calc(100vh - 112px); height: calc(100vh - 112px);
&.hide-navigation-bar {
height: calc(100vh - 64px);
}
} }
mat-sidenav { mat-sidenav {
......
...@@ -57,7 +57,6 @@ export class SidenavMenuItemComponent implements OnDestroy { ...@@ -57,7 +57,6 @@ export class SidenavMenuItemComponent implements OnDestroy {
this.dialog this.dialog
.open(PromptDialogComponent, { .open(PromptDialogComponent, {
data: { data: {
initialValue: name,
title: 'Add degree plan', title: 'Add degree plan',
confirmText: 'Save', confirmText: 'Save',
inputName: 'i.e. Psychology', inputName: 'i.e. Psychology',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment