diff --git a/README b/README index 05b1109..2886e37 100644 --- a/README +++ b/README @@ -215,7 +215,7 @@ it supports all plugin's options as component's options as well as width and hei Libraries ------------ * Emposha's [FCBKcomplete](http://github.com/emposha/FCBKcomplete) (2.7.4) -* Graham Breach's [TagCanvas](http://www.goat1000.com/tagcanvas.php) (1.6) +* Graham Breach's [TagCanvas](http://www.goat1000.com/tagcanvas.php) (1.6.1) * elbeanio's [jquery.tagsphere](http://bitbucket.org/elbeanio/jquery.tagsphere/wiki/Home). diff --git a/README.markdown b/README.markdown index 05b1109..2886e37 100644 --- a/README.markdown +++ b/README.markdown @@ -215,7 +215,7 @@ it supports all plugin's options as component's options as well as width and hei Libraries ------------ * Emposha's [FCBKcomplete](http://github.com/emposha/FCBKcomplete) (2.7.4) -* Graham Breach's [TagCanvas](http://www.goat1000.com/tagcanvas.php) (1.6) +* Graham Breach's [TagCanvas](http://www.goat1000.com/tagcanvas.php) (1.6.1) * elbeanio's [jquery.tagsphere](http://bitbucket.org/elbeanio/jquery.tagsphere/wiki/Home). diff --git a/modules/fzTag/templates/_canvasTagCloud.php b/modules/fzTag/templates/_canvasTagCloud.php index c30b5f7..bb4599d 100644 --- a/modules/fzTag/templates/_canvasTagCloud.php +++ b/modules/fzTag/templates/_canvasTagCloud.php @@ -40,9 +40,9 @@ weightSize: , weightGradient: getRawValue()) : "{0:'#f00', 0.33:'#ff0', 0.66:'#0f0', 1:'#00f'}" ?> }; - $('#fz-tag-canvas').tagcanvas(tagCanvasOptions, 'fz-tag-canvas-list'); - + if( !$('#fz-tag-canvas').tagcanvas(tagCanvasOptions, 'fz-tag-canvas-list')) + { $('#fz-tag-canvas-list').hide(); - + }; }); \ No newline at end of file diff --git a/package.xml.tmpl b/package.xml.tmpl index 4b01cab..22d2484 100644 --- a/package.xml.tmpl +++ b/package.xml.tmpl @@ -56,101 +56,7 @@ ##CURRENT_DATE## MIT - * fizyk: forced hiding of tags list if required - * fizyk: added missing zoom and shadow options - * fizyk: fixed css declaration, so Tagcanvas would read make use of predefined tags weights - - - - - 1.2.5 - 1.0.0 - - - stable - stable - - MIT license - 2011-02-13 - MIT - - * fizyk: updated TagCanvas to 1.6 - - - - - 1.2.4 - 1.0.0 - - - stable - stable - - MIT license - 2011-01-02 - MIT - - * fizyk: refactored setTags method. Now adds and removes only difference, not everything - * fizyk: refactored calculating of tag cloud's weight map. reduced number of sql queries that are needed to render tag cloud. - * fizyk: added index on weight field - - - - - 1.2.3 - 1.0.0 - - - stable - stable - - MIT license - 2010-11-28 - MIT - - * fizyk: fixed limit not beeing added to query getting tags for tag cloud - - - - - 1.2.1 - 1.0.0 - - - stable - stable - - MIT license - 2010-11-25 - MIT - - * fizyk: tagcanvas updated to 1.4.1 - - - - - 1.2.0 - 1.0.0 - - - stable - stable - - MIT license - 2010-11-21 - MIT - - * fizyk: added canvasTagCloud component for spherical tag cloud (canvas+jQuery) - * fizyk: added 3dTagCloud component for spherical tag cloud (jQuery) - * fizyk: some options can be defined per model, not only application wide - * fizyk: route listeners for front tag module (fzTag) - * fizyk: actions index for tag's list and show for showing tags for front module - * fizyk: display tag's weight in admin module - * fizyk: modified FCBKcomplete, so that it accepts javascript or script strings as tags - * fizyk: task to rebuild tag's weight from scratch - * fizyk: updating tags weight on adding to (or removing from) taggable objects - * fizyk: added count field to relflect tag's weight - * fizyk: added relation alias to taggable models + * fizyk: updated TagCanvas to 1.6.1 diff --git a/web/js/jquery.tagcanvas.min.js b/web/js/jquery.tagcanvas.min.js index 7cf3a98..0bddc4a 100644 --- a/web/js/jquery.tagcanvas.min.js +++ b/web/js/jquery.tagcanvas.min.js @@ -15,7 +15,7 @@ * along with this program. If not, see . */ /** - * jQuery.tagcanvas 1.6 + * jQuery.tagcanvas 1.6.1 * For more information, please contact */ -(function(b){Point3D=function(c,e,d){this.x=c;this.y=e;this.z=d};RotX=function(f,d){var e=Math.sin(d),g=Math.cos(d);return new Point3D(f.x,(f.y*g)+(f.z*e),(f.y*-e)+(f.z*g))};RotY=function(f,d){var e=Math.sin(d),g=Math.cos(d);return new Point3D((f.x*g)+(f.z*-e),f.y,(f.x*e)+(f.z*g))};RotZ=function(f,d){var e=Math.sin(d),g=Math.cos(d);return new Point3D((f.x*g)+(f.y*e),(f.x*-e)+(f.y*g),f.z)};Project=function(e,l,k,i,f,d){var c,g,j;c=(l.y*e.z1)/(e.z1+e.z2+l.z);g=(l.x*e.z1)/(e.z1+e.z2+l.z);j=e.z2+l.z;return new Point3D(g,c,j)};function a(){this.Draw=function(){var f=this.canvas,k=0,g,j,l,e,h;l=f.getContext("2d");l.clearRect(0,0,f.width,f.height);g=f.width/2;j=f.height/2;this.active=null;for(h=0;hk){this.active=e;this.active.index=h;k=e.sc}}if(this.freezeActive&&this.active){this.yaw=this.pitch=0}else{this.Animate(f.width,f.height)}if(this.active){this.active.Draw(l)}};this.Animate=function(e,g){if(this.mx>=0&&this.my>=0&&this.mxthis.minSpeed){this.yaw=i>this.z0?this.yaw*this.decel:0}if(f>this.minSpeed){this.pitch=f>this.z0?this.pitch*this.decel:0}}}};this.Clicked=function(g){try{if(this.active&&this.taglist[this.active.index]){this.taglist[this.active.index].Clicked(g)}}catch(f){}};this.Outline=function(e){this.tc=e;this.ts=new Date();this.Update=function(f,k,g,i,j){this.x=j*(f-this.tc.outlineOffset);this.y=j*(k-this.tc.outlineOffset);this.w=j*(g+this.tc.outlineOffset*2);this.h=j*(i+this.tc.outlineOffset*2);this.sc=j};this.Draw=function(g){var f=new Date()-this.ts;g.save();g.strokeStyle=this.tc.outlineColour;g.lineWidth=this.tc.outlineThickness;if(this.tc.pulsateTo<1){g.globalAlpha=this.tc.pulsateTo+((1-this.tc.pulsateTo)*(0.5+(Math.cos(2*Math.PI*f/(1000*this.tc.pulsateTime))/2)))}g.beginPath();g.rect(this.x,this.y,this.w,this.h);g.closePath();g.stroke();g.restore()};this.Active=function(h,f,g){return(f>=this.x&&g>=this.y&&f<=this.x+this.w&&g<=this.y+this.h)};this.Update(0,0,0,0,1)};this.Tag=function(f,k,i,j,g,l){this.tc=f;this.image=k.src?k:null;this.name=k.src?"":k;this.a=i;this.p3d=new Point3D;this.p3d.x=j[0]*f.radius*1.1;this.p3d.y=j[1]*f.radius*1.1;this.p3d.z=j[2]*f.radius*1.1;this.x=0;this.y=0;this.w=g;this.h=l;this.colour=f.textColour;this.weight=1;this.weighted=!f.weight;if(!this.image){if(f.weight){var e=1,m;if(document.defaultView&&document.defaultView.getComputedStyle){m=document.defaultView.getComputedStyle(i,null).getPropertyValue("font-size");e=m.replace("px","")*1}else{f.weight=false}if(e>f.max_weight){f.max_weight=e}if(e0){if(qm.max.x){m.max.x=q}if(pm.max.y){m.max.y=p}}}}if(j!=t){m.min.x*=(t/j);m.max.x*=(t/j)}if(n!=k){m.min.y*=(t/n);m.max.y*=(t/n)}g=null;return m};jQuery.fn.tagcanvas=function(e,d){var c,f=d?jQuery("#"+d):this;if(document.all&&!d){return false}c=f.find("a");if(typeof(window.G_vmlCanvasManager)!="undefined"){this.each(function(){b(this)[0]=window.G_vmlCanvasManager.initElement(b(this)[0])})}if(!c.length||!this[0].getContext||!this[0].getContext("2d").fillText){return false}this.each(function(){var k,m,h,l,g,j,n=b(this).offset();if(!d){c=b(this).find("a")}j=new a;for(k in e){j[k]=e[k]}j.z1=(19800/(Math.exp(j.depth)*(1-1/Math.E)))+20000-19800/(1-(1/Math.E));j.z2=j.z1*(1/j.zoom);j.radius=(this.height>this.width?this.width:this.height)*0.33*(j.z2+j.z1)/(j.z1);j.taglist=[];m=j.PointsOnSphere(c.length);for(k=0;kk){this.active=e;this.active.index=h;k=e.sc}}if(this.freezeActive&&this.active){this.yaw=this.pitch=0}else{this.Animate(f.width,f.height)}if(this.active){this.active.Draw(l)}};this.Animate=function(e,g){if(this.mx>=0&&this.my>=0&&this.mxthis.minSpeed){this.yaw=i>this.z0?this.yaw*this.decel:0}if(f>this.minSpeed){this.pitch=f>this.z0?this.pitch*this.decel:0}}}};this.Clicked=function(g){try{if(this.active&&this.taglist[this.active.index]){this.taglist[this.active.index].Clicked(g)}}catch(f){}};this.Outline=function(e){this.tc=e;this.ts=new Date();this.Update=function(f,k,g,i,j){this.x=j*(f-this.tc.outlineOffset);this.y=j*(k-this.tc.outlineOffset);this.w=j*(g+this.tc.outlineOffset*2);this.h=j*(i+this.tc.outlineOffset*2);this.sc=j};this.Draw=function(g){var f=new Date()-this.ts;g.setTransform(1,0,0,1,0,0);g.strokeStyle=this.tc.outlineColour;g.lineWidth=this.tc.outlineThickness;g.shadowBlur=g.shadowOffsetX=g.shadowOffsetY=0;if(this.tc.pulsateTo<1){g.globalAlpha=this.tc.pulsateTo+((1-this.tc.pulsateTo)*(0.5+(Math.cos(2*Math.PI*f/(1000*this.tc.pulsateTime))/2)))}else{g.globalAlpha=1}g.strokeRect(this.x,this.y,this.w,this.h)};this.Active=function(h,f,g){return(f>=this.x&&g>=this.y&&f<=this.x+this.w&&g<=this.y+this.h)};this.Update(0,0,0,0,1)};this.Tag=function(f,k,i,j,g,l){this.tc=f;this.image=k.src?k:null;this.name=k.src?"":k;this.a=i;this.p3d=new Point3D;this.p3d.x=j[0]*f.radius*1.1;this.p3d.y=j[1]*f.radius*1.1;this.p3d.z=j[2]*f.radius*1.1;this.x=0;this.y=0;this.w=g;this.h=l;this.colour=f.textColour;this.weight=1;this.weighted=!f.weight;if(!this.image){if(f.weight){var e=1,m;if(document.defaultView&&document.defaultView.getComputedStyle){m=document.defaultView.getComputedStyle(i,null).getPropertyValue("font-size");e=m.replace("px","")*1}else{f.weight=false}if(e>f.max_weight){f.max_weight=e}if(e1){console.log(this.alpha)}};this.Clicked=function(n){if(this.a.target!=""&&this.a.target!="_self"){if(self.frames[this.a.target]){self.frames[this.a.target]=this.a.href}else{if(top.frames[this.a.target]){top.frames[this.a.target]=this.a.href}else{window.open(this.a.href,this.a.target)}}return}if(this.a.fireEvent){if(!this.a.fireEvent("onclick")){return}}else{var h=document.createEvent("MouseEvents");h.initMouseEvent("click",true,true,window,0,0,0,0,0,false,false,false,false,0,null);if(!this.a.dispatchEvent(h)){return}}document.location=this.a.href}};this.PointsOnSphere=function(m){var e,l,g,f,k=[],h=Math.PI*(3-Math.sqrt(5)),j=2/m;for(e=0;e0){if(qm.max.x){m.max.x=q}if(pm.max.y){m.max.y=p}}}}if(j!=t){m.min.x*=(t/j);m.max.x*=(t/j)}if(n!=k){m.min.y*=(t/n);m.max.y*=(t/n)}g=null;return m};jQuery.fn.tagcanvas=function(e,d){var c,f=d?jQuery("#"+d):this;if(document.all&&!d){return false}c=f.find("a");if(typeof(window.G_vmlCanvasManager)!="undefined"){this.each(function(){b(this)[0]=window.G_vmlCanvasManager.initElement(b(this)[0])})}if(!c.length||!this[0].getContext||!this[0].getContext("2d").fillText){return false}this.each(function(){var k,m,h,l,g,j,n=b(this).offset();if(!d){c=b(this).find("a")}j=new a;for(k in e){j[k]=e[k]}j.z1=(19800/(Math.exp(j.depth)*(1-1/Math.E)))+20000-19800/(1-(1/Math.E));j.z2=j.z1*(1/j.zoom);j.radius=(this.height>this.width?this.width:this.height)*0.33*(j.z2+j.z1)/(j.z1);j.taglist=[];m=j.PointsOnSphere(c.length);for(k=0;k