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

72 lines 10.6 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 { __decorate, __metadata, __param } from "tslib"; import { Inject } from "@angular/core"; import clone from "lodash/clone"; import { EventBus, } from "@nova-ui/bits"; import { DataSourceAdapter } from "./data-source-adapter"; import { PizzagnaService } from "../../pizzagna/services/pizzagna.service"; import { DATA_SOURCE, PIZZAGNA_EVENT_BUS } from "../../types"; let TimeseriesDataSourceAdapter = class TimeseriesDataSourceAdapter extends DataSourceAdapter { constructor(eventBus, dataSource, pizzagnaService) { super(eventBus, dataSource, pizzagnaService); this.seriesIndex = []; } updateConfiguration(properties) { this.seriesIndex = clone(properties.series); super.updateConfiguration(properties); } processOutput(value) { if (!value) { return value; } return { ...value, series: this.buildSeriesSet(value?.series), }; } /** * Builds the series set by mapping the series selected in the configurator to the data received from the data source. * @param data */ buildSeriesSet(data) { if (!data) { return []; } // displaying only series which are in widget config return data .filter((series) => this.seriesIndex.find((s) => s.selectedSeriesId === series.id)) .map((series) => ({ id: series.id, data: series.data, link: series.link, secondaryLink: series.secondaryLink, legendDescriptionPrimary: this.seriesIndex.find((s) => s.selectedSeriesId === series.id)?.label, legendDescriptionSecondary: series.description, })); } }; TimeseriesDataSourceAdapter = __decorate([ __param(0, Inject(PIZZAGNA_EVENT_BUS)), __param(1, Inject(DATA_SOURCE)), __metadata("design:paramtypes", [EventBus, Object, PizzagnaService]) ], TimeseriesDataSourceAdapter); export { TimeseriesDataSourceAdapter }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXNlcmllcy1kYXRhLXNvdXJjZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3Byb3ZpZGVycy90aW1lc2VyaWVzLWRhdGEtc291cmNlLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBQ3pELEVBQUU7QUFDRiwrRUFBK0U7QUFDL0UsNEVBQTRFO0FBQzVFLDhFQUE4RTtBQUM5RSwrRUFBK0U7QUFDL0UsOEVBQThFO0FBQzlFLDREQUE0RDtBQUM1RCxFQUFFO0FBQ0YsNkVBQTZFO0FBQzdFLHVEQUF1RDtBQUN2RCxFQUFFO0FBQ0YsNkVBQTZFO0FBQzdFLDRFQUE0RTtBQUM1RSwrRUFBK0U7QUFDL0UsMEVBQTBFO0FBQzFFLGlGQUFpRjtBQUNqRiw2RUFBNkU7QUFDN0UsaUJBQWlCOztBQUVqQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUVqQyxPQUFPLEVBQ0gsUUFBUSxHQUlYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBTTlELElBQWEsMkJBQTJCLEdBQXhDLE1BQWEsMkJBQTRCLFNBQVEsaUJBQWlCO0lBRzlELFlBQ2dDLFFBQTBCLEVBQ2pDLFVBQXVCLEVBQzVDLGVBQWdDO1FBRWhDLEtBQUssQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBUHpDLGdCQUFXLEdBQThCLEVBQUUsQ0FBQztJQVFwRCxDQUFDO0lBRU0sbUJBQW1CLENBQ3RCLFVBQXFEO1FBRXJELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1QyxLQUFLLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVTLGFBQWEsQ0FBQyxLQUF3QjtRQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPO1lBQ0gsR0FBRyxLQUFLO1lBQ1IsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztTQUM3QyxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxJQUE2QjtRQUNoRCxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUVELG9EQUFvRDtRQUNwRCxPQUFPLElBQUk7YUFDTixNQUFNLENBQUMsQ0FBQyxNQUE2QixFQUFFLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsS0FBSyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQ2pFO2FBQ0EsR0FBRyxDQUFDLENBQUMsTUFBNkIsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDYixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYTtZQUNuQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDM0MsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsS0FBSyxNQUFNLENBQUMsRUFBRSxDQUMxQyxFQUFFLEtBQUs7WUFDUiwwQkFBMEIsRUFBRSxNQUFNLENBQUMsV0FBVztTQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7Q0FDSixDQUFBO0FBdERZLDJCQUEyQjtJQUkvQixXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzFCLFdBQUEsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO3FDQURrQixRQUFRLFVBRTdCLGVBQWU7R0FOM0IsMkJBQTJCLENBc0R2QyIsInNvdXJjZXNDb250ZW50IjpbIi8vIMKpIDIwMjIgU29sYXJXaW5kcyBXb3JsZHdpZGUsIExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyAgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG9cbi8vICBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZVxuLy8gIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vclxuLy8gIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyAgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vICBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vICBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyAgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vICBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyAgVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgeyBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IGNsb25lIGZyb20gXCJsb2Rhc2gvY2xvbmVcIjtcblxuaW1wb3J0IHtcbiAgICBFdmVudEJ1cyxcbiAgICBJRGF0YVNvdXJjZSxcbiAgICBJRXZlbnQsXG4gICAgSUZpbHRlcmluZ091dHB1dHMsXG59IGZyb20gXCJAbm92YS11aS9iaXRzXCI7XG5cbmltcG9ydCB7IERhdGFTb3VyY2VBZGFwdGVyIH0gZnJvbSBcIi4vZGF0YS1zb3VyY2UtYWRhcHRlclwiO1xuaW1wb3J0IHsgSVRpbWVzZXJpZXNEYXRhU291cmNlQWRhcHRlckNvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgUGl6emFnbmFTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3BpenphZ25hL3NlcnZpY2VzL3BpenphZ25hLnNlcnZpY2VcIjtcbmltcG9ydCB7IERBVEFfU09VUkNFLCBQSVpaQUdOQV9FVkVOVF9CVVMgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7XG4gICAgSVRpbWVzZXJpZXNXaWRnZXREYXRhLFxuICAgIElUaW1lc2VyaWVzV2lkZ2V0U2VyaWVzLFxufSBmcm9tIFwiLi4vdGltZXNlcmllcy13aWRnZXQvdHlwZXNcIjtcblxuZXhwb3J0IGNsYXNzIFRpbWVzZXJpZXNEYXRhU291cmNlQWRhcHRlciBleHRlbmRzIERhdGFTb3VyY2VBZGFwdGVyIHtcbiAgICBwcml2YXRlIHNlcmllc0luZGV4OiBJVGltZXNlcmllc1dpZGdldFNlcmllc1tdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChQSVpaQUdOQV9FVkVOVF9CVVMpIGV2ZW50QnVzOiBFdmVudEJ1czxJRXZlbnQ+LFxuICAgICAgICBASW5qZWN0KERBVEFfU09VUkNFKSBkYXRhU291cmNlOiBJRGF0YVNvdXJjZSxcbiAgICAgICAgcGl6emFnbmFTZXJ2aWNlOiBQaXp6YWduYVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZXZlbnRCdXMsIGRhdGFTb3VyY2UsIHBpenphZ25hU2VydmljZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUNvbmZpZ3VyYXRpb24oXG4gICAgICAgIHByb3BlcnRpZXM6IElUaW1lc2VyaWVzRGF0YVNvdXJjZUFkYXB0ZXJDb25maWd1cmF0aW9uXG4gICAgKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VyaWVzSW5kZXggPSBjbG9uZShwcm9wZXJ0aWVzLnNlcmllcyk7XG5cbiAgICAgICAgc3VwZXIudXBkYXRlQ29uZmlndXJhdGlvbihwcm9wZXJ0aWVzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcHJvY2Vzc091dHB1dCh2YWx1ZTogSUZpbHRlcmluZ091dHB1dHMpOiBJRmlsdGVyaW5nT3V0cHV0cyB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udmFsdWUsXG4gICAgICAgICAgICBzZXJpZXM6IHRoaXMuYnVpbGRTZXJpZXNTZXQodmFsdWU/LnNlcmllcyksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnVpbGRzIHRoZSBzZXJpZXMgc2V0IGJ5IG1hcHBpbmcgdGhlIHNlcmllcyBzZWxlY3RlZCBpbiB0aGUgY29uZmlndXJhdG9yIHRvIHRoZSBkYXRhIHJlY2VpdmVkIGZyb20gdGhlIGRhdGEgc291cmNlLlxuICAgICAqIEBwYXJhbSBkYXRhXG4gICAgICovXG4gICAgcHJpdmF0ZSBidWlsZFNlcmllc1NldChkYXRhOiBJVGltZXNlcmllc1dpZGdldERhdGFbXSkge1xuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGRpc3BsYXlpbmcgb25seSBzZXJpZXMgd2hpY2ggYXJlIGluIHdpZGdldCBjb25maWdcbiAgICAgICAgcmV0dXJuIGRhdGFcbiAgICAgICAgICAgIC5maWx0ZXIoKHNlcmllczogSVRpbWVzZXJpZXNXaWRnZXREYXRhKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuc2VyaWVzSW5kZXguZmluZCgocykgPT4gcy5zZWxlY3RlZFNlcmllc0lkID09PSBzZXJpZXMuaWQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAubWFwKChzZXJpZXM6IElUaW1lc2VyaWVzV2lkZ2V0RGF0YSkgPT4gKHtcbiAgICAgICAgICAgICAgICBpZDogc2VyaWVzLmlkLFxuICAgICAgICAgICAgICAgIGRhdGE6IHNlcmllcy5kYXRhLFxuICAgICAgICAgICAgICAgIGxpbms6IHNlcmllcy5saW5rLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeUxpbms6IHNlcmllcy5zZWNvbmRhcnlMaW5rLFxuICAgICAgICAgICAgICAgIGxlZ2VuZERlc2NyaXB0aW9uUHJpbWFyeTogdGhpcy5zZXJpZXNJbmRleC5maW5kKFxuICAgICAgICAgICAgICAgICAgICAocykgPT4gcy5zZWxlY3RlZFNlcmllc0lkID09PSBzZXJpZXMuaWRcbiAgICAgICAgICAgICAgICApPy5sYWJlbCxcbiAgICAgICAgICAgICAgICBsZWdlbmREZXNjcmlwdGlvblNlY29uZGFyeTogc2VyaWVzLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgfSkpO1xuICAgIH1cbn1cbiJdfQ==