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

39 lines 4.12 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.AlarmMatrixWidget = 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("../../common/widget"); const AlarmsPerRow = 6; const MinHeight = 2; const MaxHeight = 8; /** * Wrapper of Alarm Status Widget which auto-calcultes height based on the number of alarms. * Always takes the maximum width. */ class AlarmMatrixWidget extends aws_cloudwatch_1.AlarmStatusWidget { constructor(props) { super({ alarms: props.alarms, title: props.title, width: widget_1.FullWidth, height: props.height ?? AlarmMatrixWidget.getRecommendedHeight(props.alarms.length), }); } static getRecommendedHeight(numAlarms) { const rows = Math.ceil(numAlarms / AlarmsPerRow); if (rows < MinHeight) { return MinHeight; } if (rows > MaxHeight) { return MaxHeight; } return rows; } } exports.AlarmMatrixWidget = AlarmMatrixWidget; _a = JSII_RTTI_SYMBOL_1; AlarmMatrixWidget[_a] = { fqn: "cdk-monitoring-constructs.AlarmMatrixWidget", version: "10.0.0" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWxhcm1NYXRyaXhXaWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBbGFybU1hdHJpeFdpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtEQUF1RTtBQUV2RSxnREFBZ0Q7QUFFaEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQztBQUNwQixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUM7QUFtQnBCOzs7R0FHRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsa0NBQWlCO0lBQ3RELFlBQVksS0FBNkI7UUFDdkMsS0FBSyxDQUFDO1lBQ0osTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixLQUFLLEVBQUUsa0JBQVM7WUFDaEIsTUFBTSxFQUNKLEtBQUssQ0FBQyxNQUFNO2dCQUNaLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1NBQzlELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsb0JBQW9CLENBQUMsU0FBaUI7UUFDbkQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDakQsSUFBSSxJQUFJLEdBQUcsU0FBUyxFQUFFLENBQUM7WUFDckIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksSUFBSSxHQUFHLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O0FBckJILDhDQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFsYXJtU3RhdHVzV2lkZ2V0LCBJQWxhcm0gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcblxuaW1wb3J0IHsgRnVsbFdpZHRoIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi93aWRnZXRcIjtcblxuY29uc3QgQWxhcm1zUGVyUm93ID0gNjtcbmNvbnN0IE1pbkhlaWdodCA9IDI7XG5jb25zdCBNYXhIZWlnaHQgPSA4O1xuXG5leHBvcnQgaW50ZXJmYWNlIEFsYXJtTWF0cml4V2lkZ2V0UHJvcHMge1xuICAvKipcbiAgICogd2lkZ2V0IHRpdGxlXG4gICAqIEBkZWZhdWx0IC0gbm8gdGl0bGVcbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlPzogc3RyaW5nO1xuICAvKipcbiAgICogZGVzaXJlZCBoZWlnaHRcbiAgICogQGRlZmF1bHQgLSBhdXRvIGNhbGN1bGF0ZWQgYmFzZWQgb24gYWxhcm0gbnVtYmVyICgzIHRvIDgpXG4gICAqL1xuICByZWFkb25seSBoZWlnaHQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBsaXN0IG9mIGFsYXJtcyB0byBzaG93XG4gICAqL1xuICByZWFkb25seSBhbGFybXM6IElBbGFybVtdO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgb2YgQWxhcm0gU3RhdHVzIFdpZGdldCB3aGljaCBhdXRvLWNhbGN1bHRlcyBoZWlnaHQgYmFzZWQgb24gdGhlIG51bWJlciBvZiBhbGFybXMuXG4gKiBBbHdheXMgdGFrZXMgdGhlIG1heGltdW0gd2lkdGguXG4gKi9cbmV4cG9ydCBjbGFzcyBBbGFybU1hdHJpeFdpZGdldCBleHRlbmRzIEFsYXJtU3RhdHVzV2lkZ2V0IHtcbiAgY29uc3RydWN0b3IocHJvcHM6IEFsYXJtTWF0cml4V2lkZ2V0UHJvcHMpIHtcbiAgICBzdXBlcih7XG4gICAgICBhbGFybXM6IHByb3BzLmFsYXJtcyxcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIHdpZHRoOiBGdWxsV2lkdGgsXG4gICAgICBoZWlnaHQ6XG4gICAgICAgIHByb3BzLmhlaWdodCA/P1xuICAgICAgICBBbGFybU1hdHJpeFdpZGdldC5nZXRSZWNvbW1lbmRlZEhlaWdodChwcm9wcy5hbGFybXMubGVuZ3RoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFJlY29tbWVuZGVkSGVpZ2h0KG51bUFsYXJtczogbnVtYmVyKSB7XG4gICAgY29uc3Qgcm93cyA9IE1hdGguY2VpbChudW1BbGFybXMgLyBBbGFybXNQZXJSb3cpO1xuICAgIGlmIChyb3dzIDwgTWluSGVpZ2h0KSB7XG4gICAgICByZXR1cm4gTWluSGVpZ2h0O1xuICAgIH1cbiAgICBpZiAocm93cyA+IE1heEhlaWdodCkge1xuICAgICAgcmV0dXJuIE1heEhlaWdodDtcbiAgICB9XG4gICAgcmV0dXJuIHJvd3M7XG4gIH1cbn1cbiJdfQ==