summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2010-02-02 10:55:22 -0800
committerTim Almdal <tnalmdal@shaw.ca>2010-02-02 10:55:22 -0800
commit370faf5f265e634b0828be9695cd6eb9676ff6f7 (patch)
treeb3e48ced8d231b5c26539d87d19f68a1f0a6c8e5 /lib
parentaa2e4de024a985f16beb8c1ad90daf0e668d2e28 (diff)
Display the error message for the in place edit. Also improve the double click guard. Fixes ticket #1000.
Diffstat (limited to 'lib')
-rw-r--r--lib/gallery.in_place_edit.js44
1 files changed, 18 insertions, 26 deletions
diff --git a/lib/gallery.in_place_edit.js b/lib/gallery.in_place_edit.js
index c10400e3..5a815dac 100644
--- a/lib/gallery.in_place_edit.js
+++ b/lib/gallery.in_place_edit.js
@@ -10,10 +10,10 @@
},
_show: function(target) {
- if ($(this).data("gallery_in_place_edit") == true) {
+ if ($(target).data("gallery_in_place_edit") == true) {
return;
}
- $(this).data("gallery_in_place_edit", true);
+ $(target).data("gallery_in_place_edit", true);
var self = this;
var tag_width = $(target).width();
$(self).data("tag_width", tag_width);
@@ -27,26 +27,28 @@
var parent = $(target).parent();
parent.children().hide();
parent.append(data);
- parent.find("form :text")
- .width(tag_width)
- .focus();
- $(".g-short-form").gallery_short_form();
- parent.find("form .g-cancel").click(function(event) {
- self._cancel();
- event.preventDefault();
- return false;
- });
- self._ajaxify_edit();
+ self._setup_form(parent.find("form"));
});
+ },
+ _setup_form: function(form) {
+ var self = this;
+ var width = $(self).data("tag_width");
+ form.find(":text").width(width).focus();
+ form.find(".g-cancel").click(function(event) {
+ self._cancel();
+ event.preventDefault();
+ return false;
+ });
+ $(".g-short-form").gallery_short_form();
+ this._ajaxify_edit();
},
_cancel: function() {
var parent = $("#g-in-place-edit-form").parent();
- $(parent).find("form").remove();
+ $("#g-in-place-edit-form").remove();
$(parent).children().show();
- $("#g-in-place-edit-message").remove();
- $(this).data("gallery_in_place_edit", false);
+ $(parent).find(".g-editable").data("gallery_in_place_edit", false);
},
_ajaxify_edit: function() {
@@ -60,17 +62,7 @@
} else {
var parent = $(form).parent();
$(form).replaceWith(data.form);
- var width = $(self).data("tag_width");
- $(parent).find("form :text")
- .width(width)
- .focus();
- $(".g-short-form").gallery_short_form();
- $(parent).find("form .g-cancel").click(function(event) {
- self._cancel();
- event.preventDefault();
- return false;
- });
- self._ajaxify_edit();
+ self._setup_form(parent.find("form"));
}
}
});