@makechart/pictogram 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Logs
2
2
 
3
+ ## v0.0.3
4
+
5
+ - fix bug: tooltip was empty since glyphs didn't carry their data ( regression in 0.0.2 )
6
+ - add hover test case
7
+
8
+
3
9
  ## v0.0.2
4
10
 
5
11
  - extend the lite base ( `@makechart/base` `lite/index.html`, no d3 ): needs `@makechart/base` >= 0.2.0
package/index.html CHANGED
@@ -1 +1 @@
1
- <div><div plug="layout"><div class="pdl-layout"><div data-type="layout"><div class="pdl-cell" data-name="view"></div><div class="pdl-cell" data-name="legend">&nbsp;</div></div><div data-type="render"></div></div></div><style type="text/css">.pdl-layout>div[data-type=layout]{display:grid;grid-template-columns:1fr fit-content(10em);grid-template-rows:1fr;padding:0 .5em}.pdl-layout>div[data-type=layout]>.pdl-cell[data-name=legend]{grid-column:2;grid-row:1/span 1;padding-left:1em}.pdl-layout.legend-bottom>div[data-type=layout]{grid-template-columns:1fr;grid-template-rows:1fr fit-content(3em)}.pdl-layout.legend-bottom>div[data-type=layout] .pdl-cell[data-name=legend]{padding-top:1em;grid-column:1/span 1;grid-row:2}</style><script type="@plotdb/block">var utils,sampleIcon,mod;utils={};utils.preproc=function(t){var e,n,i,a,r,u,l,s,c,d,o,h;e=t.canvas,n=t.light;i=e.getContext("2d");a=i.getImageData(0,0,e.width,e.height);r=a.data;u=[];for(l=0,c=(s=g()).length;l<c;l+=4){d=s[l];o=.299*r[d]+.587*r[d+1]+.114*r[d+2];if(r[d+3]){u.push(o)}}u.sort(function(t,e){if(t<e){return-1}else if(t>e){return 1}else{return 0}});n=u[(s=Math.floor(n*u.length))<(h=u.length-1)?s:h];for(l=0,c=(s=m()).length;l<c;l+=4){d=s[l];o=.299*r[d]+.587*r[d+1]+.114*r[d+2];if(o<=n){r[d]=0;r[d+1]=0;r[d+2]=0}else{r[d]=255;r[d+1]=255;r[d+2]=255}}return i.putImageData(a,0,0);function g(){var t,e,n=[];for(t=0,e=r.length-4;t<=e;++t){n.push(t)}return n}function m(){var t,e,n=[];for(t=0,e=r.length-4;t<=e;++t){n.push(t)}return n}};sampleIcon="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDBweCIgaGVpZ2h0PSIyMDBweCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtc2l6ZTppbml0aWFsO2JhY2tncm91bmQtcmVwZWF0LXk6aW5pdGlhbDtiYWNrZ3JvdW5kLXJlcGVhdC14OmluaXRpYWw7YmFja2dyb3VuZC1wb3NpdGlvbi15OmluaXRpYWw7YmFja2dyb3VuZC1wb3NpdGlvbi14OmluaXRpYWw7YmFja2dyb3VuZC1vcmlnaW46aW5pdGlhbDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7YmFja2dyb3VuZC1jbGlwOmluaXRpYWw7YmFja2dyb3VuZC1hdHRhY2htZW50OmluaXRpYWw7YW5pbWF0aW9uLXBsYXktc3RhdGU6cGF1c2VkIiA+PGcgY2xhc3M9ImxkbC1zY2FsZSIgc3R5bGU9InRyYW5zZm9ybS1vcmlnaW46NTAlIDUwJTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpIHNjYWxlKDEsIDEpO2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPjxjaXJjbGUgZmlsbD0iIzg0OWI4NyIgcj0iMTAuODc2IiBjeT0iMTUuODc2IiBjeD0iNTAiIHN0eWxlPSJmaWxsOnJnYigyOSwgMTQsIDExKTthbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWQiID48L2NpcmNsZT4KPGcgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPjxwYXRoIGZpbGw9IiM4NDliODciIGQ9Ik02OC43NjQgNTguNjM1YTMuOTg1IDMuOTg1IDAgMCAxLTMuOTg1LTMuOTg1di02LjY0MmMwLTguMTQ5LTYuNjMtMTQuNzc5LTE0Ljc3OS0xNC43NzlzLTE0Ljc3OSA2LjYzLTE0Ljc3OSAxNC43Nzl2Ni42NDJhMy45ODUgMy45ODUgMCAxIDEtNy45NyAwdi02LjY0MmMwLTEyLjU0NCAxMC4yMDUtMjIuNzQ5IDIyLjc0OS0yMi43NDlzMjIuNzQ5IDEwLjIwNSAyMi43NDkgMjIuNzQ5djYuNjQyYzAgMi4yLTEuNzg0IDMuOTg1LTMuOTg1IDMuOTg1eiIgc3R5bGU9ImZpbGw6cmdiKDI5LCAxNCwgMTEpO2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPjwvcGF0aD48L2c+CjxwYXRoIGQ9Ik0zOC40MTcgMzIuMTY3aDIzLjE2N3YzMy42NjdIMzguNDE3eiIgZmlsbD0iIzg0OWI4NyIgc3R5bGU9ImZpbGw6cmdiKDI5LCAxNCwgMTEpO2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPjwvcGF0aD4KPHBhdGggZmlsbD0iIzg0OWI4NyIgZD0iTTQzLjM5OSA1My40ODdhNC45NCA0Ljk0IDAgMCAwLTQuOTQgNC45NFY5MC4wNmE0Ljk0IDQuOTQgMCAwIDAgOS44OCAwVjU4LjQyN2E0Ljk0IDQuOTQgMCAwIDAtNC45NC00Ljk0eiIgc3R5bGU9ImZpbGw6cmdiKDI5LCAxNCwgMTEpO2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPjwvcGF0aD4KPHBhdGggZmlsbD0iIzg0OWI4NyIgZD0iTTU2LjYwMSA1My40ODdhNC45NCA0Ljk0IDAgMCAxIDQuOTQgNC45NFY5MC4wNmE0Ljk0IDQuOTQgMCAwIDEtOS44OCAwVjU4LjQyN2E0Ljk0IDQuOTQgMCAwIDEgNC45NC00Ljk0eiIgc3R5bGU9ImZpbGw6cmdiKDI5LCAxNCwgMTEpO2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPjwvcGF0aD4KPG1ldGFkYXRhIHhtbG5zOmQ9Imh0dHBzOi8vbG9hZGluZy5pby9zdG9jay8iIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWQiID48ZDpuYW1lIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWQiID5tYW48L2Q6bmFtZT4KCgo8ZDp0YWdzIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWQiID5tYW4scGVvcGxlLGNoYXJhY3RlcixwZXJzb24sZmlndXJlLGlkb2wsZG9sbDwvZDp0YWdzPgoKCjxkOmxpY2Vuc2Ugc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPmJ5PC9kOmxpY2Vuc2U+CgoKPGQ6c2x1ZyBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6cGF1c2VkIiA+bXE1dXg8L2Q6c2x1Zz48L21ldGFkYXRhPjwvZz48IS0tIGdlbmVyYXRlZCBieSBodHRwczovL2xvYWRpbmcuaW8vIC0tPjwvc3ZnPg==";module.exports={pkg:{name:"pictogram",version:"0.0.1",extend:{name:"@makechart/base",path:"lite/index.html"},dependencies:[{name:"ldfile",version:"main",path:"index.min.js"},{name:"potrace-wasm",version:"main",path:"index.js",global:true}],i18n:{}},init:function(t){var e,n,i,a;e=t.root,n=t.ctx,i=t.t,a=t.pubsub;return a.fire("init",{mod:mod({ctx:n,t:i})})}};mod=function(t){var e,n,i,a,o,u,l,r;e=t.ctx,n=t.t;i=e.chart,a=e.ldfile,o=e.loadFromCanvas;u=i.utils.anim.join;l="http://www.w3.org/2000/svg";utils.traceSvg=function(n){return new Promise(function(u,l){var s,c,t,d,e;s=n.size||256;c=n.light||.5;t=n.file;d=new Image;d.onload=function(){var t,e,n,i,a,r;t=document.createElement("canvas");e=t.getContext("2d");n=Math.min(s/d.width,s/d.height);t.width=s;t.height=s;i=[d.width*n,d.height*n],a=i[0],r=i[1];e.drawImage(d,(s-a)/2,(s-r)/2,a,r);utils.preproc({canvas:t,light:c});return o(t,{}).then(function(t){return u(t)})["catch"](function(t){return l(t)})};if(typeof t==="string"){return d.src=t}else{e=new FileReader;e.onload=function(){return d.src=e.result};return e.readAsDataURL(t)}})};return{sample:function(){return{raw:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100].map(function(t){return{name:"N-"+t,cat:"Type "+Math.ceil(Math.random()*4),value:Math.ceil(Math.random()*3)}}),binding:{cat:{key:"cat"},name:{key:"name"}}}},config:(r=i.utils.config.from({preset:"default",legend:"legend",tip:"tip"}),r.shape={glyph:{type:"upload"},threshold:{type:"number",default:.5,min:0,max:1,step:.01}},r.padding={type:"number",default:0,min:-1,max:1,step:.01},r),dimension:{value:{type:"R"},cat:{type:"C"},name:{type:"N"}},init:function(){var e,n=this;this.tint=e=new i.utils.tint;this.g=Object.fromEntries(["view","legend"].map(function(t){return[t,n.layout.getGroup(t)]}));this.g.defs=this.svg.appendChild(document.createElementNS(l,"g"));this.g.defs.setAttribute("class","defs");this.defs=this.g.defs.appendChild(document.createElementNS(l,"defs"));this.tip=new i.utils.tip({root:this.root,accessor:function(t){var e,n;e=t.evt;if(!(e.target&&(n=e.target.__data__))){return null}return{name:(n.cat?n.cat+" / ":"")+(n.name||""),value:""}},range:function(){return n.layout.getNode("view").getBoundingClientRect()}});this.legend=new i.utils.legend({layout:this.layout,name:"legend",root:this.root,shape:function(t){return this.setAttribute("fill",e.get(t.key))}});return this.legend.on("select",function(){n.parse();n.bind();n.resize();return n.render()})},destroy:function(){if(this.tip){return this.tip.destroy()}},parse:function(){var n,t,e,i,a,r=this;n={};if(this.binding.cat){this.data.map(function(t){return n[t.cat]=true});t=[];for(e in n){i=n[e];t.push(e)}this.cats=t;if(this.binding.value!=null){a=this.data.map(function(t){var e,n,i,a=[];for(e=0,n=t.value;e<n;++e){i=e;a.push({cat:t.cat,name:t.name})}return a}).reduce(function(t,e){return t.concat(e)},[])}else{a=this.data}}else{n[""]=true;this.cats=[];if(this.binding.value!=null){a=this.data.map(function(t){var e,n,i,a=[];for(e=0,n=t.value;e<n;++e){i=e;a.push({cat:"",name:t.name})}return a}).reduce(function(t,e){return t.concat(e)},[])}else{a=this.data.map(function(t){return{cat:"",name:t.name}})}}a.map(function(t,e){return t._idx=e});this.cats.sort();this.legend.data(this.cats.map(function(t){return{key:t,text:t}}));this.parsed=a.filter(function(t){return!r.cats.length||!r.cfg.legend.enabled||r.legend.isSelected(t.cat)});this.parsed.map(function(t){return t._removing=false});this.parsed.sort(function(t,e){if(n[t.cat]<n[e.cat]){return 1}else if(n[t.cat]>n[e.cat]){return-1}return t.cat<e.cat?-1:t.cat>e.cat?1:0});this.parsed.map(function(t,e){return t._order=e});return this.sum=this.parsed.length},resize:function(){var t;this.tip.toggle(((t=this.cfg).tip||(t.tip={})).enabled!=null?this.cfg.tip.enabled:true);this.legend.config(this.cfg.legend);this.root.querySelector(".pdl-layout").classList.toggle("legend-bottom",this.cfg.legend.position==="bottom");this.legend.update();this.layout.update(false);return this.tint.set(this.cfg.palette)},render:function(){var s,c,t,e,n,d,i,o,h,g,m,a,r=this;s=this.tint,c=this.cfg;t=Math.round(Math.sqrt(this.sum));e=[t||1,Math.ceil(this.sum/t)||1],n=e[0],d=e[1];i=this.layout.getBox("view");e=[i.width/d,i.height/n],o=e[0],h=e[1];g=function(t,e,n){n==null&&(n={});return r.anim.tween(t,e,import$({duration:350},n))};m=function(t){return t.querySelector("use.data")};a=u({root:this.g.view,tag:"g",cls:"data",data:this.parsed,key:function(t){return t._idx}});a.exit.map(function(t){var e;e=t.__data__;e._removing=true;return g(m(t),{x:o/2,y:h/2,opacity:0,transform:"scale(0,0)"},{duration:150,end:function(){if(t.__data__._removing){return t.remove()}}})});a.enter.map(function(t){var e,n,i,a,r,u;e=t.__data__;n=e._order;i=[o*(n%d),h*Math.floor(n/d)],a=i[0],r=i[1];t.setAttribute("transform","translate("+a+", "+r+")");u=t.appendChild(document.createElementNS(l,"use"));u.setAttribute("class","data");u.setAttribute("opacity",0);u.setAttribute("x",o/2);u.setAttribute("y",h/2);u.setAttribute("transform","scale(0,0)");return u});Array.from(this.g.view.querySelectorAll(":scope > g.data")).map(function(t){var e,n,i,a,r,u,l;e=t.__data__;n=c.padding||0;i=e._order;a=[o*(i%d),h*Math.floor(i/d)],r=a[0],u=a[1];a=[r+o*n/2,u+h*n/2],r=a[0],u=a[1];g(t,{transform:"translate("+r+", "+u+")"});if(e._removing){return}l=Math.min(o*(1-n)/256,h*(1-n)/256);return g(m(t),{fill:s.get(e.cat),opacity:1,x:0,y:0,transform:"scale("+l+","+l+")",href:"#glyph"})});t=this.p?this.p:Promise.resolve();this.p=t.then(function(){var t,e,n;t=(r.cfg.shape.glyph||[])[0]||{};e=t.dataurl||sampleIcon;if((n=r.cfg.shape.threshold+":"+e)===r._glyphKey){return}r._glyphKey=n;return utils.traceSvg({file:e,light:r.cfg.shape.threshold})}).then(function(t){var e,n;if(!t){return}e=document.createElement("div");e.innerHTML=t;n=e.querySelector("g").cloneNode(true);n.setAttribute("id","glyph");n.removeAttribute("fill");r.svg.querySelector("g.defs defs").innerHTML="";return r.svg.querySelector("g.defs defs").appendChild(n)});return this.legend.render()}}};function import$(t,e){var n={}.hasOwnProperty;for(var i in e)if(n.call(e,i))t[i]=e[i];return t}</script></div>
1
+ <div><div plug="layout"><div class="pdl-layout"><div data-type="layout"><div class="pdl-cell" data-name="view"></div><div class="pdl-cell" data-name="legend">&nbsp;</div></div><div data-type="render"></div></div></div><style type="text/css">.pdl-layout>div[data-type=layout]{display:grid;grid-template-columns:1fr fit-content(10em);grid-template-rows:1fr;padding:0 .5em}.pdl-layout>div[data-type=layout]>.pdl-cell[data-name=legend]{grid-column:2;grid-row:1/span 1;padding-left:1em}.pdl-layout.legend-bottom>div[data-type=layout]{grid-template-columns:1fr;grid-template-rows:1fr fit-content(3em)}.pdl-layout.legend-bottom>div[data-type=layout] .pdl-cell[data-name=legend]{padding-top:1em;grid-column:1/span 1;grid-row:2}</style><script type="@plotdb/block">var utils,sampleIcon,mod;utils={};utils.preproc=function(t){var e,n,i,a,r,u,l,s,c,d,o,h;e=t.canvas,n=t.light;i=e.getContext("2d");a=i.getImageData(0,0,e.width,e.height);r=a.data;u=[];for(l=0,c=(s=g()).length;l<c;l+=4){d=s[l];o=.299*r[d]+.587*r[d+1]+.114*r[d+2];if(r[d+3]){u.push(o)}}u.sort(function(t,e){if(t<e){return-1}else if(t>e){return 1}else{return 0}});n=u[(s=Math.floor(n*u.length))<(h=u.length-1)?s:h];for(l=0,c=(s=m()).length;l<c;l+=4){d=s[l];o=.299*r[d]+.587*r[d+1]+.114*r[d+2];if(o<=n){r[d]=0;r[d+1]=0;r[d+2]=0}else{r[d]=255;r[d+1]=255;r[d+2]=255}}return i.putImageData(a,0,0);function g(){var t,e,n=[];for(t=0,e=r.length-4;t<=e;++t){n.push(t)}return n}function m(){var t,e,n=[];for(t=0,e=r.length-4;t<=e;++t){n.push(t)}return n}};sampleIcon="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDBweCIgaGVpZ2h0PSIyMDBweCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtc2l6ZTppbml0aWFsO2JhY2tncm91bmQtcmVwZWF0LXk6aW5pdGlhbDtiYWNrZ3JvdW5kLXJlcGVhdC14OmluaXRpYWw7YmFja2dyb3VuZC1wb3NpdGlvbi15OmluaXRpYWw7YmFja2dyb3VuZC1wb3NpdGlvbi14OmluaXRpYWw7YmFja2dyb3VuZC1vcmlnaW46aW5pdGlhbDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7YmFja2dyb3VuZC1jbGlwOmluaXRpYWw7YmFja2dyb3VuZC1hdHRhY2htZW50OmluaXRpYWw7YW5pbWF0aW9uLXBsYXktc3RhdGU6cGF1c2VkIiA+PGcgY2xhc3M9ImxkbC1zY2FsZSIgc3R5bGU9InRyYW5zZm9ybS1vcmlnaW46NTAlIDUwJTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpIHNjYWxlKDEsIDEpO2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPjxjaXJjbGUgZmlsbD0iIzg0OWI4NyIgcj0iMTAuODc2IiBjeT0iMTUuODc2IiBjeD0iNTAiIHN0eWxlPSJmaWxsOnJnYigyOSwgMTQsIDExKTthbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWQiID48L2NpcmNsZT4KPGcgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPjxwYXRoIGZpbGw9IiM4NDliODciIGQ9Ik02OC43NjQgNTguNjM1YTMuOTg1IDMuOTg1IDAgMCAxLTMuOTg1LTMuOTg1di02LjY0MmMwLTguMTQ5LTYuNjMtMTQuNzc5LTE0Ljc3OS0xNC43NzlzLTE0Ljc3OSA2LjYzLTE0Ljc3OSAxNC43Nzl2Ni42NDJhMy45ODUgMy45ODUgMCAxIDEtNy45NyAwdi02LjY0MmMwLTEyLjU0NCAxMC4yMDUtMjIuNzQ5IDIyLjc0OS0yMi43NDlzMjIuNzQ5IDEwLjIwNSAyMi43NDkgMjIuNzQ5djYuNjQyYzAgMi4yLTEuNzg0IDMuOTg1LTMuOTg1IDMuOTg1eiIgc3R5bGU9ImZpbGw6cmdiKDI5LCAxNCwgMTEpO2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPjwvcGF0aD48L2c+CjxwYXRoIGQ9Ik0zOC40MTcgMzIuMTY3aDIzLjE2N3YzMy42NjdIMzguNDE3eiIgZmlsbD0iIzg0OWI4NyIgc3R5bGU9ImZpbGw6cmdiKDI5LCAxNCwgMTEpO2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPjwvcGF0aD4KPHBhdGggZmlsbD0iIzg0OWI4NyIgZD0iTTQzLjM5OSA1My40ODdhNC45NCA0Ljk0IDAgMCAwLTQuOTQgNC45NFY5MC4wNmE0Ljk0IDQuOTQgMCAwIDAgOS44OCAwVjU4LjQyN2E0Ljk0IDQuOTQgMCAwIDAtNC45NC00Ljk0eiIgc3R5bGU9ImZpbGw6cmdiKDI5LCAxNCwgMTEpO2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPjwvcGF0aD4KPHBhdGggZmlsbD0iIzg0OWI4NyIgZD0iTTU2LjYwMSA1My40ODdhNC45NCA0Ljk0IDAgMCAxIDQuOTQgNC45NFY5MC4wNmE0Ljk0IDQuOTQgMCAwIDEtOS44OCAwVjU4LjQyN2E0Ljk0IDQuOTQgMCAwIDEgNC45NC00Ljk0eiIgc3R5bGU9ImZpbGw6cmdiKDI5LCAxNCwgMTEpO2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPjwvcGF0aD4KPG1ldGFkYXRhIHhtbG5zOmQ9Imh0dHBzOi8vbG9hZGluZy5pby9zdG9jay8iIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWQiID48ZDpuYW1lIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWQiID5tYW48L2Q6bmFtZT4KCgo8ZDp0YWdzIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWQiID5tYW4scGVvcGxlLGNoYXJhY3RlcixwZXJzb24sZmlndXJlLGlkb2wsZG9sbDwvZDp0YWdzPgoKCjxkOmxpY2Vuc2Ugc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZCIgPmJ5PC9kOmxpY2Vuc2U+CgoKPGQ6c2x1ZyBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6cGF1c2VkIiA+bXE1dXg8L2Q6c2x1Zz48L21ldGFkYXRhPjwvZz48IS0tIGdlbmVyYXRlZCBieSBodHRwczovL2xvYWRpbmcuaW8vIC0tPjwvc3ZnPg==";module.exports={pkg:{name:"pictogram",version:"0.0.1",extend:{name:"@makechart/base",path:"lite/index.html"},dependencies:[{name:"ldfile",version:"main",path:"index.min.js"},{name:"potrace-wasm",version:"main",path:"index.js",global:true}],i18n:{}},init:function(t){var e,n,i,a;e=t.root,n=t.ctx,i=t.t,a=t.pubsub;return a.fire("init",{mod:mod({ctx:n,t:i})})}};mod=function(t){var e,n,i,a,o,u,l,r;e=t.ctx,n=t.t;i=e.chart,a=e.ldfile,o=e.loadFromCanvas;u=i.utils.anim.join;l="http://www.w3.org/2000/svg";utils.traceSvg=function(n){return new Promise(function(u,l){var s,c,t,d,e;s=n.size||256;c=n.light||.5;t=n.file;d=new Image;d.onload=function(){var t,e,n,i,a,r;t=document.createElement("canvas");e=t.getContext("2d");n=Math.min(s/d.width,s/d.height);t.width=s;t.height=s;i=[d.width*n,d.height*n],a=i[0],r=i[1];e.drawImage(d,(s-a)/2,(s-r)/2,a,r);utils.preproc({canvas:t,light:c});return o(t,{}).then(function(t){return u(t)})["catch"](function(t){return l(t)})};if(typeof t==="string"){return d.src=t}else{e=new FileReader;e.onload=function(){return d.src=e.result};return e.readAsDataURL(t)}})};return{sample:function(){return{raw:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100].map(function(t){return{name:"N-"+t,cat:"Type "+Math.ceil(Math.random()*4),value:Math.ceil(Math.random()*3)}}),binding:{cat:{key:"cat"},name:{key:"name"}}}},config:(r=i.utils.config.from({preset:"default",legend:"legend",tip:"tip"}),r.shape={glyph:{type:"upload"},threshold:{type:"number",default:.5,min:0,max:1,step:.01}},r.padding={type:"number",default:0,min:-1,max:1,step:.01},r),dimension:{value:{type:"R"},cat:{type:"C"},name:{type:"N"}},init:function(){var e,n=this;this.tint=e=new i.utils.tint;this.g=Object.fromEntries(["view","legend"].map(function(t){return[t,n.layout.getGroup(t)]}));this.g.defs=this.svg.appendChild(document.createElementNS(l,"g"));this.g.defs.setAttribute("class","defs");this.defs=this.g.defs.appendChild(document.createElementNS(l,"defs"));this.tip=new i.utils.tip({root:this.root,accessor:function(t){var e,n;e=t.evt;if(!(e.target&&(n=e.target.__data__))){return null}return{name:(n.cat?n.cat+" / ":"")+(n.name||""),value:""}},range:function(){return n.layout.getNode("view").getBoundingClientRect()}});this.legend=new i.utils.legend({layout:this.layout,name:"legend",root:this.root,shape:function(t){return this.setAttribute("fill",e.get(t.key))}});return this.legend.on("select",function(){n.parse();n.bind();n.resize();return n.render()})},destroy:function(){if(this.tip){return this.tip.destroy()}},parse:function(){var n,t,e,i,a,r=this;n={};if(this.binding.cat){this.data.map(function(t){return n[t.cat]=true});t=[];for(e in n){i=n[e];t.push(e)}this.cats=t;if(this.binding.value!=null){a=this.data.map(function(t){var e,n,i,a=[];for(e=0,n=t.value;e<n;++e){i=e;a.push({cat:t.cat,name:t.name})}return a}).reduce(function(t,e){return t.concat(e)},[])}else{a=this.data}}else{n[""]=true;this.cats=[];if(this.binding.value!=null){a=this.data.map(function(t){var e,n,i,a=[];for(e=0,n=t.value;e<n;++e){i=e;a.push({cat:"",name:t.name})}return a}).reduce(function(t,e){return t.concat(e)},[])}else{a=this.data.map(function(t){return{cat:"",name:t.name}})}}a.map(function(t,e){return t._idx=e});this.cats.sort();this.legend.data(this.cats.map(function(t){return{key:t,text:t}}));this.parsed=a.filter(function(t){return!r.cats.length||!r.cfg.legend.enabled||r.legend.isSelected(t.cat)});this.parsed.map(function(t){return t._removing=false});this.parsed.sort(function(t,e){if(n[t.cat]<n[e.cat]){return 1}else if(n[t.cat]>n[e.cat]){return-1}return t.cat<e.cat?-1:t.cat>e.cat?1:0});this.parsed.map(function(t,e){return t._order=e});return this.sum=this.parsed.length},resize:function(){var t;this.tip.toggle(((t=this.cfg).tip||(t.tip={})).enabled!=null?this.cfg.tip.enabled:true);this.legend.config(this.cfg.legend);this.root.querySelector(".pdl-layout").classList.toggle("legend-bottom",this.cfg.legend.position==="bottom");this.legend.update();this.layout.update(false);return this.tint.set(this.cfg.palette)},render:function(){var s,c,t,e,n,d,i,o,h,g,m,a,r=this;s=this.tint,c=this.cfg;t=Math.round(Math.sqrt(this.sum));e=[t||1,Math.ceil(this.sum/t)||1],n=e[0],d=e[1];i=this.layout.getBox("view");e=[i.width/d,i.height/n],o=e[0],h=e[1];g=function(t,e,n){n==null&&(n={});return r.anim.tween(t,e,import$({duration:350},n))};m=function(t){return t.querySelector("use.data")};a=u({root:this.g.view,tag:"g",cls:"data",data:this.parsed,key:function(t){return t._idx}});a.exit.map(function(t){var e;e=t.__data__;e._removing=true;return g(m(t),{x:o/2,y:h/2,opacity:0,transform:"scale(0,0)"},{duration:150,end:function(){if(t.__data__._removing){return t.remove()}}})});a.enter.map(function(t){var e,n,i,a,r,u;e=t.__data__;n=e._order;i=[o*(n%d),h*Math.floor(n/d)],a=i[0],r=i[1];t.setAttribute("transform","translate("+a+", "+r+")");u=t.appendChild(document.createElementNS(l,"use"));u.setAttribute("class","data");u.setAttribute("opacity",0);u.setAttribute("x",o/2);u.setAttribute("y",h/2);u.setAttribute("transform","scale(0,0)");return u});Array.from(this.g.view.querySelectorAll(":scope > g.data")).map(function(t){var e,n,i,a,r,u,l;e=t.__data__;n=c.padding||0;i=e._order;a=[o*(i%d),h*Math.floor(i/d)],r=a[0],u=a[1];a=[r+o*n/2,u+h*n/2],r=a[0],u=a[1];g(t,{transform:"translate("+r+", "+u+")"});m(t).__data__=e;if(e._removing){return}l=Math.min(o*(1-n)/256,h*(1-n)/256);return g(m(t),{fill:s.get(e.cat),opacity:1,x:0,y:0,transform:"scale("+l+","+l+")",href:"#glyph"})});t=this.p?this.p:Promise.resolve();this.p=t.then(function(){var t,e,n;t=(r.cfg.shape.glyph||[])[0]||{};e=t.dataurl||sampleIcon;if((n=r.cfg.shape.threshold+":"+e)===r._glyphKey){return}r._glyphKey=n;return utils.traceSvg({file:e,light:r.cfg.shape.threshold})}).then(function(t){var e,n;if(!t){return}e=document.createElement("div");e.innerHTML=t;n=e.querySelector("g").cloneNode(true);n.setAttribute("id","glyph");n.removeAttribute("fill");r.svg.querySelector("g.defs defs").innerHTML="";return r.svg.querySelector("g.defs defs").appendChild(n)});return this.legend.render()}}};function import$(t,e){var n={}.hasOwnProperty;for(var i in e)if(n.call(e,i))t[i]=e[i];return t}</script></div>
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@makechart/pictogram","version":"0.0.2","description":"","scripts":{"test":"mctest","test:serve":"mctest serve -o","test:dev":"mctest -l \"@makechart/base:../base;@plotdb/chart:../../../plotdb/projects/chart;@plotdb/dash:../../../plotdb/projects/dash\"","test:dev:serve":"mctest serve -o -l \"@makechart/base:../base;@plotdb/chart:../../../plotdb/projects/chart;@plotdb/dash:../../../plotdb/projects/dash\""},"keywords":[],"author":"zbryikt","license":"MIT","dependencies":{"@plotdb/srcbuild":"^0.0.69","fedep":"1.6.0","livescript":"^1.6.0"},"devDependencies":{"@makechart/viewer":"^0.0.3"}}
1
+ {"name":"@makechart/pictogram","version":"0.0.3","description":"","scripts":{"test":"mctest","test:serve":"mctest serve -o","test:dev":"mctest -l \"@makechart/base:../base;@plotdb/chart:../../../plotdb/projects/chart;@plotdb/dash:../../../plotdb/projects/dash\"","test:dev:serve":"mctest serve -o -l \"@makechart/base:../base;@plotdb/chart:../../../plotdb/projects/chart;@plotdb/dash:../../../plotdb/projects/dash\""},"keywords":[],"author":"zbryikt","license":"MIT","dependencies":{"@plotdb/srcbuild":"^0.0.69","fedep":"1.6.0","livescript":"^1.6.0"},"devDependencies":{"@makechart/viewer":"^0.0.3"}}