mirror of
https://github.com/timberjoegithub/grafana-statusmap.git
synced 2026-07-22 07:49:47 +00:00
246 lines
8.3 KiB
JavaScript
246 lines
8.3 KiB
JavaScript
"use strict";
|
|
|
|
System.register(["lodash"], function (_export, _context) {
|
|
"use strict";
|
|
|
|
var _, _createClass, ColorModeDiscrete;
|
|
|
|
function _classCallCheck(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) {
|
|
throw new TypeError("Cannot call a class as a function");
|
|
}
|
|
}
|
|
|
|
return {
|
|
setters: [function (_lodash) {
|
|
_ = _lodash.default;
|
|
}],
|
|
execute: function () {
|
|
_createClass = function () {
|
|
function defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || false;
|
|
descriptor.configurable = true;
|
|
if ("value" in descriptor) descriptor.writable = true;
|
|
Object.defineProperty(target, descriptor.key, descriptor);
|
|
}
|
|
}
|
|
|
|
return function (Constructor, protoProps, staticProps) {
|
|
if (protoProps) defineProperties(Constructor.prototype, protoProps);
|
|
if (staticProps) defineProperties(Constructor, staticProps);
|
|
return Constructor;
|
|
};
|
|
}();
|
|
|
|
_export("ColorModeDiscrete", ColorModeDiscrete = function () {
|
|
function ColorModeDiscrete(scope) {
|
|
_classCallCheck(this, ColorModeDiscrete);
|
|
|
|
this.scope = scope;
|
|
this.panelCtrl = scope.ctrl;
|
|
this.panel = scope.ctrl.panel;
|
|
}
|
|
|
|
// get tooltip for each value ordered by thresholds priority
|
|
|
|
|
|
_createClass(ColorModeDiscrete, [{
|
|
key: "convertValuesToTooltips",
|
|
value: function convertValuesToTooltips(values) {
|
|
var thresholds = this.panel.color.thresholds;
|
|
var tooltips = [];
|
|
|
|
for (var i = 0; i < thresholds.length; i++) {
|
|
for (var j = 0; j < values.length; j++) {
|
|
if (values[j] == thresholds[i].value) {
|
|
tooltips.push({
|
|
"tooltip": thresholds[i].tooltip ? thresholds[i].tooltip : values[j],
|
|
"color": thresholds[i].color
|
|
});
|
|
}
|
|
}
|
|
}
|
|
return tooltips;
|
|
}
|
|
}, {
|
|
key: "getNotMatchedValues",
|
|
value: function getNotMatchedValues(values) {
|
|
var notMatched = [];
|
|
for (var j = 0; j < values.length; j++) {
|
|
if (!this.getMatchedThreshold(values[j])) {
|
|
notMatched.push(values[j]);
|
|
}
|
|
}
|
|
return notMatched;
|
|
}
|
|
}, {
|
|
key: "getNotColoredValues",
|
|
value: function getNotColoredValues(values) {
|
|
var notMatched = [];
|
|
for (var j = 0; j < values.length; j++) {
|
|
var threshold = this.getMatchedThreshold(values[j]);
|
|
if (!threshold || !threshold.color || threshold.color == "") {
|
|
notMatched.push(values[j]);
|
|
}
|
|
}
|
|
return notMatched;
|
|
}
|
|
}, {
|
|
key: "getDiscreteColor",
|
|
value: function getDiscreteColor(index) {
|
|
var color = this.getThreshold(index).color;
|
|
if (!color || color == "") {
|
|
return 'rgba(0,0,0,1)';
|
|
}
|
|
return color;
|
|
}
|
|
}, {
|
|
key: "getBucketColor",
|
|
value: function getBucketColor(values) {
|
|
var thresholds = this.panel.color.thresholds;
|
|
|
|
for (var i = 0; i < thresholds.length; i++) {
|
|
for (var j = 0; j < values.length; j++) {
|
|
if (values[j] == thresholds[i].value) {
|
|
return this.getDiscreteColor(i);
|
|
}
|
|
}
|
|
}
|
|
return 'rgba(0,0,0,1)';
|
|
}
|
|
}, {
|
|
key: "updateCardsValuesHasColorInfo",
|
|
value: function updateCardsValuesHasColorInfo() {
|
|
if (!this.panelCtrl.cardsData) {
|
|
return;
|
|
}
|
|
this.panelCtrl.cardsData.noColorDefined = false;
|
|
var cards = this.panelCtrl.cardsData.cards;
|
|
for (var i = 0; i < cards.length; i++) {
|
|
cards[i].noColorDefined = false;
|
|
var values = cards[i].values;
|
|
for (var j = 0; j < values.length; j++) {
|
|
var threshold = this.getMatchedThreshold(values[j]);
|
|
if (!threshold || !threshold.color || threshold.color == "") {
|
|
cards[i].noColorDefined = true;
|
|
this.panelCtrl.cardsData.noColorDefined = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}, {
|
|
key: "getMatchedThreshold",
|
|
value: function getMatchedThreshold(value) {
|
|
if (value == null) {
|
|
if (this.panel.color.nullPointMode == 'as empty') {
|
|
// FIXME: make this explicit for user
|
|
// Right now this color never used because null as empty handles in getCardOpacity method.
|
|
return {
|
|
"color": "rgba(0,0,0,0)",
|
|
"value": "null",
|
|
"tooltip": "null"
|
|
};
|
|
} else {
|
|
value = 0;
|
|
}
|
|
}
|
|
|
|
var thresholds = this.panel.color.thresholds;
|
|
for (var k = 0; k < thresholds.length; k++) {
|
|
if (value == thresholds[k].value) {
|
|
return thresholds[k];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
}, {
|
|
key: "getThreshold",
|
|
value: function getThreshold(index) {
|
|
var thresholds = this.panel.color.thresholds;
|
|
if (index < 0 || index >= thresholds.length == null) {
|
|
return {
|
|
"color": "rgba(0,0,0,0)",
|
|
"value": "null",
|
|
"tooltip": "null"
|
|
};
|
|
}
|
|
return thresholds[index];
|
|
}
|
|
}, {
|
|
key: "roundIntervalCeil",
|
|
value: function roundIntervalCeil(interval) {
|
|
switch (true) {
|
|
case interval <= 10:
|
|
return 10; // 0.01s
|
|
case interval <= 20:
|
|
return 20; // 0.02s
|
|
case interval <= 50:
|
|
return 50; // 0.05s
|
|
case interval <= 100:
|
|
return 100; // 0.1s
|
|
case interval <= 200:
|
|
return 200; // 0.2s
|
|
case interval <= 500:
|
|
return 500; // 0.5s
|
|
case interval <= 1000:
|
|
return 1000; // 1s
|
|
case interval <= 2000:
|
|
return 2000; // 2s
|
|
case interval <= 5000:
|
|
return 5000; // 5s
|
|
case interval <= 10000:
|
|
return 10000; // 10s
|
|
case interval <= 15000:
|
|
return 15000; // 15s
|
|
case interval <= 20000:
|
|
return 20000; // 20s
|
|
case interval <= 30000:
|
|
return 30000; // 30s
|
|
case interval <= 60000:
|
|
return 60000; // 1m
|
|
case interval <= 120000:
|
|
return 120000; // 2m
|
|
case interval <= 300000:
|
|
return 300000; // 5m
|
|
case interval <= 600000:
|
|
return 600000; // 10m
|
|
case interval <= 900000:
|
|
return 900000; // 15m
|
|
case interval <= 1200000:
|
|
return 1200000; // 20m
|
|
case interval <= 1800000:
|
|
return 1800000; // 30m
|
|
case interval <= 3600000:
|
|
return 3600000; // 1h
|
|
case interval <= 7200000:
|
|
return 7200000; // 2h
|
|
case interval <= 10800000:
|
|
return 10800000; // 3h
|
|
case interval <= 21600000:
|
|
return 21600000; // 6h
|
|
case interval <= 43200000:
|
|
return 43200000; // 12h
|
|
case interval <= 86400000:
|
|
return 86400000; // 1d
|
|
case interval <= 604800000:
|
|
return 604800000; // 1w
|
|
case interval <= 2592000000:
|
|
return 2592000000; // 30d
|
|
default:
|
|
return 31536000000; // 1y
|
|
}
|
|
}
|
|
}]);
|
|
|
|
return ColorModeDiscrete;
|
|
}());
|
|
|
|
_export("ColorModeDiscrete", ColorModeDiscrete);
|
|
}
|
|
};
|
|
});
|
|
//# sourceMappingURL=color_mode_discrete.js.map
|