twingle/twingle/content/workspace newsite.xul,NONE,1.1 workspace.js,NONE,1.1 genericviewer.xml,1.6,1.7 workspaceoverlay.xul,1.1.1.1,1.2

[email protected] Wed, 19 Mar 2003 10:38:42 -0700 (MST)
Newsgroups gmane.comp.cms.oscom.twingle.cvs
Message-ID <[email protected]>
Update of /cvs/root/twingle/twingle/content/workspace
In directory alpha.oscom.org:/tmp/cvs-serv518/content/workspace

Modified Files:
	genericviewer.xml workspaceoverlay.xul 
Added Files:
	newsite.xul workspace.js 
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.



--- NEW FILE: newsite.xul ---
<?xml version="1.0"?>

<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://twingle/skin" type="text/css"?>

<wizard id="twingle-new-site-wizard" title="New Site"
  onwizardfinish="return newSite();"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <script type="application/x-javascript" src="workspace.js"/>

  <wizardpage description="Connect to server" 
	      onpageadvanced="return verifyValues();">
    <description>
      This wizard will help you to connect to a site.  You only need 
      to provide the URL to a Really Simple Discovery (RSD) file that 
      contains the site information.
    </description>
    <hbox>
      <label value="RSD Location:"/>
      <textbox flex="1" id="rsd_url" value="http://dav.oscom.org/rsd.xml"/>
    </hbox>
    <hbox>
    <button id="getsiteconfiguration" label="Connect" 
	    oncommand="getSiteConfiguration();"/><spacer flex="1"/>
    </hbox>

    <groupbox flex="1">
      <caption label="Server Response"/>
      <hbox>
        <label value="Site name:"/>
        <label id="newsite_title" style="font-weight: bold" 
	       value="Not connected."/>
	<label hidden="true" id="newsite_siteurn" value="Not connected."/>
	<label hidden="true" id="newsite_contentsurl" value="Not connected."/>
      </hbox>
						  
      <description style="font-size: xx-small; background-color: silver; white-space: pre;height: 3em; overflow: scroll"
		   id="responsetext">No response.</description>
    </groupbox>
  </wizardpage>

  <wizardpage description="Finished">
    <description>
      Click Finish to continue.
    </description>
  </wizardpage>

</wizard>

--- NEW FILE: workspace.js ---
/* Create a site from the wizard */

/* The sitesds global was passed in as an argument, it is only global 
   per window. */
var sitesds = window.arguments[0];

function getSiteConfiguration () {
    /* Connect to site and retrieve site configuration information */

    var url = document.getElementById("rsd_url").value;

    function myfunc (e) {
	if (p.readyState != 4) {
	    return;
	}

	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) {
	    var holder = p.responseXML
                .getElementsByTagNameNS(sitesds.dcns,"title")[0];
	    var title = holder.firstChild.nodeValue;
            
            var holder = p.responseXML
                .getElementsByTagNameNS(sitesds.oscomrdfns,"contentsurl")[0];
	    var contentsurl = holder.firstChild.nodeValue;
            
            var holder = p.responseXML
                .getElementsByTagNameNS(sitesds.oscomrdfns,"siteurn")[0];
	    var siteurn = holder.firstChild.nodeValue;
            
	    //            sitesds.addSite(title, contentsurl);
	    document.getElementById("newsite_title").value=title;
	    document.getElementById("newsite_siteurn").value=siteurn;
	    document.getElementById("newsite_contentsurl").value=contentsurl;
        }
    };

    var p = new XMLHttpRequest();
    p.onreadystatechange = myfunc;
    p.open("GET", url);
    p.send(null);
}

function verifyValues () {
    /* Before leaving the first page, make sure newsite_name is set */

    var newsite_title = document.getElementById("newsite_title").value;
    var newsite_siteurn = document.getElementById("newsite_siteurn").value;
    var newsite_contentsurl = document.getElementById("newsite_contentsurl").value;

    if (newsite_title == "Not connected.") {
	alert("Must successfully connect, no 'dc:title' found.");
	return false;
    };

    if (newsite_siteurn == "Not connected.") {
	alert("Must successfully connect, no 'oscom:siteurn' found.");
	return false;
    };

    if (newsite_contentsurl == "Not connected.") {
	alert("Must successfully connect, no 'oscom:contentsurl' found.");
	return false;
    };

    return true;
}


function newSite() {

   /* Setting up variables */
  var newsite_title = document.getElementById("newsite_title").value;
  var newsite_siteurn = document.getElementById("newsite_siteurn").value;
  var newsite_contentsurl = document.getElementById("newsite_contentsurl").value;

  /* Now call the method on sitesds */
  sitesds.addSite(newsite_title, newsite_siteurn, newsite_contentsurl);
  return true;
}

Index: genericviewer.xml
===================================================================
RCS file: /cvs/root/twingle/twingle/content/workspace/genericviewer.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** genericviewer.xml	14 Mar 2003 10:26:28 -0000	1.6
--- genericviewer.xml	19 Mar 2003 17:38:40 -0000	1.7
***************
*** 106,116 ****
  							<parameter name="method"/>
                  <body>
                      if (this.saveurl != "") {
                          var xmlHttpReq = new XMLHttpRequest();
! 												xmlHttpReq.container = this;
! 												xmlHttpReq.onload = function(event)  {
! 													xmlHttpReq = event.target; 
! 													xmlHttpReq.container.checkResponse(xmlHttpReq);
! 												}
                          xmlHttpReq.open(method,this.saveurl);
                          xmlHttpReq.send(this.content,true);
--- 106,148 ----
  							<parameter name="method"/>
                  <body>
+ 		    dump("Starting to save...");
                      if (this.saveurl != "") {
+ /*
+ <<<<<<< genericviewer.xml
+                         var p = new XMLHttpRequest();
+                         p.targetcontainer = sitesds.getSelectedResource();
+                         if (!p.targetcontainer) {
+                            alert("Please select a folder");
+                         return;
+                         }
+ 
+ 			p.thisobj = this;
+                         p.onload = function(e)  {
+ 			     p = e.target; 
+ 			     dump("RESPONSE \n"+ p.responseText);
+ 
+ 			     /* Now add a node to the tree */
+ 			     var compositeds = sitesds.getCompositeDS();
+ 			     var node = compositeds.getNode(p.thisobj.sourceurl);
+ 			     var articleprop = "urn:oscom:resourcetypes:article";
+ 			     var articleres = compositeds.getNode(articleprop);
+ 			     node.addTarget(sitesds.resourcetypeprop,articleres);
+ 			     node.addTarget(sitesds.titleprop,p.thisobj.resourcetitle);
+ 			     var subitems = p.targetcontainer.getTarget(sitesds.subitemsprop);
+ 			     subitems.addChild(node);
+ 
+ 			     dump("\nresource added to tree");
+ 
+ 			     }
+                         p.open("PUT",this.saveurl);
+                         p.send(this.content,true);
+ =======
+ */
                          var xmlHttpReq = new XMLHttpRequest();
! 			xmlHttpReq.container = this;
!                         xmlHttpReq.onload = function(event)  {
! 			xmlHttpReq = event.target; 
! 			xmlHttpReq.container.checkResponse(xmlHttpReq);
! 			}
                          xmlHttpReq.open(method,this.saveurl);
                          xmlHttpReq.send(this.content,true);
***************
*** 186,188 ****
          </implementation>
      </binding>    
! </bindings>
\ No newline at end of file
--- 218,220 ----
          </implementation>
      </binding>    
! </bindings>

Index: workspaceoverlay.xul
===================================================================
RCS file: /cvs/root/twingle/twingle/content/workspace/workspaceoverlay.xul,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** workspaceoverlay.xul	5 Mar 2003 19:30:32 -0000	1.1.1.1
--- workspaceoverlay.xul	19 Mar 2003 17:38:40 -0000	1.2
***************
*** 4,8 ****
           xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  
! <box id="twingle-workspace" flex="3">
  
    <tabbox id="active-contents" orient="vertical" flex="1">
--- 4,8 ----
           xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  
! <box id="twingle-workspace" flex="6">
  
    <tabbox id="active-contents" orient="vertical" flex="1">