optimize d3pie for speed
Costa Tsaousis (ktsaou) committed
Jan 30, 2018 at 23:33 UTC
59b68d5108bdbbaedf637f0ac1796ad9e5e69bc0
1 file changed
+10
-1
web/dashboard.js
+10
-1
@@ -7303,6 +7303,7 @@ var NETDATA = window.NETDATA || {};
7303
color: '#666666'
7304
});
7305
7306
+ state.tmp.d3pie_last_slot = 0;
7307
return content;
7308
};
7309
@@ -7334,6 +7335,11 @@ var NETDATA = window.NETDATA || {};
7335
if(slot < 0 || slot >= state.data.result.length)
7336
return NETDATA.d3pieClearSelection(state, true);
7337
7338
+ if(state.tmp.d3pie_last_slot === slot) {
7339
+ // we already show this slot, don't do anything
7340
+ return true;
7341
+ }
7342
+
7343
if(state.tmp.d3pie_timer === undefined) {
7344
state.tmp.d3pie_timer = NETDATA.timeout.set(function() {
7345
state.tmp.d3pie_timer = undefined;
@@ -7354,7 +7360,10 @@ var NETDATA = window.NETDATA || {};
7360
NETDATA.d3pieChartUpdate(state, state.data);
7361
}
7362
else {
7357
- NETDATA.d3pieChange(state, [ { label: 'no data', value: 1, color: '#666666' } ], 'no data available');
7363
+ if(state.tmp.d3pie_last_slot !== -1) {
7364
+ state.tmp.d3pie_last_slot = -1;
7365
+ NETDATA.d3pieChange(state, [{label: 'no data', value: 1, color: '#666666'}], 'no data available');
7366
+ }
7367
}
7368
7369
return true;