UNPKG

@gpa-gemstone/react-graph

Version:
143 lines 11.8 kB
"use strict"; // ****************************************************************************************************** // DataLegend.tsx - Gbtc // // Copyright © 2023, 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/04/2023 - C Lackner // Generated original version of source code. // 12/01/2025 - G. Santos // Changed scope to include other types of data. // // ****************************************************************************************************** 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 gpa_symbols_1 = require("@gpa-gemstone/gpa-symbols"); var LegendContext_1 = require("./LegendContext"); var Legend_1 = require("./Legend"); function DataLegend(props) { var _a; var containerRef = React.useRef(null); var _b = __read(React.useState((_a = props.label) !== null && _a !== void 0 ? _a : ""), 2), label = _b[0], setLabel = _b[1]; var context = React.useContext(LegendContext_1.LegendContext); React.useEffect(function () { setLabel((props.hasNoData ? gpa_symbols_1.Warning : "") + props.label); }, [props.hasNoData, props.label]); return (React.createElement("div", { style: { height: context.SmHeight, width: context.SmWidth }, ref: containerRef }, React.createElement("div", { onClick: function (evt) { if (evt.ctrlKey && context.SendMassEnable != null) context.SendMassEnable.current(props.id); else props.setEnabled(!props.enabled, evt); }, style: { width: '100%', display: 'flex', alignItems: 'center', marginRight: '5px', height: '100%' } }, React.createElement(DataSymbol, { color: props.color, symbol: props.legendSymbol, enabled: props.enabled }), React.createElement("label", { style: { fontFamily: Legend_1.fontFamily, fontWeight: 400, display: 'inline-block', margin: 'auto', marginLeft: 0, fontSize: context.SmallestFontSize + 'em', whiteSpace: (context.UseMultiLine ? 'normal' : 'nowrap') } }, label)))); } function DataSymbol(props) { /* Total width of symbol element should be 15px with a 5px margin */ switch (props.symbol) { default: console.warn("Unrecognized symbol type in Data Legend: " + props.symbol); // falls through case '-': case 'solid': return (React.createElement("div", { style: { width: '10px', height: 0, borderTop: "2px solid ".concat(props.color), borderRight: "10px solid ".concat(props.color), borderBottom: "2px solid ".concat(props.color), borderLeft: "10px solid ".concat(props.color), overflow: 'hidden', marginRight: '5px', opacity: (props.enabled ? 1 : 0.5) } })); case 'none': return (React.createElement("div", { style: { width: '20px', height: 0, overflow: 'hidden', marginRight: '5px', opacity: 0 } })); case ':': case 'dash': case 'short-dash': case 'long-dash': return (React.createElement("div", { style: { width: '10px', height: '4px', borderTop: 'none', borderRight: "3px solid ".concat(props.color), borderBottom: 'none', borderLeft: "3px solid ".concat(props.color), overflow: 'hidden', marginRight: '5px', opacity: (props.enabled ? 1 : 0.5) } })); case 'square': return (React.createElement("div", { style: { width: '10px', height: '20px', borderTop: "2px solid ".concat(props.color), borderRight: "10px solid ".concat(props.color), borderBottom: "2px solid ".concat(props.color), borderLeft: "10px solid ".concat(props.color), overflow: 'hidden', marginRight: '5px', opacity: (props.enabled ? 1 : 0.5) } })); case 'circle': return (React.createElement("div", { style: { width: '10px', height: '20px', borderRadius: '10px', borderTop: "2px solid ".concat(props.color), borderRight: "10px solid ".concat(props.color), borderBottom: "2px solid ".concat(props.color), borderLeft: "10px solid ".concat(props.color), overflow: 'hidden', marginRight: '5px', opacity: (props.enabled ? 1 : 0.5) } })); } } exports.default = DataLegend; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxlZ2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9EYXRhTGVnZW5kLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLHlCQUF5QjtBQUN6QixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCwwQkFBMEI7QUFDMUIsc0RBQXNEO0FBQ3RELEVBQUU7QUFDRix5R0FBeUc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUd6Ryw2QkFBK0I7QUFFL0IseURBQW9EO0FBQ3BELGlEQUFzRTtBQUN0RSxtQ0FBcUM7QUFZckMsU0FBUyxVQUFVLENBQUMsS0FBYTs7SUFDN0IsSUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBd0IsSUFBSSxDQUFDLENBQUM7SUFDekQsSUFBQSxLQUFBLE9BQW9CLEtBQUssQ0FBQyxRQUFRLENBQVMsTUFBQSxLQUFLLENBQUMsS0FBSyxtQ0FBSSxFQUFFLENBQUMsSUFBQSxFQUE1RCxLQUFLLFFBQUEsRUFBRSxRQUFRLFFBQTZDLENBQUM7SUFDcEUsSUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyw2QkFBYSxDQUFDLENBQUM7SUFFaEQsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNaLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHFCQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDLEVBQUUsQ0FBQyxLQUFLLENB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