import {h, Component} from "preact" import {observer} from "mobx-preact" import {SceneManagerStore} from "./scene-manager-store" interface SceneManagerProps { store: SceneManagerStore } @observer export class SceneManager extends Component { private resetLoaderInput() { const value = "" const input = this.base.querySelector(".loader > input") input.value = value this.props.store.setLoaderInput(value) } private handleLoaderInputChange = event => { const {value} = event.target this.props.store.setLoaderInput(value) } private handleLoaderButtonClick = () => { this.props.store.loadBabylonObjects() .then(clear => clear ? this.resetLoaderInput() : null) } private handleClearAllClick = () => { this.props.store.clearAllSceneObjects() } private handleLoaderInputKeyPress = (event: KeyboardEvent) => { if (event.keyCode === 13) { this.handleLoaderButtonClick() } this.handleLoaderInputChange(event) } render() { const {store} = this.props return (
{ store.loading ? store.loaderProgress !== null ? : : null }
    {[...store.errors].reverse().map(errorReport => (
  • {errorReport.label}:  {errorReport.message}
  • ))}
    {store.sceneObjects.map(sceneObject => { const isSelected = (sceneObject === store.selectedObject) const handleSelection = () => store.setSelectedObject(sceneObject) const handleRemoval = () => store.removeSingleSceneObject(sceneObject) return (
  • {sceneObject.label}

  • ) })}
) } }