@expofp/floorplan
Version:
Interactive floor plan library for expos and events
2 lines (1 loc) • 633 B
JavaScript
import{snapToRoute as T}from"../core";import{createPositionView as f}from"./positionView";const n="trail";export function createPositionTrailView({renderer:p,iconProvider:s,floorContext:l,trails:i,iconLayer:t,snapThreshold:d}){const r=f({renderer:p,iconProvider:s,layer:t});return{placeIcon(e){const a=!l.isLayerVisible(e.layer);r.place(e,a)},hideIcon(){r.hide()},applyToRoute(e,a,y){const c=T(e,[...y],{snapThreshold:d,from:a.from,to:a.to}),o=!l.isLayerVisible(e.layer);return c.snapped?r.place({...e,x:c.snappedPoint.x,y:c.snappedPoint.y},o):r.place(e,o),c},setTrail(e,a){e&&a?i.place(n,e,a):i.clear(n)},clearTrail(){i.clear(n)}}}