Author: jens
Date: Tue Mar  6 06:53:17 2012
New Revision: 1297353

URL: http://svn.apache.org/viewvc?rev=1297353&view=rev
Log:
add support for createFolder, better error display, add content link, minor 
improvements

Modified:
    
chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/index.html

Modified: 
chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/index.html
URL: 
http://svn.apache.org/viewvc/chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/index.html?rev=1297353&r1=1297352&r2=1297353&view=diff
==============================================================================
--- 
chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/index.html
 (original)
+++ 
chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/index.html
 Tue Mar  6 06:53:17 2012
@@ -44,7 +44,7 @@
     }
                    
     function createSession(connectionUrl, repoId) {
-                   console.log("Initialzing session to " + connectionUrl);
+                   console.log("Initializing session to " + connectionUrl);
                    var factory = new CmisSessionFactory({
                        url : connectionUrl,
                        repositoryId : repoId
@@ -105,11 +105,17 @@
                 row = null;
                 tbody.append(row = $('<tr>'));
                 for (var propKey in propsToDisplay) {
-                    var prop = 
children.objects[child].object.properties[propsToDisplay[propKey]];
-                    console.log ("add col: " + prop.value);
-                    if (null != prop && null != prop.value)
-                                   
row.append($('<td>').text(convertValue(prop.value, prop.type)));
-                    else
+                    var props = children.objects[child].object.properties;
+                    var prop = props[propsToDisplay[propKey]];
+                    if (null != prop && null != prop.value) {
+                        var text = convertValue(prop.value, prop.type);
+                        if (baseType == "cmis:document" && 
propsToDisplay[propKey] == "cmis:name" && props["cmis:contentStreamFileName"] 
!= null &&
+                                props["cmis:contentStreamFileName"].value != 
null) {
+                            text = "<a href='" + session.getRootUrl() + 
"?cmisselector=content&objectId=" + props["cmis:objectId"].value + "' >" + text 
+ "</a>"
+                        }
+                                   row.append($('<td>').html(text));
+                           console.log ("add col: " + prop.value);
+                    } else
                         row.append($('<td>'));//.text("<n/a>"));
                        }
             }
@@ -121,7 +127,7 @@
     function getTypesRecursive(typeId, tbl) {
         console.log("getTypesRecursive: " + typeId );
        session.getTypeChildren(typeId, function(types) {
-               if (!checkError(types)) {
+               if (!checkError(types, "#typessection")) {
                    for (var i in types.types) {                        
                        tbl.append(row = $('<tr>'));
                        row.append($('<td>').text(types.types[i].id ));
@@ -137,20 +143,22 @@
        });
     }
     
-    function checkSession() {
+    function checkSession(domId) {
            if (null == session)
-           displayError("No session! Please connect first...");
+           displayError("No session! Please connect first...", domId);
     }
 
-    function displayError(cmisError) {
-        $("#errorsection *").remove();
-        
$("#errorsection").append($("<p>").text(cmisError.toString()).css("color", 
"red"));        
+    function displayError(cmisError, domId) {
+        if (null == domId)
+            domId = "#errorsection";
+        $(domId + " *").remove();
+        $(domId).append($("<p>").text(cmisError.toString()).css("color", 
"red"));        
     }
     
-    function checkError(jsonObj) {
+    function checkError(jsonObj, domId) {
         if (jsonObj != null && jsonObj.exception != null) {
             var cmisError = session.createErrorFromErrorResponse(jsonObj);
-            displayError(cmisError);
+            displayError(cmisError, domId);
             return cmisError;
         } else
             return null;
@@ -180,34 +188,36 @@
                $("#repoidfield").attr('value', firstRepoId);
                $("#folderidfield").attr('value', 
repoInfos[firstRepoId].rootFolderId);
                
-               createSession($("#reposfield").val(), "A1");
+               createSession($("#reposfield").val(), firstRepoId);
             });
         });
         
         $('#repositoryInfo').click(function() {
-            checkSession();
+            checkSession("#repoinfosection");
             session.getRepositoryInfo(function(repoInfos) {
                 console.log("getRepositoryInfo()");
                 for (var repoInfo in repoInfos) {
-                       var text = "Found Repository with id: " + 
repoInfos[repoInfo].repositoryId +
-                       ", vendor: " +  repoInfos[repoInfo].vendorName + 
-                       ",  description: " +  
repoInfos[repoInfo].repositoryDescription + 
-                       ", root url: " + repoInfos[repoInfo].rootFolderUrl;
-                       $("#repoinfosection").html(text);
                        session.rootFolderId = repoInfos[repoInfo].rootFolderId;
                        session.rootUrl = repoInfos[repoInfo].rootFolderUrl;
+                    var tbl = $('<table>').attr('border', 1);    
+                       
tbl.append($('<tr>').append($('<td>').text("Repository-Id")).append($('<td>').text(repoInfos[repoInfo].repositoryId)));
+                       
tbl.append($('<tr>').append($('<td>').text("Vendor")).append($('<td>').text(repoInfos[repoInfo].vendorName)));
+                       
tbl.append($('<tr>').append($('<td>').text("Description")).append($('<td>').text(repoInfos[repoInfo].repositoryDescription)));
+                       
tbl.append($('<tr>').append($('<td>').text("Root-URL")).append($('<td>').text(repoInfos[repoInfo].rootFolderUrl)));
+                       
tbl.append($('<tr>').append($('<td>').text("Root-Folder-Id")).append($('<td>').text(repoInfos[repoInfo].rootFolderId)));
+                       $("#repoinfosection").append(tbl);
                        break;
                 }
             });
         });
 
-        $('#typebutton').click(function() {
-            checkSession();
+        $('#typebutton').click(function() {            
+            $("#typessection *").remove();
+
+            checkSession("#typessection");
             
             var tbl = $('<table>').attr('id', 'typesTable').attr('border', 1); 
   
-            $("#typessection *").remove();
                $("#typessection").append($('<h4>').text("Type 
Definitions:")).append(tbl);
-
                tbl.append(row = $('<tr>'));
             row.append($('<td>').text("Type-Id"));
             row.append($('<td>').text("Parent-Id"));
@@ -218,9 +228,9 @@
         });
 
         $('#getbutton').click(function() {
-            checkSession();
+            checkSession("#documentsection");
             session.getDocument($('#docidfield').val(), function(doc) {
-               if (!checkError(doc)) {
+               if (!checkError(doc, "#documentsection")) {
                        console.log("getObject cmis:name= " + 
doc.properties["cmis:name"].value);
                        var text = "Retrieved document with cmis:name= " + 
doc.properties["cmis:name"].value;
                        $("#documentsection").html(text)
@@ -229,9 +239,9 @@
         });
         
         $('#deletebutton').click(function() {
-            checkSession();
+            checkSession("#documentsection");
             session.deleteDocument($('#docidfield').val(), function(doc) {
-               if (!checkError(doc)) {
+               if (!checkError(doc, "#documentsection")) {
                        console.log("Deleted document with id: " + 
$('#docidfield').val());
                        $("#documentsection").html("Deleted document with id: " 
+ $('#docidfield').val());
                }
@@ -239,11 +249,11 @@
         });
         
         $('#cmischildren').click(function() {
-            checkSession();
+            checkSession("#childrensection");
             var rootFolderId = session.rootFolderId == null ? 
session.rootFolderId : 100;
             
             session.getChildren($('#folderidfield').val(), function(children) {
-                if (!checkError(children)) {
+                if (!checkError(children, "#childrensection")) {
                        var tbl1 = createTable(children, "cmis:folder");
                        var tbl2 = createTable(children, "cmis:document");
                     $("#childrensection *").remove();
@@ -255,14 +265,26 @@
         });
         
         $('#createdoc').click(function() {
-            checkSession();
-               session.createDocument($('#name').val(), $('#typeId').val(), 
$('#folderId').val(), function(data) {
-                               var text = "Document successfully created with 
id: " + data.properties["cmis:objectId"].value;
-                               $("#createdocsection").html(text);
+            checkSession("#createdocsection");
+               session.createDocument($('#name').val(), $('#typeId').val(), 
$('#folderId').val(), null, function(data) {
+                       if (!checkError(data, "#createdocsection")) {
+                                       var text = "Document successfully 
created with id: " + data.properties["cmis:objectId"].value;
+                               $("#createdocsection").html(text);
+                       }
                });
         });
         
-       });    
+        $('#createfolder').click(function() {
+            checkSession("#createfoldersection");
+               session.createFolder($('#fName').val(), $('#fTypeId').val(), 
$('#fFolderId').val(), null, function(data) {
+                       if (!checkError(data, "#createfoldersection")) {
+                                       var text = "Folder successfully created 
with id: " + data.properties["cmis:objectId"].value;
+                                       $("#createfoldersection").html(text);
+                       }
+               });
+        });
+
+    });    
     </script>
     
     <div id="errorsection"> </div>
@@ -284,15 +306,15 @@
     <button id="repositories">Connect!</button> <br/>
     <div id="repositoriessection">
     </div>
-    <hr/>    
     <form >
            <table>
              <tr>
-               <td><label for="repoidfield">Repository-Id:</label></td>
-               <td><input type="text" id="repoidfield" value="?"/></td>
+               <td><label for="repoidfield">Using Repository-Id:</label></td>
+               <td><input type="text" id="repoidfield" value="?" 
readonly="readonly"/></td>
              </tr>
            </table>
        </form>
+    <hr/>    
     <button id="repositoryInfo">Get RepositoryInfo!</button> <br/>
     <div id="repoinfosection">
     </div>
@@ -395,5 +417,28 @@
        </form>
     <div id="createdochtmlsection">
     </div>        
+    <h3> Create Folder (Ajax): </h3>
+    <form >
+         <fieldset>
+           <legend>Create Folder</legend>
+           <table>
+             <tr>
+               <td><label for="name">Name:</label></td>
+               <td><input type="text" id="fName" name="Name" value="My 
folder"/></td>
+             </tr>
+             <tr>
+               <td><label for="typeId">Type-Id:</label></td>
+               <td><input type="text" id="fTypeId" name="Type" 
value="cmis:folder"/></td>
+             </tr>
+             <tr>
+               <td><label for="folderId">Folder-Id:</label></td>
+               <td><input type="text" id="fFolderId" name="Folder Id" 
value="100"/></td>
+             </tr>
+           </table>
+         </fieldset>
+       </form>
+    <button id="createfolder">Create Folder!</button>  <br/>
+    <div id="createfoldersection">
+    </div>   
   </body>
 </html>
\ No newline at end of file


Reply via email to