2017-05-10 11:04:06 +02:00
|
|
|
<div class="container">
|
|
|
|
<nav class="navbar navbar-inverse navbar-fixed-top">
|
|
|
|
<div class="container-fluid">
|
|
|
|
|
|
|
|
<div class="navbar-header">
|
|
|
|
<a class="navbar-brand" href="#" style="padding-top: 2px">
|
|
|
|
<img height="40px" src="assets/opt-logo-klein.png">
|
|
|
|
</a>
|
2017-10-14 18:43:00 +02:00
|
|
|
<span class="version-label">{{version}}</span>
|
2017-05-10 11:04:06 +02:00
|
|
|
</div>
|
|
|
|
<div class="collapse navbar-collapse" id="mynavbar">
|
|
|
|
|
|
|
|
<ul class="nav navbar-nav">
|
2018-06-06 19:02:33 +02:00
|
|
|
<li routerLinkActive="active">
|
2018-10-02 10:57:45 +02:00
|
|
|
<a href="https://www.opt4.net/dashboard" class="link">{{'navigation.top.board' | translate}}</a>
|
2018-06-06 19:02:33 +02:00
|
|
|
</li>
|
2017-05-18 14:45:00 +02:00
|
|
|
<li routerLinkActive="active">
|
2018-10-02 10:57:45 +02:00
|
|
|
<a routerLink='{{config.overviewPath}}' class="link">{{'navigation.top.overview' | translate}}</a>
|
2017-05-11 21:46:28 +02:00
|
|
|
</li>
|
2018-06-24 18:17:52 +02:00
|
|
|
<li routerLinkActive="active">
|
2018-10-02 10:57:45 +02:00
|
|
|
<a [routerLink]="[config.publicPath.concat('/').concat(config.rankPath)]" class="link">{{'navigation.top.ranks' | translate}}</a>
|
2018-06-24 18:17:52 +02:00
|
|
|
</li>
|
2017-08-06 10:42:37 +02:00
|
|
|
<li routerLinkActive="active">
|
2018-10-02 10:57:45 +02:00
|
|
|
<a [routerLink]="[config.publicPath.concat('/').concat(config.decorationPath)]" class="link">{{'navigation.top.decorations' | translate}}</a>
|
2017-05-10 11:04:06 +02:00
|
|
|
</li>
|
2018-07-18 19:53:06 +02:00
|
|
|
<li routerLinkActive="active">
|
2018-10-02 10:57:45 +02:00
|
|
|
<a routerLink='{{config.statsPath}}' class="link">{{'navigation.top.statistics' | translate}}</a>
|
2017-05-10 11:04:06 +02:00
|
|
|
</li>
|
2018-07-18 19:53:06 +02:00
|
|
|
<li *ngIf="loginService.hasPermission(2)"
|
|
|
|
class="dropdown">
|
|
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
|
|
|
|
aria-expanded="false">
|
2018-10-02 14:31:26 +02:00
|
|
|
{{'navigation.top.management' | translate}}
|
2018-07-18 19:53:06 +02:00
|
|
|
<span class="caret"></span>
|
|
|
|
</a>
|
|
|
|
<ul class="dropdown-menu">
|
|
|
|
<li routerLinkActive="active">
|
2018-10-04 14:08:29 +02:00
|
|
|
<a routerLink='{{config.manageUserPath}}' class="link">{{'navigation.top.management.users' | translate}}</a>
|
2018-07-18 19:53:06 +02:00
|
|
|
</li>
|
|
|
|
<li routerLinkActive="active">
|
2018-10-04 14:08:29 +02:00
|
|
|
<a routerLink='{{config.manageSquadPath}}' class="link">{{'navigation.top.management.squads' | translate}}</a>
|
2018-07-18 19:53:06 +02:00
|
|
|
</li>
|
|
|
|
<li routerLinkActive="active">
|
2018-10-04 14:08:29 +02:00
|
|
|
<a routerLink='{{config.manageDecorationPath}}' class="link">{{'navigation.top.management.decorations' | translate}}</a>
|
2018-07-18 19:53:06 +02:00
|
|
|
</li>
|
|
|
|
<li routerLinkActive="active">
|
2018-10-04 14:08:29 +02:00
|
|
|
<a routerLink='{{config.manageRankPath}}' class="link">{{'navigation.top.management.ranks' | translate}}</a>
|
2018-07-18 19:53:06 +02:00
|
|
|
</li>
|
|
|
|
</ul>
|
2017-05-10 11:04:06 +02:00
|
|
|
</li>
|
2017-07-14 23:33:17 +02:00
|
|
|
<li *ngIf="loginService.hasPermission(1) && !loginService.hasPermission(2) && loginService.hasSquad()"
|
|
|
|
class="dropdown">
|
2017-06-08 16:58:28 +02:00
|
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
|
|
|
|
aria-expanded="false">
|
2018-10-02 10:57:45 +02:00
|
|
|
{{'navigation.top.request' | translate}}
|
2017-06-08 16:58:28 +02:00
|
|
|
<span class="caret"></span>
|
|
|
|
</a>
|
|
|
|
<ul class="dropdown-menu">
|
2018-06-17 16:44:31 +02:00
|
|
|
<li>
|
2018-10-02 10:57:45 +02:00
|
|
|
<a routerLink="{{config.request}}/{{config.sqlDashboardPath}}">{{'navigation.top.request.open' | translate}}</a>
|
2018-06-17 16:44:31 +02:00
|
|
|
</li>
|
2017-06-08 16:58:28 +02:00
|
|
|
<li>
|
2018-10-02 10:57:45 +02:00
|
|
|
<a routerLink="{{config.request}}/{{config.requestPromotionPath}}">{{'navigation.top.request.promotion' | translate}}</a>
|
2017-06-08 16:58:28 +02:00
|
|
|
</li>
|
|
|
|
<li>
|
2018-10-02 10:57:45 +02:00
|
|
|
<a routerLink="{{config.request}}/{{config.requestAwardPath}}">{{'navigation.top.request.award' | translate}}</a>
|
2017-06-08 16:58:28 +02:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
2017-07-10 20:51:15 +02:00
|
|
|
<li *ngIf="loginService.hasPermission(2) && loginService.hasSquad()" class="dropdown">
|
2017-09-03 12:49:59 +02:00
|
|
|
<a href="#"
|
2017-09-18 19:50:28 +02:00
|
|
|
[ngClass]="{'unprocessed': promotionService.hasUnprocessedPromotion || awardingService.hasUnprocessedAwards}"
|
2017-09-03 12:49:59 +02:00
|
|
|
class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
|
2017-06-10 22:07:32 +02:00
|
|
|
aria-expanded="false">
|
2018-10-02 10:57:45 +02:00
|
|
|
{{'navigation.top.request.manage' | translate}}
|
2017-06-10 22:07:32 +02:00
|
|
|
<span class="caret"></span>
|
|
|
|
</a>
|
|
|
|
<ul class="dropdown-menu">
|
|
|
|
<li>
|
2017-09-18 19:50:28 +02:00
|
|
|
<a [ngClass]="{'unprocessed-child': promotionService.hasUnprocessedPromotion}"
|
2018-10-02 10:57:45 +02:00
|
|
|
routerLink="{{config.request}}/{{config.confirmPromotionPath}}">{{'navigation.top.request.promotion' | translate}}</a>
|
2017-06-10 22:07:32 +02:00
|
|
|
</li>
|
|
|
|
<li>
|
2017-09-18 19:57:22 +02:00
|
|
|
<a [ngClass]="{'unprocessed-child': awardingService.hasUnprocessedAwards}"
|
2018-10-02 10:57:45 +02:00
|
|
|
routerLink="{{config.request}}/{{config.confirmAwardPath}}">{{'navigation.top.request.award' | translate}}</a>
|
2017-06-10 22:07:32 +02:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
2017-05-10 11:04:06 +02:00
|
|
|
</ul>
|
|
|
|
|
2018-10-02 10:57:45 +02:00
|
|
|
<ul class="nav navbar-nav pull-right">
|
2017-06-08 16:58:28 +02:00
|
|
|
<li *ngIf="loginService.hasPermission(4)" routerLinkActive="active">
|
2018-10-02 10:57:45 +02:00
|
|
|
<a routerLink='{{config.adminPanelPath}}' class="link">{{'navigation.top.admin' | translate}}</a>
|
2017-06-08 16:58:28 +02:00
|
|
|
</li>
|
2017-09-03 12:29:41 +02:00
|
|
|
<li *ngIf="loginService.isLoggedIn()" class="link" style="cursor: pointer">
|
2018-10-02 10:57:45 +02:00
|
|
|
<a (click)="logout()">{{'navigation.top.logout' | translate}}</a>
|
2017-05-10 11:04:06 +02:00
|
|
|
</li>
|
2018-06-18 20:54:43 +02:00
|
|
|
<li *ngIf="!loginService.isLoggedIn()" routerLinkActive="active">
|
2018-10-02 10:57:45 +02:00
|
|
|
<a routerLink='{{config.loginPath}}' class="link">{{'navigation.top.login' | translate}}</a>
|
2018-06-18 20:54:43 +02:00
|
|
|
</li>
|
2018-10-20 16:16:11 +02:00
|
|
|
<li class="dropdown" *ngIf="features.localization">
|
2018-10-05 13:01:51 +02:00
|
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
|
|
|
|
aria-expanded="false" style="padding: 12px 12px 10px 12px;">
|
2018-10-20 16:16:11 +02:00
|
|
|
<mat-icon svgIcon="flag-{{language}}"></mat-icon>
|
2018-10-05 13:01:51 +02:00
|
|
|
<span class="caret"></span>
|
|
|
|
</a>
|
|
|
|
<ul class="dropdown-menu">
|
|
|
|
<li *ngFor="let lang of languages" style="cursor: pointer">
|
2018-10-20 16:16:11 +02:00
|
|
|
<a (click)="setLanguage(lang)"><mat-icon svgIcon="flag-{{lang}}"></mat-icon></a>
|
2018-10-05 13:01:51 +02:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
2017-05-10 11:04:06 +02:00
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
</div>
|
2018-03-29 17:01:24 +02:00
|
|
|
|
2017-10-06 20:11:18 +02:00
|
|
|
<div>
|
2018-07-29 20:59:09 +02:00
|
|
|
<router-outlet></router-outlet>
|
|
|
|
|
2018-07-30 21:30:59 +02:00
|
|
|
<div id="left">
|
2018-07-29 20:59:09 +02:00
|
|
|
<router-outlet name="left"></router-outlet>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="right">
|
|
|
|
<router-outlet name="right"></router-outlet>
|
2017-05-10 11:04:06 +02:00
|
|
|
</div>
|
2018-07-30 21:30:59 +02:00
|
|
|
</div>
|
2018-07-29 20:59:09 +02:00
|
|
|
|
2018-07-17 11:40:18 +02:00
|
|
|
<span *ngIf="loading" class="load-indicator load-arrow glyphicon-refresh-animate"></span>
|
2018-07-15 15:38:33 +02:00
|
|
|
|
2018-07-20 22:18:50 +02:00
|
|
|
<button mat-icon-button
|
|
|
|
mat-mini-fab
|
|
|
|
id="scrollTopBtn"
|
|
|
|
*ngIf="scrollTopVisible"
|
2018-10-02 10:57:45 +02:00
|
|
|
matTooltip="{{'navigation.button.scroll.top' | translate}}"
|
2018-07-20 22:18:50 +02:00
|
|
|
(click)="scrollToTop()">
|
|
|
|
<mat-icon svgIcon="arrow-up"></mat-icon>
|
|
|
|
</button>
|