--- rat/client/Attic/code.html 2000/05/04 21:05:28 1.2 +++ rat/client/Attic/code.html 2000/05/25 12:14:01 1.3 @@ -8,7 +8,8 @@ Resource Assembly Tool 9/1,9/2,9/4,9/5,9/6, 1/7,1/8,1/10,1/14,1/15,1/16,1/21,1/22,1/29,1/30,1/31, 2/2,2/3,2/10,2/12,2/13,2/14,2/15,2/17,2/18,2/19,2/20,2/21,2/22, -5/2,5/3,5/4 Gerd Kortemeyer with Scott Harrison +5/2,5/3,5/4,5/5,5/6,5/8,5/9,5/13,5/18,5/20,5/22,5/24 +Gerd Kortemeyer with Scott Harrison --> @@ -19,6 +20,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(); @@ -46,6 +48,10 @@ var lastinfo=''; var graphdef='no'; var mainrun=0; var tablemode=0; +var mostrecent=0; + +var disrows=0; +var discols=0; var data1=new Array(1024); var data2=new Array(1024); @@ -171,9 +177,10 @@ function newcondition(content,type) { // ---------------------------------------------- Creates a new resource object -function newresource(rid,cid,text,url) { +function newresource(rid,cid,text,url,ext,type) { stored=0; - objcont[addobj(rid,'b&'+rid+'&'+cid+':0:0:0')]=text+':'+url+':res'; + objcont[addobj(rid,'b&'+rid+'&'+cid+':0:0:0')]= + text+':'+url+':'+ext+':'+type+':res'; } @@ -469,10 +476,18 @@ function delobj(obj1) { // --------------------------------------------------------- Garbage collection function cleanup () { + message("Garbage Collection"); var j,kj,i; - insertrow(maxrow); - insertcol(maxcol); - addobj(maxrow,'e&'+maxcol); + disrows=0; + discols=0; + + if (lastempty!=obj.length) { + insertrow(maxrow); + insertcol(maxcol); + addobj(maxrow,'e&'+maxcol); + lastempty=obj.length; + } + for (kj=0;kj<=maxcol;kj++) { data1[kj]=0; } for (kj=0;kj<=maxrow;kj++) { rowtype[kj]=0; @@ -502,7 +517,12 @@ function cleanup () { } } for (j=0;j<=maxcol;j++) { - coltype[j]=data1[col[j]]; + coltype[j]=data1[col[j]]; + if (coltype[j]!=0) { discols+=1; } + } + for (j=0;j<=maxrow;j++) { + if (rowtype[j]==2) { disrows+=3; } + if (rowtype[j]==1) { disrows+=1; } } } @@ -521,7 +541,7 @@ function delcond(obj1,colid) { } } } - + // ----------------------------------------- Creates a new condition in a block function crecond(obj1,colid,condtext,condtype) { @@ -731,8 +751,9 @@ function delres (obj1,recon) { for (k=0;k'); if (rowcont[jid]!='') { data2=rowcont[jid].split(':'); for (jk=0;jk'); + 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,1); + 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,1); + drawcell(1,coltype[rcol[k]],colmap3[k],colmap6[k],objd2[k],jid,k, + notempty[k]); } } } @@ -1038,6 +1065,12 @@ if (rowtype[jid]!=0) { } } +// -------------------------------------------------------------- Print message + +function message(txt) { + parent.window.status=txt; +} + // ------------------------------------------------------------- Draw the table function draw () { @@ -1046,23 +1079,31 @@ function draw () { cleanup(); save(); - for (k=0;k<=maxrow;k++) { rrow[row[k]]=k; } - for (k=0;k<=maxcol;k++) { rcol[col[k]]=k; } rh[0]=0; rh[1]=30; rh[2]=60; cw[0]=0; cw[1]=30; cw[2]=60; + parent.mapout.document.clear(); parent.mapout.document.open('text/html','replace'); parent.mapout.document.writeln(''); - parent.mapout.document.writeln( - ''); - + if (tablemode==0) { - for (kr=0;kr<=maxrow;kr++) { drawrow(rrow[kr]); } + if (graphdef=='no') { graphopt(); cleanup(); } + for (k=0;k<=maxrow;k++) { rrow[row[k]]=k; } + for (k=0;k<=maxcol;k++) { rcol[col[k]]=k; } + parent.mapout.document.writeln( + '
'); + for (kr=0;kr<=maxrow;kr++) { + message("Generating Output Row "+kr); + drawrow(rrow[kr]); + } } else { - tabledraw(); + message("Generating Table Output"); + parent.mapout.document.writeln( '
'); + tabledraw(); } parent.mapout.document.writeln('
'); @@ -1087,6 +1128,10 @@ function infoclear() { 'Link Mode
Click on a resource to link it with
'+ (objcont[linkmode].split(':'))[0]+ '
click anywhere else to cancel.'); + } else { + inf.document.writeln( +'Click to Edit
Click to insert resources, columns and rows' + ); } inf.document.writeln(''); inf.document.close(); @@ -1130,9 +1175,17 @@ function info(infostr) { '
to '+objcont[data3[1]].split(':')[0]+''); } else { if (data1[0]=='r') { - inf.document.writeln('Resource
'); data2=objcont[data1[1]].split(':'); - inf.document.writeln(''+data2[0]+'
'); + inf.document.write(''); + if (data2[2]=='true') { inf.document.write('External '); } + inf.document.write('Resource'); + if (data2[3]=='mandatory') { + inf.document.write(' (Mandatory)'); + } + if (data2[3]=='optional') { + inf.document.write(' (Optional)'); + } + inf.document.writeln('
'+data2[0]+'
'); inf.document.writeln((data2[1].split('/')).join(' / ')); } else { inf.document.writeln('Link
'); @@ -1180,7 +1233,30 @@ function escape(instring) { // -------------------------------------------------- Insert resource into link function insertreslink(infostr) { - alert(infostr); + var lnr; + var fobj; + var tobj; + var nobj; + var cobj; + data1=infostr.split('&'); + data2=obj[data1[0]].split('&'); + lnr=data2[data2.length-2]; + data3=objlinks[lnr].split(':'); + fobj=data3[0]; + tobj=data3[1]; + cobj=data3[2]; + if (data2[0]=='v') { + rid=data1[1]; + cid=data2[1]; + } else { + rid=data2[1]; + cid=(data2[2].split(':'))[0]; + } + dellink(lnr); + newresource(rid,cid,'','','false','normal'); + nobj=obj.length-1; + joinres(fobj,nobj,cobj); + joinres(nobj,tobj,0); } // ---------------------------------------------------- Handles "click to edit" @@ -1205,7 +1281,7 @@ function handler(infostr) { data2=objcont[data1[4]].split(':'); } inf.document.writeln( - '

Change to above values  ' - +' Reset' - +'
'); + +');">Change to above values  ' + +' Reset
' + +''); inf.document.writeln( 'Delete Condition'); - } else { + +');">Delete Condition
'); + inf.document.writeln( + 'Delete Link'); +} else { if (data1[0]=='r') { if (linkmode!=0) { joinres(linkmode,data1[1],0); @@ -1254,21 +1333,35 @@ function handler(infostr) { data2=objcont[data1[1]].split(':'); inf.document.write( '
' + +'' +'' + inf.document.write('>' + +'' +'
Title:' - +'
URL:' - +'
External:
Regular   Mandatory   Optional
' - +'Change to above values  ' + +'+self.document.forms.resinfo.elements.e.checked+'+"':'" + +'+self.document.forms.resinfo.elements.h.value+'+"':res'" + +';opener.infoclear();opener.editmode=0;opener.draw();">' + +'Change to above values  ' +' Reset' - +'
'); + +''); inf.document.writeln( 'Delete Link'); inf.document.writeln('
Insert Resource Into Link'); } @@ -1302,7 +1395,7 @@ function handler(infostr) { inf.document.writeln( '
Done'); - inf.document.writeln(''); + inf.document.writeln(''); inf.document.close(); inf.focus(); } @@ -1326,9 +1419,29 @@ function empty(rid,k) { 'Empty Field
'); inf.document.writeln('
Insert resource'); + + if ((mostrecent!=0) && (objcont[mostrecent]!='')) { + + inf.document.writeln('
Insert Resource'); + +');">Insert resource linked to from most recent one'); + + inf.document.writeln('
Insert resource linking to most recent one'); + } + + inf.document.writeln('
Insert column:'); inf.document.writeln('