Changeset 8647


Ignore:
Timestamp:
Jun 7, 2009, 11:55:42 PM (13 years ago)
Author:
kjg
Message:

(trunk web) store torrents in a hash instead of an array

Location:
trunk/web/javascript
Files:
2 edited

Legend:

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

    r8639 r8647  
    636636};
    637637
    638 /**
    639  * @param torrents an array of torrents sorted by Id
    640  * @param id the id to search for
    641  * @return the torrent, or null
    642  */
    643 Torrent.lookup = function( torrents, id )
    644 {
    645         var immutable_array = torrents.slice();
    646         var pos = Torrent.indexOf( immutable_array, id );
    647         return pos >= 0 ? immutable_array[pos] : null;
    648 };
    649 
    650638function TorrentFile(file_data) {
    651639        this.initialize(file_data);
  • trunk/web/javascript/transmission.js

    r8640 r8647  
    2626                // Initialize the implementation fields
    2727                this._current_search         = '';
    28                 this._torrents               = [ ];
     28                this._torrents               = { };
    2929                this._rows                   = [ ];
    3030       
     
    311311        getAllTorrents: function()
    312312        {
    313                 return this._torrents;
     313                var torrents = [];
     314                for(var key in this._torrents)
     315                  torrents.push(this._torrents[key]);
     316                return torrents;
    314317        },
    315318
     
    658661                var torrent_id = match[1];
    659662                var file_id = match[2];
    660                 var torrent = Torrent.lookup( this._torrents, torrent_id );
     663                var torrent = this._torrents[torrent_id];
    661664                return torrent._file_view[file_id];
    662665        },
     
    11521155                var refresh_files_for = [];
    11531156                jQuery.each( active, function() {
    1154                         var t = Torrent.lookup(tr._torrents, this.id);
     1157                        var t = tr._torrents[this.id];
    11551158                        if (t){
    11561159                    t.refresh(this);
     
    11821185                var listIsVisible = tr.fileListIsVisible( );
    11831186                jQuery.each( torrents, function() {
    1184                         var t = Torrent.lookup(tr._torrents, this.id);
     1187                        var t = tr._torrents[this.id];
    11851188                        if (t) {
    11861189                                t.refreshFileModel(this);
     
    12011204                var fileFragment = document.createDocumentFragment( );
    12021205
    1203                 for( var i=0, row; row=new_torrents[i]; ++i )
    1204                         this._torrents.push( new Torrent( transferFragment, fileFragment, this, row ) );
     1206                for( var i=0, row; row=new_torrents[i]; ++i ) {
     1207                        var new_torrent = new Torrent( transferFragment, fileFragment, this, row );
     1208                        this._torrents[new_torrent.id()] = new_torrent;
     1209                }
    12051210
    12061211                this._inspector_file_list.appendChild( fileFragment );
     
    12161221                var removedAny = false;
    12171222                $.each( torrent_ids, function(index, id){
    1218                         var torrent = Torrent.lookup(tr._torrents, id);
     1223                        var torrent = tr._torrents[id];
    12191224
    12201225                        if(torrent) {
     
    12281233                                }
    12291234
    1230                                 var pos = Torrent.indexOf( tr._torrents, torrent.id( ) );
    12311235                                torrent.hideFileList();
    12321236                                torrent.deleteFiles();
    1233                                 tr._torrents.splice( pos, 1 );
     1237                                delete tr._torrents[torrent.id()];
    12341238                        }
    12351239                });
Note: See TracChangeset for help on using the changeset viewer.