Author: jmorliaguet
Date: Sun Jan 29 23:53:52 2006
New Revision: 2243

Modified:
   cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js
   cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/browser.py
   
cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/cpsskins_storage_adapters.pt
Log:

- implemented a remote data setter



Modified: cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js
==============================================================================
--- cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js (original)
+++ cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js Sun Jan 29 
23:53:52 2006
@@ -683,21 +683,30 @@
   new CPSSkins.StorageAdapter(), {
 
   requestData: function() {
-    var url = this.model.def.storage.accessors.get;
     var model = this.model;
-    options = {
+    var url = model.def.storage.accessors.get;
+    new Ajax.Request(url, {
       onComplete: function(req) {
         var data = JSON.parse(req.responseText);
         model.def.data = data;
         model.notifyObservers(data);
       }
-    }
-    new Ajax.Request(url, options);
+    });
   },
 
   storeData: function(data) {
-    var url = this.model.def.storage.accessors.set;
-    /* TODO */
+    var model = this.model;
+    var url = model.def.storage.accessors.set;
+    new Ajax.Request(url, {
+      method: "post",
+      parameters: $H({
+        "data": JSON.stringify(data)
+        }).toQueryString(),
+      onComplete: function(req) {
+        model.def.data = data;
+        model.notifyObservers(data);
+      }
+    });
   }
 
 });

Modified: cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/browser.py
==============================================================================
--- cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/browser.py      
(original)
+++ cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/browser.py      
Sun Jan 29 23:53:52 2006
@@ -1,13 +1,29 @@
 
+import time
+
 from zope.app.publisher.browser import BrowserView
+from zope.app.session.interfaces import ISession
 
 from cpsskins import minjson as json
 
 class Accessors(BrowserView):
 
+    def __init__(self, context, request):
+        self.context = context
+        self.request = request
+        self.session = ISession(self.request)['cpsskins']
+
     def getData1(self):
-        return json.write({'content': 'Enter some text'})
+        # sleep one second to simulate a delay
+        time.sleep(1.5)
+
+        # get the data from the session
+        data = self.session.get('data1', {u'content': u'Enter some text'})
+        return json.write(data)
 
     def setData1(self, data):
-        # TODO
-        pass
+        # sleep one second to simulate a delay
+        time.sleep(2)
+
+        # store the data in the session
+        self.session['data1'] = json.read(data)

Modified: 
cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/cpsskins_storage_adapters.pt
==============================================================================
--- 
cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/cpsskins_storage_adapters.pt
    (original)
+++ 
cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/cpsskins_storage_adapters.pt
    Sun Jan 29 23:53:52 2006
@@ -16,9 +16,23 @@
       width: 180px;
       border: 1px solid gray;
       background-color: #efc;
+      font: 1.3em arial;
     }
+
     input {
+      margin-bottom: 1em;
+      border-width: 1px;
+      border-style: solid;
+      border-color: #333 #ccc #ccc #333;
+      width: 175px;
+    }
+
+    div.content {
+      border: 1px solid #999;
+      background-color: #ffc;
+      padding: 1em;
     }
+
   </style>
 
   <script type="text/javascript">
@@ -57,6 +71,7 @@
 
         var content = Canvas.createNode({
           tag: "div",
+          classes: "content"
         });
         content.appendChild(document.createTextNode(data.content));
 
@@ -103,7 +118,7 @@
     <ins class="model">
     {"id": "data-provider",
      "data": {
-      "content": "..."
+      "content": "Loading data ..."
      },
      "storage": {
        "type": "remote",
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to