import kbn from 'app/core/utils/kbn'; import { StatusHeatmapCtrl } from './module'; export class StatusHeatmapOptionsEditorCtrl { panel: any; panelCtrl: StatusHeatmapCtrl; unitFormats: any; /** @ngInject */ constructor($scope: any) { $scope.editor = this; this.panelCtrl = $scope.ctrl as StatusHeatmapCtrl; this.panel = this.panelCtrl.panel; this.unitFormats = kbn.getUnitFormats(); } setUnitFormat(subItem) { this.panel.data.unitFormat = subItem.value; this.panelCtrl.render(); } render() { this.panelCtrl.render(); } onAddThreshold() { this.panel.color.thresholds.push({ color: this.panel.defaultColor }); this.render(); } onRemoveThreshold(index:number) { this.panel.color.thresholds.splice(index, 1); this.render(); } onRemoveThresholds() { this.panel.color.thresholds = []; this.render(); } onAddThreeLights() { this.panel.color.thresholds.push({color: "red", value: 2, tooltip: "error" }); this.panel.color.thresholds.push({color: "yellow", value: 1, tooltip: "warning" }); this.panel.color.thresholds.push({color: "green", value: 0, tooltip: "ok" }); this.render(); } /* https://ethanschoonover.com/solarized/ */ onAddSolarized() { this.panel.color.thresholds.push({color: "#b58900", value: 0, tooltip: "yellow" }); this.panel.color.thresholds.push({color: "#cb4b16", value: 1, tooltip: "orange" }); this.panel.color.thresholds.push({color: "#dc322f", value: 2, tooltip: "red" }); this.panel.color.thresholds.push({color: "#d33682", value: 3, tooltip: "magenta" }); this.panel.color.thresholds.push({color: "#6c71c4", value: 4, tooltip: "violet" }); this.panel.color.thresholds.push({color: "#268bd2", value: 5, tooltip: "blue" }); this.panel.color.thresholds.push({color: "#2aa198", value: 6, tooltip: "cyan" }); this.panel.color.thresholds.push({color: "#859900", value: 7, tooltip: "green" }); this.render(); } } /** @ngInject */ export function optionsEditorCtrl() { 'use strict'; return { restrict: 'E', scope: true, templateUrl: 'public/plugins/flant-statusmap-panel/partials/options_editor.html', controller: StatusHeatmapOptionsEditorCtrl, }; }