summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webapp/src/app/@core-xds/services/config.service.ts11
-rw-r--r--webapp/src/app/pages/supervision/supervision.component.ts34
2 files changed, 25 insertions, 20 deletions
diff --git a/webapp/src/app/@core-xds/services/config.service.ts b/webapp/src/app/@core-xds/services/config.service.ts
index beeeea8..23a9593 100644
--- a/webapp/src/app/@core-xds/services/config.service.ts
+++ b/webapp/src/app/@core-xds/services/config.service.ts
@@ -57,7 +57,7 @@ export class ConfigService {
}
if (tm.name !== this.confStore.theme) {
this.confStore.theme = tm.name;
- this.save();
+ this.save(this.confStore);
}
});
@@ -75,16 +75,13 @@ export class ConfigService {
this.confSubject.next(Object.assign({}, this.confStore));
} else {
// Set default config
- this.confStore = this.confDefault;
- this.save();
+ this.save(null);
}
}
// Save config into cookie
- save(cfg?: IConfig) {
- if (typeof cfg !== 'undefined') {
- this.confStore = this.confDefault;
- }
+ save(cfg: IConfig | null) {
+ this.confStore = (cfg !== null) ? cfg : this.confDefault;
// Notify subscribers
this.confSubject.next(Object.assign({}, this.confStore));
diff --git a/webapp/src/app/pages/supervision/supervision.component.ts b/webapp/src/app/pages/supervision/supervision.component.ts
index 53fff22..3fff2b7 100644
--- a/webapp/src/app/pages/supervision/supervision.component.ts
+++ b/webapp/src/app/pages/supervision/supervision.component.ts
@@ -48,9 +48,11 @@ export interface GrafanaPanel {
export class SupervisionComponent implements OnInit {
+ /* TODO bind tm_* and refresh in UI */
@Input() theme = 'light';
- @Input() tm_from = 1528988550450;
- @Input() tm_to = 1528988842496;
+ @Input() tm_from = 'now-60s';
+ @Input() tm_to = 'now';
+ @Input() refresh = '5s';
@Input() scroll_factor = 10000;
@Input() zoom_factor = 100000;
@@ -111,55 +113,61 @@ export class SupervisionComponent implements OnInit {
}
timeChange(val: number) {
+ /* TODO: convert tm_from string to number
this.tm_from += val * this.scroll_factor;
this.tm_to += val * this.scroll_factor;
this._initPanels();
+ */
}
zoomOut() {
+ /* TODO: convert tm_from string to number
this.tm_from -= this.zoom_factor;
this.tm_to += this.zoom_factor;
this._initPanels();
+ */
}
-
private _initDashboard() {
+ // http://localhost:3000/d/Lbpwc6Iiz/agl-xds-supervisor?from=now-40s&to=now&refresh=5s
this.dashboards.forEach(dd => {
- dd.url = this._buildDashboardUrl(dd.shortname, this.tm_from, this.tm_to, this.theme);
+ dd.url = this._buildDashboardUrl(dd.shortname, this.tm_from, this.tm_to, this.refresh, this.theme);
dd.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(dd.url);
});
}
private _initPanels() {
this.panels.forEach(gg => {
- gg.url = this._buildPanelUrl(gg.index, this.tm_from, this.tm_to, this.theme);
+ gg.url = this._buildPanelUrl(gg.index, this.tm_from, this.tm_to, this.refresh, this.theme);
gg.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(gg.url);
});
}
- private _buildDashboardUrl(sname: string, from: number, to: number, theme: string) {
+ private _buildDashboardUrl(sname, from, to, refresh, theme: string) {
// FIXME get sname from config to support several dashboards
let url = 'http://localhost:3000/d/Lbpwc6Iiz/' + sname;
if (this.Config.grafanaDashboardUrl !== '') {
url = this.Config.grafanaDashboardUrl;
}
url += '?orgId=1';
- url += '&from=' + from;
- url += '&to=' + to;
- url += '&theme=' + theme;
+ if (from !== '') { url += '&from=' + from; }
+ if (to !== '') { url += '&to=' + to; }
+ if (theme !== '') { url += '&theme=' + theme; }
+ if (refresh !== '') { url += '&refresh=' + refresh; }
url += '&sidemenu=close';
return url;
}
- private _buildPanelUrl(idx: string, from: number, to: number, theme: string) {
+ private _buildPanelUrl(idx, from, to, refresh, theme: string) {
let url = 'http://localhost:3000/d-solo/Lbpwc6Iiz/agl-xds-supervisor';
if (this.Config.grafanaDashboardUrl !== '') {
url = this.Config.grafanaDashboardUrl;
}
url += '?panelId=' + idx;
url += '&orgId=1';
- url += '&from=' + from;
- url += '&to=' + to;
- url += '&theme=' + theme;
+ if (from !== '') { url += '&from=' + from; }
+ if (to !== '') { url += '&to=' + to; }
+ if (theme !== '') { url += '&theme=' + theme; }
+ if (refresh !== '') { url += '&refresh=' + refresh; }
url += '&sidemenu=close';
return url;
}