@leofcoin/peernet 0.10.8 → 0.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +49 -49
- package/coverage/lcov-report/block-navigation.js +8 -0
- package/coverage/lcov-report/codec-format-interface.js.html +224 -120
- package/coverage/lcov-report/dht-response.js.html +44 -39
- package/coverage/lcov-report/index.html +39 -64
- package/coverage/lcov-report/sorter.js +26 -0
- package/coverage/lcov.info +164 -424
- package/dist/browser/326.peernet.js +29 -0
- package/dist/browser/peernet.js +84258 -95769
- package/dist/commonjs/client-1a1f75e6.js +324 -0
- package/dist/commonjs/{codec-6367213c.js → codec-8c8c652f.js} +198 -188
- package/dist/commonjs/codec-format-interface.js +169 -152
- package/dist/commonjs/codec.js +4 -4
- package/dist/commonjs/dht-response.js +13 -13
- package/dist/commonjs/dht.js +24 -24
- package/dist/commonjs/hash.js +151 -141
- package/dist/commonjs/{http-a94c5a81.js → http-4bc6caeb.js} +19 -15
- package/dist/commonjs/peernet-message.js +15 -15
- package/dist/commonjs/peernet.js +1901 -1794
- package/dist/commonjs/request.js +13 -13
- package/dist/commonjs/response.js +13 -13
- package/dist/module/peernet.js +2462 -2348
- package/index.html +5 -7
- package/package.json +22 -14
- package/rollup.config.js +33 -5
- package/rollup0.config.js +7 -0
- package/src/client.js +75 -75
- package/src/codec/codec-format-interface.js +172 -155
- package/src/codec/codec.js +124 -114
- package/src/codec/codecs.js +79 -79
- package/src/dht/dht.js +121 -121
- package/src/discovery/peer-discovery.js +75 -75
- package/src/handlers/message.js +50 -52
- package/src/hash/hash.js +155 -145
- package/src/http/client/http-client.js +44 -44
- package/src/messages/chat-message.js +14 -14
- package/src/messages/data-response.js +14 -14
- package/src/messages/data.js +18 -18
- package/src/messages/dht-response.js +14 -15
- package/src/messages/dht.js +25 -25
- package/src/messages/peer-response.js +14 -14
- package/src/messages/peer.js +14 -14
- package/src/messages/peernet-message.js +14 -14
- package/src/messages/ps.js +14 -14
- package/src/messages/request.js +14 -14
- package/src/messages/response.js +14 -14
- package/src/peer.js +67 -67
- package/src/peernet.js +614 -697
- package/src/proto/chat-message.proto.js +7 -7
- package/src/proto/peernet.proto.js +2 -2
- package/src/utils/utils.js +78 -78
- package/test/codec.js +3 -2
- package/test/messages.js +7 -4
- package/test.js +11 -4
- package/webpack.config.js +41 -0
- package/coverage/lcov-report/codec.js.html +0 -677
- package/coverage/lcov-report/hash.js.html +0 -551
- package/debug.log +0 -3
- package/dist/browser/peernet.js.tmp-browserify-14074318104595318069 +0 -0
- package/dist/browser/peernet.js.tmp-browserify-45407634493269122267 +0 -0
- package/dist/browser/peernet.js.tmp-browserify-53722389064799025427 +0 -0
- package/dist/browser/peernet.js.tmp-browserify-96323030449218949300 +0 -0
- package/dist/codec/codec-format-interface.js +0 -433
- package/dist/codec/codec.js +0 -199
- package/dist/commonjs/codec-73adfc0f.js +0 -205
- package/dist/commonjs/http-2c603501.js +0 -324
- package/dist/commonjs/http-42a6e555.js +0 -324
- package/dist/commonjs/http-43f4fafe.js +0 -324
- package/dist/commonjs/peernet-message-b6925673.js +0 -32
- package/dist/hash/hash.js +0 -340
- package/dist/messages/dht-response.js +0 -454
- package/dist/messages/dht.js +0 -453
- package/dist/messages/peernet.js +0 -456
- package/dist/module/http-273664bd.js +0 -317
- package/dist/module/http-8fe3c0d7.js +0 -317
- package/dist/module/http-c780c991.js +0 -317
- package/dist/module/http-f13e0d77.js +0 -317
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">12.5% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>2/16</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>0/5</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">0% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>0/3</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">12.5% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>2/16</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -54,8 +54,14 @@
|
|
|
54
54
|
<p class="quiet">
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line low'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
60
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -97,19 +103,19 @@
|
|
|
97
103
|
<span class="cline-any cline-neutral"> </span>
|
|
98
104
|
<span class="cline-any cline-yes">1x</span>
|
|
99
105
|
<span class="cline-any cline-yes">1x</span>
|
|
100
|
-
<span class="cline-any cline-
|
|
101
|
-
<span class="cline-any cline-
|
|
102
|
-
<span class="cline-any cline-
|
|
103
|
-
<span class="cline-any cline-
|
|
104
|
-
<span class="cline-any cline-
|
|
105
|
-
<span class="cline-any cline-
|
|
106
|
-
<span class="cline-any cline-
|
|
106
|
+
<span class="cline-any cline-no"> </span>
|
|
107
|
+
<span class="cline-any cline-no"> </span>
|
|
108
|
+
<span class="cline-any cline-no"> </span>
|
|
109
|
+
<span class="cline-any cline-no"> </span>
|
|
110
|
+
<span class="cline-any cline-no"> </span>
|
|
111
|
+
<span class="cline-any cline-no"> </span>
|
|
112
|
+
<span class="cline-any cline-no"> </span>
|
|
107
113
|
<span class="cline-any cline-neutral"> </span>
|
|
108
|
-
<span class="cline-any cline-
|
|
114
|
+
<span class="cline-any cline-no"> </span>
|
|
109
115
|
<span class="cline-any cline-neutral"> </span>
|
|
110
|
-
<span class="cline-any cline-
|
|
116
|
+
<span class="cline-any cline-no"> </span>
|
|
111
117
|
<span class="cline-any cline-neutral"> </span>
|
|
112
|
-
<span class="cline-any cline-
|
|
118
|
+
<span class="cline-any cline-no"> </span>
|
|
113
119
|
<span class="cline-any cline-neutral"> </span>
|
|
114
120
|
<span class="cline-any cline-neutral"> </span>
|
|
115
121
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -123,29 +129,29 @@
|
|
|
123
129
|
<span class="cline-any cline-neutral"> </span>
|
|
124
130
|
<span class="cline-any cline-neutral"> </span>
|
|
125
131
|
<span class="cline-any cline-neutral"> </span>
|
|
126
|
-
<span class="cline-any cline-
|
|
127
|
-
<span class="cline-any cline-
|
|
132
|
+
<span class="cline-any cline-no"> </span>
|
|
133
|
+
<span class="cline-any cline-no"> </span>
|
|
128
134
|
<span class="cline-any cline-neutral"> </span>
|
|
129
135
|
<span class="cline-any cline-neutral"> </span>
|
|
130
136
|
<span class="cline-any cline-neutral"> </span>
|
|
131
|
-
<span class="cline-any cline-
|
|
137
|
+
<span class="cline-any cline-no"> </span>
|
|
132
138
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
|
|
133
139
|
|
|
134
140
|
var protons = require('protons');
|
|
135
|
-
require('bs32');
|
|
136
141
|
var codecFormatInterface = require('./codec-format-interface.js');
|
|
137
|
-
require('
|
|
138
|
-
require('
|
|
139
|
-
require('
|
|
140
|
-
require('
|
|
141
|
-
require('
|
|
142
|
-
require('
|
|
142
|
+
<span class="cstat-no" title="statement not covered" >require('@vandeurenglenn/base32');</span>
|
|
143
|
+
<span class="cstat-no" title="statement not covered" >require('@vandeurenglenn/base58');</span>
|
|
144
|
+
<span class="cstat-no" title="statement not covered" >require('is-hex');</span>
|
|
145
|
+
<span class="cstat-no" title="statement not covered" >require('./codec-4a768e5e.js');</span>
|
|
146
|
+
<span class="cstat-no" title="statement not covered" >require('varint');</span>
|
|
147
|
+
<span class="cstat-no" title="statement not covered" >require('./hash.js');</span>
|
|
148
|
+
<span class="cstat-no" title="statement not covered" >require('keccak');</span>
|
|
143
149
|
|
|
144
|
-
function
|
|
150
|
+
function <span class="fstat-no" title="function not covered" >_interopDefaultLegacy </span>(e) { <span class="cstat-no" title="statement not covered" >return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; </span>}
|
|
145
151
|
|
|
146
|
-
var protons__default = /*#__PURE__
|
|
152
|
+
var protons__default = /*#__PURE__*/<span class="cstat-no" title="statement not covered" >_interopDefaultLegacy(protons);</span>
|
|
147
153
|
|
|
148
|
-
var proto =
|
|
154
|
+
var proto = <span class="cstat-no" title="statement not covered" >`</span>
|
|
149
155
|
// PeernetDHTMessageResponse
|
|
150
156
|
message PeernetDHTMessageResponse {
|
|
151
157
|
required string hash = 1;
|
|
@@ -158,23 +164,22 @@ class DHTMessageResponse extends codecFormatInterface {
|
|
|
158
164
|
<span class="cstat-no" title="statement not covered" > return ['hash', 'has']</span>
|
|
159
165
|
}
|
|
160
166
|
|
|
161
|
-
|
|
162
|
-
const name = 'peernet-dht-response'
|
|
163
|
-
super(data, protons__default[
|
|
167
|
+
<span class="fstat-no" title="function not covered" > co</span>nstructor(data) {
|
|
168
|
+
const name = <span class="cstat-no" title="statement not covered" >'peernet-dht-response';</span>
|
|
169
|
+
<span class="cstat-no" title="statement not covered" > super(data, protons__default["default"](proto).PeernetDHTMessageResponse, {name});</span>
|
|
164
170
|
}
|
|
165
171
|
}
|
|
166
172
|
|
|
167
|
-
module.exports = DHTMessageResponse
|
|
173
|
+
<span class="cstat-no" title="statement not covered" >module.exports = DHTMessageResponse;</span>
|
|
168
174
|
</pre></td></tr></table></pre>
|
|
169
175
|
|
|
170
176
|
<div class='push'></div><!-- for sticky footer -->
|
|
171
177
|
</div><!-- /wrapper -->
|
|
172
178
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
173
179
|
Code coverage generated by
|
|
174
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
175
|
-
at
|
|
180
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
181
|
+
at Fri Apr 22 2022 21:07:43 GMT+0200 (Midden-Europese zomertijd)
|
|
176
182
|
</div>
|
|
177
|
-
</div>
|
|
178
183
|
<script src="prettify.js"></script>
|
|
179
184
|
<script>
|
|
180
185
|
window.onload = function () {
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">4.76% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>5/105</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>0/47</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">0% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>0/22</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">5.55% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>5/90</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -54,8 +54,14 @@
|
|
|
54
54
|
<p class="quiet">
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line low'></div>
|
|
59
65
|
<div class="pad1">
|
|
60
66
|
<table class="coverage-summary">
|
|
61
67
|
<thead>
|
|
@@ -73,63 +79,33 @@
|
|
|
73
79
|
</tr>
|
|
74
80
|
</thead>
|
|
75
81
|
<tbody><tr>
|
|
76
|
-
<td class="file
|
|
77
|
-
<td data-value="
|
|
78
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
79
|
-
</td>
|
|
80
|
-
<td data-value="74.24" class="pct medium">74.24%</td>
|
|
81
|
-
<td data-value="66" class="abs medium">49/66</td>
|
|
82
|
-
<td data-value="56.25" class="pct medium">56.25%</td>
|
|
83
|
-
<td data-value="32" class="abs medium">18/32</td>
|
|
84
|
-
<td data-value="64.29" class="pct medium">64.29%</td>
|
|
85
|
-
<td data-value="14" class="abs medium">9/14</td>
|
|
86
|
-
<td data-value="79.66" class="pct medium">79.66%</td>
|
|
87
|
-
<td data-value="59" class="abs medium">47/59</td>
|
|
88
|
-
</tr>
|
|
89
|
-
|
|
90
|
-
<tr>
|
|
91
|
-
<td class="file medium" data-value="codec.js"><a href="codec.js.html">codec.js</a></td>
|
|
92
|
-
<td data-value="76.81" class="pic medium">
|
|
93
|
-
<div class="chart"><div class="cover-fill" style="width: 76%"></div><div class="cover-empty" style="width: 24%"></div></div>
|
|
82
|
+
<td class="file low" data-value="codec-format-interface.js"><a href="codec-format-interface.js.html">codec-format-interface.js</a></td>
|
|
83
|
+
<td data-value="3.37" class="pic low">
|
|
84
|
+
<div class="chart"><div class="cover-fill" style="width: 3%"></div><div class="cover-empty" style="width: 97%"></div></div>
|
|
94
85
|
</td>
|
|
95
|
-
<td data-value="
|
|
96
|
-
<td data-value="
|
|
97
|
-
<td data-value="
|
|
98
|
-
<td data-value="
|
|
99
|
-
<td data-value="
|
|
100
|
-
<td data-value="
|
|
101
|
-
<td data-value="
|
|
102
|
-
<td data-value="
|
|
86
|
+
<td data-value="3.37" class="pct low">3.37%</td>
|
|
87
|
+
<td data-value="89" class="abs low">3/89</td>
|
|
88
|
+
<td data-value="0" class="pct low">0%</td>
|
|
89
|
+
<td data-value="42" class="abs low">0/42</td>
|
|
90
|
+
<td data-value="0" class="pct low">0%</td>
|
|
91
|
+
<td data-value="19" class="abs low">0/19</td>
|
|
92
|
+
<td data-value="4.05" class="pct low">4.05%</td>
|
|
93
|
+
<td data-value="74" class="abs low">3/74</td>
|
|
103
94
|
</tr>
|
|
104
95
|
|
|
105
96
|
<tr>
|
|
106
|
-
<td class="file
|
|
107
|
-
<td data-value="
|
|
108
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
97
|
+
<td class="file low" data-value="dht-response.js"><a href="dht-response.js.html">dht-response.js</a></td>
|
|
98
|
+
<td data-value="12.5" class="pic low">
|
|
99
|
+
<div class="chart"><div class="cover-fill" style="width: 12%"></div><div class="cover-empty" style="width: 88%"></div></div>
|
|
109
100
|
</td>
|
|
110
|
-
<td data-value="
|
|
111
|
-
<td data-value="16" class="abs
|
|
112
|
-
<td data-value="
|
|
113
|
-
<td data-value="5" class="abs
|
|
114
|
-
<td data-value="
|
|
115
|
-
<td data-value="3" class="abs
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="16" class="abs
|
|
118
|
-
</tr>
|
|
119
|
-
|
|
120
|
-
<tr>
|
|
121
|
-
<td class="file low" data-value="hash.js"><a href="hash.js.html">hash.js</a></td>
|
|
122
|
-
<td data-value="44.05" class="pic low">
|
|
123
|
-
<div class="chart"><div class="cover-fill" style="width: 44%"></div><div class="cover-empty" style="width: 56%"></div></div>
|
|
124
|
-
</td>
|
|
125
|
-
<td data-value="44.05" class="pct low">44.05%</td>
|
|
126
|
-
<td data-value="84" class="abs low">37/84</td>
|
|
127
|
-
<td data-value="29.79" class="pct low">29.79%</td>
|
|
128
|
-
<td data-value="47" class="abs low">14/47</td>
|
|
129
|
-
<td data-value="43.75" class="pct low">43.75%</td>
|
|
130
|
-
<td data-value="16" class="abs low">7/16</td>
|
|
131
|
-
<td data-value="47.3" class="pct low">47.3%</td>
|
|
132
|
-
<td data-value="74" class="abs low">35/74</td>
|
|
101
|
+
<td data-value="12.5" class="pct low">12.5%</td>
|
|
102
|
+
<td data-value="16" class="abs low">2/16</td>
|
|
103
|
+
<td data-value="0" class="pct low">0%</td>
|
|
104
|
+
<td data-value="5" class="abs low">0/5</td>
|
|
105
|
+
<td data-value="0" class="pct low">0%</td>
|
|
106
|
+
<td data-value="3" class="abs low">0/3</td>
|
|
107
|
+
<td data-value="12.5" class="pct low">12.5%</td>
|
|
108
|
+
<td data-value="16" class="abs low">2/16</td>
|
|
133
109
|
</tr>
|
|
134
110
|
|
|
135
111
|
</tbody>
|
|
@@ -139,10 +115,9 @@
|
|
|
139
115
|
</div><!-- /wrapper -->
|
|
140
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
141
117
|
Code coverage generated by
|
|
142
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
143
|
-
at
|
|
118
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
+
at Fri Apr 22 2022 21:07:43 GMT+0200 (Midden-Europese zomertijd)
|
|
144
120
|
</div>
|
|
145
|
-
</div>
|
|
146
121
|
<script src="prettify.js"></script>
|
|
147
122
|
<script>
|
|
148
123
|
window.onload = function () {
|
|
@@ -24,6 +24,31 @@ var addSorting = (function() {
|
|
|
24
24
|
return getTableHeader().querySelectorAll('th')[n];
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
function onFilterInput() {
|
|
28
|
+
const searchValue = document.getElementById('fileSearch').value;
|
|
29
|
+
const rows = document.getElementsByTagName('tbody')[0].children;
|
|
30
|
+
for (let i = 0; i < rows.length; i++) {
|
|
31
|
+
const row = rows[i];
|
|
32
|
+
if (
|
|
33
|
+
row.textContent
|
|
34
|
+
.toLowerCase()
|
|
35
|
+
.includes(searchValue.toLowerCase())
|
|
36
|
+
) {
|
|
37
|
+
row.style.display = '';
|
|
38
|
+
} else {
|
|
39
|
+
row.style.display = 'none';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// loads the search box
|
|
45
|
+
function addSearchBox() {
|
|
46
|
+
var template = document.getElementById('filterTemplate');
|
|
47
|
+
var templateClone = template.content.cloneNode(true);
|
|
48
|
+
templateClone.getElementById('fileSearch').oninput = onFilterInput;
|
|
49
|
+
template.parentElement.appendChild(templateClone);
|
|
50
|
+
}
|
|
51
|
+
|
|
27
52
|
// loads all columns
|
|
28
53
|
function loadColumns() {
|
|
29
54
|
var colNodes = getTableHeader().querySelectorAll('th'),
|
|
@@ -162,6 +187,7 @@ var addSorting = (function() {
|
|
|
162
187
|
}
|
|
163
188
|
cols = loadColumns();
|
|
164
189
|
loadData();
|
|
190
|
+
addSearchBox();
|
|
165
191
|
addSortIndicators();
|
|
166
192
|
enableUI();
|
|
167
193
|
};
|