Changeset 12725


Ignore:
Timestamp:
Aug 24, 2011, 6:42:10 PM (10 years ago)
Author:
jordan
Message:

(trunk web) #4438 "Add tooltip for peer status in web interface" -- patch by niol

Location:
trunk/web/javascript
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/web/javascript/formatter.js

    r12716 r12725  
    270270                {
    271271                        return [ i, ' ', word, (word==1?'':'s') ].join('');
    272                 }
     272                },
     273
     274                peerStatus: function( flagStr )
     275                {
     276                        var formattedFlags = [];
     277                        for (var i=0, flag; flag=flagStr[i]; ++i)
     278                        {
     279                                var explanation = null;
     280                                switch (flag)
     281                                {
     282                                        case "O": explanation = "Optimistic unchoke"; break;
     283                                        case "D": explanation = "Downloading from this peer"; break;
     284                                        case "d": explanation = "We would download from this peer if they'd let us"; break;
     285                                        case "U": explanation = "Uploading to peer"; break;
     286                                        case "u": explanation = "We would upload to this peer if they'd ask"; break;
     287                                        case "K": explanation = "Peer has unchoked us, but we're not interested"; break;
     288                                        case "?": explanation = "We unchoked this peer, but they're not interested"; break;
     289                                        case "E": explanation = "Encrypted Connection"; break;
     290                                        case "H": explanation = "Peer was discovered through Distributed Hash Table (DHT)"; break;
     291                                        case "X": explanation = "Peer was discovered through Peer Exchange (PEX)"; break;
     292                                        case "I": explanation = "Peer is an incoming connection"; break;
     293                                        case "T": explanation = "Peer is connected via uTP"; break;
     294                                }
     295
     296                                if( explanation == null ) {
     297                                        formattedFlags.push(flag);
     298                                } else {
     299                                        formattedFlags.push("<span title=\"" + flag + ': ' + explanation + "\">" + flag + "</span>");
     300                                }
     301                        }
     302                        return formattedFlags.join('');
     303                },
    273304        }
    274305})();
  • trunk/web/javascript/transmission.js

    r12724 r12725  
    13621362                                                   '<td>', (peer.rateToClient ? fmt.speedBps(peer.rateToClient) : ''), '</td>',
    13631363                                                   '<td class="percentCol">', Math.floor(peer.progress*100), '%', '</td>',
    1364                                                    '<td>', peer.flagStr, '</td>',
     1364                                                   '<td>', fmt.peerStatus(peer.flagStr), '</td>',
    13651365                                                   '<td>', peer.address, '</td>',
    13661366                                                   '<td class="clientCol">', peer.clientName, '</td>',
Note: See TracChangeset for help on using the changeset viewer.