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

35 lines 5.69 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 sum from "lodash/sum"; /** * Receives all the metrics from the donut and gets their sum. */ export const sumAggregator = (origin, properties) => { const { activeMetricId } = properties || {}; if (activeMetricId) { const activeMetric = origin.find((entry) => entry.id === activeMetricId); if (activeMetric) { return activeMetric.data[0]; } } return sum(origin.map((entry) => entry.data[0])).toString(); }; sumAggregator.aggregatorType = "sumAggregator"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtLWFnZ3JlZ2F0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Z1bmN0aW9ucy9wcm9wb3J0aW9uYWwtYWdncmVnYXRvcnMvc3VtLWFnZ3JlZ2F0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBQ3pELEVBQUU7QUFDRiwrRUFBK0U7QUFDL0UsNEVBQTRFO0FBQzVFLDhFQUE4RTtBQUM5RSwrRUFBK0U7QUFDL0UsOEVBQThFO0FBQzlFLDREQUE0RDtBQUM1RCxFQUFFO0FBQ0YsNkVBQTZFO0FBQzdFLHVEQUF1RDtBQUN2RCxFQUFFO0FBQ0YsNkVBQTZFO0FBQzdFLDRFQUE0RTtBQUM1RSwrRUFBK0U7QUFDL0UsMEVBQTBFO0FBQzFFLGlGQUFpRjtBQUNqRiw2RUFBNkU7QUFDN0UsaUJBQWlCO0FBRWpCLE9BQU8sR0FBRyxNQUFNLFlBQVksQ0FBQztBQVE3Qjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBOEIsQ0FDcEQsTUFBcUMsRUFDckMsVUFBMEQsRUFDcEQsRUFBRTtJQUNSLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxVQUFVLElBQUksRUFBRSxDQUFDO0lBRTVDLElBQUksY0FBYyxFQUFFO1FBQ2hCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQzVCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLGNBQWMsQ0FDekMsQ0FBQztRQUNGLElBQUksWUFBWSxFQUFFO1lBQ2QsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9CO0tBQ0o7SUFFRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNoRSxDQUFDLENBQUM7QUFFRixhQUFhLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIMKpIDIwMjIgU29sYXJXaW5kcyBXb3JsZHdpZGUsIExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyAgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG9cbi8vICBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZVxuLy8gIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vclxuLy8gIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyAgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vICBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vICBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyAgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vICBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyAgVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgc3VtIGZyb20gXCJsb2Rhc2gvc3VtXCI7XG5cbmltcG9ydCB7XG4gICAgSVByb3BvcnRpb25hbEFnZ3JlZ2F0b3JGbixcbiAgICBJUHJvcG9ydGlvbmFsQWdncmVnYXRvck9yaWdpbixcbiAgICBJUHJvcG9ydGlvbmFsRG9udXRDb250ZW50QWdncmVnYXRvclByb3BlcnRpZXMsXG59IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICogUmVjZWl2ZXMgYWxsIHRoZSBtZXRyaWNzIGZyb20gdGhlIGRvbnV0IGFuZCBnZXRzIHRoZWlyIHN1bS5cbiAqL1xuZXhwb3J0IGNvbnN0IHN1bUFnZ3JlZ2F0b3I6IElQcm9wb3J0aW9uYWxBZ2dyZWdhdG9yRm4gPSAoXG4gICAgb3JpZ2luOiBJUHJvcG9ydGlvbmFsQWdncmVnYXRvck9yaWdpbixcbiAgICBwcm9wZXJ0aWVzPzogSVByb3BvcnRpb25hbERvbnV0Q29udGVudEFnZ3JlZ2F0b3JQcm9wZXJ0aWVzXG4pOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IHsgYWN0aXZlTWV0cmljSWQgfSA9IHByb3BlcnRpZXMgfHwge307XG5cbiAgICBpZiAoYWN0aXZlTWV0cmljSWQpIHtcbiAgICAgICAgY29uc3QgYWN0aXZlTWV0cmljID0gb3JpZ2luLmZpbmQoXG4gICAgICAgICAgICAoZW50cnkpID0+IGVudHJ5LmlkID09PSBhY3RpdmVNZXRyaWNJZFxuICAgICAgICApO1xuICAgICAgICBpZiAoYWN0aXZlTWV0cmljKSB7XG4gICAgICAgICAgICByZXR1cm4gYWN0aXZlTWV0cmljLmRhdGFbMF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3VtKG9yaWdpbi5tYXAoKGVudHJ5KSA9PiBlbnRyeS5kYXRhWzBdKSkudG9TdHJpbmcoKTtcbn07XG5cbnN1bUFnZ3JlZ2F0b3IuYWdncmVnYXRvclR5cGUgPSBcInN1bUFnZ3JlZ2F0b3JcIjtcbiJdfQ==