@gpa-gemstone/react-graph
Version:
Interactive UI Components for GPA products
72 lines • 5.83 kB
JavaScript
;
// ******************************************************************************************************
// LegendEntry.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:
// ----------------------------------------------------------------------------------------------------
// 10/16/2025 - Preston Crawford
// 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");
var DataLegend_1 = require("./DataLegend");
var LegendEntry = function (props) {
var _a = __read(React.useState(null), 2), guid = _a[0], setGuid = _a[1];
var context = React.useContext(GraphContext_1.GraphContext);
var makeSeries = React.useCallback(function () { return ({
legend: guid == null ? undefined :
React.createElement(DataLegend_1.default, { id: guid, label: props.Label, color: '' /* Color doesnt matter here */, legendSymbol: 'none' /* No line shown in legend */, setEnabled: function (_, e) { var _a; return (_a = props.OnClick) === null || _a === void 0 ? void 0 : _a.call(props, e); }, enabled: true, hasNoData: false }),
axis: undefined,
enabled: true,
getMax: function () { return undefined; },
getMin: function () { return undefined; },
getPoints: function () { return undefined; }
}); }, [guid, props.Label, props.OnClick]);
//Effect to register the 'action' with the legend context
React.useEffect(function () {
var id = context.AddData(makeSeries());
setGuid(id);
return function () { return context.RemoveData(id); };
}, []);
//Effect to update the legend if makeSeries changes
React.useEffect(function () {
if (guid == null)
return;
context.UpdateData(guid, makeSeries());
}, [makeSeries, guid]);
//no need to return anything as this component just registers a line entry in the legend
return null;
};
exports.default = LegendEntry;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnZW5kRW50cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTGVnZW5kRW50cnkudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx5R0FBeUc7QUFDekcsMEJBQTBCO0FBQzFCLEVBQUU7QUFDRixxRUFBcUU7QUFDckUsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsc0dBQXNHO0FBQ3RHLHdGQUF3RjtBQUN4RixFQUFFO0FBQ0YsMENBQTBDO0FBQzFDLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLDRFQUE0RTtBQUM1RSxFQUFFO0FBQ0YsOEJBQThCO0FBQzlCLHdHQUF3RztBQUN4RyxpQ0FBaUM7QUFDakMsbURBQW1EO0FBQ25ELEVBQUU7QUFDRix5R0FBeUc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV6Ryw2QkFBK0I7QUFDL0IsK0NBQTJEO0FBQzNELDJDQUFzQztBQU90QyxJQUFNLFdBQVcsR0FBRyxVQUFDLEtBQWE7SUFDeEIsSUFBQSxLQUFBLE9BQWtCLEtBQUssQ0FBQyxRQUFRLENBQWdCLElBQUksQ0FBQyxJQUFBLEVBQXBELElBQUksUUFBQSxFQUFFLE9BQU8sUUFBdUMsQ0FBQztJQUM1RCxJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLDJCQUFZLENBQUMsQ0FBQztJQUUvQyxJQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQW1CLE9BQUEsQ0FBQztRQUNyRCxNQUFNLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsb0JBQUMsb0JBQVUsSUFDUCxFQUFFLEVBQUUsSUFBSSxFQUNSLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUNsQixLQUFLLEVBQUUsRUFBRSxDQUFDLDhCQUE4QixFQUN4QyxZQUFZLEVBQUUsTUFBTSxDQUFDLDZCQUE2QixFQUNsRCxVQUFVLEVBQUUsVUFBQyxDQUFDLEVBQUUsQ0FBQyxZQUFLLE9BQUEsTUFBQSxLQUFLLENBQUMsT0FBTyxzREFBRyxDQUFDLENBQUMsQ0FBQSxFQUFBLEVBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQ2IsU0FBUyxFQUFFLEtBQUssR0FDbEI7UUFDTixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxJQUFJO1FBQ2IsTUFBTSxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztRQUN2QixNQUFNLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO1FBQ3ZCLFNBQVMsRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7S0FDN0IsQ0FBQyxFQWhCc0QsQ0FnQnRELEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUV4Qyx5REFBeUQ7SUFDekQsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNaLElBQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDWixPQUFPLGNBQU0sT0FBQSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUF0QixDQUFzQixDQUFDO0lBQ3hDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLG1EQUFtRDtJQUNuRCxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ1osSUFBSSxJQUFJLElBQUksSUFBSTtZQUFFLE9BQU87UUFDekIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUV2Qix3RkFBd0Y7SUFDeEYsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFBO0FBRUQsa0JBQWUsV0FBVyxDQUFDIn0=