[cells-devel] OpenAIR: Doesn't work for me any more ...

Frank Goenninger frgo at mac.com
Fri Apr 11 15:53:13 UTC 2008


Andy,

thanks for quick feedback. Details you requested see below.

Am 11.04.2008 um 17:11 schrieb Andy Chambers:
> On Fri, Apr 11, 2008 at 2:51 PM, Frank Goenninger <frgo at mac.com>  
> wrote:
>> Andy,
>
>> Symptoms:
>>
>> 1. No updates received from Web browser
>> 2. When trying to update a slot on a page model I do not get any  
>> update of
>> the Web page ...
>>
>> Is the git repo somehow in an "intermediate state" ? - I seem to  
>> remember
>> you saying so in some email.
>> Appreciate your feedback.
>
> I thought that what I pushed last night would have worked but Kenny
> seems to be having problems too.  What's your platform?

Mac OS X 10.5.2

>  Do you have
> firebug running?  Maybe there's some javascript errors that could give
> us a clue.

Firebug is running. Does not show javascript errors.

> I'll load your example up and take a closer look when I get home  
> this evening.

Thanks!

>
>
> In the meantime, can you post the output of "git show"

Sure:

1.) Did a git fetch again to make sure I have latest sources.
2.) Git show produces:

commit 4a0795cb335d226c51c61e82edc342d01e26e14d
Author: Andy Chambers <Andy Chambers achambers.home at gmail.com>
Date:   Tue Apr 8 22:59:09 2008 +0100

     added high-level macro to help making checkboxes

diff --git a/example.lisp b/example.lisp
index 2f6b2d9..030f7d3 100755
--- a/example.lisp
+++ b/example.lisp
@@ -57,17 +57,28 @@ See the Lisp Lesser GNU Public License for more  
details.
  (progn
    (declaim (optimize (debug 3) (speed 0) (safety 1) (compilation- 
speed 0))))

+(defmd web-checkbox (page)
+  (status (c? (param? "STATUS")))
+  (kids (c? (the-kids
+            (mk-div ()
+              (mk-form (:action "get")
+                (mk-checkbox "Status: " status)
+                (mk-div ()
+                  (mk-text (status (u^ web-checkbox))))))))))
+
  (defmd web-apropos (page)
    (term (c? (param? "term")))
    (pkg (c? (param? "pkg")))
-  (exports-onlyp (c? (param? "exports-onlyp")))
+  (exported-only-p (c? (let ((rslt (param? "EXPORTED-ONLY-P")))
+                        (trc "exported" rslt)
+                        rslt)))
    (filter (c? (param? "filter")))
    (result (c? (progn
-               (trc "calculating result" (^term) (^pkg) (^exports- 
onlyp) (^filter))
+               (trc "calculating result" (^term) (^pkg) (^exported- 
only-p) (^filter)
)
                 (bwhen (search (^term))
                   (apropos-list search
                                 (^pkg)
-                               (^exports-onlyp))))))
+                               (^exported-only-p))))))
    (title "Lisp Apropos")
    (style "style.css")
    (kids (c? (the-kids
@@ -79,6 +90,10 @@ See the Lisp Lesser GNU Public License for more  
details.
                                   :-type "text"
                                   :value (c? (term (u^ web-apropos)))))

+                (mk-checkbox "Exported: " exported-only-p)
+
+                (mk-text (c? (exported-only-p (u^ web-apropos))))
+
                  (mk-div (:id :result)
                    (mk-ul ()
                      (list
@@ -244,6 +259,7 @@ See the Lisp Lesser GNU Public License for more  
details.
    (setf *catch-errors-p* nil
         *dispatch-table*
         (list
+        (test-page "/check-test" 'web-checkbox)
          (test-page "/apropos" 'web-apropos)
          (create-folder-dispatcher-and-handler "/js/"
                                                "/home/andy/asdf/ 
hunchncells/js/"))))
diff --git a/forms.lisp b/forms.lisp
index 4f64383..5b73012 100755
--- a/forms.lisp
+++ b/forms.lisp
@@ -21,6 +21,8 @@ See the Lisp Lesser GNU Public License for more  
details.
  (progn
    (declaim (optimize (debug 3) (speed 0) (safety 1) (compilation- 
speed 0))))

+;;; Vanilla HTML
+
  (defhtml form ()
      ()
    (:attrs form
@@ -63,3 +65,18 @@ See the Lisp Lesser GNU Public License for more  
details.
    (:attrs button
     :name :value (:-type :type)
     :disabled :tabindex :accesskey :onfocus :onblur))
+
+
+;;; Higher Level Widgets
+
+(defmacro mk-checkbox (label attribute &key top-args label-args input- 
args)
+ `(mk-div (, at top-args)
+    (mk-label (, at label-args :for ,(symbol-name attribute))
+      ,label)
+    (mk-input (, at input-args
+               :name ,(symbol-name attribute) :id ,(symbol-name  
attribute)
+               :-type "checkbox"
+               :checked (c? (,attribute (u^ page))) ; parameterize?
+               :value (c? (if (,attribute (u^ page))
+                             "on"
+                             "off"))))))
diff --git a/js/openair.js b/js/openair.js
index d753879..c2e5c7f 100644
--- a/js/openair.js
+++ b/js/openair.js
@@ -6,7 +6,16 @@ function recv (data) {
      }
  }

-function send (obj, e) {
+function send_checkbox (obj, e) {
+  var request = {};
+  var msg = obj.checked ? "on": "off";
+  request[obj.id] = msg;
+  $.get(location.href + "/" + obj.id,
+       request,
+       recv);
+}
+
+function send_text (obj, e) {
    var request = {};
    switch(e.type) {
      case "keyup":
@@ -29,8 +38,11 @@ $(document).ready(function(){
  //     $(":input").keyup(function(e) {
  //     send(this, e);
  //     });
-    $(":input").change(function(e) {
-      send(this, e);
+    $(":input[type='text'").change(function(e) {
+      send_text(this, e);
+                      });
+    $(":input[type='checkbox']").change(function(e) {
+      send_checkbox(this, e);
      });
  });

Oh - now I see the potential problem: These "//" ... I will test...

Best,
   Frank

>
> Cheers,
> Andy
> _______________________________________________
> cells-devel site list
> cells-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/cells-devel




More information about the cells-devel mailing list