行を右クリックしたときにその行を選択できます。右クリックでuiグリッド選択
これまでのところ、私は、次の解決策(私はhereからアイデアを持っている)があります。
を私はこのような右クリックディレクティブの作成:
app.directive('rightClick', function($parse) {
return function(scope, element, attrs) {
var fn = $parse(attrs.rightClick);
element.bind('contextmenu', function(event) {
scope.$apply(function() {
event.preventDefault();
fn(scope, {$event:event});
});
});
};
});
をそして、私は私のコントローラに機能を追加することができますそれが呼び出されます:属性right-click="rightClick($event)"
とディレクティブを追加
$scope.rightClick = function (event) {
var scope = angular.element(event.toElement).scope();
if (scope.row.entity !== undefined) {
//... select element by calling gridApi
}
};
はもちろん必要です。
この解決策の問題点は、角度のデバッグ機能であるelement.scope()
に依存し、デバッグ情報が本番環境では無効になっている場合には利用できないことです。
だから私はelement.scope()
なしで動作する代替ソリューションを探しています。つまり、「角度デバッグ機能に頼らずに右クリックで要素を選択する方法」です。デバッグ動作をオーバーライドして満足している場合
興味深い解決策。残念ながら私はセルのdivにIDがありません。おそらく、私はカスタムの行テンプレートを使用しているためです。 – Sjoerd222888
おそらく、セルのDOM要素にカスタム属性を追加できますか?また、idはセルの内容ではなく親要素にあることに注意してください。 –
元の行テンプレートのいくつかのプロパティを持つように行テンプレートを変更する必要がありました(ui-gridソースコードの 'ui-grid/ui-grid-row'テンプレートを参照)。どうも。 – Sjoerd222888