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

64 lines 12.3 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 { Inject, Injectable } from "@angular/core"; import { takeUntil } from "rxjs/operators"; import { EventBus, immutableSet } from "@nova-ui/bits"; import { PizzagnaService } from "../../../../../pizzagna/services/pizzagna.service"; import { PizzagnaLayer, PIZZAGNA_EVENT_BUS } from "../../../../../types"; import { PreviewService } from "../../../preview.service"; import { BaseConverter } from "../../base-converter"; import * as i0 from "@angular/core"; import * as i1 from "../../../preview.service"; import * as i2 from "../../../../../pizzagna/services/pizzagna.service"; import * as i3 from "@nova-ui/bits"; export class TitleAndDescriptionConverterService extends BaseConverter { static { this.PROPERTIES_PATH = `${PizzagnaLayer.Configuration}.titleAndDescription.properties`; } constructor(eventBus, previewService, pizzagnaService) { super(eventBus, previewService, pizzagnaService); } ngAfterViewInit() { super.ngAfterViewInit(); } buildForm() { let editorPizzagna = this.pizzagnaService.pizzagna; const headerProperties = this.getPreview()?.header?.properties; editorPizzagna = immutableSet(editorPizzagna, `${TitleAndDescriptionConverterService.PROPERTIES_PATH}.title`, headerProperties?.title); editorPizzagna = immutableSet(editorPizzagna, `${TitleAndDescriptionConverterService.PROPERTIES_PATH}.subtitle`, headerProperties?.subtitle); editorPizzagna = immutableSet(editorPizzagna, `${TitleAndDescriptionConverterService.PROPERTIES_PATH}.url`, headerProperties?.url); editorPizzagna = immutableSet(editorPizzagna, `${TitleAndDescriptionConverterService.PROPERTIES_PATH}.description`, headerProperties?.description); editorPizzagna = immutableSet(editorPizzagna, `${TitleAndDescriptionConverterService.PROPERTIES_PATH}.collapsible`, headerProperties?.collapsible); this.updateFormPizzagna(editorPizzagna); } toPreview(form) { form.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => { const preview = immutableSet(this.getPreview(), `header.properties`, value); this.updatePreview(preview); }); } /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TitleAndDescriptionConverterService, deps: [{ token: PIZZAGNA_EVENT_BUS }, { token: i1.PreviewService }, { token: i2.PizzagnaService }], target: i0.ɵɵFactoryTarget.Injectable }); } /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TitleAndDescriptionConverterService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TitleAndDescriptionConverterService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i3.EventBus, decorators: [{ type: Inject, args: [PIZZAGNA_EVENT_BUS] }] }, { type: i1.PreviewService }, { type: i2.PizzagnaService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUtYW5kLWRlc2NyaXB0aW9uLWNvbnZlcnRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb25maWd1cmF0b3Ivc2VydmljZXMvY29udmVydGVycy9zaGFyZWQvdGl0bGUtYW5kLWRlc2NyaXB0aW9uLWNvbnZlcnRlci90aXRsZS1hbmQtZGVzY3JpcHRpb24tY29udmVydGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBQ3pELEVBQUU7QUFDRiwrRUFBK0U7QUFDL0UsNEVBQTRFO0FBQzVFLDhFQUE4RTtBQUM5RSwrRUFBK0U7QUFDL0UsOEVBQThFO0FBQzlFLDREQUE0RDtBQUM1RCxFQUFFO0FBQ0YsNkVBQTZFO0FBQzdFLHVEQUF1RDtBQUN2RCxFQUFFO0FBQ0YsNkVBQTZFO0FBQzdFLDRFQUE0RTtBQUM1RSwrRUFBK0U7QUFDL0UsMEVBQTBFO0FBQzFFLGlGQUFpRjtBQUNqRiw2RUFBNkU7QUFDN0UsaUJBQWlCO0FBRWpCLE9BQU8sRUFBaUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFFBQVEsRUFBVSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQUdyRCxNQUFNLE9BQU8sbUNBQ1QsU0FBUSxhQUFhO2FBR0Usb0JBQWUsR0FBRyxHQUFHLGFBQWEsQ0FBQyxhQUFhLGlDQUFpQyxBQUFsRSxDQUFtRTtJQUV6RyxZQUNnQyxRQUEwQixFQUN0RCxjQUE4QixFQUM5QixlQUFnQztRQUVoQyxLQUFLLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sZUFBZTtRQUNsQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLFNBQVM7UUFDWixJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUNuRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDO1FBRS9ELGNBQWMsR0FBRyxZQUFZLENBQ3pCLGNBQWMsRUFDZCxHQUFHLG1DQUFtQyxDQUFDLGVBQWUsUUFBUSxFQUM5RCxnQkFBZ0IsRUFBRSxLQUFLLENBQzFCLENBQUM7UUFDRixjQUFjLEdBQUcsWUFBWSxDQUN6QixjQUFjLEVBQ2QsR0FBRyxtQ0FBbUMsQ0FBQyxlQUFlLFdBQVcsRUFDakUsZ0JBQWdCLEVBQUUsUUFBUSxDQUM3QixDQUFDO1FBQ0YsY0FBYyxHQUFHLFlBQVksQ0FDekIsY0FBYyxFQUNkLEdBQUcsbUNBQW1DLENBQUMsZUFBZSxNQUFNLEVBQzVELGdCQUFnQixFQUFFLEdBQUcsQ0FDeEIsQ0FBQztRQUNGLGNBQWMsR0FBRyxZQUFZLENBQ3pCLGNBQWMsRUFDZCxHQUFHLG1DQUFtQyxDQUFDLGVBQWUsY0FBYyxFQUNwRSxnQkFBZ0IsRUFBRSxXQUFXLENBQ2hDLENBQUM7UUFDRixjQUFjLEdBQUcsWUFBWSxDQUN6QixjQUFjLEVBQ2QsR0FBRyxtQ0FBbUMsQ0FBQyxlQUFlLGNBQWMsRUFDcEUsZ0JBQWdCLEVBQUUsV0FBVyxDQUNoQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBZTtRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakUsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLEVBQ2pCLG1CQUFtQixFQUNuQixLQUFLLENBQ1IsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO2tJQTVEUSxtQ0FBbUMsa0JBT2hDLGtCQUFrQjtzSUFQckIsbUNBQW1DOzs0RkFBbkMsbUNBQW1DO2tCQUQvQyxVQUFVOzswQkFRRixNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIMKpIDIwMjIgU29sYXJXaW5kcyBXb3JsZHdpZGUsIExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyAgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG9cbi8vICBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZVxuLy8gIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vclxuLy8gIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyAgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vICBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vICBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyAgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vICBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyAgVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuaW1wb3J0IHsgRXZlbnRCdXMsIElFdmVudCwgaW1tdXRhYmxlU2V0IH0gZnJvbSBcIkBub3ZhLXVpL2JpdHNcIjtcblxuaW1wb3J0IHsgUGl6emFnbmFTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL3BpenphZ25hL3NlcnZpY2VzL3BpenphZ25hLnNlcnZpY2VcIjtcbmltcG9ydCB7IFBpenphZ25hTGF5ZXIsIFBJWlpBR05BX0VWRU5UX0JVUyB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgUHJldmlld1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vcHJldmlldy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBCYXNlQ29udmVydGVyIH0gZnJvbSBcIi4uLy4uL2Jhc2UtY29udmVydGVyXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaXRsZUFuZERlc2NyaXB0aW9uQ29udmVydGVyU2VydmljZVxuICAgIGV4dGVuZHMgQmFzZUNvbnZlcnRlclxuICAgIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdFxue1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVElFU19QQVRIID0gYCR7UGl6emFnbmFMYXllci5Db25maWd1cmF0aW9ufS50aXRsZUFuZERlc2NyaXB0aW9uLnByb3BlcnRpZXNgO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoUElaWkFHTkFfRVZFTlRfQlVTKSBldmVudEJ1czogRXZlbnRCdXM8SUV2ZW50PixcbiAgICAgICAgcHJldmlld1NlcnZpY2U6IFByZXZpZXdTZXJ2aWNlLFxuICAgICAgICBwaXp6YWduYVNlcnZpY2U6IFBpenphZ25hU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihldmVudEJ1cywgcHJldmlld1NlcnZpY2UsIHBpenphZ25hU2VydmljZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGJ1aWxkRm9ybSgpOiB2b2lkIHtcbiAgICAgICAgbGV0IGVkaXRvclBpenphZ25hID0gdGhpcy5waXp6YWduYVNlcnZpY2UucGl6emFnbmE7XG4gICAgICAgIGNvbnN0IGhlYWRlclByb3BlcnRpZXMgPSB0aGlzLmdldFByZXZpZXcoKT8uaGVhZGVyPy5wcm9wZXJ0aWVzO1xuXG4gICAgICAgIGVkaXRvclBpenphZ25hID0gaW1tdXRhYmxlU2V0KFxuICAgICAgICAgICAgZWRpdG9yUGl6emFnbmEsXG4gICAgICAgICAgICBgJHtUaXRsZUFuZERlc2NyaXB0aW9uQ29udmVydGVyU2VydmljZS5QUk9QRVJUSUVTX1BBVEh9LnRpdGxlYCxcbiAgICAgICAgICAgIGhlYWRlclByb3BlcnRpZXM/LnRpdGxlXG4gICAgICAgICk7XG4gICAgICAgIGVkaXRvclBpenphZ25hID0gaW1tdXRhYmxlU2V0KFxuICAgICAgICAgICAgZWRpdG9yUGl6emFnbmEsXG4gICAgICAgICAgICBgJHtUaXRsZUFuZERlc2NyaXB0aW9uQ29udmVydGVyU2VydmljZS5QUk9QRVJUSUVTX1BBVEh9LnN1YnRpdGxlYCxcbiAgICAgICAgICAgIGhlYWRlclByb3BlcnRpZXM/LnN1YnRpdGxlXG4gICAgICAgICk7XG4gICAgICAgIGVkaXRvclBpenphZ25hID0gaW1tdXRhYmxlU2V0KFxuICAgICAgICAgICAgZWRpdG9yUGl6emFnbmEsXG4gICAgICAgICAgICBgJHtUaXRsZUFuZERlc2NyaXB0aW9uQ29udmVydGVyU2VydmljZS5QUk9QRVJUSUVTX1BBVEh9LnVybGAsXG4gICAgICAgICAgICBoZWFkZXJQcm9wZXJ0aWVzPy51cmxcbiAgICAgICAgKTtcbiAgICAgICAgZWRpdG9yUGl6emFnbmEgPSBpbW11dGFibGVTZXQoXG4gICAgICAgICAgICBlZGl0b3JQaXp6YWduYSxcbiAgICAgICAgICAgIGAke1RpdGxlQW5kRGVzY3JpcHRpb25Db252ZXJ0ZXJTZXJ2aWNlLlBST1BFUlRJRVNfUEFUSH0uZGVzY3JpcHRpb25gLFxuICAgICAgICAgICAgaGVhZGVyUHJvcGVydGllcz8uZGVzY3JpcHRpb25cbiAgICAgICAgKTtcbiAgICAgICAgZWRpdG9yUGl6emFnbmEgPSBpbW11dGFibGVTZXQoXG4gICAgICAgICAgICBlZGl0b3JQaXp6YWduYSxcbiAgICAgICAgICAgIGAke1RpdGxlQW5kRGVzY3JpcHRpb25Db252ZXJ0ZXJTZXJ2aWNlLlBST1BFUlRJRVNfUEFUSH0uY29sbGFwc2libGVgLFxuICAgICAgICAgICAgaGVhZGVyUHJvcGVydGllcz8uY29sbGFwc2libGVcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1QaXp6YWduYShlZGl0b3JQaXp6YWduYSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvUHJldmlldyhmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcbiAgICAgICAgZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByZXZpZXcgPSBpbW11dGFibGVTZXQoXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRQcmV2aWV3KCksXG4gICAgICAgICAgICAgICAgYGhlYWRlci5wcm9wZXJ0aWVzYCxcbiAgICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUHJldmlldyhwcmV2aWV3KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19