Я пишу простое приложение, хранящее и отображающее сообщения с метками времени.Сообщения - это объекты JSON, содержащие, скажем, 2 основных поля, например:
{
"emitted": "2011-12-08 12:00:00",
"message": "This is message #666"
}
У меня есть модель для описания этих сообщений:
Ext.define('Message', {
extend: 'Ext.data.Model',
fields: [
{ name: 'emitted', type: 'date' },
{ name: 'message', type: 'string' }
]
});
У меня нет проблем с отображением этих сообщений в сетке.Однако теперь я хотел бы отобразить эти сообщения на графике.Например, я мог бы взять числа (как # 666 в приведенном выше примере) и отобразить линейный график.
В идеале, я не хочу создавать новый магазин для графика, я быхотел бы повторно использовать то же хранилище сообщений, но применить фильтр к полям, чтобы получить правильное значение.Я не знаю, что-то похожее на:
var chart = {
xtype: 'chart',
...
series: [{
type: 'line',
axis: ['left', 'bottom'],
xField: 'emitted',
yField: {fieldName:'message', fieldGrabber: function(v) {
new RegExp("This is message #(\d+)$", "g").exec(v)[1]
}}
}]
};
Возможно ли подобное в ExtJS?Я просто попытался объяснить, что я пытаюсь сделать, я понятия не имею, где найти такую функцию: в классе диаграммы, в классе магазина или с помощью своего рода прокси-сервера pf в магазине.
Примечание: я не могу попросить данные правильно отформатировать на сервере.Сообщения, которые я получаю, нигде не сохраняются, они просто являются живыми событиями, передаваемыми клиенту через socketIO.
Любые советы с благодарностью!