Author: jmorliaguet
Date: Sun Mar 19 21:21:34 2006
New Revision: 2670

Modified:
   cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js
   
cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/functional/panels/cpsskins_panels.pt
   cpsskins/branches/jmo-perspectives/ui/panels/settings.pt
Log:

- renamed LocationController as RemoteScriptingController

- some refactoring



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 Mar 19 
21:21:34 2006
@@ -469,8 +469,8 @@
     return new CPSSkins.FormController(node, def);
   },
 
-  'location': function(node, def) {
-    return new CPSSkins.LocationController(node, def);
+  'remote scripting': function(node, def) {
+    return new CPSSkins.RemoteScriptingController(node, def);
   },
 
   'focus observer': function(node, def) {
@@ -584,8 +584,8 @@
 
 });
 
-CPSSkins.LocationController = Class.create();
-CPSSkins.LocationController.prototype = Object.extend(
+CPSSkins.RemoteScriptingController = Class.create();
+CPSSkins.RemoteScriptingController.prototype = Object.extend(
   new CPSSkins.Controller(), {
 
   setup: function() {
@@ -604,12 +604,38 @@
     var target = Event.element(e);
     if (target.tagName.toLowerCase() == 'a') {
 
+      var _request = this._request;
       this.views.entries().each(function(v) {
         var view = CPSSkins.getViewById(v);
-        view.request(target.href);
+        _request(view, target.href);
       });
+
       Event.stop(e);
     }
+  },
+
+  _request: function(view, url) {
+    var options = {
+      onComplete: function(req) {
+        var disp = req.getResponseHeader('content-disposition');
+        if (disp && disp.match(/^attachment/)) {
+          window.location = url;
+        }
+        var content_type = req.getResponseHeader('content-type');
+        if (content_type.match(/^text\/x-json/)) {
+          var data = JSON.parse(req.responseText);
+          view.model.writeData(data);
+        }
+        view.refresh();
+      }
+    };
+    var parts = url.split('?');
+    var method = url;
+    if (parts.length == 2) {
+      method = parts[0];
+      options.parameters = parts[1];
+    }
+    new Ajax.Request(method, options);
   }
 
 });
@@ -1686,10 +1712,6 @@
     /* to override: tear down the widget after hiding it */
   },
 
-  request: function(url) {
-    /* to override: request an url */
-  },
-
   /* Private API */
   getControllers: function() {
     return this.def.controllers || []
@@ -1930,31 +1952,6 @@
     return '[CPSSkins Panel]';
   },
 
-  request: function(url) {
-    var view = this;
-    var options = {
-      onComplete: function(req) {
-        var disp = req.getResponseHeader('content-disposition');
-        if (disp && disp.match(/^attachment/)) {
-          window.location = url;
-        }
-        var content_type = req.getResponseHeader('content-type');
-        if (content_type.match(/^text\/x-json/)) {
-          var data = JSON.parse(req.responseText);
-          view.model.writeData(data);
-        }
-        view.refresh();
-      }
-    };
-    var parts = url.split('?');
-    var method = url;
-    if (parts.length == 2) {
-      method = parts[0];
-      options.parameters = parts[1];
-    }
-    new Ajax.Request(method, options);
-  },
-
   render: function(data) {
     var url = data.url;
     if (!url) {

Modified: 
cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/functional/panels/cpsskins_panels.pt
==============================================================================
--- 
cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/functional/panels/cpsskins_panels.pt
    (original)
+++ 
cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/functional/panels/cpsskins_panels.pt
    Sun Mar 19 21:21:34 2006
@@ -28,7 +28,7 @@
 </head>
 <body>
 
-  <h1>CPSSkins Panels / IFrames</h1>
+  <h1>CPSSkins Panels / Remote scripting</h1>
 
   <p>The panel shown below has a form controller attached to it. When the user
   clicks on the "click me!" button a remote call is done to the server which 
@@ -37,8 +37,8 @@
   <p>This makes it possible to perform a form submission with a redirection 
   inside a given area of a page without reloading the entire page.
   </p>
-  <p>There is also a "Location controller" which make it possible
-  to "follow" the links, or get data from the server without reloading the 
page.
+  <p>There is also a "Remote Scripting Controller" which converts HTML links
+  into ajax request to do remote server scripting without reloading the page.
   </p>
 
   <ins class="model">
@@ -72,7 +72,7 @@
     {"id": "panel-view",
      "model": "panel",
      "perspectives": ["default"],
-     "controllers": ["show-panel", "form", "location1"],
+     "controllers": ["show-panel", "form", "request1"],
      "widget": {
        "type": "panel"
      },
@@ -88,7 +88,7 @@
     {"id": "panel-view-2",
      "model": "panel2",
      "perspectives": ["default"],
-     "controllers": ["show-panel", "form2", "location2"],
+     "controllers": ["show-panel", "form2", "request2"],
      "widget": {
        "type": "panel"
      },
@@ -111,14 +111,14 @@
   }
   </ins>
   <ins class="controller">
-  {"id": "location1",
-   "type": "location"
+  {"id": "request1",
+   "type": "remote scripting"
   }
   </ins>
 
   <ins class="controller">
-  {"id": "location2",
-   "type": "location"
+  {"id": "request2",
+   "type": "remote scripting"
   }
   </ins>
 

Modified: cpsskins/branches/jmo-perspectives/ui/panels/settings.pt
==============================================================================
--- cpsskins/branches/jmo-perspectives/ui/panels/settings.pt    (original)
+++ cpsskins/branches/jmo-perspectives/ui/panels/settings.pt    Sun Mar 19 
21:21:34 2006
@@ -29,13 +29,13 @@
        },
        "model": "settings-section",
        "perspectives": ["settings"],
-       "controllers": ["site-designer-perspectives", "settings-location"]
+       "controllers": ["site-designer-perspectives", "settings-actions"]
       }
       </ins>
 
       <ins class="controller">
-      {"id": "settings-location",
-       "type": "location"
+      {"id": "settings-actions",
+       "type": "remote scripting"
       }}
       </ins>
 
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to