@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
76 lines • 3.56 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.
Object.defineProperty(exports, "__esModule", { value: true });
exports.WidgetComponent = void 0;
const tslib_1 = require("tslib");
const core_1 = require("@angular/core");
const types_1 = require("../../services/types");
const widget_configuration_service_1 = require("../../services/widget-configuration.service");
const widget_types_service_1 = require("../../services/widget-types.service");
let WidgetComponent = class WidgetComponent {
constructor(widgetConfigurationService, widgetTypesService) {
this.widgetConfigurationService = widgetConfigurationService;
this.widgetTypesService = widgetTypesService;
this.widgetChange = new core_1.EventEmitter();
this.rootNode = types_1.DEFAULT_PIZZAGNA_ROOT;
}
ngOnChanges(changes) {
if (changes.widget) {
const type = this.widget.type;
const previousType = changes.widget.previousValue &&
changes.widget.previousValue.type;
if (previousType !== type) {
const widgetType = this.widgetTypesService.getWidgetType(type, this.widget.version);
this.rootNode =
widgetType?.paths?.widget?.root || types_1.DEFAULT_PIZZAGNA_ROOT;
}
this.widgetConfigurationService.updateWidget(this.widget);
}
}
onPizzagnaChange(pizzagna) {
this.widgetChange.emit({
...this.widget,
pizzagna: pizzagna,
});
}
};
exports.WidgetComponent = WidgetComponent;
tslib_1.__decorate([
(0, core_1.Input)(),
tslib_1.__metadata("design:type", Object)
], WidgetComponent.prototype, "widget", void 0);
tslib_1.__decorate([
(0, core_1.Output)(),
tslib_1.__metadata("design:type", Object)
], WidgetComponent.prototype, "widgetChange", void 0);
exports.WidgetComponent = WidgetComponent = tslib_1.__decorate([
(0, core_1.Component)({
selector: "nui-widget",
templateUrl: "./widget.component.html",
styleUrls: ["./widget.component.less"],
providers: [widget_configuration_service_1.WidgetConfigurationService],
host: { class: "nui-widget" },
standalone: false,
}),
tslib_1.__metadata("design:paramtypes", [widget_configuration_service_1.WidgetConfigurationService,
widget_types_service_1.WidgetTypesService])
], WidgetComponent);
//# sourceMappingURL=widget.component.js.map