Changeset 14743 for misc/runpugs

Show
Ignore:
Timestamp:
11/14/06 11:47:04 (2 years ago)
Author:
andara
Message:

[runpugs]
-runpugs devel ("runpugs2") now stops backspace at prompt (JS)

Location:
misc/runpugs
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • misc/runpugs/data/runpugs2.html

    r14733 r14743  
    77<link rel="stylesheet" type="text/css" href="/runpugs.css"> 
    88<script language="JavaScript"> 
     9var nchars=0; 
     10function getnchars() { 
     11return document.terminal.cmd.value.length 
     12} 
    913 
     14function getcursorpos() { 
     15        var obj=document.terminal.cmd; 
     16        if(document.selection) { 
     17        obj.focus();                     
     18                var rng=document.selection.createRange();                        
     19        rng.moveStart('character',-nchars); 
     20                return rng.text.length; 
     21        } else if(obj.selectionStart>=0) { // FireFox 
     22        var start = obj.selectionStart; 
     23        var end   = obj.selectionEnd; 
     24                if (start<=end) { 
     25                        return start; 
     26                } else { 
     27                        return end; 
     28           } 
     29        } 
     30} 
     31 
     32function catchbackspace(myfield,e) 
     33{ 
     34var keycode; 
     35if (window.event) {keycode = window.event.keyCode; 
     36} 
     37else if (e) { 
     38keycode = e.which; 
     39} 
     40else return true; 
     41 
     42if (keycode == 13) 
     43{ 
     44document.terminal.submit();  
     45return false; 
     46} 
     47if (keycode==38) { 
     48return false; 
     49} 
     50if ((keycode==8)||(keycode==37)||(keycode==46)) { 
     51    if ((getnchars()>nchars) && (getcursorpos() > nchars)) { 
     52        return true; 
     53    } else { 
     54        return false; 
     55    } 
     56} else { 
     57    return true; 
     58} 
     59} 
     60 
     61//  onkeypress="return catchbackspace(this,event)" onkeydown="return catchbackspace(this,event)" 
    1062function submitenter(myfield,e) 
    1163{ 
     
    1971return false; 
    2072} 
    21 else 
     73else { 
     74if (keycode == 8) { 
     75if (getnchars()>nchars) { 
    2276return true; 
     77} else { 
     78return false; 
     79} 
     80} else { 
     81return true; 
     82} 
     83} 
    2384} 
    2485 
     
    3495document.terminal.hist.selectedIndex=0; 
    3596document.terminal.cmd.focus(); 
     97document.terminal.cmd.scrollTop =document.terminal.cmd.scrollHeight;  
    3698_SKIPT_ */ 
    3799} 
     
    82144_HIST_ 
    83145</select> 
     146<!--onKeyPress="return submitenter(this,event)"--> 
    84147<br> 
    85148<!-- _SKIPT_ 
    86 <textarea id="cmd" name="cmd" rows="20" cols="80" wrap="virtual" 
    87 onKeyPress="return submitenter(this,event)"> 
     149<textarea id="cmd" name="cmd" rows="20" cols="80" wrap="virtual" onkeypress="return catchbackspace(this,event)" onkeydown="return catchbackspace(this,event)"> 
    88150_ALL_ 
    89151</textarea> 
     
    113175//document.terminal.output.style.height="2ex"; 
    114176//} 
     177nchars=document.terminal.cmd.value.length; 
    115178</script> 
    116179<p>This live web terminal runs the <a href="http://www.pugscode.org">pugs</a> interpreter for <a 
  • misc/runpugs/htdocs/runpugs.css

    r14733 r14743  
    1717 
    1818LABEL {font-weight: normal; } 
    19 FIELDSET {border: solid white 0px}; 
     19FIELDSET {border: solid white 0px} 
    2020LEGEND {font-weight:normal; text-align: left; } 
    2121 
     
    7676} 
    7777#outputwindow { 
    78     height=20ex; 
     78    height:20ex; 
    7979} 
    8080#editorwindow {