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

56 lines 9.15 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 { Injectable } from "@angular/core"; import { ConfiguratorService } from "./configurator.service"; import { ComponentPortalService } from "../../pizzagna/services/component-portal.service"; import { WidgetClonerComponent } from "../components/widget-cloner/widget-cloner.component"; import * as i0 from "@angular/core"; import * as i1 from "./configurator.service"; import * as i2 from "../../pizzagna/services/component-portal.service"; export class WidgetClonerService { constructor(configuratorService, componentPortalService) { this.configuratorService = configuratorService; this.componentPortalService = componentPortalService; } open(cloner) { if (!cloner.portalBundle) { const formPortal = { portal: this.componentPortalService.createComponentPortal(WidgetClonerComponent, null), attached: (componentRef) => { componentRef.instance.cloneSelectionComponentType = cloner.widgetSelectionComponentType; componentRef.instance.changeDetector?.detectChanges(); setTimeout(() => { this.ref = componentRef; }); }, }; cloner.portalBundle = formPortal; } cloner.previewPizzagnaComponent = () => this.ref.instance.configurator.getPreview(); return this.configuratorService.open(cloner); } /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetClonerService, deps: [{ token: i1.ConfiguratorService }, { token: i2.ComponentPortalService }], target: i0.ɵɵFactoryTarget.Injectable }); } /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetClonerService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetClonerService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.ConfiguratorService }, { type: i2.ComponentPortalService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNsb25lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb25maWd1cmF0b3Ivc2VydmljZXMvd2lkZ2V0LWNsb25lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUN6RCxFQUFFO0FBQ0YsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsK0VBQStFO0FBQy9FLDhFQUE4RTtBQUM5RSw0REFBNEQ7QUFDNUQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSx1REFBdUQ7QUFDdkQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSw0RUFBNEU7QUFDNUUsK0VBQStFO0FBQy9FLDBFQUEwRTtBQUMxRSxpRkFBaUY7QUFDakYsNkVBQTZFO0FBQzdFLGlCQUFpQjtBQUVqQixPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMxRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7OztBQUc1RixNQUFNLE9BQU8sbUJBQW1CO0lBSTVCLFlBQ1ksbUJBQXdDLEVBQ3hDLHNCQUE4QztRQUQ5Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7SUFDdkQsQ0FBQztJQUVHLElBQUksQ0FBQyxNQUF1QjtRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRTtZQUN0QixNQUFNLFVBQVUsR0FBa0Q7Z0JBQzlELE1BQU0sRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLENBQ3JELHFCQUFxQixFQUNyQixJQUFJLENBQ1A7Z0JBQ0QsUUFBUSxFQUFFLENBQ04sWUFBaUQsRUFDbkQsRUFBRTtvQkFDQSxZQUFZLENBQUMsUUFBUSxDQUFDLDJCQUEyQjt3QkFDN0MsTUFBTSxDQUFDLDRCQUE0QixDQUFDO29CQUN4QyxZQUFZLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsQ0FBQztvQkFDdEQsVUFBVSxDQUFDLEdBQUcsRUFBRTt3QkFDWixJQUFJLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztvQkFDNUIsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQzthQUNKLENBQUM7WUFFRixNQUFNLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztTQUNwQztRQUVELE1BQU0sQ0FBQyx3QkFBd0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7UUFHcEYsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7a0lBbkNRLG1CQUFtQjtzSUFBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLy8gwqkgMjAyMiBTb2xhcldpbmRzIFdvcmxkd2lkZSwgTExDLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vICBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0b1xuLy8gIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlXG4vLyAgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yXG4vLyAgc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vICBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyAgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHsgQ29uZmlndXJhdG9yU2VydmljZSB9IGZyb20gXCIuL2NvbmZpZ3VyYXRvci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBJQ29tcG9uZW50UG9ydGFsQnVuZGxlLCBJV2lkZ2V0U2VsZWN0b3IgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsU2VydmljZSB9IGZyb20gXCIuLi8uLi9waXp6YWduYS9zZXJ2aWNlcy9jb21wb25lbnQtcG9ydGFsLnNlcnZpY2VcIjtcbmltcG9ydCB7IFdpZGdldENsb25lckNvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL3dpZGdldC1jbG9uZXIvd2lkZ2V0LWNsb25lci5jb21wb25lbnRcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFdpZGdldENsb25lclNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSByZWY6IENvbXBvbmVudFJlZjxXaWRnZXRDbG9uZXJDb21wb25lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29uZmlndXJhdG9yU2VydmljZTogQ29uZmlndXJhdG9yU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRQb3J0YWxTZXJ2aWNlOiBDb21wb25lbnRQb3J0YWxTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG9wZW4oY2xvbmVyOiBJV2lkZ2V0U2VsZWN0b3IpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCFjbG9uZXIucG9ydGFsQnVuZGxlKSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtUG9ydGFsOiBJQ29tcG9uZW50UG9ydGFsQnVuZGxlPFdpZGdldENsb25lckNvbXBvbmVudD4gPSB7XG4gICAgICAgICAgICAgICAgcG9ydGFsOiB0aGlzLmNvbXBvbmVudFBvcnRhbFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50UG9ydGFsKFxuICAgICAgICAgICAgICAgICAgICBXaWRnZXRDbG9uZXJDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgIG51bGxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGF0dGFjaGVkOiAoXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFdpZGdldENsb25lckNvbXBvbmVudD5cbiAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNsb25lU2VsZWN0aW9uQ29tcG9uZW50VHlwZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICBjbG9uZXIud2lkZ2V0U2VsZWN0aW9uQ29tcG9uZW50VHlwZTtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNoYW5nZURldGVjdG9yPy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjbG9uZXIucG9ydGFsQnVuZGxlID0gZm9ybVBvcnRhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNsb25lci5wcmV2aWV3UGl6emFnbmFDb21wb25lbnQgPSAoKSA9PiB0aGlzLnJlZi5pbnN0YW5jZS5jb25maWd1cmF0b3IuZ2V0UHJldmlldygpO1xuXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdG9yU2VydmljZS5vcGVuKGNsb25lcik7XG4gICAgfVxufVxuIl19