Changeset 12870
- Timestamp:
- Sep 14, 2011, 4:29:24 PM (12 years ago)
- Location:
- trunk/web
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/web/index.html
r12866 r12870 332 332 </div> 333 333 334 <div class="dialog_container" id="stats_container" style="display:none;"> 335 <div class="dialog_top_bar"></div> 336 <div class="dialog_window"> 337 <h2 class="dialog_heading">Statistics</h2> 338 <div id="stats_error"></div> 339 <div id="stats_info_container" class="stats_info_container"> 340 <div class="stats_group"> 341 <label class="category">Current Session:</label> 342 <div class="stats_row"> 343 <div class="item">Uploaded:</div> 344 <div id="stats_session_uploaded"></div> 345 </div> 346 <div class="stats_row"> 347 <div class="item">Downloaded:</div> 348 <div id="stats_session_downloaded"></div> 349 </div> 350 <div class="stats_row"> 351 <div class="item">Ratio:</div> 352 <div id="stats_session_ratio"></div> 353 </div> 354 <div class="stats_row"> 355 <div class="item">Running Time:</div> 356 <div id="stats_session_duration"></div> 357 </div> 358 </div> 359 <div class="stats_group"> 360 <label class="category">Total:</label> 361 <div class="stats_row"> 362 <div class="item">Started:</div> 363 <div id="stats_total_count"></div> 364 </div> 365 <div class="stats_row"> 366 <div class="item">Uploaded:</div> 367 <div id="stats_total_uploaded"></div> 368 </div> 369 <div class="stats_row"> 370 <div class="item">Downloaded:</div> 371 <div id="stats_total_downloaded"></div> 372 </div> 373 <div class="stats_row"> 374 <div class="item">Ratio:</div> 375 <div id="stats_total_ratio"></div> 376 </div> 377 <div class="stats_row"> 378 <div class="item">Running Time:</div> 379 <div id="stats_total_duration"></div> 380 </div> 381 </div> 382 </div> 383 <a href="#close" id="stats_close_button">Close</a> 334 <div id="stats-dialog" style="display:none;"> 335 <div class="prefs-section"> 336 <div class="title">Current Session</div> 337 <div class="row"><div class="key">Uploaded:</div><div class="value" id='stats-session-uploaded'> </div></div> 338 <div class="row"><div class="key">Downloaded:</div><div class="value" id='stats-session-downloaded'> </div></div> 339 <div class="row"><div class="key">Ratio:</div><div class="value" id='stats-session-ratio'> </div></div> 340 <div class="row"><div class="key">Running Time:</div><div class="value" id='stats-session-duration'> </div></div> 341 </div> 342 <div class="prefs-section"> 343 <div class="title">Total</div> 344 <div class="row"><div class="key">Started:</div><div class="value" id='stats-total-count'> </div></div> 345 <div class="row"><div class="key">Uploaded:</div><div class="value" id='stats-total-uploaded'> </div></div> 346 <div class="row"><div class="key">Downloaded:</div><div class="value" id='stats-total-downloaded'> </div></div> 347 <div class="row"><div class="key">Ratio:</div><div class="value" id='stats-total-ratio'> </div></div> 348 <div class="row"><div class="key">Running Time:</div><div class="value" id='stats-total-duration'> </div></div> 384 349 </div> 385 350 </div> -
trunk/web/javascript/transmission.js
r12867 r12870 47 47 $('#resume_selected_link').click($.proxy(this.startSelectedClicked,this)); 48 48 $('#remove_link').click($.proxy(this.removeClicked,this)); 49 $('#stats_close_button').click($.proxy(this.hideStatsDialog,this));50 49 $('#open_link').click($.proxy(this.openTorrentClicked,this)); 51 50 … … 116 115 Prefs.getClutchPrefs(o); 117 116 this.updateGuiFromSession(o); 118 }, this, async);119 },120 121 loadDaemonStats: function(async) {122 this.remote.loadDaemonStats(function(data) {123 this.updateStats(data['arguments']);124 117 }, this, async); 125 118 }, … … 590 583 }, 591 584 592 // turn the periodic ajax stats refresh on & off593 togglePeriodicStatsRefresh: function(enabled) {594 clearInterval(this.statsInterval);595 delete this.statsInterval;596 if (enabled) {597 var callback = $.proxy(this.loadDaemonStats,this),598 msec = 5000;599 this.statsInterval = setInterval(callback, msec);600 }601 },602 603 585 toggleTurtleClicked: function() 604 586 { … … 619 601 }, 620 602 621 showStatsDialog: function() {622 this.loadDaemonStats();623 $('#stats_container').fadeIn();624 this.hideMobileAddressbar();625 this.togglePeriodicStatsRefresh(true);626 },627 628 hideStatsDialog: function() {629 $('#stats_container').fadeOut();630 this.hideMobileAddressbar();631 this.togglePeriodicStatsRefresh(false);632 },633 634 // Process new session stats from the server635 updateStats: function(stats)636 {637 var s, ratio,638 fmt = Transmission.fmt;639 640 s = stats["current-stats"];641 ratio = Math.ratio(s.uploadedBytes,s.downloadedBytes);642 $('#stats_session_uploaded').html(fmt.size(s.uploadedBytes));643 $('#stats_session_downloaded').html(fmt.size(s.downloadedBytes));644 $('#stats_session_ratio').html(fmt.ratioString(ratio));645 $('#stats_session_duration').html(fmt.timeInterval(s.secondsActive));646 647 s = stats["cumulative-stats"];648 ratio = Math.ratio(s.uploadedBytes,s.downloadedBytes);649 $('#stats_total_count').html(s.sessionCount + " times");650 $('#stats_total_uploaded').html(fmt.size(s.uploadedBytes));651 $('#stats_total_downloaded').html(fmt.size(s.downloadedBytes));652 $('#stats_total_ratio').html(fmt.ratioString(ratio));653 $('#stats_total_duration').html(fmt.timeInterval(s.secondsActive));654 },655 656 603 setFilterText: function(search) { 657 604 this.filterText = search ? search.trim() : null; … … 674 621 fmt = Transmission.fmt, 675 622 menu = $('#settings_menu'); 623 624 this.serverVersion = o.version; 676 625 677 626 this.prefsDialog.set(o); … … 756 705 757 706 case 'statistics': 758 $('div#stats_container div#stats_error').hide();759 $('div#stats_container h2.dialog_heading').show();760 707 this.showStatsDialog(); 761 708 break; … … 1662 1609 : new TorrentRendererFull(); 1663 1610 this.refilter(true); 1611 }, 1612 1613 /*** 1614 **** 1615 **** Statistics 1616 **** 1617 ***/ 1618 1619 // turn the periodic ajax stats refresh on & off 1620 togglePeriodicStatsRefresh: function(enabled) { 1621 clearInterval(this.statsInterval); 1622 delete this.statsInterval; 1623 if (enabled) { 1624 var callback = $.proxy(this.loadDaemonStats,this), 1625 msec = 5000; 1626 this.statsInterval = setInterval(callback, msec); 1627 } 1628 }, 1629 1630 loadDaemonStats: function(async) { 1631 this.remote.loadDaemonStats(function(data) { 1632 this.updateStats(data['arguments']); 1633 }, this, async); 1634 }, 1635 1636 // Process new session stats from the server 1637 updateStats: function(stats) 1638 { 1639 var s, ratio, 1640 fmt = Transmission.fmt; 1641 1642 s = stats["current-stats"]; 1643 ratio = Math.ratio(s.uploadedBytes,s.downloadedBytes); 1644 $('#stats-session-uploaded').html(fmt.size(s.uploadedBytes)); 1645 $('#stats-session-downloaded').html(fmt.size(s.downloadedBytes)); 1646 $('#stats-session-ratio').html(fmt.ratioString(ratio)); 1647 $('#stats-session-duration').html(fmt.timeInterval(s.secondsActive)); 1648 1649 s = stats["cumulative-stats"]; 1650 ratio = Math.ratio(s.uploadedBytes,s.downloadedBytes); 1651 $('#stats-total-count').html(s.sessionCount + " times"); 1652 $('#stats-total-uploaded').html(fmt.size(s.uploadedBytes)); 1653 $('#stats-total-downloaded').html(fmt.size(s.downloadedBytes)); 1654 $('#stats-total-ratio').html(fmt.ratioString(ratio)); 1655 $('#stats-total-duration').html(fmt.timeInterval(s.secondsActive)); 1656 }, 1657 1658 1659 showStatsDialog: function() { 1660 this.loadDaemonStats(); 1661 this.hideMobileAddressbar(); 1662 this.togglePeriodicStatsRefresh(true); 1663 $('#stats-dialog').dialog({ 1664 'close': $.proxy(this.onStatsDialogClosed,this), 1665 'show': 'fade', 1666 'hide': 'fade', 1667 'title': 'Transmission ' + this.serverVersion 1668 }); 1669 }, 1670 1671 onStatsDialogClosed: function() { 1672 this.hideMobileAddressbar(); 1673 this.togglePeriodicStatsRefresh(false); 1664 1674 } 1665 1675 }; -
trunk/web/stylesheets/common.css
r12865 r12870 1014 1014 } 1015 1015 1016 div#prefs_container div.dialog_window {1017 width: 410px;1018 padding: 0 15px;1019 }1020 1021 div#stats_container div.dialog_window {1022 width: 255px;1023 padding: 0 15px;1024 }1025 1026 1016 div.dialog_container div.dialog_window img { 1027 1017 margin: 20px 20px 0 20px; … … 1112 1102 } 1113 1103 1114 div#stats_container h2.dialog_heading {1115 display: none;1116 }1117 div#stats_container div#stats_error {1118 display: none;1119 width: 395px;1120 margin: 6px auto 6px auto;1121 padding: 3px 0 3px 0;1122 border: 2px solid #cc3333;1123 color: #cc3333;1124 font-size: 1.2em;1125 vertical-align: middle;1126 text-align: center;1127 height: 20px;1128 line-height: 20px;1129 background-color: #FFEFEF;1130 }1131 .stats_info_container {1132 clear: both;1133 padding: 0px 7px 0px 7px;1134 }1135 .stats_group {1136 display: table;1137 margin: 5px 0px 0px 0px;1138 padding: 5px 0px 0px 0px;1139 width: 100%;1140 }1141 .stats_row {1142 display: table-row;1143 }1144 .stats_row > div {1145 padding-top: 4px;1146 }1147 div#stats_container label.category {1148 clear: both;1149 font-size: 1.2em;1150 margin: 5px 0px;1151 }1152 div#stats_container div.item {1153 font-size: 11px !important;1154 margin: 0 5px 0 20px;1155 float: left;1156 width: 100px;1157 }1158 div#stats_container div.item2 {1159 font-size: 11px !important;1160 margin: 0 5px 0 20px;1161 float: left;1162 }1163 div#stats_container a {1164 clear: left;1165 margin: 10px 5px 10px 7px;1166 }1167 1168 1104 /**** 1169 1105 ***** -
trunk/web/stylesheets/mobile.css
r12865 r12870 43 43 44 44 body.inspector_showing #torrent_filter_bar, body.inspector_showing #torrent_container, 45 body.dialog_showing #torrent_filter_bar, body.dialog_showing #torrent_container, body.dialog_showing #torrent_inspector, body.dialog_showing #prefs_container,45 body.dialog_showing #torrent_filter_bar, body.dialog_showing #torrent_container, body.dialog_showing #torrent_inspector, 46 46 body.prefs_showing #torrent_inspector, body.prefs_showing #torrent_filter_bar, body.prefs_showing #torrent_container, 47 47 body.open_showing #torrent_filter_bar, body.open_showing #torrent_container {
Note: See TracChangeset
for help on using the changeset viewer.