--- rat/client/Attic/code.html 2000/06/08 16:19:50 1.4 +++ rat/client/Attic/code.html 2002/05/25 20:32:10 1.58 @@ -3,14 +3,48 @@ @@ -21,7 +55,7 @@ var row=new Array(); var maxrow=-1; var col=new Array(); var maxcol=-1; -var lastempty=-2; + var colmap=new Array(); var colmap2=new Array(); var colmap3=new Array(); @@ -30,6 +64,7 @@ var colmap5=new Array(); var colmap6=new Array(); var obj=new Array(); var objcont=new Array(); +var objparms=new Array(); var objlinks=new Array(); var rowcont=new Array(); var rowtype=new Array(); @@ -47,6 +82,7 @@ var notclear=0; var linkmode=0; var lastinfo=''; var graphdef='no'; +var mode=''; var mainrun=0; var tablemode=0; var mostrecent=0; @@ -55,18 +91,56 @@ var zscale=3; var disrows=0; var discols=0; +var finishdone=0; +var tim=0; +var funny='|'; +var reqaction=''; +var canceltim; + +var expense=0; + var data1=new Array(1024); var data2=new Array(1024); var data3=new Array(1024); var data4=new Array(1024); var data5=new Array(1024); +var inf; +var srch; +var srchflag=-1; // 1 means currently open + // 0 means closed (but has been open) + // -1 means never yet opened/defined +var srchmode=''; + +var idx; +var idxflag=-1; // 1 means currently open + // 0 means closed (but has been open) + // -1 means never yet opened/defined +var idxmode=''; + +var copydx; +var copydxflag=-1; // 1 means currently open + // 0 means closed (but has been open) + // -1 means never yet opened/defined +var copydxmode=''; + +var parm; +var parmflag=-1; // 1 means currently open + // 0 means closed (but has been open) + // -1 means never yet opened/defined + +var iconpath='/adm/lonIcons/'; +var raticons='/adm/rat/'; -// ------------------------------------------------ Insert a row into the table +function testfunction() { + inf.document.forms.resinfo.elements.t.value="ABC"; +} +// ------------------------------------------------ Insert a row into the table function insertrow(j,ex1,ex2) { var kj; stored=0; + expense++; expense++; objects1=''; objects2=''; for (kj=0;kj<=maxrow;kj++) { @@ -81,7 +155,7 @@ function insertrow(j,ex1,ex2) { objects=objects1+':'+objects2; data1=objects.split(':'); for (kj=0;kjj ) { col[kj]++; } } maxcol++; + expense++; expense++; col[maxcol]=j+1; } // --------------------------------------------------------------- Find the row - function findrow(jid) { var j; for (j=0;j<=maxrow;j++) { if (row[j]==jid) { return j; } } @@ -224,7 +294,6 @@ function findrow(jid) { } // --------------------------------------------------------------- Find the col - function findcol(jid) { var j; for (j=0;j<=maxcol;j++) { if (col[j]==jid) { return j; } } @@ -239,12 +308,11 @@ function findcol(jid) { // // returns middle (col number of middle of obj1) // sets colmap (map of cols with object numbers) - function maprow (jid,obj1,ign) { var j; var k; var left; var right; var middle; middle=-1; for (j=0;j<=maxcol;j++) { colmap[j]=0; } - if (rowcont[jid]!='') { + if ((rowcont[jid]!='') && (typeof(rowcont[jid])!="undefined")) { data2=rowcont[jid].split(':'); for (j=0;j'); - if (what!='') { - if (obj1!='') { - obj1="'"+obj1+"'"; + if ((what!='') && (typeof(what)!="undefined")) { + if ((obj1!='') && (typeof(obj1)!="undefined")) { + objref="'"+obj1+"'"; parent.mapout.document.write - (''); + (''); } if (what=='r:') { + mime=''; + objnum=(obj1.split('&'))[1]; + if (typeof(objcont[objnum])!="undefined") { + urlparts=objcont[objnum].split(':'); + url=urlparts[1]; + ext=urlparts[2]; + urlparts=url.split('.'); + mime=urlparts[urlparts.length-1]; + if (typeof(mime)=="undefined") { mime=''; } + } parent.mapout.document.write - (''); + (''); + if ((mime!='') && (ext!='true')) { + parent.mapout.document.write + ('
'+ + ''); + } else { + parent.mapout.document.write + ('
'); + } + parent.mapout.document.write + ('
'); } else { if (what=='c:') { parent.mapout.document.write (''); + +' src="'+raticons+'condition.gif">'); + } else { + if (what=='rs:') { + mime=''; + objnum=(obj1.split('&'))[1]; + if (typeof(objcont[objnum])!="undefined") { + urlparts=objcont[objnum].split(':'); + url=urlparts[1]; + ext=urlparts[2]; + urlparts=url.split('.'); + mime=urlparts[urlparts.length-1]; + if (typeof(mime)=="undefined") { mime=''; } + } + parent.mapout.document.write + (''); + if ((mime!='') && (ext!='true')) { + parent.mapout.document.write + ('
'+ + ''); + } else { + parent.mapout.document.write + ('
'); + } + parent.mapout.document.write + ('
'); + + } else { + if (what=='rf:') { + mime=''; + objnum=(obj1.split('&'))[1]; + if (typeof(objcont[objnum])!="undefined") { + urlparts=objcont[objnum].split(':'); + url=urlparts[1]; + ext=urlparts[2]; + urlparts=url.split('.'); + mime=urlparts[urlparts.length-1]; + if (typeof(mime)=="undefined") { mime=''; } + } + parent.mapout.document.write + (''); + if ((mime!='') && (ext!='true')) { + parent.mapout.document.write + ('
'+ + ''); } else { parent.mapout.document.write - (''); + ('
'); + } + parent.mapout.document.write + ('
'); + } else { + parent.mapout.document.write + (''); + } + } } } - if (obj1!='') { + if ((obj1!='') && (typeof(obj1)!="undefined")) { parent.mapout.document.write('
'); } } else { @@ -874,25 +1077,23 @@ function drawcell (rtype,ctype,what,cm,o parent.mapout.document.write ( ''); + +' src="'+raticons+rtype+'.'+ctype+'.empty.gif">'); } parent.mapout.document.write(''); } } // --------------------------------------------------------- Color of resources - function rescolor (ext,typ) { var rc; var gc; var bc; if (ext=='true') { bc='55'; } else { bc='99'; } if (typ=='mandatory') { rc='FF'; } else { rc='BB'; } if (typ=='optional') { gc='BB'; } else { gc='FF'; } - if ((typ=='start') || (typ=='end')) { rc='AA'; gc='AA'; bc='FF'; } + if ((typ=='start') || (typ=='finish')) { rc='AA'; gc='AA'; bc='FF'; } return '#'+rc+gc+bc; } // -------------------------------------------------------- Color of conditions - function condcolor(typ) { if (typ=='stop') { return '#EEAAAA'; } if (typ=='force') { return '#AAAAEE'; } @@ -900,9 +1101,8 @@ function condcolor(typ) { } // ----------------------------------------------------------------- Draw a row - function drawrow (jid) { -var j; var jk; var k; var ck; +var j; var jk; var k; var ck; var rtype; var objd1=new Array(); var objd2=new Array(); var notempty=new Array(); @@ -915,12 +1115,13 @@ if (rowtype[jid]!=0) { } parent.mapout.document.writeln(''); - if (rowcont[jid]!='') { + if ((rowcont[jid]!='') && (typeof(rowcont[jid])!="undefined")) { data2=rowcont[jid].split(':'); for (jk=0;jkmiddle) { for (k=middle+1;kleftin;k--) { - if (colmap4[k]!='') { + if ((colmap4[k]!='') && (typeof(colmap4[k])!="undefined")) { colmap[k]='lrt'; } else { colmap[k]='lr'; @@ -993,7 +1202,7 @@ if (rowtype[jid]!=0) { if (rightoutmiddle) { - if (colmap3[middle]!='') { + if ((colmap3[middle]!='') && (typeof(colmap3[middle])!="undefined")) { colmap2[middle]='rtdl'; } else { colmap2[middle]='rtl'; @@ -1002,7 +1211,7 @@ if (rowtype[jid]!=0) { } if (leftoutleftout;k--) { - if (colmap3[k]!='') { + if ((colmap3[k]!='') && (typeof(colmap3[k])!="undefined")) { colmap2[k]='rld'; } else { colmap2[k]='rl'; @@ -1012,7 +1221,7 @@ if (rowtype[jid]!=0) { } if (rightout>middle) { for (k=middle+1;k'); - parent.mapout.document.writeln(''); + parent.mapout.document.writeln(''); for (k=0;k<=maxcol;k++) { drawcell(1,coltype[rcol[k]],colmap2[k],colmap5[k],objd2[k],jid,k, notempty[k]); } parent.mapout.document.writeln(''); - parent.mapout.document.writeln(''); + parent.mapout.document.writeln(''); for (k=0;k<=maxcol;k++) { drawcell(1,coltype[rcol[k]],colmap3[k],colmap6[k],objd2[k],jid,k, notempty[k]); @@ -1095,13 +1304,11 @@ if (rowtype[jid]!=0) { } // -------------------------------------------------------------- Print message - function message(txt) { parent.window.status=txt; } // ------------------------------------------------------------- Draw the table - function draw () { var k; var kr; @@ -1125,7 +1332,7 @@ function draw () { parent.mapout.document.writeln( ''); - for (kr=0;kr<=maxrow;kr++) { + for (kr=0;kr<=maxrow;kr++) { message("Generating Output Row "+kr); drawrow(rrow[kr]); } @@ -1150,11 +1357,9 @@ function draw () { } // --------------------------------------------------------- Clears info window - function infoclear() { if (notclear!=1) { - var options="scrollbars=1,resizable=1,menubar=0,width=400,height=300"; - var inf=open("","infout",options); + infcheck(); inf.document.clear(); inf.document.writeln ('
'+ @@ -1182,24 +1387,48 @@ function infoclear() { } inf.document.writeln('
'); inf.document.close(); - parent.focus(); + if (srchflag==1) { + srchclose(); + } + if (idxflag==1) { + idxclose(); + } + if (parmflag==1) { + parmclose(); + } + parent.top.focus(); parent.mapout.focus(); notclear=1; lastinfo=''; } } -// --------------------------------------------------- Prints out resource info +// ------------------------------------------------------------ Open inf window +function infopen() { + var options="scrollbars=1,resizable=1,menubar=0,width=400,height=300"; + inf=open("","infout",options); +} +// -------------------------------------------------------- Do inf status check +function infcheck() { + if (inf.closed) { + infopen(); + } +} + +// --------------------------------------------------- Prints out resource info function info(infostr) { + var mime=''; + var ext; + var urlparts=new Array; + var url=''; if ((editmode!=1) && (infostr!=lastinfo)) { notclear=1; - var options="scrollbars=1,resizable=1,menubar=0,width=400,height=300"; - var inf=open("","infout",options); + infcheck(); inf.document.clear(); inf.document.writeln( ''+ - '
'); + '
'); data1=infostr.split('&'); if (data1[0]=='c') { inf.document.write('Condition ('); @@ -1223,9 +1452,28 @@ function info(infostr) { } else { if (data1[0]=='r') { data2=objcont[data1[1]].split(':'); - inf.document.write(''); + url=data2[1]; + ext=data2[2]; + urlparts=url.split('.'); + mime=urlparts[urlparts.length-1]; + if (typeof(mime)=="undefined") { mime=''; } + if (ext=='true') { mime=''; } + if (mime!='') { + inf.document.write + ('
  '); + } + inf.document.write(''); if (data2[2]=='true') { inf.document.write('External '); } - inf.document.write('Resource'); + if (data2[3]=='start') { + inf.document.writeln('Start'); + } else { + if (data2[3]=='finish') { + inf.document.writeln('Finish'); + } else { + inf.document.writeln('Resource'); + } + } if (data2[3]=='mandatory') { inf.document.write(' (Mandatory)'); } @@ -1253,7 +1501,7 @@ function info(infostr) { } inf.document.writeln('
'); inf.document.close(); - parent.focus(); + parent.top.focus(); parent.mapout.focus(); notclear=0; lastinfo=infostr; @@ -1261,7 +1509,6 @@ function info(infostr) { } // ------------------------------------------------ "Escapes" out special chars - function escape(instring) { var outstring=''; var thischar; @@ -1269,7 +1516,7 @@ function escape(instring) { for (k=0;k

Group Copy from Map

'+ + '
'+ + '
'); + + copydx.document.writeln(''); + copydx.focus(); +} + +// --------------------------------------------------------- Open search window +function srchopen(mode) { + var options="scrollbars=1,resizable=1,menubar=0"; + srchmode=mode; + srchflag=1; + srch=open("/adm/searchcat?launch=1&mode=rat&catalogmode="+mode,"srchout",options); + srch.focus(); +} + +// -------------------------------------------- Interface function to searching +function search() { + alert("Searching not yet implemented"); +} + +// ------------------------------------------------------- Do srch status check +function srchcheck(mode) { + if (!srch || srch.closed || srchmode!=mode) { + srchopen(mode); + } + srch.focus(); +} + +// -------------------------------------------------------- Do idx status check +function idxcheck(mode) { + if (!idx || idx.closed || idxmode!=mode) { + idxopen(mode); + } + idx.focus(); +} + +// -------------------------------------------------------- Do idx status check +function copydxcheck(mode) { + if (!copydx || copydx.closed || copydxmode!=mode) { + copydxopen(mode); + } + copydx.focus(); +} + +// ---------------------------------------------------- Handles "click to edit" function handler(infostr) { var k; editmode=1; notclear=1; - var options="scrollbars=1,resizable=1,menubar=0,width=400,height=300"; - var inf=open("","infout",options); + infcheck(); inf.document.clear(); inf.document.writeln( ''+ - '
'); + '
'); data1=infostr.split('&'); if (data1[0]=='c') { inf.document.writeln('Condition
'); @@ -1354,7 +1763,7 @@ function handler(infostr) { } inf.document.writeln( 'opener.infoclear();opener.editmode=0;opener.draw(' - +');">Change to above values  ' + +');">Save Changes  ' +' Reset
' +''); @@ -1366,6 +1775,11 @@ function handler(infostr) { 'Delete Link'); + + inf.document.writeln('
Insert Resource Into Link'); } else { if (data1[0]=='r') { if (linkmode!=0) { @@ -1376,18 +1790,31 @@ function handler(infostr) { inf.document.writeln('Linked Resources'); draw(); } else { - inf.document.writeln('Resource'); data2=objcont[data1[1]].split(':'); + if (data2[3]=='start') { + inf.document.writeln('Start'); + } else { + if (data2[3]=='finish') { + inf.document.writeln('Finish'); + } else { + inf.document.writeln('Resource'); + } + } inf.document.write( - '
Title:' + ''); + inf.document.write('' +'' - +''); + if ((data2[3]!='start') && (data2[3]!='finish')) { + inf.document.write('' - +'
Title:' +'
URL:' + +data2[0]+'">
URL:' +'
External:
' + +'Browse ' + +'Search
' + +' Mandatory   Optional
' - +'Change to above values  ' + +'Save Changes  ' +' Reset' +'
'); + if ((data2[3]!='start') && (data2[3]!='finish')) { inf.document.writeln( 'Delete Resource (preserving links)'); + } + if (data2[3]!='finish') { inf.document.writeln( '
Link Resource'); + } + inf.document.writeln( + '
Set Parameters'); + } } else { linkmode=0; @@ -1441,14 +1879,13 @@ function handler(infostr) { } inf.document.writeln( '
Done'); + +'opener.infoclear();">Cancel'); inf.document.writeln('
'); inf.document.close(); inf.focus(); } // ----------------------------------------------------- Clicks on empty fields - function empty(rid,k) { var cid=findcol(k); var lcol=k-1; @@ -1457,12 +1894,11 @@ function empty(rid,k) { editmode=1; notclear=1; linkmode=0; - var options="scrollbars=1,resizable=1,menubar=0,width=400,height=300"; - var inf=open("","infout",options); + infcheck(); inf.document.clear(); inf.document.writeln( ''+ - ''); } -// ---------------------------------------- Draw simple table instead of graph +// ---------------------------------------- Draw simple table instead of graph function simpletabledraw() { var objsorted=new Array(); var robjs=new Array(); @@ -1809,9 +2286,13 @@ function simpletabledraw() { var nr; var ck; var cck; + var mime; + var ext; + var url; + var urlparts=new Array; var condid; var sortstr=sortobjs(); - if (sortstr!='') { + if ((sortstr!='') && (typeof(sortstr)!="undefined")) { objsorted=sortstr.split('&'); for (k=0;k
'+ + '
'+ 'Empty Field
'); inf.document.writeln('
Insert resource'); - if ((mostrecent!=0) && (objcont[mostrecent]!='')) { + if ((mostrecent!=0) && (objcont[mostrecent]!='') && + (typeof(objcont[mostrecent])!="undefined")) { inf.document.writeln('
Done'); + +'opener.infoclear();">Cancel'); inf.document.writeln('
'); inf.document.close(); inf.focus(); } // ---------------------------------------------------- Save into hidden fields - function save() { var k; if (graphdef=='yes') { parent.server.document.forms.storage.output.value='graphdef<:>yes'; - for (k=0;k'+obj[k]; } @@ -1552,7 +1988,13 @@ function save() { } parent.server.document.forms.storage.output.value+= '<&>tablemode<:>'+tablemode; - + + for (k=0;kobjparms<:>'+k+'<:>'+objparms[k]; + } + } for (k=0;k
'); + url=data1[1]; + ext=data1[2]; + urlparts=url.split('.'); + mime=urlparts[urlparts.length-1]; + if (typeof(mime)=="undefined") { mime=''; } + if ((mime!='') && (ext!='true')) { + parent.mapout.document.write + ('

'+ + '

'); + } + parent.mapout.document.write( + '

'); data2=obj[i].split('&'); parent.mapout.document.write(''); + + if (data1[3]=='start') { + parent.mapout.document.writeln(''); + } + if (data1[3]=='finish') { + parent.mapout.document.writeln(''); + } parent.mapout.document.write( ''); + +data1[0]+'">'); parent.mapout.document.write( '' +'' - +''); + if ((data1[3]!='start') && (data1[3]!='finish')) { + parent.mapout.document.write( + '' - +''); + 'Link resource'); + } + parent.mapout.document.writeln( + '
Set Parameters'); + parent.mapout.document.writeln(''); parent.mapout.document.writeln('
Start
Finish
Title:
URL:
External:
Optional
' - +'Change to above values  ' + +'Save Changes  ' +' Reset
' -+'Reset
'); + if ((data1[3]!='start') && (data1[3]!='finish')) { + parent.mapout.document.writeln( + '' +'Delete Resource (cutting links)
' +'' -+'Delete Resource (preserving links)
' - +''+ - 'Link resource
'); for (j=2;j
'); - insrestab(rrow[data2[1]],i,nr); + insrestab(rrow[data2[1]],i,nr,data1[3]); } } } // ----------------------------------------------------- Insert Resource Output - -function insrestab(irow,be,af) { +function insrestab(irow,be,af,typ) { parent.mapout.document.writeln('
'+ '
' +'Insert resource'); - if (be!=-1) { + if ((be!=-1) && (typ!='finish')) { parent.mapout.document.writeln( '' +'Insert resource linked to from above
'); } - if ((be!=-1) && (af!=-1)) { + if ((be!=-1) && (af!=-1) && (typ!='finish')) { parent.mapout.document.writeln( '' +'Insert resource linked to from above and linking to below
'); @@ -1791,14 +2267,15 @@ function insrestab(irow,be,af) { '' +'Insert resource linking to below
'); } parent.mapout.document.writeln('
'+k+''); + parent.mapout.document.write('
'); + url=data1[1]; + ext=data1[2]; + urlparts=url.split('.'); + mime=urlparts[urlparts.length-1]; + if (typeof(mime)=="undefined") { mime=''; } + if ((mime!='') && (ext!='true')) { + parent.mapout.document.write + ('

'+ + '

'); + } + parent.mapout.document.write(''+k+'

'); data2=obj[i].split('&'); parent.mapout.document.write(''); + + if (data1[3]=='start') { + parent.mapout.document.writeln(''); + } + if (data1[3]=='finish') { + parent.mapout.document.writeln(''); + } parent.mapout.document.write( ''); parent.mapout.document.write( @@ -1881,9 +2380,8 @@ function simpletabledraw() { } // ---------------------------------- Sort objects to straighten graph or table - function sortobjs() { - message("Sorting Resources"); + message("Sorting Resources: "+funny); var k; var ij; var dol; @@ -1901,7 +2399,9 @@ function sortobjs() { } if (objsort.length==0) { return ''; } for (k=1;kallcolmax) { allcolmax=thiscolmax; } thiscolmax=1; } kj=rowcont.length-1; - obj[thisnewobj]='b&'+kj+'&'+thiscolmax+':0:0:0'; + obj[thisnewobj]='b&'+kj+'&'+thiscolmax+':0:0:0'; + if (thiscolmax>allcolmax) { allcolmax=thiscolmax; } } for (k=0;k
Start
Finish
Title:'+data1[0]+'
+ + + + + + + + + + + + + + +
Toggle display Zoom out Zoom in Condense Straighten Revert Undo Redo Group search Group import Group copy Save map Save map and layout 
+
+ - - - - -