@gpa-gemstone/react-graph 1.0.50 → 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
@@ -1,218 +1,218 @@
1
- "use strict";
2
- // ******************************************************************************************************
3
- // InteractiveButtons.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 gpa_symbols_1 = require("@gpa-gemstone/gpa-symbols");
43
- var Button_1 = require("./Button");
44
- var heightPerButton = 25;
45
- var InteractiveButtons = React.memo(function (props) {
46
- var _a, _b;
47
- var btnCleanup = React.useRef(undefined);
48
- var _c = __read(React.useState(React.createElement(React.Fragment, null, gpa_symbols_1.Point)), 2), selectIcon = _c[0], setSelectIcon = _c[1];
49
- var _d = __read(React.useState((_a = props.holdOpen) !== null && _a !== void 0 ? _a : false), 2), expand = _d[0], setExpand = _d[1];
50
- var _e = __read(React.useState(undefined), 2), currentSelect = _e[0], setCurrentSelect = _e[1];
51
- var _f = __read(React.useMemo(function () {
52
- var _a;
53
- var nButtons = (((_a = props.holdOpen) !== null && _a !== void 0 ? _a : false) ? 1 : 0) +
54
- (props.showZoom ? 3 : 0) +
55
- (props.showPan ? 1 : 0) +
56
- (props.showReset ? 1 : 0) +
57
- (props.showSelect ? 1 : 0) +
58
- (props.showDownload ? 1 : 0) +
59
- (props.showCapture ? 1 : 0) +
60
- ((props.children == null) ? 0 : React.Children.count(props.children));
61
- var buttonsAllowed = Math.floor((props.heightAvaliable - 20) / heightPerButton);
62
- var rows = Math.ceil(nButtons / buttonsAllowed);
63
- var width = 20 * rows;
64
- nButtons = Math.min(nButtons, buttonsAllowed);
65
- return [nButtons, rows, heightPerButton * (nButtons - 1), width];
66
- }, [props.holdOpen, props.showZoom, props.showPan, props.showReset, props.showSelect, props.showDownload, props.showCapture, props.children]), 4), nButtons = _f[0], nRows = _f[1], height = _f[2], width = _f[3];
67
- var setBtnAndSelect = React.useCallback(function (newIcon, id) {
68
- setSelectIcon(newIcon);
69
- setCurrentSelect(id);
70
- props.setSelection('select');
71
- collaspeMenu();
72
- }, [props.setSelection]);
73
- var openTray = React.useCallback(function (evt) {
74
- evt.stopPropagation();
75
- setExpand(true);
76
- }, [setExpand]);
77
- var collaspeMenu = React.useCallback(function () {
78
- var _a;
79
- if (!((_a = props.holdOpen) !== null && _a !== void 0 ? _a : false))
80
- setExpand(false);
81
- }, [props.holdOpen]);
82
- var displayIcon = React.useMemo(function () {
83
- switch (props.currentSelection) {
84
- default:
85
- case 'pan': return gpa_symbols_1.Pan;
86
- case 'zoom-rectangular': return gpa_symbols_1.MagnifyingGlass;
87
- case 'zoom-vertical': return "\u2016";
88
- case 'zoom-horizontal': return "\u2550";
89
- case 'select': return selectIcon;
90
- }
91
- }, [selectIcon, props.currentSelection]);
92
- React.useEffect(function () { if (expand)
93
- props.setWidth(width);
94
- else
95
- props.setWidth(20); }, [width, expand]);
96
- if (nButtons === 0)
97
- return null;
98
- if (nButtons === 1 || !expand)
99
- return (React.createElement("g", null,
100
- 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(); } }),
101
- React.createElement("text", { fill: 'black', style: { fontSize: '1em', textAnchor: 'middle', dominantBaseline: 'middle' }, x: props.x, y: props.y }, displayIcon)));
102
- var symbols = [[]];
103
- var symbolNames = [[]];
104
- if ((_b = props.holdOpen) !== null && _b !== void 0 ? _b : false) {
105
- if (symbols[symbols.length - 1].length < nButtons) {
106
- symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { return setExpand(false); } }, "^"));
107
- symbolNames[symbols.length - 1].push('collaspe');
108
- }
109
- else {
110
- symbols.push([React.createElement(Button_1.default, { onClick: function () { return setExpand(false); } }, "^")]);
111
- symbolNames.push(['collaspe']);
112
- }
113
- }
114
- if (props.showZoom) {
115
- if (symbols[symbols.length - 1].length < nButtons) {
116
- symbolNames[symbols.length - 1].push('zoom-rectangular');
117
- symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom-rectangular'); collaspeMenu(); } }, gpa_symbols_1.MagnifyingGlass));
118
- }
119
- else {
120
- symbolNames.push(['zoom-rectangular']);
121
- symbols.push([React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom-rectangular'); collaspeMenu(); } }, gpa_symbols_1.MagnifyingGlass)]);
122
- }
123
- if (symbols[symbols.length - 1].length < nButtons) {
124
- symbolNames[symbols.length - 1].push('zoom-vertical');
125
- symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom-vertical'); collaspeMenu(); } }, "\u2016"));
126
- }
127
- else {
128
- symbolNames.push(['zoom-vertical']);
129
- symbols.push([React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom-vertical'); collaspeMenu(); } }, "\u2016")]);
130
- }
131
- if (symbols[symbols.length - 1].length < nButtons) {
132
- symbolNames[symbols.length - 1].push('zoom-horizontal');
133
- symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom-horizontal'); collaspeMenu(); } }, "\u2550"));
134
- }
135
- else {
136
- symbolNames.push(['zoom-horizontal']);
137
- symbols.push([React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom-horizontal'); collaspeMenu(); } }, "\u2550")]);
138
- }
139
- }
140
- if (props.showPan && symbols[symbols.length - 1].length < nButtons) {
141
- symbolNames[symbols.length - 1].push('pan');
142
- symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('pan'); collaspeMenu(); } }, gpa_symbols_1.Pan));
143
- }
144
- else if (props.showPan) {
145
- symbolNames.push(['pan']);
146
- symbols.push([React.createElement(Button_1.default, { onClick: function () { props.setSelection('pan'); collaspeMenu(); } }, gpa_symbols_1.Pan)]);
147
- }
148
- if (props.showSelect && symbols[symbols.length - 1].length < nButtons) {
149
- symbolNames[symbols.length - 1].push('select');
150
- symbols[symbols.length - 1].push(React.createElement(Button_1.default, { isSelect: true, onClick: function () { setBtnAndSelect(React.createElement(React.Fragment, null, gpa_symbols_1.Point), 'select'); } }, gpa_symbols_1.Point));
151
- }
152
- else if (props.showSelect) {
153
- symbolNames.push(['select']);
154
- symbols.push([React.createElement(Button_1.default, { isSelect: true, onClick: function () { setBtnAndSelect(React.createElement(React.Fragment, null, gpa_symbols_1.Point), 'select'); } }, gpa_symbols_1.Point)]);
155
- }
156
- if (props.showReset && symbols[symbols.length - 1].length < nButtons) {
157
- symbolNames[symbols.length - 1].push('reset');
158
- symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { collaspeMenu(); props.setSelection('reset'); } }, gpa_symbols_1.House));
159
- }
160
- else if (props.showReset) {
161
- symbolNames.push(['reset']);
162
- symbols.push([React.createElement(Button_1.default, { onClick: function () { collaspeMenu(); props.setSelection('reset'); } }, gpa_symbols_1.House)]);
163
- }
164
- if (props.showDownload && symbols[symbols.length - 1].length < nButtons) {
165
- symbolNames[symbols.length - 1].push('download');
166
- symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { collaspeMenu(); props.setSelection('download'); } }, gpa_symbols_1.InputNumbers));
167
- }
168
- else if (props.showDownload) {
169
- symbolNames.push(['download']);
170
- symbols.push([React.createElement(Button_1.default, { onClick: function () { collaspeMenu(); props.setSelection('download'); } }, gpa_symbols_1.InputNumbers)]);
171
- }
172
- if (props.showCapture && symbols[symbols.length - 1].length < nButtons) {
173
- symbolNames[symbols.length - 1].push('capture');
174
- symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { collaspeMenu(); props.setSelection('capture'); } }, gpa_symbols_1.Scroll));
175
- }
176
- else if (props.showCapture) {
177
- symbolNames.push(['capture']);
178
- symbols.push([React.createElement(Button_1.default, { onClick: function () { collaspeMenu(); props.setSelection('capture'); } }, gpa_symbols_1.Scroll)]);
179
- }
180
- var customButtonsIndex = symbols.length - 1;
181
- React.Children.forEach(props.children, function (element, index) {
182
- if (symbols[symbols.length - 1].length < nButtons && React.isValidElement(element) && element.type === Button_1.default) {
183
- symbols[symbols.length - 1].push(element);
184
- symbolNames[symbols.length - 1].push('custom-' + index);
185
- }
186
- else if (React.isValidElement(element) && element.type === Button_1.default) {
187
- symbols.push([element]);
188
- symbolNames.push(['custom-' + index]);
189
- }
190
- });
191
- var path = "M " + (props.x - 10) + " " + props.y + " A 10 10 90 0 1 " + props.x + " " + (props.y - 10) + " h " + (width - 20) + " A 10 10 90 0 1 " + (props.x + width - 10) + " " + props.y + " v " + height + " A 10 10 90 0 1 " + (props.x + width - 20) + " " + (props.y + height + 10) + " h " + (-width + 20) + " A 10 10 90 0 1 " + (props.x - 10) + " " + (props.y + height) + " v " + -height;
192
- return (React.createElement("g", { style: { cursor: 'default' }, "data-html2canvas-ignore": "true" },
193
- React.createElement("path", { d: path, style: {
194
- fill: '#1e90ff'
195
- } }),
196
- symbols.map(function (r, j) { return React.createElement(React.Fragment, null,
197
- " ",
198
- r.map(function (s, i) {
199
- return React.createElement(CircleButton, { key: i, selectId: symbolNames[j][i], x: props.x + j * 20, y: props.y + i * heightPerButton, active: i < customButtonsIndex ? (props.currentSelection === symbolNames[j][i] && (props.currentSelection !== 'select' || currentSelect === undefined)) :
200
- props.currentSelection === 'select' && currentSelect === symbolNames[j][i], button: s, btnCleanup: btnCleanup, setSelectIcon: !symbolNames[j][i].startsWith('custom') ? undefined : setBtnAndSelect });
201
- })); }),
202
- React.createElement("path", { d: path, stroke: 'black' })));
203
- });
204
- function CircleButton(props) {
205
- return (React.createElement(React.Fragment, null,
206
- React.createElement("circle", { r: 10, cx: props.x, cy: props.y, style: { fill: (props.active ? '#002eff' : '#1e90ff'), pointerEvents: 'all' }, onMouseDown: function (evt) { return evt.stopPropagation(); }, onClick: function (evt) {
207
- var _a;
208
- evt.stopPropagation();
209
- if ((props.setSelectIcon !== undefined) && ((_a = props.button.props.isSelect) !== null && _a !== void 0 ? _a : false))
210
- props.setSelectIcon(props.button.props.children, props.selectId);
211
- if (props.btnCleanup.current !== undefined)
212
- props.btnCleanup.current();
213
- props.btnCleanup.current = props.button.props.onClick();
214
- }, onMouseUp: function (evt) { return evt.stopPropagation(); } }),
215
- React.createElement("text", { fill: 'black', style: { fontSize: '1em', textAnchor: 'middle', dominantBaseline: 'middle' }, x: props.x, y: props.y }, props.button)));
216
- }
217
- exports.default = InteractiveButtons;
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RpdmVCdXR0b25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0ludGVyYWN0aXZlQnV0dG9ucy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxpQ0FBaUM7QUFDakMsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDBCQUEwQjtBQUMxQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpHLDZCQUErQjtBQUMvQix5REFBa0c7QUFFbEcsbUNBQTZCO0FBc0I3QixJQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFFM0IsSUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQUMsS0FBYTs7SUFDaEQsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBVSxTQUFTLENBQUMsQ0FBQztJQUM5QyxJQUFBLEtBQUEsT0FBOEIsS0FBSyxDQUFDLFFBQVEsQ0FBcUIsMENBQUcsbUJBQUssQ0FBSSxDQUFDLElBQUEsRUFBN0UsVUFBVSxRQUFBLEVBQUUsYUFBYSxRQUFvRCxDQUFDO0lBQy9FLElBQUEsS0FBQSxPQUFzQixLQUFLLENBQUMsUUFBUSxDQUFVLE1BQUEsS0FBSyxDQUFDLFFBQVEsbUNBQUksS0FBSyxDQUFDLElBQUEsRUFBckUsTUFBTSxRQUFBLEVBQUUsU0FBUyxRQUFvRCxDQUFDO0lBQ3ZFLElBQUEsS0FBQSxPQUFvQyxLQUFLLENBQUMsUUFBUSxDQUFnQyxTQUFTLENBQUMsSUFBQSxFQUEzRixhQUFhLFFBQUEsRUFBRSxn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
1
+ "use strict";
2
+ // ******************************************************************************************************
3
+ // InteractiveButtons.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 gpa_symbols_1 = require("@gpa-gemstone/gpa-symbols");
43
+ var Button_1 = require("./Button");
44
+ var heightPerButton = 25;
45
+ var InteractiveButtons = React.memo(function (props) {
46
+ var _a, _b;
47
+ var btnCleanup = React.useRef(undefined);
48
+ var _c = __read(React.useState(React.createElement(React.Fragment, null, gpa_symbols_1.Point)), 2), selectIcon = _c[0], setSelectIcon = _c[1];
49
+ var _d = __read(React.useState((_a = props.holdOpen) !== null && _a !== void 0 ? _a : false), 2), expand = _d[0], setExpand = _d[1];
50
+ var _e = __read(React.useState(undefined), 2), currentSelect = _e[0], setCurrentSelect = _e[1];
51
+ var _f = __read(React.useMemo(function () {
52
+ var _a;
53
+ var nButtons = (((_a = props.holdOpen) !== null && _a !== void 0 ? _a : false) ? 1 : 0) +
54
+ (props.showZoom ? 3 : 0) +
55
+ (props.showPan ? 1 : 0) +
56
+ (props.showReset ? 1 : 0) +
57
+ (props.showSelect ? 1 : 0) +
58
+ (props.showDownload ? 1 : 0) +
59
+ (props.showCapture ? 1 : 0) +
60
+ ((props.children == null) ? 0 : React.Children.count(props.children));
61
+ var buttonsAllowed = Math.floor((props.heightAvaliable - 20) / heightPerButton);
62
+ var rows = Math.ceil(nButtons / buttonsAllowed);
63
+ var width = 20 * rows;
64
+ nButtons = Math.min(nButtons, buttonsAllowed);
65
+ return [nButtons, rows, heightPerButton * (nButtons - 1), width];
66
+ }, [props.holdOpen, props.showZoom, props.showPan, props.showReset, props.showSelect, props.showDownload, props.showCapture, props.children]), 4), nButtons = _f[0], nRows = _f[1], height = _f[2], width = _f[3];
67
+ var setBtnAndSelect = React.useCallback(function (newIcon, id) {
68
+ setSelectIcon(newIcon);
69
+ setCurrentSelect(id);
70
+ props.setSelection('select');
71
+ collaspeMenu();
72
+ }, [props.setSelection]);
73
+ var openTray = React.useCallback(function (evt) {
74
+ evt.stopPropagation();
75
+ setExpand(true);
76
+ }, [setExpand]);
77
+ var collaspeMenu = React.useCallback(function () {
78
+ var _a;
79
+ if (!((_a = props.holdOpen) !== null && _a !== void 0 ? _a : false))
80
+ setExpand(false);
81
+ }, [props.holdOpen]);
82
+ var displayIcon = React.useMemo(function () {
83
+ switch (props.currentSelection) {
84
+ default:
85
+ case 'pan': return gpa_symbols_1.Pan;
86
+ case 'zoom-rectangular': return gpa_symbols_1.MagnifyingGlass;
87
+ case 'zoom-vertical': return "\u2016";
88
+ case 'zoom-horizontal': return "\u2550";
89
+ case 'select': return selectIcon;
90
+ }
91
+ }, [selectIcon, props.currentSelection]);
92
+ React.useEffect(function () { if (expand)
93
+ props.setWidth(width);
94
+ else
95
+ props.setWidth(20); }, [width, expand]);
96
+ if (nButtons === 0)
97
+ return null;
98
+ if (nButtons === 1 || !expand)
99
+ return (React.createElement("g", null,
100
+ 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(); } }),
101
+ React.createElement("text", { fill: 'black', style: { fontSize: '1em', textAnchor: 'middle', dominantBaseline: 'middle' }, x: props.x, y: props.y }, displayIcon)));
102
+ var symbols = [[]];
103
+ var symbolNames = [[]];
104
+ if ((_b = props.holdOpen) !== null && _b !== void 0 ? _b : false) {
105
+ if (symbols[symbols.length - 1].length < nButtons) {
106
+ symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { return setExpand(false); } }, "^"));
107
+ symbolNames[symbols.length - 1].push('collaspe');
108
+ }
109
+ else {
110
+ symbols.push([React.createElement(Button_1.default, { onClick: function () { return setExpand(false); } }, "^")]);
111
+ symbolNames.push(['collaspe']);
112
+ }
113
+ }
114
+ if (props.showZoom) {
115
+ if (symbols[symbols.length - 1].length < nButtons) {
116
+ symbolNames[symbols.length - 1].push('zoom-rectangular');
117
+ symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom-rectangular'); collaspeMenu(); } }, gpa_symbols_1.MagnifyingGlass));
118
+ }
119
+ else {
120
+ symbolNames.push(['zoom-rectangular']);
121
+ symbols.push([React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom-rectangular'); collaspeMenu(); } }, gpa_symbols_1.MagnifyingGlass)]);
122
+ }
123
+ if (symbols[symbols.length - 1].length < nButtons) {
124
+ symbolNames[symbols.length - 1].push('zoom-vertical');
125
+ symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom-vertical'); collaspeMenu(); } }, "\u2016"));
126
+ }
127
+ else {
128
+ symbolNames.push(['zoom-vertical']);
129
+ symbols.push([React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom-vertical'); collaspeMenu(); } }, "\u2016")]);
130
+ }
131
+ if (symbols[symbols.length - 1].length < nButtons) {
132
+ symbolNames[symbols.length - 1].push('zoom-horizontal');
133
+ symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom-horizontal'); collaspeMenu(); } }, "\u2550"));
134
+ }
135
+ else {
136
+ symbolNames.push(['zoom-horizontal']);
137
+ symbols.push([React.createElement(Button_1.default, { onClick: function () { props.setSelection('zoom-horizontal'); collaspeMenu(); } }, "\u2550")]);
138
+ }
139
+ }
140
+ if (props.showPan && symbols[symbols.length - 1].length < nButtons) {
141
+ symbolNames[symbols.length - 1].push('pan');
142
+ symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { props.setSelection('pan'); collaspeMenu(); } }, gpa_symbols_1.Pan));
143
+ }
144
+ else if (props.showPan) {
145
+ symbolNames.push(['pan']);
146
+ symbols.push([React.createElement(Button_1.default, { onClick: function () { props.setSelection('pan'); collaspeMenu(); } }, gpa_symbols_1.Pan)]);
147
+ }
148
+ if (props.showSelect && symbols[symbols.length - 1].length < nButtons) {
149
+ symbolNames[symbols.length - 1].push('select');
150
+ symbols[symbols.length - 1].push(React.createElement(Button_1.default, { isSelect: true, onClick: function () { setBtnAndSelect(React.createElement(React.Fragment, null, gpa_symbols_1.Point), 'select'); } }, gpa_symbols_1.Point));
151
+ }
152
+ else if (props.showSelect) {
153
+ symbolNames.push(['select']);
154
+ symbols.push([React.createElement(Button_1.default, { isSelect: true, onClick: function () { setBtnAndSelect(React.createElement(React.Fragment, null, gpa_symbols_1.Point), 'select'); } }, gpa_symbols_1.Point)]);
155
+ }
156
+ if (props.showReset && symbols[symbols.length - 1].length < nButtons) {
157
+ symbolNames[symbols.length - 1].push('reset');
158
+ symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { collaspeMenu(); props.setSelection('reset'); } }, gpa_symbols_1.House));
159
+ }
160
+ else if (props.showReset) {
161
+ symbolNames.push(['reset']);
162
+ symbols.push([React.createElement(Button_1.default, { onClick: function () { collaspeMenu(); props.setSelection('reset'); } }, gpa_symbols_1.House)]);
163
+ }
164
+ if (props.showDownload && symbols[symbols.length - 1].length < nButtons) {
165
+ symbolNames[symbols.length - 1].push('download');
166
+ symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { collaspeMenu(); props.setSelection('download'); } }, gpa_symbols_1.InputNumbers));
167
+ }
168
+ else if (props.showDownload) {
169
+ symbolNames.push(['download']);
170
+ symbols.push([React.createElement(Button_1.default, { onClick: function () { collaspeMenu(); props.setSelection('download'); } }, gpa_symbols_1.InputNumbers)]);
171
+ }
172
+ if (props.showCapture && symbols[symbols.length - 1].length < nButtons) {
173
+ symbolNames[symbols.length - 1].push('capture');
174
+ symbols[symbols.length - 1].push(React.createElement(Button_1.default, { onClick: function () { collaspeMenu(); props.setSelection('capture'); } }, gpa_symbols_1.Scroll));
175
+ }
176
+ else if (props.showCapture) {
177
+ symbolNames.push(['capture']);
178
+ symbols.push([React.createElement(Button_1.default, { onClick: function () { collaspeMenu(); props.setSelection('capture'); } }, gpa_symbols_1.Scroll)]);
179
+ }
180
+ var customButtonsIndex = symbols.length - 1;
181
+ React.Children.forEach(props.children, function (element, index) {
182
+ if (symbols[symbols.length - 1].length < nButtons && React.isValidElement(element) && element.type === Button_1.default) {
183
+ symbols[symbols.length - 1].push(element);
184
+ symbolNames[symbols.length - 1].push('custom-' + index);
185
+ }
186
+ else if (React.isValidElement(element) && element.type === Button_1.default) {
187
+ symbols.push([element]);
188
+ symbolNames.push(['custom-' + index]);
189
+ }
190
+ });
191
+ var path = "M ".concat(props.x - 10, " ").concat(props.y, " A 10 10 90 0 1 ").concat(props.x, " ").concat(props.y - 10, " h ").concat(width - 20, " A 10 10 90 0 1 ").concat(props.x + width - 10, " ").concat(props.y, " v ").concat(height, " A 10 10 90 0 1 ").concat(props.x + width - 20, " ").concat(props.y + height + 10, " h ").concat(-width + 20, " A 10 10 90 0 1 ").concat(props.x - 10, " ").concat(props.y + height, " v ").concat(-height);
192
+ return (React.createElement("g", { style: { cursor: 'default' }, "data-html2canvas-ignore": "true" },
193
+ React.createElement("path", { d: path, style: {
194
+ fill: '#1e90ff'
195
+ } }),
196
+ symbols.map(function (r, j) { return React.createElement(React.Fragment, null,
197
+ " ",
198
+ r.map(function (s, i) {
199
+ return React.createElement(CircleButton, { key: i, selectId: symbolNames[j][i], x: props.x + j * 20, y: props.y + i * heightPerButton, active: i < customButtonsIndex ? (props.currentSelection === symbolNames[j][i] && (props.currentSelection !== 'select' || currentSelect === undefined)) :
200
+ props.currentSelection === 'select' && currentSelect === symbolNames[j][i], button: s, btnCleanup: btnCleanup, setSelectIcon: !symbolNames[j][i].startsWith('custom') ? undefined : setBtnAndSelect });
201
+ })); }),
202
+ React.createElement("path", { d: path, stroke: 'black' })));
203
+ });
204
+ function CircleButton(props) {
205
+ return (React.createElement(React.Fragment, null,
206
+ React.createElement("circle", { r: 10, cx: props.x, cy: props.y, style: { fill: (props.active ? '#002eff' : '#1e90ff'), pointerEvents: 'all' }, onMouseDown: function (evt) { return evt.stopPropagation(); }, onClick: function (evt) {
207
+ var _a;
208
+ evt.stopPropagation();
209
+ if ((props.setSelectIcon !== undefined) && ((_a = props.button.props.isSelect) !== null && _a !== void 0 ? _a : false))
210
+ props.setSelectIcon(props.button.props.children, props.selectId);
211
+ if (props.btnCleanup.current !== undefined)
212
+ props.btnCleanup.current();
213
+ props.btnCleanup.current = props.button.props.onClick();
214
+ }, onMouseUp: function (evt) { return evt.stopPropagation(); } }),
215
+ React.createElement("text", { fill: 'black', style: { fontSize: '1em', textAnchor: 'middle', dominantBaseline: 'middle' }, x: props.x, y: props.y }, props.button)));
216
+ }
217
+ exports.default = InteractiveButtons;
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RpdmVCdXR0b25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0ludGVyYWN0aXZlQnV0dG9ucy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxpQ0FBaUM7QUFDakMsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDBCQUEwQjtBQUMxQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpHLDZCQUErQjtBQUMvQix5REFBa0c7QUFFbEcsbUNBQTZCO0FBc0I3QixJQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFFM0IsSUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQUMsS0FBYTs7SUFDaEQsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBVSxTQUFTLENBQUMsQ0FBQztJQUM5QyxJQUFBLEtBQUEsT0FBOEIsS0FBSyxDQUFDLFFBQVEsQ0FBcUIsMENBQUcsbUJBQUssQ0FBSSxDQUFDLElBQUEsRUFBN0UsVUFBVSxRQUFBLEVBQUUsYUFBYSxRQUFvRCxDQUFDO0lBQy9FLElBQUEsS0FBQSxPQUFzQixLQUFLLENBQUMsUUFBUSxDQUFVLE1BQUEsS0FBSyxDQUFDLFFBQVEsbUNBQUksS0FBSyxDQUFDLElBQUEsRUFBckUsTUFBTSxRQUFBLEVBQUUsU0FBUyxRQUFvRCxDQUFDO0lBQ3ZFLElBQUEsS0FBQSxPQUFvQyxLQUFLLENBQUMsUUFBUSxDQUFnQyxTQUFTLENBQUMsSUFBQSxFQUEzRixhQUFhLFFBQUEsRUFBRSxn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
package/lib/Legend.d.ts CHANGED
@@ -1,14 +1,14 @@
1
- import * as React from 'react';
2
- interface IProps {
3
- height: number;
4
- width: number;
5
- location: 'bottom' | 'right';
6
- graphHeight: number;
7
- graphWidth: number;
8
- RequestLegendWidth: (width: number, requesterID: string) => void;
9
- RequestLegendHeight: (height: number) => void;
10
- HideDisabled: boolean;
11
- }
12
- declare function Legend(props: IProps): JSX.Element;
13
- declare const _default: React.MemoExoticComponent<typeof Legend>;
14
- export default _default;
1
+ import * as React from 'react';
2
+ interface IProps {
3
+ height: number;
4
+ width: number;
5
+ location: 'bottom' | 'right';
6
+ graphHeight: number;
7
+ graphWidth: number;
8
+ RequestLegendWidth: (width: number, requesterID: string) => void;
9
+ RequestLegendHeight: (height: number) => void;
10
+ HideDisabled: boolean;
11
+ }
12
+ declare function Legend(props: IProps): JSX.Element;
13
+ declare const _default: React.MemoExoticComponent<typeof Legend>;
14
+ export default _default;