UNPKG

cdk-monitoring-constructs

Version:

[![NPM version](https://badge.fury.io/js/cdk-monitoring-constructs.svg)](https://badge.fury.io/js/cdk-monitoring-constructs) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.cdklabs/cdkmonitoringconstructs/badge.svg)](https://m

46 lines 5.7 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.BitmapDashboard = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch"); const widget_1 = require("./widget"); /** * Specific subtype of dashboard that renders supported widgets as bitmaps, while preserving the overall layout. */ class BitmapDashboard extends aws_cloudwatch_1.Dashboard { constructor(scope, id, props) { super(scope, id, props); this.bitmapRenderingSupport = new widget_1.BitmapWidgetRenderingSupport(this, "BitmapRenderingSupport"); } addWidgets(...widgets) { super.addWidgets(...this.asBitmaps(...widgets)); } asBitmap(widget) { if (widget instanceof aws_cloudwatch_1.GraphWidget) { return this.bitmapRenderingSupport.asBitmap(widget); } else if (widget instanceof aws_cloudwatch_1.Row) { // needs this to access private property const rowWidgets = widget.widgets; const rowWidgetsTyped = rowWidgets; return new aws_cloudwatch_1.Row(...this.asBitmaps(...rowWidgetsTyped)); } else if (widget instanceof aws_cloudwatch_1.Column) { // needs this to access private property const colWidgets = widget.widgets; const colWidgetsTyped = colWidgets; return new aws_cloudwatch_1.Column(...this.asBitmaps(...colWidgetsTyped)); } else { return widget; } } asBitmaps(...widgets) { return widgets.map((widget) => this.asBitmap(widget)); } } exports.BitmapDashboard = BitmapDashboard; _a = JSII_RTTI_SYMBOL_1; BitmapDashboard[_a] = { fqn: "cdk-monitoring-constructs.BitmapDashboard", version: "9.15.2" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQml0bWFwRGFzaGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQml0bWFwRGFzaGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0RBT29DO0FBR3BDLHFDQUF3RDtBQUV4RDs7R0FFRztBQUNILE1BQWEsZUFBZ0IsU0FBUSwwQkFBUztJQUc1QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFCO1FBQzdELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLHFDQUE0QixDQUM1RCxJQUFJLEVBQ0osd0JBQXdCLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQUcsT0FBa0I7UUFDOUIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFUyxRQUFRLENBQUMsTUFBZTtRQUNoQyxJQUFJLE1BQU0sWUFBWSw0QkFBVyxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyRDthQUFNLElBQUksTUFBTSxZQUFZLG9CQUFHLEVBQUU7WUFDaEMsd0NBQXdDO1lBQ3hDLE1BQU0sVUFBVSxHQUFJLE1BQWMsQ0FBQyxPQUFPLENBQUM7WUFDM0MsTUFBTSxlQUFlLEdBQUcsVUFBdUIsQ0FBQztZQUNoRCxPQUFPLElBQUksb0JBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ3ZEO2FBQU0sSUFBSSxNQUFNLFlBQVksdUJBQU0sRUFBRTtZQUNuQyx3Q0FBd0M7WUFDeEMsTUFBTSxVQUFVLEdBQUksTUFBYyxDQUFDLE9BQU8sQ0FBQztZQUMzQyxNQUFNLGVBQWUsR0FBRyxVQUF1QixDQUFDO1lBQ2hELE9BQU8sSUFBSSx1QkFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUM7U0FDMUQ7YUFBTTtZQUNMLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRVMsU0FBUyxDQUFDLEdBQUcsT0FBa0I7UUFDdkMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7QUFuQ0gsMENBb0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29sdW1uLFxuICBEYXNoYm9hcmQsXG4gIERhc2hib2FyZFByb3BzLFxuICBHcmFwaFdpZGdldCxcbiAgSVdpZGdldCxcbiAgUm93LFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCB7IEJpdG1hcFdpZGdldFJlbmRlcmluZ1N1cHBvcnQgfSBmcm9tIFwiLi93aWRnZXRcIjtcblxuLyoqXG4gKiBTcGVjaWZpYyBzdWJ0eXBlIG9mIGRhc2hib2FyZCB0aGF0IHJlbmRlcnMgc3VwcG9ydGVkIHdpZGdldHMgYXMgYml0bWFwcywgd2hpbGUgcHJlc2VydmluZyB0aGUgb3ZlcmFsbCBsYXlvdXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBCaXRtYXBEYXNoYm9hcmQgZXh0ZW5kcyBEYXNoYm9hcmQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYml0bWFwUmVuZGVyaW5nU3VwcG9ydDogQml0bWFwV2lkZ2V0UmVuZGVyaW5nU3VwcG9ydDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGFzaGJvYXJkUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB0aGlzLmJpdG1hcFJlbmRlcmluZ1N1cHBvcnQgPSBuZXcgQml0bWFwV2lkZ2V0UmVuZGVyaW5nU3VwcG9ydChcbiAgICAgIHRoaXMsXG4gICAgICBcIkJpdG1hcFJlbmRlcmluZ1N1cHBvcnRcIixcbiAgICApO1xuICB9XG5cbiAgYWRkV2lkZ2V0cyguLi53aWRnZXRzOiBJV2lkZ2V0W10pIHtcbiAgICBzdXBlci5hZGRXaWRnZXRzKC4uLnRoaXMuYXNCaXRtYXBzKC4uLndpZGdldHMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc0JpdG1hcCh3aWRnZXQ6IElXaWRnZXQpOiBJV2lkZ2V0IHtcbiAgICBpZiAod2lkZ2V0IGluc3RhbmNlb2YgR3JhcGhXaWRnZXQpIHtcbiAgICAgIHJldHVybiB0aGlzLmJpdG1hcFJlbmRlcmluZ1N1cHBvcnQuYXNCaXRtYXAod2lkZ2V0KTtcbiAgICB9IGVsc2UgaWYgKHdpZGdldCBpbnN0YW5jZW9mIFJvdykge1xuICAgICAgLy8gbmVlZHMgdGhpcyB0byBhY2Nlc3MgcHJpdmF0ZSBwcm9wZXJ0eVxuICAgICAgY29uc3Qgcm93V2lkZ2V0cyA9ICh3aWRnZXQgYXMgYW55KS53aWRnZXRzO1xuICAgICAgY29uc3Qgcm93V2lkZ2V0c1R5cGVkID0gcm93V2lkZ2V0cyBhcyBJV2lkZ2V0W107XG4gICAgICByZXR1cm4gbmV3IFJvdyguLi50aGlzLmFzQml0bWFwcyguLi5yb3dXaWRnZXRzVHlwZWQpKTtcbiAgICB9IGVsc2UgaWYgKHdpZGdldCBpbnN0YW5jZW9mIENvbHVtbikge1xuICAgICAgLy8gbmVlZHMgdGhpcyB0byBhY2Nlc3MgcHJpdmF0ZSBwcm9wZXJ0eVxuICAgICAgY29uc3QgY29sV2lkZ2V0cyA9ICh3aWRnZXQgYXMgYW55KS53aWRnZXRzO1xuICAgICAgY29uc3QgY29sV2lkZ2V0c1R5cGVkID0gY29sV2lkZ2V0cyBhcyBJV2lkZ2V0W107XG4gICAgICByZXR1cm4gbmV3IENvbHVtbiguLi50aGlzLmFzQml0bWFwcyguLi5jb2xXaWRnZXRzVHlwZWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHdpZGdldDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXNCaXRtYXBzKC4uLndpZGdldHM6IElXaWRnZXRbXSk6IElXaWRnZXRbXSB7XG4gICAgcmV0dXJuIHdpZGdldHMubWFwKCh3aWRnZXQpID0+IHRoaXMuYXNCaXRtYXAod2lkZ2V0KSk7XG4gIH1cbn1cbiJdfQ==