@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
73 lines • 10.6 kB
JavaScript
// © 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 { EmbeddedContentComponent } from "../../components/embedded-content/embedded-content.component";
import { StackComponent } from "../../components/layouts/stack/stack.component";
import { DEFAULT_PIZZAGNA_ROOT } from "../../services/types";
import { PizzagnaLayer, WellKnownProviders } from "../../types";
import { widgetBodyContentNodes, WIDGET_BODY, WIDGET_HEADER, WIDGET_LOADING, } from "../common/widget/components";
import { EVENT_PROXY, refresher } from "../common/widget/providers";
export const embeddedContentWidget = {
[PizzagnaLayer.Structure]: {
[DEFAULT_PIZZAGNA_ROOT]: {
id: DEFAULT_PIZZAGNA_ROOT,
// base layout of the widget - all components referenced herein will be stacked in a column
componentType: StackComponent.lateLoadKey,
providers: {
// When enabled, this provider emits the REFRESH event on the pizzagna event bus every X seconds
[WellKnownProviders.Refresher]: refresher(),
// event proxy manages the transmission of events between widget and dashboard
[WellKnownProviders.EventProxy]: EVENT_PROXY,
},
properties: {
nodes: ["header", "loading", "body"],
},
},
// widget header
header: WIDGET_HEADER,
// this is the loading bar below the header
loading: WIDGET_LOADING,
// widget body
body: WIDGET_BODY,
/**
* Retrieving definitions for the body content nodes
* ---
* The first argument corresponds to the main content node key.
* The second argument is the id of the adapter responsible for activating fallback content in case of an error.
*/
...widgetBodyContentNodes("mainContent"),
// the main content node specifying a component that manages layout of the KPI tiles in a CSS grid
mainContent: {
id: "mainContent",
componentType: EmbeddedContentComponent.lateLoadKey,
properties: {
elementClass: "d-flex w-100 justify-content-center",
},
},
},
[PizzagnaLayer.Configuration]: {
// default header configuration
header: {
properties: {
title: $localize `Empty Embedded Content Widget`,
},
},
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkZWQtY29udGVudC13aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3dpZGdldC10eXBlcy9lbWJlZGRlZC1jb250ZW50L2VtYmVkZGVkLWNvbnRlbnQtd2lkZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUN6RCxFQUFFO0FBQ0YsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsK0VBQStFO0FBQy9FLDhFQUE4RTtBQUM5RSw0REFBNEQ7QUFDNUQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSx1REFBdUQ7QUFDdkQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSw0RUFBNEU7QUFDNUUsK0VBQStFO0FBQy9FLDBFQUEwRTtBQUMxRSxpRkFBaUY7QUFDakYsNkVBQTZFO0FBQzdFLGlCQUFpQjtBQUVqQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsY0FBYyxHQUNqQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDakMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDdkIsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO1lBQ3JCLEVBQUUsRUFBRSxxQkFBcUI7WUFDekIsMkZBQTJGO1lBQzNGLGFBQWEsRUFBRSxjQUFjLENBQUMsV0FBVztZQUN6QyxTQUFTLEVBQUU7Z0JBQ1AsZ0dBQWdHO2dCQUNoRyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLFNBQVMsRUFBRTtnQkFDM0MsOEVBQThFO2dCQUM5RSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUFFLFdBQVc7YUFDL0M7WUFDRCxVQUFVLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUM7YUFDdkM7U0FDSjtRQUNELGdCQUFnQjtRQUNoQixNQUFNLEVBQUUsYUFBYTtRQUNyQiwyQ0FBMkM7UUFDM0MsT0FBTyxFQUFFLGNBQWM7UUFDdkIsY0FBYztRQUNkLElBQUksRUFBRSxXQUFXO1FBRWpCOzs7OztXQUtHO1FBQ0gsR0FBRyxzQkFBc0IsQ0FBQyxhQUFhLENBQUM7UUFFeEMsa0dBQWtHO1FBQ2xHLFdBQVcsRUFBRTtZQUNULEVBQUUsRUFBRSxhQUFhO1lBQ2pCLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxXQUFXO1lBQ25ELFVBQVUsRUFBRTtnQkFDUixZQUFZLEVBQUUscUNBQXFDO2FBQ3REO1NBQ0o7S0FDSjtJQUNELENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1FBQzNCLCtCQUErQjtRQUMvQixNQUFNLEVBQUU7WUFDSixVQUFVLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLFNBQVMsQ0FBQSwrQkFBK0I7YUFDbEQ7U0FDSjtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIMKpIDIwMjIgU29sYXJXaW5kcyBXb3JsZHdpZGUsIExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyAgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG9cbi8vICBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZVxuLy8gIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vclxuLy8gIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyAgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vICBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vICBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyAgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vICBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyAgVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgeyBFbWJlZGRlZENvbnRlbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9lbWJlZGRlZC1jb250ZW50L2VtYmVkZGVkLWNvbnRlbnQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdGFja0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2xheW91dHMvc3RhY2svc3RhY2suY29tcG9uZW50XCI7XG5pbXBvcnQgeyBERUZBVUxUX1BJWlpBR05BX1JPT1QgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdHlwZXNcIjtcbmltcG9ydCB7IFBpenphZ25hTGF5ZXIsIFdlbGxLbm93blByb3ZpZGVycyB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHtcbiAgICB3aWRnZXRCb2R5Q29udGVudE5vZGVzLFxuICAgIFdJREdFVF9CT0RZLFxuICAgIFdJREdFVF9IRUFERVIsXG4gICAgV0lER0VUX0xPQURJTkcsXG59IGZyb20gXCIuLi9jb21tb24vd2lkZ2V0L2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IEVWRU5UX1BST1hZLCByZWZyZXNoZXIgfSBmcm9tIFwiLi4vY29tbW9uL3dpZGdldC9wcm92aWRlcnNcIjtcblxuZXhwb3J0IGNvbnN0IGVtYmVkZGVkQ29udGVudFdpZGdldCA9IHtcbiAgICBbUGl6emFnbmFMYXllci5TdHJ1Y3R1cmVdOiB7XG4gICAgICAgIFtERUZBVUxUX1BJWlpBR05BX1JPT1RdOiB7XG4gICAgICAgICAgICBpZDogREVGQVVMVF9QSVpaQUdOQV9ST09ULFxuICAgICAgICAgICAgLy8gYmFzZSBsYXlvdXQgb2YgdGhlIHdpZGdldCAtIGFsbCBjb21wb25lbnRzIHJlZmVyZW5jZWQgaGVyZWluIHdpbGwgYmUgc3RhY2tlZCBpbiBhIGNvbHVtblxuICAgICAgICAgICAgY29tcG9uZW50VHlwZTogU3RhY2tDb21wb25lbnQubGF0ZUxvYWRLZXksXG4gICAgICAgICAgICBwcm92aWRlcnM6IHtcbiAgICAgICAgICAgICAgICAvLyBXaGVuIGVuYWJsZWQsIHRoaXMgcHJvdmlkZXIgZW1pdHMgdGhlIFJFRlJFU0ggZXZlbnQgb24gdGhlIHBpenphZ25hIGV2ZW50IGJ1cyBldmVyeSBYIHNlY29uZHNcbiAgICAgICAgICAgICAgICBbV2VsbEtub3duUHJvdmlkZXJzLlJlZnJlc2hlcl06IHJlZnJlc2hlcigpLFxuICAgICAgICAgICAgICAgIC8vIGV2ZW50IHByb3h5IG1hbmFnZXMgdGhlIHRyYW5zbWlzc2lvbiBvZiBldmVudHMgYmV0d2VlbiB3aWRnZXQgYW5kIGRhc2hib2FyZFxuICAgICAgICAgICAgICAgIFtXZWxsS25vd25Qcm92aWRlcnMuRXZlbnRQcm94eV06IEVWRU5UX1BST1hZLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICBub2RlczogW1wiaGVhZGVyXCIsIFwibG9hZGluZ1wiLCBcImJvZHlcIl0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICAvLyB3aWRnZXQgaGVhZGVyXG4gICAgICAgIGhlYWRlcjogV0lER0VUX0hFQURFUixcbiAgICAgICAgLy8gdGhpcyBpcyB0aGUgbG9hZGluZyBiYXIgYmVsb3cgdGhlIGhlYWRlclxuICAgICAgICBsb2FkaW5nOiBXSURHRVRfTE9BRElORyxcbiAgICAgICAgLy8gd2lkZ2V0IGJvZHlcbiAgICAgICAgYm9keTogV0lER0VUX0JPRFksXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFJldHJpZXZpbmcgZGVmaW5pdGlvbnMgZm9yIHRoZSBib2R5IGNvbnRlbnQgbm9kZXNcbiAgICAgICAgICogLS0tXG4gICAgICAgICAqIFRoZSBmaXJzdCBhcmd1bWVudCBjb3JyZXNwb25kcyB0byB0aGUgbWFpbiBjb250ZW50IG5vZGUga2V5LlxuICAgICAgICAgKiBUaGUgc2Vjb25kIGFyZ3VtZW50IGlzIHRoZSBpZCBvZiB0aGUgYWRhcHRlciByZXNwb25zaWJsZSBmb3IgYWN0aXZhdGluZyBmYWxsYmFjayBjb250ZW50IGluIGNhc2Ugb2YgYW4gZXJyb3IuXG4gICAgICAgICAqL1xuICAgICAgICAuLi53aWRnZXRCb2R5Q29udGVudE5vZGVzKFwibWFpbkNvbnRlbnRcIiksXG5cbiAgICAgICAgLy8gdGhlIG1haW4gY29udGVudCBub2RlIHNwZWNpZnlpbmcgYSBjb21wb25lbnQgdGhhdCBtYW5hZ2VzIGxheW91dCBvZiB0aGUgS1BJIHRpbGVzIGluIGEgQ1NTIGdyaWRcbiAgICAgICAgbWFpbkNvbnRlbnQ6IHtcbiAgICAgICAgICAgIGlkOiBcIm1haW5Db250ZW50XCIsXG4gICAgICAgICAgICBjb21wb25lbnRUeXBlOiBFbWJlZGRlZENvbnRlbnRDb21wb25lbnQubGF0ZUxvYWRLZXksXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgZWxlbWVudENsYXNzOiBcImQtZmxleCB3LTEwMCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgW1BpenphZ25hTGF5ZXIuQ29uZmlndXJhdGlvbl06IHtcbiAgICAgICAgLy8gZGVmYXVsdCBoZWFkZXIgY29uZmlndXJhdGlvblxuICAgICAgICBoZWFkZXI6IHtcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJGxvY2FsaXplYEVtcHR5IEVtYmVkZGVkIENvbnRlbnQgV2lkZ2V0YCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfSxcbn07XG4iXX0=