UNPKG

@nova-ui/dashboards

Version:

Nova Dashboards is a framework designed to provide feature developers with a common solution for presenting data coming from various sources within a single view, as well as a set of predefined widget visualizations that are 100% configuration-driven and

33 lines 6.03 kB
// © 2022 SolarWinds Worldwide, LLC. All rights reserved. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to // deal in the Software without restriction, including without limitation the // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or // sell copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. import get from "lodash/get"; export const fieldMapper = (origin, properties) => { const chartSeriesDataFieldId = properties?.chartSeriesDataFieldId || "data[0]"; let metric = origin[0]; if (properties?.activeMetricId) { metric = origin.find((entry) => entry.id === properties?.activeMetricId); if (!metric) { console.warn(`No metric with id: ${properties?.activeMetricId} found. Taking first available.`); } } return get(metric, chartSeriesDataFieldId); }; fieldMapper.aggregatorType = "fieldMapper"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mdW5jdGlvbnMvcHJvcG9ydGlvbmFsLWFnZ3JlZ2F0b3JzL2ZpZWxkLW1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7QUFDekQsRUFBRTtBQUNGLCtFQUErRTtBQUMvRSw0RUFBNEU7QUFDNUUsOEVBQThFO0FBQzlFLCtFQUErRTtBQUMvRSw4RUFBOEU7QUFDOUUsNERBQTREO0FBQzVELEVBQUU7QUFDRiw2RUFBNkU7QUFDN0UsdURBQXVEO0FBQ3ZELEVBQUU7QUFDRiw2RUFBNkU7QUFDN0UsNEVBQTRFO0FBQzVFLCtFQUErRTtBQUMvRSwwRUFBMEU7QUFDMUUsaUZBQWlGO0FBQ2pGLDZFQUE2RTtBQUM3RSxpQkFBaUI7QUFFakIsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBYTdCLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBOEIsQ0FDbEQsTUFBcUMsRUFDckMsVUFBNkMsRUFDMUMsRUFBRTtJQUNMLE1BQU0sc0JBQXNCLEdBQ3hCLFVBQVUsRUFBRSxzQkFBc0IsSUFBSSxTQUFTLENBQUM7SUFFcEQsSUFBSSxNQUFNLEdBQVEsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLElBQUksVUFBVSxFQUFFLGNBQWMsRUFBRTtRQUM1QixNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDaEIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssVUFBVSxFQUFFLGNBQWMsQ0FDckQsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPLENBQUMsSUFBSSxDQUNSLHNCQUFzQixVQUFVLEVBQUUsY0FBYyxpQ0FBaUMsQ0FDcEYsQ0FBQztTQUNMO0tBQ0o7SUFFRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUM7QUFFRixXQUFXLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIMKpIDIwMjIgU29sYXJXaW5kcyBXb3JsZHdpZGUsIExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyAgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG9cbi8vICBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZVxuLy8gIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vclxuLy8gIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyAgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vICBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vICBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyAgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vICBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyAgVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgZ2V0IGZyb20gXCJsb2Rhc2gvZ2V0XCI7XG5cbmltcG9ydCB7XG4gICAgSVByb3BvcnRpb25hbEFnZ3JlZ2F0b3JGbixcbiAgICBJUHJvcG9ydGlvbmFsQWdncmVnYXRvck9yaWdpbixcbiAgICBJUHJvcG9ydGlvbmFsRG9udXRDb250ZW50QWdncmVnYXRvclByb3BlcnRpZXMsXG59IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZpZWxkTWFwcGVyQWdncmVnYXRvclByb3BlcnRpZXNcbiAgICBleHRlbmRzIElQcm9wb3J0aW9uYWxEb251dENvbnRlbnRBZ2dyZWdhdG9yUHJvcGVydGllcyB7XG4gICAgY2hhcnRTZXJpZXNEYXRhRmllbGRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGZpZWxkTWFwcGVyOiBJUHJvcG9ydGlvbmFsQWdncmVnYXRvckZuID0gKFxuICAgIG9yaWdpbjogSVByb3BvcnRpb25hbEFnZ3JlZ2F0b3JPcmlnaW4sXG4gICAgcHJvcGVydGllcz86IElGaWVsZE1hcHBlckFnZ3JlZ2F0b3JQcm9wZXJ0aWVzXG4pOiBhbnkgPT4ge1xuICAgIGNvbnN0IGNoYXJ0U2VyaWVzRGF0YUZpZWxkSWQgPVxuICAgICAgICBwcm9wZXJ0aWVzPy5jaGFydFNlcmllc0RhdGFGaWVsZElkIHx8IFwiZGF0YVswXVwiO1xuXG4gICAgbGV0IG1ldHJpYzogYW55ID0gb3JpZ2luWzBdO1xuICAgIGlmIChwcm9wZXJ0aWVzPy5hY3RpdmVNZXRyaWNJZCkge1xuICAgICAgICBtZXRyaWMgPSBvcmlnaW4uZmluZChcbiAgICAgICAgICAgIChlbnRyeSkgPT4gZW50cnkuaWQgPT09IHByb3BlcnRpZXM/LmFjdGl2ZU1ldHJpY0lkXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFtZXRyaWMpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICBgTm8gbWV0cmljIHdpdGggaWQ6ICR7cHJvcGVydGllcz8uYWN0aXZlTWV0cmljSWR9IGZvdW5kLiBUYWtpbmcgZmlyc3QgYXZhaWxhYmxlLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZ2V0KG1ldHJpYywgY2hhcnRTZXJpZXNEYXRhRmllbGRJZCk7XG59O1xuXG5maWVsZE1hcHBlci5hZ2dyZWdhdG9yVHlwZSA9IFwiZmllbGRNYXBwZXJcIjtcbiJdfQ==