@gpa-gemstone/react-graph
Version:
Interactive UI Components for GPA products
94 lines • 7.92 kB
JavaScript
"use strict";
// ******************************************************************************************************
// LineLegend.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.
//
// ******************************************************************************************************
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 LineLegend(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);
}, style: { width: '100%', display: 'flex', alignItems: 'center', marginRight: '5px', height: '100%' } },
(props.lineStyle === '-' ?
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)
} }) :
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)
} })),
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))));
}
exports.default = LineLegend;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZUxlZ2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaW5lTGVnZW5kLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLHlCQUF5QjtBQUN6QixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBRS9CLHlEQUFvRDtBQUNwRCxpREFBc0U7QUFDdEUsbUNBQXFDO0FBVXJDLFNBQVMsVUFBVSxDQUFDLEtBQWE7O0lBQzdCLElBQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQXdCLElBQUksQ0FBQyxDQUFDO0lBQ3pELElBQUEsS0FBQSxPQUFvQixLQUFLLENBQUMsUUFBUSxDQUFTLE1BQUEsS0FBSyxDQUFDLEtBQUssbUNBQUksRUFBRSxDQUFDLElBQUEsRUFBNUQsS0FBSyxRQUFBLEVBQUUsUUFBUSxRQUE2QyxDQUFDO0lBQ3BFLElBQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsNkJBQWEsQ0FBQyxDQUFDO0lBRWhELEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDWixRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxxQkFBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0QsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUduQyxPQUFPLENBQ0gsNkJBQUssS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsWUFBWTtRQUMvRSw2QkFDSSxPQUFPLEVBQUUsVUFBQyxHQUFHO2dCQUNULElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsY0FBYyxJQUFJLElBQUk7b0JBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBOztvQkFDdEYsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUN6QyxDQUFDLEVBQ0QsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO1lBRWxHLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDdkIsNkJBQ0ksS0FBSyxFQUFFO3dCQUNILEtBQUssRUFBRSxNQUFNO3dCQUNiLE1BQU0sRUFBRSxDQUFDO3dCQUNULFNBQVMsRUFBRSxvQkFBYSxLQUFLLENBQUMsS0FBSyxDQUFFO3dCQUNyQyxXQUFXLEVBQUUscUJBQWMsS0FBSyxDQUFDLEtBQUssQ0FBRTt3QkFDeEMsWUFBWSxFQUFFLG9CQUFhLEtBQUssQ0FBQyxLQUFLLENBQUU7d0JBQ3hDLFVBQVUsRUFBRSxxQkFBYyxLQUFLLENBQUMsS0FBSyxDQUFFO3dCQUN2QyxRQUFRLEVBQUUsUUFBUTt3QkFDbEIsV0FBVyxFQUFFLEtBQUs7d0JBQ2xCLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO3FCQUNyQyxHQUNILENBQUMsQ0FBQztnQkFDSiw2QkFDSSxLQUFLLEVBQUU7d0JBQ0gsS0FBSyxFQUFFLE1BQU07d0JBQ2IsTUFBTSxFQUFFLEtBQUs7d0JBQ2IsU0FBUyxFQUFFLE1BQU07d0JBQ2pCLFdBQVcsRUFBRSxvQkFBYSxLQUFLLENBQUMsS0FBSyxDQUFFO3dCQUN2QyxZQUFZLEVBQUUsTUFBTTt3QkFDcEIsVUFBVSxFQUFFLG9CQUFhLEtBQUssQ0FBQyxLQUFLLENBQUU7d0JBQ3RDLFFBQVEsRUFBRSxRQUFRO3dCQUNsQixXQUFXLEVBQUUsS0FBSzt3QkFDbEIsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7cUJBQ3JDLEdBQ0gsQ0FDTDtZQUNELCtCQUNJLEtBQUssRUFBRTtvQkFDSCxVQUFVLEVBQUUsbUJBQVU7b0JBQ3RCLFVBQVUsRUFBRSxHQUFHO29CQUNmLE9BQU8sRUFBRSxjQUFjO29CQUN2QixNQUFNLEVBQUUsTUFBTTtvQkFDZCxVQUFVLEVBQUUsQ0FBQztvQkFDYixRQUFRLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixHQUFHLElBQUk7b0JBQ3pDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO2lCQUMzRCxJQUVBLEtBQUssQ0FDRixDQUNOLENBQ0osQ0FDVCxDQUFDO0FBQ04sQ0FBQztBQUVELGtCQUFlLFVBQVUsQ0FBQyJ9