launcher.component.html 3.53 KB
Newer Older
1
2


Chris Hines's avatar
Chris Hines committed
3
4
<div  fxFlex style="flex: 1 1 0%; box-sizing: border-box">
<div fxLayout="column" fxLayoutAlign="space-around stretch" style="height: 100%; width: 100%" >
Chris Hines's avatar
Chris Hines committed
5
6
7
<mat-toolbar color="primary">
  <mat-toolbar-row>
    <button mat-icon-button (click)=idSideNav.toggle()><mat-icon>menu</mat-icon></button>
Chris Hines's avatar
Chris Hines committed
8

Chris Hines's avatar
Chris Hines committed
9
10
11
12
    <span>Strudel v2.0</span>
    <span class="fill-horizontal-space"></span>
    </mat-toolbar-row>
  </mat-toolbar>
13
<mat-sidenav-container style="height: 100%; width: 100%">
Chris Hines's avatar
Chris Hines committed
14
  <mat-sidenav #idSideNav mode="side" opened>
15
16
    <div fxLayout="column" style="height: 100%">
        <div>
17
            <mat-accordion style="width: 100%">
Chris Hines's avatar
Chris Hines committed
18
            <div *ngFor="let id of (computeSitesService.appidentities | async)">
19
                <mat-expansion-panel (opened)="selectId(id)" style="width: 100%">
20
                    <mat-expansion-panel-header>
Chris Hines's avatar
Chris Hines committed
21
                    <mat-panel-title>
22
23
24
25
26
27
28
29
                        <span fxFlex matBadge="{{ (id.healthalerts | async).length }}" 
                                                  [matBadgeHidden]= "(id.healthalerts | async).length == 0"  
                                                  matBadgePosition="above before" 
                                                  matBadgeColor="warn" 
                                                  matBadgeOverlap="false" matBadgeSize="small"
                                                  style="text-align: left; margin-left: 20px; margin-top: 10px" >
                            {{ id.displayName() }}
                        </span>
Chris Hines's avatar
Chris Hines committed
30
                        </mat-panel-title>
31
                    </mat-expansion-panel-header>
32
                    <app-strudelapplist [applist]=id.site.appCatalog [identity]="id" (appChange)="selectApp($event)" style="width: 100%"></app-strudelapplist>
33
                </mat-expansion-panel>
Chris Hines's avatar
Chris Hines committed
34
            </div>
35
            </mat-accordion>
36
        </div>
37
        <div fxFlex></div>
Chris Hines's avatar
Chris Hines committed
38
39
40
41
42
        <mat-menu #actionmenu="matMenu">
            <div *ngFor="let az of (authService.loggedInAuthZ | async)">
                <button mat-menu-item routerLink="/logout"><mat-icon>logout</mat-icon>Log out of {{ az.name }}</button>
            </div>
            <button mat-menu-item routerLink="/settings"><mat-icon>settings</mat-icon>Settings</button>
43
            <button *ngIf="(authService.loggedOutAuthZ | async).length > 0" mat-menu-item routerLink="/login"><mat-icon>exit_to_app</mat-icon>Login</button>
Chris Hines's avatar
Chris Hines committed
44
45
46
47
        </mat-menu>
        <button  mat-icon-button [matMenuTriggerFor]="actionmenu">
            <mat-icon>person</mat-icon>
        </button>
48
    </div>
49
  </mat-sidenav>
Chris Hines's avatar
Chris Hines committed
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
  <mat-sidenav-content>
    <div fxLayout="column" style="height: 100%">
        
    <!-- the list of warning either on the computer system or the users account -->
    <div *ngIf="(identitySubject | async) !== null" >
      <mat-list>
      <div *ngFor="let h of ((identitySubject | async).healthalerts | async)">
         <mat-list-item>
         <div *ngIf="h.stat == 'error'">
           <div class='health-warn'>
            {{ h.msg }}
           </div>
         </div>
         </mat-list-item>
      </div>
      </mat-list>
    </div>

68
69
70
71
72
73
74
    <!-- The dialog asking how many resources to use to run a job -->
    <div  *ngIf="app !== null && identity  !== null" >
      <app-launch-dialog [identity]="identitySubject | async" [appSubject]="appSubject"></app-launch-dialog>
    </div>



Chris Hines's avatar
Chris Hines committed
75
76
    <!-- the list of running jobs -->
    <app-joblist [identitySubject]="identitySubject" [appSubject]="appSubject"></app-joblist>
Chris Hines's avatar
Chris Hines committed
77

Chris Hines's avatar
Chris Hines committed
78
79
  </div>
  </mat-sidenav-content>
Chris Hines's avatar
Chris Hines committed
80

Chris Hines's avatar
Chris Hines committed
81
82
83
</mat-sidenav-container>

<!-- <app-joblist></app-joblist> -->