diff --git a/src/app/_directives/role.directive.ts b/src/app/_directives/role.directive.ts
index 0bd13234..1b950c2c 100644
--- a/src/app/_directives/role.directive.ts
+++ b/src/app/_directives/role.directive.ts
@@ -13,7 +13,12 @@ export class RoleDirective {
private viewContainer: ViewContainerRef) { }
@Input() set userRole(inputRole: UserRole) {
- const { role } = JSON.parse(localStorage.getItem("currentUser"));
+ const user = localStorage.getItem("currentUser")
+ if (!user) {
+ this.viewContainer.clear()
+ return
+ }
+ const { role } = JSON.parse(user);
const minRole = roleMap.get(inputRole);
const currentRole = roleMap.get(role);
diff --git a/src/app/item-detail/analyze-charts/analyze-charts.component.html b/src/app/item-detail/analyze-charts/analyze-charts.component.html
index 11c1cf0b..eb6ccdd6 100644
--- a/src/app/item-detail/analyze-charts/analyze-charts.component.html
+++ b/src/app/item-detail/analyze-charts/analyze-charts.component.html
@@ -4,8 +4,8 @@
diff --git a/src/app/item-detail/analyze-charts/analyze-charts.component.ts b/src/app/item-detail/analyze-charts/analyze-charts.component.ts
index e73312d0..9b68aec2 100644
--- a/src/app/item-detail/analyze-charts/analyze-charts.component.ts
+++ b/src/app/item-detail/analyze-charts/analyze-charts.component.ts
@@ -43,15 +43,7 @@ export class AnalyzeChartsComponent implements OnInit {
}
ngOnInit() {
- if (this.isAnonymous) {
- return;
- }
- this.itemApiService
- .fetchItemChartSettings(this.params.projectName, this.params.scenarioName, this.params.id)
- .subscribe(_ => {
- this.updateChart(_);
- this.preloadedSeries = _;
- });
+ // this needs to be initialized for both anonymous and logged-in user
this.analyzeChartService.currentData.subscribe(data => {
let chartLines;
if (data) {
@@ -74,27 +66,18 @@ export class AnalyzeChartsComponent implements OnInit {
}
});
+ // exit onInit if user is anonymous, the code that's after is only for valid for logged-in user
+ if (this.isAnonymous) {
+ return;
+ }
- this.itemChartService.selectedPlot$.subscribe(plot => {
- const currentChartSeries = this.customChartsOptions.series;
-
- if (Array.isArray(currentChartSeries) && currentChartSeries.length > 0) {
- this.chartLines = plot.chartLines;
-
- const updatedChartSeries = currentChartSeries.map(series => {
- const labelChart = series.label;
- const name = labelChart
- ? labelChart
- : "overall";
+ this.itemApiService
+ .fetchItemChartSettings(this.params.projectName, this.params.scenarioName, this.params.id)
+ .subscribe(_ => {
+ this.updateChart(_);
+ this.preloadedSeries = _;
+ });
- return {
- name,
- metric: series.metric
- };
- });
- this.updateChart(updatedChartSeries);
- }
- });
}