UNPKG

react-sigma

Version:

Lightweight but powerful library for drawing network graphs built on top of SigmaJS

1 lines 6.55 kB
var Sigma=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(i,a,function(t){return e[t]}.bind(null,a));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=176)}({176:function(e,t,n){"use strict";n.r(t);n(177),n(178)},177:function(e,t){(function(){(function(e){"use strict";var t=[],n=function(e,n,i){t.push({name:e,drawShape:n,drawBorder:i})},i=function(e){return function(t,n,i,a,r,l){l.fillStyle=r,l.beginPath(),e(t,n,i,a,l),l.closePath(),l.fill()}},a=function(e){return function(t,n,i,a,r,l){l.strokeStyle=r,l.lineWidth=a/5,l.beginPath(),e(t,n,i,a,l),l.closePath(),l.stroke()}},r=function(e,t,n,i,a){var r=45*Math.PI/180;a.moveTo(t+i*Math.sin(r),n-i*Math.cos(r));for(var l=1;l<4;l++)a.lineTo(t+Math.sin(r+2*Math.PI*l/4)*i,n-Math.cos(r+2*Math.PI*l/4)*i)};n("square",i(r),a(r));var l=function(e,t,n,i,a){a.arc(t,n,i,0,2*Math.PI,!0)};n("circle",i(l),a(l));var o=function(e,t,n,i,a){a.moveTo(t-i,n),a.lineTo(t,n-i),a.lineTo(t+i,n),a.lineTo(t,n+i)};n("diamond",i(o),a(o));var s=function(e,t,n,i,a){var r=e.cross&&e.cross.lineWeight||5;a.moveTo(t-i,n-r),a.lineTo(t-i,n+r),a.lineTo(t-r,n+r),a.lineTo(t-r,n+i),a.lineTo(t+r,n+i),a.lineTo(t+r,n+r),a.lineTo(t+i,n+r),a.lineTo(t+i,n-r),a.lineTo(t+r,n-r),a.lineTo(t+r,n-i),a.lineTo(t-r,n-i),a.lineTo(t-r,n-r)};n("cross",i(s),a(s));var u=function(e,t,n,i,a){var r=e.equilateral&&e.equilateral.numPoints||5,l=(e.equilateral&&e.equilateral.rotate||0)*Math.PI/180,o=i;a.moveTo(t+o*Math.sin(l),n-o*Math.cos(l));for(var s=1;s<r;s++)a.lineTo(t+Math.sin(l+2*Math.PI*s/r)*o,n-Math.cos(l+2*Math.PI*s/r)*o)};n("equilateral",i(u),a(u));var c=function(e,t,n,i,a){var r=e.star&&e.star.numPoints||5,l=i,o=i*(e.star&&e.star.innerRatio||.5),s=Math.PI/r;a.moveTo(t,n-i);for(var u=0;u<r;u++)a.lineTo(t+Math.sin(s+2*Math.PI*u/r)*o,n-Math.cos(s+2*Math.PI*u/r)*o),a.lineTo(t+Math.sin(2*Math.PI*(u+1)/r)*l,n-Math.cos(2*Math.PI*(u+1)/r)*l)};n("star",i(c),a(c));n("pacman",(function(e,t,n,i,a,r){r.fillStyle="yellow",r.beginPath(),r.arc(t,n,i,1.25*Math.PI,0,!1),r.arc(t,n,i,0,.75*Math.PI,!1),r.lineTo(t,n),r.closePath(),r.fill(),r.fillStyle="white",r.strokeStyle="black",r.beginPath(),r.arc(t+i/3,n-i/3,i/4,0,2*Math.PI,!1),r.closePath(),r.fill(),r.stroke(),r.fillStyle="black",r.beginPath(),r.arc(t+4*i/9,n-i/3,i/8,0,2*Math.PI,!1),r.closePath(),r.fill()}),null),this.ShapeLibrary={enumerate:function(){return t},version:"0.1"}}).call(window)}).call(window)},178:function(e,t){(function(){(function(e){"use strict";if("undefined"==typeof sigma)throw"sigma is not declared";if("undefined"==typeof ShapeLibrary)throw"ShapeLibrary is not declared";sigma.utils.pkg("sigma.canvas.nodes"),sigma.utils.pkg("sigma.svg.nodes");var t=e,n={},i=function(e,i,a,r,l){if(t&&e.image&&e.image.url){var o=e.image.url,s=e.image.h||1,u=e.image.w||1,c=e.image.scale||1,d=e.image.clip||1,f=n[o];f||((f=document.createElement("IMG")).src=o,f.status="loading",f.onerror=function(){console.log("error loading",o),f.status="error"},f.onload=function(){console.log("redraw on image load",o),f.status="ok",t.refresh()},n[o]=f);var h=u<s?u/s:1,m=s<u?s/u:1,g=r*c;l.save(),l.beginPath(),l.arc(i,a,r*d,0,2*Math.PI,!0),l.closePath(),l.clip(),"ok"===f.status&&l.drawImage(f,i+Math.sin(-.7855)*g*h,a-Math.cos(-.7855)*g*m,g*h*2*Math.sin(-.7855)*-1,g*m*2*Math.cos(-.7855)),l.restore()}},a=function(e,n,a){sigma.canvas.nodes[e]=function(e,t,r){var l=r("prefix")||"",o=e[l+"size"],s=e.color||r("defaultNodeColor"),u=e.borderColor||s,c=e[l+"x"],d=e[l+"y"];t.save(),n&&n(e,c,d,o,s,t),a&&a(e,c,d,o,u,t),i(e,c,d,o,t),t.restore()},sigma.svg.nodes[e]={create:function(e,n){var i=document.createElementNS(n("xmlns"),"g"),a=document.createElementNS(n("xmlns"),"circle");return i.setAttributeNS(null,"class",n("classPrefix")+"-node-group"),i.setAttributeNS(null,"data-node-id",e.id),a.setAttributeNS(null,"data-node-id",e.id),a.setAttributeNS(null,"class",n("classPrefix")+"-node"),a.setAttributeNS(null,"fill",e.color||n("defaultNodeColor")),i.appendChild(a),function(e,n,i){if(t&&e.image&&e.image.url){var a=document.createElementNS(i("xmlns"),"circle"),r=document.createElementNS(i("xmlns"),"clipPath"),l=i("classPrefix")+"-clip-path-"+e.id,o=document.createElementNS(i("xmlns"),"defs"),s=document.createElementNS(i("xmlns"),"image");e.image.url;r.setAttributeNS(null,"id",l),r.appendChild(a),o.appendChild(r);var u=/MSIE [5-9]/.test(navigator.userAgent)?"":document.location.href;u=u.split("#")[0],s.setAttributeNS(null,"class",i("classPrefix")+"-node-image"),s.setAttributeNS(null,"clip-path","url("+u+"#"+l+")"),s.setAttributeNS(null,"pointer-events","none"),s.setAttributeNS("http://www.w3.org/1999/xlink","href",e.image.url),n.appendChild(o),n.appendChild(s)}}(e,i,n),i},update:function(e,t,n){for(var i=n("classPrefix"),a=e.image.clip||1,r=e.image.h||1,l=e.image.w||1,o=n("prefix")||"",s=e.image.scale||1,u=e[o+"size"],c=e[o+"x"],d=e[o+"y"],f=s*u,h=l<r?l/r:1,m=r<l?r/l:1,g=0,p=t.childNodes;g<p.length;g++){switch(p[g].getAttribute("class")){case i+"-node":p[g].setAttributeNS(null,"cx",c),p[g].setAttributeNS(null,"cy",d),p[g].setAttributeNS(null,"r",u),n("freeStyle")||p[g].setAttributeNS(null,"fill",e.color||n("defaultNodeColor"));break;case i+"-node-image":p[g].setAttributeNS(null,"x",c+Math.sin(-.7855)*f*h),p[g].setAttributeNS(null,"y",d-Math.cos(-.7855)*f*m),p[g].setAttributeNS(null,"width",f*h*2*Math.sin(-.7855)*-1),p[g].setAttributeNS(null,"height",f*m*2*Math.cos(-.7855));break;default:var b=p[g].firstChild;if(null!=b){var S=i+"-clip-path-"+e.id;b.getAttribute("id")===S&&(b.firstChild.setAttributeNS(null,"cx",c),b.firstChild.setAttributeNS(null,"cy",d),b.firstChild.setAttributeNS(null,"r",a*u))}}}t.style.display=""}}};ShapeLibrary.enumerate().forEach((function(e){a(e.name,e.drawShape,e.drawBorder)})),this.CustomShapes={init:function(e){t=e},version:"0.1"}}).call(window)}).call(window)}});