Skip to content

Commit 93498ec

Browse files
committed
tools: JS node: cleanup
1 parent 72d7909 commit 93498ec

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

tools/proxy_node.html

+17-11
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
1010
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
1111
<script type="text/javascript">"use strict";
12-
var onGet;
13-
var onPut;
14-
var setServer;
12+
let onGet;
13+
let onPut;
14+
let setServer;
1515
const valueGetElement = function(o) {
1616
const d = window.atob(o.data);
1717
return d;
1818
};
1919
$(function() {
20-
var request = undefined;
21-
var server;
20+
let request = undefined;
21+
let server;
2222
const getTools = $("#getTools");
2323
const getBtn = $("#getBtn");
2424
const getDropdown = $("#getDropdown");
@@ -46,22 +46,29 @@
4646
return false;
4747
const input = $("#getKey").val();
4848
group.empty();
49+
let lastAppended = 0;
50+
let start = new Date().getTime();
4951
request = new XMLHttpRequest();
5052
request.onreadystatechange = function(event) {
5153
if (this.readyState >= XMLHttpRequest.LOADING) {
5254
if (this.readyState == XMLHttpRequest.DONE) {
5355
clearGetRequest();
5456
}
5557
if (this.status === 200) {
56-
group.empty();
5758
const elements = this.responseText.split("\n");
58-
elements.forEach(function(element) {
59+
const elementsLength = elements.length;
60+
const now = new Date().getTime();
61+
for (let i = lastAppended; i < elementsLength; i++) {
62+
const element = elements[i];
5963
if (!element || element.length == 0)
6064
return;
6165
const o = JSON.parse(element);
6266
const d = window.atob(o.data);
63-
$('<li class="list-group-item"/>').append(valueGetElement(o)).appendTo(group);
64-
});
67+
const delay = Math.max(0, start-now);
68+
$('<li class="list-group-item"/>').append(valueGetElement(o)).appendTo(group).hide().delay(delay).slideDown(100);
69+
lastAppended = i+1;
70+
start = Math.max(start, now)+25;
71+
}
6572
} else if (this.status !== 0) {
6673
group.empty().append($('<li class="list-group-item list-group-item-danger"/>').text("Error loading content: " + this.statusText));
6774
}
@@ -109,7 +116,7 @@
109116
serverStatus.empty();
110117
serverBtn.button('loading');
111118
$.getJSON(server, function(data){
112-
serverStatus.append('<b>Node</b> ').append(data.node_id);
119+
$('<span><b>Node</b> '+data.node_id+'</span>').appendTo(serverStatus).hide().fadeIn();
113120
}).fail(function(error) {
114121
serverStatus.html("<div class='alert alert-danger' style='margin-bottom: 0px;'><span class='glyphicon glyphicon-remove' aria-hidden='true'></span> Can't access node</div>");
115122
}).always(function(error) {
@@ -154,7 +161,6 @@ <h1>OpenDHT tester</h1>
154161
<button id="getBtn" class="btn btn-default" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i>" type="submit">Get</button>
155162
<button id="getDropdown"type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <span class="caret"></span> <span class="sr-only">Toggle Dropdown</span> </button>
156163
<ul class="dropdown-menu">
157-
<li><a id="getDropBtn" href="#">Get</a></li>
158164
<li><a id="listenBtn" href="#">Listen</a></li>
159165
</ul>
160166
<button id="getStopBtn" class="btn btn-default" type="submit"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>

0 commit comments

Comments
 (0)