gecko-dev/rdf/resources/dom-test-1.xul

132 lines
4.1 KiB
XML

<?xml version="1.0"?> <!-- -*- Mode: SGML -*- -->
<!--
The contents of this file are subject to the Netscape Public License
Version 1.0 (the "NPL"); you may not use this file except in
compliance with the NPL. You may obtain a copy of the NPL at
http://www.mozilla.org/NPL/
Software distributed under the NPL is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
for the specific language governing rights and limitations under the
NPL.
The Initial Developer of this code under the NPL is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998 Netscape Communications Corporation. All Rights
Reserved.
-->
<!--
This test exercises some simple DOM manipulation on a tree control
-->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window
xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
align="vertical">
<html:script>
function RemovePersonalToolbar()
{
var personalToolbarFolder = document.getElementById("NC:PersonalToolbarFolder");
dump("personalToolbarFolder = " + personalToolbarFolder + "\n");
if (personalToolbarFolder == null)
return;
var bookmarksRoot = document.getElementById("NC:BookmarksRoot");
dump("bookmarksRoot = " + bookmarksRoot + "\n");
if (bookmarksRoot == null)
return;
bookmarksRoot.removeChild(personalToolbarFolder);
}
function AddPersonalToolbar()
{
var bookmarksRoot = document.getElementById("NC:BookmarksRoot");
dump("bookmarksRoot = " + bookmarksRoot + "\n");
if (bookmarksRoot == null)
return;
var personalToolbarFolder = document.getElementById("NC:PersonalToolbarFolder");
dump("personalToolbarFolder = " + personalToolbarFolder + "\n");
if (personalToolbarFolder != null) // already there
return;
personalToolbarFolder = document.createElement("xul:treeitem");
personalToolbarFolder.setAttribute("id", "NC:PersonalToolbarFolder");
bookmarksRoot.appendChild(personalToolbarFolder);
}
function MutateBody()
{
// This test changes the "id" attribute on the treebody
var tree = document.getElementById("tree");
dump("tree = " + tree + "\n");
var currentRef = tree.getAttribute("ref");
dump("currentRef = " + currentRef + "\n");
if (currentRef == "NC:BookmarksRoot") {
tree.setAttribute("ref", "NC:PersonalToolbarFolder");
}
else {
tree.setAttribute("ref", "NC:BookmarksRoot");
}
}
</html:script>
<box align="horizontal">
<html:button onclick="RemovePersonalToolbar();">Remove Personal Toolbar</html:button>
<html:button onclick="AddPersonalToolbar();">Add Personal Toolbar</html:button>
<html:button onclick="MutateBody();">Swap Body (Bookmarks Root/Personal Toolbar Folder)</html:button>
</box>
<tree id="tree" datasources="rdf:bookmarks" onclick="return OpenURL(event,event.target.parentNode);" ref="NC:BookmarksRoot">
<template>
<rule rdf:type="http://home.netscape.com/NC-rdf#BookmarkSeparator">
<treechildren>
<treeitem uri="...">
<treerow>
<treecell>
<html:hr width="75%" align="center" size="1" />
</treecell>
</treerow>
</treeitem>
</treechildren>
</rule>
<rule>
<treechildren>
<treeitem uri="...">
<treerow>
<treecell>
<treeindentation />
<titledbutton value="rdf:http://home.netscape.com/NC-rdf#Name" align="right" />
</treecell>
<treecell>
<titledbutton value="rdf:http://home.netscape.com/NC-rdf#URL" align="right" style="list-style-image: none;" />
</treecell>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
<treehead>
<treerow>
<treecell>Name</treecell>
<treecell>URL</treecell>
</treerow>
</treehead>
</tree>
</window>