@gpa-gemstone/react-graph 1.0.24 → 1.0.26
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/AggregatingCircles.d.ts +16 -0
- package/lib/AggregatingCircles.js +173 -0
- package/lib/Circle.d.ts +23 -0
- package/lib/Circle.js +115 -0
- package/lib/GraphContext.d.ts +11 -6
- package/lib/GraphContext.js +7 -2
- package/lib/InteractiveButtons.js +4 -4
- package/lib/Legend.js +4 -3
- package/lib/Line.js +5 -22
- package/lib/LineLegend.d.ts +11 -0
- package/lib/LineLegend.js +84 -0
- package/lib/LineWithThreshold.d.ts +2 -8
- package/lib/LineWithThreshold.js +1 -1
- package/lib/LogAxis.js +3 -8
- package/lib/Plot.d.ts +4 -0
- package/lib/Plot.js +141 -87
- package/lib/index.d.ts +3 -1
- package/lib/index.js +6 -2
- package/package.json +3 -3
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { IProps as ICircleProps } from './Circle';
|
|
3
|
+
interface IAggregationFunctions {
|
|
4
|
+
XTransformation: (x: number) => number;
|
|
5
|
+
YTransformation: (y: number) => number;
|
|
6
|
+
XInverseTransformation: (p: number) => number;
|
|
7
|
+
YInverseTransformation: (p: number) => number;
|
|
8
|
+
}
|
|
9
|
+
export interface IProps {
|
|
10
|
+
canAggregate: (d1: ICircleProps, d2: ICircleProps, fxn: IAggregationFunctions) => boolean;
|
|
11
|
+
onAggregation: (data: ICircleProps[], fxn: IAggregationFunctions) => ICircleProps;
|
|
12
|
+
data: ICircleProps[];
|
|
13
|
+
useSingleAggregation?: boolean;
|
|
14
|
+
}
|
|
15
|
+
declare const AggregatingCircles: (props: IProps) => JSX.Element;
|
|
16
|
+
export default AggregatingCircles;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ******************************************************************************************************
|
|
3
|
+
// AggregatingCircles.tsx - Gbtc
|
|
4
|
+
//
|
|
5
|
+
// Copyright © 2023, 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
|
+
// 03/02/2023 - C Lackner
|
|
21
|
+
// Generated original version of source code.
|
|
22
|
+
//
|
|
23
|
+
// ******************************************************************************************************
|
|
24
|
+
var __assign = (this && this.__assign) || function () {
|
|
25
|
+
__assign = Object.assign || function(t) {
|
|
26
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
27
|
+
s = arguments[i];
|
|
28
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
29
|
+
t[p] = s[p];
|
|
30
|
+
}
|
|
31
|
+
return t;
|
|
32
|
+
};
|
|
33
|
+
return __assign.apply(this, arguments);
|
|
34
|
+
};
|
|
35
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
36
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
37
|
+
if (!m) return o;
|
|
38
|
+
var i = m.call(o), r, ar = [], e;
|
|
39
|
+
try {
|
|
40
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
41
|
+
}
|
|
42
|
+
catch (error) { e = { error: error }; }
|
|
43
|
+
finally {
|
|
44
|
+
try {
|
|
45
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
46
|
+
}
|
|
47
|
+
finally { if (e) throw e.error; }
|
|
48
|
+
}
|
|
49
|
+
return ar;
|
|
50
|
+
};
|
|
51
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
52
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
53
|
+
if (ar || !(i in from)) {
|
|
54
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
55
|
+
ar[i] = from[i];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
59
|
+
};
|
|
60
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61
|
+
var React = require("react");
|
|
62
|
+
var GraphContext_1 = require("./GraphContext");
|
|
63
|
+
var Circle_1 = require("./Circle");
|
|
64
|
+
var AggregatingCircles = function (props) {
|
|
65
|
+
/*
|
|
66
|
+
Circle that will aggregate into larger circles
|
|
67
|
+
*/
|
|
68
|
+
var context = React.useContext(GraphContext_1.GraphContext);
|
|
69
|
+
var _a = __read(React.useState([]), 2), aggregate = _a[0], setAggregate = _a[1];
|
|
70
|
+
var useSingleAggregation = props.useSingleAggregation === undefined ? false : props.useSingleAggregation;
|
|
71
|
+
React.useEffect(function () {
|
|
72
|
+
setAggregate(cluster(props.data));
|
|
73
|
+
}, [props.data, context.UpdateFlag]);
|
|
74
|
+
function cluster(circles) {
|
|
75
|
+
var singleCircles = circles.map(function (c) { return (__assign({}, c)); });
|
|
76
|
+
var clusters = [];
|
|
77
|
+
var fctn = {
|
|
78
|
+
YInverseTransformation: context.YInverseTransformation,
|
|
79
|
+
XInverseTransformation: context.XInverseTransformation,
|
|
80
|
+
YTransformation: context.YTransformation,
|
|
81
|
+
XTransformation: context.XTransformation
|
|
82
|
+
};
|
|
83
|
+
var _loop_1 = function (i) {
|
|
84
|
+
var c1 = clusters.findIndex(function (c) { return c.Indices.includes(i); });
|
|
85
|
+
var _loop_3 = function (j) {
|
|
86
|
+
var _a;
|
|
87
|
+
if (!props.canAggregate(singleCircles[i], singleCircles[j], fctn))
|
|
88
|
+
return "continue";
|
|
89
|
+
var c2 = clusters.findIndex(function (c) { return c.Indices.includes(j); });
|
|
90
|
+
if (c1 < 0 && c2 < 0) {
|
|
91
|
+
clusters.push({ Indices: [i, j], Aggregate: null });
|
|
92
|
+
c1 = clusters.length - 1;
|
|
93
|
+
return "continue";
|
|
94
|
+
}
|
|
95
|
+
if (c1 === c2)
|
|
96
|
+
return "continue";
|
|
97
|
+
if (c1 >= 0 && c2 < 0) {
|
|
98
|
+
clusters[c1].Indices.push(j);
|
|
99
|
+
}
|
|
100
|
+
if (c1 < 0 && c2 >= 0) {
|
|
101
|
+
clusters[c2].Indices.push(i);
|
|
102
|
+
c1 = clusters.length - 1;
|
|
103
|
+
return "continue";
|
|
104
|
+
}
|
|
105
|
+
if (c1 >= 0 && c2 >= 0) {
|
|
106
|
+
(_a = clusters[c1].Indices).push.apply(_a, __spreadArray([], __read(clusters[c2].Indices), false));
|
|
107
|
+
clusters.splice(c2, 1);
|
|
108
|
+
c1 = clusters.findIndex(function (c) { return c.Indices.includes(i); });
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
for (var j = i + 1; j < singleCircles.length; j = j + 1) {
|
|
112
|
+
_loop_3(j);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
// Cluster start to cluster based on single circles
|
|
116
|
+
for (var i = 0; i < singleCircles.length; i = i + 1) {
|
|
117
|
+
_loop_1(i);
|
|
118
|
+
}
|
|
119
|
+
var NClusters = clusters.length;
|
|
120
|
+
var NClustered = clusters.reduce(function (s, c) { return s + c.Indices.length; }, 0);
|
|
121
|
+
clusters.forEach(function (c) {
|
|
122
|
+
c.Aggregate = props.onAggregation(singleCircles.filter(function (x, i) { return c.Indices.includes(i); }), fctn);
|
|
123
|
+
});
|
|
124
|
+
if (!useSingleAggregation && NClusters > 0) {
|
|
125
|
+
var _loop_2 = function () {
|
|
126
|
+
NClusters = clusters.length;
|
|
127
|
+
NClustered = clusters.reduce(function (s, c) { return s + c.Indices.length; }, 0);
|
|
128
|
+
// clusters with index in 0 are replaced with clusters in index 1 (always remove i)
|
|
129
|
+
var clusterReplacements = [];
|
|
130
|
+
var _loop_4 = function (i) {
|
|
131
|
+
var replacementCluster = i;
|
|
132
|
+
var _loop_5 = function (j) {
|
|
133
|
+
var _b;
|
|
134
|
+
if (!props.canAggregate(clusters[i].Aggregate, clusters[j].Aggregate, fctn))
|
|
135
|
+
return "continue";
|
|
136
|
+
clusterReplacements.push(i);
|
|
137
|
+
(_b = clusters[j].Indices).push.apply(_b, __spreadArray([], __read(clusters[i].Indices), false));
|
|
138
|
+
clusters[j].Aggregate = props.onAggregation(singleCircles.filter(function (x, l) { return clusters[j].Indices.includes(l); }), fctn);
|
|
139
|
+
replacementCluster = j;
|
|
140
|
+
return "break";
|
|
141
|
+
};
|
|
142
|
+
for (var j = i + 1; j < clusters.length; j = j + 1) {
|
|
143
|
+
var state_1 = _loop_5(j);
|
|
144
|
+
if (state_1 === "break")
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
var _loop_6 = function (j) {
|
|
148
|
+
if (clusters.findIndex(function (cl) { return cl.Indices.includes(j); }) > -1)
|
|
149
|
+
return "continue";
|
|
150
|
+
if (!props.canAggregate(clusters[replacementCluster].Aggregate, singleCircles[j], fctn))
|
|
151
|
+
return "continue";
|
|
152
|
+
clusters[replacementCluster].Indices.push(j);
|
|
153
|
+
clusters[replacementCluster].Aggregate = props.onAggregation(singleCircles.filter(function (x, l) { return clusters[replacementCluster].Indices.includes(l); }), fctn);
|
|
154
|
+
};
|
|
155
|
+
for (var j = 0; j < singleCircles.length; j = j + 1) {
|
|
156
|
+
_loop_6(j);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
for (var i = 0; i < clusters.length; i = i + 1) {
|
|
160
|
+
_loop_4(i);
|
|
161
|
+
}
|
|
162
|
+
clusters = clusters.filter(function (c, l) { return !clusterReplacements.includes(l); });
|
|
163
|
+
};
|
|
164
|
+
do {
|
|
165
|
+
_loop_2();
|
|
166
|
+
} while (NClusters !== clusters.length || NClustered !== clusters.reduce(function (s, c) { return s + c.Indices.length; }, 0));
|
|
167
|
+
}
|
|
168
|
+
return __spreadArray(__spreadArray([], __read(singleCircles.filter(function (c, i) { return clusters.findIndex(function (cl) { return cl.Indices.includes(i); }) === -1; })), false), __read(clusters.map(function (c) { return c.Aggregate; })), false);
|
|
169
|
+
}
|
|
170
|
+
return (React.createElement("g", null, aggregate.map(function (c, i) { return React.createElement(Circle_1.ContextlessCircle, { key: i.toString() + (c.text === undefined ? '' : c.text), circleProps: c, context: context }); })));
|
|
171
|
+
};
|
|
172
|
+
exports.default = AggregatingCircles;
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWdncmVnYXRpbmdDaXJjbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0FnZ3JlZ2F0aW5nQ2lyY2xlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxpQ0FBaUM7QUFDakMsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDBCQUEwQjtBQUMxQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBQy9CLCtDQUE4QztBQUM5QyxtQ0FBb0U7QUFzQnBFLElBQU0sa0JBQWtCLEdBQUcsVUFBQyxLQUFhO0lBQ3ZDOztNQUVFO0lBRUYsSUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQywyQkFBWSxDQUFDLENBQUE7SUFDeEMsSUFBQSxLQUFBLE9BQTRCLEtBQUssQ0FBQyxRQUFRLENBQWlCLEVBQUUsQ0FBQyxJQUFBLEVBQTdELFNBQVMsUUFBQSxFQUFFLFlBQVksUUFBc0MsQ0FBQTtJQUVwRSxJQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxvQkFBb0IsS0FBSyxTQUFTLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDO0lBQzFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDWixZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFFcEMsU0FBUyxPQUFPLENBQUMsT0FBdUI7UUFFdEMsSUFBTSxhQUFhLEdBQW1CLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxjQUFLLENBQUMsRUFBRSxFQUFSLENBQVEsQ0FBQyxDQUFBO1FBQ2hFLElBQUksUUFBUSxHQUFlLEVBQUUsQ0FBQztRQUU5QixJQUFNLElBQUksR0FBMkI7WUFDbkMsc0JBQXNCLEVBQUcsT0FBTyxDQUFDLHNCQUFzQjtZQUN2RCxzQkFBc0IsRUFBRSxPQUFPLENBQUMsc0JBQXNCO1lBQ3RELGVBQWUsRUFBRSxPQUFPLENBQUMsZUFBZTtZQUN4QyxlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWU7U0FDeEMsQ0FBQTtnQ0FPTyxDQUFDO1lBQ1IsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFyQixDQUFxQixDQUFDLENBQUM7b0NBQy9DLENBQUM7O2dCQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDO3NDQUNwRDtnQkFDWCxJQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQXJCLENBQXFCLENBQUMsQ0FBQztnQkFFMUQsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQ3BCLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7b0JBQ2xELEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzs7aUJBRTFCO2dCQUVELElBQUksRUFBRSxLQUFLLEVBQUU7c0NBQ0g7Z0JBRVYsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQ3JCLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM5QjtnQkFFRCxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTtvQkFDckIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzdCLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzs7aUJBRTFCO2dCQUVELElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO29CQUN0QixDQUFBLEtBQUEsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQSxDQUFDLElBQUksb0NBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sV0FBRTtvQkFDbkQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3RCLEVBQUUsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQXJCLENBQXFCLENBQUMsQ0FBQztpQkFDckQ7O1lBNUJILEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFDLENBQUM7d0JBQTFDLENBQUM7YUE2Qlg7O1FBaENELG1EQUFtRDtRQUNuRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFDLENBQUM7b0JBQXhDLENBQUM7U0FnQ1g7UUFFRCxJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ2hDLElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFwQixDQUFvQixFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBQSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFyQixDQUFxQixDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUYsQ0FBQyxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsb0JBQW9CLElBQUksU0FBUyxHQUFHLENBQUMsRUFBRTs7Z0JBRXZDLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUM1QixVQUFVLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFDLENBQUMsRUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQXBCLENBQW9CLEVBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRTlELG1GQUFtRjtnQkFDbkYsSUFBTSxtQkFBbUIsR0FBYSxFQUFFLENBQUM7d0NBQ2hDLENBQUM7b0JBQ1IsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7NENBQ2xCLENBQUM7O3dCQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUF5QixFQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUF5QixFQUFDLElBQUksQ0FBQzs4Q0FDOUY7d0JBQ1gsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUM1QixDQUFBLEtBQUEsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQSxDQUFDLElBQUksb0NBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sV0FBRTt3QkFDakQsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFLLE9BQUEsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQS9CLENBQStCLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQzt3QkFDakgsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDOzs7b0JBTnpCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFDLENBQUM7OENBQXJDLENBQUM7OztxQkFRVDs0Q0FDUSxDQUFDO3dCQUNSLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFBLEVBQUUsSUFBSSxPQUFBLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUF0QixDQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDOzhDQUM5Qzt3QkFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUF5QixFQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUM7OENBQzFGO3dCQUNULFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQzdDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFLLE9BQUEsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBaEQsQ0FBZ0QsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDOztvQkFOdkosS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBQyxDQUFDO2dDQUF4QyxDQUFDO3FCQU9UOztnQkFsQkgsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBQyxDQUFDOzRCQUFuQyxDQUFDO2lCQW1CVDtnQkFHRCxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFDLENBQUMsRUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBaEMsQ0FBZ0MsQ0FBQyxDQUFDOztZQTVCMUU7O3FCQThCUyxTQUFTLEtBQUssUUFBUSxDQUFDLE1BQU0sSUFBSSxVQUFVLEtBQUssUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFDLENBQUMsRUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQXBCLENBQW9CLEVBQUMsQ0FBQyxDQUFDLEVBQUU7U0FFM0c7UUFFRCw4Q0FBVyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSyxPQUFBLFFBQVEsQ0FBQyxTQUFTLENBQUMsVUFBQSxFQUFFLElBQUksT0FBQSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBdEIsQ0FBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUF2RCxDQUF1RCxDQUFDLGtCQUMxRixRQUFRLENBQUMsR0FBRyxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLFNBQXlCLEVBQTNCLENBQTJCLENBQUMsVUFBRTtJQUMxRCxDQUFDO0lBR0EsT0FBTyxDQUNILCtCQUNJLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFLLE9BQUEsb0JBQUMsMEJBQWlCLElBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEdBQUksRUFBL0csQ0FBK0csQ0FBQyxDQUN2SSxDQUNQLENBQUM7QUFDTCxDQUFDLENBQUE7QUFFRCxrQkFBZSxrQkFBa0IsQ0FBQyJ9
|
package/lib/Circle.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { IGraphContext } from './GraphContext';
|
|
3
|
+
interface IActionFunctions {
|
|
4
|
+
setTDomain: React.SetStateAction<[number, number]>;
|
|
5
|
+
setYDomain: React.SetStateAction<[number, number]>;
|
|
6
|
+
}
|
|
7
|
+
export interface IProps {
|
|
8
|
+
data: [number, number];
|
|
9
|
+
color: string;
|
|
10
|
+
radius: number;
|
|
11
|
+
borderColor?: string;
|
|
12
|
+
borderThickness?: number;
|
|
13
|
+
text?: string;
|
|
14
|
+
opacity?: number;
|
|
15
|
+
onClick?: (actions: IActionFunctions) => void;
|
|
16
|
+
}
|
|
17
|
+
interface IContextlessProps {
|
|
18
|
+
context: IGraphContext;
|
|
19
|
+
circleProps: IProps;
|
|
20
|
+
}
|
|
21
|
+
export declare function ContextlessCircle(props: IContextlessProps): JSX.Element | null;
|
|
22
|
+
declare const Circle: (props: IProps) => JSX.Element;
|
|
23
|
+
export default Circle;
|
package/lib/Circle.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ******************************************************************************************************
|
|
3
|
+
// Circle.tsx - Gbtc
|
|
4
|
+
//
|
|
5
|
+
// Copyright © 2023, 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
|
+
// 03/02/2023 - C Lackner
|
|
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
|
+
exports.ContextlessCircle = void 0;
|
|
42
|
+
var helper_functions_1 = require("@gpa-gemstone/helper-functions");
|
|
43
|
+
var React = require("react");
|
|
44
|
+
var GraphContext_1 = require("./GraphContext");
|
|
45
|
+
function ContextlessCircle(props) {
|
|
46
|
+
/*
|
|
47
|
+
Circle with basic styling
|
|
48
|
+
*/
|
|
49
|
+
var _a = __read(React.useState(""), 2), guid = _a[0], setGuid = _a[1];
|
|
50
|
+
var _b = __read(React.useState(1), 2), textSize = _b[0], setTextSize = _b[1];
|
|
51
|
+
React.useEffect(function () {
|
|
52
|
+
if (guid === "")
|
|
53
|
+
return;
|
|
54
|
+
props.context.UpdateData(guid, {
|
|
55
|
+
legend: undefined,
|
|
56
|
+
getMax: function (t) { return (t[0] < props.circleProps.data[0] && t[1] > props.circleProps.data[0] ? props.circleProps.data[1] : undefined); },
|
|
57
|
+
getMin: function (t) { return (t[0] < props.circleProps.data[0] && t[1] > props.circleProps.data[0] ? props.circleProps.data[1] : undefined); },
|
|
58
|
+
});
|
|
59
|
+
}, [props.circleProps]);
|
|
60
|
+
React.useEffect(function () {
|
|
61
|
+
var id = props.context.AddData({
|
|
62
|
+
legend: undefined,
|
|
63
|
+
getMax: function (t) { return (t[0] < props.circleProps.data[0] && t[1] > props.circleProps.data[0] ? props.circleProps.data[1] : undefined); },
|
|
64
|
+
getMin: function (t) { return (t[0] < props.circleProps.data[0] && t[1] > props.circleProps.data[0] ? props.circleProps.data[1] : undefined); },
|
|
65
|
+
});
|
|
66
|
+
setGuid(id);
|
|
67
|
+
return function () { props.context.RemoveData(id); };
|
|
68
|
+
}, []);
|
|
69
|
+
React.useEffect(function () {
|
|
70
|
+
if (props.circleProps.text === undefined)
|
|
71
|
+
return;
|
|
72
|
+
var tSize = 5;
|
|
73
|
+
var dX = (0, helper_functions_1.GetTextWidth)("Segoe UI", tSize + "em", props.circleProps.text);
|
|
74
|
+
var dY = (0, helper_functions_1.GetTextHeight)("Segoe UI", tSize + "em", props.circleProps.text);
|
|
75
|
+
while ((dX > 2 * props.circleProps.radius || dY > 2 * props.circleProps.radius) && tSize > 0.05) {
|
|
76
|
+
tSize = tSize - 0.01;
|
|
77
|
+
dX = (0, helper_functions_1.GetTextWidth)("Segoe UI", tSize + "em", props.circleProps.text);
|
|
78
|
+
dY = (0, helper_functions_1.GetTextHeight)("Segoe UI", tSize + "em", props.circleProps.text);
|
|
79
|
+
}
|
|
80
|
+
setTextSize(tSize);
|
|
81
|
+
}, [props.circleProps.text, props.circleProps.radius]);
|
|
82
|
+
React.useEffect(function () {
|
|
83
|
+
if (guid === "" || props.circleProps.onClick === undefined)
|
|
84
|
+
return;
|
|
85
|
+
props.context.UpdateSelect(guid, {
|
|
86
|
+
onClick: onClick
|
|
87
|
+
});
|
|
88
|
+
}, [props.circleProps.onClick, props.context.UpdateFlag]);
|
|
89
|
+
function onClick(x, y) {
|
|
90
|
+
if (props.circleProps.onClick === undefined)
|
|
91
|
+
return;
|
|
92
|
+
var xP = props.context.XTransformation(x);
|
|
93
|
+
var yP = props.context.YTransformation(y);
|
|
94
|
+
var xC = props.context.XTransformation(props.circleProps.data[0]);
|
|
95
|
+
var yC = props.context.YTransformation(props.circleProps.data[1]);
|
|
96
|
+
if (xP <= xC + props.circleProps.radius && xP >= xC - props.circleProps.radius &&
|
|
97
|
+
yP <= yC + props.circleProps.radius && yP >= yC - props.circleProps.radius)
|
|
98
|
+
props.circleProps.onClick({
|
|
99
|
+
setYDomain: props.context.SetYDomain,
|
|
100
|
+
setTDomain: props.context.SetXDomain
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
if (!isFinite(props.context.XTransformation(props.circleProps.data[0])) || !isFinite(props.context.YTransformation(props.circleProps.data[1])))
|
|
104
|
+
return null;
|
|
105
|
+
return (React.createElement("g", null,
|
|
106
|
+
React.createElement("circle", { r: props.circleProps.radius, cx: props.context.XTransformation(props.circleProps.data[0]), cy: props.context.YTransformation(props.circleProps.data[1]), fill: props.circleProps.color, opacity: props.circleProps.opacity, stroke: props.circleProps.borderColor, strokeWidth: props.circleProps.borderThickness }),
|
|
107
|
+
props.circleProps.text !== undefined ? React.createElement("text", { fill: 'black', style: { fontSize: textSize + 'em', textAnchor: 'middle', dominantBaseline: 'middle' }, y: props.context.YTransformation(props.circleProps.data[1]), x: props.context.XTransformation(props.circleProps.data[0]) }, props.circleProps.text) : null));
|
|
108
|
+
}
|
|
109
|
+
exports.ContextlessCircle = ContextlessCircle;
|
|
110
|
+
var Circle = function (props) {
|
|
111
|
+
var context = React.useContext(GraphContext_1.GraphContext);
|
|
112
|
+
return React.createElement(ContextlessCircle, { circleProps: props, context: context });
|
|
113
|
+
};
|
|
114
|
+
exports.default = Circle;
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2lyY2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0NpcmNsZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxxQkFBcUI7QUFDckIsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDBCQUEwQjtBQUMxQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUd6RyxtRUFBNkU7QUFDN0UsNkJBQStCO0FBQy9CLCtDQUFtRjtBQXVCbkYsU0FBZ0IsaUJBQWlCLENBQUMsS0FBd0I7SUFDeEQ7O01BRUU7SUFDSSxJQUFBLEtBQUEsT0FBa0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxFQUFFLENBQUMsSUFBQSxFQUEzQyxJQUFJLFFBQUEsRUFBRSxPQUFPLFFBQThCLENBQUM7SUFDN0MsSUFBQSxLQUFBLE9BQTBCLEtBQUssQ0FBQyxRQUFRLENBQVMsQ0FBQyxDQUFDLElBQUEsRUFBbEQsUUFBUSxRQUFBLEVBQUUsV0FBVyxRQUE2QixDQUFDO0lBRXpELEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDWixJQUFJLElBQUksS0FBSyxFQUFFO1lBQ1gsT0FBTztRQUVYLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtZQUMzQixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFD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
|
package/lib/GraphContext.d.ts
CHANGED
|
@@ -6,21 +6,26 @@ export interface IGraphContext {
|
|
|
6
6
|
YDomain: [number, number];
|
|
7
7
|
CurrentMode: 'zoom' | 'pan' | 'select';
|
|
8
8
|
Data: Map<string, IDataSeries>;
|
|
9
|
-
XTransformation: (
|
|
10
|
-
YTransformation: (
|
|
9
|
+
XTransformation: (x: number) => number;
|
|
10
|
+
YTransformation: (y: number) => number;
|
|
11
11
|
AddData: ((d: IDataSeries) => string);
|
|
12
12
|
RemoveData: (key: string) => void;
|
|
13
13
|
UpdateData: (key: string, d: IDataSeries) => void;
|
|
14
|
-
SetLegend: (key: string, legend
|
|
14
|
+
SetLegend: (key: string, legend?: HTMLElement | React.ReactElement | JSX.Element) => void;
|
|
15
15
|
RegisterSelect: (handlers: IHandlers) => string;
|
|
16
16
|
RemoveSelect: (key: string) => void;
|
|
17
17
|
UpdateSelect: (key: string, handlers: IHandlers) => void;
|
|
18
|
+
UpdateFlag: number;
|
|
19
|
+
XInverseTransformation: (p: number) => number;
|
|
20
|
+
YInverseTransformation: (p: number) => number;
|
|
21
|
+
SetXDomain: React.SetStateAction<[number, number]> | ((t: [number, number]) => void);
|
|
22
|
+
SetYDomain: React.SetStateAction<[number, number]> | ((t: [number, number]) => void);
|
|
18
23
|
}
|
|
19
24
|
export declare const GraphContext: React.Context<IGraphContext>;
|
|
20
25
|
export interface IDataSeries {
|
|
21
|
-
getMin: (tDomain: [number, number]) => number;
|
|
22
|
-
getMax: (tDomain: [number, number]) => number;
|
|
23
|
-
legend?: HTMLElement;
|
|
26
|
+
getMin: (tDomain: [number, number]) => number | undefined;
|
|
27
|
+
getMax: (tDomain: [number, number]) => number | undefined;
|
|
28
|
+
legend?: HTMLElement | React.ReactElement | JSX.Element;
|
|
24
29
|
}
|
|
25
30
|
export declare type LineStyle = '-' | ':';
|
|
26
31
|
export interface IHandlers {
|
package/lib/GraphContext.js
CHANGED
|
@@ -34,13 +34,18 @@ exports.GraphContext = React.createContext({
|
|
|
34
34
|
Data: new Map(),
|
|
35
35
|
XTransformation: function (_) { return 0; },
|
|
36
36
|
YTransformation: function (_) { return 0; },
|
|
37
|
+
XInverseTransformation: function (_) { return 0; },
|
|
38
|
+
YInverseTransformation: function (_) { return 0; },
|
|
37
39
|
AddData: (function (_) { return ""; }),
|
|
38
40
|
RemoveData: function (_) { return undefined; },
|
|
39
41
|
UpdateData: function (_) { return undefined; },
|
|
40
42
|
SetLegend: function (_) { return undefined; },
|
|
41
43
|
RegisterSelect: function (_) { return ""; },
|
|
42
44
|
RemoveSelect: function (_) { return undefined; },
|
|
43
|
-
UpdateSelect: function (_) { return undefined; }
|
|
45
|
+
UpdateSelect: function (_) { return undefined; },
|
|
46
|
+
SetXDomain: function (_) { return undefined; },
|
|
47
|
+
SetYDomain: function (_) { return undefined; },
|
|
48
|
+
UpdateFlag: 0
|
|
44
49
|
});
|
|
45
50
|
;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0dyYXBoQ29udGV4dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUdBQXlHO0FBQ3pHLDJCQUEyQjtBQUMzQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHO0FBQ3pHLDZCQUErQjtBQTBCOUIsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFDOUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNmLE1BQU0sRUFBRSxHQUFHO0lBRVgsTUFBTSxFQUFFLEdBQUc7SUFDWCxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2YsV0FBVyxFQUFFLFFBQVE7SUFHckIsSUFBSSxFQUFFLElBQUksR0FBRyxFQUF1QjtJQUNwQyxlQUFlLEVBQUUsVUFBQyxDQUFTLElBQUssT0FBQSxDQUFDLEVBQUQsQ0FBQztJQUNqQyxlQUFlLEVBQUUsVUFBQyxDQUFTLElBQUssT0FBQSxDQUFDLEVBQUQsQ0FBQztJQUNqQyxzQkFBc0IsRUFBRSxVQUFDLENBQVMsSUFBSyxPQUFBLENBQUMsRUFBRCxDQUFDO0lBQ3hDLHNCQUFzQixFQUFFLFVBQUMsQ0FBUyxJQUFLLE9BQUEsQ0FBQyxFQUFELENBQUM7SUFDeEMsT0FBTyxFQUFFLENBQUMsVUFBQyxDQUFjLElBQUssT0FBQSxFQUFFLEVBQUYsQ0FBRSxDQUFDO0lBQ2pDLFVBQVUsRUFBRSxVQUFDLENBQVMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQ3BDLFVBQVUsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzVCLFNBQVMsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzNCLGNBQWMsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLEVBQUUsRUFBRixDQUFFO0lBQ3pCLFlBQVksRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzlCLFlBQVksRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzlCLFVBQVUsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzVCLFVBQVUsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzVCLFVBQVUsRUFBRSxDQUFDO0NBQ0csQ0FBQyxDQUFDO0FBTW5CLENBQUMifQ==
|
|
@@ -57,7 +57,7 @@ var InteractiveButtons = function (props) {
|
|
|
57
57
|
if (nButtons === 1 || !expand)
|
|
58
58
|
return (React.createElement("g", null,
|
|
59
59
|
React.createElement("circle", { stroke: 'black', onClick: openTray, r: 10, cx: props.x, cy: props.y, style: { fill: '#002eff', pointerEvents: 'all' }, onMouseDown: function (evt) { return evt.stopPropagation(); }, onMouseUp: function (evt) { return evt.stopPropagation(); } }),
|
|
60
|
-
React.createElement("text", { fill: 'black', style: { fontSize: '1em', textAnchor: 'middle', dominantBaseline: 'middle' }, x: props.x, y: props.y }, props.currentSelection === 'zoom' ? gpa_symbols_1.MagnifyingGlass : props.currentSelection === 'pan' ? gpa_symbols_1.
|
|
60
|
+
React.createElement("text", { fill: 'black', style: { fontSize: '1em', textAnchor: 'middle', dominantBaseline: 'middle' }, x: props.x, y: props.y }, props.currentSelection === 'zoom' ? gpa_symbols_1.MagnifyingGlass : props.currentSelection === 'pan' ? gpa_symbols_1.Pan : gpa_symbols_1.Point)));
|
|
61
61
|
var width = 25 * nButtons - 25;
|
|
62
62
|
var symbols = [];
|
|
63
63
|
var symbolNames = [];
|
|
@@ -67,11 +67,11 @@ var InteractiveButtons = function (props) {
|
|
|
67
67
|
}
|
|
68
68
|
if (props.showPan) {
|
|
69
69
|
symbolNames.push('pan');
|
|
70
|
-
symbols.push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('pan'); setExpand(false); } }, gpa_symbols_1.
|
|
70
|
+
symbols.push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('pan'); setExpand(false); } }, gpa_symbols_1.Pan));
|
|
71
71
|
}
|
|
72
72
|
if (props.showSelect) {
|
|
73
73
|
symbolNames.push('select');
|
|
74
|
-
symbols.push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('select'); setExpand(false); } }, gpa_symbols_1.
|
|
74
|
+
symbols.push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('select'); setExpand(false); } }, gpa_symbols_1.Point));
|
|
75
75
|
}
|
|
76
76
|
if (props.showReset) {
|
|
77
77
|
symbolNames.push('reset');
|
|
@@ -101,4 +101,4 @@ function CircleButton(props) {
|
|
|
101
101
|
React.createElement("text", { fill: 'black', style: { fontSize: '1em', textAnchor: 'middle', dominantBaseline: 'middle' }, x: props.x, y: props.y }, props.button)));
|
|
102
102
|
}
|
|
103
103
|
exports.default = InteractiveButtons;
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RpdmVCdXR0b25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0ludGVyYWN0aXZlQnV0dG9ucy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxpQ0FBaUM7QUFDakMsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDBCQUEwQjtBQUMxQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpHLDZCQUErQjtBQUMvQix5REFBMEY7QUFDMUYsbUNBQTZCO0FBZ0I3QixJQUFNLGtCQUFrQixHQUFvQyxVQUFDLEtBQUs7SUFDOUQ7O01BRUU7SUFDSSxJQUFBLEtBQUEsT0FBc0IsS0FBSyxDQUFDLFFBQVEsQ0FBVSxLQUFLLENBQUMsSUFBQSxFQUFuRCxNQUFNLFFBQUEsRUFBRSxTQUFTLFFBQWtDLENBQUM7SUFFM0QsSUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RixJQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENB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
|
package/lib/Legend.js
CHANGED
|
@@ -55,12 +55,13 @@ function Legend(props) {
|
|
|
55
55
|
var h = (props.location === 'right' ? props.graphHeight : props.height);
|
|
56
56
|
var itemHeight = 25;
|
|
57
57
|
var itemsWhenBottom = 3;
|
|
58
|
-
var
|
|
58
|
+
var nLegends = __spreadArray([], __read(context.Data.values()), false).reduce(function (s, c) { return (c.legend === undefined ? 0 : 1) + s; }, 0);
|
|
59
|
+
var scroll = Math.ceil(nLegends / (props.location === 'bottom' ? itemsWhenBottom : 1)) * itemHeight > h;
|
|
59
60
|
var position = (props.location === 'bottom' ? 'absolute' : 'relative');
|
|
60
61
|
var scrollBarSpace = (scroll === undefined || !scroll ? 0 : 6);
|
|
61
62
|
return (React.createElement("div", { style: { height: h, width: w, position: position, float: props.location, display: 'flex', flexWrap: 'wrap', bottom: 0,
|
|
62
63
|
overflowY: (scroll === undefined || !scroll ? 'visible' : 'scroll'), overflowX: (scroll === undefined || !scroll ? 'visible' : 'hidden') } }, __spreadArray([], __read(context.Data.values()), false).map(function (series, index) { return (series.legend !== undefined ?
|
|
63
|
-
React.createElement("div", { key: index, style: { width: (props.location === 'bottom' ? w / itemsWhenBottom - scrollBarSpace : w -
|
|
64
|
+
React.createElement("div", { key: index, style: { width: (props.location === 'bottom' ? w / itemsWhenBottom - scrollBarSpace : w - scrollBarSpace), height: props.location === 'bottom' ? itemHeight : Math.max(h / nLegends, itemHeight) } }, series.legend) : null); })));
|
|
64
65
|
}
|
|
65
66
|
exports.default = Legend;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxxQkFBcUI7QUFDckIsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDJCQUEyQjtBQUMzQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR3pHLDZCQUErQjtBQUMvQiwrQ0FBMkM7QUFVM0MsU0FBUyxNQUFNLENBQUMsS0FBYTtJQUMzQixJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLDJCQUFZLENBQUMsQ0FBQTtJQUM5QyxJQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEUsSUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLElBQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUV0QixJQUFNLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDMUIsSUFBTSxRQUFRLEdBQUcseUJBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBRSxNQUFNLENBQUMsVUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFJLFNBQVMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQWxDLENBQWtDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDbEcsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDekcsSUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RSxJQUFNLGNBQWMsR0FBRyxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFOUQsT0FBTyxDQUNMLDZCQUFLLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLFVBQUEsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQWdCLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3RILFNBQVMsRUFBRSxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQyxJQUN4SSx5QkFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFFLEdBQUcsQ0FBQyxVQUFDLE1BQU0sRUFBRSxLQUFLLElBQUssT0FBQSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUM7UUFDM0UsNkJBQUssR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLGVBQWUsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxjQUFjLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxFQUFDLElBQ25NLE1BQU0sQ0FBQyxNQUFNLENBQ2hCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUhtQyxDQUduQyxDQUFDLENBQ2IsQ0FBQyxDQUFBO0FBQ2IsQ0FBQztBQUVELGtCQUFlLE1BQU0sQ0FBQyJ9
|
package/lib/Line.js
CHANGED
|
@@ -42,7 +42,7 @@ var React = require("react");
|
|
|
42
42
|
var GraphContext_1 = require("./GraphContext");
|
|
43
43
|
var moment = require("moment");
|
|
44
44
|
var PointNode_1 = require("./PointNode");
|
|
45
|
-
var
|
|
45
|
+
var LineLegend_1 = require("./LineLegend");
|
|
46
46
|
function Line(props) {
|
|
47
47
|
/*
|
|
48
48
|
Single Line with ability to turn off and on.
|
|
@@ -50,8 +50,7 @@ function Line(props) {
|
|
|
50
50
|
var _a = __read(React.useState(""), 2), guid = _a[0], setGuid = _a[1];
|
|
51
51
|
var _b = __read(React.useState([NaN, NaN]), 2), highlight = _b[0], setHighlight = _b[1];
|
|
52
52
|
var _c = __read(React.useState(true), 2), enabled = _c[0], setEnabled = _c[1];
|
|
53
|
-
var _d = __read(React.useState(
|
|
54
|
-
var _e = __read(React.useState(null), 2), data = _e[0], setData = _e[1];
|
|
53
|
+
var _d = __read(React.useState(null), 2), data = _d[0], setData = _d[1];
|
|
55
54
|
var context = React.useContext(GraphContext_1.GraphContext);
|
|
56
55
|
React.useEffect(function () {
|
|
57
56
|
if (guid === "")
|
|
@@ -83,17 +82,7 @@ function Line(props) {
|
|
|
83
82
|
if (guid === "")
|
|
84
83
|
return;
|
|
85
84
|
context.SetLegend(guid, createLegend());
|
|
86
|
-
}, [highlight, enabled
|
|
87
|
-
React.useEffect(function () {
|
|
88
|
-
if (props.legend === undefined)
|
|
89
|
-
return;
|
|
90
|
-
if (props.highlightHover === undefined) {
|
|
91
|
-
setWLegend((0, helper_functions_1.GetTextWidth)("Segoe UI", '1em', props.legend) + 45);
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
var txt = props.legend + (" (" + moment().format('MM/DD/YY hh:mm:ss') + ": " + (-99.999999).toPrecision(8) + ")");
|
|
95
|
-
setWLegend((0, helper_functions_1.GetTextWidth)("Segoe UI", '1em', txt) + 45);
|
|
96
|
-
}, [props.legend, props.highlightHover]);
|
|
85
|
+
}, [highlight, enabled]);
|
|
97
86
|
React.useEffect(function () {
|
|
98
87
|
var id = context.AddData({
|
|
99
88
|
legend: createLegend(),
|
|
@@ -109,13 +98,7 @@ function Line(props) {
|
|
|
109
98
|
var txt = props.legend;
|
|
110
99
|
if (props.highlightHover && !isNaN(highlight[0]) && !isNaN(highlight[1]))
|
|
111
100
|
txt = txt + (" (" + moment.utc(highlight[0]).format('MM/DD/YY hh:mm:ss') + ": " + highlight[1].toPrecision(6) + ")");
|
|
112
|
-
return
|
|
113
|
-
(props.lineStyle === '-' ?
|
|
114
|
-
React.createElement("div", { style: { width: ' 10px', height: 0, borderTop: '2px solid', borderRight: '10px solid', borderBottom: '2px solid', borderLeft: '10px solid', borderColor: props.color, overflow: 'hidden', marginRight: '5px', opacity: (enabled ? 1 : 0.5) } }) :
|
|
115
|
-
React.createElement("div", { style: { width: ' 10px', height: '4px', borderTop: '0px solid', borderRight: '3px solid', borderBottom: '0px solid', borderLeft: '3px solid', borderColor: props.color, overflow: 'hidden', marginRight: '5px', opacity: (enabled ? 1 : 0.5) } })),
|
|
116
|
-
React.createElement("label", { style: { marginTop: '0.5rem' } },
|
|
117
|
-
" ",
|
|
118
|
-
txt)));
|
|
101
|
+
return React.createElement(LineLegend_1.default, { label: txt, color: props.color, lineStyle: props.lineStyle, onClick: function () { return setEnabled(function (e) { return !e; }); }, opacity: (enabled ? 1 : 0.5) });
|
|
119
102
|
}
|
|
120
103
|
function generateData() {
|
|
121
104
|
var result = "M ";
|
|
@@ -136,4 +119,4 @@ function Line(props) {
|
|
|
136
119
|
React.createElement("circle", { r: 5, cx: context.XTransformation(highlight[0]), cy: context.YTransformation(highlight[1]), fill: props.color, stroke: 'black', style: { opacity: 0.8 /*, transition: 'cx 0.5s,cy 0.5s'*/ } }) : null) : null);
|
|
137
120
|
}
|
|
138
121
|
exports.default = Line;
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaW5lLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBQy9CLCtDQUFvRTtBQUNwRSwrQkFBaUM7QUFDakMseUNBQXNDO0FBRXRDLDJDQUFzQztBQVl0QyxTQUFTLElBQUksQ0FBQyxLQUFhO0lBQ3pCOztNQUVFO0lBQ0ksSUFBQSxLQUFBLE9BQWtCLEtBQUssQ0FBQyxRQUFRLENBQVMsRUFBRSxDQUFDLElBQUEsRUFBM0MsSUFBSSxRQUFBLEVBQUUsT0FBTyxRQUE4QixDQUFDO0lBQzdDLElBQUEsS0FBQSxPQUE0QixLQUFLLENBQUMsUUFBUSxDQUFtQixDQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsQ0FBQyxJQUFBLEVBQXRFLFNBQVMsUUFBQSxFQUFFLFlBQVksUUFBK0MsQ0FBQztJQUN4RSxJQUFBLEtBQUEsT0FBd0IsS0FBSyxDQUFDLFFBQVEsQ0FBVSxJQUFJLENBQUMsSUFBQSxFQUFwRCxPQUFPLFFBQUEsRUFBRSxVQUFVLFFBQWlDLENBQUM7SUFDdEQsSUFBQSxLQUFBLE9BQWtCLEtBQUssQ0FBQyxRQUFRLENBQWlCLElBQUksQ0FBQyxJQUFBLEVBQXJELElBQUksUUFBQSxFQUFFLE9BQU8sUUFBd0MsQ0FBQztJQUM3RCxJQUFNLE9BQU8s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
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { LineStyle } from './GraphContext';
|
|
3
|
+
export interface IProps {
|
|
4
|
+
label: string;
|
|
5
|
+
color: string;
|
|
6
|
+
lineStyle: LineStyle;
|
|
7
|
+
onClick: () => void;
|
|
8
|
+
opacity: number;
|
|
9
|
+
}
|
|
10
|
+
declare function LineLegend(props: IProps): JSX.Element;
|
|
11
|
+
export default LineLegend;
|