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 (23 years, 6 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_5_msu,
version_2_11_5,
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
The following files have window handling:
(find . -type f | xargs grep -s -l -i '<script' | xargs grep -s -l -i '\.open')
./loncom/homework/lonhomework.pm
./loncom/html/res/adm/pages/annotator/admannotations.pm
./loncom/html/res/adm/pages/homeworkmenu.html
./loncom/html/res/adm/pages/menu.html
./loncom/html/res/adm/pages/bookmarkmenu/bookmarkpal_old.html
./loncom/interface/londropadd.pm
./loncom/interface/lonmenu.pm
./loncom/interface/lonnavmaps.pm
./loncom/interface/lonparmset.pm
./loncom/interface/loncreateuser.pm
./loncom/xml/scripttag.pm
./rat/client/code.html
./rat/client/parameter.html
things that refer to loncapaclient
find . -type f | xargs grep loncapaclient
#########################################
# ./loncom/html/res/adm/pages/menu.html
#
clienthost=window.location.host;
clientwindow=opener;
function windowcheck() {
if (clientwindow.closed) {
clientwindow=window.open("http://"+clienthost+"/");
}
clientwindow.name='loncapaclient';
}
function logout () {
windowcheck();
if (clientwindow.status!='MenuControl:nologout')
{
clientwindow.window.location.href="http://"+clienthost+"/adm/logout";
}
}
The way that children windows of
loncapaclient should work:
* need to track if they have ever been opened
* if not,
* open when needed
* never refer to any object properties
* which also means never close
* if currently open,
* just focus when needed
* close when needed
* can refer to object properties
* if have been closed,
* can refer to object properties
The way loncapaclient window "should" work.
* lonxml makes exceptions for some URI=resources like
* /res/adm/pages/menu.html
* bookmark stuff.html
* lonxml should by default
* a script command should follow the body tag
and
* name the window (loncapaclientURICHECKSUM)
* tell remote control it exists
* remote control checks clientwindow (opener)
and if opener.name is loncapaclientURICHECKSUM
it changes this to loncapaclient
window instance <-- invoked from menu.html, but can be referred
to from other children windows
+ status (has it ever been opened, is it closed, is it open)
create_window_dependency(base,offshoot) <-- "offshoot" window
should only be open if "base" window is open
remove_window_dependency(base,offshoot)
close_window
open_window
check_window
change_window
change_window_by_submission
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>