[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kupu-checkins
Subject:    [epoz-checkins] r3506 - epoz/branch/plone-drawers/common
From:       philikon () codespeak ! net
Date:       2004-03-29 17:21:17
Message-ID: 20040329172117.979215A142 () thoth ! codespeak ! net
[Download RAW message or body]

Author: philikon
Date: Mon Mar 29 19:21:07 2004
New Revision: 3506

Modified:
   epoz/branch/plone-drawers/common/kupudrawertool.js
Log:
Cleanup.


Modified: epoz/branch/plone-drawers/common/kupudrawertool.js
==============================================================================
--- epoz/branch/plone-drawers/common/kupudrawertool.js	(original)
+++ epoz/branch/plone-drawers/common/kupudrawertool.js	Mon Mar 29 19:21:07 2004
@@ -108,6 +108,8 @@
         this._loadXML(this.xsluri, wrapped_callback.execute);
     };
 
+    /*** bootstrapping ***/
+
     this._libsXslCallback = function(dom) {
         /* callback for when the xsl for the libs is loaded
         
@@ -158,13 +160,16 @@
     };
 
     this.deselectActiveCollection = function() {
-      var selected = this.xmldata.selectSingleNode('//*[@selected]');
-      if (selected) {
-	  // deselect selected DOM node
-	  selected.removeAttribute('selected');
-      };
+        /* Deselect the currently active collection or library */
+        var selected = this.xmldata.selectSingleNode('//*[@selected]');
+        if (selected) {
+            // deselect selected DOM node
+            selected.removeAttribute('selected');
+        };
     };
 
+    /*** Load a library ***/
+
     this.selectLibrary = function(id) {
         /* unselect the currently selected lib and select a new one
 
@@ -173,85 +178,107 @@
         */
         // remove selection in the DOM
         this.deselectActiveCollection();
-	// as well as visual selection in CSS
-	var divs = this.document.getElementsByTagName('div');
-	for (var i=0; i<divs.length; i++ ) {
-	  if (divs[i].className == 'selected') {
-	    divs[i].className = 'epd-libsource';
-	  };
-	};
+        // as well as visual selection in CSS
+        var divs = this.document.getElementsByTagName('div');
+        for (var i=0; i<divs.length; i++ ) {
+          if (divs[i].className == 'selected') {
+            divs[i].className = 'epd-libsource';
+          };
+        };
 
         var libnode_path = '/libraries/library[@id="' + id + '"]';
         var libnode = this.xmldata.selectSingleNode(libnode_path);
         libnode.setAttribute('selected', '1');
 
-	var items_xpath = "items";
-	var items_node = libnode.selectSingleNode(items_xpath);
-	if (items_node) {
+        var items_xpath = "items";
+        var items_node = libnode.selectSingleNode(items_xpath);
+        if (items_node) {
             // The library has already been loaded before or was
             // already provided with an items list. No need to do
             // anything except for displaying the contents in the
             // middle pane.
-	    this.displayMiddlePane();
-	} else {
+            this.displayMiddlePane();
+        } else {
             // We have to load the library from XML first.
             var uri_node = libnode.selectSingleNode('src/text()');
             var src_uri = uri_node.nodeValue;
-	    src_uri = src_uri.strip(); // needs kupuhelpers.js
+            src_uri = src_uri.strip(); // needs kupuhelpers.js
             // Now load the library into the items pane. Since we have
             // to load the XML, do this via a call back
-	    var wrapped_callback = new ContextFixer(this._libraryContentCallback, this);
-	    this._loadXML(src_uri, wrapped_callback.execute, null);
-	};
+            var wrapped_callback = new ContextFixer(this._libraryContentCallback, this);
+            this._loadXML(src_uri, wrapped_callback.execute, null);
+        };
         // instead of running the full transformations again we get a 
         // reference to the element and set the classname...
         var newseldiv = this.document.getElementById(id);
         newseldiv.className = 'selected';
     };
 
+    this._libraryContentCallback = function(dom, src_uri) {
+        /* callback for when a library's contents (item list) is loaded
+
+        XXX with slight modifications to the below xpath, this can
+        also be as the handler for reloading a standard collection.
+        */
+        var libnode = this.xmldata.selectSingleNode('//*[@selected]');
+        var itemsnode = libnode.selectSingleNode("items");
+        var newitemsnode = dom.selectSingleNode("//items");
+        newitemsnode = this.xmldata.importNode(newitemsnode, true);
+        if (!itemsnode) {
+            // We're loading this for the first time
+            libnode.appendChild(newitemsnode);
+        } else {
+            // User has clicked reload
+            libnode.replaceChild(newitemsnode, itemsnode);
+        };
+        this.displayMiddlePane();
+    };
+
+    /*** Load a collection ***/
+
     this.selectCollection = function(id) {
         this.deselectActiveCollection();
 
-	var leafnode_path = "//collection[@id='" + id + "']";
-	var leafnode = this.xmldata.selectSingleNode(leafnode_path);
+        var leafnode_path = "//collection[@id='" + id + "']";
+        var leafnode = this.xmldata.selectSingleNode(leafnode_path);
 
-	// Case 1: We've already loaded the data, so we just need to
-	// refer to the data by id.
-	var loadedInNode = leafnode.getAttribute('loadedInNode');
-	if (loadedInNode) {
+        // Case 1: We've already loaded the data, so we just need to
+        // refer to the data by id.
+        var loadedInNode = leafnode.getAttribute('loadedInNode');
+        if (loadedInNode) {
             var collnode_path = "/libraries/collection[@id='" + loadedInNode + "']";
-	    var collnode = this.xmldata.selectSingleNode(collnode_path);
-	    if (collnode) {
-		collnode.setAttribute('selected', '1');
-		this.displayMiddlePane();
-		return;
-	    };
-	};
-
-	// Case 2: We've already loaded the data, but there hasn't
-	// been a reference made yet. So, make one :)
-	uri = leafnode.selectSingleNode('uri/text()');
-	uri = (new String(uri)).strip(); // needs kupuhelpers.js
-	var collnode_path = "/libraries/collection/uri[text()='" + uri + "']/..";
-	var collnode = this.xmldata.selectSingleNode(collnode_path);
-	if (collnode) {
-	  alert("already loaded. attaching loadedInNode"); //XXX
-	    id = collnode.getAttribute('id');
-	    leafnode.setAttribute('loadedInNode', id);
-	    collnode.setAttribute('selected', '1');
-	    this.displayMiddlePane();
-	    return;
-	};
-
-	// Case 3: We've not loaded the data yet, so we need to load it
-	// this is just so we can find the leafnode much easier in the
-	// callback.
-	leafnode.setAttribute('selected', '1');
-	var uri_node = leafnode.selectSingleNode('src/text()');
-	var src_uri = uri_node.nodeValue;
-	src_uri = src_uri.strip(); // needs kupuhelpers.js
-	var wrapped_callback = new ContextFixer(this._collectionContentCallback, this);
-	this._loadXML(src_uri, wrapped_callback.execute, null);
+            var collnode = this.xmldata.selectSingleNode(collnode_path);
+            if (collnode) {
+                collnode.setAttribute('selected', '1');
+                this.displayMiddlePane();
+                return;
+            };
+        };
+
+        // Case 2: We've already loaded the data, but there hasn't
+        // been a reference made yet. So, make one :)
+        uri = leafnode.selectSingleNode('uri/text()');
+        uri = (new String(uri)).strip(); // needs kupuhelpers.js
+        var collnode_path = "/libraries/collection/uri[text()='" + uri + "']/..";
+        var collnode = this.xmldata.selectSingleNode(collnode_path);
+        if (collnode) {
+            alert("already loaded. attaching loadedInNode"); //XXX
+            id = collnode.getAttribute('id');
+            leafnode.setAttribute('loadedInNode', id);
+            collnode.setAttribute('selected', '1');
+            this.displayMiddlePane();
+            return;
+        };
+
+        // Case 3: We've not loaded the data yet, so we need to load it
+        // this is just so we can find the leafnode much easier in the
+        // callback.
+        leafnode.setAttribute('selected', '1');
+        var uri_node = leafnode.selectSingleNode('src/text()');
+        var src_uri = uri_node.nodeValue;
+        src_uri = src_uri.strip(); // needs kupuhelpers.js
+        var wrapped_callback = new ContextFixer(this._collectionContentCallback, this);
+        this._loadXML(src_uri, wrapped_callback.execute, null);
     };
 
     this._collectionContentCallback = function(dom, src_uri) {
@@ -260,45 +287,25 @@
         // use a different callback for that
         // (--> _libraryContentCallback).
 
-	// We need to give the newly retrieved data a unique ID, we
-	// just use the time.
-	date = new Date();
-	time = date.getTime();
+        // We need to give the newly retrieved data a unique ID, we
+        // just use the time.
+        date = new Date();
+        time = date.getTime();
 
-	// attach 'loadedInNode' attribute to leaf node so Case 1
-	// applies next time.
+        // attach 'loadedInNode' attribute to leaf node so Case 1
+        // applies next time.
         var leafnode = this.xmldata.selectSingleNode('//*[@selected]');
-	leafnode.setAttribute('loadedInNode', time);
-	this.deselectActiveCollection()
+        leafnode.setAttribute('loadedInNode', time);
+        this.deselectActiveCollection()
 
         var collnode = dom.selectSingleNode('/collection');
-	collnode.setAttribute('id', time);
-	collnode.setAttribute('selected', '1');
+        collnode.setAttribute('id', time);
+        collnode.setAttribute('selected', '1');
 
-	var libraries = this.xmldata.selectSingleNode('/libraries');
-	collnode = this.xmldata.importNode(collnode, true);
-	libraries.appendChild(collnode);
-	this.displayMiddlePane();
-    };
-
-    this._libraryContentCallback = function(dom, src_uri) {
-        /* callback for when a library's contents (item list) is loaded
-
-	XXX with slight modifications to the below xpath, this can
-	also be as the handler for reloading a standard collection.
-        */
-        var libnode = this.xmldata.selectSingleNode('//*[@selected]');
-	var itemsnode = libnode.selectSingleNode("items");
-	var newitemsnode = dom.selectSingleNode("//items");
-	newitemsnode = this.xmldata.importNode(newitemsnode, true);
-	if (!itemsnode) {
-            // We're loading this for the first time
-	    libnode.appendChild(newitemsnode);
-	} else {
-            // User has clicked reload
-	    libnode.replaceChild(newitemsnode, itemsnode);
-	};
-	this.displayMiddlePane();
+        var libraries = this.xmldata.selectSingleNode('/libraries');
+        collnode = this.xmldata.importNode(collnode, true);
+        libraries.appendChild(collnode);
+        this.displayMiddlePane();
     };
 
     this.displayMiddlePane = function() {
@@ -312,6 +319,8 @@
         this._replaceNodeContents(this.document, drawerdiv, newdrawerdiv);
     };
 
+    /*** Selecting a resource ***/
+
     this.selectItem = function(id) {
         /* select an item in the item pane, show the item's metadata 
 
@@ -358,7 +367,7 @@
       throw "Not yet implemented";
     };
 
-    /* auxiliary methods */
+    /*** Auxiliary methods ***/
 
     this._transformXml = function() {
         /* transform this.xmldata to HTML using this.xsl and return it */

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic