|
@@ -46,7 +46,7 @@ export class RountangleComponent extends React.Component<RountangleProps, Rounta
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- onPointerDown = (event: React.PointerEvent<HTMLDivElement>) => {
|
|
|
+ onPointerDown = (event: React.PointerEvent<SVGRectElement>) => {
|
|
|
// only left mouse button
|
|
|
if (event.button !== 0) return;
|
|
|
|
|
@@ -57,7 +57,7 @@ export class RountangleComponent extends React.Component<RountangleProps, Rounta
|
|
|
event.preventDefault();
|
|
|
}
|
|
|
|
|
|
- onPointerMove = (event: React.PointerEvent<HTMLDivElement>) => {
|
|
|
+ onPointerMove = (event: React.PointerEvent<SVGRectElement>) => {
|
|
|
if (!this.state.dragging) return;
|
|
|
|
|
|
if (event.movementX !== 0 || event.movementY !== 0) {
|
|
@@ -72,7 +72,7 @@ export class RountangleComponent extends React.Component<RountangleProps, Rounta
|
|
|
event.preventDefault();
|
|
|
}
|
|
|
|
|
|
- onPointerUp = (event: React.PointerEvent<HTMLDivElement>) => {
|
|
|
+ onPointerUp = (event: React.PointerEvent<SVGRectElement>) => {
|
|
|
event.currentTarget.releasePointerCapture(event.pointerId);
|
|
|
event.stopPropagation();
|
|
|
event.preventDefault();
|
|
@@ -134,32 +134,45 @@ export class RountangleComponent extends React.Component<RountangleProps, Rounta
|
|
|
|
|
|
render() {
|
|
|
return(
|
|
|
- <foreignObject
|
|
|
- x={this.props.posX + this.state.movementsX}
|
|
|
- y={this.props.posY + this.state.movementsY}
|
|
|
- width={this.props.width + this.state.resizeWidth}
|
|
|
- height={this.props.height + this.state.resizeHeight}
|
|
|
- className={'re-div-wrapper'}
|
|
|
+ <g
|
|
|
+ className={`re-rountangle-wrapper ${this.state.dragging ? 'dragging' : ''}`}
|
|
|
>
|
|
|
- <div
|
|
|
- className={`re-rountangle ${this.state.dragging ? 'dragging' : ''}`}
|
|
|
- onPointerDown={this.onPointerDown}
|
|
|
- onPointerMove={this.onPointerMove}
|
|
|
- onPointerUp={this.onPointerUp}
|
|
|
- onDoubleClick={this.onDoubleClick}
|
|
|
- >
|
|
|
- <div title={this.props.id.toString()} className={'re-rountangle-name'}>
|
|
|
- {this.props.name}
|
|
|
- </div>
|
|
|
- <RountangleResizeHandleComponent
|
|
|
- id={this.props.id}
|
|
|
- height={this.props.height + this.state.resizeHeight}
|
|
|
- width={this.props.width + this.state.resizeWidth}
|
|
|
- onResize={this.onResize}
|
|
|
- onResizeComplete={this.onResizeComplete}
|
|
|
- />
|
|
|
- </div>
|
|
|
- </foreignObject>
|
|
|
+ <rect
|
|
|
+ rx={5}
|
|
|
+ ry={5}
|
|
|
+ x={this.props.posX + this.state.movementsX}
|
|
|
+ y={this.props.posY + this.state.movementsY}
|
|
|
+ width={this.props.width + this.state.resizeWidth}
|
|
|
+ height={this.props.height + this.state.resizeHeight}
|
|
|
+ className={'re-rountangle'}
|
|
|
+ />
|
|
|
+ <foreignObject
|
|
|
+ x={this.props.posX + this.state.movementsX}
|
|
|
+ y={this.props.posY + this.state.movementsY}
|
|
|
+ width={this.props.width + this.state.resizeWidth}
|
|
|
+ height={this.props.height + this.state.resizeHeight}
|
|
|
+ onPointerDown={this.onPointerDown}
|
|
|
+ onPointerMove={this.onPointerMove}
|
|
|
+ onPointerUp={this.onPointerUp}
|
|
|
+ onDoubleClick={this.onDoubleClick}
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ className={'re-rountangle-name'}
|
|
|
+ title={this.props.id.toString()}
|
|
|
+ >
|
|
|
+ <span>{this.props.name}</span>
|
|
|
+ </div>
|
|
|
+ </foreignObject>
|
|
|
+ <RountangleResizeHandleComponent
|
|
|
+ id={this.props.id}
|
|
|
+ x={this.props.posX + this.state.movementsX}
|
|
|
+ y={this.props.posY + this.state.movementsY}
|
|
|
+ height={this.props.height + this.state.resizeHeight}
|
|
|
+ width={this.props.width + this.state.resizeWidth}
|
|
|
+ onResize={this.onResize}
|
|
|
+ onResizeComplete={this.onResizeComplete}
|
|
|
+ />
|
|
|
+ </g>
|
|
|
);
|
|
|
}
|
|
|
}
|