@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
95 lines • 12.8 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 { StackComponent } from "../../components/layouts/stack/stack.component";
import { ListNavigationBarComponent } from "../../components/list-widget/list-elements/list-navigation-bar/list-navigation-bar.component";
import { ListWidgetComponent } from "../../components/list-widget/list-widget.component";
import { WidgetSearchComponent } from "../../components/widget-search/widget-search.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 } from "../common/widget/providers";
export const drilldownWidget = {
[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,
properties: {
// these values reference other components in this structure
nodes: ["header", "loading", "search", "body"],
},
providers: {
// event proxy manages the transmission of events between widget and dashboard
[WellKnownProviders.EventProxy]: EVENT_PROXY,
},
},
// widget header
header: WIDGET_HEADER,
// this is the loading bar below the header
loading: WIDGET_LOADING,
// widget body
body: {
...WIDGET_BODY,
properties: {
...WIDGET_BODY.properties,
elementClass: "overflow-auto",
},
},
// retrieving the definitions for the body content nodes. the argument corresponds to the main content node key
...widgetBodyContentNodes("listWidget"),
search: {
id: "search",
componentType: WidgetSearchComponent.lateLoadKey,
},
...widgetBodyContentNodes("mainContent"),
mainContent: {
id: "mainContent",
componentType: StackComponent.lateLoadKey,
properties: {
// these values reference other components in this configuration
nodes: ["navigationBar", "listWidget"],
},
},
navigationBar: {
id: "navigationBar",
componentType: ListNavigationBarComponent.lateLoadKey,
},
listWidget: {
id: "listWidget",
componentType: ListWidgetComponent.lateLoadKey,
providers: {},
properties: {
elementClass: "w-100 p-3",
},
},
},
[PizzagnaLayer.Configuration]: {
[DEFAULT_PIZZAGNA_ROOT]: {
id: DEFAULT_PIZZAGNA_ROOT,
},
// default header configuration
header: {
properties: {
title: $localize `Empty Custom Widget`,
},
},
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJpbGxkb3duLXdpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvd2lkZ2V0LXR5cGVzL2RyaWxsZG93bi9kcmlsbGRvd24td2lkZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUN6RCxFQUFFO0FBQ0YsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsK0VBQStFO0FBQy9FLDhFQUE4RTtBQUM5RSw0REFBNEQ7QUFDNUQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSx1REFBdUQ7QUFDdkQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSw0RUFBNEU7QUFDNUUsK0VBQStFO0FBQy9FLDBFQUEwRTtBQUMxRSxpRkFBaUY7QUFDakYsNkVBQTZFO0FBQzdFLGlCQUFpQjtBQUVqQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEZBQThGLENBQUM7QUFDMUksT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFhLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsY0FBYyxHQUNqQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWM7SUFDdEMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDdkIsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO1lBQ3JCLEVBQUUsRUFBRSxxQkFBcUI7WUFDekIsMkZBQTJGO1lBQzNGLGFBQWEsRUFBRSxjQUFjLENBQUMsV0FBVztZQUN6QyxVQUFVLEVBQUU7Z0JBQ1IsNERBQTREO2dCQUM1RCxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUM7YUFDakQ7WUFDRCxTQUFTLEVBQUU7Z0JBQ1AsOEVBQThFO2dCQUM5RSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUFFLFdBQVc7YUFDL0M7U0FDSjtRQUNELGdCQUFnQjtRQUNoQixNQUFNLEVBQUUsYUFBYTtRQUNyQiwyQ0FBMkM7UUFDM0MsT0FBTyxFQUFFLGNBQWM7UUFDdkIsY0FBYztRQUNkLElBQUksRUFBRTtZQUNGLEdBQUcsV0FBVztZQUNkLFVBQVUsRUFBRTtnQkFDUixHQUFHLFdBQVcsQ0FBQyxVQUFVO2dCQUN6QixZQUFZLEVBQUUsZUFBZTthQUNoQztTQUNKO1FBQ0QsK0dBQStHO1FBQy9HLEdBQUcsc0JBQXNCLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLE1BQU0sRUFBRTtZQUNKLEVBQUUsRUFBRSxRQUFRO1lBQ1osYUFBYSxFQUFFLHFCQUFxQixDQUFDLFdBQVc7U0FDbkQ7UUFDRCxHQUFHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztRQUN4QyxXQUFXLEVBQUU7WUFDVCxFQUFFLEVBQUUsYUFBYTtZQUNqQixhQUFhLEVBQUUsY0FBYyxDQUFDLFdBQVc7WUFDekMsVUFBVSxFQUFFO2dCQUNSLGdFQUFnRTtnQkFDaEUsS0FBSyxFQUFFLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQzthQUN6QztTQUNKO1FBQ0QsYUFBYSxFQUFFO1lBQ1gsRUFBRSxFQUFFLGVBQWU7WUFDbkIsYUFBYSxFQUFFLDBCQUEwQixDQUFDLFdBQVc7U0FDeEQ7UUFDRCxVQUFVLEVBQUU7WUFDUixFQUFFLEVBQUUsWUFBWTtZQUNoQixhQUFhLEVBQUUsbUJBQW1CLENBQUMsV0FBVztZQUM5QyxTQUFTLEVBQUUsRUFBRTtZQUNiLFVBQVUsRUFBRTtnQkFDUixZQUFZLEVBQUUsV0FBVzthQUM1QjtTQUNKO0tBQ0o7SUFDRCxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUMzQixDQUFDLHFCQUFxQixDQUFDLEVBQUU7WUFDckIsRUFBRSxFQUFFLHFCQUFxQjtTQUM1QjtRQUNELCtCQUErQjtRQUMvQixNQUFNLEVBQUU7WUFDSixVQUFVLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLFNBQVMsQ0FBQSxxQkFBcUI7YUFDeEM7U0FDSjtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIMKpIDIwMjIgU29sYXJXaW5kcyBXb3JsZHdpZGUsIExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyAgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG9cbi8vICBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZVxuLy8gIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vclxuLy8gIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyAgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vICBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vICBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyAgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vICBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyAgVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgeyBTdGFja0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2xheW91dHMvc3RhY2svc3RhY2suY29tcG9uZW50XCI7XG5pbXBvcnQgeyBMaXN0TmF2aWdhdGlvbkJhckNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2xpc3Qtd2lkZ2V0L2xpc3QtZWxlbWVudHMvbGlzdC1uYXZpZ2F0aW9uLWJhci9saXN0LW5hdmlnYXRpb24tYmFyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTGlzdFdpZGdldENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2xpc3Qtd2lkZ2V0L2xpc3Qtd2lkZ2V0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgV2lkZ2V0U2VhcmNoQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvd2lkZ2V0LXNlYXJjaC93aWRnZXQtc2VhcmNoLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgREVGQVVMVF9QSVpaQUdOQV9ST09UIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3R5cGVzXCI7XG5pbXBvcnQgeyBJUGl6emFnbmEsIFBpenphZ25hTGF5ZXIsIFdlbGxLbm93blByb3ZpZGVycyB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHtcbiAgICB3aWRnZXRCb2R5Q29udGVudE5vZGVzLFxuICAgIFdJREdFVF9CT0RZLFxuICAgIFdJREdFVF9IRUFERVIsXG4gICAgV0lER0VUX0xPQURJTkcsXG59IGZyb20gXCIuLi9jb21tb24vd2lkZ2V0L2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IEVWRU5UX1BST1hZIH0gZnJvbSBcIi4uL2NvbW1vbi93aWRnZXQvcHJvdmlkZXJzXCI7XG5cbmV4cG9ydCBjb25zdCBkcmlsbGRvd25XaWRnZXQ6IElQaXp6YWduYSA9IHtcbiAgICBbUGl6emFnbmFMYXllci5TdHJ1Y3R1cmVdOiB7XG4gICAgICAgIFtERUZBVUxUX1BJWlpBR05BX1JPT1RdOiB7XG4gICAgICAgICAgICBpZDogREVGQVVMVF9QSVpaQUdOQV9ST09ULFxuICAgICAgICAgICAgLy8gYmFzZSBsYXlvdXQgb2YgdGhlIHdpZGdldCAtIGFsbCBjb21wb25lbnRzIHJlZmVyZW5jZWQgaGVyZWluIHdpbGwgYmUgc3RhY2tlZCBpbiBhIGNvbHVtblxuICAgICAgICAgICAgY29tcG9uZW50VHlwZTogU3RhY2tDb21wb25lbnQubGF0ZUxvYWRLZXksXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgLy8gdGhlc2UgdmFsdWVzIHJlZmVyZW5jZSBvdGhlciBjb21wb25lbnRzIGluIHRoaXMgc3RydWN0dXJlXG4gICAgICAgICAgICAgICAgbm9kZXM6IFtcImhlYWRlclwiLCBcImxvYWRpbmdcIiwgXCJzZWFyY2hcIiwgXCJib2R5XCJdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHByb3ZpZGVyczoge1xuICAgICAgICAgICAgICAgIC8vIGV2ZW50IHByb3h5IG1hbmFnZXMgdGhlIHRyYW5zbWlzc2lvbiBvZiBldmVudHMgYmV0d2VlbiB3aWRnZXQgYW5kIGRhc2hib2FyZFxuICAgICAgICAgICAgICAgIFtXZWxsS25vd25Qcm92aWRlcnMuRXZlbnRQcm94eV06IEVWRU5UX1BST1hZLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gd2lkZ2V0IGhlYWRlclxuICAgICAgICBoZWFkZXI6IFdJREdFVF9IRUFERVIsXG4gICAgICAgIC8vIHRoaXMgaXMgdGhlIGxvYWRpbmcgYmFyIGJlbG93IHRoZSBoZWFkZXJcbiAgICAgICAgbG9hZGluZzogV0lER0VUX0xPQURJTkcsXG4gICAgICAgIC8vIHdpZGdldCBib2R5XG4gICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgIC4uLldJREdFVF9CT0RZLFxuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgIC4uLldJREdFVF9CT0RZLnByb3BlcnRpZXMsXG4gICAgICAgICAgICAgICAgZWxlbWVudENsYXNzOiBcIm92ZXJmbG93LWF1dG9cIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC8vIHJldHJpZXZpbmcgdGhlIGRlZmluaXRpb25zIGZvciB0aGUgYm9keSBjb250ZW50IG5vZGVzLiB0aGUgYXJndW1lbnQgY29ycmVzcG9uZHMgdG8gdGhlIG1haW4gY29udGVudCBub2RlIGtleVxuICAgICAgICAuLi53aWRnZXRCb2R5Q29udGVudE5vZGVzKFwibGlzdFdpZGdldFwiKSxcbiAgICAgICAgc2VhcmNoOiB7XG4gICAgICAgICAgICBpZDogXCJzZWFyY2hcIixcbiAgICAgICAgICAgIGNvbXBvbmVudFR5cGU6IFdpZGdldFNlYXJjaENvbXBvbmVudC5sYXRlTG9hZEtleSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4ud2lkZ2V0Qm9keUNvbnRlbnROb2RlcyhcIm1haW5Db250ZW50XCIpLFxuICAgICAgICBtYWluQ29udGVudDoge1xuICAgICAgICAgICAgaWQ6IFwibWFpbkNvbnRlbnRcIixcbiAgICAgICAgICAgIGNvbXBvbmVudFR5cGU6IFN0YWNrQ29tcG9uZW50LmxhdGVMb2FkS2V5LFxuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgIC8vIHRoZXNlIHZhbHVlcyByZWZlcmVuY2Ugb3RoZXIgY29tcG9uZW50cyBpbiB0aGlzIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgICAgICBub2RlczogW1wibmF2aWdhdGlvbkJhclwiLCBcImxpc3RXaWRnZXRcIl0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBuYXZpZ2F0aW9uQmFyOiB7XG4gICAgICAgICAgICBpZDogXCJuYXZpZ2F0aW9uQmFyXCIsXG4gICAgICAgICAgICBjb21wb25lbnRUeXBlOiBMaXN0TmF2aWdhdGlvbkJhckNvbXBvbmVudC5sYXRlTG9hZEtleSxcbiAgICAgICAgfSxcbiAgICAgICAgbGlzdFdpZGdldDoge1xuICAgICAgICAgICAgaWQ6IFwibGlzdFdpZGdldFwiLFxuICAgICAgICAgICAgY29tcG9uZW50VHlwZTogTGlzdFdpZGdldENvbXBvbmVudC5sYXRlTG9hZEtleSxcbiAgICAgICAgICAgIHByb3ZpZGVyczoge30sXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgZWxlbWVudENsYXNzOiBcInctMTAwIHAtM1wiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIFtQaXp6YWduYUxheWVyLkNvbmZpZ3VyYXRpb25dOiB7XG4gICAgICAgIFtERUZBVUxUX1BJWlpBR05BX1JPT1RdOiB7XG4gICAgICAgICAgICBpZDogREVGQVVMVF9QSVpaQUdOQV9ST09ULFxuICAgICAgICB9LFxuICAgICAgICAvLyBkZWZhdWx0IGhlYWRlciBjb25maWd1cmF0aW9uXG4gICAgICAgIGhlYWRlcjoge1xuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAkbG9jYWxpemVgRW1wdHkgQ3VzdG9tIFdpZGdldGAsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuIl19