Skip to content

Commit

Permalink
Automatically show data panel on device select
Browse files Browse the repository at this point in the history
  • Loading branch information
randomman552 committed Apr 24, 2022
1 parent 590c32a commit 4268d69
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
15 changes: 14 additions & 1 deletion visualiser/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,25 @@
import './App.scss';
import { ModelView, DataView } from './views';
import { useState } from 'react';
import { useEffect, useState } from 'react';
import { HamburgerToggle } from './components';
import { DeviceSelectEvent } from './three';

export default function App() {
// Defaults to hiden when window is less than 500px accross
const [hideDataView, setHideDataView] = useState(window.innerWidth < 500)

// Register event listener to show the data panel when a device is selected
useEffect(() => {
function deviceSelectedListener() {
setHideDataView(false);
}

window.addEventListener(DeviceSelectEvent.TYPE, deviceSelectedListener);

// Cleanup function
return () => { window.removeEventListener(DeviceSelectEvent.TYPE, deviceSelectedListener); };
}, []);

return (
<div className="app">
<ModelView/>
Expand Down
3 changes: 2 additions & 1 deletion visualiser/src/three/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
export { useGraphicsMount, useGraphicsLoaded, useSelectedDevice, useSelectedFloor } from "./hooks"
export { useGraphicsMount, useGraphicsLoaded, useSelectedDevice, useSelectedFloor } from "./hooks"
export { DeviceSelectEvent, LoadEvent, FloorSelectEvent } from "./events"

0 comments on commit 4268d69

Please sign in to comment.