@gpa-gemstone/react-graph 1.0.74 → 1.0.76
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/GraphContext.d.ts +8 -0
- package/lib/GraphContext.js +3 -1
- package/lib/HeatLegend.js +6 -18
- package/lib/HeatMapChart.js +4 -4
- package/lib/InteractiveButtons.d.ts +2 -0
- package/lib/InteractiveButtons.js +24 -12
- package/lib/Legend.d.ts +6 -1
- package/lib/Legend.js +116 -60
- package/lib/LegendContext.d.ts +3 -5
- package/lib/LegendContext.js +3 -5
- package/lib/Line.js +10 -4
- package/lib/LineLegend.d.ts +1 -1
- package/lib/LineLegend.js +13 -51
- package/lib/LineWithThreshold.js +9 -3
- package/lib/Pill.d.ts +73 -0
- package/lib/Pill.js +165 -0
- package/lib/Plot.d.ts +11 -0
- package/lib/Plot.js +84 -65
- package/lib/index.d.ts +2 -2
- package/lib/index.js +3 -3
- package/package.json +3 -3
- package/lib/Oval.d.ts +0 -64
- package/lib/Oval.js +0 -132
package/lib/Pill.d.ts
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { IActionFunctions, AxisIdentifier } from './GraphContext';
|
|
2
|
+
export interface IProps {
|
|
3
|
+
/**
|
|
4
|
+
* Data for the pill and circles:
|
|
5
|
+
* [x1, x2]
|
|
6
|
+
* - x1: The x-coordinate of the left edge of the pill.
|
|
7
|
+
* - x2: The x-coordinate of the right edge of the pill.
|
|
8
|
+
*/
|
|
9
|
+
XData: [number, number];
|
|
10
|
+
/**
|
|
11
|
+
* Data for the pill and circles:
|
|
12
|
+
* [y1, y2]
|
|
13
|
+
* - y1: The y-coordinate of the bottom edge of the pill.
|
|
14
|
+
* - y2: The y-coordinate of the top edge of the pill.
|
|
15
|
+
*/
|
|
16
|
+
YData: [number, number];
|
|
17
|
+
/**
|
|
18
|
+
* Radius of the pill in pixels.
|
|
19
|
+
*/
|
|
20
|
+
RadiusPX: number;
|
|
21
|
+
/**
|
|
22
|
+
* Fill color of the pill.
|
|
23
|
+
* @type {string}
|
|
24
|
+
*/
|
|
25
|
+
Color: string;
|
|
26
|
+
/**
|
|
27
|
+
* Color of text in pill.
|
|
28
|
+
* @type {string}
|
|
29
|
+
*/
|
|
30
|
+
TextColor?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Stroke color of the pill and circles.
|
|
33
|
+
* @optional
|
|
34
|
+
* @type {string}
|
|
35
|
+
*/
|
|
36
|
+
BorderColor?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Stroke thickness of the pill and circles.
|
|
39
|
+
* @optional
|
|
40
|
+
* @type {number}
|
|
41
|
+
*/
|
|
42
|
+
BorderThickness?: number;
|
|
43
|
+
/**
|
|
44
|
+
* Optional text to display inside the pill.
|
|
45
|
+
* @optional
|
|
46
|
+
* @type {string}
|
|
47
|
+
*/
|
|
48
|
+
Text?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Where to place text in the pill
|
|
51
|
+
*/
|
|
52
|
+
TextPlacement?: 'center' | 'left' | 'right';
|
|
53
|
+
/**
|
|
54
|
+
* Opacity of the pill and circles.
|
|
55
|
+
* @optional
|
|
56
|
+
* @type {number}
|
|
57
|
+
*/
|
|
58
|
+
Opacity?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Axis identifier used for vertical positioning.
|
|
61
|
+
* @optional
|
|
62
|
+
* @type {AxisIdentifier}
|
|
63
|
+
*/
|
|
64
|
+
Axis?: AxisIdentifier;
|
|
65
|
+
/**
|
|
66
|
+
* Callback function to handle click events on the pill. Provides action functions to update domains.
|
|
67
|
+
* @optional
|
|
68
|
+
* @type {(actions: IActionFunctions) => void}
|
|
69
|
+
*/
|
|
70
|
+
OnClick?: (x: number, y: number, actions: IActionFunctions) => void;
|
|
71
|
+
}
|
|
72
|
+
declare const Pill: (props: IProps) => JSX.Element | null;
|
|
73
|
+
export default Pill;
|
package/lib/Pill.js
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ******************************************************************************************************
|
|
3
|
+
// Pill.tsx - Gbtc
|
|
4
|
+
//
|
|
5
|
+
// Copyright © 2024, Grid Protection Alliance. All Rights Reserved.
|
|
6
|
+
//
|
|
7
|
+
// Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See
|
|
8
|
+
// the NOTICE file distributed with this work for additional information regarding copyright ownership.
|
|
9
|
+
// The GPA licenses this file to you under the MIT License (MIT), the "License"; you may not use this
|
|
10
|
+
// file except in compliance with the License. You may obtain a copy of the License at:
|
|
11
|
+
//
|
|
12
|
+
// http://opensource.org/licenses/MIT
|
|
13
|
+
//
|
|
14
|
+
// Unless agreed to in writing, the subject software distributed under the License is distributed on an
|
|
15
|
+
// "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the
|
|
16
|
+
// License for the specific language governing permissions and limitations.
|
|
17
|
+
//
|
|
18
|
+
// Code Modification History:
|
|
19
|
+
// ----------------------------------------------------------------------------------------------------
|
|
20
|
+
// 09/03/2024 - Preston Crawford
|
|
21
|
+
// Generated original version of source code.
|
|
22
|
+
//
|
|
23
|
+
// ******************************************************************************************************
|
|
24
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
25
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
26
|
+
if (!m) return o;
|
|
27
|
+
var i = m.call(o), r, ar = [], e;
|
|
28
|
+
try {
|
|
29
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
30
|
+
}
|
|
31
|
+
catch (error) { e = { error: error }; }
|
|
32
|
+
finally {
|
|
33
|
+
try {
|
|
34
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
35
|
+
}
|
|
36
|
+
finally { if (e) throw e.error; }
|
|
37
|
+
}
|
|
38
|
+
return ar;
|
|
39
|
+
};
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
var helper_functions_1 = require("@gpa-gemstone/helper-functions");
|
|
42
|
+
var React = require("react");
|
|
43
|
+
var GraphContext_1 = require("./GraphContext");
|
|
44
|
+
var Pill = function (props) {
|
|
45
|
+
var _a;
|
|
46
|
+
var context = React.useContext(GraphContext_1.GraphContext);
|
|
47
|
+
var _b = __read(React.useState(""), 2), guid = _b[0], setGuid = _b[1];
|
|
48
|
+
var _c = __read(React.useState(1), 2), textSize = _c[0], setTextSize = _c[1];
|
|
49
|
+
var pxHeight = React.useMemo(function () {
|
|
50
|
+
var axis = GraphContext_1.AxisMap.get(props.Axis);
|
|
51
|
+
var y0px = context.YTransformation(props.YData[0], axis);
|
|
52
|
+
var y1px = context.YTransformation(props.YData[1], axis);
|
|
53
|
+
return Math.abs(y1px - y0px);
|
|
54
|
+
}, [context.XTransformation, props.YData, props.Axis]);
|
|
55
|
+
var pxWidth = React.useMemo(function () {
|
|
56
|
+
return Math.abs(context.XTransformation(props.XData[1]) - context.XTransformation(props.XData[0]));
|
|
57
|
+
}, [context.XTransformation, props.XData]);
|
|
58
|
+
var radius = React.useMemo(function () {
|
|
59
|
+
return Math.min(pxHeight / 2, pxWidth / 2, props.RadiusPX);
|
|
60
|
+
}, [pxHeight, pxWidth, props.RadiusPX]);
|
|
61
|
+
var getMax = React.useCallback(function (tDomain) {
|
|
62
|
+
var _a = __read(tDomain, 2), t0 = _a[0], t1 = _a[1];
|
|
63
|
+
var _b = __read(props.XData, 2), x1 = _b[0], x2 = _b[1];
|
|
64
|
+
if (t1 >= x1 && t0 <= x2)
|
|
65
|
+
return Math.max(props.YData[0], props.YData[1]);
|
|
66
|
+
return undefined;
|
|
67
|
+
}, [props.XData, props.YData]);
|
|
68
|
+
var getMin = React.useCallback(function (tDomain) {
|
|
69
|
+
var _a = __read(tDomain, 2), t0 = _a[0], t1 = _a[1];
|
|
70
|
+
var _b = __read(props.XData, 2), x1 = _b[0], x2 = _b[1];
|
|
71
|
+
if (t1 >= x1 && t0 <= x2)
|
|
72
|
+
return Math.min(props.YData[0], props.YData[1]);
|
|
73
|
+
return undefined;
|
|
74
|
+
}, [props.XData, props.YData]);
|
|
75
|
+
// Update data series information in the graph context based on circle properties
|
|
76
|
+
React.useEffect(function () {
|
|
77
|
+
if (guid === "")
|
|
78
|
+
return;
|
|
79
|
+
context.UpdateData(guid, {
|
|
80
|
+
axis: props.Axis,
|
|
81
|
+
legend: undefined,
|
|
82
|
+
getMax: getMax,
|
|
83
|
+
getMin: getMin,
|
|
84
|
+
});
|
|
85
|
+
}, [props.Axis, props.XData, props.YData]);
|
|
86
|
+
// Add a new data series on component mount / removing on unmount
|
|
87
|
+
React.useEffect(function () {
|
|
88
|
+
var id = context.AddData({
|
|
89
|
+
axis: props.Axis,
|
|
90
|
+
legend: undefined,
|
|
91
|
+
getMax: getMax,
|
|
92
|
+
getMin: getMin
|
|
93
|
+
});
|
|
94
|
+
setGuid(id);
|
|
95
|
+
return function () {
|
|
96
|
+
context.RemoveData(id);
|
|
97
|
+
};
|
|
98
|
+
}, []);
|
|
99
|
+
// Adjust text size within the pill to ensure it fits
|
|
100
|
+
React.useEffect(function () {
|
|
101
|
+
if (props.Text === undefined)
|
|
102
|
+
return;
|
|
103
|
+
var fontFamily = "Segoe UI";
|
|
104
|
+
var fontSizeUnit = "em";
|
|
105
|
+
var minSize = 0.05;
|
|
106
|
+
var maxSize = 5;
|
|
107
|
+
var bestSize = minSize;
|
|
108
|
+
var calculateTextSize = function (size) {
|
|
109
|
+
var dX = (0, helper_functions_1.GetTextWidth)(fontFamily, size + fontSizeUnit, props.Text);
|
|
110
|
+
var dY = (0, helper_functions_1.GetTextHeight)(fontFamily, size + fontSizeUnit, props.Text);
|
|
111
|
+
return { dX: dX, dY: dY };
|
|
112
|
+
};
|
|
113
|
+
while (maxSize - minSize > 0.01) {
|
|
114
|
+
var midSize = (maxSize + minSize) / 2;
|
|
115
|
+
var _a = calculateTextSize(midSize), dX = _a.dX, dY = _a.dY;
|
|
116
|
+
if (dX <= pxWidth && dY <= pxHeight) {
|
|
117
|
+
bestSize = midSize;
|
|
118
|
+
minSize = midSize; // Try larger
|
|
119
|
+
}
|
|
120
|
+
else
|
|
121
|
+
maxSize = midSize; // Try smaller
|
|
122
|
+
}
|
|
123
|
+
setTextSize(bestSize);
|
|
124
|
+
}, [props.Text, pxHeight, pxWidth]);
|
|
125
|
+
// Set up a click handler if provided in props
|
|
126
|
+
React.useEffect(function () {
|
|
127
|
+
if (guid === "" || props.OnClick === undefined)
|
|
128
|
+
return;
|
|
129
|
+
context.UpdateSelect(guid, { onClick: onClick });
|
|
130
|
+
}, [props.OnClick, context.UpdateFlag]);
|
|
131
|
+
// Handle click events on the pill
|
|
132
|
+
var onClick = React.useCallback(function (xClick, yClick) {
|
|
133
|
+
if (props.OnClick === undefined)
|
|
134
|
+
return;
|
|
135
|
+
// Calculate positions and determine if the click was within the pill bounds
|
|
136
|
+
var _a = __read(props.XData, 2), x1 = _a[0], x2 = _a[1];
|
|
137
|
+
var _b = __read(props.YData, 2), y1 = _b[0], y2 = _b[1];
|
|
138
|
+
var isWithinHorizontalBounds = xClick >= x1 && xClick <= x2;
|
|
139
|
+
var isWithinVerticalBounds = yClick >= y1 && yClick <= y2;
|
|
140
|
+
if (isWithinHorizontalBounds && isWithinVerticalBounds)
|
|
141
|
+
props.OnClick(xClick, yClick, { setYDomain: context.SetYDomain, setTDomain: context.SetXDomain });
|
|
142
|
+
}, [props.OnClick, props.Axis, props.XData, props.YData, context.XTransformation, context.YTransformation, context.SetXDomain, context.SetYDomain]);
|
|
143
|
+
var textXPosition = React.useMemo(function () {
|
|
144
|
+
var xLeft = context.XTransformation(props.XData[0]);
|
|
145
|
+
var xRight = context.XTransformation(props.XData[1]);
|
|
146
|
+
var xCenter = (xLeft + xRight) / 2;
|
|
147
|
+
if (props.TextPlacement == null || props.TextPlacement === 'center')
|
|
148
|
+
return xCenter;
|
|
149
|
+
if (props.TextPlacement === 'left')
|
|
150
|
+
return xLeft;
|
|
151
|
+
if (props.TextPlacement === 'right')
|
|
152
|
+
return xRight;
|
|
153
|
+
return xCenter;
|
|
154
|
+
}, [context.XTransformation, props.XData, props.TextPlacement]);
|
|
155
|
+
// Render null if coordinates are not valid, otherwise render the pill / text
|
|
156
|
+
if (!isFinite(context.XTransformation((props.XData[0], props.XData[1]) / 2)) || !isFinite(context.YTransformation(props.YData[0], GraphContext_1.AxisMap.get(props.Axis))) || !isFinite(context.YTransformation(props.YData[1], GraphContext_1.AxisMap.get(props.Axis))))
|
|
157
|
+
return null;
|
|
158
|
+
return (React.createElement("g", null,
|
|
159
|
+
React.createElement("rect", { x: context.XTransformation(props.XData[0]), width: pxWidth, y: context.YTransformation(props.YData[1], GraphContext_1.AxisMap.get(props.Axis)), height: pxHeight, rx: radius, ry: radius, fill: props.Color, opacity: props.Opacity, stroke: props.BorderColor, strokeWidth: props.BorderThickness, onClick: function (e) { return onClick(e.clientX, e.clientY); } }),
|
|
160
|
+
props.Text !== undefined ?
|
|
161
|
+
React.createElement("g", { clipPath: "url(#oval-clip-".concat(guid, ")") },
|
|
162
|
+
React.createElement("text", { fill: (_a = props.TextColor) !== null && _a !== void 0 ? _a : 'currentColor', style: { fontSize: textSize + 'em', textAnchor: 'middle', dominantBaseline: 'middle' }, y: (context.YTransformation(props.YData[0], GraphContext_1.AxisMap.get(props.Axis)) + context.YTransformation(props.YData[1], GraphContext_1.AxisMap.get(props.Axis))) / 2, x: textXPosition }, props.Text)) : null));
|
|
163
|
+
};
|
|
164
|
+
exports.default = Pill;
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGlsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QaWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsaUNBQWlDO0FBQ2pDLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsbUVBQTZFO0FBQzdFLDZCQUErQjtBQUMvQiwrQ0FBaUg7QUFnRmpILElBQU0sSUFBSSxHQUFHLFVBQUMsS0FBYTs7SUFDdkIsSUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQywyQkFBWSxDQUFDLENBQUM7SUFFekMsSUFBQSxLQUFBLE9BQWtCLEtBQUssQ0FBQyxRQUFRLENBQVMsRUFBRSxDQUFDLElBQUEsRUFBM0MsSUFBSSxRQUFBLEVBQUUsT0FBTyxRQUE4QixDQUFDO0lBQzdDLElBQUEsS0FBQSxPQUEwQixLQUFLLENBQUMsUUFBUSxDQUFTLENBQUMsQ0FBQyxJQUFBLEVBQWxELFFBQVEsUUFBQSxFQUFFLFdBQVcsUUFBNkIsQ0FBQztJQUUxRCxJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzNCLElBQU0sSUFBSSxHQUFHLHNCQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFNLElBQUksR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7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
|
package/lib/Plot.d.ts
CHANGED
|
@@ -11,7 +11,18 @@ export interface IProps {
|
|
|
11
11
|
width: number;
|
|
12
12
|
showGrid?: boolean;
|
|
13
13
|
XAxisType?: 'time' | 'log' | 'value';
|
|
14
|
+
/**
|
|
15
|
+
* Flag to enable all zooming features.
|
|
16
|
+
*/
|
|
14
17
|
zoom?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Flag to enable zooming on the y-axis.
|
|
20
|
+
*/
|
|
21
|
+
yZoom?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Flag to enable zooming on the x-axis.
|
|
24
|
+
*/
|
|
25
|
+
xZoom?: boolean;
|
|
15
26
|
pan?: boolean;
|
|
16
27
|
Tmin?: number;
|
|
17
28
|
Tmax?: number;
|