]>
git.proxmox.com Git - proxmox-widget-toolkit.git/blob - src/panel/GaugeWidget.js
1 Ext
.define('Proxmox.panel.GaugeWidget', {
2 extend
: 'Ext.panel.Panel',
3 alias
: 'widget.proxmoxGauge',
7 'text-align': 'center',
17 tpl
: '<h3>{title}</h3>',
23 // set to '-' to suppress warning in debug mode
24 downloadServerUrl
: '-',
40 textBaseline
: 'bottom',
55 warningThreshold
: 0.6,
56 criticalThreshold
: 0.9,
58 criticalColor
: '#FF6C59',
59 defaultColor
: '#c2ddf2',
60 backgroundColor
: '#f5f5f5',
65 updateValue: function(value
, text
) {
67 let color
= me
.defaultColor
;
70 if (value
>= me
.criticalThreshold
) {
71 color
= me
.criticalColor
;
72 } else if (value
>= me
.warningThreshold
) {
73 color
= me
.warningColor
;
76 me
.chart
.series
[0].setColors([color
, me
.backgroundColor
]);
77 me
.chart
.series
[0].setValue(value
*100);
79 me
.valueSprite
.setText(' '+(value
*100).toFixed(0) + '%');
80 attr
.x
= me
.chart
.getWidth()/2;
81 attr
.y
= me
.chart
.getHeight()-20;
82 if (me
.spriteFontSize
) {
83 attr
.fontSize
= me
.spriteFontSize
;
85 me
.valueSprite
.setAttributes(attr
, true);
87 if (text
!== undefined) {
88 me
.text
.setHtml(text
);
92 initComponent: function() {
98 me
.getComponent('title').update({ title
: me
.title
});
100 me
.text
= me
.getComponent('text');
101 me
.chart
= me
.getComponent('chart');
102 me
.valueSprite
= me
.chart
.getSurface('chart').get('valueSprite');