colorPickerPropertyGridComponent.tsx 1.5 KB

123456789101112131415161718192021222324252627282930313233
  1. import * as React from "react";
  2. import { Observable } from "babylonjs/Misc/observable";
  3. import { PropertyChangedEvent } from "../../../propertyChangedEvent";
  4. import { CommonControlPropertyGridComponent } from "../../../tabs/propertyGrids/gui/commonControlPropertyGridComponent";
  5. import { LineContainerComponent } from "../../../lines/lineContainerComponent";
  6. import { ColorPicker } from "babylonjs-gui/2D/controls/colorpicker";
  7. import { Color3LineComponent } from "../../../lines/color3LineComponent";
  8. import { LockObject } from "../lockObject";
  9. interface IColorPickerPropertyGridComponentProps {
  10. colorPicker: ColorPicker;
  11. lockObject: LockObject;
  12. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  13. }
  14. export class ColorPickerPropertyGridComponent extends React.Component<IColorPickerPropertyGridComponentProps> {
  15. constructor(props: IColorPickerPropertyGridComponentProps) {
  16. super(props);
  17. }
  18. render() {
  19. const colorPicker = this.props.colorPicker;
  20. return (
  21. <div className="pane">
  22. <CommonControlPropertyGridComponent lockObject={this.props.lockObject} control={colorPicker} onPropertyChangedObservable={this.props.onPropertyChangedObservable} />
  23. <LineContainerComponent title="COLORPICKER">
  24. <Color3LineComponent label="Color" target={colorPicker} propertyName="value" onPropertyChangedObservable={this.props.onPropertyChangedObservable} />
  25. </LineContainerComponent>
  26. </div>
  27. );
  28. }
  29. }