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.75 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: "10.0.0" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQml0bWFwRGFzaGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQml0bWFwRGFzaGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0RBT29DO0FBR3BDLHFDQUF3RDtBQUV4RDs7R0FFRztBQUNILE1BQWEsZUFBZ0IsU0FBUSwwQkFBUztJQUc1QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFCO1FBQzdELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLHFDQUE0QixDQUM1RCxJQUFJLEVBQ0osd0JBQXdCLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQUcsT0FBa0I7UUFDOUIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFUyxRQUFRLENBQUMsTUFBZTtRQUNoQyxJQUFJLE1BQU0sWUFBWSw0QkFBVyxFQUFFLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELENBQUM7YUFBTSxJQUFJLE1BQU0sWUFBWSxvQkFBRyxFQUFFLENBQUM7WUFDakMsd0NBQXdDO1lBQ3hDLE1BQU0sVUFBVSxHQUFJLE1BQWMsQ0FBQyxPQUFPLENBQUM7WUFDM0MsTUFBTSxlQUFlLEdBQUcsVUFBdUIsQ0FBQztZQUNoRCxPQUFPLElBQUksb0JBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUM7YUFBTSxJQUFJLE1BQU0sWUFBWSx1QkFBTSxFQUFFLENBQUM7WUFDcEMsd0NBQXdDO1lBQ3hDLE1BQU0sVUFBVSxHQUFJLE1BQWMsQ0FBQyxPQUFPLENBQUM7WUFDM0MsTUFBTSxlQUFlLEdBQUcsVUFBdUIsQ0FBQztZQUNoRCxPQUFPLElBQUksdUJBQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFUyxTQUFTLENBQUMsR0FBRyxPQUFrQjtRQUN2QyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDOztBQW5DSCwwQ0FvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb2x1bW4sXG4gIERhc2hib2FyZCxcbiAgRGFzaGJvYXJkUHJvcHMsXG4gIEdyYXBoV2lkZ2V0LFxuICBJV2lkZ2V0LFxuICBSb3csXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuaW1wb3J0IHsgQml0bWFwV2lkZ2V0UmVuZGVyaW5nU3VwcG9ydCB9IGZyb20gXCIuL3dpZGdldFwiO1xuXG4vKipcbiAqIFNwZWNpZmljIHN1YnR5cGUgb2YgZGFzaGJvYXJkIHRoYXQgcmVuZGVycyBzdXBwb3J0ZWQgd2lkZ2V0cyBhcyBiaXRtYXBzLCB3aGlsZSBwcmVzZXJ2aW5nIHRoZSBvdmVyYWxsIGxheW91dC5cbiAqL1xuZXhwb3J0IGNsYXNzIEJpdG1hcERhc2hib2FyZCBleHRlbmRzIERhc2hib2FyZCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBiaXRtYXBSZW5kZXJpbmdTdXBwb3J0OiBCaXRtYXBXaWRnZXRSZW5kZXJpbmdTdXBwb3J0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXNoYm9hcmRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMuYml0bWFwUmVuZGVyaW5nU3VwcG9ydCA9IG5ldyBCaXRtYXBXaWRnZXRSZW5kZXJpbmdTdXBwb3J0KFxuICAgICAgdGhpcyxcbiAgICAgIFwiQml0bWFwUmVuZGVyaW5nU3VwcG9ydFwiLFxuICAgICk7XG4gIH1cblxuICBhZGRXaWRnZXRzKC4uLndpZGdldHM6IElXaWRnZXRbXSkge1xuICAgIHN1cGVyLmFkZFdpZGdldHMoLi4udGhpcy5hc0JpdG1hcHMoLi4ud2lkZ2V0cykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzQml0bWFwKHdpZGdldDogSVdpZGdldCk6IElXaWRnZXQge1xuICAgIGlmICh3aWRnZXQgaW5zdGFuY2VvZiBHcmFwaFdpZGdldCkge1xuICAgICAgcmV0dXJuIHRoaXMuYml0bWFwUmVuZGVyaW5nU3VwcG9ydC5hc0JpdG1hcCh3aWRnZXQpO1xuICAgIH0gZWxzZSBpZiAod2lkZ2V0IGluc3RhbmNlb2YgUm93KSB7XG4gICAgICAvLyBuZWVkcyB0aGlzIHRvIGFjY2VzcyBwcml2YXRlIHByb3BlcnR5XG4gICAgICBjb25zdCByb3dXaWRnZXRzID0gKHdpZGdldCBhcyBhbnkpLndpZGdldHM7XG4gICAgICBjb25zdCByb3dXaWRnZXRzVHlwZWQgPSByb3dXaWRnZXRzIGFzIElXaWRnZXRbXTtcbiAgICAgIHJldHVybiBuZXcgUm93KC4uLnRoaXMuYXNCaXRtYXBzKC4uLnJvd1dpZGdldHNUeXBlZCkpO1xuICAgIH0gZWxzZSBpZiAod2lkZ2V0IGluc3RhbmNlb2YgQ29sdW1uKSB7XG4gICAgICAvLyBuZWVkcyB0aGlzIHRvIGFjY2VzcyBwcml2YXRlIHByb3BlcnR5XG4gICAgICBjb25zdCBjb2xXaWRnZXRzID0gKHdpZGdldCBhcyBhbnkpLndpZGdldHM7XG4gICAgICBjb25zdCBjb2xXaWRnZXRzVHlwZWQgPSBjb2xXaWRnZXRzIGFzIElXaWRnZXRbXTtcbiAgICAgIHJldHVybiBuZXcgQ29sdW1uKC4uLnRoaXMuYXNCaXRtYXBzKC4uLmNvbFdpZGdldHNUeXBlZCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gd2lkZ2V0O1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc0JpdG1hcHMoLi4ud2lkZ2V0czogSVdpZGdldFtdKTogSVdpZGdldFtdIHtcbiAgICByZXR1cm4gd2lkZ2V0cy5tYXAoKHdpZGdldCkgPT4gdGhpcy5hc0JpdG1hcCh3aWRnZXQpKTtcbiAgfVxufVxuIl19