UNPKG

@gpa-gemstone/react-graph

Version:
111 lines 10.5 kB
"use strict"; // ****************************************************************************************************** // Vertica;Marker.tsx - Gbtc // // Copyright © 2022, Grid Protection Alliance. All Rights Reserved. // // Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See // the NOTICE file distributed with this work for additional information regarding copyright ownership. // The GPA licenses this file to you under the MIT License (MIT), the "License"; you may not use this // file except in compliance with the License. You may obtain a copy of the License at: // // http://opensource.org/licenses/MIT // // Unless agreed to in writing, the subject software distributed under the License is distributed on an // "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the // License for the specific language governing permissions and limitations. // // Code Modification History: // ---------------------------------------------------------------------------------------------------- // 04/29/2022 - C Lackner // Generated original version of source code. // // ****************************************************************************************************** var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; Object.defineProperty(exports, "__esModule", { value: true }); var React = require("react"); var GraphContext_1 = require("./GraphContext"); function VerticalMarker(props) { /* Marks an X Value vertically as a line. */ var context = React.useContext(GraphContext_1.GraphContext); var _a = __read(React.useState(props.Value), 2), value = _a[0], setValue = _a[1]; var _b = __read(React.useState(false), 2), isSelected = _b[0], setSelected = _b[1]; var _c = __read(React.useState(""), 2), guid = _c[0], setGuid = _c[1]; function generateData(v) { var axis = GraphContext_1.AxisMap.get(props.axis); var y1 = (props.start === undefined ? context.YDomain[axis][0] : props.start); var y2 = (props.end === undefined ? context.YDomain[axis][1] : props.end); return "M ".concat(context.XTransformation(v), " ").concat(context.YTransformation(y1, axis), " L ").concat(context.XTransformation(v), " ").concat(context.YTransformation(y2, axis)); } var onClick = React.useCallback(function (x, _) { var xP = context.XTransformation(props.Value); var xT = context.XTransformation(x); if (xT <= xP + (props.width / 2) && xT >= xP - (props.width / 2)) setSelected(true); }, [props.width, props.Value, context.XTransformation]); React.useEffect(function () { var id = context.RegisterSelect({ onClick: onClick, onRelease: function (_) { return setSelected(false); }, onPlotLeave: function (_) { return setSelected(false); }, axis: props.axis, allowSnapping: false }); setGuid(id); return function () { context.RemoveSelect(id); }; }, []); React.useEffect(function () { if (guid === "") return; context.UpdateSelect(guid, { onClick: onClick, onRelease: function (_) { return setSelected(false); }, onPlotLeave: function (_) { return setSelected(false); }, axis: props.axis, allowSnapping: false }); }, [onClick]); React.useEffect(function () { setValue(props.Value); }, [props.Value]); React.useEffect(function () { if (isSelected && props.setValue !== undefined && props.Value !== value) props.setValue(value); }, [isSelected, value]); React.useEffect(function () { if (isSelected && props.onClick !== undefined) props.onClick(props.Value); }, [isSelected]); React.useEffect(function () { if (context.CurrentMode !== 'select') setSelected(false); }, [context.CurrentMode]); React.useEffect(function () { if (isSelected) setValue(context.XHoverSnap); }, [context.XHoverSnap]); return (React.createElement("g", null, React.createElement("path", { d: generateData(props.Value), style: { fill: 'none', strokeWidth: props.width, stroke: props.color }, strokeDasharray: GraphContext_1.LineMap.get(props.lineStyle) }), props.setValue !== undefined && props.Value !== value && isSelected ? React.createElement("path", { d: generateData(value), style: { fill: 'none', strokeWidth: props.width, stroke: props.color, opacity: 0.5 }, strokeDasharray: GraphContext_1.LineMap.get(props.lineStyle) }) : null)); } exports.default = VerticalMarker; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVydGljYWxNYXJrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvVmVydGljYWxNYXJrZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx5R0FBeUc7QUFDekcsNkJBQTZCO0FBQzdCLEVBQUU7QUFDRixxRUFBcUU7QUFDckUsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsc0dBQXNHO0FBQ3RHLHdGQUF3RjtBQUN4RixFQUFFO0FBQ0YsMENBQTBDO0FBQzFDLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLDRFQUE0RTtBQUM1RSxFQUFFO0FBQ0YsOEJBQThCO0FBQzlCLHdHQUF3RztBQUN4RywwQkFBMEI7QUFDMUIsbURBQW1EO0FBQ25ELEVBQUU7QUFDRix5R0FBeUc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUd6Ryw2QkFBK0I7QUFDL0IsK0NBQW9HO0FBY3BHLFNBQVMsY0FBYyxDQUFDLEtBQWE7SUFDbkM7O01BRUU7SUFDRixJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLDJCQUFZLENBQUMsQ0FBQTtJQUN4QyxJQUFBLEtBQUEsT0FBb0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUEsRUFBdEQsS0FBSyxRQUFBLEVBQUUsUUFBUSxRQUF1QyxDQUFDO0lBQ3hELElBQUEsS0FBQSxPQUE0QixLQUFLLENBQUMsUUFBUSxDQUFVLEtBQUssQ0FBQyxJQUFBLEVBQXpELFVBQVUsUUFBQSxFQUFFLFdBQVcsUUFBa0MsQ0FBQztJQUMzRCxJQUFBLEtBQUEsT0FBa0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxFQUFFLENBQUMsSUFBQSxFQUEzQyxJQUFJLFFBQUEsRUFBRSxPQUFPLFFBQThCLENBQUM7SUFFbkQsU0FBUyxZQUFZLENBQUMsQ0FBUztRQUMzQixJQUFNLElBQUksR0FBRyxzQkFBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxD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