-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjquery.pte.min.js
1 lines (1 loc) · 2.73 KB
/
jquery.pte.min.js
1
(function(d){function o(a){a=a.replace(/_/g," ");return a.replace(/(?:^\w|[A-Z]|\b\w)/g,function(a,d){return 0==d?a.toUpperCase():a.toLowerCase()}).replace(/\s+/g," ")}var a;d.fn.pte=function(g){var f=d.extend({data:"",config:{},clickHandler:function(){}},g),h=d(this),g=void 0==f.config.x?10:f.config.x,o=void 0==f.config.y?10:f.config.y,p=void 0==f.config.size?40:f.config.size,q=void 0==f.config.tooltip?!1:f.config.tooltip,r=void 0==f.config.closable?!1:f.config.closable,j,k,b,e,l,m;a=p+(void 0== f.config.spacing?1:f.config.spacing);l=19*a+10+"px";m=12*a+10+"px";b=o+"px";e=g+"px";d(h).addClass("pte_table").css("top",b).css("left",e).css("width",l).css("height",m);d.getJSON(f.data,function(g){d.each(g.PERIODIC_TABLE.ATOM,function(g,n){var c=parseInt(n.ATOMIC_NUMBER);1==c?k=j=0:2==c?(j=0,k=17):4>=c?(j=1,k=c-3):10>=c?(j=1,k=c+7):12>=c?(j=2,k=c-11):18>=c?(j=2,k=c-1):36>=c?(j=3,k=c-19):54>=c?(j=4,k=c-37):57>=c?(j=5,k=c-55):71>=c?(j=8,k=c-54):86>=c?(j=5,k=c-69):89>=c? (j=6,k=c-87):103>=c?(j=9,k=c-86):(j=6,k=c-101);b=(2+j)*a+"px";e=(1+k)*a+"px";l=p+"px";m=p+"px";c=d("<div>").addClass("pte_element").css("left",e).css("top",b).css("width",l).css("height",m).css("position","absolute").css("overflow","hidden").css("cursor","pointer").html('<div class="pte_number">'+n.ATOMIC_NUMBER+'</div><div class="pte_symbol">'+n.SYMBOL+"</div>").appendTo(h).click(function(){f.clickHandler(n)});q&&c.hover(function(){d(".pte_detail").remove();var c="top";b=d(this).position().top;if(b<= 4*a)b=b+"px";else if(b<=5*a)b=b-a+"px";else if(b<=6*a)b=b-2*a+"px";else if(b<=7*a)b=b-3*a+"px";else{b=b<=8*a?3*a+10+"px":b<=10*a?a+10+"px":"10px";c="bottom"}l=9*a+"px";e=d(this).position().left;e=e<=9*a?e+a+"px":e-9*a+"px";d("<div>").addClass("pte_detail").css("position","absolute").css("left",e).css(c,b).css("width",l).appendTo(h).pte_detail(n)})});e=b="10px";b=10.3*a+"px";e=a+"px";d("<div>").addClass("pte_label").html("Lanthanide Series").css("position", "absolute").css("top",b).css("left",e).appendTo(h);b=11.3*a+"px";e=a+"px";d("<div>").addClass("pte_label").html("Actinide Series").css("position","absolute").css("top",b).css("left",e).appendTo(h);r&&(e=0.2*a+"px",b=0.2*a+"px",d("<div>").addClass("pte_close").html("[x]").css("position","absolute").css("right",e).css("top",b).css("cursor","pointer").click(function(){h.remove()}).appendTo(h))})};d.fn.pte_detail=function(g){var f=d(this),h="";f.hover(function(){d(this).remove()});for(x in g)h="object"== typeof g[x]?h+('<div class="pte_detail_label">'+o(x)+'</div><div class="pte_detail_value">'+g[x].VALUE+" "+g[x].UNIT+"</div>"):h+('<div class="pte_detail_label">'+o(x)+'</div><div class="pte_detail_value">'+g[x]+"</div>");f.html(h);g=3*a+"px";d(".pte_detail_label").css("width",g);g=5*a+"px";d(".pte_detail_value").css("width",g)}})(jQuery);