summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2010-02-09 08:23:43 -0800
committerTim Almdal <tnalmdal@shaw.ca>2010-02-09 08:23:43 -0800
commit5e703186fbf0c0cb689fc737de7c074249361ef9 (patch)
tree5414fe15f47bc0f031f9a07e707c682c30cf738d
parentf9d00aa7429599f46e09b23e8313932ac5e186c3 (diff)
Current state of organize. works for all browsers except IE. IE no longer implodes, but dragging doesn't work. Selecting works fine, either by using the lasso or clicking. Ctrl-Click adds to the selection. The problem is that when a drag is attempted, the selection gets lost and things start falling apart.
-rw-r--r--modules/organize/js/organize.js56
1 files changed, 30 insertions, 26 deletions
diff --git a/modules/organize/js/organize.js b/modules/organize/js/organize.js
index 942e49e5..130c0f99 100644
--- a/modules/organize/js/organize.js
+++ b/modules/organize/js/organize.js
@@ -6,32 +6,30 @@
cursorAt: { left: -10, top: -10},
appendTo: "#g-organize-content-pane",
helper: function(event, ui) {
- var selected = $(".ui-draggable.ui-selected img");
- if (selected.length) {
- var set = $('<div class="g-drag-helper"></div>')
- .css({
- zIndex: 2000,
- width: 80,
- height: Math.ceil(selected.length / 5) * 16
- });
+ var selected = $(".ui-selected");
+ var set = $('<div class="g-drag-helper"></div>')
+ .css({
+ zIndex: 2000,
+ width: 80,
+ height: Math.ceil(selected.length / 5) * 16
+ });
- selected.each(function(i) {
- var row = parseInt(i / 5);
- var j = i - (row * 5);
- var o = $(this).offset();
- var copy = $(this).clone()
- .css({
- width: $(this).width(), height: $(this).height(), display: "block",
- margin: 0, position: 'absolute', outline: '5px solid #fff',
- left: o.left - event.pageX, top: o.top - event.pageY
- })
- .appendTo(set)
- .animate({ width: 10, height: 10, outlineWidth: 1, margin: 1,
- left: (20 * j), top: (row * 20) }, 500);
- });
- return set;
- }
- return null;
+ selected.each(function(i) {
+ var row = parseInt(i / 5);
+ var j = i - (row * 5);
+ var img = $("img", this);
+ var o = img.offset();
+ var copy = img.clone()
+ .css({
+ width: img.width(), height: img.height(), display: "block",
+ margin: 0, position: 'absolute', outline: '5px solid #fff',
+ left: o.left - event.pageX, top: o.top - event.pageY
+ })
+ .appendTo(set)
+ .animate({ width: 10, height: 10, outlineWidth: 1, margin: 1,
+ left: (20 * j), top: (row * 20) }, 500);
+ });
+ return set;
},
start: function(event, ui) {
@@ -138,6 +136,7 @@
},
grid_mouse_move_handler: function(event) {
+ var continue_events = true;
if ($(".g-drag-helper").length) {
var organizeData = $("#g-organize").data("organizeData");
var thumbGrid = $("#g-organize-microthumb-grid");
@@ -173,8 +172,13 @@
.data("drop_position", {id: $(item).attr("ref"),
position: organizeData.rtl ? !before : before});
thumbGrid.append(set);
+ if ($.browser.msie) {
+ $(".g-drag-helper").offset({top: event.pageY, left: event.PageX});
+ event.preventDefault();
+ continue_events = false;
+ }
}
- return true;
+ return continue_events;
},
/**