X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fresources%2Ftemplates%2FeditProfile.html;h=12cbd74e076830607cd8cfff095865152f2c389a;hb=bfd1b2e8caf931f4a27d414bce3fc7d688ccdef9;hp=189488e010d164d456c0fd60f32e8e261bd0de30;hpb=043b045d6e3f3908597d789606368d0b08ef6a59;p=Sone.git diff --git a/src/main/resources/templates/editProfile.html b/src/main/resources/templates/editProfile.html index 189488e..12cbd74 100644 --- a/src/main/resources/templates/editProfile.html +++ b/src/main/resources/templates/editProfile.html @@ -30,6 +30,85 @@ /* hide all the labels. */ $("#sone #edit-profile label, #sone #add-profile-field label").hide(); + + /* ajaxify the delete buttons. */ + getTranslation("Page.EditProfile.Fields.Button.ReallyDelete", function(reallyDeleteText) { + $("#sone #edit-profile .delete-field-name button").each(function() { + confirmButton = $(this).clone().addClass("hidden").addClass("confirm").text(reallyDeleteText).insertAfter(this); + (function(deleteButton, confirmButton) { + deleteButton.click(function() { + deleteButton.fadeOut("slow", function() { + confirmButton.fadeIn("slow"); + $(document).one("click", function() { + if (this != confirmButton.get(0)) { + confirmButton.fadeOut("slow", function() { + deleteButton.fadeIn("slow"); + }); + } + return false; + }); + }); + return false; + }); + confirmButton.click(function() { + confirmButton.fadeOut("slow"); + buttonName = confirmButton.attr("name"); + fieldId = buttonName.substring("delete-field-".length); + deleteProfileField(fieldId); + return false; + }); + })($(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); + }); }); @@ -84,6 +163,7 @@ <%foreach fields field fieldLoop>
<% field.name|html>
+