<commit_before>"use strict";

/*EXEMPLE JQUERY REQUETE HTTP*/
$(document).ready(function(){
	var requete = $.ajax({
		url : "http://1172.16.58.3:8080/ouest_france/data/menage/years",
		type : "GET",
		dataType : "text",
		success : generateChart,
		error : function(res, statut, error){
			alert(res+" ; "+statut+" ; "+error);
		}
	});
});

function generateChart(res, statut){
		var donnees = JSON.parse(res);
		var valeurs = [];
		var data = {
			labels : [],
			series : [[]]
		};
		var options = {
			axisY : {
				showLabel: false,
  				showGrid : false
			},
			axisX : {
  				showGrid : false,
  				labelOffset : {
  					x:-13,
  					y:0
  				}
			}, 
			showArea : true,
			lineSmooth: Chartist.Interpolation.cardinal({
    			fillHoles: true
  			}),

  			width : '75%',
  			height : '12.5%',
  			chartPadding: {
    			top: 5,
    			right: 30,
    			bottom: 5,
    			left: 0
  			},
		};
		for(var i=0; i<donnees.years.length; i++){
			if(i==0){
				if(jQuery.inArray(donnees.years[0], donnees.yearsToScreen) != -1) data.labels.push(donnees.years[0]);
				else(data.labels.push(null));
				data.series[0].push(donnees.data[donnees.years[0]].mono.pourcentage + 
					donnees.data[donnees.years[0]].biPlus.pourcentage);
			}
			else{
				for(var j=1; j<donnees.years[i]-donnees.years[i-1]; j++){
					data.labels.push(null);
					data.series[0].push(null);
				}
				if(jQuery.inArray(donnees.years[i], donnees.yearsToScreen) != -1) data.labels.push(donnees.years[i]);
				else(data.labels.push(null));
				data.series[0].push(donnees.data[donnees.years[i]].mono.pourcentage + 
					donnees.data[donnees.years[i]].biPlus.pourcentage);
			}
		}

		console.log(data.labels);

		var chart = new Chartist.Line('.ct-chart', data, options);
		var seq = 0;
		var delays = 80;
		var durations = 500;

		chart.on('created', function(){
			seq=0;
		});

		chart.on('draw', function(param){
			seq++;

			if(param.type === 'line'){
				param.element.animate({
					opacity : {
						begin : seq * delays + 100,
						dur : durations,
						from : 0,
						to : 1
					}
				});
			}else if(param.type === 'label'){
				if(jQuery.inArray(param.text, donnees.yearsToScreen == -1)){
					var chaine = 'foreignobject[x="'+param.x+'"]'+
								'[y="'+param.y+'"]'+
								'[width="'+param.width+'"]'+
								'[height="'+param.height+'"]';
					$(chaine+" span").mouseenter(function(node){
						$(this).stop().animate({ 
							fontSize: "2em"
		  				}, 300 );
		  				var position = $(this).parent().position();
		  				$(this).parent().stop().animate({ 
							x : position.left-18
		  				}, 300 );
					});
					$(chaine+" span").mouseleave(function(node){
						$(this).stop().animate({ 
							fontSize: "0.75em"
		  				}, 300 );
		  				var position = $(this).parent().position();
		  				$(this).parent().stop().animate({ 
							x : position.left+18
		  				}, 300 );
					});

				};
			}else if(param.type === 'point'){
				param.element.animate({
				      x1: {
				        begin: seq * delays,
				        dur: durations,
				        from: param.x - 10,
				        to: param.x,
				        easing: 'easeOutQuart'
				      },
				      x2: {
				        begin: seq * delays,
				        dur: durations,
				        from: param.x - 10,<commit_msg>Nouveaux effet du passage de la souris au dessus d'un label<commit_after>"use strict";


$(document).ready(function(){
	var requete = $.ajax({
		url : "http://127.0.0.1:8080/ouest_france/data/menage/years",
		type : "GET",
		dataType : "text",
		success : generateChart,
		error : function(res, statut, error){
			alert(res+" ; "+statut+" ; "+error);
		}
	});
});

function generateChart(res, statut){
		var donnees = JSON.parse(res);
		var valeurs = [];
		var data = {
			labels : [],
			series : [[]]
		};
		var options = {
			axisY : {
				showLabel: false,
  				showGrid : false
			},
			axisX : {
  				showGrid : false,
  				labelOffset : {
  					x:-13,
  					y:0
  				}
			}, 
			showArea : true,
			lineSmooth: Chartist.Interpolation.cardinal({
    			fillHoles: true
  			}),

  			width : '75%',
  			height : '12.5%',
  			chartPadding: {
    			top: 5,
    			right: 30,
    			bottom: 5,
    			left: 0
  			},
		};
		for(var i=0; i<donnees.years.length; i++){
			if(i==0){
				if(jQuery.inArray(donnees.years[0], donnees.yearsToScreen) != -1) data.labels.push(donnees.years[0]);
				else(data.labels.push(null));
				data.series[0].push(donnees.data[donnees.years[0]].mono.pourcentage + 
					donnees.data[donnees.years[0]].biPlus.pourcentage);
			}
			else{
				for(var j=1; j<donnees.years[i]-donnees.years[i-1]; j++){
					data.labels.push(null);
					data.series[0].push(null);
				}
				if(jQuery.inArray(donnees.years[i], donnees.yearsToScreen) != -1) data.labels.push(donnees.years[i]);
				else(data.labels.push(null));
				data.series[0].push(donnees.data[donnees.years[i]].mono.pourcentage + 
					donnees.data[donnees.years[i]].biPlus.pourcentage);
			}
		}

		var chart = new Chartist.Line('.ct-chart', data, options);
		var seq = 0;
		var delays = 80;
		var durations = 500;

		chart.on('created', function(){
			seq=0;
		});

		chart.on('draw', function(param){
			seq++;

			if(param.type === 'line'){
				param.element.animate({
					opacity : {
						begin : seq * delays + 100,
						dur : durations,
						from : 0,
						to : 1
					}
				});
			}else if(param.type === 'label'){
				if(jQuery.inArray(param.text, donnees.yearsToScreen == -1)){
					var chaine = 'foreignobject[x="'+param.x+'"]'+
								'[y="'+param.y+'"]'+
								'[width="'+param.width+'"]'+
								'[height="'+param.height+'"]';


					var label = $(chaine+" span");
					var labelParent = $(chaine);			
					var labelParentOriginPos = labelParent.position();
					
					//var pointOriginWidth = 
					label.mouseenter(function(node){
						//Grossissement et changement de couleur du point
						var point = label.parent().parent().parent().find('.ct-point[year="'+param.text+'"]');
						point.stop().animate({
							"stroke-color" : "rgb(0,0,125)",
							"stroke-width" : 50,
							opacity : 0
						}, 300);

						//Grossissement du label
						$(this).stop().animate({ 
							fontSize: "2em"
		  				}, 300 );

		  				//Décalage à gauche au fur et à mesure du grossissement du label
		  				$(this).parent().stop().animate({ 
							x : labelParentOriginPos.left-18,
							y : labelParentOriginPos.top-10
		  				}, 300 );
					});
					label.mouseleave(function(node){
						//Retrecissement du point et retour à la vouleur d'origine
						var point = label.parent().parent().parent().find('.ct-point[year="'+param.text+'"]');
						point.stop().animate({
							stroke : "rgb(255,0,0)",
							"stroke-width" : 10,
							opacity : 1
						}, 300);

						//Retrecissement du label
						$(this).stop().animate({ 
							fontSize: "0.75em"
		  				}, 300 );

		  				//Retrecissement du label et retour à la position d'origine
		  				$(this).parent().stop().animate({ 
							x : labelParentOriginPos.left,
							y : labelParentOriginPos.top
		  				}, 300 );
					});

				};
			}else if(param.type === 'point'){
				
				var annee = param.axisX.ticks[param.index];

				var chaine = 'line[class="ct-point"]'+
								'[x1="'+param.x+'"]'+
								'[y1="'+param.y+'"]';
				$(chaine).attr("year", annee);
				param.element.animate({
				      x1: {
				        begin: seq * delays,
				        dur: durations,
				        from: param.x - 10,
				        to: param.x,
				        easing: 'easeOutQuart'
				      },
				      x2: {
				        begin: seq * delays,
				        dur: durations,
				        from: param.x - 10,
{'fraction_non_alphanumeric': 0.18538441353975335, 'fraction_numerical': 0.023222251377591183, 'mean_word_length': 2.2730785744954916, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7463645', 'n_tokens_mistral': 3746, 'n_tokens_neox': 2806, 'n_words': 477}