@tradingaction/interactive 2.0.13 → 2.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Rectangle.d.ts +86 -0
- package/lib/Rectangle.js +129 -0
- package/lib/Rectangle.js.map +1 -0
- package/lib/components/InteractiveRectangle.d.ts +67 -0
- package/lib/components/InteractiveRectangle.js +265 -0
- package/lib/components/InteractiveRectangle.js.map +1 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +1 -0
- package/lib/components/index.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/wrapper/EachRectangle.d.ts +88 -0
- package/lib/wrapper/EachRectangle.js +145 -0
- package/lib/wrapper/EachRectangle.js.map +1 -0
- package/lib/wrapper/index.d.ts +1 -0
- package/lib/wrapper/index.js +1 -0
- package/lib/wrapper/index.js.map +1 -1
- package/package.json +4 -4
- package/src/Rectangle.tsx +309 -0
- package/src/components/InteractiveRectangle.tsx +401 -0
- package/src/components/index.ts +1 -0
- package/src/index.ts +1 -0
- package/src/wrapper/EachRectangle.tsx +352 -0
- package/src/wrapper/index.ts +1 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { strokeDashTypes } from "@tradingaction/core";
|
|
3
|
+
export interface RectangleProps {
|
|
4
|
+
readonly snap: boolean;
|
|
5
|
+
readonly enabled: boolean;
|
|
6
|
+
readonly snapTo?: (datum: any) => number | number[];
|
|
7
|
+
readonly shouldDisableSnap?: (e: React.MouseEvent) => boolean;
|
|
8
|
+
readonly onStart: (e: React.MouseEvent, moreProps: any) => void;
|
|
9
|
+
readonly onComplete?: (e: React.MouseEvent, newTrends: any[], moreProps: any) => void;
|
|
10
|
+
readonly onSelect?: (e: React.MouseEvent, interactives: any[], moreProps: any) => void;
|
|
11
|
+
readonly onDoubleClickWhenHover?: (e: React.MouseEvent, moreProps: any, index: any) => void;
|
|
12
|
+
readonly onClickWhenHover?: (e: React.MouseEvent, moreProps: any, index: any) => void;
|
|
13
|
+
readonly onClickOutside?: (e: React.MouseEvent, moreProps: any, index: any) => void;
|
|
14
|
+
readonly onContextMenuWhenHover?: (e: React.MouseEvent, moreProps: any, index: any) => void;
|
|
15
|
+
readonly currentPositionStroke?: string;
|
|
16
|
+
readonly currentPositionStrokeWidth?: number;
|
|
17
|
+
readonly currentPositionstrokeOpacity?: number;
|
|
18
|
+
readonly currentPositionRadius?: number;
|
|
19
|
+
readonly type: "XLINE" | "RAY" | "LINE";
|
|
20
|
+
readonly hoverText: object;
|
|
21
|
+
readonly trends: any[];
|
|
22
|
+
readonly appearance: {
|
|
23
|
+
readonly strokeStyle: string;
|
|
24
|
+
readonly strokeWidth: number;
|
|
25
|
+
readonly strokeDasharray: strokeDashTypes;
|
|
26
|
+
readonly edgeStrokeWidth: number;
|
|
27
|
+
readonly edgeFill: string;
|
|
28
|
+
readonly edgeStroke: string;
|
|
29
|
+
readonly rectangleFill: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
interface RectangleState {
|
|
33
|
+
current?: any;
|
|
34
|
+
override?: any;
|
|
35
|
+
trends?: any;
|
|
36
|
+
}
|
|
37
|
+
export declare class Rectangle extends React.Component<RectangleProps, RectangleState> {
|
|
38
|
+
static defaultProps: {
|
|
39
|
+
type: string;
|
|
40
|
+
onStart: () => void;
|
|
41
|
+
onSelect: () => void;
|
|
42
|
+
onDoubleClickWhenHover: () => void;
|
|
43
|
+
onClickWhenHover: () => void;
|
|
44
|
+
onClickOutside: () => void;
|
|
45
|
+
currentPositionStroke: string;
|
|
46
|
+
currentPositionstrokeOpacity: number;
|
|
47
|
+
currentPositionStrokeWidth: number;
|
|
48
|
+
currentPositionRadius: number;
|
|
49
|
+
shouldDisableSnap: (e: React.MouseEvent) => boolean;
|
|
50
|
+
hoverText: {
|
|
51
|
+
enable: boolean;
|
|
52
|
+
bgHeight: string;
|
|
53
|
+
bgWidth: string;
|
|
54
|
+
text: string;
|
|
55
|
+
selectedText: string;
|
|
56
|
+
fontFamily: string;
|
|
57
|
+
fontSize: number;
|
|
58
|
+
fill: string;
|
|
59
|
+
bgFill: string;
|
|
60
|
+
bgOpacity: number;
|
|
61
|
+
};
|
|
62
|
+
trends: never[];
|
|
63
|
+
appearance: {
|
|
64
|
+
strokeStyle: string;
|
|
65
|
+
strokeWidth: number;
|
|
66
|
+
strokeDasharray: string;
|
|
67
|
+
edgeStrokeWidth: number;
|
|
68
|
+
edgeFill: string;
|
|
69
|
+
edgeStroke: string;
|
|
70
|
+
rectangleFill: string;
|
|
71
|
+
r: number;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
private getSelectionState;
|
|
75
|
+
private mouseMoved;
|
|
76
|
+
private saveNodeType;
|
|
77
|
+
private terminate;
|
|
78
|
+
constructor(props: RectangleProps);
|
|
79
|
+
render(): JSX.Element;
|
|
80
|
+
private readonly handleEnd;
|
|
81
|
+
private readonly handleStart;
|
|
82
|
+
private readonly handleDrawLine;
|
|
83
|
+
private readonly handleDragLineComplete;
|
|
84
|
+
private readonly handleDragLine;
|
|
85
|
+
}
|
|
86
|
+
export {};
|
package/lib/Rectangle.js
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { isDefined, isNotDefined, noop } from "@tradingaction/core";
|
|
3
|
+
import { getValueFromOverride, isHoverForInteractiveType, saveNodeType, terminate } from "./utils";
|
|
4
|
+
import { HoverTextNearMouse, MouseLocationIndicator, InteractiveRectangle } from "./components";
|
|
5
|
+
import { EachRectangle } from "./wrapper";
|
|
6
|
+
export class Rectangle extends React.Component {
|
|
7
|
+
constructor(props) {
|
|
8
|
+
super(props);
|
|
9
|
+
this.handleEnd = (e, xyValue, moreProps) => {
|
|
10
|
+
const { current } = this.state;
|
|
11
|
+
const { trends, appearance, type } = this.props;
|
|
12
|
+
if (this.mouseMoved && isDefined(current) && isDefined(current.topLeft)) {
|
|
13
|
+
const newTrends = [
|
|
14
|
+
...trends.map((d) => (Object.assign(Object.assign({}, d), { selected: false }))),
|
|
15
|
+
{
|
|
16
|
+
topLeft: current.topLeft,
|
|
17
|
+
topRight: xyValue,
|
|
18
|
+
selected: true,
|
|
19
|
+
appearance,
|
|
20
|
+
type,
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
this.setState({
|
|
24
|
+
current: null,
|
|
25
|
+
trends: newTrends,
|
|
26
|
+
}, () => {
|
|
27
|
+
const { onComplete } = this.props;
|
|
28
|
+
if (onComplete !== undefined) {
|
|
29
|
+
onComplete(e, newTrends, moreProps);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
this.handleStart = (e, xyValue, moreProps) => {
|
|
35
|
+
const { current } = this.state;
|
|
36
|
+
if (isNotDefined(current) || isNotDefined(current.topLeft)) {
|
|
37
|
+
this.mouseMoved = false;
|
|
38
|
+
this.setState({
|
|
39
|
+
current: {
|
|
40
|
+
topLeft: xyValue,
|
|
41
|
+
topRight: null,
|
|
42
|
+
},
|
|
43
|
+
}, () => {
|
|
44
|
+
const { onStart } = this.props;
|
|
45
|
+
if (onStart !== undefined) {
|
|
46
|
+
onStart(e, moreProps);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
this.handleDrawLine = (_, xyValue) => {
|
|
52
|
+
const { current } = this.state;
|
|
53
|
+
if (isDefined(current) && isDefined(current.topLeft)) {
|
|
54
|
+
this.mouseMoved = true;
|
|
55
|
+
this.setState({
|
|
56
|
+
current: {
|
|
57
|
+
topLeft: current.topLeft,
|
|
58
|
+
topRight: xyValue,
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
this.handleDragLineComplete = (e, moreProps) => {
|
|
64
|
+
const { override } = this.state;
|
|
65
|
+
if (isDefined(override)) {
|
|
66
|
+
const { trends } = this.props;
|
|
67
|
+
const newTrends = trends.map((each, idx) => idx === override.index
|
|
68
|
+
? Object.assign(Object.assign({}, each), { topLeft: [override.topLeft, override.topRight], topRight: [override.topRightX, override.topRightY], selected: true }) : Object.assign(Object.assign({}, each), { selected: false }));
|
|
69
|
+
this.setState({
|
|
70
|
+
override: null,
|
|
71
|
+
}, () => {
|
|
72
|
+
const { onComplete } = this.props;
|
|
73
|
+
if (onComplete !== undefined) {
|
|
74
|
+
onComplete(e, newTrends, moreProps);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
this.handleDragLine = (_, index, newXYValue) => {
|
|
80
|
+
this.setState({
|
|
81
|
+
override: Object.assign({ index }, newXYValue),
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
this.terminate = terminate.bind(this);
|
|
85
|
+
this.saveNodeType = saveNodeType.bind(this);
|
|
86
|
+
this.getSelectionState = isHoverForInteractiveType("trends").bind(this);
|
|
87
|
+
this.state = {};
|
|
88
|
+
}
|
|
89
|
+
render() {
|
|
90
|
+
const { appearance, currentPositionstrokeOpacity, currentPositionRadius = Rectangle.defaultProps.currentPositionRadius, currentPositionStroke, currentPositionStrokeWidth, enabled, hoverText, shouldDisableSnap, snap, snapTo, trends, type, } = this.props;
|
|
91
|
+
const { current, override } = this.state;
|
|
92
|
+
const tempLine = isDefined(current) && isDefined(current.topRight) ? (React.createElement(InteractiveRectangle, { type: type, topLeftX: current.topLeft[0], topLeftY: current.topLeft[1], topRightX: current.topRight[0], topRightY: current.topRight[1], bottomLeftX: current.bottomLeft[0], bottomLeftY: current.bottomLeft[1], bottomRightX: current.bottomRight[0], bottomRightY: current.bottomRight[1], strokeStyle: appearance.strokeStyle, strokeWidth: appearance.strokeWidth })) : null;
|
|
93
|
+
return (React.createElement("g", null,
|
|
94
|
+
trends.map((each, idx) => {
|
|
95
|
+
const eachAppearance = isDefined(each.appearance)
|
|
96
|
+
? Object.assign(Object.assign({}, appearance), each.appearance) : appearance;
|
|
97
|
+
const hoverTextWithDefault = Object.assign(Object.assign({}, Rectangle.defaultProps.hoverText), hoverText);
|
|
98
|
+
return (React.createElement(EachRectangle, { key: idx, ref: this.saveNodeType(idx), index: idx, type: each.type, selected: each.selected, topLeftX: getValueFromOverride(override, idx, "topLeftX", each.topLeft[0]), topLeftY: getValueFromOverride(override, idx, "topLeftY", each.topLeft[1]), topRightX: getValueFromOverride(override, idx, "topRightX", each.topRight[0]), topRightY: getValueFromOverride(override, idx, "topRightY", each.topRight[1]), bottomLeftX: getValueFromOverride(override, idx, "bottomLeftX", each.bottomLeft[0]), bottomLeftY: getValueFromOverride(override, idx, "bottomLeftY", each.bottomLeft[1]), bottomRightX: getValueFromOverride(override, idx, "bottomRightX", each.bottomRight[0]), bottomRightY: getValueFromOverride(override, idx, "bottomRightY", each.bottomRight[1]), strokeStyle: eachAppearance.strokeStyle, strokeWidth: eachAppearance.strokeWidth, strokeOpacity: eachAppearance.strokeOpacity, strokeDasharray: eachAppearance.strokeDasharray, edgeStroke: eachAppearance.edgeStroke, edgeFill: eachAppearance.edgeFill, edgeStrokeWidth: eachAppearance.edgeStrokeWidth, rectangleFill: eachAppearance.rectangleFill, r: eachAppearance.r, hoverText: hoverTextWithDefault, onDrag: this.handleDragLine, onDragComplete: this.handleDragLineComplete, edgeInteractiveCursor: "react-financial-charts-move-cursor", lineInteractiveCursor: "react-financial-charts-move-cursor", onDoubleClickWhenHover: this.props.onDoubleClickWhenHover, onClickWhenHover: this.props.onClickWhenHover, onClickOutside: this.props.onClickOutside, onContextMenuWhenHover: this.props.onContextMenuWhenHover }));
|
|
99
|
+
}),
|
|
100
|
+
tempLine,
|
|
101
|
+
React.createElement(MouseLocationIndicator, { enabled: enabled, snap: snap, shouldDisableSnap: shouldDisableSnap, snapTo: snapTo, r: currentPositionRadius, stroke: currentPositionStroke, opacity: currentPositionstrokeOpacity, strokeWidth: currentPositionStrokeWidth, onMouseDown: this.handleStart, onClick: this.handleEnd, onMouseMove: this.handleDrawLine })));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
Rectangle.defaultProps = {
|
|
105
|
+
type: "XLINE",
|
|
106
|
+
onStart: noop,
|
|
107
|
+
onSelect: noop,
|
|
108
|
+
onDoubleClickWhenHover: noop,
|
|
109
|
+
onClickWhenHover: noop,
|
|
110
|
+
onClickOutside: noop,
|
|
111
|
+
currentPositionStroke: "#000000",
|
|
112
|
+
currentPositionstrokeOpacity: 1,
|
|
113
|
+
currentPositionStrokeWidth: 3,
|
|
114
|
+
currentPositionRadius: 0,
|
|
115
|
+
shouldDisableSnap: (e) => e.button === 2 || e.shiftKey,
|
|
116
|
+
hoverText: Object.assign(Object.assign({}, HoverTextNearMouse.defaultProps), { enable: true, bgHeight: "auto", bgWidth: "auto", text: "Click to select object", selectedText: "" }),
|
|
117
|
+
trends: [],
|
|
118
|
+
appearance: {
|
|
119
|
+
strokeStyle: "#000000",
|
|
120
|
+
strokeWidth: 1,
|
|
121
|
+
strokeDasharray: "Solid",
|
|
122
|
+
edgeStrokeWidth: 1,
|
|
123
|
+
edgeFill: "#FFFFFF",
|
|
124
|
+
edgeStroke: "#000000",
|
|
125
|
+
rectangleFill: "transparent",
|
|
126
|
+
r: 6,
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=Rectangle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Rectangle.js","sourceRoot":"","sources":["../src/Rectangle.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { strokeDashTypes } from "@tradingaction/core";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
export interface RectangleProps {
|
|
4
|
+
readonly topLeftX: any;
|
|
5
|
+
readonly topRightX: any;
|
|
6
|
+
readonly topLeftY: any;
|
|
7
|
+
readonly topRightY: any;
|
|
8
|
+
readonly bottomLeftX: any;
|
|
9
|
+
readonly bottomLeftY: any;
|
|
10
|
+
readonly bottomRightX: any;
|
|
11
|
+
readonly bottomRightY: any;
|
|
12
|
+
readonly interactiveCursorClass?: string;
|
|
13
|
+
readonly strokeStyle: string;
|
|
14
|
+
readonly strokeWidth?: number;
|
|
15
|
+
readonly strokeDasharray?: strokeDashTypes;
|
|
16
|
+
readonly type: "XLINE" | "RAY" | "LINE";
|
|
17
|
+
readonly onEdge1Drag?: any;
|
|
18
|
+
readonly onEdge2Drag?: any;
|
|
19
|
+
readonly onDragStart?: (e: React.MouseEvent, moreProps: any) => void;
|
|
20
|
+
readonly onDrag?: (e: React.MouseEvent, moreProps: any) => void;
|
|
21
|
+
readonly onDragComplete?: (e: React.MouseEvent, moreProps: any) => void;
|
|
22
|
+
readonly onHover?: (e: React.MouseEvent, moreProps: any) => void;
|
|
23
|
+
readonly onUnHover?: (e: React.MouseEvent, moreProps: any) => void;
|
|
24
|
+
readonly onDoubleClickWhenHover?: (e: React.MouseEvent, moreProps: any) => void;
|
|
25
|
+
readonly onClickWhenHover?: (e: React.MouseEvent, moreProps: any) => void;
|
|
26
|
+
readonly onClickOutside?: (e: React.MouseEvent, moreProps: any) => void;
|
|
27
|
+
readonly onContextMenuWhenHover?: (e: React.MouseEvent, moreProps: any) => void;
|
|
28
|
+
readonly defaultClassName?: string;
|
|
29
|
+
readonly r?: number;
|
|
30
|
+
readonly edgeFill?: string;
|
|
31
|
+
readonly edgeStroke?: string;
|
|
32
|
+
readonly edgeStrokeWidth?: number;
|
|
33
|
+
readonly rectangleFill?: string;
|
|
34
|
+
readonly withEdge?: boolean;
|
|
35
|
+
readonly tolerance?: number;
|
|
36
|
+
readonly selected?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export declare class InteractiveRectangle extends React.Component<RectangleProps> {
|
|
39
|
+
static defaultProps: {
|
|
40
|
+
onEdge1Drag: () => void;
|
|
41
|
+
onEdge2Drag: () => void;
|
|
42
|
+
edgeStrokeWidth: number;
|
|
43
|
+
edgeStroke: string;
|
|
44
|
+
edgeFill: string;
|
|
45
|
+
rectangleFill: string;
|
|
46
|
+
r: number;
|
|
47
|
+
withEdge: boolean;
|
|
48
|
+
strokeWidth: number;
|
|
49
|
+
strokeDasharray: string;
|
|
50
|
+
children: () => void;
|
|
51
|
+
tolerance: number;
|
|
52
|
+
selected: boolean;
|
|
53
|
+
};
|
|
54
|
+
render(): JSX.Element;
|
|
55
|
+
private readonly isHover;
|
|
56
|
+
private readonly drawOnCanvas;
|
|
57
|
+
}
|
|
58
|
+
export declare function generateRectangle({ type, start, end, startBottom, endBottom, xScale, yScale }: any): {
|
|
59
|
+
x1: any;
|
|
60
|
+
y1: any;
|
|
61
|
+
x2: any;
|
|
62
|
+
y2: any;
|
|
63
|
+
x1Bottom: any;
|
|
64
|
+
y1Bottom: any;
|
|
65
|
+
x2Bottom: any;
|
|
66
|
+
y2Bottom: any;
|
|
67
|
+
};
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { getStrokeDasharrayCanvas, getMouseCanvas, GenericChartComponent, noop, } from "@tradingaction/core";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
export class InteractiveRectangle extends React.Component {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.isHover = (moreProps) => {
|
|
7
|
+
const { tolerance, onHover } = this.props;
|
|
8
|
+
if (onHover !== undefined) {
|
|
9
|
+
const { topLeftX, topRightX, topLeftY, topRightY, bottomLeftX, bottomLeftY, bottomRightX, bottomRightY, type } = this.props;
|
|
10
|
+
const { mouseXY, xScale } = moreProps;
|
|
11
|
+
const { chartConfig: { yScale }, } = moreProps;
|
|
12
|
+
const hovering = isHovering({
|
|
13
|
+
topLeftX,
|
|
14
|
+
topLeftY,
|
|
15
|
+
topRightX,
|
|
16
|
+
topRightY,
|
|
17
|
+
bottomLeftX, bottomLeftY, bottomRightX, bottomRightY,
|
|
18
|
+
mouseXY,
|
|
19
|
+
type,
|
|
20
|
+
tolerance,
|
|
21
|
+
xScale,
|
|
22
|
+
yScale,
|
|
23
|
+
});
|
|
24
|
+
return hovering;
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
};
|
|
28
|
+
this.drawOnCanvas = (ctx, moreProps) => {
|
|
29
|
+
const { strokeWidth = InteractiveRectangle.defaultProps.strokeWidth, strokeDasharray, strokeStyle, rectangleFill } = this.props;
|
|
30
|
+
const { x1, y1, // top-left
|
|
31
|
+
x2, y2, // top-right
|
|
32
|
+
x1Bottom, y1Bottom, // bottom-left
|
|
33
|
+
x2Bottom, y2Bottom, // bottom-right
|
|
34
|
+
} = helper(this.props, moreProps);
|
|
35
|
+
// Set canvas styles
|
|
36
|
+
ctx.lineWidth = strokeWidth;
|
|
37
|
+
ctx.strokeStyle = strokeStyle || "transparent"; // Default to no border
|
|
38
|
+
ctx.fillStyle = rectangleFill || "rgba(0, 255, 0, 0.2)"; // Default fill color
|
|
39
|
+
ctx.setLineDash(getStrokeDasharrayCanvas(strokeDasharray));
|
|
40
|
+
// Begin rectangle path
|
|
41
|
+
ctx.beginPath();
|
|
42
|
+
// Start at top-left
|
|
43
|
+
ctx.moveTo(x1, y1);
|
|
44
|
+
// Draw to top-right
|
|
45
|
+
ctx.lineTo(x2, y2);
|
|
46
|
+
// Draw to bottom-right
|
|
47
|
+
ctx.lineTo(x2Bottom, y2Bottom);
|
|
48
|
+
// Draw to bottom-left
|
|
49
|
+
ctx.lineTo(x1Bottom, y1Bottom);
|
|
50
|
+
// Close the path back to top-left
|
|
51
|
+
ctx.closePath();
|
|
52
|
+
// ✅ Fill the rectangle
|
|
53
|
+
ctx.fill();
|
|
54
|
+
// ✅ Stroke the outline (optional)
|
|
55
|
+
if (strokeStyle !== "transparent" && strokeWidth > 0) {
|
|
56
|
+
ctx.stroke();
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
render() {
|
|
61
|
+
const { selected, interactiveCursorClass } = this.props;
|
|
62
|
+
const { onDragStart, onDrag, onDragComplete, onHover, onUnHover, onDoubleClickWhenHover, onClickWhenHover, onClickOutside, onContextMenuWhenHover, } = this.props;
|
|
63
|
+
return (React.createElement(GenericChartComponent, { isHover: this.isHover, canvasToDraw: getMouseCanvas, canvasDraw: this.drawOnCanvas, interactiveCursorClass: interactiveCursorClass, selected: selected, onDragStart: onDragStart, onDrag: onDrag, onDragComplete: onDragComplete, onHover: onHover, onUnHover: onUnHover, drawOn: ["mousemove", "pan", "drag"], onDoubleClickWhenHover: onDoubleClickWhenHover, onClickWhenHover: onClickWhenHover, onClickOutside: onClickOutside, onContextMenuWhenHover: onContextMenuWhenHover }));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
InteractiveRectangle.defaultProps = {
|
|
67
|
+
onEdge1Drag: noop,
|
|
68
|
+
onEdge2Drag: noop,
|
|
69
|
+
edgeStrokeWidth: 3,
|
|
70
|
+
edgeStroke: "#000000",
|
|
71
|
+
edgeFill: "#FFFFFF",
|
|
72
|
+
rectangleFill: 'transparent',
|
|
73
|
+
r: 10,
|
|
74
|
+
withEdge: false,
|
|
75
|
+
strokeWidth: 1,
|
|
76
|
+
strokeDasharray: "Solid",
|
|
77
|
+
children: noop,
|
|
78
|
+
tolerance: 7,
|
|
79
|
+
selected: false,
|
|
80
|
+
};
|
|
81
|
+
function isHovering({ topLeftX, topLeftY, topRightX, topRightY, bottomLeftX, bottomLeftY, bottomRightX, bottomRightY, mouseXY, type, tolerance, xScale, yScale }) {
|
|
82
|
+
const line = generateRectangle({
|
|
83
|
+
type,
|
|
84
|
+
start: [topLeftX, topLeftY],
|
|
85
|
+
end: [topRightX, topRightY],
|
|
86
|
+
startBottom: [bottomLeftX, bottomLeftY],
|
|
87
|
+
endBottom: [bottomRightX, bottomRightY],
|
|
88
|
+
xScale,
|
|
89
|
+
yScale,
|
|
90
|
+
});
|
|
91
|
+
const start = [xScale(line.x1), yScale(line.y1)];
|
|
92
|
+
const end = [xScale(line.x2), yScale(line.y2)];
|
|
93
|
+
const m = getSlope(start, end);
|
|
94
|
+
const [mouseX, mouseY] = mouseXY;
|
|
95
|
+
if (m !== undefined) {
|
|
96
|
+
const b = getYIntercept(m, end);
|
|
97
|
+
const y = m * mouseX + b;
|
|
98
|
+
return (mouseY < y + tolerance &&
|
|
99
|
+
mouseY > y - tolerance &&
|
|
100
|
+
mouseX > Math.min(start[0], end[0]) - tolerance &&
|
|
101
|
+
mouseX < Math.max(start[0], end[0]) + tolerance);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return (mouseY >= Math.min(start[1], end[1]) &&
|
|
105
|
+
mouseY <= Math.max(start[1], end[1]) &&
|
|
106
|
+
mouseX < start[0] + tolerance &&
|
|
107
|
+
mouseX > start[0] - tolerance);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function helper(props, moreProps) {
|
|
111
|
+
const { topLeftX, topRightX, topLeftY, topRightY, bottomLeftX, bottomLeftY, bottomRightX, bottomRightY, type } = props;
|
|
112
|
+
const { xScale, chartConfig: { yScale }, } = moreProps;
|
|
113
|
+
const modLine = generateRectangle({
|
|
114
|
+
type,
|
|
115
|
+
start: [topLeftX, topLeftY],
|
|
116
|
+
end: [topRightX, topRightY],
|
|
117
|
+
startBottom: [bottomLeftX, bottomLeftY],
|
|
118
|
+
endBottom: [bottomRightX, bottomRightY],
|
|
119
|
+
xScale,
|
|
120
|
+
yScale,
|
|
121
|
+
});
|
|
122
|
+
const x1 = xScale(modLine.x1);
|
|
123
|
+
const y1 = yScale(modLine.y1);
|
|
124
|
+
const x2 = xScale(modLine.x2);
|
|
125
|
+
const y2 = yScale(modLine.y2);
|
|
126
|
+
const x1Bottom = xScale(modLine.x1Bottom);
|
|
127
|
+
const y1Bottom = yScale(modLine.y1Bottom);
|
|
128
|
+
const x2Bottom = xScale(modLine.x2Bottom);
|
|
129
|
+
const y2Bottom = yScale(modLine.y2Bottom);
|
|
130
|
+
return {
|
|
131
|
+
x1,
|
|
132
|
+
y1,
|
|
133
|
+
x2,
|
|
134
|
+
y2,
|
|
135
|
+
x1Bottom,
|
|
136
|
+
y1Bottom,
|
|
137
|
+
x2Bottom,
|
|
138
|
+
y2Bottom,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
function getSlope(start, end) {
|
|
142
|
+
const m /* slope */ = end[0] === start[0] ? undefined : (end[1] - start[1]) / (end[0] - start[0]);
|
|
143
|
+
return m;
|
|
144
|
+
}
|
|
145
|
+
function getYIntercept(m, end) {
|
|
146
|
+
const b /* y intercept */ = -1 * m * end[0] + end[1];
|
|
147
|
+
return b;
|
|
148
|
+
}
|
|
149
|
+
export function generateRectangle({ type, start, end, startBottom, endBottom, xScale, yScale }) {
|
|
150
|
+
const m /* slope */ = getSlope(start, end);
|
|
151
|
+
const b /* y intercept */ = getYIntercept(m, start);
|
|
152
|
+
switch (type) {
|
|
153
|
+
case "XLINE":
|
|
154
|
+
return getXLineCoordinates({
|
|
155
|
+
start,
|
|
156
|
+
end,
|
|
157
|
+
startBottom, endBottom,
|
|
158
|
+
xScale,
|
|
159
|
+
yScale,
|
|
160
|
+
m,
|
|
161
|
+
b,
|
|
162
|
+
});
|
|
163
|
+
case "RAY":
|
|
164
|
+
return getRayCoordinates({
|
|
165
|
+
start,
|
|
166
|
+
end,
|
|
167
|
+
startBottom, endBottom,
|
|
168
|
+
xScale,
|
|
169
|
+
yScale,
|
|
170
|
+
m,
|
|
171
|
+
b,
|
|
172
|
+
});
|
|
173
|
+
default:
|
|
174
|
+
case "LINE":
|
|
175
|
+
return getLineCoordinates({
|
|
176
|
+
start,
|
|
177
|
+
end,
|
|
178
|
+
startBottom, endBottom,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
function getXLineCoordinates({ start, end, startBottom, endBottom, xScale, yScale, m, b }) {
|
|
183
|
+
const [xBegin, xFinish] = xScale.domain();
|
|
184
|
+
const [yBegin, yFinish] = yScale.domain();
|
|
185
|
+
if (end[0] === start[0]) {
|
|
186
|
+
return {
|
|
187
|
+
x1: end[0],
|
|
188
|
+
y1: yBegin,
|
|
189
|
+
x2: end[0],
|
|
190
|
+
y2: yFinish,
|
|
191
|
+
x1Bottom: 0,
|
|
192
|
+
y1Bottom: 0,
|
|
193
|
+
x2Bottom: 0,
|
|
194
|
+
y2Bottom: 0,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
const [x1, x2] = end[0] > start[0] ? [xBegin, xFinish] : [xFinish, xBegin];
|
|
198
|
+
return {
|
|
199
|
+
x1,
|
|
200
|
+
y1: m * x1 + b,
|
|
201
|
+
x2,
|
|
202
|
+
y2: m * x2 + b,
|
|
203
|
+
x1Bottom: 0,
|
|
204
|
+
y1Bottom: 0,
|
|
205
|
+
x2Bottom: 0,
|
|
206
|
+
y2Bottom: 0,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
function getRayCoordinates({ start, end, startBottom, endBottom, xScale, yScale, m, b }) {
|
|
210
|
+
const [xBegin, xFinish] = xScale.domain();
|
|
211
|
+
const [yBegin, yFinish] = yScale.domain();
|
|
212
|
+
const x1 = start[0];
|
|
213
|
+
if (end[0] === start[0]) {
|
|
214
|
+
return {
|
|
215
|
+
x1,
|
|
216
|
+
y1: start[1],
|
|
217
|
+
x2: x1,
|
|
218
|
+
y2: end[1] > start[1] ? yFinish : yBegin,
|
|
219
|
+
x1Bottom: 0,
|
|
220
|
+
y1Bottom: 0,
|
|
221
|
+
x2Bottom: 0,
|
|
222
|
+
y2Bottom: 0,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
const x2 = end[0] > start[0] ? xFinish : xBegin;
|
|
226
|
+
return {
|
|
227
|
+
x1,
|
|
228
|
+
y1: m * x1 + b,
|
|
229
|
+
x2,
|
|
230
|
+
y2: m * x2 + b,
|
|
231
|
+
x1Bottom: 0,
|
|
232
|
+
y1Bottom: 0,
|
|
233
|
+
x2Bottom: 0,
|
|
234
|
+
y2Bottom: 0,
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
function getLineCoordinates({ start, end, startBottom, endBottom, }) {
|
|
238
|
+
const [x1, y1] = start;
|
|
239
|
+
const [x2, y2] = end;
|
|
240
|
+
const [x1Bottom, y1Bottom] = startBottom;
|
|
241
|
+
const [x2Bottom, y2Bottom] = endBottom;
|
|
242
|
+
if (end[0] === start[0] || endBottom[0] === startBottom[0]) {
|
|
243
|
+
return {
|
|
244
|
+
x1,
|
|
245
|
+
y1: start[1],
|
|
246
|
+
x2: x1,
|
|
247
|
+
y2: end[1],
|
|
248
|
+
x1Bottom,
|
|
249
|
+
y1Bottom: startBottom[1],
|
|
250
|
+
x2Bottom,
|
|
251
|
+
y2Bottom: endBottom[1],
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
return {
|
|
255
|
+
x1,
|
|
256
|
+
y1,
|
|
257
|
+
x2,
|
|
258
|
+
y2,
|
|
259
|
+
x1Bottom,
|
|
260
|
+
y1Bottom,
|
|
261
|
+
x2Bottom,
|
|
262
|
+
y2Bottom,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=InteractiveRectangle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InteractiveRectangle.js","sourceRoot":"","sources":["../../src/components/InteractiveRectangle.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export * from "./ClickableShape";
|
|
|
4
4
|
export * from "./GannFan";
|
|
5
5
|
export * from "./HoverTextNearMouse";
|
|
6
6
|
export * from "./InteractiveStraightLine";
|
|
7
|
+
export * from "./InteractiveRectangle";
|
|
7
8
|
export * from "./InteractiveText";
|
|
8
9
|
export * from "./InteractiveYCoordinate";
|
|
9
10
|
export * from "./LinearRegressionChannelWithArea";
|
package/lib/components/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./ClickableShape";
|
|
|
4
4
|
export * from "./GannFan";
|
|
5
5
|
export * from "./HoverTextNearMouse";
|
|
6
6
|
export * from "./InteractiveStraightLine";
|
|
7
|
+
export * from "./InteractiveRectangle";
|
|
7
8
|
export * from "./InteractiveText";
|
|
8
9
|
export * from "./InteractiveYCoordinate";
|
|
9
10
|
export * from "./LinearRegressionChannelWithArea";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,QAAQ,CAAC"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -10,4 +10,5 @@ export { InteractiveYCoordinate } from "./InteractiveYCoordinate";
|
|
|
10
10
|
export { DrawingObjectSelector } from "./DrawingObjectSelector";
|
|
11
11
|
export { ZoomButtons } from "./ZoomButtons";
|
|
12
12
|
export * from "./utils";
|
|
13
|
+
export { Rectangle } from "./Rectangle";
|
|
13
14
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|