[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