From b909132f54d6dd3a1a9455a3255767ef26bce658 Mon Sep 17 00:00:00 2001 From: Jakob Hilden Date: Wed, 25 Mar 2009 04:47:25 +0000 Subject: tag changes in the tag admin should now work as expected --- modules/tag/controllers/admin_tags.php | 4 ++- modules/tag/js/tag.js | 51 ++++++++++++++++++++++++++++++++++ modules/tag/views/admin_tags.html.php | 12 +++++++- 3 files changed, 65 insertions(+), 2 deletions(-) (limited to 'modules/tag') diff --git a/modules/tag/controllers/admin_tags.php b/modules/tag/controllers/admin_tags.php index d6ae310b..90b051aa 100644 --- a/modules/tag/controllers/admin_tags.php +++ b/modules/tag/controllers/admin_tags.php @@ -103,7 +103,9 @@ class Admin_Tags_Controller extends Admin_Controller { print json_encode( array("result" => "success", - "location" => url::site("admin/tags"))); + "location" => url::site("admin/tags"), + "tag_id" => $tag->id, + "new_tagname" => $tag->name)); } else { print json_encode( array("result" => "error", diff --git a/modules/tag/js/tag.js b/modules/tag/js/tag.js index 3cbc30bf..b0ba2516 100644 --- a/modules/tag/js/tag.js +++ b/modules/tag/js/tag.js @@ -15,3 +15,54 @@ function ajaxify_tag_form() { } }); } + +function closeEditInPlaceForms() { + // closes currently open inplace edit forms + if ($("#gRenameTagForm").length) { + var li = $("#gRenameTagForm").parent(); + $("#gRenameTagForm").parent().html($("#gRenameTagForm").parent().data("revert")); + li.height(""); + $(".gEditable", li).bind("click", editInplace); + $(".gDialogLink", li).bind("click", handleDialogEvent); + } +} + +function editInplace(element) { + closeEditInPlaceForms(); + + // creat edit form + var tag_id = $(this).attr('id').substr(5); + var tag_name = $(this).text(); + var tag_width = $(this).width(); + $(this).parent().data("revert", $(this).parent().html()); + var form = '
'; + form += ''; + form += ''; + form += ''; + form += '' + or_i18n + ' ' + cancel_i18n + ''; + form += '
'; + + // add edit form + $(this).parent().html(form); + $("#gRenameTagForm #name") + .width(tag_width+30) + .focus(); + //$("#gRenameTagForm").parent().height( $("#gRenameTagForm").height() ); + $("#gRenameTagForm a").bind("click", closeEditInPlaceForms); + + ajaxify_editInplaceForm = function() { + $("#gRenameTagForm").ajaxForm({ + dataType: "json", + success: function(data) { + if (data.result == "success") { + closeEditInPlaceForms(); // close form + $("#gTag-" + data.tag_id).text(data.new_tagname); // update tagname + console.log(data); + window.location.reload(); + } + } + }); + }; + ajaxify_editInplaceForm(); +} \ No newline at end of file diff --git a/modules/tag/views/admin_tags.html.php b/modules/tag/views/admin_tags.html.php index 484cb759..db51555a 100644 --- a/modules/tag/views/admin_tags.html.php +++ b/modules/tag/views/admin_tags.html.php @@ -1,9 +1,19 @@ +

-- cgit v1.2.3