fix: dragging rows was not possible it the selection was made by clicking on the "select/unselect all" checkbbox.

This commit is contained in:
Antoine Nguyen
2010-09-14 15:59:31 +02:00
parent 07abae51c1
commit 9b04aefbe0
+23 -10
View File
@@ -174,21 +174,33 @@
th.getElement("img").setStyle("display", "block");
th.addClass("selected");
}
var selectedRows = new Array();
$$("tbody>tr").addEvent("click", function(event) {
var tr = $(event.target).getParent();
if (!tr.hasClass("selected")) {
tr.addClass("selected");
selectedRows.include(tr);
tr.setStyle("position", "relative");
makeRowDraggable(tr);
selectRow(tr);
} else {
tr.removeClass("selected");
selectedRows.erase(tr);
tr.setStyle("position", "static");
unselectRow(tr, true);
}
});
selectRow = function(tr) {
tr.addClass("selected");
selectedRows.include(tr);
tr.setStyle("position", "relative");
makeRowDraggable(tr);
}
unselectRow = function(tr, remove) {
tr.removeClass("selected");
if (remove) {
selectedRows.erase(tr);
}
tr.setStyle("position", "static");
}
makeRowDraggable = function(item) {
new Drag.Move(item, {
droppables: ".droppable"
@@ -281,11 +293,12 @@
var checked = evt.target.get("checked");
if (checked) {
$$("tbody>tr").each(function(item) {
item.addClass("selected");
selectedRows.include(item);
selectRow(item);
});
} else {
$$("tbody>tr").each(function(item) { item.removeClass("selected"); });
$$("tbody>tr").each(function(item) {
unselectRow(item, false);
});
selectedRows.empty();
}
});