File:  [LON-CAPA] / loncom / javascriptlib / loncapa.js
Revision 1.2: download - view: text, annotated - select for diffs
Wed Dec 19 17:21:28 2001 UTC (22 years, 4 months ago) by albertel
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, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, conference_2003, bz6209-base, bz6209, bz5969, bz2851, STABLE, PRINT_INCOMPLETE_base, PRINT_INCOMPLETE, HEAD, GCI_3, GCI_2, GCI_1, BZ5971-printing-apage, BZ5434-fox, BZ4492-merge, BZ4492-feature_horizontal_radioresponse
- added GPL headers

    1: // The LearningOnline Network with CAPA
    2: // loncapa.js This is a window handling library for the LON-CAPA web interface.
    3: //
    4: // $Id: loncapa.js,v 1.2 2001/12/19 17:21:28 albertel Exp $
    5: //
    6: // Copyright Michigan State University Board of Trustees
    7: //
    8: // This file is part of the LearningOnline Network with CAPA (LON-CAPA).
    9: //
   10: // LON-CAPA is free software; you can redistribute it and/or modify
   11: // it under the terms of the GNU General Public License as published by
   12: // the Free Software Foundation; either version 2 of the License, or
   13: // (at your option) any later version.
   14: //
   15: // LON-CAPA is distributed in the hope that it will be useful,
   16: // but WITHOUT ANY WARRANTY; without even the implied warranty of
   17: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   18: // GNU General Public License for more details.
   19: //
   20: // You should have received a copy of the GNU General Public License
   21: // along with LON-CAPA; if not, write to the Free Software
   22: // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   23: //
   24: // /home/httpd/html/adm/gpl.txt
   25: //
   26: // http://www.lon-capa.org/
   27: //
   28: // This is a window handling library for the LON-CAPA
   29: // web interface.  This library interfaces with a variety
   30: // of web page handlers.  This is part of the LON-CAPA
   31: // project at http://www.lon-capa.org/
   32: //
   33: // Window status tracking
   34: // -1: not yet opened, no existing window object yet created
   35: // 0: closed
   36: // 1: open (or closed without using the close_window method)
   37: //
   38: // Methods
   39: // -------
   40: // open_window
   41: // close_window
   42: // check_window
   43: // change_window
   44: // change_window_by_submission
   45: 
   46: var status=new Array();
   47: status['abc123']=-1;
   48: status['def456']=-1;
   49: status['ghi789']=-1;
   50: var windows=new Array();
   51: 
   52: //-------------------------------------------------------- window attributes
   53: function window_attributes(name,type) {
   54:   if (name=='abc123') {
   55:     if (type=='target') {return '';}
   56:     if (type=='name') {return 'abc123';}
   57:     if (type=='options') {return 'width=360,height=165';}
   58:     return(true);
   59:   }
   60:   if (name=='def456') {
   61:     if (type=='target') {return '';}
   62:     if (type=='name') {return 'def456';}
   63:     if (type=='options') {return 'width=360,height=165';}
   64:     return(true);
   65:   }
   66:   if (name=='ghi789') {
   67:     if (type=='target') {return '';}
   68:     if (type=='name') {return 'ghi789';}
   69:     if (type=='options') {return 'width=360,height=165';}
   70:     return(true);
   71:   }
   72:   alert('undefined window '+name+' called for loncapa.js;'+
   73:         'see window_attributes function');
   74:   return(false);
   75: }
   76: //------------------------------------------------------------ open a window
   77: function open_window(name) {
   78:   if (window_attributes(name)&&(status[name]==-1||windows[name].closed)) {
   79:     windows[name]=window.open(window_attributes(name,'target'),
   80:                               window_attributes(name,'name'),
   81:                               window_attributes(name,'options'));
   82:     status[name]=1;
   83:   }
   84: }
   85: //-------------------------------------------------- close dependent windows
   86: function close_dependents(name) {
   87:   if (name=='THIS') {
   88:     close_window('abc123');
   89:     close_window('def456');
   90:     close_window('ghi789');
   91:   }
   92:   if (name=='abc123') {
   93:     close_window('ghi789');
   94:   }
   95: }
   96: //----------------------------------------------------------- close a window
   97: function close_window(name) {
   98:   close_dependents(name);
   99:   
  100:   if (name!="THIS" && window_attributes(name) && status[name]!=-1
  101:       && !windows[name].closed) {
  102:     windows[name].close();
  103:     status[name]=0;
  104:   }
  105: }
  106: //------------------------------------------------- check and focus a window
  107: function check_window(name) {
  108:   open_window(name);
  109:   windows[name].focus();
  110: }
  111: //---------------------------------------------------------- change a window
  112: function change_window(name) {
  113:   check_window(name);
  114: }
  115: //-------------------------------------------- change a window by submission
  116: function change_window_by_submission() {
  117:   check_window(name);
  118: }

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