私は、タイムスタンプ付きメッセージを保存して表示する簡単なアプリケーションを作成しています。私はこれらのメッセージを記述するためのモデルを持っているExtJS:グリッドとチャートの間でストアを共有する
{
"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' }
]
});
私は、グリッド内のこれらのメッセージを表示する問題がないメッセージが含むJSONオブジェクトである、のような2つの主なフィールドは言います。しかし、私は今、これらのメッセージをグラフに表示したいと思います。たとえば、上記の例では#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経由でクライアントにストリーミングされたライブイベントだけです。
アドバイスありがとうございます。
あなたは、私は以来、撤回してきた私の答えは、このコメントをした:「私が受け取るメッセージはどこにもバックアップされていない、彼らは生きていますsocketIOを介してクライアントにストリーミングされたイベント "これはあなたを助けるために非常に重要な情報です。 ExtJSを設定するだけではなく、ExtJSの基礎となるJavascript言語に大きく依存しているカスタムソリューションが必要であることを忠告してください。 –