twingle/twingle/content/navigation navigation.js,1.7,1.8
[email protected] Fri, 14 Mar 2003 06:05:33 -0700 (MST)
| Newsgroups | gmane.comp.cms.oscom.twingle.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvs/root/twingle/twingle/content/navigation
In directory alpha.oscom.org:/tmp/cvs-serv16851/twingle/content/navigation
Modified Files:
navigation.js
Log Message:
paul rocked adding delete site and add site and rsd discovery
Index: navigation.js
===================================================================
RCS file: /cvs/root/twingle/twingle/content/navigation/navigation.js,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** navigation.js 11 Mar 2003 10:23:43 -0000 1.7
--- navigation.js 14 Mar 2003 13:05:31 -0000 1.8
***************
*** 100,103 ****
--- 100,105 ----
+
+
SitesDataSource.prototype.openSelectedResource = function ()
{
***************
*** 181,184 ****
--- 183,300 ----
return;
}
+
+ }
+
+ SitesDataSource.prototype.deleteResource=
+ function ()
+ {
+ var urn = this.getSelectedResource();
+
+ if (! urn) {
+ alert("Please select a resource to delete.");
+ return;
+ }
+
+ var urn = urn.getValue();
+ var selectedsite = this.sitesds.getNode(urn);
+ var resourcetype = selectedsite.getTarget(this.resourcetypeprop).getValue();
+
+ if (resourcetype != "urn:oscom:resourcetypes:site") {
+
+ alert("You cannot delete a " + resourcetype);
+ return;
+ }
+
+ /* Only delete if you get a valid response back from the server */
+ /* todo: remove from array */
+ this.sitesds.deleteRecursive(urn);
+ this.sitesds.save();
+
+ return;
+ }
+
+
+
+ SitesDataSource.prototype.retrieveSiteContents=
+ // function (site_name, site_realm, site_url, site_username, site_password)
+ function (siteurl, ds)
+ {
+
+ // alert('url for the site rsd ' + url);
+
+ function myfunc (e) {
+ //alert('in myfunc');
+ if (p.readyState != 4) {
+ return;
+ }
+
+ var holder;
+
+ var status = p.status + ": " + p.statusText + "\n";
+ var status = status + p.getAllResponseHeaders() + "\n\n";
+ var status = status + p.responseText;
+ //document.getElementById("responsetext").firstChild.nodeValue = status;
+ if (p.responseXML) {
+ p.ds.parseFromString(p.responseText, siteurl);
+ /* todo: don't rebuild tree if you don't have to */
+
+ var tree=document.getElementById(sitesds.elementid);
+ tree.database.AddDataSource(p.ds.getRawDataSource());
+ tree.builder.rebuild();
+ }
+ };
+
+ var p = new XMLHttpRequest();
+ p.ds = ds;
+ p.onreadystatechange = myfunc;
+ p.open("GET", siteurl);
+ p.send(null);
+
+
+ };
+
+ SitesDataSource.prototype.addSite=
+ // function (site_name, site_realm, site_url, site_username, site_password)
+ function (site_name, site_url)
+ {
+
+ /* The realm is used in URNs while the name is for the display */
+ var sc=this.sitesds.getNode("urn:twingle:sites")
+ .getTarget(this.subitemsprop);
+ var newsite=this.sitesds.getNode("urn:twingle:sites:" + site_url);
+ var siteres = this.sitesds.getNode("urn:oscom:resourcetypes:site");
+ sc.addChild(newsite);
+
+
+ // Now fill in the data for the new site
+ newsite.addTarget(this.titleprop,site_name);
+ newsite.addTarget(this.urlprop,site_url);
+ //newsite.addTarget(this.usernameprop,site_username);
+ //newsite.addTarget(this.passwordprop,site_password);
+ newsite.addTarget(this.resourcetypeprop,siteres);
+
+ // Prepare the area for pseudo-folders (Configurations, Content, etc.)
+ var subitemsurn = "urn:twingle:sites:" + site_url + ":subitems";
+ var subitems = this.sitesds.getNode(subitemsurn);
+ subitems.makeSeq();
+ newsite.addTarget(this.subitemsprop,subitems);
+
+ /* Finally, create a site datasource and load the contents for this site */
+ /*
+ var ds = this.sitedatasources[site_url];
+ if (! ds) {
+ var ds = new RDFDataSource();
+ this.sitedatasources[site_url] = ds;
+ }
+
+
+ this.sitesds.save();
+ */
+
+ var ds = new RDFDataSource();
+ this.retrieveSiteContents(site_url,ds);
+ this.sitesds.save();
+
+ return;
}