Author: sparky
Date: Fri Sep 11 18:59:08 2009
New Revision: 10567

Added:
   toys/rsget.pl/data/main.css
   toys/rsget.pl/data/main.js
Log:
- files used by http interface


Added: toys/rsget.pl/data/main.css
==============================================================================
--- (empty file)
+++ toys/rsget.pl/data/main.css Fri Sep 11 18:59:08 2009
@@ -0,0 +1,190 @@
+html {
+       background: #333;
+}
+body {
+       width: 900px;
+       margin: 10px;
+       margin-left: auto;
+       margin-right: auto;
+       border: 10px solid #555;
+       padding: 5px;
+       background: #777;
+}
+fieldset {
+       border: 10px solid #999;
+       padding: 5px;
+       margin: 5px;
+       background: #bbb;
+}
+input, textarea {
+       border: 10px solid #ddd;
+       padding: 5px;
+       margin: 5px;
+       background: #fff;
+}
+input {
+       width: 150px;
+       margin-left: 700px;
+}
+legend {
+       border: 10px solid #999;
+       border-top: 0;
+       border-bottom: 0;
+       background: #bbb;
+}
+ul {
+       border: 10px solid #ddd;
+       padding: 5px;
+       margin: 5px;
+       background: #fff;
+       list-style: none;
+}
+li:first-child {
+       border-top: 0;
+}
+li {
+       border-top: 2px solid #ddd;
+       clear: both;
+}
+
+#log li {
+       border-color: #ddd;
+}
+
+#f_status ul {
+       display: block;
+       height: 100px;
+}
+#f_status ul li {
+       display: block;
+       height: 25px;
+       width: 266px;
+       border: 1px solid #EEE;
+       margin: 1px;
+       float: left;
+       text-align: center;
+       clear: none;
+}
+a, a:visited {
+       color: inherit;
+       font-weight: bold;
+       text-decoration: none;
+}
+a:focus, a:hover {
+       text-decoration: underline;
+}
+
+li.active, li.file, li.uri, li.comment {
+       display: block;
+       border: 2px solid black;
+       margin-top: 3px;
+       margin-bottom: 3px;
+       padding: 1px;
+       clear: both;
+}
+li.comment {
+       color: #44F;
+       border-color: #AAF;
+}
+.flist li.file {
+       margin-bottom: 0;
+}
+.flist li.uri {
+       margin-top: 0;
+       margin-bottom: 0;
+       margin-left: 50px;
+}
+span.logo {
+       display: block;
+       float: right;
+       margin-left: 3px;
+       height: 40px;
+       font-size: 30px;
+       text-align: right;
+}
+div.info {
+       display: block;
+       overflow: hidden;
+}
+div.href {
+       display: block;
+       overflow: hidden;
+}
+div.info span.size {
+       display: block;
+       float: right;
+}
+.flist li div span.cmd {
+       display: block;
+       float: left;
+       font-weight: bold;
+       width: 60px;
+}
+li.green {
+       background: #AFA;
+       border-color: #2F2;
+}
+li.red {
+       background: #FAA;
+       border-color: #F22;
+}
+li.blue {
+       background: #AAF;
+       border-color: #22F;
+}
+li.orange {
+       background: #FCA;
+       border-color: #F82;
+}
+
+.error {
+       color: #F00;
+       font-weight: bold;
+}
+
+div.progress {
+       clear: both;
+       position: relative;
+       border: 1px solid;
+       border-color: inherit;
+       height: 25px;
+       width: 98%;
+       background: transparent;
+       margin-left: auto;
+       margin-right: auto;
+}
+li.green div.progress {
+       background: #DFD;
+}
+li.red div.progress {
+       background: #FDD;
+}
+li.blue div.progress {
+       background: #DDF;
+}
+li.orange div.progress {
+       background: #FDC;
+}
+
+div.progress div {
+       position: absolute;
+       background: #2F2;
+       height: 25px;
+}
+div.progress span {
+       position: absolute;
+       display: block;
+       width: 100%;
+       text-align: center;
+}
+
+.tools {
+       font-size: 75%;
+       font-weight: bold;
+}
+.tools span {
+       cursor: pointer;
+}
+.tools span:hover {
+       text-decoration: underline;
+}

Added: toys/rsget.pl/data/main.js
==============================================================================
--- (empty file)
+++ toys/rsget.pl/data/main.js  Fri Sep 11 18:59:08 2009
@@ -0,0 +1,117 @@
+
+function ajax_post( link, post, callback )
+{
+       var req = new XMLHttpRequest();
+
+       req.onreadystatechange = function () {
+               if ( req.readyState != 4 )
+                       return;
+               
+               var d = req.responseXML;
+               callback( d ? d.lastChild.lastChild : null );
+       };
+
+       req.open( "POST", link, true );
+       req.setRequestHeader( 'Content-Type', 
'application/x-www-form-urlencoded' );
+       req.setRequestHeader( 'Content-Length', post.length );
+       req.setRequestHeader( 'Connection', 'close' );
+       req.send( post );
+}
+
+function make_post( obj )
+{
+       var post = [];
+       for ( var key in obj ) {
+               post.push( escape( key ) + "=" + escape( obj[ key ] ) );
+       }
+       return post.join( "&" );
+}
+
+var last_update = {};
+var update_uri = null;
+function init_main()
+{
+       update_uri = "/update";
+       window.setInterval( update, 750 );
+}
+
+function init_add( id )
+{
+       last_update.id = id;
+       update_uri = "/add_update";
+       window.setInterval( update, 800 );
+}
+
+function update()
+{
+       ajax_post( update_uri, make_post( last_update ), update_page );
+       delete last_update.exec;
+}
+
+function update_page( body )
+{
+       if ( !body )
+               return;
+       {
+               var script = body.lastChild;
+               script.parentNode.removeChild( script );
+               var update = eval( script.lastChild.nodeValue + "\nupdate" );
+               for ( var key in update ) {
+                       last_update[ key ] = update[ key ];
+               }
+       }
+       var ne;
+       while ( ne = body.firstChild ) {
+               ne.parentNode.removeChild( ne );
+               if ( ne.nodeName == "#text" )
+                       continue;
+               var id = ne.getAttribute( 'id' );
+               var old = document.getElementById( id );
+               if ( !old )
+                       continue;
+
+               old.parentNode.replaceChild( ne, old );
+               if ( id == "f_dllist" || id == "f_addlist" || id == "f_listask" 
)
+                       add_DL_commands( ne );
+       }
+}
+
+function add_DL_commands( list )
+{
+       var divs = list.getElementsByTagName( 'div' );
+       for ( var i = 0; i < divs.length; i++ ) {
+               var div = divs[ i ];
+               var cl = div.getAttribute( 'class' );
+               if ( !cl || cl != 'tools' )
+                       continue;
+
+               var spans = div.getElementsByTagName( 'span' );
+               for ( var j = 0; j < spans.length; j++ ) {
+                       var span = spans[ j ];
+                       span.addEventListener( 'click', send_command, false );
+               }
+       }
+}
+
+function send_command( event )
+{
+       var cmd = this.firstChild.nodeValue;
+       var target = this.parentNode.parentNode.getAttribute( 'id' );
+       if ( cmd == "!REMOVE" ) {
+               var c = confirm( "Remove " + target + " ?" );
+               if ( !c )
+                       return;
+       }
+       last_update.exec = cmd + ":" + target;
+}
+
+
+
+var alerted = {};
+function a( data )
+{
+       if ( alerted[ data ] )
+               return;
+       alerted[ data ] = 1;
+       alert( data );
+}
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to