diff -r 94f586daa623 -r 8ca7f2cea729 alcatel/static/libraries/nco/tapestry.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/alcatel/static/libraries/nco/tapestry.js Thu Jan 24 16:58:55 2013 +0100
@@ -0,0 +1,153 @@
+function glow() {
+ document.getElementById('')
+}
+
+
+function Tapestry(json,parametres){
+ this.parametres = {
+ name: null,
+ hauteur: 400,
+ largeur: 900,
+ timelineHaute : "#timelinehaute",
+ relations: null,
+ contenu: function(cellule, element) {
+
+ var html;
+ var img = new Image();
+ img.src= element.name;
+ indexx = element.indexx;
+ var wi, hi, wc, hc;
+
+ wi = img.width;
+ hi = img.height;
+ wc = cellule.offsetWidth ;
+ hc = cellule.offsetHeight ;
+ // r = Math.min(hi/hc, wi/wc);
+ // w = wi/r;
+ // h = hi/r;
+
+ var posx, posy;
+ posx = (wi-wc)/2;
+ posy = (hi-hc)/2;
+
+ html = "";
+ html += "
Image "+String(indexx)+"
"; + + return html; + + + }}; + + + + var object = this; + + + //---------------------------------------------------------------------- + // FENETRE DE FOND + + object.tapestryHtml = d3.select("#timelinehaute") + .style('position', 'relative') + .style('width', object.parametres.largeur + 'px') + .style('height', object.parametres.hauteur + 'px') + .style('background-color', 'black'); + //.style('overflow','hidden'); + + object.boutonzoom = d3.select("#timelinebasse").append('div') + .style('position', 'relative') + .style('width', '200px') + .style('height','20px') + .style('background-color', 'grey') + .style('margin-top', '5px') + .html("Dezoooooom
") + .on('mouseover', function(){d3.select(this).style('opacity', 0.8);}) + .on('mouseout', function(){d3.select(this).style('opacity', 1);}) + .on('click',function(){object.agencerzoom;}) + + + //---------------------------------------------------------------------- + // CREATION DES PETITES FENETRES + + var listeposition = this.getPosition(); + var larg,haut; + larg = String(this.parametres.largeur/5) + "px"; + larg2=String(this.parametres.largeur/10) + "px"; + haut = String(this.parametres.hauteur/2 -1) + "px" ; + + d3.select("#timelinehaute").selectAll("div") + .data(donnees).enter().append("div") + .attr('class', 'cell') + .attr('id', function(index){ + if(index==0){return "first";} + else if (index==10){return "last";} + }) + + .on('mouseover', function(){d3.select(this).style('opacity', 0.8);}) + .on('mouseout', function(){d3.select(this).style('opacity', 1);}) + .on('click',function(datum,index){object.agencerzoom(datum,index);}) + + .style('position', 'absolute') + .style('width', function(datum,index){ + if(index==0 || index==10){return larg2;} + else{return larg;} + }) + .style('height',haut) + .style('background-color', '#32675F') + .style('text-align','center') + .html(function(datum,index){return object.parametres.contenu(this,datum);}) + .style('left', function(datum, index) { + return listeposition[index][0]; + }) + .style('top', function(datum, index) { + return listeposition[index][1]; + }) + // .attr('onmouseover',"this.style(\"stroke\",\"white\");" ) + ; + + + +}; +// Position des fenetres +Tapestry.prototype = { + + getPosition: function(){ + var l,h; + l= this.parametres.largeur; + h= this.parametres.hauteur; + var listposition=[[0,0]]; + for (var i=0;i<9;i++){ + listposition.push([(i*0.5)*l/5,h/2*((i+1)%2)]); + } + listposition.push([4.5*l/5,0]); + //for (var j=0;j<5;j++){ + // listposition.push([j*l/5,h/2]); + //} + return listposition; + + + }, + + agencerzoom: function(element,indexx){ + var object = this; + this.tapestryHtml.selectAll("div") + .data(donnees[indexx].childs) + .html(function(datum,index){return object.parametres.contenu(this,datum);}); + this.tapestryHtml.select("first") + .data(donnees[indexx-1]) + .html(function(datum,index){return object.parametres.contenu(this,datum);}); + }, + + + agencerdezoom: function(){ + var object = this; + this.tapestryHtml.selectAll("div") + .data(donnees) + .html(function(datum,index){return object.parametres.contenu(this,datum);}); + + } + + + +}; + +