twingle/twingle/content/navigation navigation.js,1.8,1.9 navigationoverlay.xul,1.2,1.3

[email protected] Wed, 19 Mar 2003 10:38:41 -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-serv518/content/navigation

Modified Files:
	navigation.js navigationoverlay.xul 
Log Message:
Major cleanup after the sprint.  Also:

1) Started menu/commandset.xul to centralize the commands between 
menus, buttons, and keys.

2) Major cleanup of menu items and buttons, removing things that
   weren't implemented.

3) Added Tasks and Window menus from standard Moz.

4) The "New Site" approach is now a wizard that does some
   user-friendly sniffing at the response.



Index: navigation.js
===================================================================
RCS file: /cvs/root/twingle/twingle/content/navigation/navigation.js,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** navigation.js	14 Mar 2003 13:05:31 -0000	1.8
--- navigation.js	19 Mar 2003 17:38:39 -0000	1.9
***************
*** 43,48 ****
    this.titleprop = this.dcns + "title";
    this.descriptionprop = this.dcns + "description";
!   this.resourcetypeprop = this.oscomrdfns + "resourcetype";
    this.urlprop = this.oscomrdfns + "url";
    this.usernameprop = this.oscomrdfns + "username";
    this.passwordprop = this.oscomrdfns + "password";
--- 43,49 ----
    this.titleprop = this.dcns + "title";
    this.descriptionprop = this.dcns + "description";
!   this.resourcetypeprop = this.oscomrdfns + "resourcetypes";
    this.urlprop = this.oscomrdfns + "url";
+   this.contentsurlprop = this.oscomrdfns + "contentsurl";
    this.usernameprop = this.oscomrdfns + "username";
    this.passwordprop = this.oscomrdfns + "password";
***************
*** 58,66 ****
  
    // Create some default datasources
    this.sitesds = new RDFDataSource(twingleurl + "/sites.rdf",null);
    this.oscomtypesds = new RDFDataSource(twingleurl + "/oscomtypes.rdf",null);
    this.localsiteds = new RDFDataSource(twingleurl + "/localsite.rdf",null);
  
-   this.sitedatasources = new Array();
  
    /* Attach these (potentially empty) datasources */
--- 59,69 ----
  
    // Create some default datasources
+   this.datasources = new Array();
+ 
+   /* These next lines will go away after switching to the array */
    this.sitesds = new RDFDataSource(twingleurl + "/sites.rdf",null);
    this.oscomtypesds = new RDFDataSource(twingleurl + "/oscomtypes.rdf",null);
    this.localsiteds = new RDFDataSource(twingleurl + "/localsite.rdf",null);
  
  
    /* Attach these (potentially empty) datasources */
***************
*** 86,89 ****
--- 89,115 ----
  
  
+ SitesDataSource.prototype.reloadSelectedSite = function ()
+ {
+     selectedsite = this.getSelectedResource();
+ 
+     /* The author has to select a site in the tree first */
+     if (! selectedsite) {
+         alert("Please select a site to refresh the contents");
+         return;
+     }
+ 
+     /* Now make sure a site was selected */
+     var selectedtype = selectedsite.getTarget(this.resourcetypeprop).getValue();
+     if (selectedtype != "urn:oscom:resourcetypes:site") {
+         alert("Please select a site, not a " + selectedtype);
+         return;
+     }
+ 
+     /* Find the datasource in the array and reload its contents */
+     var contentsurl = selectedsite.getTarget(this.contentsurlprop).getValue();
+     var ds = this.datasources[contentsurl];
+ }
+ 
+ 
  SitesDataSource.prototype.getSelectedResource = function () 
  {
***************
*** 134,137 ****
--- 160,194 ----
      tp.previewurl = previewurl;
  
+     dump("\nsource, save, preview " + sourceurl + saveurl + previewurl);
+ 
+     var outter = document.getElementById("active-contents-tabpanels");
+     outter.appendChild(tp);
+ 
+     dump("\nout of openSelectedResource");
+ 
+     return;    
+ }
+ 
+ 
+ SitesDataSource.prototype.createResource = function (resourcetype) 
+ {
+     /* Grab the selected resource and open a new tab */
+     dump("\nin createResource");
+ 
+     var containerurl = "http://127.0.0.1:9890/scratchpad/";
+     /* todo: test for trailing slash */
+ 
+     /* For the urn in the Drafts area, make up something */
+     var d = new Date();
+     var now = d.getTime() + ".html";
+     var sourceurl = containerurl + now;
+ 
+     var tp = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", resourcetype + "viewer");
+     
+     tp.resourcetitle = "Untitled";
+     tp.sourceurl = sourceurl;
+     tp.saveurl = sourceurl;    
+     tp.previewurl = sourceurl;
+ 
      var outter = document.getElementById("active-contents-tabpanels");
      outter.appendChild(tp);
***************
*** 217,240 ****
  
  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 */
  
--- 274,293 ----
  
  SitesDataSource.prototype.retrieveSiteContents=
  function (siteurl, ds)
  {
  
!     function rsc () {
!         dump("\np.readyState is " + p.readyState);
!     }
  
      function myfunc (e) {
  
!         if (p.readyState != 4) {
!             dump("\nin myfunc, p.readyState is " + p.readyState);
!         }
  
          if (p.responseXML) {
              p.ds.parseFromString(p.responseText, siteurl);
+ 
              /* todo: don't rebuild tree if you don't have to */
  
***************
*** 247,251 ****
      var p = new XMLHttpRequest();
      p.ds = ds;
!     p.onreadystatechange = myfunc;
      p.open("GET", siteurl);
      p.send(null);
--- 300,306 ----
      var p = new XMLHttpRequest();
      p.ds = ds;
!     // p.onreadystatechange = rsc;
!     p.onload = myfunc;
!     dump("\nretrieving contents.rdf from " + siteurl);
      p.open("GET", siteurl);
      p.send(null);
***************
*** 255,301 ****
  
  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;
- 
  }
  
--- 310,335 ----
  
  SitesDataSource.prototype.addSite=
!     function (site_name, site_url, contentsurl)
  {
  
!     var ds = new RDFDataSource();
!     this.datasources[contentsurl] = ds;
!     this.retrieveSiteContents(contentsurl,ds);
! 
!     /* Add the site to the sites database */
      var sc=this.sitesds.getNode("urn:twingle:sites")
                 .getTarget(this.subitemsprop);
!     var newsite=this.sitesds.getNode(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.contentsurlprop, contentsurl);
      newsite.addTarget(this.resourcetypeprop,siteres);
  
      this.sitesds.save();
      return;
  }
  
***************
*** 305,308 ****
--- 339,356 ----
      sitesds = new SitesDataSource();
      return;   
+ }
+ 
+ 
+ 
+ /*  Test of drag and drop observer for tree */
+ 
+ function treeDragObserver (evt) {
+     var rdf = sitesds.getSelectedResource();
+     var thistitle = rdf.getTarget(sitesds.titleprop).getValue();
+     dump("title being dragged is " + thistitle);
+ }
+ 
+ function treeDropObserver (evt) {
+     dump("target of drop" + evt.target.tagName);
  }
  

Index: navigationoverlay.xul
===================================================================
RCS file: /cvs/root/twingle/twingle/content/navigation/navigationoverlay.xul,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** navigationoverlay.xul	8 Mar 2003 15:24:36 -0000	1.2
--- navigationoverlay.xul	19 Mar 2003 17:38:39 -0000	1.3
***************
*** 6,15 ****
  <script type="application/x-javascript" src="navigation.js"/>
  
! <vbox id="twingle-navigation" flex="1">
  
! <tree flex="1" id="navigation-tree" ref="urn:twingle:sites"
!       datasources="chrome://twingle/content/sampledata/oscomorg.rdf"
        containment="http://home.netscape.com/NC-rdf#subitems"
!       ondblclick="sitesds.openSelectedResource();">
  
    <treecols>
--- 6,16 ----
  <script type="application/x-javascript" src="navigation.js"/>
  
! <vbox id="twingle-navigation" flex="3">
  
! <tree flex="1" id="navigation-tree" ref="urn:twingle:sites" style="min-width: 10em"
!       datasources="rdf:null"
        containment="http://home.netscape.com/NC-rdf#subitems"
!       ondblclick="sitesds.openSelectedResource();"
! >
  
    <treecols>
***************
*** 52,56 ****
  
          <action>
!             <treechildren flex="1">
                  <treeitem uri="?subitem">
                      <treerow>
--- 53,58 ----
  
          <action>
!             <treechildren flex="1" ondraggesture="treeDragObserver(event)"
! 			  ondropgesture="treeDropObserver(event)">
                  <treeitem uri="?subitem">
                      <treerow>
***************
*** 69,73 ****
  
  </tree>
- 
  </vbox>
  
--- 71,74 ----