]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/ExtendedProfile/js/profiledetail.js
initialize fave, sub, and membership URIs
[quix0rs-gnu-social.git] / plugins / ExtendedProfile / js / profiledetail.js
index 98594a46b7dde9784d9b1805deaf9cc32ccf7e6d..99a3f78a4332536a45e82c3c5fb6b016321e45bb 100644 (file)
@@ -1,39 +1,33 @@
 var SN_EXTENDED = SN_EXTENDED || {};
 
-SN_EXTENDED.reorder = function(class) {
-    console.log("QQQ Enter reorder");
+SN_EXTENDED.reorder = function(cls) {
 
-    var divs = $.find('div[class=' + class + ']');
-    console.log('divs length = ' + divs.length);
-
-    $(divs).find('a').hide();
+    var divs = $('div[class=' + cls + ']');
 
     $(divs).each(function(i, div) {
-        console.log("ROW " + i);
+        $(div).find('a.add_row').hide();
         $(div).find('a.remove_row').show();
         SN_EXTENDED.replaceIndex(SN_EXTENDED.rowIndex(div), i);
     });
 
-    $this = $(divs).last().closest('tr');
-    $this.addClass('supersizeme');
+    var lastDiv = $(divs).last().closest('tr');
+    lastDiv.addClass('supersizeme');
 
     $(divs).last().find('a.add_row').show();
 
     if (divs.length == 1) {
-        $(divs).find('a.remove_row').hide();
+        $(divs).find('a.remove_row').fadeOut("slow");
     }
-
 };
 
 SN_EXTENDED.rowIndex = function(div) {
     var idstr = $(div).attr('id');
     var id = idstr.match(/\d+/);
-    console.log("id = " + id);
     return id;
 };
 
-SN_EXTENDED.rowCount = function(class) {
-    var divs = $.find('div[class=' + class + ']');
+SN_EXTENDED.rowCount = function(cls) {
+    var divs = $.find('div[class=' + cls + ']');
     return divs.length;
 };
 
@@ -45,52 +39,79 @@ SN_EXTENDED.replaceIndex = function(elem, oldIndex, newIndex) {
             var match = value.match(regexp);
             if (match !== null) {
                 attrib.value = value.replace("-" + oldIndex, "-" + newIndex);
-                console.log('match: oldIndex = ' + oldIndex + ' newIndex = ' + newIndex + ' name = ' + attrib.name + ' value = ' + attrib.value);
             }
         });
     });
 }
 
 SN_EXTENDED.resetRow = function(elem) {
-    $(elem).find('input').attr('value', '');
+    $(elem).find('input, textarea').attr('value', '');
+    $(elem).find('input').removeAttr('disabled');
     $(elem).find("select option[value='office']").attr("selected", true);
-}
+    $(elem).find("input:checkbox").attr('checked', false);
+    $(elem).find("input[name$=-start], input[name$=-end]").each(function() {
+        $(this).removeClass('hasDatepicker');
+        $(this).datepicker({ dateFormat: 'd M yy' });
+    });
+};
 
 SN_EXTENDED.addRow = function() {
     var div = $(this).closest('div');
-    var id = $(div).attr('id');
-    var class = $(div).attr('class');
+    var id = div.attr('id');
+    var cls = div.attr('class');
     var index = id.match(/\d+/);
-    console.log("Current row = " + index + ', class = ' + class);
-    var trold = $(this).closest('tr');
-    var tr = $(trold).removeClass('supersizeme');
-    var newtr = $(tr).clone();
     var newIndex = parseInt(index) + 1;
+    var newtr = $(div).closest('tr').removeClass('supersizeme').clone();
     SN_EXTENDED.replaceIndex(newtr, index, newIndex);
     SN_EXTENDED.resetRow(newtr);
-    $(tr).after(newtr);
-    SN_EXTENDED.reorder(class);
+    $(div).closest('tr').after(newtr);
+    SN_EXTENDED.reorder(cls);
 };
 
 SN_EXTENDED.removeRow = function() {
+
     var div = $(this).closest('div');
     var id = $(div).attr('id');
-    var class = $(div).attr('class');
+    var cls = $(div).attr('class');
+    var that = this;
+
+    $("#confirm-dialog").dialog({
+        buttons : {
+            "Confirm" : function() {
+                $(this).dialog("close");
+                var target = $(that).closest('tr');
+                target.fadeOut("slow", function() {
+                    $(target).remove();
+                    SN_EXTENDED.reorder(cls);
+                });
+            },
+            "Cancel" : function() {
+                $(this).dialog("close");
+            }
+        }
+    });
+
+    var cnt = SN_EXTENDED.rowCount(cls);
 
-    cnt = SN_EXTENDED.rowCount(class);
-    console.debug("removeRow - cnt = " + cnt);
     if (cnt > 1) {
-        var target = $(this).closest('tr');
-        target.remove();
-        SN_EXTENDED.reorder(class);
+        $("#confirm-dialog").dialog("open");
     }
 };
 
-$(document).ready(
+$(document).ready(function() {
 
-function() {
+    $("#confirm-dialog").dialog({
+        autoOpen: false,
+        modal: true
+    });
+
+    $("input#extprofile-manager").autocomplete({
+        source: 'finduser',
+        minLength: 2 });
 
-    var multifields = ["phone-item", "experience-item", "education-item", "im-item"];
+    $("input[name$=-start], input[name$=-end], #extprofile-birthday").datepicker({ dateFormat: 'd M yy' });
+
+    var multifields = ["phone-item", "experience-item", "education-item", "im-item", 'website-item'];
 
     for (f in multifields) {
         SN_EXTENDED.reorder(multifields[f]);
@@ -103,4 +124,21 @@ function() {
     $('.add_row').live('click', SN_EXTENDED.addRow);
     $('.remove_row').live('click', SN_EXTENDED.removeRow);
 
+    $('input:checkbox[name$=current]').each(function() {
+        var input = $(this).parent().siblings('input[id$=-end]');
+        if ($(this).is(':checked')) {
+            $(input).attr('disabled', 'true');
+        }
+    });
+
+    $('input:checkbox[name$=current]').live('click', function()  {
+        var input = $(this).parent().siblings('input[id$=-end]');
+        if ($(this).is(':checked')) {
+            $(input).val('');
+            $(input).attr('disabled', 'true');
+        } else {
+            $(input).removeAttr('disabled');
+        }
+    });
+
 });