Available only in PRO Edition
Since 4.1
Компонент доступен для пользователей Webix Pro.
Компонент Gage позволяет визуализировать изменение значений данных с помощью цветовой шкалы.
Базовая конфигурация Gage выглядит следующим образом:
webix.ui({
view: "gage",
id: "gage1",
value: 60,
minRange: 0,
maxRange: 100,
label: "Speed",
placeholder: "km/hour",
smoothFlow: false,
scale:5,
stroke:10
});
Основные свойства
0
;100
;true
;Полный список свойств вы найдете в Справочнике API.
Используя свойство color вы можете изменять цвет компонента одним из способов:
webix.ui({
view: "gage",
minRange: 0,
maxRange: 100,
color:"green" // принимает RGB, HEX, HSL...
});
var color = function(val){
if (val < 40) return "green";
if (val < 80) return "orange";
return "red";
};
webix.ui({
view: "gage",
minRange: 0,
maxRange: 100,
color:color,
label: "Pressure"
});
Related sample: Gage Chart - Custom Colors
Вы можете загружать данные в Gage из внешних источников, а также получать данные из Gage.
Вы можете выбрать один из двух способов загрузки (задания value) данных в Gage:
webix.ui({
view:"form",
id:"form1",
width: 500,
elements:[
{ view:"gage", name:"value"}
]
});
$$("form1").load(url);
webix.ui({
view:"gage",
id: "gage2"
});
webix.ajax(url).then(function(data){
// console.log(data.json());
$$("gage2").setValue(data.json().value)
});
Чтобы получить данные Gage (заданное value), вы можете использовать метод getValue:
webix.ui({
view:"gage",
id: "gage3"
});
webix.ajax(url).then(function(data){
$$("gage3").setValue(data.json().value)
var gageValue = $$("gage3").getValue(data.json().value);
// console.log("gage value это " + gageValue);
});
Чтобы изменить скорость анимации, используйте эти классы CSS:
.webix_gage_gradient_point_animated {
transition: transform 1.3s linear;
}
.webix_gage_animated {
animation: gage_dash 1.3s linear forwards;
transition: stroke 1.3s linear, stroke-dasharray 1.3s linear;
}
@keyframes gage_dash {
to {
stroke-dashoffset: 0;
}
}
If you need to format gage values, you can use the "format" attribute. For example, you can minimize a value:
webix.ui({
view:"gage",
format: value => Math.round(value /1000),
...
});
Adding additional characters, like "%" or "$", is also possible:
webix.ui({
view:"gage",
format: v => v+"%",
...
});
Note that if gage values are too long, a small font size will be applied to the gage text. And if "webix_gage_small_font" class name is set as "css" attribute, a small font size will be applied regardless of values:
webix.ui({
view:"gage",
css: "webix_gage_small_font",
...
});
Наверх