2016-12-12 3 views
0

プロジェクトでnvd3s lineWithFocusChartを使用しています。私の顧客は、開始トグルと終了トグルを使用してブラシの範囲をリサイズできるようにしたいが、ドラッグによるブラシの範囲の移動は望ましくない。私の最初の試みは、移動が検出された場合、イベントハンドラはfalseを返すようになった。nvd3:ブラシの移動を無効にしますか?

chart.focus.dispatch.on("brush.start", function(evt) { 
       if (d3.event.mode === "move") { 
        console.log("Aborting move operation"); 
        d3.event.sourceEvent.stopPropagation(); 
        d3.event.sourceEvent.preventDefault(); 
        return false; 
       } else { 
        console.log("Ok"); 
        return true; 
       } 
      }); 

これは動作しません - 私はクリアリーイベントハンドラからの復帰、移動やリサイズを区別することができますが、まだ両方のことができますオペレーション。イベントハンドラのコードは後で実行されると思います。

ライブラリの元のソースを変更することを控えたいのですが、これはnpmに含まれているため、他のシステムでの更新のマナニズムやプロジェクトの新規インストールを壊すことになります。

提案がありますか?前もって感謝します!あなたがサイズ変更を削除し、のみフォーカスを移動する能力を残したい場合

/*Only permit resize */ 
/*Remove ability to drag/ double-click focus */ 
    .nv-brush>.background{ 
     display:none; 
    } 
/*Remove ability to move focus */ 
    .nv-brush>.extent{ 
     display:none; 
    } 

:あなただけのCSSでかなり簡単にこれを達成することができます

答えて

0

/*Only permit move */ 
/*Remove ability to drag/ double-click focus */ 
    .nv-brush>.background{ 
     display:none; 
    } 
/*Remove ability to resize focus*/ 
    g.resize{ 
     display:none; 
    } 
関連する問題