@gpa-gemstone/react-graph
Version:
Interactive UI Components for GPA products
78 lines • 5.65 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 });
// ******************************************************************************************************
// PlotGroup.tsx - Gbtc
//
// Copyright © 2025, 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/03/2025 - Preston Crawford
// Generated original version of source code.
//
// ******************************************************************************************************
var React = require("react");
var PlotGroupContext_1 = require("./PlotGroupContext");
var PlotGroup = function (props) {
var legendWidthMap = React.useRef(new Map());
var _a = __read(React.useState(0), 2), maxLegendWidth = _a[0], setMaxLegendWidth = _a[1];
var RegisterLegendWidth = React.useCallback(function (requesterID, width) {
legendWidthMap.current.set(requesterID, width);
var newMaxVal = Math.max.apply(Math, __spreadArray([], __read(legendWidthMap.current.values()), false));
setMaxLegendWidth(newMaxVal);
}, []);
var UnRegisterLegendWidth = React.useCallback(function (requesterID) {
legendWidthMap.current.delete(requesterID);
setMaxLegendWidth(function () {
var values = __spreadArray([], __read(legendWidthMap.current.values()), false);
return Math.max.apply(Math, __spreadArray([], __read(values), false));
});
}, []);
var contextValue = React.useMemo(function () {
return {
LegendWidth: maxLegendWidth,
RegisterLegendWidth: RegisterLegendWidth,
UnRegisterLegendWidth: UnRegisterLegendWidth,
HasConsumer: true
};
}, [maxLegendWidth]);
return (React.createElement(PlotGroupContext_1.default.Provider, { value: contextValue }, props.children));
};
exports.default = PlotGroup;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxvdEdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1Bsb3RHcm91cC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUdBQXlHO0FBQ3pHLHdCQUF3QjtBQUN4QixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsaUNBQWlDO0FBQ2pDLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHO0FBQ3pHLDZCQUErQjtBQUMvQix1REFBeUU7QUFFekUsSUFBTSxTQUFTLEdBQUcsVUFBQyxLQUF1QztJQUN0RCxJQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFzQixJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDOUQsSUFBQSxLQUFBLE9BQXNDLEtBQUssQ0FBQyxRQUFRLENBQVMsQ0FBQyxDQUFDLElBQUEsRUFBOUQsY0FBYyxRQUFBLEVBQUUsaUJBQWlCLFFBQTZCLENBQUM7SUFFdEUsSUFBTSxtQkFBbUIsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQUMsV0FBbUIsRUFBRSxLQUFhO1FBQzdFLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxPQUFSLElBQUksMkJBQVEsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsVUFBQyxDQUFDO1FBQy9ELGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ2hDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLElBQU0scUJBQXFCLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFDLFdBQW1CO1FBQ2hFLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNDLGlCQUFpQixDQUFDO1lBQ2QsSUFBTSxNQUFNLDRCQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFNBQUMsQ0FBQztZQUNwRCxPQUFPLElBQUksQ0FBQyxHQUFHLE9BQVIsSUFBSSwyQkFBUSxNQUFNLFdBQUU7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFTixJQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFvQjtRQUVsRCxPQUFPO1lBQ0gsV0FBVyxFQUFFLGNBQWM7WUFDM0IsbUJBQW1CLHFCQUFBO1lBQ25CLHFCQUFxQix1QkFBQTtZQUNyQixXQUFXLEVBQUUsSUFBSTtTQUNwQixDQUFBO0lBRUwsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQTtJQUVwQixPQUFPLENBQ0gsb0JBQUMsMEJBQWdCLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxZQUFZLElBQ3pDLEtBQUssQ0FBQyxRQUFRLENBQ1MsQ0FDL0IsQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQUVELGtCQUFlLFNBQVMsQ0FBQyJ9