@cryptotaxi247 / netdata-1 / commits / cee39c3a7

fixed refresh bug

Costa Tsaousis (ktsaou) committed Apr 13, 2014 at 07:45 UTC cee39c3a7f71fe1a1a841c8f51ed85f327e9fa84
1 file changed +39 -21
web/index.html
+39 -21
@@ -51,7 +51,10 @@
51 // copy the chart c to mainchart
52 // switch to main graphs screen
53 function mainChart(c) {
54 - if(mainchart && mainchart.chart) mainchart.chart.clearChart();
54 + if(mainchart && mainchart.chart) {
55 + mainchart.chart.clearChart();
56 + mainchart.chart = null;
57 + }
58
59 mainchart = $.extend(true, {}, c);
60
@@ -144,7 +147,7 @@
147 last_main_chart_avg = g;
148 }
149
147 - var stop_refreshing = 0;
150 + var stop_refreshing = 1;
151 function playGraphs() {
152 stop_refreshing = 0;
153 $('.mainchart_play_button').button('play');
@@ -182,7 +185,13 @@
185 // make sure it gets updated frequently
186 function mainChartRefresh() {
187 if(!mainchart || mode != MODE_MAIN) {
185 - if(mainchart) mainchart.clearChart();
188 + if(mainchart) {
189 + if(mainchart.chart) {
190 + mainchart.chart.clearChart();
191 + mainchart.chart = null;
192 + }
193 + mainchart = null;
194 + }
195 showThumbGraphs();
196 return;
197 }
@@ -391,16 +400,20 @@
400 function thumbChartsRefresh() {
401 if(mycharts.length == 0 || mode != MODE_THUMBS) triggerRefresh();
402
403 + if(last_thumb_updated >= mycharts.length) last_thumb_updated = 0;
404 +
405 // find a chart to refresh
406 var orig = last_thumb_updated;
407 last_thumb_updated++;
408 if(last_thumb_updated >= mycharts.length) last_thumb_updated = 0;
409
399 - while(last_thumb_updated != orig) {
410 + while(1) {
411 if(refreshChart(mycharts[last_thumb_updated], chartsRefresh)) break;
412
413 last_thumb_updated++;
414 if(last_thumb_updated >= mycharts.length) last_thumb_updated = 0;
415 +
416 + if(last_thumb_updated == orig) break;
417 }
418
419 // no chart refreshed
@@ -411,16 +424,20 @@
424 function groupChartsRefresh() {
425 if(!group_charts || group_charts.length == 0 || mode != MODE_GROUP_THUMBS) triggerRefresh();
426
427 + if(last_group_updated >= group_charts.length) last_group_updated = 0;
428 +
429 // find a chart to refresh
430 var orig = last_group_updated;
431 last_group_updated++;
432 if(last_group_updated >= group_charts.length) last_group_updated = 0;
433
419 - while(last_group_updated != orig) {
434 + while(1) {
435 if(refreshChart(group_charts[last_group_updated], chartsRefresh)) break;
436
437 last_group_updated++;
438 if(last_group_updated >= group_charts.length) last_group_updated = 0;
439 +
440 + if(last_group_updated == orig) break;
441 }
442
443 // no chart refreshed
@@ -430,13 +447,13 @@
447 // refresh the proper chart
448 var timeout;
449 function chartsRefresh() {
433 - if(stop_refreshing) return;
434 -
450 if(timeout) {
451 clearTimeout(timeout);
452 timeout = null;
453 }
454
455 + if(stop_refreshing) return;
456 +
457 if(mode == MODE_THUMBS) thumbChartsRefresh();
458 else if(mode == MODE_GROUP_THUMBS) groupChartsRefresh();
459 else if(mode == MODE_MAIN) mainChartRefresh();
@@ -461,8 +478,6 @@
478
479 if(!group_charts) thumbsScrollPosition = window.pageYOffset;
480
464 - mode = MODE_MAIN;
465 -
481 document.getElementById('maingraph_container').style.display = 'block';
482 document.getElementById('thumbgraphs_container').style.display = 'none';
483 document.getElementById('groupgraphs_container').style.display = 'none';
@@ -471,12 +486,11 @@
486
487 if(group_charts) clearGroupGraphs();
488
474 - playGraphs();
489 + mode = MODE_MAIN;
490 + if(stop_refreshing) playGraphs();
491 }
492
493 function showThumbGraphs() {
478 - mode = MODE_THUMBS;
479 -
494 document.getElementById('maingraph_container').style.display = 'none';
495 document.getElementById('thumbgraphs_container').style.display = 'block';
496 document.getElementById('groupgraphs_container').style.display = 'none';
@@ -486,12 +500,16 @@
500 if(thumbsScrollPosition) window.scrollTo(0, thumbsScrollPosition);
501
502 if(mainchart) {
489 - if(mainchart.chart) mainchart.chart.clearChart();
503 + if(mainchart.chart) {
504 + mainchart.chart.clearChart();
505 + mainchart.chart = null;
506 + }
507 mainchart = null;
508 }
509 if(group_charts) clearGroupGraphs();
510
494 - playGraphs();
511 + mode = MODE_THUMBS;
512 + if(stop_refreshing) playGraphs();
513 }
514
515 function showGroupGraphs() {
@@ -499,8 +517,6 @@
517
518 if(!mainchart) thumbsScrollPosition = window.pageYOffset;
519
502 - mode = MODE_GROUP_THUMBS;
503 -
520 document.getElementById('maingraph_container').style.display = 'none';
521 document.getElementById('thumbgraphs_container').style.display = 'none';
522 document.getElementById('groupgraphs_container').style.display = 'block';
@@ -510,11 +526,15 @@
526 window.scrollTo(0, 0);
527
528 if(mainchart) {
513 - if(mainchart.chart) mainchart.chart.clearChart();
529 + if(mainchart.chart) {
530 + mainchart.chart.clearChart();
531 + mainchart.chart = null;
532 + }
533 mainchart = null;
534 }
535
517 - playGraphs();
536 + mode = MODE_GROUP_THUMBS;
537 + if(stop_refreshing) playGraphs();
538 }
539
540 function groupWidth() {
@@ -576,9 +596,7 @@
596 group_charts = null;
597 }
598
579 - document.getElementById("groupgroups").innerHTML = "";
580 - mode = MODE_THUMBS;
581 - playGraphs();
599 + document.getElementById("groupgraphs").innerHTML = "";
600 }
601
602 </script>