diff options
author | Andy Staudacher <andy.st@gmail.com> | 2010-02-06 16:34:37 -0800 |
---|---|---|
committer | Andy Staudacher <andy.st@gmail.com> | 2010-02-06 16:34:37 -0800 |
commit | 6a9c6163d60ea2e7bb3c6657869c9a506ed7267c (patch) | |
tree | cea1610357487b8ac144a0f5c170eca888965d7d | |
parent | 7232b6c026c3fe371b6846a8a4536a1b661804c4 (diff) | |
parent | 81b595743f75aea96a8159c8ab827fa3d25233ab (diff) |
Merge commit 'upstream/master'
-rw-r--r-- | modules/organize/css/organize.css | 2 | ||||
-rw-r--r-- | modules/organize/js/organize.js | 27 |
2 files changed, 15 insertions, 14 deletions
diff --git a/modules/organize/css/organize.css b/modules/organize/css/organize.css index 22d6e051..87f9e55b 100644 --- a/modules/organize/css/organize.css +++ b/modules/organize/css/organize.css @@ -40,10 +40,12 @@ #g-organize-album-tree ul li { padding: 0 0 .2em 1.2em; + width: 100%; } .rtl #g-organize-album-tree ul li { padding: 0 1.2em .2em 0; + width: 100%; } .g-organize-album span { diff --git a/modules/organize/js/organize.js b/modules/organize/js/organize.js index 276fc3fa..2a18cb40 100644 --- a/modules/organize/js/organize.js +++ b/modules/organize/js/organize.js @@ -132,21 +132,19 @@ grid_mouse_move_handler: function(event) { if ($(".g-drag-helper").length) { - var cellSize = $("#g-organize").data("cellSize"); - var thumbnailCount = $(".g-organize-microthumb-grid-cell:visible").length; + var organizeData = $("#g-organize").data("organizeData"); + var thumbGrid = $("#g-organize-microthumb-grid"); + var visibleCells = $(".g-organize-microthumb-grid-cell:visible"); + var scrollTop = thumbGrid.scrollTop(); - var scrollTop = $("#g-organize-microthumb-grid").scrollTop(); - var itemPos = { - col: Math.floor((event.pageX - $("#g-organize-microthumb-grid").offset().left) / cellSize.width), - row: Math.floor((event.pageY + scrollTop - $("#g-organize-microthumb-grid").offset().top) / cellSize.height) - }; - - var itemIndex = itemPos.row * cellSize.columns + itemPos.col; - var item = itemIndex < thumbnailCount ? $(".g-organize-microthumb-grid-cell:visible").get(itemIndex) : - $(".g-organize-microthumb-grid-cell:visible:last"); + var itemColumn = Math.floor((event.pageX - thumbGrid.offset().left) / organizeData.width); + var itemRow = Math.floor((event.pageY + scrollTop - thumbGrid.offset().top) / organizeData.height); + var itemIndex = Math.min(itemRow * organizeData.columns + itemColumn, visibleCells.length - 1); + var item = visibleCells.get(itemIndex); var before = event.pageX < ($(item).offset().left + $(item).width() / 2); - var left = (before && itemIndex < thumbnailCount ? $(item).position().left : $(item).position().left + cellSize.width) - 3; + var left = (before && itemIndex < visibleCells.length ? + $(item).position().left : $(item).position().left + organizeData.width) - 3; var top = $(item).position().top + 6 + scrollTop; if ($("#g-organize-drop-target-marker").length) { @@ -162,7 +160,7 @@ top: top, left: left }) .data("drop_position", {id: $(item).attr("ref"), position: before}); - $("#g-organize-microthumb-grid").append(set); + thumbGrid.append(set); } }, @@ -180,7 +178,8 @@ var gridInnerWidth = $("#g-organize-microthumb-grid").innerWidth() - 2 * parseFloat($("#g-organize-microthumb-grid").css("paddingLeft")); $("#g-organize") .height($("#g-dialog").innerHeight() - 20) - .data("cellSize", { + .data("organizeData", { + leftright: !$("body").hasClass("rtl"), height: outerHeight, width: outerWidth, columns: Math.floor(gridInnerWidth / outerWidth) |