UNPKG

pareto-anywhere

Version:

Open source IoT middleware suite that makes the data from just about anything usable. We believe in an open Internet of Things.

424 lines (422 loc) 19 kB
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content="Hyperlocal Context Explorer web app for Pareto Anywhere by reelyActive."> <link rel="stylesheet" href="../style/bootstrappyactive.min.css"> <script type="module" src="../js/color-modes.js"></script> <title> Hyperlocal Context Explorer </title> </head> <body> <!-- Navigation --> <nav class="navbar sticky-top navbar-expand-lg bg-body-tertiary shadow"> <div class="container-fluid"> <a class="navbar-brand" href="https://www.reelyactive.com/"> <img src="../images/reelyactive-logo-square-nav.png" width="30" height="30" alt="reelyActive"> </a> <a class="navbar-brand" href="../"> <img src="../images/pareto-apps-logo-nav.png" width="135" height="30" alt="Pareto Apps"> </a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarItems" aria-controls="navbarItems" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarItems"> <!-- Left-aligned navigation items --> <ul class="navbar-nav me-auto mb-2 mb-lg-0"> </ul> <!-- Right-aligned navigation items --> <ul class="navbar-nav"> <li class="nav-item"> <a id="connectIcon" class="nav-link" hidden> <i class="fas fa-cloud"></i> </a> </li> <li class="nav-item"> <a id="reinitialise" class="nav-link"> <i class="fas fa-redo"></i> </a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" id="navbarSettingsDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fas fa-sliders-h"></i> </a> <!-- Settings menu --> <ul class="dropdown-menu dropdown-menu-end shadow" aria-labelledby="navbarSettingsDropdown"> <li> <form class="dropdown-item p-2"> <legend> Updates </legend> <div class="form-check form-switch mb-3"> <input class="form-check-input" type="checkbox" role="switch" id="enablePollingSwitch" checked> <label class="form-check-label" for="enablePollingSwitch" id="enablePollingMessage"> Enabled </label> </div> <div id="intervalRangeDisplay"> <div> <input type="range" class="form-range" min="2" max="60" step="1" value="10" id="intervalRange"> </div> <div class="text-center text-primary mb-1"> <i class="fas fa-history"></i> <span id="intervalValue">10</span>s </div> </div> <legend> Filters </legend> <div id="minRSSIDisplay"> <div> <input type="range" class="form-range" min="-120" max="-30" step="1" value="-99" id="minRSSIRange"> </div> <div class="text-center text-primary mb-1"> <i class="fas fa-signal"></i> <span id="minRSSIValue">-99</span>dBm<sub>min</sub> </div> </div> </form> </li> </ul> </li> <!-- Colour theme chooser --> <li class="nav-item dropdown"> <button class="btn btn-link nav-link dropdown-toggle" id="bd-theme" type="button" aria-expanded="false" data-bs-toggle="dropdown" data-bs-display="static" aria-label="Toggle theme (auto)"> <i class="fas fa-adjust"></i> </button> <ul class="dropdown-menu dropdown-menu-end shadow" aria-labelledby="bd-theme-text"> <li> <button type="button" class="dropdown-item" data-bs-theme-value="light" aria-pressed="false"> <i class="fas fa-sun"></i> Light </button> </li> <li> <button type="button" class="dropdown-item" data-bs-theme-value="dark" aria-pressed="false"> <i class="fas fa-moon"></i> Dark </button> </li> <li> <button type="button" class="dropdown-item active" data-bs-theme-value="auto" aria-pressed="true"> <i class="fas fa-adjust"></i> Auto </button> </li> </ul> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" id="navbarInfoDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fas fa-question-circle"></i> </a> <!-- Info about tracking and open source software/licenses --> <ul class="dropdown-menu dropdown-menu-end shadow" aria-labelledby="navbarInfoDropdown"> <li> <a class="dropdown-item" href="https://www.reelyactive.com/how-we-observe/#digital"> <i class="fas fa-mouse-pointer"></i> Behaviour tracking free &nbsp; <span class="badge bg-success animate-breathing"> <i class="fas fa-user-shield"></i> </span> </a> </li> <li class="dropdown-divider"></li> <li> <a class="dropdown-item" target="_blank" href="https://getbootstrap.com" > <i class="fab fa-bootstrap"></i> Bootstrap 5 &nbsp; <span class="badge bg-light text-dark"> <i class="fab fa-osi"></i> MIT </span> </a> </li> <li> <a class="dropdown-item" target="_blank" href="https://fontawesome.com" > <i class="fab fa-font-awesome"></i> Font Awesome (Free) &nbsp; <span class="badge bg-light text-dark"> <i class="fab fa-creative-commons"></i> <i class="fab fa-osi"></i> MIT </span> </a> </li> <li> <a class="dropdown-item" target="_blank" href="https://github.com/reelyactive/web-style-guide/" > <i class="fas fa-code"></i> Web Style Guide &nbsp; <span class="badge bg-light text-dark"> <i class="fab fa-osi"></i> MIT </span> </a> </li> <li class="dropdown-divider"></li> <li> <a class="dropdown-item" target="_blank" href="https://github.com/reelyactive/charlotte/"> <i class="fab fa-js"></i> charlotte.js &nbsp; <span class="badge bg-light text-dark"> <i class="fab fa-osi"></i> MIT </span> </a> </li> <li> <a class="dropdown-item" target="_blank" href="https://github.com/reelyactive/cuttlefish/"> <i class="fab fa-js"></i> cuttlefish.js &nbsp; <span class="badge bg-light text-dark"> <i class="fab fa-osi"></i> MIT </span> </a> </li> <li> <a class="dropdown-item" target="_blank" href="https://github.com/reelyactive/cormorant/"> <i class="fab fa-js"></i> cormorant.js &nbsp; <span class="badge bg-light text-dark"> <i class="fab fa-osi"></i> MIT </span> </a> </li> <li> <a class="dropdown-item" target="_blank" href="https://github.com/reelyactive/beaver/"> <i class="fab fa-js"></i> beaver.js &nbsp; <span class="badge bg-light text-dark"> <i class="fab fa-osi"></i> MIT </span> </a> </li> <li> <a class="dropdown-item" target="_blank" href="https://js.cytoscape.org/" > <i class="fab fa-js"></i> cytoscape.js &nbsp; <span class="badge bg-light text-dark"> <i class="fab fa-osi"></i> MIT </span> </a> </li> <li> <a class="dropdown-item" target="_blank" href="https://socket.io/" > <i class="fab fa-js"></i> socket.io 4 &nbsp; <span class="badge bg-light text-dark"> <i class="fab fa-osi"></i> MIT </span> </a> </li> <li class="dropdown-divider"></li> <li> <a class="dropdown-item" target="_blank" href="https://www.reelyactive.com/made-in-montreal/" > <i class="fab fa-canadian-maple-leaf"></i> Made in Montr&eacute;al &nbsp; <i class="fas fa-city"></i> </a> </li> </ul> </li> </ul> </div> </div> </nav> <!-- Content --> <div class="container-fluid"> <div class="position-relative"> <div class="position-absolute top-0 start-0 mt-4 ms-4"> <div class="alert alert-ambient alert-dismissible fade show" role="alert" id="demoalert" hidden> <i class="fas fa-exclamation-triangle animate-breathing me-2"></i> Could not connect to Pareto Anywhere API, <a href="?demo=default&updates=periodic" style="z-index: 2" class="alert-link position-relative"> enable demo </a> instead? <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> </div> <h4 class="text-body-secondary text-break mb-3"> <i class="fas fa-search"></i>&nbsp; <span id="searchRoute"> /context </span> </h4> <h6 class="text-body-secondary text-break ms-1"> <i class="fas fa-clock"></i>&nbsp; <span id="time"> time </span> </h6> </div> </div> <div class="d-block"> <div id="cy-container"> <div id="cy" class="w-100 h-100"></div> </div> </div> <div class="offcanvas offcanvas-end visible" data-bs-scroll="true" data-bs-backdrop="false" tabindex="-1" id="offcanvas" aria-labelledby="offcanvasTitle"> <div class="offcanvas-header"> <h5 class="offcanvas-title"> <span class="badge rounded-pill bg-secondary"> <i class="fas fa-barcode"></i> </span> <span class="font-monospace user-select-all" id="offcanvasTitle"></span> </h5> <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button> </div> <div class="offcanvas-body" id="offcanvasBody"> <div id="storyDisplay"></div> <div id="dynambDisplay" class="my-4"></div> <div id="statidDisplay" class="my-4"></div> <div id="editDisplay" class="my-4"> <ul class="nav nav-tabs" role="tablist"> <li class="nav-item" role="presentation"> <button class="nav-link active" id="storytab" data-bs-toggle="tab" data-bs-target="#storycontent" type="button" role="tab" aria-controls="storytab" aria-selected="true"> Story </button> </li> <li class="nav-item" role="presentation"> <button class="nav-link" id="associationstab" role="tab" data-bs-toggle="tab" aria-controls="associationstab" data-bs-target="#associationscontent" type="button" aria-selected="false"> Associations </button> </li> </ul> <div class="tab-content tab-content-border border-light-subtle"> <!-- Story tab --> <div class="tab-pane fade show active" id="storycontent" role="tabpanel" aria-labelledby="storytab"> <form class="my-2" onsubmit="return false;"> <select class="form-select mb-2" id="inputSelectType" aria-label="Story type"> <option value="Product" selected> Product </option> <option value="Person">Person</option> <option value="Place">Place</option> </select> <div class="input-group mb-2"> <span class="input-group-text"> Name </span> <input class="form-control" id="inputName" type="text" aria-label="Name"> </div> <div class="form-group mb-2"> <label for="inputImage"> Image </label> <input type="file" class="form-control-file" id="inputImage"> </div> <div class="text-center"> <button type="submit" class="btn btn-sm btn-primary" id="createStory"> Store & Associate </button> </div> </form> </div> <!-- Associations tab --> <div class="tab-pane fade" id="associationscontent" role="tabpanel" aria-labelledby="associationstab"> <form class="my-2" onsubmit="return false;"> <div class="input-group"> <span class="input-group-text"> <i class="fas fa-link"></i> &nbsp; url </span> <input class="form-control" id="inputUrl" type="url"> <button class="btn btn-primary" type="button" id="updateUrl"> <i class="fas fa-save"></i> </button> </input> </div> </form> <form class="my-2" onsubmit="return false;"> <div class="input-group"> <span class="input-group-text"> <i class="fas fa-tags"></i> &nbsp; tags </span> <input class="form-control" id="inputTags" type="text"> <button class="btn btn-primary" type="button" id="updateTags"> <i class="fas fa-save"></i> </button> </input> </div> </form> <form class="my-2" onsubmit="return false;"> <div class="input-group"> <span class="input-group-text"> <i class="fas fa-sitemap"></i> &nbsp; directory </span> <input class="form-control" id="inputDirectory" type="text"> <button class="btn btn-primary" type="button" id="updateDirectory"> <i class="fas fa-save"></i> </button> </input> </div> </form> <form class="my-2" onsubmit="return false;"> <div class="input-group"> <span class="input-group-text"> <i class="fas fa-map-marked-alt"></i> &nbsp; position </span> <input class="form-control" id="inputPosition" type="text"> <button class="btn btn-primary" type="button" id="updatePosition"> <i class="fas fa-save"></i> </button> </input> </div> </form> <p id="associationError" hidden></p> </div> </div> </div> </div> </div> </div> <footer class="footer bg-dark bg-gradient"> <a href="https://github.com/reelyactive/pareto-anywhere-apps"> pareto-anywhere-apps </a> &nbsp; | &nbsp; <a href="https://www.reelyactive.com"> &copy; reelyActive 2018-2025 </a> </footer> <!-- Optional JavaScript --> <script defer src="../js/fontawesome-reelyactive.min.js"></script> <script src="../js/bootstrappyactive.bundle.min.js"></script> <script src="../js/cytoscape.min.js"></script> <script src="../js/layout-base.js"></script> <script src="../js/cose-base.js"></script> <script src="../js/cytoscape-fcose.js"></script> <script src="../js/socket.io.min.js"></script> <script src="../js/charlotte.js"></script> <script src="../js/cormorant.js"></script> <script src="../js/beaver.js"></script> <script src="../js/cuttlefish-story.js"></script> <script src="../js/cuttlefish-dynamb.js"></script> <script src="../js/cuttlefish-statid.js"></script> <script src="../js/starling.js"></script> <script src="../js/hlc-explorer.js"></script> </body> </html>