loadsnippet.tsx 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import * as React from "react";
  2. import { Observable } from "babylonjs/Misc/observable";
  3. import { PropertyChangedEvent } from "../../../../../components/propertyChangedEvent";
  4. import { Animation } from "babylonjs/Animations/animation";
  5. import { ButtonLineComponent } from "../../../lines/buttonLineComponent";
  6. import { TextInputLineComponent } from "../../../lines/textInputLineComponent";
  7. import { LockObject } from "../lockObject";
  8. interface ILoadSnippetProps {
  9. animations: Animation[];
  10. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  11. lockObject: LockObject;
  12. }
  13. export class LoadSnippet extends React.Component<
  14. ILoadSnippetProps,
  15. { server: string }
  16. > {
  17. private _serverAddress: string;
  18. constructor(props: ILoadSnippetProps) {
  19. super(props);
  20. this._serverAddress = "-";
  21. this.state = { server: "" };
  22. }
  23. change(value: string) {
  24. this.setState({ server: value });
  25. }
  26. render() {
  27. return (
  28. <div className="load-container">
  29. <TextInputLineComponent
  30. label="Snippet Server"
  31. lockObject={this.props.lockObject}
  32. value={this.state.server}
  33. onChange={(value: string) => this.change(value)}
  34. />
  35. <ButtonLineComponent label="Load" onClick={() => {}} />
  36. <div className="load-browse">
  37. <p>Local File</p>
  38. <ButtonLineComponent label="Browse" onClick={() => {}} />
  39. </div>
  40. <div className="load-server">
  41. <p>Snippet Server : </p>
  42. <p>{this._serverAddress}</p>
  43. </div>
  44. </div>
  45. );
  46. }
  47. }