SightMap js IFrame API
StorageMart IFrame API Demo
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">
</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>
<button class="btn btn-primary mb-2" id="get-floor"><span id="get-floor-button">Get</span> Floor</button>
</div>
<div class="col-md-4">
<div class="input-group mb-2">
<input class="form-control" id="locate-unit-number" placeholder="Locate by unit number" />
<div class="input-group-append">
<button class="btn btn-success" type="button" id="locate-unit-number-button">Locate Unit</button>
</div>
</div>
<!-- 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"...
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: 75%;
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');
embed.on('ready', function() {
console.log('hello world');
});
// StorageMart - Outbound Link API
embed.on('outbound.storagemart.click', function(event) {
console.log(event);
});
embed.on('apply', function(event) {
console.log(event);
});
// Start Matches and UI
$("#get-floor").on('click', function(event) {
embed.getFloor(function(id) {
console.log('Active Floor ID:', id);
})
})
$("#set-floor-button").on('click', function(event) {
var value = $("#set-floor").val()
embed.setFloor(value)
})
$("#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)
})
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', 'floorSelection']);
} 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) {
...