UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) 1.48 kB
import{jsx as l}from"react/jsx-runtime";import{observer as c}from"mobx-react-lite";import{useEffect as d}from"react";import{isDefaultScene as v,pickDefaultScene as m}from"../../renderer/engine-core/defs";import r from"../../store";import{useInit as S}from"../../utils/mobx";import e from"./KioskStore";import h from"./SetKiosk";const p=c(()=>{S(()=>{Promise.resolve().then(()=>e.handleSetupReady())}),d(()=>{const t=({ptScale:a,sceneId:i})=>{v(i)&&e.setInitialPtScale(a)};e.renderer.events.addEventListener("viewport:ptscale",t);const s=({data:a})=>{const{point:i}=m(a);e.handleClick(i)};e.renderer.events.addEventListener("pointer:click",s);const o=()=>e.handleNavigationChange();return e.renderer.events.addEventListener("navigation:change",o),()=>{e.renderer.events.removeEventListener("viewport:ptscale",t),e.renderer.events.removeEventListener("pointer:click",s),e.renderer.events.removeEventListener("navigation:change",o)}},[e.renderer]);const n=!!e.kiosk;return l(h,{isSaveDisabled:n?!e.hasUnsavedChanges:!0,isDeleteDisabled:!n,areControlsDisabled:!n,confirmOnClose:n?e.hasUnsavedChanges:!1,angle:e.kiosk?.heading||0,uiScale:e.kiosk?.uiScale||r.uiState.uiScale,minUiScale:r.uiState.minUIScale,maxUiScale:r.uiState.maxUIScale,uiScaleStep:.01,iconSizePercent:e.kiosk?.iconSizePercent||100,isInfoVisible:!n,statusMessages:e.statusMessages,onClose:()=>e.handleClose(),onDelete:()=>e.handleDelete(),onSave:()=>e.handleSave(),onChange:t=>e.handleChange(t)})});export default p;