Code Review
/
src
/
xds
/
xds-agent.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Added Grafana url setting in config panel
[src/xds/xds-agent.git]
/
webapp
/
src
/
app
/
@core-xds
/
services
/
config.service.ts
diff --git
a/webapp/src/app/@core-xds/services/config.service.ts
b/webapp/src/app/@core-xds/services/config.service.ts
index
168b278
..
beeeea8
100644
(file)
--- a/
webapp/src/app/@core-xds/services/config.service.ts
+++ b/
webapp/src/app/@core-xds/services/config.service.ts
@@
-26,6
+26,7
@@
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
export interface IConfig {
language: string;
theme: string;
export interface IConfig {
language: string;
theme: string;
+ grafanaDashboardUrl: string;
}
@Injectable()
}
@Injectable()
@@
-36,6
+37,12
@@
export class ConfigService {
private confSubject: BehaviorSubject<IConfig>;
private confStore: IConfig;
private confSubject: BehaviorSubject<IConfig>;
private confStore: IConfig;
+ private confDefault: IConfig = {
+ language: 'ENG',
+ theme: 'default',
+ grafanaDashboardUrl: 'http://localhost:3000',
+ };
+
constructor(
private cookie: CookieService,
private themeService: NbThemeService,
constructor(
private cookie: CookieService,
private themeService: NbThemeService,
@@
-43,17
+50,20
@@
export class ConfigService {
this.confSubject = <BehaviorSubject<IConfig>>new BehaviorSubject(this.confStore);
this.Conf$ = this.confSubject.asObservable();
this.confSubject = <BehaviorSubject<IConfig>>new BehaviorSubject(this.confStore);
this.Conf$ = this.confSubject.asObservable();
- // Load initial config and apply it
- this.load();
- this.themeService.changeTheme(this.confStore.theme);
-
// Save selected theme in cookie
this.themeService.onThemeChange().subscribe(tm => {
// Save selected theme in cookie
this.themeService.onThemeChange().subscribe(tm => {
+ if (typeof this.confStore === 'undefined') {
+ return;
+ }
if (tm.name !== this.confStore.theme) {
this.confStore.theme = tm.name;
this.save();
}
});
if (tm.name !== this.confStore.theme) {
this.confStore.theme = tm.name;
this.save();
}
});
+
+ // Load initial config and apply it
+ this.load();
+ this.themeService.changeTheme(this.confStore.theme);
}
// Load config
}
// Load config
@@
-62,17
+72,20
@@
export class ConfigService {
const cookConf = this.cookie.getObject('xds-config');
if (cookConf != null) {
this.confStore = <IConfig>cookConf;
const cookConf = this.cookie.getObject('xds-config');
if (cookConf != null) {
this.confStore = <IConfig>cookConf;
+ this.confSubject.next(Object.assign({}, this.confStore));
} else {
// Set default config
} else {
// Set default config
- this.confStore = {
- language: 'ENG',
- theme: 'default',
- };
+ this.confStore = this.confDefault;
+ this.save();
}
}
// Save config into cookie
}
}
// Save config into cookie
- save() {
+ save(cfg?: IConfig) {
+ if (typeof cfg !== 'undefined') {
+ this.confStore = this.confDefault;
+ }
+
// Notify subscribers
this.confSubject.next(Object.assign({}, this.confStore));
// Notify subscribers
this.confSubject.next(Object.assign({}, this.confStore));