diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2009-08-29 11:22:19 -0700 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-08-29 11:22:19 -0700 |
commit | 08d7fda7f8ae68f06dfc063a8cf1acfa1a11eec7 (patch) | |
tree | 4ca658f6dadd4704194ad677e2aeab7880eb6cca /modules/organize/js | |
parent | 6de10a54ddc4273499848be6508b9fd3c9d2c492 (diff) | |
parent | 1527f149a90a46428c48b4b811d4b8ecc10b9d2c (diff) |
Merge branch 'master' of git://github.com/gallery/gallery3
Diffstat (limited to 'modules/organize/js')
-rw-r--r-- | modules/organize/js/organize.js | 128 |
1 files changed, 57 insertions, 71 deletions
diff --git a/modules/organize/js/organize.js b/modules/organize/js/organize.js index ec6bd924..04e14a2f 100644 --- a/modules/organize/js/organize.js +++ b/modules/organize/js/organize.js @@ -28,7 +28,8 @@ 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); + .animate({ width: 10, height: 10, outlineWidth: 1, margin: 1, + left: (20 * j), top: (row * 20) }, 500); }); return set; } @@ -55,10 +56,12 @@ tolerance: "pointer", greedy: true, drop: function(event, ui) { + var before_or_after = $(".currentDropTarget").css("borderLeftStyle") == "solid" ? "before" : "after"; $.organize.do_drop({ url: rearrange_url .replace("__TARGET_ID__", $(".currentDropTarget").attr("ref")) - .replace("__BEFORE__", $(".currentDropTarget").css("borderLeftStyle") == "solid" ? "before" : "after"), + .replace("__ALBUM_ID__", $(".currentDropTarget").attr("ref")) + .replace("__BEFORE__", before_or_after), source: $(ui.helper).children("img") }); } @@ -74,14 +77,14 @@ $(".gMicroThumbGridCell").css("borderStyle", "none"); } else { $.organize.do_drop({ - url: move_url.replace("__TARGET_ID__", $(event.target).attr("ref")), + url: move_url.replace("__ALBUM_ID__", $(event.target).attr("ref")), source: $(ui.helper).children("img") }); } } }, - do_drop:function(options) { + do_drop: function(options) { $("#gMicroThumbPanel").selectable("destroy"); var source_ids = []; $(options.source).each(function(i) { @@ -89,57 +92,23 @@ }); if (source_ids.length) { - $("#gOrganize .gProgressBar").progressbar().progressbar("value", 0); - $("#gOrganizeProgress").animate( - { height: "toggle", display: "toggle" }, - { - duration: "fast", - step: function() { - }, - complete: function() { - $("#gMicroThumbPanel").height($("#gMicroThumbPanel").height() - $(this).height()); - $.ajax({ - url: options.url, - type: "POST", - async: false, - data: { "source_ids[]": source_ids }, - dataType: "json", - success: function(data, textStatus) { - $("#gStatus").html(data.status); - $("#gOrganize .gProgressBar").progressbar("value", data.percent_complete); - setTimeout(function() { $.organize._run_task(data.url); }, 0); - } - }); - } - }); + $.post(options.url, + { "source_ids[]": source_ids }, + function(data) { $.organize._refresh(data); }, + "json"); } }, - _run_task: function(url) { - $.ajax({ - url: url, - async: false, - dataType: "json", - success: function(data, textStatus) { - $("#gStatus").html(data.status); - $("#gOrganize .gProgressBar").progressbar("value", data.percent_complete); - if (data.done) { - var height = $("#gOrganizeProgress").height(); - $("#gOrganizeProgress").toggle(); - $("#gMicroThumbPanel").height($("#gDialog").innerHeight() - 90); - //$("#gMicroThumbPanel").height($("#gMicroThumbPanel").height() + height); - if (data.tree) { - $("#gOrganizeAlbumTree").html(data.tree); - } - if (data.content) { - $("#gMicroThumbGrid").html(data.content); - } - $.organize.set_handlers(); - } else { - setTimeout(function() { $.organize._run_task(url); }, 0); - } - } - }); + _refresh: function(data) { + if (data.tree) { + $("#gOrganizeAlbumTree").html(data.tree); + } + if (data.grid) { + $("#gMicroThumbGrid").html(data.grid); + $("#gOrganizeSortColumn").attr("value", data.sort_column); + $("#gOrganizeSortOrder").attr("value", data.sort_order); + } + $.organize.set_handlers(); }, mouse_move_handler: function(event) { @@ -171,10 +140,14 @@ window.location.reload(); }); - $("#gDialog #gMicroThumbDone").click(function(event) { + $("#gDialog #gOrganizeClose").click(function(event) { $("#gDialog").dialog("close"); }); + $("#gOrganizeSortColumn,#gOrganizeSortOrder").change(function(event) { + $.organize.resort($("#gOrganizeSortColumn").attr("value"), $("#gOrganizeSortOrder").attr("value")); + }); + $.organize.set_handlers(); }, @@ -184,26 +157,17 @@ $(".gMicroThumbGridCell").draggable($.organize.micro_thumb_draggable); $(".gMicroThumbGridCell").mousemove($.organize.mouse_move_handler); - $(".gOrganizeBranch").droppable($.organize.branch_droppable); - $(".gBranchText").click($.organize.show_album); - $(".gOrganizeBranch .ui-icon").click($.organize.collapse_or_expand_tree); + $(".gOrganizeAlbum").droppable($.organize.branch_droppable); + $(".gAlbumText").click($.organize.show_album); }, - /** - * Open or close a branch. - */ - collapse_or_expand_tree: function(event) { - event.stopPropagation(); - $(event.currentTarget).toggleClass("ui-icon-minus").toggleClass("ui-icon-plus"); - $("#gOrganizeChildren-" + $(event.currentTarget).attr("ref")).toggle(); - }, /** * When the text of a selection is clicked, then show that albums contents */ show_album: function(event) { event.preventDefault(); - if ($(event.currentTarget).hasClass("gBranchSelected")) { + if ($(event.currentTarget).hasClass("selected")) { return; } var parent = $(event.currentTarget).parents(".gOrganizeBranch"); @@ -212,13 +176,35 @@ } $("#gMicroThumbPanel").selectable("destroy"); var id = $(event.currentTarget).attr("ref"); - $(".gBranchSelected").removeClass("gBranchSelected"); - $("#gOrganizeBranch-" + id).addClass("gBranchSelected"); + $("#gOrganizeAlbumTree .selected").removeClass("selected"); + $(".gAlbumText[ref=" + id + "]").addClass("selected"); var url = $("#gMicroThumbPanel").attr("ref").replace("__ITEM_ID__", id).replace("__OFFSET__", 0); - $.get(url, function(data) { - $("#gMicroThumbGrid").html(data); - $.organize.set_handlers(); - }); + $.get(url, {}, + function(data) { + $("#gMicroThumbGrid").html(data.grid); + $("#gOrganizeSortColumn").attr("value", data.sort_column); + $("#gOrganizeSortOrder").attr("value", data.sort_order); + $.organize.set_handlers(); + }, + "json"); + }, + + /** + * Change the sort order. + */ + resort: function(column, dir) { + var url = sort_order_url + .replace("__ALBUM_ID__", $("#gOrganizeAlbumTree .selected").attr("ref")) + .replace("__COL__", column) + .replace("__DIR__", dir); + $.get(url, {}, + function(data) { + $("#gMicroThumbGrid").html(data.grid); + $("#gOrganizeSortColumn").attr("value", data.sort_column); + $("#gOrganizeSortOrder").attr("value", data.sort_order); + $.organize.set_handlers(); + }, + "json"); } }; })(jQuery); |