以下是自己實做 TreeView 需要 implement 的 method:
http://doxygen.db48x.net/mozilla-full/html/d1/dbc/interfacensITreeView.html
其中 canDrop () 跟 drop () 的參數 orientation 可以拿來判斷現在 drag 的 item 到底是在 target item 的正上方 (DROP_ON), 前面或後面 (DROP_BEFORE/DROP_AFTER)。所以如果你正巧要實做把 item 移動到資料夾,又需要實做 ordering item 時,就可以利用 orientation 來判斷要執行這兩種動作的那一種。
以下的程式就可以拿來印出 drag 的狀況:
_printDrop: function (aRow, aOrientation) { let targetFolder = mytreeview._map[aRow]._folder; let aDropText = null; if (aOrientation == -1) aDropText = "DROP_BEFORE"; else if (aOrientation == 0) aDropText = "DROP_ON"; else aDropText = "DROP_AFTER" Application.console.log (aDropText + ": " + targetFolder.name); },
沒有留言 :
張貼留言