[Repoze-checkins] r1156 - repoze.debug/trunk/repoze/debug/static

Paul Everitt paul at agendaless.com
Sat Jun 28 10:36:24 EDT 2008


Author: Paul Everitt <paul at agendaless.com>
Date: Sat Jun 28 10:36:24 2008
New Revision: 1156

Log:
Begin the process of consolidation

Added:
   repoze.debug/trunk/repoze/debug/static/debugui-xul.xsl
   repoze.debug/trunk/repoze/debug/static/samplefeed.xml
   repoze.debug/trunk/repoze/debug/static/samplelogentries.xml
Modified:
   repoze.debug/trunk/repoze/debug/static/debugui-xul.js
   repoze.debug/trunk/repoze/debug/static/debugui.js
   repoze.debug/trunk/repoze/debug/static/debugui.xul

Modified: repoze.debug/trunk/repoze/debug/static/debugui-xul.js
==============================================================================
--- repoze.debug/trunk/repoze/debug/static/debugui-xul.js	(original)
+++ repoze.debug/trunk/repoze/debug/static/debugui-xul.js	Sat Jun 28 10:36:24 2008
@@ -1,15 +1,22 @@
 
-/* */
-var url = "/++xui++/data/summary.xml";
+var url = "../feed.xml";
 var treeid = "xui-logtree";
+var processor;
+var atomdoc;
 
 function asxml (node) {
+    return new XMLSerializer().serializeToString(node);
+}
+
 
-    var serializer = new XMLSerializer();
-    var xml = serializer.serializeToString(node);
-    return xml;
+function geturl(url) {
+    var xmlhttp = new XMLHttpRequest();  
+    xmlhttp.open("GET", url, false);  
+    xmlhttp.send('');  
+    return xmlhttp.responseXML;
 }
 
+
 function documentLoaded (e) {
     var tree = document.getElementById(treeid);
     tree.builder.rebuild();
@@ -30,17 +37,28 @@
 	iframe.setAttribute("src", href);
     }
 }
-        
+
+
 function reloadSummary () {
+    /* Transform to make XUL trees with XML datasources easier */
+
+    // Grab the target, which is the document element on the tree
     var tree = document.getElementById(treeid);
-    var xmlDoc = tree.builder.datasource;
-        
-    xmlDoc.addEventListener("load", documentLoaded, false);
-    xmlDoc.load(url);
+    var target = tree.builder.datasource.documentElement;
+
+    // Get new data, transform it, and import into the document
+    var result = processor.transformToDocument(geturl("samplefeed.xml"));
+    var iresult = document.importNode(result.documentElement, true);
+
+    // Update the tree datasource and rebuild
+    Sarissa.moveChildNodes(iresult, target);
+    tree.builder.rebuild();
 }
 
 function init () {
-    /* */
+    var xsldoc = geturl("debugui-xul.xsl");
+    processor = new XSLTProcessor();
+    processor.importStylesheet(xsldoc);
 }
 
 document.addEventListener("DOMContentLoaded", init, false);

Added: repoze.debug/trunk/repoze/debug/static/debugui-xul.xsl
==============================================================================
--- (empty file)
+++ repoze.debug/trunk/repoze/debug/static/debugui-xul.xsl	Sat Jun 28 10:36:24 2008
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Convert the feed into various representations used for 
+Firefox 3 XML datasources attached to XUL trees and whatnot. -->
+<xsl:stylesheet xmlns:atom="http://www.w3.org/2005/Atom" exclude-result-prefixes="atom"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+    <xsl:template match="/">
+        <log>
+            <xsl:for-each select="/atom:feed/atom:entry">
+                <entry id="n32432" name="/somerequest.html">
+                    <item id="n32432" name="xxApp Result"/>
+                    <item id="n32432" name="Siteconfig"/>
+                    <item id="n32432" name="User"/>
+                </entry>
+            </xsl:for-each>
+        </log>
+    </xsl:template>
+</xsl:stylesheet>

Modified: repoze.debug/trunk/repoze/debug/static/debugui.js
==============================================================================
--- repoze.debug/trunk/repoze/debug/static/debugui.js	(original)
+++ repoze.debug/trunk/repoze/debug/static/debugui.js	Sat Jun 28 10:36:24 2008
@@ -1,29 +1,28 @@
 
 var processor;
+var url = "../feed.xml";
 
 function asxml (node) {
-    var xmlString = new XMLSerializer().serializeToString(node);
-    return xmlString;
+    return new XMLSerializer().serializeToString(node);
 }
 
-function reloadFeed () {
-    var url = "http://localhost:8090/foo/++debugui++/feed.xml";
+
+function geturl(url) {
     var xmlhttp = new XMLHttpRequest();  
     xmlhttp.open("GET", url, false);  
     xmlhttp.send('');  
-    var feeddoc = xmlhttp.responseXML;
+    return xmlhttp.responseXML;
+}
+
 
-    var frag = processor.transformToFragment(feeddoc, document);
+function reloadFeed () {
     var target = document.getElementById("output");
-    Sarissa.clearChildNodes(target);
-    target.appendChild(frag);
+    Sarissa.updateContentFromURI(url, target, processor);
 }
 
+
 function debuginit () {
-    var xmlhttp = new XMLHttpRequest();  
-    xmlhttp.open("GET", "debugui.xsl", false);  
-    xmlhttp.send('');  
-    var xsldoc = xmlhttp.responseXML;
+    var xsldoc = geturl("debugui.xsl");
     processor = new XSLTProcessor();
     processor.importStylesheet(xsldoc);
 }

Modified: repoze.debug/trunk/repoze/debug/static/debugui.xul
==============================================================================
--- repoze.debug/trunk/repoze/debug/static/debugui.xul	(original)
+++ repoze.debug/trunk/repoze/debug/static/debugui.xul	Sat Jun 28 10:36:24 2008
@@ -3,24 +3,25 @@
 <window id="example-window" title="Include Xui" orient="horizontal"
     xmlns:rz="http://repoze.org/namespaces"
     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-    <script src="home.js"/>
+    <script src="sarissa.js"/>
+    <script src="debugui-xul.js"/>
     <vbox flex="1">
-        <tree id="xui-logtree" datasources="/++xui++/data/summary.xml" ref="*" querytype="xml"
+        <tree id="xui-logtree" datasources="samplelogentries.xml" ref="*" querytype="xml"
             seltype="single" rows="10" flex="1" onselect="selectEntry();">
             <treecols>
                 <treecol id="title" primary="true" label="Title" flex="1"/>
                 <treecol id="elapsed" label="Elapsed"/>
-                <treecol id="href" label="href" hidden="false"/>
+                <treecol id="href" label="href" hidden="true"/>
             </treecols>
             <template>
                 <query expr="*"/>
                 <action>
                     <treechildren>
                         <treeitem uri="?">
-                            <treerow properties="maybe">
-                                <treecell label="?title"/>
-                                <treecell label="?elapsed"/>
-                                <treecell label="?href"/>
+                            <treerow>
+                                <treecell label="?name"/>
+                                <treecell label="?name"/>
+                                <treecell label="?name"/>
                             </treerow>
                         </treeitem>
                     </treechildren>

Added: repoze.debug/trunk/repoze/debug/static/samplefeed.xml
==============================================================================
--- (empty file)
+++ repoze.debug/trunk/repoze/debug/static/samplefeed.xml	Sat Jun 28 10:36:24 2008
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom" title="One">
+    <title>Example Feed</title>
+    <link href="http://example.org/"/>
+    <updated>2003-12-13T18:30:02Z</updated>
+    <author>
+        <name>John Doe</name>
+    </author>
+    <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>
+    <entry>
+        <id>urn:uuid:20323</id>
+        <title>My Entry</title>
+        <link href="http://example.org/2003/12/13/atom03"/>
+        <updated>2003-12-13T18:30:02Z</updated>
+        <summary>Some text.</summary>
+    </entry>
+    <entry>
+        <id>urn:uuid:32736</id>
+        <title>Second Entry</title>
+        <link href="http://example.org/2003/12/13/atom03"/>
+        <updated>2003-12-13T18:30:02Z</updated>
+        <summary>Some text.</summary>
+    </entry>
+</feed>

Added: repoze.debug/trunk/repoze/debug/static/samplelogentries.xml
==============================================================================
--- (empty file)
+++ repoze.debug/trunk/repoze/debug/static/samplelogentries.xml	Sat Jun 28 10:36:24 2008
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Demo of what the XML datasource for the left-hand tree 
+looks like.  A browser-side XSLT converts the feed xml into a 
+representation that is easy to present in the tree. -->
+<log>
+    <entry id="n32432" name="/somerequest.html">
+        <item id="n32432" name="App Result"/>
+        <item id="n32432" name="Siteconfig"/>
+        <item id="n32432" name="User"/>
+    </entry>
+    <log id="n32432" name="/anotherone.html">
+        <item id="n32432" name="App Result"/>
+        <item id="n32432" name="Siteconfig"/>
+        <item id="n32432" name="User"/>
+    </log>
+</log>


More information about the Repoze-checkins mailing list