From e96f63b2db3ed7b3d8e15ea054671a840f4af271 Mon Sep 17 00:00:00 2001
From: zdenevuk <zdenko.vuk@ijs.si>
Date: Fri, 18 Nov 2022 10:08:01 +0100
Subject: [PATCH]  This is a combination of 6 commits.

commented out spinner

removed underline

removed a console log

added button

added overview of indicators

update
---
 .../existing-simulations.component.html       |   5 +-
 .../existing-simulations.component.ts         |   4 -
 .../ml-module/ml-module.component.scss        |   3 +
 .../our-spider-chart.component.ts             |   2 +-
 .../results-map/results-map.component.html    |  29 +++++
 .../results-map/results-map.component.ts      | 113 ++++++++++--------
 .../images/overviewOfIndicatorsAmsterdam.png  | Bin 0 -> 2687 bytes
 .../images/overviewOfIndicatorsBilbao.png     | Bin 0 -> 4748 bytes
 .../images/overviewOfIndicatorsHelsinki.png   | Bin 0 -> 3959 bytes
 .../images/overviewOfIndicatorsMessina.png    | Bin 0 -> 4244 bytes
 10 files changed, 99 insertions(+), 57 deletions(-)
 create mode 100644 src/assets/images/overviewOfIndicatorsAmsterdam.png
 create mode 100644 src/assets/images/overviewOfIndicatorsBilbao.png
 create mode 100644 src/assets/images/overviewOfIndicatorsHelsinki.png
 create mode 100644 src/assets/images/overviewOfIndicatorsMessina.png

diff --git a/src/app/pages/simulation-wizard/existing-simulations/existing-simulations.component.html b/src/app/pages/simulation-wizard/existing-simulations/existing-simulations.component.html
index 034dc8a7..61932767 100644
--- a/src/app/pages/simulation-wizard/existing-simulations/existing-simulations.component.html
+++ b/src/app/pages/simulation-wizard/existing-simulations/existing-simulations.component.html
@@ -309,7 +309,8 @@
       [disabled]="!selectedSimulation || runSimulationBtnDisabled"
     >
       Run simulation</button
-    ><nb-icon
+    >
+    <!-- <nb-icon
       [icon]="
         runSimulation.status == 'running'
           ? 'loader-outline'
@@ -329,7 +330,7 @@
       [ngClass]="{ 'icon-spin': runSimulation.status == 'running' }"
       class="icon"
     >
-    </nb-icon>
+    </nb-icon> -->
   </div>
   <div class="mb-2 button-envelope">
     <button
diff --git a/src/app/pages/simulation-wizard/existing-simulations/existing-simulations.component.ts b/src/app/pages/simulation-wizard/existing-simulations/existing-simulations.component.ts
index cb186bdd..8d609f2c 100644
--- a/src/app/pages/simulation-wizard/existing-simulations/existing-simulations.component.ts
+++ b/src/app/pages/simulation-wizard/existing-simulations/existing-simulations.component.ts
@@ -425,10 +425,6 @@ export class ExistingSimulationsComponent implements OnInit {
           // rudimentary way of concincing our-spider-chart to redownload evaluated json
           this.selectedSimulationToEmit.emit(undefined);
           setTimeout(() => {
-            console.log(
-              "🚀☢ ~ this.selectedSimulation.id.toString()",
-              this.selectedSimulation
-            );
             this.selectedSimulationToEmit.emit(this.selectedSimulation);
             this.showToast(`Updating spider chart.`, "Info", "info");
           }, 0);
diff --git a/src/app/pages/simulation-wizard/ml-module/ml-module.component.scss b/src/app/pages/simulation-wizard/ml-module/ml-module.component.scss
index 119bac56..0c7af6ef 100644
--- a/src/app/pages/simulation-wizard/ml-module/ml-module.component.scss
+++ b/src/app/pages/simulation-wizard/ml-module/ml-module.component.scss
@@ -27,4 +27,7 @@
       }
     }
   }
+  a {
+    text-decoration: none;
+  }
 }
diff --git a/src/app/pages/simulation-wizard/our-spider-chart/our-spider-chart.component.ts b/src/app/pages/simulation-wizard/our-spider-chart/our-spider-chart.component.ts
index 3d8db60a..ca1c8f45 100644
--- a/src/app/pages/simulation-wizard/our-spider-chart/our-spider-chart.component.ts
+++ b/src/app/pages/simulation-wizard/our-spider-chart/our-spider-chart.component.ts
@@ -98,7 +98,7 @@ export class OurSpiderChartComponent implements OnChanges {
                       values_B.push(entry[1] as string);
                     }
                   } else {
-                    console.log("🚀☢ Setting 0");
+                    console.log("🚀☢ Setting 0 for ", entry[0]);
                     if (j == 0) {
                       values_A.push(0);
                     } else if (j == 1) {
diff --git a/src/app/pages/simulation-wizard/results-map/results-map.component.html b/src/app/pages/simulation-wizard/results-map/results-map.component.html
index ebe01d13..79d70efe 100644
--- a/src/app/pages/simulation-wizard/results-map/results-map.component.html
+++ b/src/app/pages/simulation-wizard/results-map/results-map.component.html
@@ -25,7 +25,36 @@
         >
           load {{ l }} geojson
         </button>
+        <button
+          nbButton
+          (click)="openOverviewOfIndicators(dialog)"
+          nbTooltip="click for overview of indicators"
+          [disabled]="selectedSimulation == undefined"
+        >
+          <nb-icon icon="info-outline"></nb-icon>
+        </button>
       </div>
+      <ng-template #dialog let-data let-ref="dialogRef">
+        <nb-card>
+          <nb-card-header
+            >Overview of Indicators for {{ data | titlecase }}
+          </nb-card-header>
+          <nb-card-body>
+            <img
+              src="{{
+                'assets/images/overviewOfIndicators' +
+                  data[0].toUpperCase() +
+                  data.slice(1) +
+                  '.png'
+              }}"
+              alt=""
+            />
+          </nb-card-body>
+          <nb-card-footer>
+            <button nbButton (click)="ref.close()">Close</button>
+          </nb-card-footer>
+        </nb-card>
+      </ng-template>
     </div>
     <div id="grayscaleInput">
       <input
diff --git a/src/app/pages/simulation-wizard/results-map/results-map.component.ts b/src/app/pages/simulation-wizard/results-map/results-map.component.ts
index a4aac8e1..28952550 100644
--- a/src/app/pages/simulation-wizard/results-map/results-map.component.ts
+++ b/src/app/pages/simulation-wizard/results-map/results-map.component.ts
@@ -1,9 +1,9 @@
-import { Component, Input } from "@angular/core";
+import { Component, Input, TemplateRef } from "@angular/core";
 import * as L from "leaflet";
 import { SimulationService } from "../utils/services/simulation.service";
 import * as MapColors from "./map-colors-local";
-import { legendInverted, ratiosBetweenGrades } from "./results-map-settings"
-import { NbToastrService } from "@nebular/theme";
+import { legendInverted, ratiosBetweenGrades } from "./results-map-settings";
+import { NbToastrService, NbDialogService } from "@nebular/theme";
 import { Simulation } from "../utils/data/simulation";
 
 @Component({
@@ -42,34 +42,35 @@ export class ResultsMapComponent {
 
   constructor(
     private simulationService: SimulationService,
-    private toastrService: NbToastrService
-  ) { }
+    private toastrService: NbToastrService,
+    private dialogService: NbDialogService
+  ) {}
   onMapReady(map: L.Map) {
     this.map = map;
     this.grayscaleChange();
     setTimeout(() => {
       this.map.invalidateSize();
     }, 50);
-    setTimeout(() => {
-      console.log(
-        "%cTemporary",
-        "background: crimson; font-weight: bold; color: black; font-family: serif; padding: 0 10px;"
-      );
-      const celkomplet: HTMLElement = document.querySelectorAll(
-        ".ng-tns-c441-0.appearance-filled.size-medium.shape-rectangle.status-primary.ng-star-inserted.nb-transition"
-      )[6] as HTMLElement;
-      celkomplet.click();
-    }, 995);
-    setTimeout(() => {
-      console.log(
-        "%cTemporary",
-        "background: peru; font-weight: bold; color: black; font-family: serif; padding: 0 10px;"
-      );
-      const celkomplet: HTMLElement = document.querySelectorAll(
-        ".buttons.ng-tns-c441-0"
-      )[0] as HTMLElement;
-      celkomplet.style.display = "none";
-    }, 1000);
+    // setTimeout(() => {
+    //   console.log(
+    //     "%cTemporary",
+    //     "background: crimson; font-weight: bold; color: black; font-family: serif; padding: 0 10px;"
+    //   );
+    //   const celkomplet: HTMLElement = document.querySelectorAll(
+    //     ".ng-tns-c441-0.appearance-filled.size-medium.shape-rectangle.status-primary.ng-star-inserted.nb-transition"
+    //   )[6] as HTMLElement;
+    //   celkomplet.click();
+    // }, 995);
+    // setTimeout(() => {
+    //   console.log(
+    //     "%cTemporary",
+    //     "background: peru; font-weight: bold; color: black; font-family: serif; padding: 0 10px;"
+    //   );
+    //   const celkomplet: HTMLElement = document.querySelectorAll(
+    //     ".buttons.ng-tns-c441-0"
+    //   )[0] as HTMLElement;
+    //   celkomplet.style.display = "none";
+    // }, 1000);
   }
 
   onLoad(selectedKpi: string) {
@@ -176,7 +177,10 @@ export class ResultsMapComponent {
         this.maxKeyValues["maxValue_" + legendType] == undefined ||
         this.maxKeyValues["maxValue_" + legendType] == 0
       ) {
-        this.toastrService.info("Geojson not displayed because all values are undefined or zero!", "Geojson not displayed")
+        this.toastrService.info(
+          "Geojson not displayed because all values are undefined or zero!",
+          "Geojson not displayed"
+        );
         let div = L.DomUtil.create("div");
         div.innerHTML += `<p style='background:white; display: inline; font-size:17px; padding: 0 7px; background: #ff3d71'>Values for ${legendType} kpi are undefined or zero!</p>`;
         return div;
@@ -186,24 +190,19 @@ export class ResultsMapComponent {
       const grades = [
         0,
         this.limitMyDigits(
-          this.maxKeyValues["maxValue_" + legendType] /
-          ratiosBetweenGrades[0]
+          this.maxKeyValues["maxValue_" + legendType] / ratiosBetweenGrades[0]
         ),
         this.limitMyDigits(
-          this.maxKeyValues["maxValue_" + legendType] /
-          ratiosBetweenGrades[1]
+          this.maxKeyValues["maxValue_" + legendType] / ratiosBetweenGrades[1]
         ),
         this.limitMyDigits(
-          this.maxKeyValues["maxValue_" + legendType] /
-          ratiosBetweenGrades[2]
+          this.maxKeyValues["maxValue_" + legendType] / ratiosBetweenGrades[2]
         ),
         this.limitMyDigits(
-          this.maxKeyValues["maxValue_" + legendType] /
-          ratiosBetweenGrades[3]
+          this.maxKeyValues["maxValue_" + legendType] / ratiosBetweenGrades[3]
         ),
         this.limitMyDigits(
-          this.maxKeyValues["maxValue_" + legendType] /
-          ratiosBetweenGrades[4]
+          this.maxKeyValues["maxValue_" + legendType] / ratiosBetweenGrades[4]
         ),
       ];
 
@@ -364,8 +363,8 @@ export class ResultsMapComponent {
         this.maxKeyValues["maxValue_" + keys[f]] == 0
       ) {
         tmp = L.geoJSON(<any>{
-          "type": "FeatureCollection",
-          "features": []
+          type: "FeatureCollection",
+          features: [],
         });
       } else {
         if (keys[f] == "capacity") {
@@ -377,7 +376,9 @@ export class ResultsMapComponent {
                 keys[f],
                 this.maxKeyValues[`maxValue_${keys[f]}`],
                 ratiosBetweenGrades,
-                parseInt(feature["properties"]["capacity"]) == 9999 ? true : false
+                parseInt(feature["properties"]["capacity"]) == 9999
+                  ? true
+                  : false
               ),
               opacity: this.geoJsonStyleOpacity,
             }),
@@ -394,11 +395,13 @@ export class ResultsMapComponent {
               color: MapColors.getColorHighToLow(
                 feature["properties"]["cityWide"]["traffic"]
                   .dailyInternalBikeTravels ||
-                feature["properties"].dailyInternalBikeTravels,
+                  feature["properties"].dailyInternalBikeTravels,
                 keys[f],
                 this.maxKeyValues[`maxValue_${keys[f]}`],
                 ratiosBetweenGrades,
-                parseInt(feature["properties"]["capacity"]) == 9999 ? true : false
+                parseInt(feature["properties"]["capacity"]) == 9999
+                  ? true
+                  : false
               ),
               opacity: this.geoJsonStyleOpacity,
             }),
@@ -415,11 +418,13 @@ export class ResultsMapComponent {
               color: MapColors.getColor(
                 feature["properties"]["cityWide"]["traffic"]
                   .pedestrianTravelTime ||
-                feature["properties"].pedestrianTravelTime,
+                  feature["properties"].pedestrianTravelTime,
                 keys[f],
                 this.maxKeyValues[`maxValue_${keys[f]}`],
                 ratiosBetweenGrades,
-                parseInt(feature["properties"]["capacity"]) == 9999 ? true : false
+                parseInt(feature["properties"]["capacity"]) == 9999
+                  ? true
+                  : false
               ),
               opacity: this.geoJsonStyleOpacity,
             }),
@@ -438,7 +443,9 @@ export class ResultsMapComponent {
                 keys[f],
                 this.maxKeyValues[`maxValue_${keys[f]}`],
                 ratiosBetweenGrades,
-                parseInt(feature["properties"]["capacity"]) == 9999 ? true : false
+                parseInt(feature["properties"]["capacity"]) == 9999
+                  ? true
+                  : false
               ),
               opacity: this.geoJsonStyleOpacity,
             }),
@@ -473,17 +480,17 @@ export class ResultsMapComponent {
           if (this.maxKeyValues[`maxValue_${keys[f]}`] == undefined) {
             this.maxKeyValues[`maxValue_${keys[f]}`] =
               jsonFile["features"][g]["properties"]["cityWide"]["pollution"][
-              keys[f]
+                keys[f]
               ];
           }
           if (
             jsonFile["features"][g]["properties"]["cityWide"]["pollution"][
-            keys[f]
+              keys[f]
             ] > this.maxKeyValues[`maxValue_${keys[f]}`]
           ) {
             this.maxKeyValues[`maxValue_${keys[f]}`] =
               jsonFile["features"][g]["properties"]["cityWide"]["pollution"][
-              keys[f]
+                keys[f]
               ];
           }
         }
@@ -494,17 +501,17 @@ export class ResultsMapComponent {
           if (this.maxKeyValues[`maxValue_${keys[f]}`] == undefined) {
             this.maxKeyValues[`maxValue_${keys[f]}`] =
               jsonFile["features"][g]["properties"]["cityWide"]["traffic"][
-              keys[f]
+                keys[f]
               ];
           }
           if (
             jsonFile["features"][g]["properties"]["cityWide"]["traffic"][
-            keys[f]
+              keys[f]
             ] > this.maxKeyValues[`maxValue_${keys[f]}`]
           ) {
             this.maxKeyValues[`maxValue_${keys[f]}`] =
               jsonFile["features"][g]["properties"]["cityWide"]["traffic"][
-              keys[f]
+                keys[f]
               ];
           }
         }
@@ -584,4 +591,10 @@ export class ResultsMapComponent {
       });
     }
   }
+
+  openOverviewOfIndicators(dialog: TemplateRef<any>) {
+    this.dialogService.open(dialog, {
+      context: this.selectedSimulation["city"]["cityId"]
+    });
+  }
 }
diff --git a/src/assets/images/overviewOfIndicatorsAmsterdam.png b/src/assets/images/overviewOfIndicatorsAmsterdam.png
new file mode 100644
index 0000000000000000000000000000000000000000..06b8ff8eadfc3d28210c222b8bf1f0e182406e3d
GIT binary patch
literal 2687
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

literal 0
HcmV?d00001

diff --git a/src/assets/images/overviewOfIndicatorsBilbao.png b/src/assets/images/overviewOfIndicatorsBilbao.png
new file mode 100644
index 0000000000000000000000000000000000000000..f1412b8aa99c3db2cf2de7f32d5325b671984f91
GIT binary patch
literal 4748
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

literal 0
HcmV?d00001

diff --git a/src/assets/images/overviewOfIndicatorsHelsinki.png b/src/assets/images/overviewOfIndicatorsHelsinki.png
new file mode 100644
index 0000000000000000000000000000000000000000..97521a8252ce50e181a6f27038f572721380d81b
GIT binary patch
literal 3959
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

literal 0
HcmV?d00001

diff --git a/src/assets/images/overviewOfIndicatorsMessina.png b/src/assets/images/overviewOfIndicatorsMessina.png
new file mode 100644
index 0000000000000000000000000000000000000000..12900cd5021e9868289266dc067dda3a3da74b66
GIT binary patch
literal 4244
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

literal 0
HcmV?d00001

-- 
GitLab