| import { get } from 'svelte/store'; | |
| import { XYMinimap } from '@xyflow/system'; | |
| export default function interactive(domNode, params) { | |
| const minimap = XYMinimap({ | |
| domNode, | |
| panZoom: params.panZoom, | |
| getTransform: () => { | |
| const viewport = get(params.viewport); | |
| return [viewport.x, viewport.y, viewport.zoom]; | |
| }, | |
| getViewScale: params.getViewScale | |
| }); | |
| function update(params) { | |
| minimap.update({ | |
| translateExtent: params.translateExtent, | |
| width: params.width, | |
| height: params.height, | |
| inversePan: params.inversePan, | |
| zoomStep: params.zoomStep, | |
| pannable: params.pannable, | |
| zoomable: params.zoomable | |
| }); | |
| } | |
| return { | |
| update, | |
| destroy() { | |
| minimap.destroy(); | |
| } | |
| }; | |
| } | |