@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
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 { 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