wicket-dnd では、HTML テーブルでdropTop()
/を使用できますか? dropBottom()
もしそうなら、セレクターは何であるべきですか?
を介して作成された HTML テーブルがあり、ListView
で成功しましたdropCentre("tr")
が、機能しているように見えるドロップ オプションはこれだけです。dropTopAndBottom()
理想的には、ドロップ ターゲットを示すテーブル行間の水平方向の仕切りを使用して表示したいと考えています。
更新: 簡潔にするために簡略化された関連コードを次に示します。問題のテーブルには行ごとにラベルがあり、フォームに追加されます。
// Container class for Wicket DND
final WebMarkupContainer dataWrapper = new WebMarkupContainer("dataWrapper");
dataWrapper.add(new WebTheme());
final ListView<BinaryData> data = new ListView<BinaryData>("data", list) {
@Override
protected void populateItem(final ListItem<BinaryData> item) {
final BinaryData data = item.getModelObject();
item.add(new Label("label", data.getLabel()));
}
@Override
protected ListItem<BinaryData> newItem(final int index, final IModel<BinaryData> itemModel) {
final ListItem<BinaryData> item = super.newItem(index, itemModel);
item.setOutputMarkupId(true);
return item;
}
};
dataWrapper.add(data);
dataWrapper.add(new DragSource(Operation.MOVE) {
@Override
public void onAfterDrop(final AjaxRequestTarget target, final Transfer transfer) {
}
}.drag("tr"));
dataWrapper.add(new DropTarget(Operation.MOVE) {
@Override
public void onDrop(final AjaxRequestTarget ajaxTarget, final Transfer transfer, final Location location) {
}
}.dropTopAndBottom("tr"));
form.add(dataWrapper);
そしてマークアップ:
<div wicket:id="dataWrapper">
<table>
<tbody>
<tr wicket:id="data">
<td wicket:id="label"></td>
</tr>
</tbody>
</table>
</div>
私は Wicket-DND 0.6.0 と Wicket 6.6.0 を使用しています。このコードを使用して行をドラッグすると、ドラッグ インジケーターに赤い十字アイコンが表示されます。