summaryrefslogtreecommitdiff
path: root/modules/organize/js
diff options
context:
space:
mode:
Diffstat (limited to 'modules/organize/js')
-rw-r--r--modules/organize/js/organize.js141
1 files changed, 101 insertions, 40 deletions
diff --git a/modules/organize/js/organize.js b/modules/organize/js/organize.js
index 538e366d..30b3f8b6 100644
--- a/modules/organize/js/organize.js
+++ b/modules/organize/js/organize.js
@@ -150,9 +150,7 @@ var selectable = {
setDrawerButtonState();
},
stop: function(event, ui) {
- if ($("#gMicroThumbGrid li.ui-selected").length > 0) {
- getEditForm();
- }
+ getEditForm();
}
};
@@ -197,11 +195,21 @@ function drawerHandleButtonsClick(event) {
var operation = $(this).attr("ref");
switch (operation) {
case "edit":
+ case "close":
$("#gOrganizeEditDrawerPanel").animate(
{"height": "toggle", "display": "block"},
{duration: "fast",
complete: function() {
setSelectedThumbs();
+ if (operation == "close") {
+ $("#gOrganizeEditHandleButtonsLeft a[ref='edit']").css("display", "inline-block");
+ $("#gOrganizeEditHandleButtonsLeft a[ref='close']").css("display", "none");
+ $("#gOrganizeEditHandleButtonsMiddle a").css("display", "none");
+ } else {
+ $("#gOrganizeEditHandleButtonsLeft a[ref='edit']").css("display", "none");
+ $("#gOrganizeEditHandleButtonsLeft a[ref='close']").css("display", "inline-block");
+ $("#gOrganizeEditHandleButtonsMiddle a").css("display", "inline-block");
+ }
},
step: function() {
$("#gMicroThumbPanel").height(heightMicroThumbPanel - $(this).height());
@@ -209,22 +217,59 @@ function drawerHandleButtonsClick(event) {
});
break;
case "select-all":
- $(".gMicroThumbContainer").addClass("ui-selected");
+ $("#gMicroThumbGrid li").addClass("ui-selected");
$("#gMicroThumbSelectAll").hide();
$("#gMicroThumbUnselectAll").show();
+ setDrawerButtonState();
+ getEditForm();
break;
case "unselect-all":
- $(".gMicroThumbContainer").removeClass("ui-selected");
+ $("#gMicroThumbGrid li").removeClass("ui-selected");
$("#gMicroThumbSelectAll").show();
$("#gMicroThumbUnselectAll").hide();
+ setDrawerButtonState();
break;
- case "close":
+ case "done":
$("#gDialog").dialog("close");
break;
+ case "submit":
+ var currentTab = $("#gOrganizeEditForm").tabs("option", "selected");
+ var form = $("#pane-"+currentTab+" form");
+ var url = $(form).attr("action")
+ .replace("__FUNCTION__", $(form).attr("ref"));
+ $.ajax({
+ data: $(form).serialize(),
+ dataType: "json",
+ success: function (data, textStatus) {
+ if (data.task) {
+ // @todo if task is sent then create a progress bar and run the task
+ } else {
+ $("#pane-"+currentTab).children("form").replaceWith(data.form);
+ if (data.message) {
+ $("#pane-"+currentTab + " form").before("<div class=\"gSuccess\">" + data.message +"</div>");
+ }
+ }
+ },
+ type: "POST",
+ url: url
+ });
+ break;
+ case "reset":
+ currentTab = $("#gOrganizeEditForm").tabs("option", "selected");
+ form = $("#pane-"+currentTab+" form");
+ $.ajax({
+ data: serializeItemIds("#gMicroThumbPanel li.ui-selected"),
+ dataType: "html",
+ success: function (data, textStatus) {
+ $("#pane-"+currentTab + " form").replaceWith(data);
+ },
+ type: "GET",
+ url: $(form).attr("action").replace("__FUNCTION__", "reset_" + $(form).attr("ref"))
+ });
+ break;
default:
- var postData = serializeItemIds("#gMicroThumbPanel li.ui-selected");
$.ajax({
- data: postData,
+ data: serializeItemIds("#gMicroThumbPanel li.ui-selected"),
dataType: "json",
success: operationCallback,
type: "POST",
@@ -408,25 +453,22 @@ function get_url(uri, parms) {
function setDrawerButtonState() {
$("#gOrganizeFormThumbStack").empty();
$("#gOrganizeEditForm").empty();
- switch ($("#gMicroThumbGrid li.ui-selected").length) {
- case 0:
+ var selectedCount = $("#gMicroThumbGrid li.ui-selected").length;
+ if (selectedCount) {
+ $("#gOrganizeEditHandleButtonsLeft a").removeAttr("disabled");
+ $("#gOrganizeEditHandleButtonsLeft a").removeClass("ui-state-disabled");
+
+ if (selectedCount > 1) {
+ $("#gOrganizeEditHandleButtonsLeft a[ref='albumCover']").attr("disabled", true);
+ $("#gOrganizeEditHandleButtonsLeft a[ref='albumCover']").addClass("ui-state-disabled");
+ }
+ setSelectedThumbs();
+ } else {
if ($("#gOrganizeEditDrawerPanel::visible").length) {
- $("#gOrganizeEditHandleButtonsLeft a[ref='edit']").trigger("click");
+ $("#gOrganizeEditHandleButtonsLeft a[ref='close']").trigger("click");
}
$("#gOrganizeEditHandleButtonsLeft a").attr("disabled", true);
$("#gOrganizeEditHandleButtonsLeft a").addClass("ui-state-disabled");
- break;
- case 1:
- $("#gOrganizeEditHandleButtonsLeft a").removeAttr("disabled");
- $("#gOrganizeEditHandleButtonsLeft a").removeClass("ui-state-disabled");
- setSelectedThumbs();
-// getEditForm();
- break;
- default:
- $("#gOrganizeEditHandleButtonsLeft a[ref='albumCover']").attr("disabled", true);
- $("#gOrganizeEditHandleButtonsLeft a[ref='albumCover']").addClass("ui-state-disabled");
- setSelectedThumbs();
-// getEditForm();
}
}
@@ -456,17 +498,25 @@ function setSelectedThumbs() {
}
function getEditForm() {
- var postData = "";
- $("li.ui-selected").each(function(i) {
- postData += "&item[]=" + $(this).attr("ref");
- });
- var url_data = get_url("organize/editForm", {}) + postData;
- $.get(url_data, function(data, textStatus) {
+ if ($("#gMicroThumbGrid li.ui-selected").length > 0) {
+ var postData = serializeItemIds("li.ui-selected");
+ var url_data = get_url("organize/editForm", {}) + postData;
+ $.get(url_data, function(data, textStatus) {
+ $("#gOrganizeEditForm").tabs("destroy");
+ $("#gOrganizeEditForm").html(data);
+ if ($("#gOrganizeEditForm ul li").length) {
+ $("#gOrganizeEditForm").tabs();
+ $("#gOrganizeEditHandleButtonsMiddle a").removeAttr("disabled");
+ $("#gOrganizeEditHandleButtonsMiddle a").removeClass("ui-state-disabled");
+ } else {
+ $("#gOrganizeEditHandleButtonsMiddle a").attr("disabled", true);
+ $("#gOrganizeEditHandleButtonsMiddle a").addClass("ui-state-disabled");
+ }
+ });
+ } else {
$("#gOrganizeEditForm").tabs("destroy");
- //$("#gOrganizeEditForm").empty();
- $("#gOrganizeEditForm").html(data);
- $("#gOrganizeEditForm").tabs();
- });
+ $("#gOrganizeEditForm").empty();
+ }
}
function serializeItemIds(selector) {
@@ -478,6 +528,16 @@ function serializeItemIds(selector) {
return postData;
}
+function submitCurrentForm(event) {
+ console.log("submitCurrentForm");
+ return false;
+}
+
+function resetCurrentForm(event) {
+ console.log("resetCurrentForm");
+ return false;
+}
+
function createProgressDialog(title) {
$("body").append("<div id='gOrganizeProgressDialog'>" +
"<div class='gProgressBar'></div>" +
@@ -548,12 +608,13 @@ function getViewportSize() {
function displayAjaxError(error) {
$("body").append("<div id=\"gAjaxError\" title=\"" + FATAL_ERROR + "\">" + error + "</div>");
+
$("#gAjaxError").dialog({
- autoOpen: true,
- autoResize: false,
- modal: true,
- resizable: true,
- width: 610,
- height: $("#gDialog").height()
- });
+ autoOpen: true,
+ autoResize: false,
+ modal: true,
+ resizable: true,
+ width: 610,
+ height: $("#gDialog").height()
+ });
}