diff options
author | Jakob Hilden <jhild@umich.edu> | 2009-02-04 07:14:22 +0000 |
---|---|---|
committer | Jakob Hilden <jhild@umich.edu> | 2009-02-04 07:14:22 +0000 |
commit | 5b17619ea82f8d867a38e902fee2f68a0e7858fd (patch) | |
tree | bd0cddf6baef8da5fb580469eb15aa69794320f7 /themes/admin_default/js/ui.init.js | |
parent | 2f5344c1daa6d318ea85a1a4fe2d12d4660dd72b (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.js | 34 |
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; } + + |