equal
deleted
inserted
replaced
333 } |
333 } |
334 return result; |
334 return result; |
335 } |
335 } |
336 |
336 |
337 function flattenDateStruct(slices, target_level) { |
337 function flattenDateStruct(slices, target_level) { |
|
338 if (!slices || !slices.length) { |
|
339 return []; |
|
340 } |
338 var current_level = slices[0].level, |
341 var current_level = slices[0].level, |
339 result = []; |
342 result = []; |
340 if (current_level < target_level) { |
343 if (current_level < target_level) { |
341 if (slices[0].slices) { |
344 if (slices[0].slices) { |
342 for (var i in slices) { |
345 for (var i in slices) { |
356 return result; |
359 return result; |
357 } |
360 } |
358 |
361 |
359 function trimFDS() { |
362 function trimFDS() { |
360 var slices = flattenDateStruct(twCx.timeline, twCx.timeLevel); |
363 var slices = flattenDateStruct(twCx.timeline, twCx.timeLevel); |
|
364 if (!slices || !slices.length) { |
|
365 return []; |
|
366 } |
361 while (slices[0].tweets.length == 0) { |
367 while (slices[0].tweets.length == 0) { |
362 slices.splice(0,1); |
368 slices.splice(0,1); |
363 } |
369 } |
364 while (slices[slices.length - 1].tweets.length == 0) { |
370 while (slices[slices.length - 1].tweets.length == 0) { |
365 slices.pop(); |
371 slices.pop(); |
504 html += '</div></' + el + '>'; |
510 html += '</div></' + el + '>'; |
505 return html; |
511 return html; |
506 } |
512 } |
507 |
513 |
508 function tlIdFromPos(x, y, outside) { |
514 function tlIdFromPos(x, y, outside) { |
509 if (!twCx.tlOnDisplay) { |
515 if (!twCx.tlOnDisplay || !twCx.tlOnDisplay.length) { |
510 return; |
516 return; |
511 } |
517 } |
512 var ligne = Math.min( twCx.tlOnDisplay.length - 1, Math.max( 0, Math.floor(( twCx.tlHeight - y ) / twCx.scaleY) ) ), |
518 var ligne = Math.min( twCx.tlOnDisplay.length - 1, Math.max( 0, Math.floor(( twCx.tlHeight - y ) / twCx.scaleY) ) ), |
513 colonne = Math.floor(( x - twCx.deltaX ) / twCx.scaleX ), |
519 colonne = Math.floor(( x - twCx.deltaX ) / twCx.scaleX ), |
514 l = 0; |
520 l = 0; |
815 twCx.tlBuffer = ''; |
821 twCx.tlBuffer = ''; |
816 $("#motscles").html(''); |
822 $("#motscles").html(''); |
817 } |
823 } |
818 |
824 |
819 twCx.tlOnDisplay = trimFDS(); |
825 twCx.tlOnDisplay = trimFDS(); |
|
826 if (!twCx.tlOnDisplay || !twCx.tlOnDisplay.length) { |
|
827 return; |
|
828 } |
820 twCx.scaleY = twCx.tlHeight / twCx.tlOnDisplay.length; |
829 twCx.scaleY = twCx.tlHeight / twCx.tlOnDisplay.length; |
821 var maxTweets = 0, |
830 var maxTweets = 0, |
822 startTl = 0, |
831 startTl = 0, |
823 endTl = twCx.tlOnDisplay.length - 1; |
832 endTl = twCx.tlOnDisplay.length - 1; |
824 if (l) { |
833 if (l) { |