summaryrefslogtreecommitdiff
path: root/themes/admin_default/js/ui.init.js
diff options
context:
space:
mode:
authorJakob Hilden <jhild@umich.edu>2009-02-04 07:14:22 +0000
committerJakob Hilden <jhild@umich.edu>2009-02-04 07:14:22 +0000
commit5b17619ea82f8d867a38e902fee2f68a0e7858fd (patch)
treebd0cddf6baef8da5fb580469eb15aa69794320f7 /themes/admin_default/js/ui.init.js
parent2f5344c1daa6d318ea85a1a4fe2d12d4660dd72b (diff)
added inplace edit to tag admin (form still needs to be set to rename using AJAX)
removed unnecessary {element: dialogLinks[i]} from dialog and panelLink handling. now uses event.currentTarget
Diffstat (limited to 'themes/admin_default/js/ui.init.js')
-rw-r--r--themes/admin_default/js/ui.init.js34
1 files changed, 30 insertions, 4 deletions
diff --git a/themes/admin_default/js/ui.init.js b/themes/admin_default/js/ui.init.js
index 04b7ab0c..efc2af04 100644
--- a/themes/admin_default/js/ui.init.js
+++ b/themes/admin_default/js/ui.init.js
@@ -17,13 +17,13 @@ $(document).ready(function(){
// Apply modal dialogs
var dialogLinks = $(".gDialogLink");
for (var i=0; i < dialogLinks.length; i++) {
- $(dialogLinks[i]).bind("click", {element: dialogLinks[i]}, handleDialogEvent);
+ $(dialogLinks[i]).bind("click", handleDialogEvent);
}
// Apply hide/show functionality on user admin view
var panelLinks = $(".gPanelLink");
for (i=0; i<panelLinks.length; i++) {
- $(panelLinks[i]).bind("click", {element: panelLinks[i]}, handlePanelEvent);
+ $(panelLinks[i]).bind("click", handlePanelEvent);
}
// Round corners
@@ -33,11 +33,35 @@ $(document).ready(function(){
// Add drop shadows
$(".gSelected").dropShadow();
-
+
+ // In-place editing for tag admin
+ $(".gEditable").bind("click", editInplace);
});
+function editInplace(element){
+ // close already open inplace edit forms
+ if ($("#gRenameTagForm").length) {
+ var li = $("#gRenameTagForm").parent();
+ $("#gRenameTagForm").parent().html($("#gRenameTagForm").parent().data("revert"));
+ //li.$(".gEditable"); // TODO: would be good if below statements could only execute within li
+ $(".gEditable").bind("click", editInplace);
+ $(".dialogLink").bind("click", handleDialogEvent);
+ }
+
+ var tag_id = $(this).attr('id').substr(5);
+ $(this).parent().data("revert", $(this).parent().html());
+ var form = '<form id="gRenameTagForm" method="post" action="/gallery3/index.php/admin/tags/rename/' + tag_id + '">';
+ form += '<input id="name" name="name" type="text" class="textbox" value="' + tag_name + '" />';
+ form += '<input type="submit" class="submit" value="Save" />';
+ form += '<span>or</span> <a href="#">cancel</a>';
+ form += '</form>';
+
+ $(this).parent().html(form);
+ $("#gRenameTagForm .textbox").focus();
+}
+
function handlePanelEvent(event) {
- togglePanel(event.data.element);
+ togglePanel(event.currentTarget);
event.preventDefault();
}
@@ -89,3 +113,5 @@ function togglePanel(element, on_success) {
}
return false;
}
+
+