2016-11-23 11 views
0

バックグラウンドモードでチャートをダウンロードしたいのですが、チャートが完全に描画され、すべてのアニメーションが終了したときはわかりません。たとえば、次のようにグラフが完全に描画され、アニメーションがext.js 6.xで終了した後に使用できるイベントは?

Sencha Fiddle

私は "ダウンロード・チャート" ボタンをクリックしてください

var chart = Ext.create({ 
    xtype: 'polar', 
    width: 400, 
    height: 400, 
    store: { 
     fields: ['Name', 'Data'], 
     data: [ 
      { 'Name': 'Price',  'Data': 100 }, 
      { 'Name': 'Revenue %', 'Data': 100 }, 
      { 'Name': 'Growth %', 'Data': 100 }, 
      { 'Name': 'Product %', 'Data': 100 }, 
      { 'Name': 'Market %', 'Data': 100 } 
     ] 
    }, 
    axes: [{ 
     type: 'category', 
     position: 'angular', 
     grid: true 
    }, { 
     type: 'numeric', 
     position: 'radial', 
     grid: true 
    }], 
    series: [{ 
     type: 'radar', 
     xField: 'Name', 
     yField: 'Data', 
    }], 
    listeners: { 
     afterrender: function() { 
      chart.download(); // not work 
     } 
    } 
}); 

Ext.create({ 
    xtype: 'panel', 
    renderTo: Ext.getBody(), 
    dockedItems: [{ 
     xtype: 'toolbar', 
     dock: 'top', 
     items: [{ 
      xtype: 'button', 
      text: 'download chart', 
      handler: function() { 
       chart.download(); // works correctly 
      } 
     }] 
    }] 
}); 

var renderCt = document.createElement('div'); 
document.body.appendChild(renderCt); 
chart.render(renderCt); 
。グラフは正しくダウンロードされますが、イベント "afterrender"が発生するとエラーが表示されるか、ダウンロードされたファイルが空です(より正確にはイメージは透明です)。チャートが完全に描画されていないために発生します。

私は私の場合について説明します。私はページ上にいくつかのチャートを持っており、このページに表示するためのいくつかの設定があります。しかし、それは完全ではない設定です。自分のサーバーにグラフのデータ(画像のbase64データ)を送りたい。データが一杯になるようにする必要があります(たとえば、300x300 - > 600x600 - サーバーに送信)、ページに表示されない他の情報を追加します(凡例など)。 。

私は私のサーバー上で、1つのリクエストで完全な設定で複数のチャートを送信したいと思います。チャートのすべてのフルデータ(base64データ)が含まれます。すべてのチャートがバックグラウンドモードで完全に描画され、データをサーバーに送信できるかどうかを知る必要があります。

グラフが完全に描画され、アニメーションが終了したときに発生するイベントはありますか?

ご回答ありがとうございます。

答えて

0

http://docs.sencha.com/extjs/6.2.1/classic/Ext.chart.PolarChart.html#method-afterShow

しかし、あなたがデザインを再考する必要があり、明示的なユーザーとの対話なしでダウンロードが悪いです... はまたthis chromium commit

+0

をチェックアウト 'afterShow'が唯一のコンポーネント自体を指し、それはありません。チャートアニメーションへの影響。 –

+0

バックグラウンドモードでのダウンロードチャートが正確ではないことは知っています。私は上記の質問に私のケースを説明しました。私はこのケースでどんなデザインを使うべきか分かりません。 –

関連する問題