Всем доброго времени суток
Не изменяется цвет линии в графиках:
Ext.require(['Ext.*']);
Ext.onReady(function() {
Ext.QuickTips.init();
// Блок 1.
Ext.define('BlackFrog', {
extend: 'Ext.data.Model',
fields: ['name', 'data1']
});
var store = Ext.create('Ext.data.JsonStore', {
model: 'BlackFrog',
//loading: true,
proxy: {
type: 'ajax',
url: './engine/getData.php',
actionMethods: 'POST',
reader: {
type: 'json',
root: 'contents'
}
}
});
store.load();
// Окончание блока 1.
var chart1 = Ext.create('Ext.chart.Chart',{
xtype: 'chart',
animate: false,
store: store,
insetPadding: 30,
axes: [{
type: 'Numeric',
minimum: 0,
position: 'left',
fields: ['data1'],
title: false,
grid: true,
label: {
renderer: Ext.util.Format.numberRenderer('0,0'),
font: '10px Arial'
}
}, {
type: 'Category',
position: 'bottom',
fields: ['name'],
title: false,
label: {
font: '11px Arial',
renderer: function(name) {
return name.substr(0, 3) + ' 07';
}
}
}],
series: [{
type: 'line',
axis: 'left',
xField: 'name',
yField: 'data1',
listeners: {
itemmouseup: function(item) {
Ext.example.msg('Item Selected', item.value[1] + ' visits on ' + Ext.Date.monthNames[item.value[0]]);
}
},
tips: {
trackMouse: true,
width: 80,
height: 40,
renderer: function(storeItem, item) {
this.setTitle(storeItem.get('name'));
this.update(storeItem.get('data1'));
}
},
style: {
fill: '#38B8BF',
stroke: '#38B8BF'
},
markerConfig: {
type: 'circle',
}
}]
});
var panel1 = Ext.create('widget.panel', {
width: 600,
height: 300,
title: 'ExtJS.com Visits Trends, 2007/2008 (No styling)',
renderTo: Ext.getBody(),
layout: 'fit',
items: chart1
});
});
Заметил странность, что цвет линии не изменяется при получении данных методом AJAX из php.
Стоит только заменить Блок 1 на пример рандомной генераци данных из EXT JS:
window.generateData = function(n, floor){
var data = [],
p = (Math.random() * 11) + 1,
i;
floor = (!floor && floor !== 0)? 20 : floor;
for (i = 0; i < (n || 12); i++) {
data.push({
name: Ext.Date.monthNames[i % 12],
data1: Math.floor(Math.max((Math.random() * 100), floor))
});
}
return data;
};
window.generateDataNegative = function(n, floor){
var data = [],
p = (Math.random() * 11) + 1,
i;
floor = (!floor && floor !== 0)? 20 : floor;
for (i = 0; i < (n || 12); i++) {
data.push({
name: Ext.Date.monthNames[i % 12],
data1: Math.floor(((Math.random() - 0.5) * 100), floor)
});
}
return data;
};
window.store = Ext.create('Ext.data.JsonStore', {
fields: ['name', 'data1'],
data: generateData()
});
то линии, о чудо, начинают менять цвета как мне нужно. То бишь при получении данных случайной генерации из javascript окрашивание линий проходи, а при AJAX тишина.
Сталкивались с подобными проблемами?