SightMap JS IFrame API Demo

Perq Open Unit

by Jacob Pearlstein

HTML

<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>SightMap JavaScript IFrame API Example</title>
    <script src="https://sightmap.com/embed/api.js">


    </script>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.css" />
    <script src="https://cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.js"></script>

  </head>

  <body>
    <div class="margin">
      <div class="head-container">
        <div class="title">
          <div class="textbox">
            Welcome to SightMap
          </div>
        </div>
        <div class="row mt-5">
          <div class="col-md-4">
            <button class="btn btn-primary mb-2" id="disable-ui"><span id="disable-ui-button-text">Disable</span> All UI</button>
            <button class="btn btn-primary mb-2" id="disable-unit-list"><span id="disable-unit-list-button-text">Disable</span> Unit List</button>
            <button class="btn btn-primary mb-2" id="disable-filters"><span id="disable-filters-button-text">Disable</span> Filters</button>
          </div>
          <div class="col-md-4">
            <!-- START SET UNIT NUMBERS MATCHES -->
            <div class="input-group mb-2">
              <input class="form-control" id="display-unit-numbers" placeholder="Set Unit Number Matches (i.e. P2-101,P1-100,A-103,102)" />
              <div class="input-group-append">
                <button class="btn btn-success" type="button" id="display-unit-numbers-button">Match Units</button>
              </div>
            </div>
            <!-- END SET UNIT NUMBERS MATCHES -->
            <!-- START LOCATE UNIT -->
            <div class="input-group mb-2">
        ...

CSS

* {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  margin: 0 auto;
  padding: 0;
  font-family: open sans, sans-serif;
}

.margin {
  margin: 20px;
  height: 75%;
}

.head-container {
  width: 95%;
  margin: auto;
}

nav.container {
  display: block;
  background-color: #333333;
  text-align: center;
  margin: auto;
}

.nav-button {
  text-align: center;
  color: white;
  width: 100%;
}

.sightmap-container {
  height: 100vh;
  min-height: 600px;
  align-items: center;
  justify-content: center;
}

.title {
  background-color: hsl(211, 38%, 61%);
  color: white;
  margin: auto;
  height: 15%;
}

.textbox {
  text-align: center;
  line-height: 233%;
  font-size: 40pt;
}

.button-list {
  display: flex;
  flex-direction: row;
}

JavaScript

$('document').ready(function() {
  // Create a new embed instance, providing the IFrame id value
  var embed = new SightMap.Embed('sightmap');

  console.log(embed);

  embed.on('ready', function() {
    console.log('hello world');
    // Usage requirements go here
  });

  $("#display-unit-numbers-button").on('click', function(event) {
    var value = $("#display-unit-numbers").val().split(",")
    embed.setUnitNumberMatches(value)
  })

  $("#locate-unit-number-button").on('click', function(event) {
    var value = $("#locate-unit-number").val()
    embed.locateUnitByUnitNumber(value, {
      displayDetails: true
    });
  })

  var state = {
    disable_ui: true,
    disable_filters: true,
    disable_unit_list: true,
  }

  $('#disable-ui').on('click', function() {
    console.log('Disable / Enable All');
    if (state.disable_ui) {
      embed.disableUI(['unitList', 'filters']);
    } else {
      embed.disableUI([]);
    }
    state.disable_ui = !state.disable_ui;
    $("#disable-ui-button-text").text(state.disable_ui ? 'Disable' : 'Enable');
  });

  $('#disable-filters').on('click', function() {
    console.log('Disable / Enable Filters');
    if (state.disable_filters) {
      embed.disableUI(['filters']);
    } else {
      embed.disableUI([]);
    }
    state.disable_filters = !state.disable_filters;
    $("#disable-filters-button-text").text(state.disable_filters ? 'Disable' : 'Enable');
  });

  $('#disable-unit-list').on('click', function() {
    console.log('Disable / Enable Unit List');
    if (state.disable_unit_list) {
      embed.disableUI(['unitList']);
    } else {
      embed.disableUI([]);
    }
    state.disable_unit_list = !state.disable_unit_list;
    $("#disable-unit-list-button-text").text(state.disable_unit_list ? 'Disable' : 'Enable');

  });
});