@tradingaction/interactive 2.0.13
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/LICENSE +24 -0
- package/README.md +5 -0
- package/lib/Brush.d.ts +35 -0
- package/lib/Brush.js +103 -0
- package/lib/Brush.js.map +1 -0
- package/lib/ClickCallback.d.ts +18 -0
- package/lib/ClickCallback.js +12 -0
- package/lib/ClickCallback.js.map +1 -0
- package/lib/DrawingObjectSelector.d.ts +18 -0
- package/lib/DrawingObjectSelector.js +73 -0
- package/lib/DrawingObjectSelector.js.map +1 -0
- package/lib/EquidistantChannel.d.ts +74 -0
- package/lib/EquidistantChannel.js +149 -0
- package/lib/EquidistantChannel.js.map +1 -0
- package/lib/FibonacciRetracement.d.ts +89 -0
- package/lib/FibonacciRetracement.js +184 -0
- package/lib/FibonacciRetracement.js.map +1 -0
- package/lib/GannFan.d.ts +78 -0
- package/lib/GannFan.js +128 -0
- package/lib/GannFan.js.map +1 -0
- package/lib/InteractiveText.d.ts +65 -0
- package/lib/InteractiveText.js +83 -0
- package/lib/InteractiveText.js.map +1 -0
- package/lib/InteractiveYCoordinate.d.ts +122 -0
- package/lib/InteractiveYCoordinate.js +100 -0
- package/lib/InteractiveYCoordinate.js.map +1 -0
- package/lib/StandardDeviationChannel.d.ts +74 -0
- package/lib/StandardDeviationChannel.js +125 -0
- package/lib/StandardDeviationChannel.js.map +1 -0
- package/lib/TrendLine.d.ts +84 -0
- package/lib/TrendLine.js +128 -0
- package/lib/TrendLine.js.map +1 -0
- package/lib/ZoomButtons.d.ts +30 -0
- package/lib/ZoomButtons.js +78 -0
- package/lib/ZoomButtons.js.map +1 -0
- package/lib/components/ChannelWithArea.d.ts +30 -0
- package/lib/components/ChannelWithArea.js +126 -0
- package/lib/components/ChannelWithArea.js.map +1 -0
- package/lib/components/ClickableCircle.d.ts +26 -0
- package/lib/components/ClickableCircle.js +48 -0
- package/lib/components/ClickableCircle.js.map +1 -0
- package/lib/components/ClickableShape.d.ts +33 -0
- package/lib/components/ClickableShape.js +64 -0
- package/lib/components/ClickableShape.js.map +1 -0
- package/lib/components/GannFan.d.ts +32 -0
- package/lib/components/GannFan.js +134 -0
- package/lib/components/GannFan.js.map +1 -0
- package/lib/components/HoverTextNearMouse.d.ts +35 -0
- package/lib/components/HoverTextNearMouse.js +113 -0
- package/lib/components/HoverTextNearMouse.js.map +1 -0
- package/lib/components/InteractiveStraightLine.d.ts +61 -0
- package/lib/components/InteractiveStraightLine.js +220 -0
- package/lib/components/InteractiveStraightLine.js.map +1 -0
- package/lib/components/InteractiveText.d.ts +38 -0
- package/lib/components/InteractiveText.js +84 -0
- package/lib/components/InteractiveText.js.map +1 -0
- package/lib/components/InteractiveYCoordinate.d.ts +46 -0
- package/lib/components/InteractiveYCoordinate.js +109 -0
- package/lib/components/InteractiveYCoordinate.js.map +1 -0
- package/lib/components/LinearRegressionChannelWithArea.d.ts +31 -0
- package/lib/components/LinearRegressionChannelWithArea.js +104 -0
- package/lib/components/LinearRegressionChannelWithArea.js.map +1 -0
- package/lib/components/MouseLocationIndicator.d.ts +34 -0
- package/lib/components/MouseLocationIndicator.js +79 -0
- package/lib/components/MouseLocationIndicator.js.map +1 -0
- package/lib/components/Text.d.ts +17 -0
- package/lib/components/Text.js +26 -0
- package/lib/components/Text.js.map +1 -0
- package/lib/components/index.d.ts +11 -0
- package/lib/components/index.js +12 -0
- package/lib/components/index.js.map +1 -0
- package/lib/index.d.ts +12 -0
- package/lib/index.js +13 -0
- package/lib/index.js.map +1 -0
- package/lib/utils.d.ts +7 -0
- package/lib/utils.js +84 -0
- package/lib/utils.js.map +1 -0
- package/lib/wrapper/EachEquidistantChannel.d.ts +59 -0
- package/lib/wrapper/EachEquidistantChannel.js +172 -0
- package/lib/wrapper/EachEquidistantChannel.js.map +1 -0
- package/lib/wrapper/EachFibRetracement.d.ts +81 -0
- package/lib/wrapper/EachFibRetracement.js +202 -0
- package/lib/wrapper/EachFibRetracement.js.map +1 -0
- package/lib/wrapper/EachGannFan.d.ts +81 -0
- package/lib/wrapper/EachGannFan.js +161 -0
- package/lib/wrapper/EachGannFan.js.map +1 -0
- package/lib/wrapper/EachInteractiveYCoordinate.d.ts +50 -0
- package/lib/wrapper/EachInteractiveYCoordinate.js +80 -0
- package/lib/wrapper/EachInteractiveYCoordinate.js.map +1 -0
- package/lib/wrapper/EachLinearRegressionChannel.d.ts +75 -0
- package/lib/wrapper/EachLinearRegressionChannel.js +89 -0
- package/lib/wrapper/EachLinearRegressionChannel.js.map +1 -0
- package/lib/wrapper/EachText.d.ts +59 -0
- package/lib/wrapper/EachText.js +83 -0
- package/lib/wrapper/EachText.js.map +1 -0
- package/lib/wrapper/EachTrendLine.d.ts +85 -0
- package/lib/wrapper/EachTrendLine.js +165 -0
- package/lib/wrapper/EachTrendLine.js.map +1 -0
- package/lib/wrapper/index.d.ts +7 -0
- package/lib/wrapper/index.js +8 -0
- package/lib/wrapper/index.js.map +1 -0
- package/package.json +53 -0
- package/src/Brush.tsx +172 -0
- package/src/ClickCallback.tsx +37 -0
- package/src/DrawingObjectSelector.tsx +97 -0
- package/src/EquidistantChannel.tsx +268 -0
- package/src/FibonacciRetracement.tsx +328 -0
- package/src/GannFan.tsx +233 -0
- package/src/InteractiveText.tsx +182 -0
- package/src/InteractiveYCoordinate.tsx +199 -0
- package/src/StandardDeviationChannel.tsx +269 -0
- package/src/TrendLine.tsx +294 -0
- package/src/ZoomButtons.tsx +165 -0
- package/src/components/ChannelWithArea.tsx +199 -0
- package/src/components/ClickableCircle.tsx +91 -0
- package/src/components/ClickableShape.tsx +114 -0
- package/src/components/GannFan.tsx +189 -0
- package/src/components/HoverTextNearMouse.tsx +174 -0
- package/src/components/InteractiveStraightLine.tsx +335 -0
- package/src/components/InteractiveText.tsx +146 -0
- package/src/components/InteractiveYCoordinate.tsx +200 -0
- package/src/components/LinearRegressionChannelWithArea.tsx +169 -0
- package/src/components/MouseLocationIndicator.tsx +128 -0
- package/src/components/Text.tsx +47 -0
- package/src/components/index.ts +11 -0
- package/src/index.ts +12 -0
- package/src/utils.ts +101 -0
- package/src/wrapper/EachEquidistantChannel.tsx +302 -0
- package/src/wrapper/EachFibRetracement.tsx +359 -0
- package/src/wrapper/EachGannFan.tsx +289 -0
- package/src/wrapper/EachInteractiveYCoordinate.tsx +198 -0
- package/src/wrapper/EachLinearRegressionChannel.tsx +202 -0
- package/src/wrapper/EachText.tsx +190 -0
- package/src/wrapper/EachTrendLine.tsx +331 -0
- package/src/wrapper/index.ts +7 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrendLine.js","sourceRoot":"","sources":["../src/TrendLine.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface ZoomButtonsProps {
|
|
3
|
+
readonly fill: string;
|
|
4
|
+
readonly fillOpacity: number;
|
|
5
|
+
readonly heightFromBase: number;
|
|
6
|
+
readonly onReset?: () => void;
|
|
7
|
+
readonly r: number;
|
|
8
|
+
readonly stroke: string;
|
|
9
|
+
readonly strokeWidth: number;
|
|
10
|
+
readonly textFill: string;
|
|
11
|
+
readonly zoomMultiplier: number;
|
|
12
|
+
}
|
|
13
|
+
export declare class ZoomButtons extends React.Component<ZoomButtonsProps> {
|
|
14
|
+
static defaultProps: {
|
|
15
|
+
fill: string;
|
|
16
|
+
fillOpacity: number;
|
|
17
|
+
heightFromBase: number;
|
|
18
|
+
r: number;
|
|
19
|
+
stroke: string;
|
|
20
|
+
strokeWidth: number;
|
|
21
|
+
textFill: string;
|
|
22
|
+
zoomMultiplier: number;
|
|
23
|
+
};
|
|
24
|
+
static contextType: React.Context<import("@tradingaction/core").ChartContextType>;
|
|
25
|
+
private interval?;
|
|
26
|
+
render(): JSX.Element;
|
|
27
|
+
private readonly handleZoomIn;
|
|
28
|
+
private readonly handleZoomOut;
|
|
29
|
+
private readonly zoom;
|
|
30
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { ChartContext, last } from "@tradingaction/core";
|
|
2
|
+
import { interpolateNumber } from "d3-interpolate";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export class ZoomButtons extends React.Component {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.handleZoomIn = () => {
|
|
8
|
+
if (this.interval) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this.zoom(-1);
|
|
12
|
+
};
|
|
13
|
+
this.handleZoomOut = () => {
|
|
14
|
+
if (this.interval) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
this.zoom(1);
|
|
18
|
+
};
|
|
19
|
+
this.zoom = (direction) => {
|
|
20
|
+
const { xAxisZoom, xScale, plotData, xAccessor } = this.context;
|
|
21
|
+
const cx = xScale(xAccessor(last(plotData)));
|
|
22
|
+
const { zoomMultiplier } = this.props;
|
|
23
|
+
const c = direction > 0 ? 1 * zoomMultiplier : 1 / zoomMultiplier;
|
|
24
|
+
const [start, end] = xScale.domain();
|
|
25
|
+
const [newStart, newEnd] = xScale
|
|
26
|
+
.range()
|
|
27
|
+
.map((x) => cx + (x - cx) * c)
|
|
28
|
+
.map(xScale.invert);
|
|
29
|
+
const left = interpolateNumber(start, newStart);
|
|
30
|
+
const right = interpolateNumber(end, newEnd);
|
|
31
|
+
const foo = [0.25, 0.3, 0.5, 0.6, 0.75, 1].map((i) => {
|
|
32
|
+
return [left(i), right(i)];
|
|
33
|
+
});
|
|
34
|
+
this.interval = window.setInterval(() => {
|
|
35
|
+
xAxisZoom(foo.shift());
|
|
36
|
+
if (foo.length === 0) {
|
|
37
|
+
clearInterval(this.interval);
|
|
38
|
+
delete this.interval;
|
|
39
|
+
}
|
|
40
|
+
}, 10);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
render() {
|
|
44
|
+
const { chartConfig } = this.context;
|
|
45
|
+
const { width, height } = chartConfig;
|
|
46
|
+
const { heightFromBase, r, fill, fillOpacity, onReset, stroke, strokeWidth, textFill } = this.props;
|
|
47
|
+
const centerX = Math.round(width / 2);
|
|
48
|
+
const y = height - heightFromBase;
|
|
49
|
+
const zoomOutX = centerX - 16 - r * 2;
|
|
50
|
+
const zoomInX = centerX - 8;
|
|
51
|
+
const resetX = centerX + 16 + r * 2;
|
|
52
|
+
return (React.createElement("g", { className: "react-financial-charts-zoom-buttons" },
|
|
53
|
+
React.createElement("circle", { className: "react-financial-charts-button", cx: zoomOutX - r / 2, cy: y + r / 2, fill: fill, fillOpacity: fillOpacity, stroke: stroke, strokeWidth: strokeWidth, r: r }),
|
|
54
|
+
React.createElement("g", { transform: `translate (${zoomOutX - 20}, ${y - 8 + r / 4})` },
|
|
55
|
+
React.createElement("path", { d: "M19,13H5V11H19V13Z", fill: textFill })),
|
|
56
|
+
React.createElement("circle", { className: "react-financial-charts-button", cx: zoomInX - r / 2, cy: y + r / 2, fill: fill, fillOpacity: fillOpacity, stroke: stroke, strokeWidth: strokeWidth, r: r }),
|
|
57
|
+
React.createElement("g", { transform: `translate (${zoomInX - 20}, ${y - 8 + r / 4})` },
|
|
58
|
+
React.createElement("path", { d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z", fill: textFill })),
|
|
59
|
+
React.createElement("circle", { className: "react-financial-charts-button", cx: resetX - r / 2, cy: y + r / 2, fill: fill, fillOpacity: fillOpacity, stroke: stroke, strokeWidth: strokeWidth, r: r }),
|
|
60
|
+
React.createElement("g", { transform: `translate (${resetX - r}, ${y - 4 + r / 4})` },
|
|
61
|
+
React.createElement("path", { d: "M2.35 2.35A7.958 7.958 0 018 0a8 8 0 110 16c-3.73 0-6.84-2.55-7.73-6h2.08c.82 2.33 3.04 4 5.65 4A6 6 0 108 2c-1.66 0-3.14.69-4.22 1.78L7 7H0V0l2.35 2.35z", fill: textFill })),
|
|
62
|
+
React.createElement("circle", { className: "react-financial-charts-enable-interaction out", onClick: this.handleZoomOut, cx: zoomOutX - r / 2, cy: y + r / 2, r: r, fill: "none" }),
|
|
63
|
+
React.createElement("circle", { className: "react-financial-charts-enable-interaction in", onClick: this.handleZoomIn, cx: zoomInX - r / 2, cy: y + r / 2, r: r, fill: "none" }),
|
|
64
|
+
React.createElement("circle", { className: "react-financial-charts-enable-interaction reset", onClick: onReset, cx: resetX - r / 2, cy: y + r / 2, r: r, fill: "none" })));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
ZoomButtons.defaultProps = {
|
|
68
|
+
fill: "#ffffff",
|
|
69
|
+
fillOpacity: 0.75,
|
|
70
|
+
heightFromBase: 32,
|
|
71
|
+
r: 16,
|
|
72
|
+
stroke: "#e0e3eb",
|
|
73
|
+
strokeWidth: 1,
|
|
74
|
+
textFill: "#000000",
|
|
75
|
+
zoomMultiplier: 1.5,
|
|
76
|
+
};
|
|
77
|
+
ZoomButtons.contextType = ChartContext;
|
|
78
|
+
//# sourceMappingURL=ZoomButtons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZoomButtons.js","sourceRoot":"","sources":["../src/ZoomButtons.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface ChannelWithAreaProps {
|
|
3
|
+
readonly startXY?: number[];
|
|
4
|
+
readonly endXY?: number[];
|
|
5
|
+
readonly dy?: number;
|
|
6
|
+
readonly interactiveCursorClass?: string;
|
|
7
|
+
readonly strokeStyle: string;
|
|
8
|
+
readonly strokeWidth: number;
|
|
9
|
+
readonly fillStyle: string;
|
|
10
|
+
readonly type: "XLINE" | "RAY" | "LINE";
|
|
11
|
+
readonly onDragStart?: (e: React.MouseEvent, moreProps: any) => void;
|
|
12
|
+
readonly onDrag?: (e: React.MouseEvent, moreProps: any) => void;
|
|
13
|
+
readonly onDragComplete?: (e: React.MouseEvent, moreProps: any) => void;
|
|
14
|
+
readonly onHover?: (e: React.MouseEvent, moreProps: any) => void;
|
|
15
|
+
readonly onUnHover?: (e: React.MouseEvent, moreProps: any) => void;
|
|
16
|
+
readonly defaultClassName?: string;
|
|
17
|
+
readonly tolerance: number;
|
|
18
|
+
readonly selected: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare class ChannelWithArea extends React.Component<ChannelWithAreaProps> {
|
|
21
|
+
static defaultProps: {
|
|
22
|
+
type: string;
|
|
23
|
+
strokeWidth: number;
|
|
24
|
+
tolerance: number;
|
|
25
|
+
selected: boolean;
|
|
26
|
+
};
|
|
27
|
+
render(): JSX.Element;
|
|
28
|
+
private readonly drawOnCanvas;
|
|
29
|
+
private readonly isHover;
|
|
30
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { isDefined, isNotDefined, getMouseCanvas, GenericChartComponent } from "@tradingaction/core";
|
|
3
|
+
import { generateLine, isHovering } from "./InteractiveStraightLine";
|
|
4
|
+
export class ChannelWithArea extends React.Component {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.drawOnCanvas = (ctx, moreProps) => {
|
|
8
|
+
const { strokeStyle, strokeWidth, fillStyle } = this.props;
|
|
9
|
+
const { line1, line2 } = helper(this.props, moreProps);
|
|
10
|
+
if (line1 !== undefined) {
|
|
11
|
+
const { x1, y1, x2, y2 } = line1;
|
|
12
|
+
ctx.lineWidth = strokeWidth;
|
|
13
|
+
ctx.strokeStyle = strokeStyle;
|
|
14
|
+
ctx.beginPath();
|
|
15
|
+
ctx.moveTo(x1, y1);
|
|
16
|
+
ctx.lineTo(x2, y2);
|
|
17
|
+
ctx.stroke();
|
|
18
|
+
if (line2 !== undefined) {
|
|
19
|
+
const { y1: line2Y1, y2: line2Y2 } = line2;
|
|
20
|
+
ctx.beginPath();
|
|
21
|
+
ctx.moveTo(x1, line2Y1);
|
|
22
|
+
ctx.lineTo(x2, line2Y2);
|
|
23
|
+
ctx.stroke();
|
|
24
|
+
ctx.fillStyle = fillStyle;
|
|
25
|
+
ctx.beginPath();
|
|
26
|
+
ctx.moveTo(x1, y1);
|
|
27
|
+
ctx.lineTo(x2, y2);
|
|
28
|
+
ctx.lineTo(x2, line2Y2);
|
|
29
|
+
ctx.lineTo(x1, line2Y1);
|
|
30
|
+
ctx.closePath();
|
|
31
|
+
ctx.fill();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
this.isHover = (moreProps) => {
|
|
36
|
+
const { tolerance, onHover } = this.props;
|
|
37
|
+
if (onHover !== undefined) {
|
|
38
|
+
const { line1, line2 } = helper(this.props, moreProps);
|
|
39
|
+
if (line1 !== undefined && line2 !== undefined) {
|
|
40
|
+
const { mouseXY, xScale, chartConfig: { yScale }, } = moreProps;
|
|
41
|
+
const line1Hovering = isHovering({
|
|
42
|
+
x1Value: line1.x1,
|
|
43
|
+
y1Value: line1.y1,
|
|
44
|
+
x2Value: line1.x2,
|
|
45
|
+
y2Value: line1.y2,
|
|
46
|
+
type: "LINE",
|
|
47
|
+
mouseXY,
|
|
48
|
+
tolerance,
|
|
49
|
+
xScale,
|
|
50
|
+
yScale,
|
|
51
|
+
});
|
|
52
|
+
const line2Hovering = isHovering({
|
|
53
|
+
x1Value: line2.x1,
|
|
54
|
+
y1Value: line2.y1,
|
|
55
|
+
x2Value: line2.x2,
|
|
56
|
+
y2Value: line2.y2,
|
|
57
|
+
type: "LINE",
|
|
58
|
+
mouseXY,
|
|
59
|
+
tolerance,
|
|
60
|
+
xScale,
|
|
61
|
+
yScale,
|
|
62
|
+
});
|
|
63
|
+
return line1Hovering || line2Hovering;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
render() {
|
|
70
|
+
const { selected, interactiveCursorClass } = this.props;
|
|
71
|
+
const { onDragStart, onDrag, onDragComplete, onHover, onUnHover } = this.props;
|
|
72
|
+
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", "mouseleave", "pan", "drag"] }));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
ChannelWithArea.defaultProps = {
|
|
76
|
+
type: "LINE",
|
|
77
|
+
strokeWidth: 1,
|
|
78
|
+
tolerance: 4,
|
|
79
|
+
selected: false,
|
|
80
|
+
};
|
|
81
|
+
function getLines(props, moreProps) {
|
|
82
|
+
const { startXY, endXY, dy, type } = props;
|
|
83
|
+
const { xScale } = moreProps;
|
|
84
|
+
if (isNotDefined(startXY) || isNotDefined(endXY)) {
|
|
85
|
+
return {};
|
|
86
|
+
}
|
|
87
|
+
const line1 = generateLine({
|
|
88
|
+
type,
|
|
89
|
+
start: startXY,
|
|
90
|
+
end: endXY,
|
|
91
|
+
xScale,
|
|
92
|
+
yScale: undefined,
|
|
93
|
+
});
|
|
94
|
+
const line2 = isDefined(dy)
|
|
95
|
+
? Object.assign(Object.assign({}, line1), { y1: line1.y1 + dy, y2: line1.y2 + dy }) : undefined;
|
|
96
|
+
return {
|
|
97
|
+
line1,
|
|
98
|
+
line2,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function helper(props, moreProps) {
|
|
102
|
+
const lines = getLines(props, moreProps);
|
|
103
|
+
const { xScale, chartConfig: { yScale }, } = moreProps;
|
|
104
|
+
const line1 = lines.line1 !== undefined
|
|
105
|
+
? {
|
|
106
|
+
x1: xScale(lines.line1.x1),
|
|
107
|
+
y1: yScale(lines.line1.y1),
|
|
108
|
+
x2: xScale(lines.line1.x2),
|
|
109
|
+
y2: yScale(lines.line1.y2),
|
|
110
|
+
}
|
|
111
|
+
: undefined;
|
|
112
|
+
const line2 = lines.line2 !== undefined
|
|
113
|
+
? {
|
|
114
|
+
x1: line1.x1,
|
|
115
|
+
y1: yScale(lines.line2.y1),
|
|
116
|
+
x2: line1.x2,
|
|
117
|
+
y2: yScale(lines.line2.y2),
|
|
118
|
+
}
|
|
119
|
+
: undefined;
|
|
120
|
+
return {
|
|
121
|
+
lines,
|
|
122
|
+
line1,
|
|
123
|
+
line2,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=ChannelWithArea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChannelWithArea.js","sourceRoot":"","sources":["../../src/components/ChannelWithArea.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface ClickableCircleProps {
|
|
3
|
+
readonly onDragStart?: (e: React.MouseEvent, moreProps: any) => void;
|
|
4
|
+
readonly onDrag?: (e: React.MouseEvent, moreProps: any) => void;
|
|
5
|
+
readonly onDragComplete?: (e: React.MouseEvent, moreProps: any) => void;
|
|
6
|
+
readonly strokeWidth: number;
|
|
7
|
+
readonly strokeStyle: string;
|
|
8
|
+
readonly fillStyle: string;
|
|
9
|
+
readonly r: number;
|
|
10
|
+
readonly cx?: number;
|
|
11
|
+
readonly cy?: number;
|
|
12
|
+
readonly className: string;
|
|
13
|
+
readonly show: boolean;
|
|
14
|
+
readonly interactiveCursorClass?: string;
|
|
15
|
+
readonly xyProvider?: (moreProps: any) => number[];
|
|
16
|
+
}
|
|
17
|
+
export declare class ClickableCircle extends React.Component<ClickableCircleProps> {
|
|
18
|
+
static defaultProps: {
|
|
19
|
+
className: string;
|
|
20
|
+
show: boolean;
|
|
21
|
+
};
|
|
22
|
+
render(): JSX.Element | null;
|
|
23
|
+
private readonly drawOnCanvas;
|
|
24
|
+
private readonly isHover;
|
|
25
|
+
private readonly helper;
|
|
26
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { getMouseCanvas, GenericChartComponent } from "@tradingaction/core";
|
|
3
|
+
export class ClickableCircle extends React.Component {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.drawOnCanvas = (ctx, moreProps) => {
|
|
7
|
+
const { strokeStyle, strokeWidth, fillStyle, r } = this.props;
|
|
8
|
+
ctx.lineWidth = strokeWidth;
|
|
9
|
+
ctx.fillStyle = fillStyle;
|
|
10
|
+
ctx.strokeStyle = strokeStyle;
|
|
11
|
+
const [x, y] = this.helper(moreProps);
|
|
12
|
+
ctx.beginPath();
|
|
13
|
+
ctx.arc(x, y, r, 0, 2 * Math.PI, false);
|
|
14
|
+
ctx.fill();
|
|
15
|
+
ctx.stroke();
|
|
16
|
+
};
|
|
17
|
+
this.isHover = (moreProps) => {
|
|
18
|
+
const { mouseXY } = moreProps;
|
|
19
|
+
const r = this.props.r + 7;
|
|
20
|
+
const [x, y] = this.helper(moreProps);
|
|
21
|
+
const [mx, my] = mouseXY;
|
|
22
|
+
const hover = x - r < mx && mx < x + r && y - r < my && my < y + r;
|
|
23
|
+
return hover;
|
|
24
|
+
};
|
|
25
|
+
this.helper = (moreProps) => {
|
|
26
|
+
const { xyProvider, cx, cy } = this.props;
|
|
27
|
+
if (xyProvider !== undefined) {
|
|
28
|
+
return xyProvider(moreProps);
|
|
29
|
+
}
|
|
30
|
+
const { xScale, chartConfig: { yScale }, } = moreProps;
|
|
31
|
+
const x = xScale(cx);
|
|
32
|
+
const y = yScale(cy);
|
|
33
|
+
return [x, y];
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
render() {
|
|
37
|
+
const { interactiveCursorClass, onDragStart, onDrag, onDragComplete, show } = this.props;
|
|
38
|
+
if (!show) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return (React.createElement(GenericChartComponent, { interactiveCursorClass: interactiveCursorClass, selected: true, isHover: this.isHover, onDragStart: onDragStart, onDrag: onDrag, onDragComplete: onDragComplete, canvasDraw: this.drawOnCanvas, canvasToDraw: getMouseCanvas, drawOn: ["pan", "mousemove", "drag"] }));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
ClickableCircle.defaultProps = {
|
|
45
|
+
className: "react-financial-charts-interactive-line-edge",
|
|
46
|
+
show: false,
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=ClickableCircle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClickableCircle.js","sourceRoot":"","sources":["../../src/components/ClickableCircle.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface ClickableShapeProps {
|
|
3
|
+
readonly fontWeight: string;
|
|
4
|
+
readonly fontFamily: string;
|
|
5
|
+
readonly fontStyle: string;
|
|
6
|
+
readonly fontSize: number;
|
|
7
|
+
readonly strokeStyle: string;
|
|
8
|
+
readonly strokeWidth: number;
|
|
9
|
+
readonly text: string;
|
|
10
|
+
readonly textBox: {
|
|
11
|
+
readonly closeIcon: any;
|
|
12
|
+
readonly left: number;
|
|
13
|
+
readonly padding: any;
|
|
14
|
+
};
|
|
15
|
+
readonly hovering?: boolean;
|
|
16
|
+
readonly interactiveCursorClass?: string;
|
|
17
|
+
readonly show?: boolean;
|
|
18
|
+
readonly onHover?: (e: React.MouseEvent, moreProps: any) => void;
|
|
19
|
+
readonly onUnHover?: (e: React.MouseEvent, moreProps: any) => void;
|
|
20
|
+
readonly onClick?: (e: React.MouseEvent, moreProps: any) => void;
|
|
21
|
+
readonly yValue: number;
|
|
22
|
+
}
|
|
23
|
+
export declare class ClickableShape extends React.Component<ClickableShapeProps> {
|
|
24
|
+
static defaultProps: {
|
|
25
|
+
show: boolean;
|
|
26
|
+
strokeWidth: number;
|
|
27
|
+
};
|
|
28
|
+
private closeIcon;
|
|
29
|
+
render(): JSX.Element | null;
|
|
30
|
+
private readonly drawOnCanvas;
|
|
31
|
+
private readonly isHover;
|
|
32
|
+
private readonly helper;
|
|
33
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { getMouseCanvas, GenericChartComponent } from "@tradingaction/core";
|
|
3
|
+
import { isHovering2 } from "./InteractiveStraightLine";
|
|
4
|
+
export class ClickableShape extends React.Component {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.drawOnCanvas = (ctx, moreProps) => {
|
|
8
|
+
const { strokeStyle, strokeWidth, hovering, textBox } = this.props;
|
|
9
|
+
const [x, y] = this.helper(this.props, moreProps, ctx);
|
|
10
|
+
this.closeIcon = { x, y };
|
|
11
|
+
ctx.beginPath();
|
|
12
|
+
ctx.lineWidth = hovering ? strokeWidth + 1 : strokeWidth;
|
|
13
|
+
ctx.strokeStyle = strokeStyle;
|
|
14
|
+
const halfWidth = textBox.closeIcon.width / 2;
|
|
15
|
+
ctx.moveTo(x - halfWidth, y - halfWidth);
|
|
16
|
+
ctx.lineTo(x + halfWidth, y + halfWidth);
|
|
17
|
+
ctx.moveTo(x - halfWidth, y + halfWidth);
|
|
18
|
+
ctx.lineTo(x + halfWidth, y - halfWidth);
|
|
19
|
+
ctx.stroke();
|
|
20
|
+
};
|
|
21
|
+
this.isHover = (moreProps) => {
|
|
22
|
+
const { mouseXY } = moreProps;
|
|
23
|
+
if (this.closeIcon) {
|
|
24
|
+
const { textBox } = this.props;
|
|
25
|
+
const { x, y } = this.closeIcon;
|
|
26
|
+
const halfWidth = textBox.closeIcon.width / 2;
|
|
27
|
+
const start1 = [x - halfWidth, y - halfWidth];
|
|
28
|
+
const end1 = [x + halfWidth, y + halfWidth];
|
|
29
|
+
const start2 = [x - halfWidth, y + halfWidth];
|
|
30
|
+
const end2 = [x + halfWidth, y - halfWidth];
|
|
31
|
+
if (isHovering2(start1, end1, mouseXY, 3) || isHovering2(start2, end2, mouseXY, 3)) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
};
|
|
37
|
+
this.helper = (props, moreProps, ctx) => {
|
|
38
|
+
const { yValue, text, textBox } = props;
|
|
39
|
+
const { fontFamily, fontStyle, fontWeight, fontSize } = props;
|
|
40
|
+
ctx.font = `${fontStyle} ${fontWeight} ${fontSize}px ${fontFamily}`;
|
|
41
|
+
const { chartConfig: { yScale }, } = moreProps;
|
|
42
|
+
const x = textBox.left +
|
|
43
|
+
textBox.padding.left +
|
|
44
|
+
ctx.measureText(text).width +
|
|
45
|
+
textBox.padding.right +
|
|
46
|
+
textBox.closeIcon.padding.left +
|
|
47
|
+
textBox.closeIcon.width / 2;
|
|
48
|
+
const y = yScale(yValue);
|
|
49
|
+
return [x, y];
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
render() {
|
|
53
|
+
const { interactiveCursorClass, onHover, onUnHover, onClick, show } = this.props;
|
|
54
|
+
if (!show) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return (React.createElement(GenericChartComponent, { interactiveCursorClass: interactiveCursorClass, isHover: this.isHover, onClickWhenHover: onClick, canvasDraw: this.drawOnCanvas, canvasToDraw: getMouseCanvas, onHover: onHover, onUnHover: onUnHover, drawOn: ["pan", "mousemove", "drag"] }));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
ClickableShape.defaultProps = {
|
|
61
|
+
show: false,
|
|
62
|
+
strokeWidth: 1,
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=ClickableShape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClickableShape.js","sourceRoot":"","sources":["../../src/components/ClickableShape.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface GannFanProps {
|
|
3
|
+
readonly startXY: number[];
|
|
4
|
+
readonly defaultClassName?: string;
|
|
5
|
+
readonly endXY: number[];
|
|
6
|
+
readonly fillStyle: Array<string>;
|
|
7
|
+
readonly fontFamily: string;
|
|
8
|
+
readonly fontSize: number;
|
|
9
|
+
readonly fontFill: string;
|
|
10
|
+
readonly interactiveCursorClass?: string;
|
|
11
|
+
readonly onDragStart?: (e: React.MouseEvent, moreProps: any) => void;
|
|
12
|
+
readonly onDrag?: (e: React.MouseEvent, moreProps: any) => void;
|
|
13
|
+
readonly onDragComplete?: (e: React.MouseEvent, moreProps: any) => void;
|
|
14
|
+
readonly onHover?: (e: React.MouseEvent, moreProps: any) => void;
|
|
15
|
+
readonly onUnHover?: (e: React.MouseEvent, moreProps: any) => void;
|
|
16
|
+
readonly selected: boolean;
|
|
17
|
+
readonly strokeStyle: string;
|
|
18
|
+
readonly strokeWidth: number;
|
|
19
|
+
readonly tolerance: number;
|
|
20
|
+
}
|
|
21
|
+
export declare class GannFan extends React.Component<GannFanProps> {
|
|
22
|
+
static defaultProps: {
|
|
23
|
+
strokeWidth: number;
|
|
24
|
+
tolerance: number;
|
|
25
|
+
selected: boolean;
|
|
26
|
+
};
|
|
27
|
+
render(): JSX.Element;
|
|
28
|
+
private readonly drawOnCanvas;
|
|
29
|
+
private readonly isHover;
|
|
30
|
+
private readonly getLineCoordinates;
|
|
31
|
+
private readonly helper;
|
|
32
|
+
}
|