From 0b328597a0ba44d25433555bde3ef7f8772a388c Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Fri, 24 Aug 2012 17:34:07 +0200 Subject: [PATCH] ADDRESSBOOK POPUP: templatize. --- webcit/addressbook_popup.c | 197 ++++-------------- webcit/static/t/addressbook/list.html | 17 ++ webcit/static/t/addressbook/list_entry.html | 1 + webcit/static/t/addressbook/namelist.html | 6 + .../static/t/addressbook/namelist_button.html | 1 + .../static/t/addressbook/namelist_entry.html | 1 + .../popup.html} | 0 webcit/static/wclib.js | 27 +-- 8 files changed, 79 insertions(+), 171 deletions(-) create mode 100644 webcit/static/t/addressbook/list.html create mode 100644 webcit/static/t/addressbook/list_entry.html create mode 100644 webcit/static/t/addressbook/namelist.html create mode 100644 webcit/static/t/addressbook/namelist_button.html create mode 100644 webcit/static/t/addressbook/namelist_entry.html rename webcit/static/t/{addressbook_popup.html => addressbook/popup.html} (100%) diff --git a/webcit/addressbook_popup.c b/webcit/addressbook_popup.c index 72ab054d0..995ec6fd0 100644 --- a/webcit/addressbook_popup.c +++ b/webcit/addressbook_popup.c @@ -15,180 +15,61 @@ #include "webcit.h" -/* - * Address book popup window - */ -void display_address_book_middle_div(void) { - char buf[256]; - long len; - char *Name; - const char *VCName; - void *Namee; - StrBuf *DefAddrBook; - HashList *List; - HashPos *it; - - begin_ajax_response(); - - DefAddrBook = get_room_pref("defaddrbook"); - - wc_printf(""); - wc_printf(""); - wc_printf(""); - wc_printf("
"); - - wc_printf("
" - "
"); - - wc_printf("
"); - wc_printf("
"); - - wc_printf("", - bstr("target_input") - ); - - end_ajax_response(); -} - - - /* * Address book popup results */ -void display_address_book_inner_div() { - char buf[256]; - int num_targets = 0; - char target_id[64]; - char target_label[64]; - long len; - char *Name; - const char *VCName; - void *Namee; - HashList *List; - HashPos *it; - int i; +HashList* GetAddressbookList() +{ + HashList *List = NULL; + const StrBuf *WhichAddrBook; StrBuf *saved_roomname; + StrBuf *Name; + StrBuf *Line; + long BufLen; + int IsLocalAddrBook; - begin_ajax_response(); - - List = NewHash(1, NULL); - wc_printf("
" - "\n"); - - wc_printf("%s: ", _("Add")); - - num_targets = num_tokens(bstr("target_input"), '|'); - for (i=0; i", target_id); + if (!IsLocalAddrBook) { + gotoroom(saved_roomname); + FreeStrBuf(&saved_roomname); } - /* This 'close window' button works. Omitting it because we already have a close button - * in the upper right corner, and this one takes up space. - * - wc_printf(""); - */ - - wc_printf("
\n"); - - end_ajax_response(); + return List; } @@ -198,6 +79,6 @@ void InitModule_ADDRBOOK_POPUP (void) { - WebcitAddUrlHandler(HKEY("display_address_book_middle_div"), "", 0, display_address_book_middle_div, 0); - WebcitAddUrlHandler(HKEY("display_address_book_inner_div"), "", 0, display_address_book_inner_div, 0); + + RegisterIterator("ITERATE:ABNAMES", 0, NULL, GetAddressbookList, NULL, NULL, CTX_STRBUF, CTX_NONE, IT_NOFLAG); } diff --git a/webcit/static/t/addressbook/list.html b/webcit/static/t/addressbook/list.html new file mode 100644 index 000000000..055f6efd3 --- /dev/null +++ b/webcit/static/t/addressbook/list.html @@ -0,0 +1,17 @@ + + + + + + +
+
+ +
+
+ +
+ diff --git a/webcit/static/t/addressbook/list_entry.html b/webcit/static/t/addressbook/list_entry.html new file mode 100644 index 000000000..f913cf4e2 --- /dev/null +++ b/webcit/static/t/addressbook/list_entry.html @@ -0,0 +1 @@ + diff --git a/webcit/static/t/addressbook/namelist.html b/webcit/static/t/addressbook/namelist.html new file mode 100644 index 000000000..c651bb29a --- /dev/null +++ b/webcit/static/t/addressbook/namelist.html @@ -0,0 +1,6 @@ +
+ + +
diff --git a/webcit/static/t/addressbook/namelist_button.html b/webcit/static/t/addressbook/namelist_button.html new file mode 100644 index 000000000..9dbd73105 --- /dev/null +++ b/webcit/static/t/addressbook/namelist_button.html @@ -0,0 +1 @@ +" onClick="AddContactsToTarget($(''),$('whichaddr'));"> diff --git a/webcit/static/t/addressbook/namelist_entry.html b/webcit/static/t/addressbook/namelist_entry.html new file mode 100644 index 000000000..39047e4d5 --- /dev/null +++ b/webcit/static/t/addressbook/namelist_entry.html @@ -0,0 +1 @@ + diff --git a/webcit/static/t/addressbook_popup.html b/webcit/static/t/addressbook/popup.html similarity index 100% rename from webcit/static/t/addressbook_popup.html rename to webcit/static/t/addressbook/popup.html diff --git a/webcit/static/wclib.js b/webcit/static/wclib.js index c7d8a8516..9a159a112 100644 --- a/webcit/static/wclib.js +++ b/webcit/static/wclib.js @@ -690,7 +690,7 @@ function PopOpenAddressBook(target_input) { p = 'target_input=' + target_input + '&r=' + CtdlRandomString(); new Ajax.Updater( 'address_book_popup_middle_div', - 'display_address_book_middle_div', + 'do_template?template=addressbook_list', { method: 'get', parameters: p, @@ -700,18 +700,19 @@ function PopOpenAddressBook(target_input) { } function PopulateAddressBookInnerDiv(which_addr_book, target_input) { - $('address_book_inner_div').innerHTML = "

  Loading....

"; - p = 'which_addr_book=' + which_addr_book - + '&target_input=' + target_input - + '&r=' + CtdlRandomString(); - new Ajax.Updater( - 'address_book_inner_div', - 'display_address_book_inner_div', - { - method: 'get', - parameters: p - } - ); + $('address_book_inner_div').innerHTML = "

  Loading....

"; + p = 'which_addr_book=' + which_addr_book + + '&target_input=' + target_input + + '&r=' + CtdlRandomString() + + "&template=addressbook_namelist"; + new Ajax.Updater( + 'address_book_inner_div', + 'do_template', + { + method: 'get', + parameters: p + } + ); } // What happens when a contact is selected from the address book popup -- 2.30.2