import * as React from "react"; import { LineContainerComponent } from '../../sharedComponents/lineContainerComponent'; import { GraphFrame } from '../graphFrame'; import { GlobalState } from '../../globalState'; import { Color3LineComponent } from '../../sharedComponents/color3LineComponent'; import { TextInputLineComponent } from '../../sharedComponents/textInputLineComponent'; import { ButtonLineComponent } from '../../sharedComponents/buttonLineComponent'; import { Nullable } from 'babylonjs/types'; import { Observer } from 'babylonjs/Misc/observable'; export interface IFramePropertyTabComponentProps { globalState: GlobalState frame: GraphFrame; } export class FramePropertyTabComponent extends React.Component { private onFrameExpandStateChangedObserver: Nullable>; constructor(props: IFramePropertyTabComponentProps) { super(props) } componentDidMount() { this.onFrameExpandStateChangedObserver = this.props.frame.onExpandStateChanged.add(() => this.forceUpdate()); } componentWillUnmount() { if (this.onFrameExpandStateChangedObserver) { this.props.frame.onExpandStateChanged.remove(this.onFrameExpandStateChangedObserver); this.onFrameExpandStateChangedObserver = null; } } render() { return (
{ !this.props.frame.isCollapsed && { this.props.frame!.isCollapsed = true; }} /> } { this.props.frame.isCollapsed && { this.props.frame!.isCollapsed = false; }} /> } {/* { this.state.currentFrame!.export(); }} /> */}
); } }