@gpa-gemstone/react-graph
Version:
Interactive UI Components for GPA products
165 lines • 13.5 kB
JavaScript
;
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;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContextWrapper = exports.AxisMap = exports.LineMap = exports.GraphContext = void 0;
// ******************************************************************************************************
// GraphContext.tsx - Gbtc
//
// Copyright © 2020, 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:
// ----------------------------------------------------------------------------------------------------
// 03/18/2021 - C Lackner
// Generated original version of source code.
//
// ******************************************************************************************************
var React = require("react");
exports.GraphContext = React.createContext({
XDomain: [0, 0],
XHover: NaN,
XHoverSnap: NaN,
YHover: [NaN, NaN],
YHoverSnap: [NaN, NaN],
YDomain: [[0, 0]],
CurrentMode: 'select',
MassEnableCommand: { requester: "", command: "none" },
Data: React.createRef(),
DataGuid: "",
XApplyPixelOffset: function (_) { return _; },
YApplyPixelOffset: function (_) { return _; },
XTransformation: function (_) { return 0; },
YTransformation: function (_, __) { return 0; },
XInverseTransformation: function (_) { return 0; },
YInverseTransformation: function (_, __) { return 0; },
AddData: (function (_) { return ""; }),
RemoveData: function (_) { return undefined; },
UpdateData: function (_) { return undefined; },
SetLegend: function (_) { return undefined; },
RegisterSelect: function (_) { return ""; },
RemoveSelect: function (_) { return undefined; },
UpdateSelect: function (_) { return undefined; },
SetXDomain: function (_) { return undefined; },
SetYDomain: function (_) { return undefined; },
UpdateFlag: 0
});
exports.LineMap = new Map([
['-', 'none'],
['solid', 'none'],
[':', '10,5'],
['short-dash', '10,5'],
['dash', '20,5'],
['long-dash', '30,5']
]);
var AxisMapClass = /** @class */ (function () {
function AxisMapClass(iterable, undefinedOverride) {
var _this = this;
this.get = function (key) { var _a; return ((_a = _this.mapBase.get(key)) !== null && _a !== void 0 ? _a : _this.undefinedOverride); };
this.values = function () { return (_this.mapBase.values()); };
this.keys = function () { return (_this.mapBase.keys()); };
this.mapBase = new Map(iterable);
this.undefinedOverride = undefinedOverride;
// Note: if we ever allow mapBase to be mutated, the mutate methods should assign this
this.size = this.mapBase.size;
}
return AxisMapClass;
}());
// Giving this undefined (such as when an axis for a component is not specfied), will return 0, same as making a default of 'left'
exports.AxisMap = new AxisMapClass([
['left', 0],
['right', 1]
], 0);
var ContextWrapper = function (props) {
var context = React.useMemo(GetContext, [
props.XDomain,
props.MousePosition,
props.MousePositionSnap,
props.YDomain,
props.CurrentMode,
props.MouseIn,
props.UpdateFlag,
props.DataGuid,
props.XApplyPixelOffset,
props.YApplyPixelOffset,
props.XTransform,
props.XInvTransform,
props.YInvTransform,
props.YTransform,
props.SetXDomain,
props.SetYDomain,
props.AddData,
props.RemoveData,
props.UpdateData,
props.SetLegend,
props.RegisterSelect,
props.RemoveSelect,
props.UpdateSelect
]);
function GetContext() {
return {
XDomain: props.XDomain,
XHover: props.MouseIn ? props.XInvTransform(props.MousePosition[0]) : NaN,
YHover: props.MouseIn ? __spreadArray([], __read(exports.AxisMap.values()), false).map(function (axis) { return props.YInvTransform(props.MousePosition[1], axis); }) : Array(exports.AxisMap.size).fill(NaN),
XHoverSnap: props.MouseIn ? props.XInvTransform(props.MousePositionSnap[0]) : NaN,
YHoverSnap: props.MouseIn ? __spreadArray([], __read(exports.AxisMap.values()), false).map(function (axis) { return props.YInvTransform(props.MousePositionSnap[1], axis); }) : Array(exports.AxisMap.size).fill(NaN),
YDomain: props.YDomain,
CurrentMode: props.CurrentMode,
Data: props.Data,
MassEnableCommand: props.MassEnableCommand,
DataGuid: props.DataGuid,
XApplyPixelOffset: props.XApplyPixelOffset,
YApplyPixelOffset: props.YApplyPixelOffset,
XTransformation: props.XTransform,
YTransformation: props.YTransform,
XInverseTransformation: props.XInvTransform,
YInverseTransformation: props.YInvTransform,
AddData: props.AddData,
RemoveData: props.RemoveData,
UpdateData: props.UpdateData,
SetLegend: props.SetLegend,
RegisterSelect: props.RegisterSelect,
RemoveSelect: props.RemoveSelect,
UpdateSelect: props.UpdateSelect,
UpdateFlag: props.UpdateFlag,
SetXDomain: props.SetXDomain,
SetYDomain: props.SetYDomain
};
}
return React.createElement(exports.GraphContext.Provider, { value: context }, props.children);
};
exports.ContextWrapper = ContextWrapper;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0dyYXBoQ29udGV4dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlHQUF5RztBQUN6RywyQkFBMkI7QUFDM0IsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDBCQUEwQjtBQUMxQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5RztBQUN6Ryw2QkFBK0I7QUEwQmxCLFFBQUEsWUFBWSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFDOUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNmLE1BQU0sRUFBRSxHQUFHO0lBQ1gsVUFBVSxFQUFFLEdBQUc7SUFFZixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO0lBQ2xCLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7SUFDdEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakIsV0FBVyxFQUFFLFFBQVE7SUFDckIsaUJBQWlCLEVBQUUsRUFBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUM7SUFHbkQsSUFBSSxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUU7SUFDdkIsUUFBUSxFQUFFLEVBQUU7SUFDWixpQkFBaUIsRUFBRSxVQUFDLENBQVMsSUFBSyxPQUFBLENBQUMsRUFBRCxDQUFDO0lBQ25DLGlCQUFpQixFQUFFLFVBQUMsQ0FBUyxJ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