X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fresources%2Ftemplates%2FeditProfile.html;fp=src%2Fmain%2Fresources%2Ftemplates%2FeditProfile.html;h=12cbd74e076830607cd8cfff095865152f2c389a;hp=49b4cfd5bb5cc42bd1cbd2ba056f74a3b5443dfe;hb=bfd1b2e8caf931f4a27d414bce3fc7d688ccdef9;hpb=d94b443e8c56ca9fbfce423f3ae9164b4630745d diff --git a/src/main/resources/templates/editProfile.html b/src/main/resources/templates/editProfile.html index 49b4cfd..12cbd74 100644 --- a/src/main/resources/templates/editProfile.html +++ b/src/main/resources/templates/editProfile.html @@ -60,6 +60,55 @@ })($(this), confirmButton); }); }); + + /* ajaxify the edit button. */ + $("#sone #edit-profile .edit-field-name button").each(function() { + profileField = $(this).parents(".profile-field"); + fieldNameElement = profileField.find(".name"); + inputField = $("input[type=text].short", profileField); + confirmButton = $("button.confirm", profileField); + cancelButton = $("button.cancel", profileField); + (function(editButton, inputField, confirmButton, cancelButton, fieldNameElement) { + cleanUp = function(editButton, inputField, confirmButton, cancelButton, fieldNameElement) { + editButton.removeAttr("disabled"); + inputField.addClass("hidden"); + confirmButton.addClass("hidden"); + cancelButton.addClass("hidden"); + fieldNameElement.removeClass("hidden"); + }; + confirmButton.click(function() { + inputField.attr("disabled", "disabled"); + confirmButton.attr("disabled", "disabled"); + cancelButton.attr("disabled", "disabled"); + editProfileField(confirmButton.parents(".profile-field").attr("id"), inputField.val(), function() { + fieldNameElement.text(inputField.val()); + cleanUp(editButton, inputField, confirmButton, cancelButton, fieldNameElement); + }); + return false; + }); + cancelButton.click(function() { + cleanUp(editButton, inputField, confirmButton, cancelButton, fieldNameElement); + return false; + }); + inputField.keypress(function(event) { + if (event.which == 13) { + confirmButton.click(); + return false; + } else if (event.which == 27) { + cancelButton.click(); + return false; + } + }); + editButton.click(function() { + editButton.attr("disabled", "disabled"); + fieldNameElement.addClass("hidden"); + inputField.removeAttr("disabled").val(fieldNameElement.text()).removeClass("hidden").focus().select(); + confirmButton.removeAttr("disabled").removeClass("hidden"); + cancelButton.removeAttr("disabled").removeClass("hidden"); + return false; + }); + })($(this), inputField, confirmButton, cancelButton, fieldNameElement); + }); }); @@ -114,6 +163,7 @@ <%foreach fields field fieldLoop>
<% field.name|html>
+