This library allows you to interact with Hivekit applications running in an iFrame or with a parent Hivekit application if your app is running in an iFrame within Hivekit.
npm install @hivekit/external-app-control
yarn add @hivekit/external-app-control
import { ExternalAppControl } from '@hivekit/external-app-control';
const hivekitApp = new ExternalAppControl(document.getElementById('hivekit-iframe'));
// pan map to lat, lon
hivekitApp.map.panTo(51.5079, -0.1280);
// select an object with id rider/213
hivekitApp.selection.select('rider/213','object');
// listen to selection changes in the Hivekit app
hivekitApp.selection.on('change', (id, type) => {
console.log(`Selected ${type} with id ${id}`);
});
If frame element is omitted, the library will assume that it is running in an iFrame within Hivekit or a window opened by Hivekit and will try to communicate with window.opener || window.parent
.
Pan the map to the given latitude and longitude.
Pan the map to the entity with the given type and id. Type can be 'object'
, 'area'
or 'task'
.
Select the entity with the given type and id. Type can be 'object'
, 'area'
, 'instruction'
or 'task'
.
Deselect the currently selected entity.
Get the currently selected entity. Returns an object with id
and type
properties.
Listen to selection changes in the Hivekit app.
Show the path an object has taken. Settings is an object with the following properties:
{
// 'arrow' or 'line'
type: 'arrow',
// the timespan in milliseconds before now
timespan: 1000 * 60 * 60 * 24, // one day
// the following settings only apply if type==='arrow'
// how the color of the path is determined. Options are:
// - 'speed' color is determined by the speed of the object ranging red-yellow-green
// - 'category' color is based on the object's category color
colorType: 'speed',
// If colorType==='speed', the following settings determines the range of speeds for the coloring
speed: { min: 0, max: 10 }
}
Hide the path of an object.
Returns true if there is a path visible for the object with the given id.