• Pithon Kabiro's avatar
    Edit function: create full title for chart · 6838b0dd
    Pithon Kabiro authored
    Create a full title for line and column charts.
    
    Ensure that title contains all the selected data points when
    aggregation is selected. Before this fix, only the first data point
    was included
    6838b0dd
index.html 13.82 KiB
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1, shrink-to-fit=no"
    />
    <meta name="description" content="" />
    <meta name="author" content="" />
    <title>Dashboard - iCity Bosch</title>
    <link href="css/thirdparty/styles.css" rel="stylesheet" />
    <link
      href="https://cdn.datatables.net/1.10.20/css/dataTables.bootstrap4.min.css"
      rel="stylesheet"
      crossorigin="anonymous"
    <!--     
    CUSTOM CSS -->
    <link href="css/stylesCustom.css" rel="stylesheet" />
    <!-- Font Awesome icons -->
    <script
      src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/js/all.min.js"
      crossorigin="anonymous"
    ></script>
    <!-- Axios -->
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
    <!-- Higcharts -->
    <!-- `highcharts.js` does not play well with `highstock.js`; see: https://www.highcharts.com/errors/16/-->
    <!-- <script src="https://code.highcharts.com/highcharts.js"></script> -->
    <script src="https://code.highcharts.com/stock/highstock.js"></script>
    <script src="https://code.highcharts.com/stock/modules/data.js"></script>
    <script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
    <script src="https://code.highcharts.com/stock/modules/export-data.js"></script>
    <script src="https://code.highcharts.com/modules/heatmap.js"></script>
    <script src="https://code.highcharts.com/modules/data.js"></script>
    <script src="https://code.highcharts.com/modules/boost-canvas.js"></script>
    <script src="https://code.highcharts.com/modules/boost.js"></script>
    <script src="https://code.highcharts.com/modules/accessibility.js"></script>
    <script src="https://code.highcharts.com/modules/offline-exporting.js"></script>
    <!-- Cesium -->
    <script src="https://cesium.com/downloads/cesiumjs/releases/1.48/Build/Cesium/Cesium.js"></script>
    <link
      href="https://cesium.com/downloads/cesiumjs/releases/1.48/Build/Cesium/Widgets/widgets.css"
      rel="stylesheet"
    <!-- Bootstrap dashboard template -->
    <script
      src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
      crossorigin="anonymous"
    ></script>
    <script
      src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js"
      crossorigin="anonymous"
    ></script>
    <script src="js/thirdparty/scripts.js"></script>
    <!-- vanillaSelectBox -->
    <link href="css/thirdparty/vanillaSelectBox.css" rel="stylesheet" />
    <!--     
    Custom JS -->
    <script defer type="module" src="js/appCesium.js"></script>
<script defer type="module" src="js/appChart.js"></script> </head> <body class="sb-nav-fixed"> <nav class="sb-topnav navbar navbar-expand navbar-dark bg-dark"> <a class="navbar-brand" href="index.html">iCity Bosch Dashboard</a> <button class="btn btn-link btn-sm order-1 order-lg-0" id="sidebarToggle" href="#" > <i class="fas fa-bars"></i> </button> </nav> <div id="layoutSidenav"> <div id="layoutSidenav_nav"> <nav class="sb-sidenav accordion sb-sidenav-dark" id="sidenavAccordion"> <div class="sb-sidenav-menu"> <div class="nav"> <div class="sb-sidenav-menu-heading">Core</div> <a class="nav-link" href="index.html"> <div class="sb-nav-link-icon"> <i class="fas fa-tachometer-alt"></i> </div> Dashboard </a> </div> </div> </nav> </div> <div id="layoutSidenav_content"> <main> <div class="container-fluid"> <h1 class="mt-4">Dashboard</h1> <ol class="breadcrumb mb-4"> <li class="breadcrumb-item active">Dashboard</li> </ol> <div class="row"> <div class="col-xl-12"> <div class="card mb-4"> <div class="card-header"> <i class="fas fa-globe mr-1"></i> 3D Visualization </div> <div class="card-body" id="cesiumGlobeContainerParent"> <div class="custom-toolbar" id="menu"> <!-- <h2>Sample NYC Geocaches</h2> <span><strong>Camera Mode</strong></span> <div class="nowrap"> <input id="freeMode" name="source" type="radio" checked /> <label for="freeMode">Free</label> </div> <div class="nowrap"> <input id="droneMode" name="source" type="radio" /> <label for="droneMode">Drone View</label> </div> <br /> --> <div id="drop-down--chart-type-parent"> <span><strong>Chart type</strong></span> <div class="nowrap"> <!-- We need the `multiple` attribute for the dropdowns even if we do not need to support multiple selections. This seems to be a quirk of the `vanillaSelectBox` library --> <select id="drop-down--chart-type" multiple> <option>Column</option>
<option>Line</option> <option>Heatmap</option> <option>Scatter Plot</option> </select> </div> </div> <br /> <div id="drop-down--bldg-data-point-parent"> <span><strong>Building(s), Data Point(s)</strong></span> <div class="nowrap"> <select id="drop-down--bldg-data-point" multiple size="5" > <!-- Note: The values of the option elements have to be unique --> <optgroup label="Other"> <option>Außentemp</option> </optgroup> <optgroup label="Bau 101"> <option>101/VL</option> <option>101/RL</option> <option>101/dT</option> </optgroup> <optgroup label="Bau 102"> <option>102/VL</option> <option>102/RL</option> <option>102/dT</option> </optgroup> <optgroup label="Bau 107"> <option>107/VL</option> <option>107/RL</option> <option>107/dT</option> </optgroup> <optgroup label="Bau 112"> <option>112/VL</option> <option>112/RL</option> <option>112/dT</option> </optgroup> <optgroup label="Bau 125"> <option>125/VL</option> <option>125/RL</option> <option>125/dT</option> </optgroup> <optgroup label="Bau 225"> <option>225/VL</option> <option>225/RL</option> <option>225/dT</option> <option>225/Durchfluss</option> <option>225/Leistung</option> <option>225/Energie</option> <option>225/Energie_VERBR</option> </optgroup> </select> </div> </div> <br /> <div id="drop-down--aggregation-type-parent"> <span ><strong>Aggregation (Type, Duration)</strong></span > <div class="nowrap"> <!-- We need the `multiple` attribute for the dropdowns even if we do not need to support multiple selections. This seems to be a quirk of the `vanillaSelectBox` library --> <select id="drop-down--aggregation-type" multiple> <option>None (raw data)</option> <option>Sum/Daily</option> <option>Sum/Monthly</option> <option>Maximum/Daily</option>
<option>Maximum/Monthly</option> <option>Minimum/Daily</option> <option>Minimum/Monthly</option> <option>Average/Daily</option> <option>Average/Monthly</option> </select> </div> </div> <br /> <div id="drop-down--sampling-rate-parent"> <span><strong>Sampling rate</strong></span> <div class="nowrap"> <!-- We need the `multiple` attribute for the dropdowns even if we do not need to support multiple selections. This seems to be a quirk of the `vanillaSelectBox` library --> <select id="drop-down--sampling-rate" multiple> <option>15 min</option> <option>60 min</option> </select> </div> </div> <br /> <button id="btn-draw-chart">Draw Chart</button> <!-- <span><strong>Display Options</strong></span> <div class="nowrap"> <input id="shadows" type="checkbox" /> <label for="shadows">Shadows</label> </div> <div class="nowrap"> <input id="neighborhoods" type="checkbox" checked /> <label for="neighborhoods">Neighborhoods</label> </div> <br /> --> </div> <div id="cesiumGlobeContainer"></div> <!-- This div is empty; we use it for the loading indicator --> <div id="loadingIndicator" class="cover"> <div id="loadingIcon" class="loadingIndicator"></div> </div> </div> </div> </div> </div> <div class="row"> <div class="col-xl-6"> <div class="card mb-4"> <div class="card-header"> <i class="fas fa-chart-line mr-1"></i> Line Chart </div> <div class="card-body"> <div id="chart-line" width="100%" height="40"></div> </div> </div> </div> <div class="col-xl-6"> <div class="card mb-4"> <div class="card-header"> <i class="fas fa-chart-area mr-1"></i> Heatmap </div> <div class="card-body"> <div id="chart-heatmap" width="100%" height="40"></div> </div> </div> </div> </div> <div class="row"> <div class="col-xl-6">
<div class="card mb-4"> <div class="card-header"> <!-- No free scatter plot icon available; use this instead --> <i class="fas fa-braille mr-1"></i> Scatter Plot </div> <div class="card-body"> <div id="chart-scatter-plot" width="100%" height="40"></div> </div> </div> </div> <div class="col-xl-6"> <div class="card mb-4"> <div class="card-header"> <i class="far fa-chart-bar mr-1"></i> Column Chart </div> <div class="card-body"> <div id="chart-column" width="100%" height="40"></div> </div> </div> </div> </div> </div> </main> <footer class="py-4 bg-light mt-auto"> <div class="container-fluid"> <div class="d-flex align-items-center justify-content-between small" > <div class="text-muted">Copyright &copy; HfT Stuttgart 2021</div> <div> <a href="https://www.hft-stuttgart.de/impressum" target="_blank" >Impressum</a > &middot; <a href="https://www.hft-stuttgart.de/datenschutz" target="_blank" >Datenschutz</a > </div> </div> </div> </footer> </div> </div> </body> </html>