UNPKG

hlc-server

Version:

Serves real-time real-world context at a human scale by combining RFID, RTLS and M2M with structured, linked data on the web. We believe in an open Internet of Things.

334 lines (333 loc) 15 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="Associate JSON-LD & Schema.org stories with radio-identifiable devices."> <link rel="stylesheet" href="../../style/bootstrap.min.css"> <link rel="stylesheet" href="../../style/reelyactive.css"> <title> Story Association by reelyActive </title> </head> <body> <!----- Navigation -----> <nav class="navbar navbar-expand-lg navbar-reelyactive bg-reelyactive"> <a class="navbar-brand" href="https://www.reelyactive.com/"> <img src="../../images/reelyactive-logo-nav.png" width="165" height="30" alt="reelyActive"> </a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-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"> <ul class="navbar-nav mr-auto"></ul> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link" href="../../"> <i class="fas fa-home"></i> </a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fas fa-question-circle"></i> </a> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown"> <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 badge-success"> <i class="fas fa-user-shield"></i> </span> </a> <div class="dropdown-divider"></div> <a class="dropdown-item" target="_blank" href="https://getbootstrap.com" > <i class="fab fa-bootstrap"></i> Bootstrap 4 &nbsp; <span class="badge badge-light"> <i class="fab fa-osi"></i> MIT </span> </a> <a class="dropdown-item" target="_blank" href="https://fontawesome.com" > <i class="fab fa-font-awesome"></i> Font Awesome (Free) &nbsp; <span class="badge badge-light"> <i class="fab fa-creative-commons"></i> <i class="fab fa-osi"></i> MIT </span> </a> <a class="dropdown-item" target="_blank" href="https://jquery.com" > <i class="fab fa-js"></i> JQuery &nbsp; <span class="badge badge-light"> <i class="fab fa-osi"></i> MIT </span> </a> <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 badge-light"> <i class="fab fa-osi"></i> MIT </span> </a> <div class="dropdown-divider"></div> <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> </div> </li> </ul> </div> </nav> <!----- Content -----> <div class="container-fluid"> <div class="row justify-content-center my-4"> <!-- Device selection --> <div class="col-sm-12 col-md-12 col-lg-12 col-xl-8"> <h2> Select a device </h2> <ul class="nav nav-tabs" role="tablist"> <li class="nav-item"> <a class="nav-link active" id="idtab" data-toggle="tab" href="#idcontent" role="tab" aria-controls="idcontent" aria-selected="true"> <i class="fas fa-barcode"></i> &nbsp; Select by ID </a> </li> <li class="nav-item"> <a class="nav-link disabled" id="locationtab" data-toggle="tab" href="#locationcontent" role="tab" aria-controls="locationcontent" aria-selected="false"> <i class="fas fa-map-pin"></i> &nbsp; Select by Location </a> </li> </ul> <div class="tab-content tab-content-reelyactive"> <!-- By ID --> <div class="tab-pane fade show active" id="idcontent" role="tabpanel" aria-labelledby="idtab"> <form class="form-inline my-2" onsubmit="return false;"> <div class="input-group mb-2 mr-sm-2"> <div class="input-group-prepend"> <div class="input-group-text"> <i class="fas fa-barcode"></i> &nbsp; Device ID </div> </div> <div class="dropdown"> <input type="text" class="form-control dropdown-toggle" id="idFilter" size="16" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" placeholder="Start typing"> <div class="dropdown-menu" id="idDropdown" aria-labelledby="idFilter"> </div> </div> <div class="input-group-append"> <button class="btn btn-outline-secondary" type="button" id="resetButton"> <i class="fas fa-undo-alt"></i> </button> </div> </div> <button type="submit" class="btn btn-primary mb-2" id="selectButton" disabled> Select </button> </form> </div> <!-- By Location --> <div class="tab-pane fade" id="idcontent" role="tabpanel" aria-labelledby="idtab"> </div> </div> </div> </div> <div class="row justify-content-center my-4"> <!-- Story entry --> <div class="col-sm-12 col-md-6 col-lg-6 col-xl-4"> <h2 id="storyActionTitle"> Create a story </h2> <ul class="nav nav-tabs" role="tablist"> <li class="nav-item"> <a class="nav-link active" id="persontab" data-toggle="tab" href="#personcontent" role="tab" aria-controls="personcontent" aria-selected="true"> <i class="fas fa-user-alt"></i> &nbsp; Person </a> </li> <li class="nav-item"> <a class="nav-link" id="producttab" data-toggle="tab" href="#productcontent" role="tab" aria-controls="productcontent" aria-selected="false"> <i class="fas fa-box"></i> &nbsp; Product </a> </li> <li class="nav-item"> <a class="nav-link" id="placetab" data-toggle="tab" href="#placecontent" role="tab" aria-controls="placecontent" aria-selected="false"> <i class="fas fa-map-pin"></i> &nbsp; Place </a> </li> </ul> <div class="tab-content tab-content-reelyactive"> <!-- Person --> <div class="tab-pane fade show active" id="personcontent" role="tabpanel" aria-labelledby="persontab"> <form id="personForm" enctype="multipart/form-data"> <div class="form-group"> <label for="personGivenName"> Given Name </label> <input type="text" class="form-control" id="personGivenName" placeholder="Given Name"> </div> <div class="form-group"> <label for="personFamilyName"> Family Name </label> <input type="text" class="form-control" id="personFamilyName" placeholder="Family Name"> </div> <div class="form-group"> <label for="personImageInput"> Image </label> <input type="file" class="form-control-file" id="personImageInput"> </div> <p id="error"></p> <!-- TODO: remove/improve --> </form> </div> <!-- Product --> <div class="tab-pane fade" id="productcontent" role="tabpanel" aria-labelledby="producttab"> <form id="productForm" enctype="multipart/form-data"> <div class="form-group"> <label for="productName"> Name </label> <input type="text" class="form-control" id="productName" placeholder="Name"> </div> <div class="form-group"> <label for="productManufacturer"> Manufacturer </label> <input type="text" class="form-control" id="productManufacturer" placeholder="Manufacturer"> </div> <div class="form-group"> <label for="productImageInput"> Image </label> <input type="file" class="form-control-file" id="productImageInput"> </div> </form> </div> <!-- Place --> <div class="tab-pane fade" id="placecontent" role="tabpanel" aria-labelledby="placetab"> <form id="placeForm" enctype="multipart/form-data"> <div class="form-group"> <label for="placeName"> Name </label> <input type="text" class="form-control" id="placeName" placeholder="Name"> </div> <div class="form-group"> <label for="placeCapacity"> Maximum attendee capacity </label> <input type="number" class="form-control" id="placeCapacity" placeholder="25"> </div> <div class="form-group"> <label for="placeImageInput"> Image </label> <input type="file" class="form-control-file" id="placeImageInput"> </div> </form> </div> </div> <!-- Actions to store the story --> <div id="storeStory" class="text-center my-4"> <button type="button" class="btn btn-primary" id="storeButton" disabled> <i class="fas fa-database"></i> &nbsp; Store and Associate </button> </div> <!-- Actions to access the stored story --> <div id="accessStory" hidden> <form class="mt-4" id="storyUrlForm"> <div class="form-group"> <label for="storyUrl"> Access the story via the following URL: </label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text"> <i class="fas fa-link"></i> </span> </div> <input type="url" id="storyUrl" class="form-control" readonly></input> </div> </div> </form> <div class="text-center mb-4"> <div class="btn-group" role="group"> <button type="button" class="btn btn-secondary" id="copyButton"> <i class="fas fa-copy"></i> &nbsp; Copy URL </button> <a type="button" class="btn btn-dark" id="visitButton" target="_blank"> <i class="fas fa-external-link-alt"></i> &nbsp; Visit URL </a> <a type="button" class="btn btn-dark" id="associationsButton" target="_blank"> <i class="fas fa-external-link-alt"></i> &nbsp; Visit Associations </a> </div> </div> </div> </div> <!-- Story visualisation --> <div class="col-sm-12 col-md-6 col-lg-6 col-xl-4"> <h2> Story preview </h2> <ul class="nav nav-tabs" role="tablist"> <li class="nav-item"> <a class="nav-link active" id="humantab" data-toggle="tab" href="#humancontent" role="tab" aria-controls="humancontent" aria-selected="true"> <i class="fas fa-user-alt"></i> &nbsp; Human-readable </a> </li> <li class="nav-item"> <a class="nav-link" id="machinetab" data-toggle="tab" href="#machinecontent" role="tab" aria-controls="machinecontent" aria-selected="false"> <i class="fas fa-code"></i> &nbsp; Machine-readable </a> </li> </ul> <div class="tab-content tab-content-reelyactive"> <!-- Human-readable content --> <div class="tab-pane fade show active" id="humancontent" role="tabpanel" aria-labelledby="humantab"> <div class="card" id="visualPreview"></div> </div> <!-- Machine-readable content --> <div class="tab-pane fade" id="machinecontent" role="tabpanel" aria-labelledby="machinetab"> <pre id="storyPreview"></pre> </div> </div> </div> </div> </div> <footer class="footer"> <a href="https://github.com/reelyactive/hlc-server"> hlc-server </a> &nbsp; | &nbsp; <a href="https://www.reelyactive.com"> &copy; reelyActive 2014-2021 </a> </footer> <script defer src="../../js/solid.min.js"></script> <script defer src="../../js/brands.min.js"></script> <script defer src="../../js/fontawesome.min.js"></script> <script src="../../js/jquery-3.4.0.min.js"></script> <script src="../../js/bootstrap.bundle.min.js"></script> <script src="../../js/socket.io.min.js"></script> <script src="../../js/beaver.js"></script> <script src="../../js/cormorant.js"></script> <script src="../../js/cuttlefish.js"></script> <script src="js/story-association.js"></script> </body> </html>