File:  [LON-CAPA] / doc / window_handling.txt
Revision 1.4: download - view: text, annotated - select for diffs
Thu May 3 16:48:39 2001 UTC (22 years, 11 months ago) by harris41
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1_tmcc, version_1_99_1, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_X, version_1_2_99_1, version_1_2_99_0, version_1_2_1, version_1_2_0, version_1_1_X, version_1_1_99_5, version_1_1_99_4, version_1_1_99_3, version_1_1_99_2, version_1_1_99_1, version_1_1_99_0, version_1_1_3, version_1_1_2, version_1_1_1, version_1_1_0, version_1_0_99_3, version_1_0_99_2, version_1_0_99_1, version_1_0_99, version_1_0_3, version_1_0_2, version_1_0_1, version_1_0_0, version_0_99_5, version_0_99_4, version_0_99_3, version_0_99_2, version_0_99_1, version_0_99_0, version_0_6_2, version_0_6, version_0_5_1, version_0_5, version_0_4, stable_2002_spring, stable_2002_july, stable_2002_april, stable_2001_fall, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, conference_2003, bz6209-base, bz6209, STABLE, HEAD, GCI_3, GCI_2, GCI_1, BZ4492-merge, BZ4492-feature_horizontal_radioresponse, BZ4492-feature_Support_horizontal_radioresponse, BZ4492-Support_horizontal_radioresponse
sketching out the window handling API

    1: The following files have window handling:
    2: (find . -type f | xargs grep -s -l -i '<script' | xargs grep -s -l -i '\.open')
    3: 
    4: ./loncom/homework/lonhomework.pm
    5: ./loncom/html/res/adm/pages/annotator/admannotations.pm
    6: ./loncom/html/res/adm/pages/homeworkmenu.html
    7: ./loncom/html/res/adm/pages/menu.html
    8: ./loncom/html/res/adm/pages/bookmarkmenu/bookmarkpal_old.html
    9: ./loncom/interface/londropadd.pm
   10: ./loncom/interface/lonmenu.pm
   11: ./loncom/interface/lonnavmaps.pm
   12: ./loncom/interface/lonparmset.pm
   13: ./loncom/interface/loncreateuser.pm
   14: ./loncom/xml/scripttag.pm
   15: ./rat/client/code.html
   16: ./rat/client/parameter.html
   17: 
   18: things that refer to loncapaclient
   19: find . -type f | xargs grep loncapaclient
   20: 
   21: #########################################
   22: # ./loncom/html/res/adm/pages/menu.html
   23: #
   24: 
   25: clienthost=window.location.host;
   26: clientwindow=opener;
   27: 
   28: function windowcheck() {
   29:    if (clientwindow.closed) {
   30:       clientwindow=window.open("http://"+clienthost+"/"); 
   31:    }
   32:    clientwindow.name='loncapaclient';
   33: }
   34: 
   35: function logout () {
   36:    windowcheck();
   37:    if (clientwindow.status!='MenuControl:nologout')
   38:    {   
   39:       clientwindow.window.location.href="http://"+clienthost+"/adm/logout";
   40:    }
   41: }
   42: 
   43: 
   44: 
   45: The way that children windows of 
   46: loncapaclient should work:
   47: 
   48: * need to track if they have ever been opened
   49: * if not,
   50:    * open when needed
   51:    * never refer to any object properties
   52:      * which also means never close
   53: * if currently open,
   54:    * just focus when needed
   55:    * close when needed
   56:    * can refer to object properties
   57: * if have been closed,
   58:    * can refer to object properties
   59: 
   60: The way loncapaclient window "should" work.
   61: * lonxml makes exceptions for some URI=resources like
   62:  * /res/adm/pages/menu.html
   63:  * bookmark stuff.html
   64: * lonxml should by default
   65:  * a script command should follow the body tag
   66:    and 
   67:    * name the window (loncapaclientURICHECKSUM)
   68:    * tell remote control it exists
   69:    * remote control checks clientwindow (opener)
   70:      and if opener.name is loncapaclientURICHECKSUM
   71:      it changes this to loncapaclient
   72: 
   73: 
   74: window instance <-- invoked from menu.html, but can be referred
   75:                     to from other children windows
   76:   + status (has it ever been opened, is it closed, is it open)
   77: 
   78: create_window_dependency(base,offshoot) <-- "offshoot" window
   79:                     should only be open if "base" window is open
   80: 
   81: remove_window_dependency(base,offshoot)
   82: 
   83: close_window
   84: open_window
   85: check_window
   86: change_window
   87: change_window_by_submission

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>