Scala / Lift を使用した Web アプリケーション プロジェクトに取り組んでいます。ユーザー エクスペリエンスを向上させるために、アプリケーションでドラッグ アンド ドロップをサポートしたいと考えています。
しかし、jQuery の部分を Lift でブリッジする方法がよくわかりません。
現在、私は作業中の UI パーツを持っています。div ブロックには、データベースからの ID を持つlistRow
HTML5 属性でドラッグ可能なという名前のクラスがあります。data-stuffid
という名前のブロックにドラッグすることができ、JavaScript でフィールドを正しくnextAction
出力できました。data-stuffid
これが私のJavaScriptコードブロックです:
<script type="text/javascript">
$('.listRow').draggable({
revert: true
});
$("#nextAction").droppable({
accept: ".listRow",
tolerance: "pointer",
activeClass: "dropActive",
hoverClass: "dropHover",
drop: function(event, ui) {
var stuffID = ui.draggable.data("stuffid")
console.log(stuffID)
}
})
しかし、Lift AJAX ハンドラーを呼び出して、その場合に Lift に stuffID を渡す方法がわかりません。
私がやりたいのは、次のような Scala 関数を用意することです。
def showDialog(stuffID: String): JsCmds
{
// Do some server side work, ex: querying database
// Return a javascript cmds likes SHtml.ajaxButton...etc.
Alert("SutffID:" + stuffID)
}
そして、ユーザー.listRow
が "#nextAction" にドラッグするshowDialog
と、呼び出され、javascript をブラウザーに返し、ブラウザーにそれを実行させます。