@gpa-gemstone/react-graph 1.0.51 → 1.0.52

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.
Files changed (45) hide show
  1. package/lib/AggregatingCircles.d.ts +16 -17
  2. package/lib/AggregatingCircles.js +180 -173
  3. package/lib/Button.d.ts +7 -7
  4. package/lib/Button.js +33 -33
  5. package/lib/Circle.d.ts +19 -20
  6. package/lib/Circle.js +125 -118
  7. package/lib/GraphContext.d.ts +89 -89
  8. package/lib/GraphContext.js +140 -140
  9. package/lib/HeatLegend.d.ts +10 -11
  10. package/lib/HeatLegend.js +109 -106
  11. package/lib/HeatMapChart.d.ts +14 -15
  12. package/lib/HeatMapChart.js +119 -119
  13. package/lib/HorizontalMarker.d.ts +13 -14
  14. package/lib/HorizontalMarker.js +110 -110
  15. package/lib/Infobox.d.ts +17 -17
  16. package/lib/Infobox.js +180 -180
  17. package/lib/InteractiveButtons.d.ts +21 -21
  18. package/lib/InteractiveButtons.js +218 -218
  19. package/lib/Legend.d.ts +14 -14
  20. package/lib/Legend.js +117 -117
  21. package/lib/LegendContext.d.ts +14 -14
  22. package/lib/LegendContext.js +34 -34
  23. package/lib/Line.d.ts +14 -15
  24. package/lib/Line.js +144 -144
  25. package/lib/LineLegend.d.ts +11 -12
  26. package/lib/LineLegend.js +97 -97
  27. package/lib/LineWithThreshold.d.ts +12 -13
  28. package/lib/LineWithThreshold.js +144 -144
  29. package/lib/LogAxis.d.ts +20 -20
  30. package/lib/LogAxis.js +165 -165
  31. package/lib/Plot.d.ts +38 -37
  32. package/lib/Plot.js +802 -802
  33. package/lib/PointNode.d.ts +31 -31
  34. package/lib/PointNode.js +254 -254
  35. package/lib/SymbolicMarker.d.ts +17 -17
  36. package/lib/SymbolicMarker.js +119 -119
  37. package/lib/TimeAxis.d.ts +18 -18
  38. package/lib/TimeAxis.js +433 -433
  39. package/lib/ValueAxis.d.ts +21 -21
  40. package/lib/ValueAxis.js +196 -192
  41. package/lib/VerticalMarker.d.ts +14 -15
  42. package/lib/VerticalMarker.js +111 -111
  43. package/lib/index.d.ts +13 -13
  44. package/lib/index.js +27 -27
  45. package/package.json +4 -4
package/lib/Line.js CHANGED
@@ -1,144 +1,144 @@
1
- "use strict";
2
- // ******************************************************************************************************
3
- // Line.tsx - Gbtc
4
- //
5
- // Copyright © 2020, 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/18/2021 - 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
- var React = require("react");
42
- var GraphContext_1 = require("./GraphContext");
43
- var moment = require("moment");
44
- var PointNode_1 = require("./PointNode");
45
- var LineLegend_1 = require("./LineLegend");
46
- var helper_functions_1 = require("@gpa-gemstone/helper-functions");
47
- function Line(props) {
48
- var _a;
49
- /*
50
- Single Line with ability to turn off and on.
51
- */
52
- var _b = __read(React.useState(""), 2), guid = _b[0], setGuid = _b[1];
53
- var _c = __read(React.useState(""), 2), dataGuid = _c[0], setDataGuid = _c[1];
54
- var _d = __read(React.useState([NaN, NaN]), 2), highlight = _d[0], setHighlight = _d[1];
55
- var _e = __read(React.useState(true), 2), enabled = _e[0], setEnabled = _e[1];
56
- var _f = __read(React.useState(null), 2), data = _f[0], setData = _f[1];
57
- var _g = __read(React.useState([]), 2), visibleData = _g[0], setVisibleData = _g[1];
58
- var context = React.useContext(GraphContext_1.GraphContext);
59
- var showPoints = React.useMemo(function () { return (props.showPoints !== undefined && props.showPoints) ||
60
- ((props.autoShowPoints === undefined || props.autoShowPoints) && visibleData.length <= 100); }, [props.showPoints, props.autoShowPoints, visibleData]);
61
- var createLegend = React.useCallback(function () {
62
- var _a;
63
- if (props.legend === undefined)
64
- return undefined;
65
- var txt = props.legend;
66
- if (((_a = props.highlightHover) !== null && _a !== void 0 ? _a : false) && !isNaN(highlight[0]) && !isNaN(highlight[1]))
67
- txt = txt + (" (" + moment.utc(highlight[0]).format('MM/DD/YY hh:mm:ss') + ": " + highlight[1].toPrecision(6) + ")");
68
- return React.createElement(LineLegend_1.default, { size: 'sm', label: txt, color: props.color, lineStyle: props.lineStyle, setEnabled: setEnabled, enabled: enabled, hasNoData: data == null });
69
- }, [props.color, props.lineStyle, enabled, data]);
70
- var createContextData = React.useCallback(function () {
71
- return {
72
- legend: createLegend(),
73
- axis: props.axis,
74
- enabled: enabled,
75
- getMax: function (t) { return (data == null || !enabled ? -Infinity : data.GetLimits(t[0], t[1])[1]); },
76
- getMin: function (t) { return (data == null || !enabled ? Infinity : data.GetLimits(t[0], t[1])[0]); },
77
- getPoints: function (t, n) { return (data == null || !enabled ? NaN : data.GetPoints(t, n !== null && n !== void 0 ? n : 1)); }
78
- };
79
- }, [props.axis, enabled, dataGuid, createLegend]);
80
- React.useEffect(function () {
81
- if (guid === "")
82
- return;
83
- context.UpdateData(guid, createContextData());
84
- }, [createContextData]);
85
- React.useEffect(function () {
86
- setDataGuid((0, helper_functions_1.CreateGuid)());
87
- }, [data]);
88
- React.useEffect(function () {
89
- if (data == null || props.data == null || props.data.length === 0 || isNaN(context.XHover))
90
- setHighlight([NaN, NaN]);
91
- else {
92
- try {
93
- var point = data.GetPoint(context.XHover);
94
- if (point != null)
95
- setHighlight(point);
96
- }
97
- catch (_a) {
98
- setHighlight([NaN, NaN]);
99
- }
100
- }
101
- }, [data, context.XHover]);
102
- React.useEffect(function () {
103
- if (props.data == null || props.data.length === 0)
104
- setData(null);
105
- else
106
- setData(new PointNode_1.PointNode(props.data));
107
- }, [props.data]);
108
- React.useEffect(function () {
109
- if (guid === "")
110
- return;
111
- context.SetLegend(guid, createLegend());
112
- }, [highlight, enabled]);
113
- React.useEffect(function () {
114
- if (data == null) {
115
- setVisibleData([]);
116
- return;
117
- }
118
- setVisibleData(data.GetData(context.XDomain[0], context.XDomain[1], true));
119
- }, [data, context.XDomain[0], context.XDomain[1]]);
120
- React.useEffect(function () {
121
- var id = context.AddData(createContextData());
122
- setGuid(id);
123
- return function () { context.RemoveData(id); };
124
- }, []);
125
- function generateData() {
126
- var result = "M ";
127
- if (data == null)
128
- return "";
129
- result = result + visibleData.map(function (pt, _) {
130
- var x = context.XTransformation(pt[0]);
131
- var y = context.YTransformation(pt[1], GraphContext_1.AxisMap.get(props.axis));
132
- return x + "," + y;
133
- }).join(" L ");
134
- return result;
135
- }
136
- return (enabled ?
137
- React.createElement("g", null,
138
- React.createElement("path", { d: generateData(), style: { fill: 'none', strokeWidth: props.width === undefined ? 3 : props.width, stroke: props.color }, strokeDasharray: GraphContext_1.LineMap.get(props.lineStyle) }),
139
- showPoints && data != null ? visibleData.map(function (pt, i) { return React.createElement("circle", { key: i, r: 3, cx: context.XTransformation(pt[0]), cy: context.YTransformation(pt[1], GraphContext_1.AxisMap.get(props.axis)), fill: props.color, stroke: 'black', style: { opacity: 0.8 /*, transition: 'cx 0.5s,cy 0.5s'*/ } }); }) : null,
140
- ((_a = props.highlightHover) !== null && _a !== void 0 ? _a : false) && !isNaN(highlight[0]) && !isNaN(highlight[1]) ?
141
- React.createElement("circle", { r: 5, cx: context.XTransformation(highlight[0]), cy: context.YTransformation(highlight[1], GraphContext_1.AxisMap.get(props.axis)), fill: props.color, stroke: 'black', style: { opacity: 0.8 /*, transition: 'cx 0.5s,cy 0.5s'*/ } }) : null) : null);
142
- }
143
- exports.default = Line;
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaW5lLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBQy9CLCtDQUFzRztBQUN0RywrQkFBaUM7QUFDakMseUNBQXNDO0FBQ3RDLDJDQUFzQztBQUN0QyxtRUFBNEQ7QUFlNUQsU0FBUyxJQUFJLENBQUMsS0FBYTs7SUFDdkI7O01BRUU7SUFDSSxJQUFBLEtBQUEsT0FBa0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxFQUFFLENBQUMsSUFBQSxFQUEzQyxJQUFJLFFBQUEsRUFBRSxPQUFPLFFBQThCLENBQUM7SUFDN0MsSUFBQSxLQUFBLE9BQTBCLEtBQUssQ0FBQyxRQUFRLENBQVMsRUFBRSxDQUFDLElBQUEsRUFBbkQsUUFBUSxRQUFBLEVBQUUsV0FBVyxRQUE4QixDQUFDO0lBQ3JELElBQUEsS0FBQSxPQUE0QixLQUFLLENBQUMsUUFBUSxDQUFtQixDQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsQ0FBQyxJQUFBLEVBQXRFLFNBQVMsUUFBQSxFQUFFLFlBQVksUUFBK0MsQ0FBQztJQUN4RSxJQUFBLEtBQUEsT0FBd0IsS0FBSyxDQUFDLFFBQVEsQ0FBVSxJQUFJLENBQUMsSUFBQSxFQUFwRCxPQUFPLFFBQUEsRUFBRSxVQUFVLFFBQWlDLENBQUM7SUFD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
1
+ "use strict";
2
+ // ******************************************************************************************************
3
+ // Line.tsx - Gbtc
4
+ //
5
+ // Copyright © 2020, 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/18/2021 - 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
+ var React = require("react");
42
+ var GraphContext_1 = require("./GraphContext");
43
+ var moment = require("moment");
44
+ var PointNode_1 = require("./PointNode");
45
+ var LineLegend_1 = require("./LineLegend");
46
+ var helper_functions_1 = require("@gpa-gemstone/helper-functions");
47
+ function Line(props) {
48
+ var _a;
49
+ /*
50
+ Single Line with ability to turn off and on.
51
+ */
52
+ var _b = __read(React.useState(""), 2), guid = _b[0], setGuid = _b[1];
53
+ var _c = __read(React.useState(""), 2), dataGuid = _c[0], setDataGuid = _c[1];
54
+ var _d = __read(React.useState([NaN, NaN]), 2), highlight = _d[0], setHighlight = _d[1];
55
+ var _e = __read(React.useState(true), 2), enabled = _e[0], setEnabled = _e[1];
56
+ var _f = __read(React.useState(null), 2), data = _f[0], setData = _f[1];
57
+ var _g = __read(React.useState([]), 2), visibleData = _g[0], setVisibleData = _g[1];
58
+ var context = React.useContext(GraphContext_1.GraphContext);
59
+ var showPoints = React.useMemo(function () { return (props.showPoints !== undefined && props.showPoints) ||
60
+ ((props.autoShowPoints === undefined || props.autoShowPoints) && visibleData.length <= 100); }, [props.showPoints, props.autoShowPoints, visibleData]);
61
+ var createLegend = React.useCallback(function () {
62
+ var _a;
63
+ if (props.legend === undefined)
64
+ return undefined;
65
+ var txt = props.legend;
66
+ if (((_a = props.highlightHover) !== null && _a !== void 0 ? _a : false) && !isNaN(highlight[0]) && !isNaN(highlight[1]))
67
+ txt = txt + " (".concat(moment.utc(highlight[0]).format('MM/DD/YY hh:mm:ss'), ": ").concat(highlight[1].toPrecision(6), ")");
68
+ return React.createElement(LineLegend_1.default, { size: 'sm', label: txt, color: props.color, lineStyle: props.lineStyle, setEnabled: setEnabled, enabled: enabled, hasNoData: data == null });
69
+ }, [props.color, props.lineStyle, enabled, data]);
70
+ var createContextData = React.useCallback(function () {
71
+ return {
72
+ legend: createLegend(),
73
+ axis: props.axis,
74
+ enabled: enabled,
75
+ getMax: function (t) { return (data == null || !enabled ? -Infinity : data.GetLimits(t[0], t[1])[1]); },
76
+ getMin: function (t) { return (data == null || !enabled ? Infinity : data.GetLimits(t[0], t[1])[0]); },
77
+ getPoints: function (t, n) { return (data == null || !enabled ? NaN : data.GetPoints(t, n !== null && n !== void 0 ? n : 1)); }
78
+ };
79
+ }, [props.axis, enabled, dataGuid, createLegend]);
80
+ React.useEffect(function () {
81
+ if (guid === "")
82
+ return;
83
+ context.UpdateData(guid, createContextData());
84
+ }, [createContextData]);
85
+ React.useEffect(function () {
86
+ setDataGuid((0, helper_functions_1.CreateGuid)());
87
+ }, [data]);
88
+ React.useEffect(function () {
89
+ if (data == null || props.data == null || props.data.length === 0 || isNaN(context.XHover))
90
+ setHighlight([NaN, NaN]);
91
+ else {
92
+ try {
93
+ var point = data.GetPoint(context.XHover);
94
+ if (point != null)
95
+ setHighlight(point);
96
+ }
97
+ catch (_a) {
98
+ setHighlight([NaN, NaN]);
99
+ }
100
+ }
101
+ }, [data, context.XHover]);
102
+ React.useEffect(function () {
103
+ if (props.data == null || props.data.length === 0)
104
+ setData(null);
105
+ else
106
+ setData(new PointNode_1.PointNode(props.data));
107
+ }, [props.data]);
108
+ React.useEffect(function () {
109
+ if (guid === "")
110
+ return;
111
+ context.SetLegend(guid, createLegend());
112
+ }, [highlight, enabled]);
113
+ React.useEffect(function () {
114
+ if (data == null) {
115
+ setVisibleData([]);
116
+ return;
117
+ }
118
+ setVisibleData(data.GetData(context.XDomain[0], context.XDomain[1], true));
119
+ }, [data, context.XDomain[0], context.XDomain[1]]);
120
+ React.useEffect(function () {
121
+ var id = context.AddData(createContextData());
122
+ setGuid(id);
123
+ return function () { context.RemoveData(id); };
124
+ }, []);
125
+ function generateData() {
126
+ var result = "M ";
127
+ if (data == null)
128
+ return "";
129
+ result = result + visibleData.map(function (pt, _) {
130
+ var x = context.XTransformation(pt[0]);
131
+ var y = context.YTransformation(pt[1], GraphContext_1.AxisMap.get(props.axis));
132
+ return "".concat(x, ",").concat(y);
133
+ }).join(" L ");
134
+ return result;
135
+ }
136
+ return (enabled ?
137
+ React.createElement("g", null,
138
+ React.createElement("path", { d: generateData(), style: { fill: 'none', strokeWidth: props.width === undefined ? 3 : props.width, stroke: props.color }, strokeDasharray: GraphContext_1.LineMap.get(props.lineStyle) }),
139
+ showPoints && data != null ? visibleData.map(function (pt, i) { return React.createElement("circle", { key: i, r: 3, cx: context.XTransformation(pt[0]), cy: context.YTransformation(pt[1], GraphContext_1.AxisMap.get(props.axis)), fill: props.color, stroke: 'black', style: { opacity: 0.8 /*, transition: 'cx 0.5s,cy 0.5s'*/ } }); }) : null,
140
+ ((_a = props.highlightHover) !== null && _a !== void 0 ? _a : false) && !isNaN(highlight[0]) && !isNaN(highlight[1]) ?
141
+ React.createElement("circle", { r: 5, cx: context.XTransformation(highlight[0]), cy: context.YTransformation(highlight[1], GraphContext_1.AxisMap.get(props.axis)), fill: props.color, stroke: 'black', style: { opacity: 0.8 /*, transition: 'cx 0.5s,cy 0.5s'*/ } }) : null) : null);
142
+ }
143
+ exports.default = Line;
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaW5lLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBQy9CLCtDQUFzRztBQUN0RywrQkFBaUM7QUFDakMseUNBQXNDO0FBQ3RDLDJDQUFzQztBQUN0QyxtRUFBNEQ7QUFlNUQsU0FBUyxJQUFJLENBQUMsS0FBYTs7SUFDdkI7O01BRUU7SUFDSSxJQUFBLEtBQUEsT0FBa0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxFQUFFLENBQUMsSUFBQSxFQUEzQyxJQUFJLFFBQUEsRUFBRSxPQUFPLFFBQThCLENBQUM7SUFDN0MsSUFBQSxLQUFBLE9BQTBCLEtBQUssQ0FBQyxRQUFRLENBQVMsRUFBRSxDQUFDLElBQUEsRUFBbkQsUUFBUSxRQUFBLEVBQUUsV0FBVyxRQUE4QixDQUFDO0lBQ3JELElBQUEsS0FBQSxPQUE0QixLQUFLLENBQUMsUUFBUSxDQUFtQixDQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsQ0FBQyxJQUFBLEVBQXRFLFNBQVMsUUFBQSxFQUFFLFlBQVksUUFBK0MsQ0FBQztJQUN4RSxJQUFBLEtBQUEsT0FBd0IsS0FBSyxDQUFDLFFBQVEsQ0FBVSxJQUFJLENBQUMsSUFBQSxFQUFwRCxPQUFPLFFBQUEsRUFBRSxVQUFVLFFBQWlDLENBQUM7SUFD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
@@ -1,12 +1,11 @@
1
- /// <reference types="react" />
2
- import { LineStyle } from './GraphContext';
3
- import { ILegendRequiredProps } from './LegendContext';
4
- export interface IProps extends ILegendRequiredProps {
5
- label: string;
6
- color: string;
7
- lineStyle: LineStyle;
8
- setEnabled: (arg: boolean) => void;
9
- hasNoData: boolean;
10
- }
11
- declare function LineLegend(props: IProps): JSX.Element;
12
- export default LineLegend;
1
+ import { LineStyle } from './GraphContext';
2
+ import { ILegendRequiredProps } from './LegendContext';
3
+ export interface IProps extends ILegendRequiredProps {
4
+ label: string;
5
+ color: string;
6
+ lineStyle: LineStyle;
7
+ setEnabled: (arg: boolean) => void;
8
+ hasNoData: boolean;
9
+ }
10
+ declare function LineLegend(props: IProps): JSX.Element;
11
+ export default LineLegend;
package/lib/LineLegend.js CHANGED
@@ -1,97 +1,97 @@
1
- "use strict";
2
- // ******************************************************************************************************
3
- // LineLegend.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/04/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
- var React = require("react");
42
- var helper_functions_1 = require("@gpa-gemstone/helper-functions");
43
- var gpa_symbols_1 = require("@gpa-gemstone/gpa-symbols");
44
- var LegendContext_1 = require("./LegendContext");
45
- var fontFamily = "-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"";
46
- var nonTextualWidth = 45;
47
- var cssStyle = "margin: auto auto auto 0px; display: inline-block; font-weight: 400; font-family: " + fontFamily + ";";
48
- function LineLegend(props) {
49
- var _a = __read(React.useState(props.label), 2), label = _a[0], setLabel = _a[1];
50
- var _b = __read(React.useState(100), 2), legendWidth = _b[0], setLegendWith = _b[1];
51
- var _c = __read(React.useState(100), 2), legendHeight = _c[0], setLegendHeight = _c[1];
52
- var _d = __read(React.useState(1), 2), textSize = _d[0], setTextSize = _d[1];
53
- var _e = __read(React.useState(false), 2), useMultiLine = _e[0], setUseMultiLine = _e[1];
54
- var _f = __read(React.useState((0, helper_functions_1.CreateGuid)()), 1), guid = _f[0];
55
- var context = React.useContext(LegendContext_1.LegendContext);
56
- React.useEffect(function () {
57
- return function () {
58
- context.RequestLegendWidth(-1, guid);
59
- };
60
- }, []);
61
- React.useEffect(function () {
62
- setLabel((props.hasNoData ? gpa_symbols_1.Warning : "") + props.label);
63
- }, [props.hasNoData, props.label]);
64
- React.useEffect(function () { return setLegendWith(props.size === 'sm' ? context.SmWidth : context.LgWidth); }, [context.LgWidth, context.SmWidth, props.size]);
65
- React.useEffect(function () { return setLegendHeight(props.size === 'sm' ? context.SmHeight : context.LgHeight); }, [context.SmHeight, context.LgHeight, props.size]);
66
- React.useEffect(function () {
67
- var fontSize = 1;
68
- var textHeight = (0, helper_functions_1.GetTextHeight)(fontFamily, fontSize + "em", label, "" + cssStyle, legendWidth - nonTextualWidth + "px");
69
- var textWidth = (0, helper_functions_1.GetTextWidth)(fontFamily, fontSize + "em", label, "" + cssStyle, textHeight + "px");
70
- var useML = false;
71
- context.RequestLegendWidth(textWidth + nonTextualWidth, guid);
72
- while (fontSize > 0.4 && (textWidth > legendWidth - nonTextualWidth || textHeight > legendHeight)) {
73
- fontSize = fontSize - 0.05;
74
- textWidth = (0, helper_functions_1.GetTextWidth)(fontFamily, fontSize + "em", label, "" + cssStyle, textHeight + "px", "" + (useML ? 'normal' : undefined));
75
- textHeight = (0, helper_functions_1.GetTextHeight)(fontFamily, fontSize + "em", label, "" + cssStyle, legendWidth - nonTextualWidth + "px", "" + (useML ? 'normal' : undefined));
76
- useML = false;
77
- // Consider special case when width is limiting but height is available
78
- if (textWidth > (legendWidth - nonTextualWidth) && textHeight < legendHeight) {
79
- useML = true;
80
- textHeight = (0, helper_functions_1.GetTextHeight)(fontFamily, fontSize + "em", label, "" + cssStyle, legendWidth - nonTextualWidth + "px", "" + (useML ? 'normal' : undefined));
81
- textWidth = legendWidth - nonTextualWidth;
82
- }
83
- }
84
- setTextSize(fontSize);
85
- setUseMultiLine(useML);
86
- }, [label, legendWidth, legendHeight, props.size, props.hasNoData]);
87
- return (React.createElement("div", { style: { height: legendHeight, width: legendWidth } },
88
- React.createElement("div", { onClick: function () { return props.setEnabled(!props.enabled); }, style: { width: '100%', display: 'flex', alignItems: 'center', marginRight: '5px', height: '100%' } },
89
- (props.lineStyle === '-' ?
90
- 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: (props.enabled ? 1 : 0.5) } }) :
91
- 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: (props.enabled ? 1 : 0.5) } })),
92
- React.createElement("label", { style: { fontFamily: fontFamily, fontWeight: 400, display: 'inline-block', margin: 'auto', marginLeft: 0, fontSize: textSize + 'em', whiteSpace: (useMultiLine ? 'normal' : 'nowrap') } },
93
- " ",
94
- label))));
95
- }
96
- exports.default = LineLegend;
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZUxlZ2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaW5lTGVnZW5kLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLHlCQUF5QjtBQUN6QixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBRS9CLG1FQUEwRjtBQUMxRix5REFBb0Q7QUFDcEQsaURBQXNFO0FBU3RFLElBQU0sVUFBVSxHQUFHLHVKQUE2SSxDQUFBO0FBQ2hLLElBQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztBQUMzQixJQUFNLFFBQVEsR0FBRyx1RkFBcUYsVUFBVSxNQUFHLENBQUE7QUFFbkgsU0FBUyxVQUFVLENBQUMsS0FBYTtJQUN2QixJQUFBLEtBQUEsT0FBb0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUEsRUFBdEQsS0FBSyxRQUFBLEVBQUUsUUFBUSxRQUF1QyxDQUFDO0lBQ3hELElBQUEsS0FBQSxPQUErQixLQUFLLENBQUMsUUFBUSxDQUFTLEdBQUcsQ0FBQyxJQUFBLEVBQXpELFdBQVcsUUFBQSxFQUFFLGFBQWEsUUFBK0IsQ0FBQztJQUMzRCxJQUFBLEtBQUEsT0FBa0MsS0FBSyxDQUFDLFFBQVEsQ0FBUyxHQUFHLENBQUMsSUFBQSxFQUE1RCxZQUFZLFFBQUEsRUFBRSxlQUFlLFFBQStCLENBQUM7SUFDOUQsSUFBQSxLQUFBLE9BQTBCLEtBQUss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
1
+ "use strict";
2
+ // ******************************************************************************************************
3
+ // LineLegend.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/04/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
+ var React = require("react");
42
+ var helper_functions_1 = require("@gpa-gemstone/helper-functions");
43
+ var gpa_symbols_1 = require("@gpa-gemstone/gpa-symbols");
44
+ var LegendContext_1 = require("./LegendContext");
45
+ var fontFamily = "-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"";
46
+ var nonTextualWidth = 45;
47
+ var cssStyle = "margin: auto auto auto 0px; display: inline-block; font-weight: 400; font-family: ".concat(fontFamily, ";");
48
+ function LineLegend(props) {
49
+ var _a = __read(React.useState(props.label), 2), label = _a[0], setLabel = _a[1];
50
+ var _b = __read(React.useState(100), 2), legendWidth = _b[0], setLegendWith = _b[1];
51
+ var _c = __read(React.useState(100), 2), legendHeight = _c[0], setLegendHeight = _c[1];
52
+ var _d = __read(React.useState(1), 2), textSize = _d[0], setTextSize = _d[1];
53
+ var _e = __read(React.useState(false), 2), useMultiLine = _e[0], setUseMultiLine = _e[1];
54
+ var _f = __read(React.useState((0, helper_functions_1.CreateGuid)()), 1), guid = _f[0];
55
+ var context = React.useContext(LegendContext_1.LegendContext);
56
+ React.useEffect(function () {
57
+ return function () {
58
+ context.RequestLegendWidth(-1, guid);
59
+ };
60
+ }, []);
61
+ React.useEffect(function () {
62
+ setLabel((props.hasNoData ? gpa_symbols_1.Warning : "") + props.label);
63
+ }, [props.hasNoData, props.label]);
64
+ React.useEffect(function () { return setLegendWith(props.size === 'sm' ? context.SmWidth : context.LgWidth); }, [context.LgWidth, context.SmWidth, props.size]);
65
+ React.useEffect(function () { return setLegendHeight(props.size === 'sm' ? context.SmHeight : context.LgHeight); }, [context.SmHeight, context.LgHeight, props.size]);
66
+ React.useEffect(function () {
67
+ var fontSize = 1;
68
+ var textHeight = (0, helper_functions_1.GetTextHeight)(fontFamily, "".concat(fontSize, "em"), label, "".concat(cssStyle), "".concat(legendWidth - nonTextualWidth, "px"));
69
+ var textWidth = (0, helper_functions_1.GetTextWidth)(fontFamily, "".concat(fontSize, "em"), label, "".concat(cssStyle), "".concat(textHeight, "px"));
70
+ var useML = false;
71
+ context.RequestLegendWidth(textWidth + nonTextualWidth, guid);
72
+ while (fontSize > 0.4 && (textWidth > legendWidth - nonTextualWidth || textHeight > legendHeight)) {
73
+ fontSize = fontSize - 0.05;
74
+ textWidth = (0, helper_functions_1.GetTextWidth)(fontFamily, "".concat(fontSize, "em"), label, "".concat(cssStyle), "".concat(textHeight, "px"), "".concat(useML ? 'normal' : undefined));
75
+ textHeight = (0, helper_functions_1.GetTextHeight)(fontFamily, "".concat(fontSize, "em"), label, "".concat(cssStyle), "".concat(legendWidth - nonTextualWidth, "px"), "".concat(useML ? 'normal' : undefined));
76
+ useML = false;
77
+ // Consider special case when width is limiting but height is available
78
+ if (textWidth > (legendWidth - nonTextualWidth) && textHeight < legendHeight) {
79
+ useML = true;
80
+ textHeight = (0, helper_functions_1.GetTextHeight)(fontFamily, "".concat(fontSize, "em"), label, "".concat(cssStyle), "".concat(legendWidth - nonTextualWidth, "px"), "".concat(useML ? 'normal' : undefined));
81
+ textWidth = legendWidth - nonTextualWidth;
82
+ }
83
+ }
84
+ setTextSize(fontSize);
85
+ setUseMultiLine(useML);
86
+ }, [label, legendWidth, legendHeight, props.size, props.hasNoData]);
87
+ return (React.createElement("div", { style: { height: legendHeight, width: legendWidth } },
88
+ React.createElement("div", { onClick: function () { return props.setEnabled(!props.enabled); }, style: { width: '100%', display: 'flex', alignItems: 'center', marginRight: '5px', height: '100%' } },
89
+ (props.lineStyle === '-' ?
90
+ 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: (props.enabled ? 1 : 0.5) } }) :
91
+ 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: (props.enabled ? 1 : 0.5) } })),
92
+ React.createElement("label", { style: { fontFamily: fontFamily, fontWeight: 400, display: 'inline-block', margin: 'auto', marginLeft: 0, fontSize: textSize + 'em', whiteSpace: (useMultiLine ? 'normal' : 'nowrap') } },
93
+ " ",
94
+ label))));
95
+ }
96
+ exports.default = LineLegend;
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZUxlZ2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaW5lTGVnZW5kLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLHlCQUF5QjtBQUN6QixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBRS9CLG1FQUEwRjtBQUMxRix5REFBb0Q7QUFDcEQsaURBQXNFO0FBU3RFLElBQU0sVUFBVSxHQUFHLHVKQUE2SSxDQUFBO0FBQ2hLLElBQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztBQUMzQixJQUFNLFFBQVEsR0FBRyw0RkFBcUYsVUFBVSxNQUFHLENBQUE7QUFFbkgsU0FBUyxVQUFVLENBQUMsS0FBYTtJQUN2QixJQUFBLEtBQUEsT0FBb0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUEsRUFBdEQsS0FBSyxRQUFBLEVBQUUsUUFBUSxRQUF1QyxDQUFDO0lBQ3hELElBQUEsS0FBQSxPQUErQixLQUFLLENBQUMsUUFBUSxDQUFTLEdBQUcsQ0FBQyxJQUFBLEVBQXpELFdBQVcsUUFBQSxFQUFFLGFBQWEsUUFBK0IsQ0FBQztJQUMzRCxJQUFBLEtBQUEsT0FBa0MsS0FBSyxDQUFDLFFBQVEsQ0FBUyxHQUFHLENBQUMsSUFBQSxFQUE1RCxZQUFZLFFBQUEsRUFBRSxlQUFlLFFBQStCLENBQUM7SUFDOUQsSUFBQSxLQUFBLE9BQTBCLEtBQUss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
@@ -1,13 +1,12 @@
1
- /// <reference types="react" />
2
- import { AxisIdentifier } from './GraphContext';
3
- import { IProps as ILineProps } from './Line';
4
- export interface IProps extends ILineProps {
5
- threshHolds: IThreshold[];
6
- }
7
- export interface IThreshold {
8
- Value: number;
9
- Color: string;
10
- axis?: AxisIdentifier;
11
- }
12
- declare function LineWithThreshold(props: IProps): JSX.Element | null;
13
- export default LineWithThreshold;
1
+ import { AxisIdentifier } from './GraphContext';
2
+ import { IProps as ILineProps } from './Line';
3
+ export interface IProps extends ILineProps {
4
+ threshHolds: IThreshold[];
5
+ }
6
+ export interface IThreshold {
7
+ Value: number;
8
+ Color: string;
9
+ axis?: AxisIdentifier;
10
+ }
11
+ declare function LineWithThreshold(props: IProps): JSX.Element | null;
12
+ export default LineWithThreshold;