]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Extended profile - namespace JavaScript functions
authorZach Copley <zach@status.net>
Wed, 16 Mar 2011 02:33:05 +0000 (19:33 -0700)
committerZach Copley <zach@status.net>
Wed, 16 Mar 2011 02:33:05 +0000 (19:33 -0700)
plugins/ExtendedProfile/js/profiledetail.js

index 7510323a431a4bfef1b53da36f72fd68c016a99c..98594a46b7dde9784d9b1805deaf9cc32ccf7e6d 100644 (file)
@@ -1,4 +1,6 @@
-var reorder = function(class) {
+var SN_EXTENDED = SN_EXTENDED || {};
+
+SN_EXTENDED.reorder = function(class) {
     console.log("QQQ Enter reorder");
 
     var divs = $.find('div[class=' + class + ']');
@@ -9,7 +11,7 @@ var reorder = function(class) {
     $(divs).each(function(i, div) {
         console.log("ROW " + i);
         $(div).find('a.remove_row').show();
-        replaceIndex(rowIndex(div), i);
+        SN_EXTENDED.replaceIndex(SN_EXTENDED.rowIndex(div), i);
     });
 
     $this = $(divs).last().closest('tr');
@@ -23,19 +25,19 @@ var reorder = function(class) {
 
 };
 
-var rowIndex = function(div) {
+SN_EXTENDED.rowIndex = function(div) {
     var idstr = $(div).attr('id');
     var id = idstr.match(/\d+/);
     console.log("id = " + id);
     return id;
 };
 
-var rowCount = function(class) {
+SN_EXTENDED.rowCount = function(class) {
     var divs = $.find('div[class=' + class + ']');
     return divs.length;
 };
 
-var replaceIndex = function(elem, oldIndex, newIndex) {
+SN_EXTENDED.replaceIndex = function(elem, oldIndex, newIndex) {
     $(elem).find('*').each(function() {
         $.each(this.attributes, function(i, attrib) {
             var regexp = /extprofile-.*-\d.*/;
@@ -49,12 +51,12 @@ var replaceIndex = function(elem, oldIndex, newIndex) {
     });
 }
 
-var resetRow = function(elem) {
+SN_EXTENDED.resetRow = function(elem) {
     $(elem).find('input').attr('value', '');
     $(elem).find("select option[value='office']").attr("selected", true);
 }
 
-var addRow = function() {
+SN_EXTENDED.addRow = function() {
     var div = $(this).closest('div');
     var id = $(div).attr('id');
     var class = $(div).attr('class');
@@ -64,44 +66,41 @@ var addRow = function() {
     var tr = $(trold).removeClass('supersizeme');
     var newtr = $(tr).clone();
     var newIndex = parseInt(index) + 1;
-    replaceIndex(newtr, index, newIndex);
-    resetRow(newtr);
+    SN_EXTENDED.replaceIndex(newtr, index, newIndex);
+    SN_EXTENDED.resetRow(newtr);
     $(tr).after(newtr);
-    reorder(class);
+    SN_EXTENDED.reorder(class);
 };
 
-var removeRow = function() {
+SN_EXTENDED.removeRow = function() {
     var div = $(this).closest('div');
     var id = $(div).attr('id');
     var class = $(div).attr('class');
 
-    cnt = rowCount(class);
+    cnt = SN_EXTENDED.rowCount(class);
     console.debug("removeRow - cnt = " + cnt);
     if (cnt > 1) {
         var target = $(this).closest('tr');
         target.remove();
-        reorder(class);
+        SN_EXTENDED.reorder(class);
     }
 };
 
-var init = function() {
-    reorder('phone-item');
-    reorder('experience-item');
-    reorder('education-item');
-    reorder('im-item');
+$(document).ready(
+
+function() {
+
+    var multifields = ["phone-item", "experience-item", "education-item", "im-item"];
+
+    for (f in multifields) {
+        SN_EXTENDED.reorder(multifields[f]);
+    }
 
     $("input#extprofile-manager").autocomplete({
         source: 'finduser',
         minLength: 2 });
 
-}
-
-$(document).ready(
-
-function() {
-    init();
-    $('.add_row').live('click', addRow);
-    $('.remove_row').live('click', removeRow);
-}
+    $('.add_row').live('click', SN_EXTENDED.addRow);
+    $('.remove_row').live('click', SN_EXTENDED.removeRow);
 
-);
+});