h0h0h0./webserver -p80 Prototype has an 'evalscripts' parameter
authorArt Cancro <ajc@citadel.org>
Thu, 19 Apr 2007 19:58:38 +0000 (19:58 +0000)
committerArt Cancro <ajc@citadel.org>
Thu, 19 Apr 2007 19:58:38 +0000 (19:58 +0000)
to Ajax.Updater().  Now we can trigger auto-populate of the inner div
after the middle div populates, in the address book popup.

webcit/addressbook_popup.c
webcit/static/wclib.js

index 00360defe40365b1af601153c78bb497db787db3..d96122481b7f8cd0e26d27cc1a39b448d1b1b3f9 100644 (file)
@@ -23,8 +23,8 @@ void display_address_book_middle_div(void) {
        wprintf("<td align=center>");
 
        wprintf("<form>"
-               "<select class=\"address_book_popup_title\" size=1"
-               " onChange='PopulateAddressBookInnerDiv()'>");
+               "<select class=\"address_book_popup_title\" size=1 id=\"which_addr_book\" "
+               " onChange=\"PopulateAddressBookInnerDiv($('which_addr_book').value)\">");
        serv_puts("LKRA");
        serv_getln(buf, sizeof buf);
        if (buf[0] == '1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
@@ -45,6 +45,10 @@ void display_address_book_middle_div(void) {
                "><img src=\"static/closewindow.gif\">");
        wprintf("</td></tr></table>");
 
+       wprintf("<script type=\"text/javascript\">"
+               "PopulateAddressBookInnerDiv($('which_addr_book').value);"
+               "</script>\n");
+
        end_ajax_response();
 }
 
@@ -53,10 +57,13 @@ void display_address_book_middle_div(void) {
 /**
  * \brief Address book popup results
  */
-void display_address_book_inner_div(void) {
+void display_address_book_inner_div() {
        int i;
        static int foo;
+       char *which_addr_book;
 
+       which_addr_book = bstr("which_addr_book");
+       lprintf(9, "FIXME get addresses in <%s>\n", which_addr_book);
        begin_ajax_response();
 
        wprintf("<div align=center><form>"
index a894692cd91e9ad15c495006fd0a9b96b9de5856..605fed06fa960e76b8a633b4baec5613797abbee 100644 (file)
@@ -671,20 +671,21 @@ function PopOpenAddressBook() {
                {
                        method: 'get',
                        parameters: CtdlRandomString(),
-                       onComplete: PopulateAddressBookInnerDiv()
+                       evalScripts: true
                }
        );
        Nifty('div#address_book_popup_container_div','big transparent');
 }
 
-function PopulateAddressBookInnerDiv() {
+function PopulateAddressBookInnerDiv(which_addr_book) {
        $('address_book_inner_div').innerHTML = "<div align=center><br><table border=0 cellpadding=10 bgcolor=\"#ffffff\"><tr><td><img src=\"static/throbber.gif\" /><font color=\"#AAAAAA\">&nbsp;&nbsp;Loading....</font></td></tr></table><br /></div>";
+       p = 'which_addr_book=' + which_addr_book + '&r=' + CtdlRandomString();
        new Ajax.Updater(
                'address_book_inner_div',
                'display_address_book_inner_div',
                {
                        method: 'get',
-                       parameters: CtdlRandomString()
+                       parameters: p
                }
        );
 }