-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoptions.js
More file actions
61 lines (50 loc) · 3.43 KB
/
options.js
File metadata and controls
61 lines (50 loc) · 3.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
* Data Compression Proxy Extension for Google Chrome on Desktop
* (c) 2014 Jerzy Głowacki. License: Apache 2.0
*/
document.getElementById('save').addEventListener('click', function() {
localStorage.setItem('bypassRules', document.getElementById('bypass-rules').value);
localStorage.setItem('adblockRules', document.getElementById('adblock-rules').value);
localStorage.setItem('disableTimeout', parseInt(document.getElementById('disable-timeout').value) * 1000);
chrome.extension.getBackgroundPage().reloadProxy();
document.getElementById('status').style.display = 'block';
setTimeout(function() {
document.getElementById('status').style.display = '';
}, 1000);
});
document.getElementById('reset').addEventListener('click', function() {
chrome.extension.getBackgroundPage().sessionBytes = chrome.extension.getBackgroundPage().sessionOriginalBytes = 0;
localStorage.removeItem('totalBytes');
location.reload();
});
document.addEventListener('DOMContentLoaded', function() {
document.getElementById('bypass-rules').value = localStorage.getItem('bypassRules') || chrome.extension.getBackgroundPage().defaultBypassRules;
document.getElementById('adblock-rules').value = localStorage.getItem('adblockRules') || chrome.extension.getBackgroundPage().defaultAdblockRules;
document.getElementById('disable-timeout').value = parseInt(localStorage.getItem('disableTimeout') || chrome.extension.getBackgroundPage().defaultDisableTimeout) / 1000;
document.getElementById('session-mbytes').innerText = Math.round(chrome.extension.getBackgroundPage().sessionBytes / 1048576); //MB
document.getElementById('session-mbytes-original').innerText = Math.round(chrome.extension.getBackgroundPage().sessionOriginalBytes / 1048576); //MB
document.getElementById('session-percent').innerText = Math.round(100 - 100 * chrome.extension.getBackgroundPage().sessionBytes / chrome.extension.getBackgroundPage().sessionOriginalBytes); //%
var totalBytes = JSON.parse(localStorage.getItem('totalBytes')) || {};
var totalBytesSent = Object.keys(totalBytes).reduce(function(i, j) { return i + totalBytes[j][0]; }, 0);
var totalBytesOriginal = Object.keys(totalBytes).reduce(function(i, j) { return i + totalBytes[j][1]; }, 0);
document.getElementById('total-mbytes').innerText = Math.round(totalBytesSent / 1048576); //MB
document.getElementById('total-mbytes-original').innerText = Math.round(totalBytesOriginal / 1048576); //MB
document.getElementById('total-percent').innerText = Math.round(100 - 100 * totalBytesSent / totalBytesOriginal); //%
if(Object.keys(totalBytes).length) {
var cumulativeBytesSent = Object.keys(totalBytes).reduce(function(i, j) { i.push((i.length && i[i.length-1] || 0) + Math.round(totalBytes[j][0] / 1048576)); return i; }, []);
var cumulativeBytesOriginal = Object.keys(totalBytes).reduce(function(i, j) { i.push((i.length && i[i.length-1] || 0) + Math.round(totalBytes[j][1] / 1048576)); return i; }, []);
new Chartist.Line('.ct-chart', {labels: Object.keys(totalBytes), series: [cumulativeBytesSent, cumulativeBytesOriginal]}, {showArea: true});
}
});
setInterval(function() {
//Refresh stats every 5 minutes
location.reload();
}, 300000);
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-200051-16']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = 'ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();