mirror of
https://github.com/goharbor/harbor.git
synced 2024-12-23 00:57:44 +01:00
Merge pull request #2000 from steven-zou/master
Override page title and search placeholder when in VIC mode
This commit is contained in:
commit
4b99f3db3a
@ -131,6 +131,7 @@ export class SignInComponent implements AfterViewChecked, OnInit {
|
||||
let expires: number = expireDays * 3600 * 24 * 1000;
|
||||
let date = new Date(Date.now() + expires);
|
||||
let cookieptions = new CookieOptions({
|
||||
path: "/",
|
||||
expires: date
|
||||
});
|
||||
this.cookie.put(remCookieKey, this.signInCredential.principal, cookieptions);
|
||||
|
@ -4,7 +4,8 @@ import { CookieService } from 'angular2-cookie/core';
|
||||
|
||||
import { supportedLangs, enLang } from './shared/shared.const';
|
||||
import { SessionService } from './shared/session.service';
|
||||
|
||||
import { AppConfigService } from './app-config.service';
|
||||
import { Title } from '@angular/platform-browser';
|
||||
|
||||
@Component({
|
||||
selector: 'harbor-app',
|
||||
@ -14,7 +15,9 @@ export class AppComponent {
|
||||
constructor(
|
||||
private translate: TranslateService,
|
||||
private cookie: CookieService,
|
||||
private session: SessionService) {
|
||||
private session: SessionService,
|
||||
private appConfigService: AppConfigService,
|
||||
private titleService: Title) {
|
||||
|
||||
translate.addLangs(supportedLangs);
|
||||
translate.setDefaultLang(enLang);
|
||||
@ -29,6 +32,16 @@ export class AppComponent {
|
||||
let selectedLang = this.isLangMatch(langSetting, supportedLangs) ? langSetting : enLang;
|
||||
translate.use(selectedLang);
|
||||
//this.session.switchLanguage(selectedLang).catch(error => console.error(error));
|
||||
|
||||
//Override page title
|
||||
let key: string = "APP_TITLE.HARBOR";
|
||||
if (this.appConfigService.isIntegrationMode()) {
|
||||
key = "APP_TITLE.REG";
|
||||
}
|
||||
|
||||
translate.get(key).subscribe((res: string) => {
|
||||
this.titleService.setTitle(res);
|
||||
});
|
||||
}
|
||||
|
||||
private isLangMatch(browserLang: string, supportedLangs: string[]) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
<form class="search">
|
||||
<label for="search_input">
|
||||
<input #globalSearchBox name="globalSearchBox" [(ngModel)]="searchTerm" id="search_input" type="text" (keyup)="search(globalSearchBox.value)" placeholder='{{"GLOBAL_SEARCH.PLACEHOLDER" | translate}}'>
|
||||
<input #globalSearchBox name="globalSearchBox" [(ngModel)]="searchTerm" id="search_input" type="text" (keyup)="search(globalSearchBox.value)" placeholder='{{placeholderText | translate}}'>
|
||||
</label>
|
||||
</form>
|
@ -6,6 +6,8 @@ import { Subscription } from 'rxjs/Subscription';
|
||||
|
||||
import { SearchTriggerService } from './search-trigger.service';
|
||||
|
||||
import { AppConfigService } from '../../app-config.service';
|
||||
|
||||
import 'rxjs/add/operator/debounceTime';
|
||||
import 'rxjs/add/operator/distinctUntilChanged';
|
||||
|
||||
@ -27,9 +29,13 @@ export class GlobalSearchComponent implements OnInit, OnDestroy {
|
||||
private isResPanelOpened: boolean = false;
|
||||
private searchTerm: string = "";
|
||||
|
||||
//Placeholder text
|
||||
placeholderText: string = "GLOBAL_SEARCH.PLACEHOLDER";
|
||||
|
||||
constructor(
|
||||
private searchTrigger: SearchTriggerService,
|
||||
private router: Router) { }
|
||||
private router: Router,
|
||||
private appConfigService: AppConfigService) { }
|
||||
|
||||
//Implement ngOnIni
|
||||
ngOnInit(): void {
|
||||
@ -42,6 +48,10 @@ export class GlobalSearchComponent implements OnInit, OnDestroy {
|
||||
this.closeSub = this.searchTrigger.searchClearChan$.subscribe(clear => {
|
||||
this.searchTerm = "";
|
||||
});
|
||||
|
||||
if(this.appConfigService.isIntegrationMode()){
|
||||
this.placeholderText = "GLOBAL_SEARCH.PLACEHOLDER_VIC";
|
||||
}
|
||||
}
|
||||
|
||||
ngOnDestroy(): void {
|
||||
|
@ -7,7 +7,7 @@ import { modalEvents } from '../modal-events.const';
|
||||
|
||||
import { SessionUser } from '../../shared/session-user';
|
||||
import { SessionService } from '../../shared/session.service';
|
||||
import { CookieService } from 'angular2-cookie/core';
|
||||
import { CookieService, CookieOptions } from 'angular2-cookie/core';
|
||||
|
||||
import { supportedLangs, enLang, languageNames, CommonRoutes } from '../../shared/shared.const';
|
||||
import { AppConfigService } from '../../app-config.service';
|
||||
@ -44,7 +44,8 @@ export class NavigatorComponent implements OnInit {
|
||||
this.translate.onLangChange.subscribe(langChange => {
|
||||
this.selectedLang = langChange.lang;
|
||||
//Keep in cookie for next use
|
||||
this.cookie.put("harbor-lang", langChange.lang);
|
||||
let opt = new CookieOptions({path: '/', expires: new Date(Date.now() + 3600*1000*24*31)});
|
||||
this.cookie.put("harbor-lang", langChange.lang, opt);
|
||||
});
|
||||
if (this.appConfigService.isIntegrationMode()) {
|
||||
this.appTitle = 'APP_TITLE.VIC';
|
||||
@ -126,16 +127,14 @@ export class NavigatorComponent implements OnInit {
|
||||
|
||||
//Switch languages
|
||||
switchLanguage(lang: string): void {
|
||||
let selectedLang: string = enLang;//Default
|
||||
if (supportedLangs.find(supportedLang => supportedLang === lang.trim())) {
|
||||
this.translate.use(lang);
|
||||
selectedLang = lang;
|
||||
} else {
|
||||
this.translate.use(enLang);//Use default
|
||||
//TODO:
|
||||
console.error('Language ' + lang.trim() + ' is not suppoted');
|
||||
console.error('Language ' + lang.trim() + ' is not suppoted yet');
|
||||
}
|
||||
setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, 500);
|
||||
|
||||
this.translate.use(selectedLang).subscribe(() => window.location.reload());
|
||||
}
|
||||
|
||||
//Handle the home action
|
||||
|
@ -86,7 +86,8 @@
|
||||
"ROOT_CERT": "Download Root Cert"
|
||||
},
|
||||
"GLOBAL_SEARCH": {
|
||||
"PLACEHOLDER": "Search Harbor..."
|
||||
"PLACEHOLDER": "Search Harbor...",
|
||||
"PLACEHOLDER_VIC": "Search Registry..."
|
||||
},
|
||||
"SIDE_NAV": {
|
||||
"DASHBOARD": "Dashboard",
|
||||
|
@ -86,7 +86,8 @@
|
||||
"ROOT_CERT": "下载根证书"
|
||||
},
|
||||
"GLOBAL_SEARCH": {
|
||||
"PLACEHOLDER": "搜索 Harbor..."
|
||||
"PLACEHOLDER": "搜索 Harbor...",
|
||||
"PLACEHOLDER_VIC": "搜索 Registry..."
|
||||
},
|
||||
"SIDE_NAV": {
|
||||
"DASHBOARD": "仪表板",
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Harbor</title>
|
||||
<title>VMware</title>
|
||||
<base href="/">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2">
|
||||
|
Loading…
Reference in New Issue
Block a user