@gpa-gemstone/react-graph
Version:
Interactive UI Components for GPA products
75 lines • 6.54 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 () {
var _a, _b, _c, _d, _e;
return ({
legend: guid == null ? undefined :
React.createElement(DataLegend_1.default, { id: guid, label: props.Label, color: (_a = props.Color) !== null && _a !== void 0 ? _a : '', legendSymbol: (_b = props.LegendSymbol) !== null && _b !== void 0 ? _b : 'none', setEnabled: function (_, e) { var _a; return (_a = props.OnClick) === null || _a === void 0 ? void 0 : _a.call(props, e, props.Label); }, enabled: (_c = props.Enabled) !== null && _c !== void 0 ? _c : true, hasNoData: (_d = props.HasNoData) !== null && _d !== void 0 ? _d : false, toolTipText: props.ToolTipText }),
axis: undefined,
enabled: (_e = props.Enabled) !== null && _e !== void 0 ? _e : true,
getMax: function () { return undefined; },
getMin: function () { return undefined; },
getPoints: function () { return undefined; }
});
}, [guid, props.Label, props.OnClick, props.Enabled, props.Color, props.LegendSymbol, props.HasNoData]);
//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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnZW5kRW50cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTGVnZW5kRW50cnkudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx5R0FBeUc7QUFDekcsMEJBQTBCO0FBQzFCLEVBQUU7QUFDRixxRUFBcUU7QUFDckUsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsc0dBQXNHO0FBQ3RHLHdGQUF3RjtBQUN4RixFQUFFO0FBQ0YsMENBQTBDO0FBQzFDLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLDRFQUE0RTtBQUM1RSxFQUFFO0FBQ0YsOEJBQThCO0FBQzlCLHdHQUF3RztBQUN4RyxpQ0FBaUM7QUFDakMsbURBQW1EO0FBQ25ELEVBQUU7QUFDRix5R0FBeUc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV6Ryw2QkFBK0I7QUFDL0IsK0NBQTJEO0FBQzNELDJDQUF1RDtBQVl2RCxJQUFNLFdBQVcsR0FBRyxVQUFDLEtBQWE7SUFDeEIsSUFBQSxLQUFBLE9BQWtCLEtBQUssQ0FBQyxRQUFRLENBQWdCLElBQUksQ0FBQyxJQUFBLEVBQXBELElBQUksUUFBQSxFQUFFLE9BQU8sUUFBdUMsQ0FBQztJQUM1RCxJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLDJCQUFZLENBQUMsQ0FBQztJQUUvQyxJQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDOztRQUFtQixPQUFBLENBQUM7WUFDckQsTUFBTSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM5QixvQkFBQyxvQkFBVSxJQUNQLEVBQUUsRUFBRSxJQUFJLEVBQ1IsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQ2xCLEtBQUssRUFBRSxNQUFBLEtBQUssQ0FBQyxLQUFLLG1DQUFJLEVBQUUsRUFDeEIsWUFBWSxFQUFFLE1BQUEsS0FBSyxDQUFDLFlBQVksbUNBQUksTUFBTSxFQUMxQyxVQUFVLEVBQUUsVUFBQyxDQUFDLEVBQUUsQ0FBQyxZQUFLLE9BQUEsTUFBQSxLQUFLLENBQUMsT0FBTyxzREFBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBLEVBQUEsRUFDckQsT0FBTyxFQUFFLE1BQUEsS0FBSyxDQUFDLE9BQU8sbUNBQUksSUFBSSxFQUM5QixTQUFTLEVBQUUsTUFBQSxLQUFLLENBQUMsU0FBUyxtQ0FBSSxLQUFLLEVBQ25DLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxHQUNoQztZQUNOLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLE1BQUEsS0FBSyxDQUFDLE9BQU8sbUNBQUksSUFBSTtZQUM5QixNQUFNLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO1lBQ3ZCLE1BQU0sRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7WUFDdkIsU0FBUyxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztTQUM3QixDQUFDLENBQUE7S0FBQSxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUV6Ryx5REFBeUQ7SUFDekQsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNaLElBQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDWixPQUFPLGNBQU0sT0FBQSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUF0QixDQUFzQixDQUFDO0lBQ3hDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLG1EQUFtRDtJQUNuRCxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ1osSUFBSSxJQUFJLElBQUksSUFBSTtZQUFFLE9BQU87UUFDekIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUV2Qix3RkFBd0Y7SUFDeEYsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFBO0FBRUQsa0JBQWUsV0FBVyxDQUFDIn0=