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>