@gpa-gemstone/react-graph 1.0.24 → 1.0.25

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.
@@ -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
@@ -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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
@@ -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: (position: number) => number;
10
- YTransformation: (position: number) => number;
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: HTMLElement | undefined) => void;
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 {
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0dyYXBoQ29udGV4dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUdBQXlHO0FBQ3pHLDJCQUEyQjtBQUMzQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHO0FBQ3pHLDZCQUErQjtBQXFCOUIsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFDOUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNmLE1BQU0sRUFBRSxHQUFHO0lBRVgsTUFBTSxFQUFFLEdBQUc7SUFDWCxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2YsV0FBVyxFQUFFLFFBQVE7SUFHckIsSUFBSSxFQUFFLElBQUksR0FBRyxFQUF1QjtJQUNwQyxlQUFlLEVBQUUsVUFBQyxDQUFTLElBQUssT0FBQSxDQUFDLEVBQUQsQ0FBQztJQUNqQyxlQUFlLEVBQUUsVUFBQyxDQUFTLElBQUssT0FBQSxDQUFDLEVBQUQsQ0FBQztJQUNqQyxPQUFPLEVBQUUsQ0FBQyxVQUFDLENBQWMsSUFBSyxPQUFBLEVBQUUsRUFBRixDQUFFLENBQUM7SUFDakMsVUFBVSxFQUFFLFVBQUMsQ0FBUyxJQUFLLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDcEMsVUFBVSxFQUFFLFVBQUMsQ0FBQyxJQUFLLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDNUIsU0FBUyxFQUFFLFVBQUMsQ0FBQyxJQUFLLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDM0IsY0FBYyxFQUFFLFVBQUMsQ0FBQyxJQUFLLE9BQUEsRUFBRSxFQUFGLENBQUU7SUFDekIsWUFBWSxFQUFFLFVBQUMsQ0FBQyxJQUFLLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDOUIsWUFBWSxFQUFFLFVBQUMsQ0FBQyxJQUFLLE9BQUEsU0FBUyxFQUFULENBQVM7Q0FDZCxDQUFDLENBQUM7QUFNbkIsQ0FBQyJ9
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0dyYXBoQ29udGV4dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUdBQXlHO0FBQ3pHLDJCQUEyQjtBQUMzQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHO0FBQ3pHLDZCQUErQjtBQTBCOUIsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFDOUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNmLE1BQU0sRUFBRSxHQUFHO0lBRVgsTUFBTSxFQUFFLEdBQUc7SUFDWCxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2YsV0FBVyxFQUFFLFFBQVE7SUFHckIsSUFBSSxFQUFFLElBQUksR0FBRyxFQUF1QjtJQUNwQyxlQUFlLEVBQUUsVUFBQyxDQUFTLElBQUssT0FBQSxDQUFDLEVBQUQsQ0FBQztJQUNqQyxlQUFlLEVBQUUsVUFBQyxDQUFTLElBQUssT0FBQSxDQUFDLEVBQUQsQ0FBQztJQUNqQyxzQkFBc0IsRUFBRSxVQUFDLENBQVMsSUFBSyxPQUFBLENBQUMsRUFBRCxDQUFDO0lBQ3hDLHNCQUFzQixFQUFFLFVBQUMsQ0FBUyxJQUFLLE9BQUEsQ0FBQyxFQUFELENBQUM7SUFDeEMsT0FBTyxFQUFFLENBQUMsVUFBQyxDQUFjLElBQUssT0FBQSxFQUFFLEVBQUYsQ0FBRSxDQUFDO0lBQ2pDLFVBQVUsRUFBRSxVQUFDLENBQVMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQ3BDLFVBQVUsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzVCLFNBQVMsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzNCLGNBQWMsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLEVBQUUsRUFBRixDQUFFO0lBQ3pCLFlBQVksRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzlCLFlBQVksRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzlCLFVBQVUsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzVCLFVBQVUsRUFBRSxVQUFDLENBQUMsSUFBSyxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzVCLFVBQVUsRUFBRSxDQUFDO0NBQ0csQ0FBQyxDQUFDO0FBTW5CLENBQUMifQ==
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 scroll = Math.ceil(context.Data.size / (props.location === 'bottom' ? itemsWhenBottom : 1)) * itemHeight > h;
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 - itemsWhenBottom * scrollBarSpace), height: itemHeight } }, series.legend) : null); })));
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxxQkFBcUI7QUFDckIsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDJCQUEyQjtBQUMzQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpHLDZCQUErQjtBQUMvQiwrQ0FBMkM7QUFVM0MsU0FBUyxNQUFNLENBQUMsS0FBYTtJQUMzQixJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLDJCQUFZLENBQUMsQ0FBQTtJQUM5QyxJQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEUsSUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLElBQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN0QixJQUFNLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDMUIsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNuSCxJQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFBLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hFLElBQU0sY0FBYyxHQUFHLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM5RCxPQUFPLENBQ0wsNkJBQUssS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFFBQVEsVUFBQSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBZ0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDdEgsU0FBUyxFQUFFLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFDLElBQ3hJLHlCQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQUUsR0FBRyxDQUFDLFVBQUMsTUFBTSxFQUFFLEtBQUssSUFBSyxPQUFBLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQztRQUMzRSw2QkFBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFDLEtBQUssRUFBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLGVBQWUsR0FBQyxjQUFjLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFDLElBQ3BKLE1BQU0sQ0FBQyxNQUFNLENBQ2hCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUhtQyxDQUduQyxDQUFDLENBQ2IsQ0FBQyxDQUFBO0FBQ2IsQ0FBQztBQUVELGtCQUFlLE1BQU0sQ0FBQyJ9
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 helper_functions_1 = require("@gpa-gemstone/helper-functions");
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(0), 2), wLegend = _d[0], setWLegend = _d[1];
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, wLegend]);
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 (React.createElement("div", { onClick: function () { return setEnabled(function (e) { return !e; }); }, style: { width: wLegend, display: 'flex', alignItems: 'center', marginRight: '20px' } },
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaW5lLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBQy9CLCtDQUFvRTtBQUNwRSwrQkFBaUM7QUFDakMseUNBQXNDO0FBQ3RDLG1FQUE4RDtBQVk5RCxTQUFTLElBQUksQ0FBQyxLQUFhO0lBQ3pCOztNQUVFO0lBQ0ksSUFBQSxLQUFBLE9BQWtCLEtBQUssQ0FBQyxRQUFRLENBQVMsRUFBRSxDQUFDLElBQUEsRUFBM0MsSUFBSSxRQUFBLEVBQUUsT0FBTyxRQUE4QixDQUFDO0lBQzdDLElBQUEsS0FBQSxPQUE0QixLQUFLLENBQUMsUUFBUSxDQUFtQixDQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsQ0FBQyxJQUFBLEVBQXRFLFNBQVMsUUFBQSxFQUFFLFlBQVksUUFBK0MsQ0FBQztJQUN4RSxJQUFBLEtBQUEsT0FBd0IsS0FBSyxDQUFDLFFBQVEsQ0FBVSxJQUFJLENBQUMsSUFBQSxFQUFwRCxPQUFPLFFBQUEsRUFBRSxVQUFVLFFBQWlDLENBQUM7SUFDdEQsSUFBQSxLQUFBLE9BQXdCLEtBQUssQ0FBQyxRQUFRLENBQVMsQ0FBQyxDQUFDLElBQUEsRUFBaEQsT0FBTyxRQUFBLEVBQUUsVUFBVSxRQUE2QixDQUFDO0lBQ2xELElBQUEsS0FBQSxP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
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;