web/hanna-arendt/script.js
changeset 849 973a136cfbd0
parent 836 9de4ed65f00c
child 854 4c377df66569
equal deleted inserted replaced
848:eed4cdee4ed0 849:973a136cfbd0
   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) {