import * as React from "react"; import { Vector2 } from 'babylonjs/Maths/math.vector'; import { AnchorSvgPoint } from './anchorSvgPoint'; const keyInactive = require("./assets/keyInactiveIcon.svg") as string; //const keyActive = require("./assets/keyActiveIcon.svg") as string; uncomment when setting active multiselect const keySelected = require("./assets/keySelectedIcon.svg") as string; export interface IKeyframeSvgPoint { keyframePoint: Vector2; rightControlPoint: Vector2 | null; leftControlPoint: Vector2 | null; id: string; selected: boolean; isLeftActive: boolean; isRightActive: boolean; curveId?: ICurveMetaData; } export interface ICurveMetaData { id: number; animationName: string; property: string; } interface IKeyframeSvgPointProps { keyframePoint: Vector2; leftControlPoint: Vector2 | null; rightControlPoint: Vector2 | null; id: string; selected: boolean; selectKeyframe: (id: string) => void; selectedControlPoint: (type: string, id: string) => void; isLeftActive: boolean; isRightActive: boolean; } export class KeyframeSvgPoint extends React.Component{ constructor(props: IKeyframeSvgPointProps) { super(props); } select() { this.props.selectKeyframe(this.props.id); } render() { return ( <> this.select()} /> {this.props.leftControlPoint && this.props.selectedControlPoint(type, this.props.id)} />} {this.props.rightControlPoint && this.props.selectedControlPoint(type, this.props.id)} />} ) } }