Skip to content

Commit 5b37dca

Browse files
authored
Merge pull request #430 from medizininformatik-initiative/368-add-link-to-proposal-portal
368 add link to proposal portal
2 parents 6a9de9d + 8c8a092 commit 5b37dca

File tree

6 files changed

+435
-387
lines changed

6 files changed

+435
-387
lines changed

src/app/layout/components/header/header.component.html

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,19 @@
88
hideSingleSelectionIndicator
99
[placeholder]="profile?.info.name ? profile?.info.name : profile?.info.preferred_username"
1010
>
11-
<mat-option (click)="logout()">
12-
<fa-icon class="circle" size="lg" [fixedWidth]="true" [icon]="'sign-out-alt'"></fa-icon>
13-
Logout
14-
</mat-option>
1511
<mat-option (click)="getActuatorInfo()">
1612
<fa-icon class="circle" size="lg" [fixedWidth]="true" [icon]="'info'"></fa-icon>
17-
About
13+
{{ 'APPLAYOUT.HEADER.ABOUT' | translate }}
14+
</mat-option>
15+
<mat-option (click)="logout()">
16+
<fa-icon class="circle" size="lg" [fixedWidth]="true" [icon]="'sign-out-alt'"></fa-icon>
17+
{{ 'APPLAYOUT.HEADER.LOGOUT' | translate }}
1818
</mat-option>
1919
</mat-select>
2020
</mat-form-field>
21+
<span class="link-like" (click)="navigateToProposalPortal()">
22+
{{ 'APPLAYOUT.HEADER.PROPOSAL_PORTAL' | translate }}
23+
<fa-icon size="1x" icon="external-link-alt"></fa-icon>
24+
</span>
2125
</div>
2226
</mat-toolbar>

src/app/layout/components/header/header.component.scss

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
font-size: 14px;
44
margin: 0 0 1em 0;
55
}
6+
67
.toolbar fa-icon {
78
padding: 0 0 0 1em;
89
}
@@ -13,9 +14,11 @@
1314
height: 105px;
1415
object-fit: cover;
1516
}
17+
1618
.mat-toolbar {
1719
height: 105px;
1820
}
21+
1922
.mat-toolbar-single-row {
2023
padding-left: 0px !important;
2124
}
@@ -43,3 +46,22 @@
4346
::ng-deep .mdc-list-item__primary-text {
4447
width: 100%;
4548
}
49+
50+
span.link-like {
51+
padding-top: 0.3em;
52+
padding-left: 1em;
53+
cursor: pointer;
54+
color: var(--num-color--primary);
55+
font-size: medium;
56+
font-weight: 500;
57+
text-decoration: none;
58+
/* No underline by default */
59+
transition: color 0.2s ease;
60+
}
61+
62+
span.link-like:hover {
63+
text-decoration: underline;
64+
/* Show underline on hover */
65+
color: #0056b3;
66+
/* Darker blue on hover */
67+
}

src/app/layout/components/header/header.component.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1+
import { AboutModalComponent } from '../about-modal/about-modal.component';
12
import { ActuatorInformationService } from 'src/app/service/Actuator/ActuatorInformation.service';
23
import { AfterViewInit, Component, OnInit } from '@angular/core';
34
import { FeatureProviderService } from 'src/app/service/FeatureProvider.service';
45
import { FeatureService } from '../../../service/Feature.service';
56
import { IUserProfile } from '../../../shared/models/user/user-profile.interface';
6-
import { OAuthService } from 'angular-oauth2-oidc';
77
import { MatDialog } from '@angular/material/dialog';
8-
import { AboutModalComponent } from '../about-modal/about-modal.component';
8+
import { OAuthService } from 'angular-oauth2-oidc';
99

1010
@Component({
1111
selector: 'num-dataportal-header',
@@ -17,6 +17,7 @@ export class HeaderComponent implements OnInit, AfterViewInit {
1717
stylesheet: string;
1818
urlSrc: string;
1919
urlAlt: string;
20+
proposalPortalLink: string;
2021

2122
constructor(
2223
private oauthService: OAuthService,
@@ -47,4 +48,9 @@ export class HeaderComponent implements OnInit, AfterViewInit {
4748
public getActuatorInfo() {
4849
this.matDialog.open(AboutModalComponent, {});
4950
}
51+
52+
public navigateToProposalPortal() {
53+
this.proposalPortalLink = this.featureService.getProposalPortalLink();
54+
window.open(this.proposalPortalLink, '_blank');
55+
}
5056
}

src/app/layout/font-awesome-icons.ts

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
1-
import {
2-
faAngleDoubleLeft,
3-
faArrowRight,
4-
faExclamation,
5-
faExclamationTriangle,
6-
faFolderOpen,
7-
} from '@fortawesome/free-solid-svg-icons';
8-
import { faAngleDoubleRight } from '@fortawesome/free-solid-svg-icons';
1+
import { faAngleDoubleRight, faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';
92
import { faAngleRight } from '@fortawesome/free-solid-svg-icons';
103
import { faArrowDown } from '@fortawesome/free-solid-svg-icons';
114
import { faArrowUp } from '@fortawesome/free-solid-svg-icons';
@@ -16,6 +9,7 @@ import { faCheckCircle } from '@fortawesome/free-solid-svg-icons';
169
import { faChevronDown } from '@fortawesome/free-solid-svg-icons';
1710
import { faChevronRight } from '@fortawesome/free-solid-svg-icons';
1811
import { faCircle } from '@fortawesome/free-solid-svg-icons';
12+
import { faClipboardList } from '@fortawesome/free-solid-svg-icons';
1913
import { faCog } from '@fortawesome/free-solid-svg-icons';
2014
import { faCubes } from '@fortawesome/free-solid-svg-icons';
2115
import { faDna } from '@fortawesome/free-solid-svg-icons';
@@ -25,10 +19,13 @@ import { faExclamationCircle } from '@fortawesome/free-solid-svg-icons';
2519
import { faEye } from '@fortawesome/free-solid-svg-icons';
2620
import { faFile, faFileImage, faWindowMinimize } from '@fortawesome/free-solid-svg-icons';
2721
import { faFileUpload } from '@fortawesome/free-solid-svg-icons';
22+
import { faFilter } from '@fortawesome/free-solid-svg-icons';
2823
import { faFolder } from '@fortawesome/free-solid-svg-icons';
2924
import { faGlobeEurope } from '@fortawesome/free-solid-svg-icons';
3025
import { faGreaterThan } from '@fortawesome/free-solid-svg-icons';
3126
import { faGreaterThanEqual } from '@fortawesome/free-solid-svg-icons';
27+
import { faInfo } from '@fortawesome/free-solid-svg-icons';
28+
import { faInfoCircle } from '@fortawesome/free-solid-svg-icons';
3229
import { faLessThan } from '@fortawesome/free-solid-svg-icons';
3330
import { faLessThanEqual } from '@fortawesome/free-solid-svg-icons';
3431
import { faLink } from '@fortawesome/free-solid-svg-icons';
@@ -52,10 +49,13 @@ import { faUser } from '@fortawesome/free-solid-svg-icons';
5249
import { faUsersCog } from '@fortawesome/free-solid-svg-icons';
5350
import { faWindowClose } from '@fortawesome/free-solid-svg-icons';
5451
import { faWrench } from '@fortawesome/free-solid-svg-icons';
55-
import { faFilter } from '@fortawesome/free-solid-svg-icons';
56-
import { faClipboardList } from '@fortawesome/free-solid-svg-icons';
57-
import { faInfoCircle } from '@fortawesome/free-solid-svg-icons';
58-
import { faInfo } from '@fortawesome/free-solid-svg-icons';
52+
import {
53+
faAngleDoubleLeft,
54+
faArrowRight,
55+
faExclamation,
56+
faExclamationTriangle,
57+
faFolderOpen,
58+
} from '@fortawesome/free-solid-svg-icons';
5959
import {
6060
faClone,
6161
faDatabase,
@@ -133,4 +133,6 @@ export const FONT_AWESOME_ICONS = [
133133
faExclamationTriangle,
134134
faInfoCircle,
135135
faInfo,
136+
faLink,
137+
faExternalLinkAlt,
136138
];

src/assets/i18n/de.json

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
},
66
"TOGGLE": {
77
"LABEL": "Seitennavigation umschalten"
8+
},
9+
"HEADER": {
10+
"PROPOSAL_PORTAL": "Antragsportal",
11+
"ABOUT": "Über das Portal",
12+
"LOGOUT": "Abmelden"
813
}
914
},
1015
"DATAQUERY": {
@@ -27,7 +32,9 @@
2732
"NEW_DATASELECTION": "Neue Merkmalselektion",
2833
"UPLOAD": "Datendefinition hochladen"
2934
},
30-
"EMPTY": "Sie haben noch keine Merkmalselektion definiert. Laden Sie eine existierende Merkmalselektion oder erstellen Sie eine neue Merkmalselektion.",
35+
"EDITOR": {
36+
"EMPTY": "Sie haben noch keine Merkmalselektion definiert. Laden Sie eine existierende Merkmalselektion oder erstellen Sie eine neue Merkmalselektion."
37+
},
3138
"ERROR": {
3239
"DOWNLOAD": "Es wurde keine Kohorte definiert, Download nicht möglich.",
3340
"UPLOAD": "In der hochgeladenen Datei wurde keine Kohorte definiert."
@@ -384,4 +391,4 @@
384391
"SEARCH": "Machbarkeitsabfrage - Suche"
385392
}
386393
}
387-
}
394+
}

0 commit comments

Comments
 (0)