web/res/js/live-polemic.js
changeset 849 973a136cfbd0
parent 846 2c592f43eb6b
child 866 f239ebb11236
equal deleted inserted replaced
848:eed4cdee4ed0 849:973a136cfbd0
   351     }
   351     }
   352     return result;
   352     return result;
   353 }
   353 }
   354 
   354 
   355 function flattenDateStruct(slices, target_level) {
   355 function flattenDateStruct(slices, target_level) {
       
   356 	if (!slices || !slices.length) {
       
   357 		return [];
       
   358 	}
   356     var current_level = slices[0].level,
   359     var current_level = slices[0].level,
   357         result = [];
   360         result = [];
   358     if (current_level < target_level) {
   361     if (current_level < target_level) {
   359         if (slices[0].slices) {
   362         if (slices[0].slices) {
   360             for (var i in slices) {
   363             for (var i in slices) {
   373     }
   376     }
   374     return result;
   377     return result;
   375 }
   378 }
   376 
   379 
   377 function trimFDS() {
   380 function trimFDS() {
       
   381 	if (!slices || !slices.length) {
       
   382 		return [];
       
   383 	}
   378     var slices = flattenDateStruct(twCx.timeline, twCx.timeLevel);
   384     var slices = flattenDateStruct(twCx.timeline, twCx.timeLevel);
   379     while (slices[0].tweets.length == 0) {
   385     while (slices[0].tweets.length == 0) {
   380         slices.splice(0,1);
   386         slices.splice(0,1);
   381     }
   387     }
   382     while (slices[slices.length - 1].tweets.length == 0) {
   388     while (slices[slices.length - 1].tweets.length == 0) {
   522     html += '</div></' + el + '>';
   528     html += '</div></' + el + '>';
   523     return html;
   529     return html;
   524 }
   530 }
   525 
   531 
   526 function tlIdFromPos(x, y, outside) {
   532 function tlIdFromPos(x, y, outside) {
   527     if (!twCx.tlOnDisplay) {
   533     if (!twCx.tlOnDisplay || !twCx.tlOnDisplay.length) {
   528         return;
   534         return;
   529     }
   535     }
   530     var ligne = Math.min( twCx.tlOnDisplay.length - 1, Math.max( 0, Math.floor(( twCx.tlHeight - y ) / twCx.scaleY) ) ),
   536     var ligne = Math.min( twCx.tlOnDisplay.length - 1, Math.max( 0, Math.floor(( twCx.tlHeight - y ) / twCx.scaleY) ) ),
   531         colonne = Math.floor(( x - twCx.deltaX ) / twCx.scaleX ),
   537         colonne = Math.floor(( x - twCx.deltaX ) / twCx.scaleX ),
   532         l = 0;
   538         l = 0;
   833         twCx.tlBuffer = '';
   839         twCx.tlBuffer = '';
   834         $("#motscles").html('');
   840         $("#motscles").html('');
   835     }
   841     }
   836     
   842     
   837     twCx.tlOnDisplay = trimFDS();
   843     twCx.tlOnDisplay = trimFDS();
       
   844     if (!twCx.tlOnDisplay || !twCx.tlOnDisplay.length) {
       
   845     	return;
       
   846     }
   838     twCx.scaleY = twCx.tlHeight / twCx.tlOnDisplay.length;
   847     twCx.scaleY = twCx.tlHeight / twCx.tlOnDisplay.length;
   839     var maxTweets = 0,
   848     var maxTweets = 0,
   840         startTl = 0,
   849         startTl = 0,
   841         endTl = twCx.tlOnDisplay.length - 1;
   850         endTl = twCx.tlOnDisplay.length - 1;
   842     if (l) {
   851     if (l) {