@@ -26,4 +26,5 @@
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/harbor-app/src/app/base/harbor-shell/harbor-shell.component.ts b/harbor-app/src/app/base/harbor-shell/harbor-shell.component.ts
index bda52c738..049053729 100644
--- a/harbor-app/src/app/base/harbor-shell/harbor-shell.component.ts
+++ b/harbor-app/src/app/base/harbor-shell/harbor-shell.component.ts
@@ -1,12 +1,14 @@
import { Component, OnInit, ViewChild } from '@angular/core';
-import { Router } from '@angular/router';
+import { Router, ActivatedRoute } from '@angular/router';
-import { SessionService } from '../../shared/session.service';
import { ModalEvent } from '../modal-event';
import { SearchEvent } from '../search-event';
+import { modalAccountSettings, modalPasswordSetting } from '../modal-events.const';
import { AccountSettingsModalComponent } from '../account-settings/account-settings-modal.component';
import { SearchResultComponent } from '../global-search/search-result.component';
+import { PasswordSettingComponent } from '../../account/password/password-setting.component';
+import { NavigatorComponent } from '../navigator/navigator.component';
@Component({
selector: 'harbor-shell',
@@ -22,18 +24,22 @@ export class HarborShellComponent implements OnInit {
@ViewChild(SearchResultComponent)
private searchResultComponet: SearchResultComponent;
+ @ViewChild(PasswordSettingComponent)
+ private pwdSetting: PasswordSettingComponent;
+
+ @ViewChild(NavigatorComponent)
+ private navigator: NavigatorComponent;
+
//To indicator whwther or not the search results page is displayed
//We need to use this property to do some overriding work
private isSearchResultsOpened: boolean = false;
- constructor(private session: SessionService) { }
+ constructor(private route: ActivatedRoute) { }
ngOnInit() {
- let cUser = this.session.getCurrentUser();
- if (!cUser) {
- //Try to update the session
- this.session.retrieveUser();
- }
+ this.route.data.subscribe(data => {
+ //dummy
+ });
}
public get showSearch(): boolean {
@@ -43,8 +49,12 @@ export class HarborShellComponent implements OnInit {
//Open modal dialog
openModal(event: ModalEvent): void {
switch (event.modalName) {
- case "account-settings":
+ case modalAccountSettings:
this.accountSettingsModal.open();
+ break;
+ case modalPasswordSetting:
+ this.pwdSetting.open();
+ break;
default:
break;
}
@@ -63,8 +73,15 @@ export class HarborShellComponent implements OnInit {
//Search results page closed
//remove the related ovevriding things
searchClose(event: boolean): void {
- if(event){
+ if (event) {
this.isSearchResultsOpened = false;
}
}
+
+ //Watch password whether changed
+ watchPwdChange(event: any): void {
+ if (event) {
+ this.navigator.logOut(true);
+ }
+ }
}
\ No newline at end of file
diff --git a/harbor-app/src/app/base/modal-events.const.ts b/harbor-app/src/app/base/modal-events.const.ts
new file mode 100644
index 000000000..6a8dca0ad
--- /dev/null
+++ b/harbor-app/src/app/base/modal-events.const.ts
@@ -0,0 +1,2 @@
+export const modalAccountSettings= "account-settings";
+export const modalPasswordSetting = "password-setting";
\ No newline at end of file
diff --git a/harbor-app/src/app/base/navigator/navigator.component.css b/harbor-app/src/app/base/navigator/navigator.component.css
new file mode 100644
index 000000000..f567136a5
--- /dev/null
+++ b/harbor-app/src/app/base/navigator/navigator.component.css
@@ -0,0 +1,16 @@
+.sign-in-override {
+ padding-left: 0px !important;
+ padding-right: 5px !important;
+}
+
+.sign-up-override {
+ padding-left: 5px !important;
+}
+
+.custom-divider {
+ display: inline-block;
+ border-right: 2px inset snow;
+ padding: 2px 0px 2px 0px;
+ vertical-align: middle;
+ height: 24px;
+}
\ No newline at end of file
diff --git a/harbor-app/src/app/base/navigator/navigator.component.html b/harbor-app/src/app/base/navigator/navigator.component.html
index 5ce0a4070..ecd7688e8 100644
--- a/harbor-app/src/app/base/navigator/navigator.component.html
+++ b/harbor-app/src/app/base/navigator/navigator.component.html
@@ -7,15 +7,22 @@