summaryrefslogtreecommitdiff
path: root/modules/organize/js
diff options
context:
space:
mode:
Diffstat (limited to 'modules/organize/js')
-rw-r--r--modules/organize/js/organize.js128
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);