Author: david
Date: Thu Nov  3 16:22:17 2011
New Revision: 10254

Log:
Rollback r9055, still require "seeAll" functionality for taxonomy treeview. 
Refs issue #2157

Modified:
   trunk/js/treeView.js

Modified: trunk/js/treeView.js
==============================================================================
--- trunk/js/treeView.js        Thu Nov  3 12:56:26 2011        (r10253)
+++ trunk/js/treeView.js        Thu Nov  3 16:22:17 2011        (r10254)
@@ -194,6 +194,76 @@
             };
           }
 
+          function seeAll(oArgs)
+          {
+            var node = oArgs.node;
+            var parentNode = node.parent;
+
+            if 
(jQuery(node.getContentEl()).children('a').hasClass('seeAllNode'))
+            {
+              // If current object is the last in the treeview, it may be out
+              // proper order, so reload data from position 9 (offset 8)
+              var offset = 10;
+              var lastChild = 
parentNode.children[parentNode.children.length-2];
+              if (Qubit.treeView.currentNodeId == lastChild.data.id)
+              {
+                offset = 9;
+              }
+
+              // Show loading text
+              
$(node.getContentEl()).children('a').text(Qubit.treeView.i18nLoading);
+
+              // Mark node as loading
+              node.isLoading = true;
+              node.tree.locked = true;
+              
$(node.getToggleEl()).addClass('ygtvloading').removeClass('ygtvln');
+
+              jQuery.ajax({
+                data: { 'offset': offset },
+                dataType: 'json',
+                url: parentNode.expandUrl,
+
+                success: function (data)
+                  {
+                    if (9 == offset)
+                    {
+                      Qubit.treeView.treeView.removeNode(lastChild);
+                    }
+
+                    for (var i = 0; i < data.length; i++)
+                    {
+                      var textNode = new YAHOO.widget.TextNode(data[i], 
parentNode, false);
+                      textNode.isLeaf = data[i].isLeaf;
+                      textNode.moveUrl = data[i].moveUrl;
+                      textNode.expandUrl = data[i].expandUrl;
+
+                      if (Qubit.treeView.currentNodeId == data[i].id)
+                      {
+                        textNode.labelStyle = 'ygtvlabel currentTextNode';
+                        textNode.highlight();
+                      }
+                    }
+
+                    // Turn off loading state
+                    node.isLoading = false;
+                    node.tree.locked = false;
+
+                    Qubit.treeView.treeView.removeNode(node);
+
+                    for (i in parentNode.children)
+                    {
+                      addDragNDrop(parentNode.children[i], parentNode);
+                    }
+
+                    parentNode.refresh();
+                  }
+              });
+
+              // Don't jump to the top of the page (default behaviour)
+              oArgs.event.preventDefault();
+            }
+          }
+
           try
           {
             // Create a new tree
@@ -207,6 +277,9 @@
           // Turn dynamic loading on for entire tree
           Qubit.treeView.treeView.setDynamicLoad(loadNodeData);
 
+          // On click listener for 'See all' behaviour
+          Qubit.treeView.treeView.subscribe("clickEvent", seeAll);
+
           // Build tree
           build(Qubit.treeView.objects, Qubit.treeView.expands, 
Qubit.treeView.objects[0].parentId, Qubit.treeView.treeView.getRoot());
 

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to