2012-04-02 4 views
0

はExtJSの4.07を使用して、私は、サーバーからデータをロードする簡単なツリー持つ完了することを決定する前に、非同期アクション待ちをドロップ:ExtJSの4ドラッグアンドドロップ(またはしない)

<script type="text/javascript"> 
    Ext.onReady(function() { 
     Ext.create('Ext.Viewport', { 
      layout: 'border', 
      items: [ 
       { id: 'centerpanel', region: 'center', layout: 'fit' }, 
      ] 
     }); 

     var store = Ext.create('Ext.data.TreeStore', { 
      proxy: { 
       type: 'ajax', 
       url: '/getlist' 
      }, 
      root: { 
       text: 'data', 
       id: '/', 
       expanded: true 
      } 
     }); 

     var treelist = Ext.create('Ext.tree.Panel', { 
      id: 'tree', 
      store: store, 
      width: 500, 
      height: 500, 
      viewConfig: { 
       plugins: { 
        ptype: 'treeviewdragdrop', 
       }, 
      } 
     }); 

     Ext.getCmp('centerpanel').add(treelist); 
    }); 
</script> 

問題があるの:どのようにアイテムを同じツリーの別の場所にドラッグした後で、非同期アクションが完了するのを待つことができます(たとえば、extjsポップアップまたはajaxリクエスト)。

誰かが私にヒントを与えたり、正しい方向を教えてもらえますか?

答えて

0

答えは、実際にはtreepanelのbeforedropイベントを使用し、そこで非同期アクションを行い、イベントでfalseを返します。

しかし、いくつかの問題(および回避策)が次のリリース(4.1)で修正される予定です。

の回避策を含め、問題の説明は、ここで見つけることができます:

http://www.sencha.com/forum/showthread.php?134642-Ext.tree.ViewDDPlugin-beforedrop-event-not-working-accordingly-the-API-docs

関連する問題