]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Extended profile - add fancy JQuery UI confirm dialog when deleting items
authorZach Copley <zach@status.net>
Wed, 16 Mar 2011 06:51:28 +0000 (23:51 -0700)
committerZach Copley <zach@status.net>
Wed, 16 Mar 2011 06:51:28 +0000 (23:51 -0700)
plugins/ExtendedProfile/extendedprofilewidget.php
plugins/ExtendedProfile/js/profiledetail.js

index ebf4c0422c47a802c8d792f48b53bc3e4dc1b9db..5be149a0cb8cefe0a3d6f4b52c995dc399ed94fc 100644 (file)
@@ -77,6 +77,13 @@ class ExtendedProfileWidget extends Form
      */
     public function formData()
     {
+        // For JQuery UI modal dialog
+        $this->out->elementStart(
+            'div', 
+            array('id' => 'confirm-dialog', 'title' => 'Confirmation Required')
+        );
+        $this->out->text('Really delete this entry?');
+        $this->out->elementEnd('div');
         $this->showSections();
     }
 
index d24b4aabe87201842726841dd211291e7d82da0d..fbcefe730d397d1f059c8afc79dd5c0c4d495e5b 100644 (file)
@@ -44,7 +44,7 @@ SN_EXTENDED.replaceIndex = function(elem, oldIndex, newIndex) {
 }
 
 SN_EXTENDED.resetRow = function(elem) {
-    $(elem).find('input').attr('value', '');
+    $(elem).find('input, textarea').attr('value', '');
     $(elem).find("select option[value='office']").attr("selected", true);
 };
 
@@ -63,27 +63,47 @@ SN_EXTENDED.addRow = function() {
 };
 
 SN_EXTENDED.removeRow = function() {
+
     var div = $(this).closest('div');
     var id = $(div).attr('id');
     var cls = $(div).attr('class');
-
     var cnt = SN_EXTENDED.rowCount(cls);
+
+    var that = this;
+
+    $("#confirm-dialog").dialog({
+        buttons : {
+            "Confirm" : function() {
+                var target = $(that).closest('tr');
+                target.fadeOut("slow", function() {
+                    $(that).remove();
+                });
+                SN_EXTENDED.reorder(cls);
+                $(this).dialog("close");
+            },
+            "Cancel" : function() {
+                $(this).dialog("close");
+            }
+        }
+    });
+
     if (cnt > 1) {
-        var target = $(this).closest('tr');
-        target.remove();
-        SN_EXTENDED.reorder(cls);
+        $("#confirm-dialog").dialog("open");
     }
 };
 
 $(document).ready(function() {
 
+    $("#confirm-dialog").dialog({
+        autoOpen: false,
+        modal: true
+    });
+
     $("input#extprofile-manager").autocomplete({
         source: 'finduser',
         minLength: 2 });
 
-    $.datepicker.formatDate('yy-mm-dd');
-
-       $("input[name$=-start], input[name$=-end], #extprofile-birthday").datepicker({ dateFormat: 'd M yy' });
+    $("input[name$=-start], input[name$=-end], #extprofile-birthday").datepicker({ dateFormat: 'd M yy' });
 
     var multifields = ["phone-item", "experience-item", "education-item", "im-item"];