@devgateway/dvz-ui-react 1.9.12 → 1.9.14

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const tt=require("react/jsx-runtime");require("react");const ct=require("./BaseLayer.js"),ut=require("../data/D3MapDataProvider.js"),dt=require("../data/D3MapDataConsumer.js"),ht=require("d3"),ft=require("react-intl"),Z=require("./BreaksStyles.js"),lt=require("./GradientColors.js");function mt(d){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const i in d)if(i!=="default"){const h=Object.getOwnPropertyDescriptor(d,i);Object.defineProperty(t,i,h.get?h:{enumerable:!0,get:()=>d[i]})}}return t.default=d,Object.freeze(t)}const W=mt(ht),H=d=>d?d.toString().replace(/ /g,"_"):"",S=d=>d?"pattern_"+H(d):"";class gt extends ct.default{constructor(){super(),this.state={geoJson:null,json:null},this.getTooltipVariables=this.getTooltipVariables.bind(this),this.resize=this.resize.bind(this),this.createLayer=this.createLayer.bind(this),this.createCentroids=this.createCentroids.bind(this),this.createPatterns=this.createPatterns.bind(this),this.createPaths=this.createPaths.bind(this)}createLayer(t){const i=this.joinData(t,this.props.app,this.props.featureJoinAttribute,this.props.data,this.props.measures,this.props.patternDiscriminator);this.createDataLayer(i),this.props.onReady&&this.props.onReady()}resize(){const{markerLabelSize:t,markFillColor:i,markBorderColor:h,markSizeScale:s,measures:f,data:C,breaks:n,gradientScheme:A,gradientReverse:o,labelFontSize:b}=this.props,l=this.props.transform?this.props.transform.k:1;super.resize();const c=new Z.default({breaks:n,defaultFillColor:i,defaultBorderColor:h,defaultSize:s});this.g.selectAll(".centroids .point").attr("r",p=>c.getSize(p.properties._value)*1/l),this.g.selectAll(".point-label").attr("font-size",p=>t*(1/l)+"px")}getTooltipVariables(t){const{apiJoinAttribute:i}=this.props;return t.properties._value?{...t.properties,meta:{[i]:t.properties.meta?t.properties.meta.value:"",...t.properties.meta,value:t.properties._value}}:{}}createDataLayer(t){const{app:i,svg:h,format:s,id:f,file:C,path:n,onLayerCreated:A,labelFilter:o=[],labelField:b,labelFontSize:l,labelColor:c,fillColor:p,borderColor:y,tooltip:D,markFillColor:v,markLabelColor:J,markBorderColor:R,markSizeScale:q,markerLabelSize:K,featureJoinAttribute:et,apiJoinAttribute:Q,measures:E,editing:rt,data:k,patternDiscriminator:_,patternDiscriminatorLabel:X,breaks:G,gradientScheme:I,gradientReverse:N,patterns:L,projection:at,useBreaks:Y,useGradients:P,useCentroidPoint:$,usePattern:O,waitForFilters:it,intl:M,patternsVisible:B=!0,togglePatterns:j,colorLayerVisible:U=!0,visible:st}=this.props;if(this.gRef&&this.gRef.current){this.g=W.select(this.gRef.current),this.g.attr("class","base-layer");const z=t.features.filter(V=>V.properties._value!=null);this.createPaths(t),$||this.createColors(z),O&&this.createPatterns(t),b!="none"&&this.createLabels(t),$&&this.createCentroids(z)}}createColors(t){const{app:i,svg:h,format:s,id:f,file:C,path:n,onLayerCreated:A,labelFilter:o=[],labelField:b,labelFontSize:l,labelColor:c,fillColor:p,borderColor:y,tooltip:D,markFillColor:v,markLabelColor:J,markBorderColor:R,markSizeScale:q,markerLabelSize:K,featureJoinAttribute:et,apiJoinAttribute:Q,measures:E,editing:rt,data:k,patternDiscriminator:_,patternDiscriminatorLabel:X,breaks:G,gradientScheme:I,gradientReverse:N,patterns:L,projection:at,useBreaks:Y,useGradients:P,useCentroidPoint:$,usePattern:O,waitForFilters:it,intl:M,patternsVisible:B=!0,togglePatterns:j,colorLayerVisible:U=!0,visible:st}=this.props,{gradientStartColor:z,gradientEndColor:V}=this.props,u=new Z.default({breaks:G,defaultFillColor:v,defaultBorderColor:R,defaultSize:q}),w=new lt.default({data:k?k.children:[],measure:E[0],defaultFillColor:v,gradientScheme:I,gradientReverse:N,gradientStartColor:z,gradientEndColor:V});this.g&&(this.g.selectAll("path").attr("fill",m=>!m||!m.properties||!m.properties._value?p:P?w.getColor(m.properties._value):u.getColor(m.properties._value)).attr("stroke",y).attr("id","state-borders").attr("d",n).on("mouseenter",(m,r)=>{r.properties._value&&this.showToolTip(D,this.getTooltipVariables(r),P?w.getColor(r.properties._value):u.getColor(r.properties._value),r)}).on("mouseleave",m=>{this.hiddenToolTip(m)}).on("mousemove",m=>{this.moveToolTip(m)}),U||this.g.selectAll(".borders").style("fill",this.props.fillColor),this.g.attr("transform",this.props.transform))}createCentroids(t){const{app:i,svg:h,format:s,id:f,file:C,path:n,onLayerCreated:A,labelFilter:o=[],labelField:b,labelFontSize:l,labelColor:c,fillColor:p,borderColor:y,tooltip:D,markFillColor:v,markLabelColor:J,markBorderColor:R,markSizeScale:q,markerLabelSize:K,featureJoinAttribute:et,apiJoinAttribute:Q,measures:E,editing:rt,data:k,patternDiscriminator:_,patternDiscriminatorLabel:X,breaks:G,gradientScheme:I,gradientReverse:N,patterns:L,projection:at,useBreaks:Y,useGradients:P,useCentroidPoint:$,usePattern:O,waitForFilters:it,intl:M,patternsVisible:B=!0,togglePatterns:j,colorLayerVisible:U=!0,visible:st}=this.props,z=new Z.default({breaks:G,defaultFillColor:v,defaultBorderColor:R,defaultSize:q}),V=u=>new lt.default({data:u.children,measure:E[0],defaultFillColor:v,gradientScheme:I,gradientReverse:N});if(this.g){const u={style:s.style==="compacted"?"decimal":s.style,notation:s.style==="compacted"?"compact":"standard",currency:s.currency,minimumFractionDigits:parseInt(s.minimumFractionDigits),maximumFractionDigits:parseInt(s.maximumFractionDigits)},w=this.props.transform?this.props.transform.k:1;this.g.selectAll(".centroids").remove();const m=this.g.selectAll("centroids").data(t).enter().append("g").attr("class","centroids");m.append("circle").attr("fill",r=>P===!0?V(k).getColor(r.properties._value):z.getColor(r.properties._value,!0)).attr("stroke",R).attr("class","point").attr("stroke-width",2).style("vector-effect","non-scaling-stroke").attr("cx",r=>n.centroid(r)[0]).attr("cy",r=>n.centroid(r)[1]).attr("r",r=>z.getSize(r.properties._value)*1/w).on("mouseenter",(r,g)=>{if(g.properties._value){const e={...g.properties,meta:{[Q]:g.properties.meta?g.properties.meta.value:"",...g.properties.meta,value:g.properties._value}};this.showToolTip(D,e,P===!0?V(k).getColor(g.properties._value):z.getColor(g.properties._value))}}).on("mouseleave",r=>{this.hiddenToolTip()}),m.append("text").attr("class","point-label").attr("x",r=>n.centroid(r)[0]).attr("y",r=>n.centroid(r)[1]).attr("font-size",r=>K*(1/w)+"px").attr("text-anchor","middle").attr("dominant-baseline","middle").style("pointer-events","none").attr("fill",J).text(r=>M.formatNumber(s.style==="percent"?r.properties._value/100:r.properties._value,u)).on("mouseover",r=>{}),U||this.g.selectAll(".centroids").style("display","none")}}createPatterns(t){const{app:i,svg:h,format:s,id:f,file:C,path:n,onLayerCreated:A,labelFilter:o=[],labelField:b,labelFontSize:l,labelColor:c,fillColor:p,borderColor:y,tooltip:D,markFillColor:v,markLabelColor:J,markBorderColor:R,markSizeScale:q,markerLabelSize:K,featureJoinAttribute:et,apiJoinAttribute:Q,measures:E,editing:rt,data:k,patternDiscriminator:_,patternDiscriminatorLabel:X,breaks:G,gradientScheme:I,gradientReverse:N,patterns:L,projection:at,useBreaks:Y,useGradients:P,useCentroidPoint:$,usePattern:O,waitForFilters:it,intl:M,patternsVisible:B=!0,togglePatterns:j,colorLayerVisible:U=!0,visible:st}=this.props,z=new Z.default({breaks:G,defaultFillColor:v,defaultBorderColor:R,defaultSize:q}),V=this.props.transform?this.props.transform.k:1,u=10*1/V,w=10*1/V,m=e=>new lt.default({data:e.children,measure:E[0],defaultFillColor:v,gradientScheme:I,gradientReverse:N,gradientStartColor,gradientEndColor});let r=[];if(i=="csv"&&_!="none")r=[...new Set(k.data.map(e=>e[_]))].map(e=>({key:e,type:L[e+"_symbol"],color:L[e+"_color"],rotation:L[e+"_rotation"]}));else if(_!="none"){const e=k&&k.metadata?k.metadata.types.filter(F=>F.dimension==_):[];r=e&&e.length>0?e[0].items.map(F=>{const x=F.value;return{key:x,type:L[x+"_symbol"],color:L[x+"_color"],rotation:L[x+"_rotation"]}}):[]}this.g.selectAll("defs").remove();const g=this.g.append("defs");if(g.selectAll("pattern").remove(),g.selectAll("pattern").data(r).enter().append("pattern").attr("id",e=>S(e.key)).attr("patternUnits","userSpaceOnUse").attr("width",u).attr("height",w).attr("x",0).attr("y",0).attr("patternTransform",e=>`rotate(${e.rotation})`),r.forEach(e=>{e.type==="lines"&&g.select("#"+S(e.key)).append("rect").attr("x",.05).attr("width",u/2).attr("height",w).attr("opacity",1).attr("fill",e.color),e.type==="squares"&&g.select("#"+S(e.key)).append("rect").attr("width",u/2).attr("height",w/2).attr("fill",e.color).attr("opacity",1).attr("stroke-width",1),e.type==="dots"&&g.select("#"+S(e.key)).append("circle").attr("cx",u/2).attr("cy",w/2).attr("r",u/2.5).attr("fill",e.color).attr("opacity",1).attr("stroke-width",1),e.type==="triangle"&&g.select("#"+S(e.key)).append("polygon").attr("points",`${u/2} 0, 0 ${u}, ${u} ${u} `).attr("fill",e.color).attr("opacity",1).attr("stroke-width",1)}),r=r.filter(e=>e.type!=null).sort((e,F)=>new Intl.Collator(M.locale,{caseFirst:"upper",numeric:!0,sensitivity:"variant"}).compare(e.key,F.key)),O&&t&&t.features){this.g.selectAll(".shape-pattern").remove(),B&&t.features.forEach(a=>{let T=[];a.properties&&a.properties.meta&&(T=i!="csv"?a.properties.meta[_]?a.properties.meta[_]:[]:[a.properties.meta[_]],T&&T.length>0&&T.forEach(nt=>{this.g.append("path").attr("d",n(a)).datum(nt).attr("class","shape-pattern").attr("opacity",ot=>{if(Y)return .7}).attr("fill",ot=>"transparent").attr("style",()=>"none;fill:url(#"+S(nt)+");").on("mouseenter",()=>{this.showToolTip(D,this.getTooltipVariables(a),P===!0?m(k).getColor(a.properties._value):z.getColor(a.properties._value))}).on("mousemove",ot=>{this.moveToolTip()}).on("mouseleave",ot=>{this.hiddenToolTip()})}))}),W.select(this.gRef.current.parentNode.parentNode).select(`.layer_${H(f)}`).select("svg").remove();const e=W.select(this.gRef.current.parentNode.parentNode).select(`.layer_${H(f)}`).append("svg");e.attr("height",30+r.length*23+"px");const F=e.append("svg").append("g"),x=F.append("defs");x.selectAll("pattern").remove(),B&&(x.selectAll("pattern").data(r).enter().append("pattern").attr("id",a=>"l_"+S(a.key)).attr("patternUnits","userSpaceOnUse").attr("width",5).attr("height",5).attr("x",0).attr("y",0).attr("patternTransform",a=>`rotate(${a.rotation?a.rotation:0})`),r.forEach(a=>{a.type==="lines"&&x.select("#l_"+S(a.key)).append("rect").attr("x",0).attr("width",1).attr("height",10).attr("opacity",.75).attr("fill",a.color),a.type==="squares"&&x.select("#l_"+S(a.key)).append("rect").attr("width",3).attr("height",3).attr("fill",a.color).attr("opacity",1).attr("stroke-width",1),a.type==="dots"&&x.select("#l_"+S(a.key)).append("circle").attr("cx",2).attr("cy",2).attr("r",2).attr("fill",a.color).attr("opacity",1).attr("stroke-width",1),a.type==="triangle"&&x.select("#l_"+S(a.key)).append("polygon").attr("points","5,0 8,8 0,5").attr("fill",a.color).attr("opacity",1).attr("stroke-width",1)}));let pt=B?"☑ ":"☐ ";F.append("text").attr("class","patterns-checkbox").attr("x",10).attr("y",20).text(a=>pt).attr("font-size","22px").on("click",()=>{j&&j(f)}),F.append("text").attr("class","patterns-title").attr("x",25).attr("y",7).text(a=>i==="csv"?_:X).on("click",()=>{j&&j(f)}),B&&(F.selectAll(".legend-squares").data(r).enter().append("rect").attr("width",15).attr("height",15).attr("y",(a,T)=>T*22+30).attr("x",15).attr("stroke",y).attr("style",a=>"none;fill:url(#l_"+S(a.key)+");"),F.selectAll(".patterns-labels").data(r).enter().append("text").attr("class","patterns-labels").attr("y",(a,T)=>T*22+30).attr("x",32).text(a=>a.key))}}joinData(t,i,h,s,f,C){const n=t.features.map(o=>{const b=o.properties[h];if(i!="csv"&&s&&s.children){const l=s.children.filter(c=>c.value==b);if(l.length>0){const c=l[0][f[0]];if(o.properties.meta=l[0],o.properties._value=c,C&&C!="none"){const p=l[0]&&l[0].children?l[0].children.filter(y=>y.type==C).map(y=>y.value):[];o.properties.meta[C]=p}}else o.properties._value=null}else if(i=="csv"){const l=s.data.filter(c=>c[s.meta.fields[0]]==b);l.length>0?(o.properties.meta=l[0],o.properties._value=l[0][s.meta.fields[1]]):o.properties._value=null}else o.properties._value=null;return o});return{...t,features:n}}componentDidUpdate(t,i,h){const{app:s,file:f,featureJoinAttribute:C,data:n,measures:A,patternDiscriminator:o,editing:b,usePattern:l}=this.props;if((b||t.data!==n||t.path!==this.props.path)&&this.create(),t.visible!=this.props.visible&&this.g.style("display",this.props.visible?"":"none"),t.patternsVisible!=this.props.patternsVisible){const p=W.select(this.gRef.current.parentNode.parentNode).select(`.layer_${H(this.props.id)}`);p.select(".patterns-checkbox").text(this.props.patternsVisible?"☑ ":"☐ "),p.selectAll(".patterns-labels").style("display",this.props.patternsVisible?"":"none"),p.selectAll("rect").style("display",this.props.patternsVisible?"":"none"),p.select("svg").attr("height",this.props.patternsVisible?30+(p.selectAll("rect").size()-1)*23+"px":"30px"),this.g.selectAll(".shape-pattern").style("display",this.props.patternsVisible?"":"none")}t.colorLayerVisible!=this.props.colorLayerVisible&&(this.g.selectAll(".borders").style("fill",c=>this.props.colorLayerVisible?null:this.props.fillColor),this.g.selectAll(".centroids").style("display",this.props.colorLayerVisible?"block":"none")),t.usePattern!=this.props.usePattern&&(this.props.usePattern||W.select(this.gRef.current.parentNode.parentNode).select(`.layer_${H(this.props.id)}`).select("svg").remove()),this.g&&this.resize()}componentDidMount(){super.componentDidMount()}render(){const{id:t,file:i,path:h,zoom:s,labelFilter:f=[],labelField:C,labelFontSize:n,labelColor:A,fillColor:o,borderColor:b,featureJoinAttribute:l,apiJoinAttribute:c,dvzProxyDatasetId:p,editing:y}=this.props;return tt.jsx("g",{id:"data-"+t,className:"data "+t,ref:this.gRef})}}const bt=d=>{const{id:t,unique:i,filters:h,csv:s,app:f,group:C="default",apiJoinAttribute:n,editing:A,patternDiscriminator:o,dvzProxyDatasetId:b,intl:l,settings:c,waitForFilters:p}=d,y={},D=h||{};return D&&D.forEach&&D.forEach(v=>{v.value!=null&&v.value.filter(J=>J!=null&&J.toString().trim()!="").length>0&&(y[v.param]=v.value)}),b&&(y.dvzProxyDatasetId=b),tt.jsx(ut.default,{waitForFilters:!0,editing:A,params:y,app:f,csv:decodeURIComponent(s),group:C,ignoreErrors:!0,isSvg:!0,store:[f,i,t],mySelf:"Data layer",source:n+(o!="none"?"/"+o:""),children:tt.jsx(dt.default,{children:tt.jsx(gt,{...d})})})},yt=ft.injectIntl(bt);exports.default=yt;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const re=require("react/jsx-runtime");require("react");const ue=require("./BaseLayer.js"),de=require("../data/D3MapDataProvider.js"),he=require("../data/D3MapDataConsumer.js"),fe=require("d3"),me=require("react-intl"),te=require("./BreaksStyles.js"),ne=require("./GradientColors.js"),N=require("./Utils.js");function ge(f){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(f){for(const s in f)if(s!=="default"){const m=Object.getOwnPropertyDescriptor(f,s);Object.defineProperty(e,s,m.get?m:{enumerable:!0,get:()=>f[s]})}}return e.default=f,Object.freeze(e)}const K=ge(fe),Q=f=>f?f.toString().replace(/ /g,"_"):"",F=f=>f?"pattern_"+Q(f):"";class be extends ue.default{constructor(){super(),this.state={geoJson:null,json:null},this.getTooltipVariables=this.getTooltipVariables.bind(this),this.resize=this.resize.bind(this),this.createLayer=this.createLayer.bind(this),this.createCentroids=this.createCentroids.bind(this),this.createPatterns=this.createPatterns.bind(this),this.createPaths=this.createPaths.bind(this)}createLayer(e){const s=this.joinData(e,this.props.app,this.props.featureJoinAttribute,this.props.data,this.props.measures,this.props.patternDiscriminator);this.createDataLayer(s),this.props.onReady&&this.props.onReady()}resize(){const{markerLabelSize:e,markFillColor:s,markBorderColor:m,markSizeScale:o,measures:g,data:v,breaks:n,gradientScheme:T,gradientReverse:l,labelFontSize:b}=this.props,i=this.props.transform?this.props.transform.k:1;super.resize();const u=new te.default({breaks:n,defaultFillColor:s,defaultBorderColor:m,defaultSize:o});this.g.selectAll(".centroids .point").attr("r",p=>u.getSize(p.properties._value)*1/i),this.g.selectAll(".point-label").attr("font-size",p=>e*(1/i)+"px")}getTooltipVariables(e){const{apiJoinAttribute:s}=this.props;return e.properties._value?{...e.properties,meta:{[s]:e.properties.meta?e.properties.meta.value:"",...e.properties.meta,value:e.properties._value}}:{}}createDataLayer(e){const{app:s,svg:m,format:o,id:g,file:v,path:n,onLayerCreated:T,labelFilter:l=[],labelField:b,labelFontSize:i,labelColor:u,fillColor:p,borderColor:x,tooltip:D,markFillColor:C,markLabelColor:S,markBorderColor:y,markSizeScale:O,markerLabelSize:X,featureJoinAttribute:ae,apiJoinAttribute:Y,measures:z,editing:ie,data:_,patternDiscriminator:w,patternDiscriminatorLabel:Z,breaks:E,gradientScheme:G,gradientReverse:I,patterns:P,projection:se,useBreaks:ee,useGradients:R,useCentroidPoint:$,usePattern:M,waitForFilters:oe,intl:U,patternsVisible:B=!0,togglePatterns:q,colorLayerVisible:W=!0,visible:le}=this.props;if(this.gRef&&this.gRef.current){this.g=K.select(this.gRef.current),this.g.attr("class","base-layer");const L=e.features.filter(J=>J.properties._value!=null);this.createPaths(e),$||this.createColors(L),M&&this.createPatterns(e),b!="none"&&this.createLabels(e),$&&this.createCentroids(L)}}createColors(e){const{app:s,svg:m,format:o,id:g,file:v,path:n,onLayerCreated:T,labelFilter:l=[],labelField:b,labelFontSize:i,labelColor:u,fillColor:p,borderColor:x,tooltip:D,markFillColor:C,markLabelColor:S,markBorderColor:y,markSizeScale:O,markerLabelSize:X,featureJoinAttribute:ae,apiJoinAttribute:Y,measures:z,editing:ie,data:_,patternDiscriminator:w,patternDiscriminatorLabel:Z,breaks:E,gradientScheme:G,gradientReverse:I,patterns:P,projection:se,useBreaks:ee,useGradients:R,useCentroidPoint:$,usePattern:M,waitForFilters:oe,intl:U,patternsVisible:B=!0,togglePatterns:q,colorLayerVisible:W=!0,visible:le}=this.props,{gradientStartColor:L,gradientEndColor:J}=this.props,d=new te.default({breaks:E,defaultFillColor:C,defaultBorderColor:y,defaultSize:O}),V=new ne.default({data:_?_.children:[],measure:z[0],defaultFillColor:C,gradientScheme:G,gradientReverse:I,gradientStartColor:L,gradientEndColor:J});this.g&&(this.g.selectAll("path").attr("fill",h=>!h||!h.properties||!h.properties._value?p:N.resolveOverrideColor(h.properties.meta,z[0])||(R?V.getColor(h.properties._value):d.getColor(h.properties._value))).attr("stroke",x).attr("id","state-borders").attr("d",n).on("mouseenter",(h,t)=>{if(t.properties._value){const c=N.resolveOverrideColor(t.properties.meta,z[0])||(R?V.getColor(t.properties._value):d.getColor(t.properties._value));this.showToolTip(D,this.getTooltipVariables(t),c,t)}}).on("mouseleave",h=>{this.hiddenToolTip(h)}).on("mousemove",h=>{this.moveToolTip(h)}),W||this.g.selectAll(".borders").style("fill",this.props.fillColor),this.g.attr("transform",this.props.transform))}createCentroids(e){const{app:s,svg:m,format:o,id:g,file:v,path:n,onLayerCreated:T,labelFilter:l=[],labelField:b,labelFontSize:i,labelColor:u,fillColor:p,borderColor:x,tooltip:D,markFillColor:C,markLabelColor:S,markBorderColor:y,markSizeScale:O,markerLabelSize:X,featureJoinAttribute:ae,apiJoinAttribute:Y,measures:z,editing:ie,data:_,patternDiscriminator:w,patternDiscriminatorLabel:Z,breaks:E,gradientScheme:G,gradientReverse:I,patterns:P,projection:se,useBreaks:ee,useGradients:R,useCentroidPoint:$,usePattern:M,waitForFilters:oe,intl:U,patternsVisible:B=!0,togglePatterns:q,colorLayerVisible:W=!0,visible:le}=this.props,L=new te.default({breaks:E,defaultFillColor:C,defaultBorderColor:y,defaultSize:O}),J=d=>new ne.default({data:d.children,measure:z[0],defaultFillColor:C,gradientScheme:G,gradientReverse:I});if(this.g){const d={style:o.style==="compacted"?"decimal":o.style,notation:o.style==="compacted"?"compact":"standard",currency:o.currency,minimumFractionDigits:parseInt(o.minimumFractionDigits),maximumFractionDigits:parseInt(o.maximumFractionDigits)},V=this.props.transform?this.props.transform.k:1;this.g.selectAll(".centroids").remove();const h=this.g.selectAll("centroids").data(e).enter().append("g").attr("class","centroids");h.append("circle").attr("fill",t=>N.resolveOverrideColor(t.properties.meta,z[0])||(R===!0?J(_).getColor(t.properties._value):L.getColor(t.properties._value,!0))).attr("stroke",y).attr("class","point").attr("stroke-width",2).style("vector-effect","non-scaling-stroke").attr("cx",t=>n.centroid(t)[0]).attr("cy",t=>n.centroid(t)[1]).attr("r",t=>L.getSize(t.properties._value)*1/V).on("mouseenter",(t,c)=>{if(c.properties._value){const r={...c.properties,meta:{[Y]:c.properties.meta?c.properties.meta.value:"",...c.properties.meta,value:c.properties._value}},k=N.resolveOverrideColor(c.properties.meta,z[0])||(R===!0?J(_).getColor(c.properties._value):L.getColor(c.properties._value));this.showToolTip(D,r,k)}}).on("mouseleave",t=>{this.hiddenToolTip()}),h.append("text").attr("class","point-label").attr("x",t=>n.centroid(t)[0]).attr("y",t=>n.centroid(t)[1]).attr("font-size",t=>X*(1/V)+"px").attr("text-anchor","middle").attr("dominant-baseline","middle").style("pointer-events","none").attr("fill",S).text(t=>U.formatNumber(o.style==="percent"?t.properties._value/100:t.properties._value,d)).on("mouseover",t=>{}),W||this.g.selectAll(".centroids").style("display","none")}}createPatterns(e){const{app:s,svg:m,format:o,id:g,file:v,path:n,onLayerCreated:T,labelFilter:l=[],labelField:b,labelFontSize:i,labelColor:u,fillColor:p,borderColor:x,tooltip:D,markFillColor:C,markLabelColor:S,markBorderColor:y,markSizeScale:O,markerLabelSize:X,featureJoinAttribute:ae,apiJoinAttribute:Y,measures:z,editing:ie,data:_,patternDiscriminator:w,patternDiscriminatorLabel:Z,breaks:E,gradientScheme:G,gradientReverse:I,patterns:P,projection:se,useBreaks:ee,useGradients:R,useCentroidPoint:$,usePattern:M,waitForFilters:oe,intl:U,patternsVisible:B=!0,togglePatterns:q,colorLayerVisible:W=!0,visible:le}=this.props,L=new te.default({breaks:E,defaultFillColor:C,defaultBorderColor:y,defaultSize:O}),J=this.props.transform?this.props.transform.k:1,d=10*1/J,V=10*1/J,h=r=>new ne.default({data:r.children,measure:z[0],defaultFillColor:C,gradientScheme:G,gradientReverse:I,gradientStartColor,gradientEndColor});let t=[];if(s=="csv"&&w!="none")t=[...new Set(_.data.map(r=>r[w]))].map(r=>({key:r,type:P[r+"_symbol"],color:P[r+"_color"],rotation:P[r+"_rotation"]}));else if(w!="none"){const r=_&&_.metadata?_.metadata.types.filter(k=>k.dimension==w):[];t=r&&r.length>0?r[0].items.map(k=>{const A=k.value;return{key:A,type:P[A+"_symbol"],color:P[A+"_color"],rotation:P[A+"_rotation"]}}):[]}this.g.selectAll("defs").remove();const c=this.g.append("defs");if(c.selectAll("pattern").remove(),c.selectAll("pattern").data(t).enter().append("pattern").attr("id",r=>F(r.key)).attr("patternUnits","userSpaceOnUse").attr("width",d).attr("height",V).attr("x",0).attr("y",0).attr("patternTransform",r=>`rotate(${r.rotation})`),t.forEach(r=>{r.type==="lines"&&c.select("#"+F(r.key)).append("rect").attr("x",.05).attr("width",d/2).attr("height",V).attr("opacity",1).attr("fill",r.color),r.type==="squares"&&c.select("#"+F(r.key)).append("rect").attr("width",d/2).attr("height",V/2).attr("fill",r.color).attr("opacity",1).attr("stroke-width",1),r.type==="dots"&&c.select("#"+F(r.key)).append("circle").attr("cx",d/2).attr("cy",V/2).attr("r",d/2.5).attr("fill",r.color).attr("opacity",1).attr("stroke-width",1),r.type==="triangle"&&c.select("#"+F(r.key)).append("polygon").attr("points",`${d/2} 0, 0 ${d}, ${d} ${d} `).attr("fill",r.color).attr("opacity",1).attr("stroke-width",1)}),t=t.filter(r=>r.type!=null).sort((r,k)=>new Intl.Collator(U.locale,{caseFirst:"upper",numeric:!0,sensitivity:"variant"}).compare(r.key,k.key)),M&&e&&e.features){this.g.selectAll(".shape-pattern").remove(),B&&e.features.forEach(a=>{let j=[];a.properties&&a.properties.meta&&(j=s!="csv"?a.properties.meta[w]?a.properties.meta[w]:[]:[a.properties.meta[w]],j&&j.length>0&&j.forEach(pe=>{this.g.append("path").attr("d",n(a)).datum(pe).attr("class","shape-pattern").attr("opacity",H=>{if(ee)return .7}).attr("fill",H=>"transparent").attr("style",()=>"none;fill:url(#"+F(pe)+");").on("mouseenter",()=>{const H=N.resolveOverrideColor(a.properties.meta,z[0])||(R===!0?h(_).getColor(a.properties._value):L.getColor(a.properties._value));this.showToolTip(D,this.getTooltipVariables(a),H)}).on("mousemove",H=>{this.moveToolTip()}).on("mouseleave",H=>{this.hiddenToolTip()})}))}),K.select(this.gRef.current.parentNode.parentNode).select(`.layer_${Q(g)}`).select("svg").remove();const r=K.select(this.gRef.current.parentNode.parentNode).select(`.layer_${Q(g)}`).append("svg");r.attr("height",30+t.length*23+"px");const k=r.append("svg").append("g"),A=k.append("defs");A.selectAll("pattern").remove(),B&&(A.selectAll("pattern").data(t).enter().append("pattern").attr("id",a=>"l_"+F(a.key)).attr("patternUnits","userSpaceOnUse").attr("width",5).attr("height",5).attr("x",0).attr("y",0).attr("patternTransform",a=>`rotate(${a.rotation?a.rotation:0})`),t.forEach(a=>{a.type==="lines"&&A.select("#l_"+F(a.key)).append("rect").attr("x",0).attr("width",1).attr("height",10).attr("opacity",.75).attr("fill",a.color),a.type==="squares"&&A.select("#l_"+F(a.key)).append("rect").attr("width",3).attr("height",3).attr("fill",a.color).attr("opacity",1).attr("stroke-width",1),a.type==="dots"&&A.select("#l_"+F(a.key)).append("circle").attr("cx",2).attr("cy",2).attr("r",2).attr("fill",a.color).attr("opacity",1).attr("stroke-width",1),a.type==="triangle"&&A.select("#l_"+F(a.key)).append("polygon").attr("points","5,0 8,8 0,5").attr("fill",a.color).attr("opacity",1).attr("stroke-width",1)}));let ce=B?"☑ ":"☐ ";k.append("text").attr("class","patterns-checkbox").attr("x",10).attr("y",20).text(a=>ce).attr("font-size","22px").on("click",()=>{q&&q(g)}),k.append("text").attr("class","patterns-title").attr("x",25).attr("y",7).text(a=>s==="csv"?w:Z).on("click",()=>{q&&q(g)}),B&&(k.selectAll(".legend-squares").data(t).enter().append("rect").attr("width",15).attr("height",15).attr("y",(a,j)=>j*22+30).attr("x",15).attr("stroke",x).attr("style",a=>"none;fill:url(#l_"+F(a.key)+");"),k.selectAll(".patterns-labels").data(t).enter().append("text").attr("class","patterns-labels").attr("y",(a,j)=>j*22+30).attr("x",32).text(a=>a.key))}}joinData(e,s,m,o,g,v){const n=e.features.map(l=>{const b=l.properties[m];if(s!="csv"&&o&&o.children){const i=o.children.filter(u=>u.value==b);if(i.length>0){const u=i[0][g[0]];if(l.properties.meta={...i[0],...N.extractVariablesDeep(i[0])},l.properties._value=u,v&&v!="none"){const p=i[0]&&i[0].children?i[0].children.filter(x=>x.type==v).map(x=>x.value):[];l.properties.meta[v]=p}}else l.properties._value=null}else if(s=="csv"){const i=o.data.filter(u=>u[o.meta.fields[0]]==b);i.length>0?(l.properties.meta=i[0],l.properties._value=i[0][o.meta.fields[1]]):l.properties._value=null}else l.properties._value=null;return l});return{...e,features:n}}componentDidUpdate(e,s,m){const{app:o,file:g,featureJoinAttribute:v,data:n,measures:T,patternDiscriminator:l,editing:b,usePattern:i}=this.props;if((b||e.data!==n||e.path!==this.props.path)&&this.create(),e.visible!=this.props.visible&&this.g.style("display",this.props.visible?"":"none"),e.patternsVisible!=this.props.patternsVisible){const p=K.select(this.gRef.current.parentNode.parentNode).select(`.layer_${Q(this.props.id)}`);p.select(".patterns-checkbox").text(this.props.patternsVisible?"☑ ":"☐ "),p.selectAll(".patterns-labels").style("display",this.props.patternsVisible?"":"none"),p.selectAll("rect").style("display",this.props.patternsVisible?"":"none"),p.select("svg").attr("height",this.props.patternsVisible?30+(p.selectAll("rect").size()-1)*23+"px":"30px"),this.g.selectAll(".shape-pattern").style("display",this.props.patternsVisible?"":"none")}e.colorLayerVisible!=this.props.colorLayerVisible&&(this.g.selectAll(".borders").style("fill",u=>this.props.colorLayerVisible?null:this.props.fillColor),this.g.selectAll(".centroids").style("display",this.props.colorLayerVisible?"block":"none")),e.usePattern!=this.props.usePattern&&(this.props.usePattern||K.select(this.gRef.current.parentNode.parentNode).select(`.layer_${Q(this.props.id)}`).select("svg").remove()),this.g&&this.resize()}componentDidMount(){super.componentDidMount()}render(){const{id:e,file:s,path:m,zoom:o,labelFilter:g=[],labelField:v,labelFontSize:n,labelColor:T,fillColor:l,borderColor:b,featureJoinAttribute:i,apiJoinAttribute:u,dvzProxyDatasetId:p,editing:x}=this.props;return re.jsx("g",{id:"data-"+e,className:"data "+e,ref:this.gRef})}}const ye=f=>{const{id:e,unique:s,filters:m,csv:o,app:g,group:v="default",apiJoinAttribute:n,editing:T,patternDiscriminator:l,dvzProxyDatasetId:b,extraTooltipColumns:i,intl:u,settings:p,waitForFilters:x}=f,D={},C=m||{};if(C&&C.forEach&&C.forEach(S=>{S.value!=null&&S.value.filter(y=>y!=null&&y.toString().trim()!="").length>0&&(D[S.param]=S.value)}),b&&(D.dvzProxyDatasetId=b),i&&i.length>0){const S=i.filter(y=>y&&y!==n&&y!==l);S.length>0&&(D.includeColumns=S.join(","))}return re.jsx(de.default,{waitForFilters:!0,editing:T,params:D,app:g,csv:decodeURIComponent(o),extraTooltipColumns:i,group:v,ignoreErrors:!0,isSvg:!0,store:[g,s,e],mySelf:"Data layer",source:n+(l!="none"?"/"+l:""),children:re.jsx(he.default,{children:re.jsx(be,{...f})})})},ve=me.injectIntl(ye);exports.default=ve;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const D=require("react/jsx-runtime");require("react");const W=require("./BaseLayer.js"),Y=require("../data/DataProvider.js"),G=require("../data/DataConsumer.js"),H=require("d3"),X=require("react-intl"),K=require("papaparse"),Q=require("./BreaksStyles.js");function Z(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const i=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(t,e,i.get?i:{enumerable:!0,get:()=>n[e]})}}return t.default=n,Object.freeze(t)}const F=Z(H);class $ extends W.default{constructor(){super(),this.createDataLayer=this.createDataLayer.bind(this)}createDataLayer(t){const{format:e,path:i,tooltip:d,markFillColor:l,markBorderColor:f,markSizeScale:v,featureJoinAttribute:r,apiJoinAttribute:b,projection:o,breaks:c,markSizeScale2:p,measures:m,zoom:k,offsetPixels:x=10,waitForFilters:rt}=this.props,_=m[0],L=new Q.default({breaks:c,defaultFillColor:l,defaultBorderColor:f,defaultSize:p});e.style==="compacted"||e.style,e.style,e.currency,parseInt(e.minimumFractionDigits),parseInt(e.maximumFractionDigits);const z=t.features.filter(s=>s.properties._value!=null);this.g=F.select(this.gRef.current),this.g.attr("class","base-layer zoomable flow"),this.props.transform&&this.g.attr("transform",this.props.transform),this.g.selectAll(".flow-line").remove(),this.g.selectAll(".start-point").remove(),this.g.selectAll(".end-point").remove(),this.g.select("defs").selectAll("*").remove();const I=this.props.transform?this.props.transform.k:1,T=[];z.forEach(s=>{T.push(s),s.properties.destinations.sort((y,g)=>y[_]-g[_]).forEach(y=>{const g=y[_];t.features.filter(a=>a.properties[r]==y.value).forEach(a=>{a.properties.meta=y;const M=s.properties[r],w=s.properties[r]+"--"+a.properties[r],A=i.centroid(s),S=i.centroid(a),O=S[0]-A[0],E=S[1]-A[1],C=Math.sqrt(O*O+E*E),B=O/C,N=E/C,R=[S[0]-B*x,S[1]-N*x],V=o.invert(R),J={type:"LineString",coordinates:[o.invert(A),V]},u=this.g;this.g.select("defs").append("marker").attr("id","arrow"+w).attr("markerUnits","strokeWidth").attr("markerWidth","6").attr("markerHeight","6").attr("viewBox","0 0 24 24").attr("refX","6").attr("refY","6").attr("orient","auto").append("path").attr("d","M2,2 L10,6 L2,10 L6,6 L2,2").attr("d","M2,2 L10,6 L2,10 L6,6 L2,2").attr("style",j=>"fill: "+L.getColor(g)+";"),u.append("path").attr("d",i(J)).attr("id",w).attr("class","flow-line").style("fill","none").style("cursor","pointer").style("stroke-dasharray","0").style("stroke",j=>L.getColor(g)).style("stroke-width",j=>L.getSize(g)).attr("marker-end","url(#arrow"+w+")").on("mouseenter",(j,st)=>{if(u.selectAll("marker").transition().duration("200").style("opacity",0),u.selectAll(".start-point").transition().duration("200").style("opacity",0),u.selectAll(".flow-line").transition().duration("200").style("opacity",0),F.select(j.target).transition().duration("200").style("opacity",1),u.selectAll("#arrow"+w).transition().duration("200").style("opacity",1),u.selectAll(".start-point.circle_"+M).transition().duration("200").style("opacity",1),g){const P={},q={};Object.keys(s.properties).forEach(h=>{P["origin_"+h]=s.properties[h]}),Object.keys(a.properties).forEach(h=>{q["target_"+h]=a.properties[h]}),Object.keys(a.properties.meta).forEach(h=>{q["target_"+h]=a.properties.meta[h]});const U={...P,...q,meta:{[b]:s.properties.meta?s.properties.meta.value:"",...s.properties.meta,value:g}};this.showToolTip(d,U,L.getColor(a.properties._value))}}).on("mouseout",j=>{this.hiddenToolTip(),F.selectAll(".flow-line").transition().duration("100").style("opacity",1),u.selectAll(".start-point").transition().duration("100").style("opacity",1),u.selectAll("marker").transition().duration("100").style("opacity",1)}),u.append("text").append("textPath").attr("xlink:href",w).style("text-anchor","middle").attr("startOffset","50%").attr("fill","#fff").text("Yay, my text is on a wavy path")})})}),T.forEach(s=>{this.g.append("circle").attr("fill",l).attr("stroke",f).attr("class","start-point circle_"+s.properties[r]).attr("stroke-width",2).style("vector-effect","non-scaling-stroke").attr("cx",i.centroid(s)[0]).attr("cy",i.centroid(s)[1]).attr("r",()=>v*1/I).on("mouseenter",y=>{this.showToolTip("{name_en}",s.properties,"")}).on("mouseout",y=>{this.hiddenToolTip()})})}_buildLayer(t){const{featureJoinAttribute:e,app:i,data:d,measures:l,csv:f}=this.props,v=t.features.map(r=>{const b=r.properties[e];if(i!="csv"&&d&&d.children){const o=d.children.filter(c=>c.value.indexOf(b)>-1);if(o.length>0){const c=o[0][l[0]];r.properties.meta=o[0],r.properties._value=c,r.properties.destinations=o[0].children}}else if(i=="csv"){const o=K.parse(f,{header:!0,dynamicTyping:!0}),c=r.properties[e],p=o.data.filter(m=>m.origin==c)[0];p!=null&&(alert("CSV Not implemented Yet, please do it if you have time"),r.properties.meta=p,r.properties._value=p.value,r.properties.destinations=p.destination)}return r});this.createDataLayer({...t,features:v})}create(){const{file:t}=this.props;t!="none"&&(this.state.json?this._buildLayer(this.state.json):this.loadJSON(t).then(e=>{this.setState({json:e}),this._buildLayer(e)}))}componentDidUpdate(t,e,i){const{projection:d,editing:l,data:f}=this.props;(l||t.data!==f||t.path!==this.props.path)&&this.create(),t.visible!=this.props.visible&&this.g.style("display",this.props.visible?"":"none")}componentDidMount(){this.create(),this.props.zoom.current.fullView()}render(){const{id:t}=this.props;return D.jsx("g",{id:"data-"+t,className:"data "+t,ref:this.gRef,children:D.jsx("defs",{})})}}const tt=n=>{const{id:t,unique:e,filters:i,csv:d,app:l,group:f="default",flowOrigin:v,editing:r,flowDestination:b,dvzProxyDatasetId:o,waitForFilters:c}=n,p={dvzProxyDatasetId:o},m=i||{};return m&&m.forEach&&m.forEach(k=>{k.value!=null&&k.value.filter(x=>x!=null&&x.toString().trim()!="").length>0&&(p[k.param]=k.value)}),D.jsx(Y.default,{editing:r,params:p,waitForFilters:c,app:l,csv:decodeURIComponent(d),group:f,ignoreErrors:!0,isSvg:!0,store:[l,e,t],source:v+"/"+b,children:D.jsx(G.default,{children:D.jsx($,{...n})})})},et=X.injectIntl(tt);exports.default=et;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const w=require("react/jsx-runtime");require("react");const G=require("./BaseLayer.js"),H=require("../data/DataProvider.js"),X=require("../data/DataConsumer.js"),K=require("d3"),Q=require("react-intl"),Z=require("papaparse"),$=require("./BreaksStyles.js"),I=require("./Utils.js");function tt(p){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(p){for(const e in p)if(e!=="default"){const i=Object.getOwnPropertyDescriptor(p,e);Object.defineProperty(t,e,i.get?i:{enumerable:!0,get:()=>p[e]})}}return t.default=p,Object.freeze(t)}const T=tt(K);class et extends G.default{constructor(){super(),this.createDataLayer=this.createDataLayer.bind(this)}createDataLayer(t){const{format:e,path:i,tooltip:u,markFillColor:n,markBorderColor:f,markSizeScale:x,featureJoinAttribute:s,apiJoinAttribute:k,projection:o,breaks:a,markSizeScale2:h,measures:g,zoom:L,offsetPixels:l=10,waitForFilters:v}=this.props,A=g[0],S=new $.default({breaks:a,defaultFillColor:n,defaultBorderColor:f,defaultSize:h});e.style==="compacted"||e.style,e.style,e.currency,parseInt(e.minimumFractionDigits),parseInt(e.maximumFractionDigits);const M=t.features.filter(r=>r.properties._value!=null);this.g=T.select(this.gRef.current),this.g.attr("class","base-layer zoomable flow"),this.props.transform&&this.g.attr("transform",this.props.transform),this.g.selectAll(".flow-line").remove(),this.g.selectAll(".start-point").remove(),this.g.selectAll(".end-point").remove(),this.g.select("defs").selectAll("*").remove();const V=this.props.transform?this.props.transform.k:1,F=[];M.forEach(r=>{F.push(r),r.properties.destinations.sort((m,b)=>m[A]-b[A]).forEach(m=>{const b=m[A];t.features.filter(c=>c.properties[s]==m.value).forEach(c=>{c.properties.meta={...m,...I.extractVariablesDeep(m)};const B=r.properties[s],D=r.properties[s]+"--"+c.properties[s],C=i.centroid(r),_=i.centroid(c),O=_[0]-C[0],q=_[1]-C[1],P=Math.sqrt(O*O+q*q),N=O/P,R=q/P,U=[_[0]-N*l,_[1]-R*l],J=o.invert(U),W={type:"LineString",coordinates:[o.invert(C),J]},d=this.g;this.g.select("defs").append("marker").attr("id","arrow"+D).attr("markerUnits","strokeWidth").attr("markerWidth","6").attr("markerHeight","6").attr("viewBox","0 0 24 24").attr("refX","6").attr("refY","6").attr("orient","auto").append("path").attr("d","M2,2 L10,6 L2,10 L6,6 L2,2").attr("d","M2,2 L10,6 L2,10 L6,6 L2,2").attr("style",j=>"fill: "+S.getColor(b)+";"),d.append("path").attr("d",i(W)).attr("id",D).attr("class","flow-line").style("fill","none").style("cursor","pointer").style("stroke-dasharray","0").style("stroke",j=>S.getColor(b)).style("stroke-width",j=>S.getSize(b)).attr("marker-end","url(#arrow"+D+")").on("mouseenter",(j,it)=>{if(d.selectAll("marker").transition().duration("200").style("opacity",0),d.selectAll(".start-point").transition().duration("200").style("opacity",0),d.selectAll(".flow-line").transition().duration("200").style("opacity",0),T.select(j.target).transition().duration("200").style("opacity",1),d.selectAll("#arrow"+D).transition().duration("200").style("opacity",1),d.selectAll(".start-point.circle_"+B).transition().duration("200").style("opacity",1),b){const z={},E={};Object.keys(r.properties).forEach(y=>{z["origin_"+y]=r.properties[y]}),Object.keys(c.properties).forEach(y=>{E["target_"+y]=c.properties[y]}),Object.keys(c.properties.meta).forEach(y=>{E["target_"+y]=c.properties.meta[y]});const Y={...z,...E,meta:{[k]:r.properties.meta?r.properties.meta.value:"",...r.properties.meta,value:b}};this.showToolTip(u,Y,S.getColor(c.properties._value))}}).on("mouseout",j=>{this.hiddenToolTip(),T.selectAll(".flow-line").transition().duration("100").style("opacity",1),d.selectAll(".start-point").transition().duration("100").style("opacity",1),d.selectAll("marker").transition().duration("100").style("opacity",1)}),d.append("text").append("textPath").attr("xlink:href",D).style("text-anchor","middle").attr("startOffset","50%").attr("fill","#fff").text("Yay, my text is on a wavy path")})})}),F.forEach(r=>{this.g.append("circle").attr("fill",n).attr("stroke",f).attr("class","start-point circle_"+r.properties[s]).attr("stroke-width",2).style("vector-effect","non-scaling-stroke").attr("cx",i.centroid(r)[0]).attr("cy",i.centroid(r)[1]).attr("r",()=>x*1/V).on("mouseenter",m=>{this.showToolTip(u,{...r.properties,...r.properties.meta},n)}).on("mouseout",m=>{this.hiddenToolTip()})})}_buildLayer(t){const{featureJoinAttribute:e,app:i,data:u,measures:n,csv:f}=this.props,x=t.features.map(s=>{const k=s.properties[e];if(i!="csv"&&u&&u.children){const o=u.children.filter(a=>a.value.indexOf(k)>-1);if(o.length>0){const a=o[0][n[0]];s.properties.meta={...o[0],...I.extractVariablesDeep(o[0])},s.properties._value=a,s.properties.destinations=o[0].children}}else if(i=="csv"){const o=Z.parse(f,{header:!0,dynamicTyping:!0}),a=s.properties[e],h=o.data.filter(g=>g.origin==a)[0];h!=null&&(alert("CSV Not implemented Yet, please do it if you have time"),s.properties.meta=h,s.properties._value=h.value,s.properties.destinations=h.destination)}return s});this.createDataLayer({...t,features:x})}create(){const{file:t}=this.props;t!="none"&&(this.state.json?this._buildLayer(this.state.json):this.loadJSON(t).then(e=>{this.setState({json:e}),this._buildLayer(e)}))}componentDidUpdate(t,e,i){const{projection:u,editing:n,data:f}=this.props;(n||t.data!==f||t.path!==this.props.path)&&this.create(),t.visible!=this.props.visible&&this.g.style("display",this.props.visible?"":"none")}componentDidMount(){this.create(),this.props.zoom.current.fullView()}render(){const{id:t}=this.props;return w.jsx("g",{id:"data-"+t,className:"data "+t,ref:this.gRef,children:w.jsx("defs",{})})}}const rt=p=>{const{id:t,unique:e,filters:i,csv:u,app:n,group:f="default",flowOrigin:x,editing:s,flowDestination:k,dvzProxyDatasetId:o,extraTooltipColumns:a,waitForFilters:h}=p,g={dvzProxyDatasetId:o},L=i||{};if(L&&L.forEach&&L.forEach(l=>{l.value!=null&&l.value.filter(v=>v!=null&&v.toString().trim()!="").length>0&&(g[l.param]=l.value)}),a&&a.length>0){const l=a.filter(v=>v&&v!==x&&v!==k);l.length>0&&(g.includeColumns=l.join(","))}return w.jsx(H.default,{editing:s,params:g,waitForFilters:h,app:n,csv:decodeURIComponent(u),group:f,ignoreErrors:!0,isSvg:!0,store:[n,e,t],source:x+"/"+k,children:w.jsx(X.default,{children:w.jsx(et,{...p})})})},st=Q.injectIntl(rt);exports.default=st;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const x=require("react/jsx-runtime"),_=require("react"),B=require("../data/DataProvider.js"),C=require("../data/DataConsumer.js"),P=require("d3"),N=require("react-intl"),U=require("react-dom"),V=require("./Tooltip.js");function w(p){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(p){for(const r in p)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(p,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>p[r]})}}return t.default=p,Object.freeze(t)}const c=w(P),X=w(U);class Y extends _.Component{constructor(){super(),this.create=this.create.bind(this),this.showToolTip=this.showToolTip.bind(this),this.moveToolTip=this.moveToolTip.bind(this),this.resize=this.resize.bind(this),this.gRef=_.createRef()}showToolTip(t,r,o,n){const a=c.select("body").append("div").attr("class","d3MapTooltip").style("position","absolute").html("").style("left",n.pageX+15+"px").style("top",n.pageY-50+"px");X.render(x.jsx(V.default,{intl:this.props.intl,tooltip:t,data:r,tooltipEnableMarkdown:!1}),a._groups[0][0])}moveToolTip(t){c.select(".d3MapTooltip").style("left",t.pageX+15+"px").style("top",t.pageY-50+"px")}hiddenToolTip(t){c.selectAll(".d3MapTooltip").remove()}create(){const{app:t,tooltip:r,data:o,markFillColor:n,markBorderColor:a,markSizeScale:m,markerLabelSize:y,measures:b,projection:d,id:T,format:l,intl:S,useBreaks:j,breaks:u,pointDimensionStyles:f=[],pointStyleBy:g,dimension2:v,visible:k=!0,showDim2OnLegends:I,dim2LegendLabel:W}=this.props,M={style:l.style==="compacted"?"decimal":l.style,notation:l.style==="compacted"?"compact":"standard",currency:l.currency,minimumFractionDigits:parseInt(l.minimumFractionDigits),maximumFractionDigits:parseInt(l.maximumFractionDigits)},q=c.scaleThreshold().domain(u.map(e=>e.end)).range(u.map(e=>m+e.size)),O=c.scaleThreshold().domain(u.map(e=>e.end)).range(u.map(e=>e.color)),A=c.scaleThreshold().domain(u.map(e=>e.end)).range(u.map(e=>e.borderColor));let z=[];const D=c.select(this.gRef.current);if(t!="csv"&&o&&o.children)z=o.children.map(e=>{const i=e.value.split(",");let h={color:n,size:m,border:a},s=1;return g==="measure"?(s=e[b[0]],h={color:O(s),size:q(s),border:A(s)}):g==="dimension"&&e.children&&I&&(s=e.children[0].value,h={color:f[s+"_color"]||n,size:f[s+"_size"]||m,border:f[s+"_border"]||a}),{x:i[0],y:i[1],value:s,metadata:e,pointStyle:h}}),z.sort((e,i)=>e.pointStyle.size-i.pointStyle.size);else if(t=="csv"){const e=o.meta.fields[0],i=o.meta.fields[1],h=o.meta.fields[2];z=o.data.map(s=>{let E={color:n,size:m,border:a};return{x:s[e],y:s[i],value:s[h],meta:s,pointStyle:E}})}const L=e=>{const{pointStyleBy:i,dimension2:h}=this.props,s={};return h!="none"&&(s[h]=e.metadata.children[0].value),{...s,...e,...e.metadata}},R=this.props.transform?this.props.transform.k:1;D.attr("class","zoomable lat-long "+T),D.selectAll(".point-group").remove();const F=D.selectAll(".point-group").data(z).enter().append("g").attr("class","point-group");F.append("circle").attr("cx",function(e){return d([e.y,e.x])[0]}).attr("cy",function(e){return d([e.y,e.x])[1]}).attr("class","latLong").attr("r",e=>e.pointStyle.size*1/R).attr("stroke-width",2).style("vector-effect","non-scaling-stroke").attr("stroke",e=>e.pointStyle.border).attr("fill",e=>e.pointStyle.color).on("mouseenter",(e,i)=>{this.showToolTip(r,L(i),i.pointStyle.color,e)}).on("mousemove",(e,i)=>{this.moveToolTip(e)}).on("mouseleave",(e,i)=>{this.hiddenToolTip(e)}),F.append("text").attr("class","point-label").attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x",e=>d([e.y,e.x])[0]).attr("y",e=>d([e.y,e.x])[1]).attr("font-size",e=>y*(10/R)+"px").attr("fill","#EEE").text(e=>S.formatNumber(e.value,M)).on("mouseenter",(e,i)=>{this.showToolTip(r,L(i),i.pointStyle.color,e)}).on("mousemove",(e,i)=>{this.moveToolTip(e)}).on("mouseleave",(e,i)=>{this.hiddenToolTip(e)}),this.props.transform&&D.attr("transform",this.props.transform)}componentDidUpdate(t,r,o){const{editing:n,selectedItem:a,onZoomToPoint:m,data:y}=this.props,b=c.select(this.gRef.current);if((n||t.data!==y||t.path!==this.props.path)&&this.create(),t.visible!=this.props.visible&&c.select(this.gRef.current).style("display",this.props.visible?"block":"none"),a!=null&&this.props.selectedItem!=t.selectedItem){const T=b.selectAll(".point-group circle").filter(l=>l.metadata.children.find(S=>S.value==a)!=null);m({x:T.datum().x,y:T.datum().y})}this.resize()}resize(){const{markerLabelSize:t}=this.props,r=c.select(this.gRef.current),o=this.props.transform?this.props.transform.k:1;r&&(r.selectAll(".point-group circle").attr("r",n=>n.pointStyle.size*1/o),r.selectAll(".point-group text.point-label").attr("font-size",n=>t*(10/o)+"px"))}componentDidMount(){this.create()}render(){const{id:t}=this.props;return x.jsx("g",{className:"latLong "+t,ref:this.gRef})}}const G=p=>{const{id:t,unique:r,filters:o,csv:n,app:a,group:m="default",apiJoinAttribute:y,editing:b,dimension2:d,pointStyleBy:T,dvzProxyDatasetId:l,settings:S,waitForFilters:j}=p,u=d!="none"?"/"+d:"",f={},g=o||{};return g&&g.forEach&&g.forEach(v=>{v.value!=null&&v.value.filter(k=>k!=null&&k.toString().trim()!="").length>0&&(f[v.param]=v.value)}),l&&(f.dvzProxyDatasetId=l),x.jsx(B.default,{editing:b,params:f,waitForFilters:j,app:a,csv:decodeURIComponent(n),group:m,ignoreErrors:!0,isSvg:!0,store:[a,r,t],source:[y+u],children:x.jsx(C.default,{children:x.jsx(Y,{...p})})})},J=N.injectIntl(G);exports.default=J;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const z=require("react/jsx-runtime"),_=require("react"),E=require("../data/DataProvider.js"),B=require("../data/DataConsumer.js"),P=require("d3"),N=require("react-intl"),U=require("react-dom"),V=require("./Tooltip.js"),X=require("./Utils.js");function q(d){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const r in d)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(d,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>d[r]})}}return t.default=d,Object.freeze(t)}const p=q(P),Y=q(U);class G extends _.Component{constructor(){super(),this.create=this.create.bind(this),this.showToolTip=this.showToolTip.bind(this),this.moveToolTip=this.moveToolTip.bind(this),this.resize=this.resize.bind(this),this.gRef=_.createRef()}showToolTip(t,r,o,n){const l=p.select("body").append("div").attr("class","d3MapTooltip").style("position","absolute").html("").style("left",n.pageX+15+"px").style("top",n.pageY-50+"px");Y.render(z.jsx(V.default,{intl:this.props.intl,tooltip:t,data:r,tooltipEnableMarkdown:!1}),l._groups[0][0])}moveToolTip(t){p.select(".d3MapTooltip").style("left",t.pageX+15+"px").style("top",t.pageY-50+"px")}hiddenToolTip(t){p.selectAll(".d3MapTooltip").remove()}create(){const{app:t,tooltip:r,data:o,markFillColor:n,markBorderColor:l,markSizeScale:m,markerLabelSize:T,measures:v,projection:c,id:x,format:a,intl:y,useBreaks:w,breaks:u,pointDimensionStyles:S=[],pointStyleBy:b,dimension2:D,visible:h=!0,showDim2OnLegends:f,dim2LegendLabel:Z}=this.props,I={style:a.style==="compacted"?"decimal":a.style,notation:a.style==="compacted"?"compact":"standard",currency:a.currency,minimumFractionDigits:parseInt(a.minimumFractionDigits),maximumFractionDigits:parseInt(a.maximumFractionDigits)},M=p.scaleThreshold().domain(u.map(e=>e.end)).range(u.map(e=>m+e.size)),C=p.scaleThreshold().domain(u.map(e=>e.end)).range(u.map(e=>e.color)),O=p.scaleThreshold().domain(u.map(e=>e.end)).range(u.map(e=>e.borderColor));let k=[];const j=p.select(this.gRef.current);if(t!="csv"&&o&&o.children)k=o.children.map(e=>{const i=e.value.split(",");let g={color:n,size:m,border:l},s=1;return b==="measure"?(s=e[v[0]],g={color:C(s),size:M(s),border:O(s)}):b==="dimension"&&e.children&&f&&(s=e.children[0].value,g={color:S[s+"_color"]||n,size:S[s+"_size"]||m,border:S[s+"_border"]||l}),{x:i[0],y:i[1],value:s,metadata:{...e,...X.extractVariablesDeep(e)},pointStyle:g}}),k.sort((e,i)=>e.pointStyle.size-i.pointStyle.size);else if(t=="csv"){const e=o.meta.fields[0],i=o.meta.fields[1],g=o.meta.fields[2];k=o.data.map(s=>{let A={color:n,size:m,border:l};return{x:s[e],y:s[i],value:s[g],metadata:s,pointStyle:A}})}const L=e=>{const{pointStyleBy:i,dimension2:g}=this.props,s={};return g!="none"&&(s[g]=e.metadata.children[0].value),{...s,...e,...e.metadata}},R=this.props.transform?this.props.transform.k:1;j.attr("class","zoomable lat-long "+x),j.selectAll(".point-group").remove();const F=j.selectAll(".point-group").data(k).enter().append("g").attr("class","point-group");F.append("circle").attr("cx",function(e){return c([e.y,e.x])[0]}).attr("cy",function(e){return c([e.y,e.x])[1]}).attr("class","latLong").attr("r",e=>e.pointStyle.size*1/R).attr("stroke-width",2).style("vector-effect","non-scaling-stroke").attr("stroke",e=>e.pointStyle.border).attr("fill",e=>e.pointStyle.color).on("mouseenter",(e,i)=>{this.showToolTip(r,L(i),i.pointStyle.color,e)}).on("mousemove",(e,i)=>{this.moveToolTip(e)}).on("mouseleave",(e,i)=>{this.hiddenToolTip(e)}),F.append("text").attr("class","point-label").attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x",e=>c([e.y,e.x])[0]).attr("y",e=>c([e.y,e.x])[1]).attr("font-size",e=>T*(10/R)+"px").attr("fill","#EEE").text(e=>y.formatNumber(e.value,I)).on("mouseenter",(e,i)=>{this.showToolTip(r,L(i),i.pointStyle.color,e)}).on("mousemove",(e,i)=>{this.moveToolTip(e)}).on("mouseleave",(e,i)=>{this.hiddenToolTip(e)}),this.props.transform&&j.attr("transform",this.props.transform)}componentDidUpdate(t,r,o){const{editing:n,selectedItem:l,onZoomToPoint:m,data:T}=this.props,v=p.select(this.gRef.current);if((n||t.data!==T||t.path!==this.props.path)&&this.create(),t.visible!=this.props.visible&&p.select(this.gRef.current).style("display",this.props.visible?"block":"none"),l!=null&&this.props.selectedItem!=t.selectedItem){const x=v.selectAll(".point-group circle").filter(a=>a.metadata.children.find(y=>y.value==l)!=null);m({x:x.datum().x,y:x.datum().y})}this.resize()}resize(){const{markerLabelSize:t}=this.props,r=p.select(this.gRef.current),o=this.props.transform?this.props.transform.k:1;r&&(r.selectAll(".point-group circle").attr("r",n=>n.pointStyle.size*1/o),r.selectAll(".point-group text.point-label").attr("font-size",n=>t*(10/o)+"px"))}componentDidMount(){this.create()}render(){const{id:t}=this.props;return z.jsx("g",{className:"latLong "+t,ref:this.gRef})}}const J=d=>{const{id:t,unique:r,filters:o,csv:n,app:l,group:m="default",apiJoinAttribute:T,editing:v,dimension2:c,pointStyleBy:x,dvzProxyDatasetId:a,extraTooltipColumns:y,settings:w,waitForFilters:u}=d,S=c!="none"?"/"+c:"",b={},D=o||{};if(D&&D.forEach&&D.forEach(h=>{h.value!=null&&h.value.filter(f=>f!=null&&f.toString().trim()!="").length>0&&(b[h.param]=h.value)}),a&&(b.dvzProxyDatasetId=a),y&&y.length>0){const h=y.filter(f=>f&&f!==T&&f!==c);h.length>0&&(b.includeColumns=h.join(","))}return z.jsx(E.default,{editing:v,params:b,waitForFilters:u,app:l,csv:decodeURIComponent(n),group:m,ignoreErrors:!0,isSvg:!0,store:[l,r,t],source:[T+S],children:z.jsx(B.default,{children:z.jsx(G,{...d})})})},W=N.injectIntl(J);exports.default=W;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),_=require("react");require("prop-types");const J=require("papaparse"),W=require("react-intl"),K=require("../data/D3MapDataProvider.js"),Q=require("../data/D3MapDataConsumer.js"),X=require("./GradientColors.js"),E=require("semantic-ui-react"),U=({breaks:r,isPoint:n,numberFormat:o,intl:b})=>r.length>0&&e.jsx("div",{className:"legend-breaks",children:r.map((l,c)=>l.type!=="graterThan"?e.jsxs("div",{className:"break",children:[e.jsx("div",{className:`break-item ${n?"point":""}`,style:{backgroundColor:l.color,border:`1px solid ${l.borderColor}`}}),e.jsxs("div",{className:"break-label",children:[" < ",b.formatNumber(l.end,o)]})]}):e.jsxs("div",{className:"break",children:[e.jsx("div",{className:`break-item ${n?"point":""}`,style:{backgroundColor:l.color,border:`1px solid ${l.borderColor}`}}),e.jsxs("div",{className:"break-label",children:[" > ",b.formatNumber(l.end,o)]})]}))}),Y=r=>{const{name:n,breaks:o,pointStyleBy:b,dimension2:l,pointDimensionStyles:c={},markFillColor:t,markBorderColor:d,measures:v,visible:g,format:m,intl:C,id:s,onItemClick:j,customMeasuresLabels:p}=r,u={style:m.style==="compacted"?"decimal":m.style,notation:m.style==="compacted"?"compact":"standard",currency:m.currency,minimumFractionDigits:parseInt(m.minimumFractionDigits),maximumFractionDigits:parseInt(m.maximumFractionDigits)};let h=v[0];return p&&(h=p[v[0]]),[...new Set(Object.keys(c).map(x=>x.split("_")[0]))],e.jsx("div",{className:"legend",children:e.jsxs("div",{children:[e.jsxs("div",{className:"legend-item",children:[e.jsx("div",{className:"legend-color legend-check",onClick:x=>j(s),style:{backgroundColor:t,borderColor:d},children:g!=!1&&e.jsx(e.Fragment,{children:"✓"})}),e.jsxs("div",{className:"legend-label",children:[n," (",h,")"]})]}),g!=!1&&e.jsx(U,{breaks:o,symbol:"arrow",numberFormat:u,intl:C})]})})},Z=r=>{const{id:n,name:o,breaks:b,intl:l,pointStyleBy:c,format:t,dimension2:d,pointDimensionStyles:v={},markFillColor:g,markBorderColor:m,measures:C,visible:s,onItemClick:j,customMeasuresLabels:p,allCategories:u,showDim2OnLegends:h,dim2LegendLabel:x,type:f,d2Click:N,selectedItem:D}=r,k={style:t.style==="compacted"?"decimal":t.style,notation:t.style==="compacted"?"compact":"standard",currency:t.currency,minimumFractionDigits:parseInt(t.minimumFractionDigits),maximumFractionDigits:parseInt(t.maximumFractionDigits)};let F=C[0];p&&(F=p[C[0]]);const I=d&&u?u.filter(a=>a.type.toUpperCase()==d.toUpperCase()):[],y=(I.length>0?I[0].items:[]).map(a=>a.value),S=c==="dimension"||h?d:F;return e.jsx("div",{className:"legend",children:e.jsxs("div",{children:[e.jsxs("div",{className:"legend-item",children:[e.jsx("div",{className:"legend-color legend-check",onClick:a=>j(n),style:c==="measure"||h?{}:{backgroundColor:g,borderColor:m},children:s!=!1&&e.jsx(e.Fragment,{children:"✓"})}),e.jsxs("div",{className:"legend-label",children:[o," "]})]}),c==="measure"&&s!=!1&&e.jsx("div",{className:"legend-breaks",children:b.map((a,$)=>e.jsxs("div",{className:"break",children:[e.jsx("div",{className:"break-item",style:{backgroundColor:a.color,border:`1px solid ${a.borderColor}`,borderRadius:f=="dataPoints"?"50%":"0"}}),e.jsxs("div",{className:"break-label",children:[" < ",l.formatNumber(a.end,k)]})]}))}),s!=!1&&h!=!1&&e.jsx("div",{className:"legend",children:e.jsx("div",{className:"legend-item",children:e.jsx("div",{className:"legend-label",children:x||S})})}),s!=!1&&h!=!1&&e.jsx("div",{className:"legend-breaks",children:y.map(a=>e.jsxs("div",{className:"break",children:[c==="measure"?e.jsx("span",{className:"break-item dim2-item"}):e.jsx("div",{className:"break-item",style:{backgroundColor:v[a+"_color"]||g,border:`1px solid ${v[a+"_border"]||m}`,borderRadius:f=="dataPoints"?"50%":"0"}}),e.jsx("div",{className:"break-label",onClick:$=>N(a),children:D==a?e.jsx("b",{children:a}):a})]}))})]})})},ee=r=>{const{fillColor:n,borderColor:o,name:b,visible:l,id:c,onItemClick:t}=r;return e.jsx("div",{className:"legend",children:e.jsxs("div",{className:"legend-item",children:[e.jsx("div",{className:"legend-color legend-check",onClick:d=>t(c),style:{backgroundColor:n,borderColor:o},children:l!=!1&&e.jsx(e.Fragment,{children:"✓"})}),e.jsx("div",{className:"legend-label",children:b})]})})},se=r=>{const{markFillColor:n,fillColor:o,markSizeScale:b,markBorderColor:l,useCentroidPoint:c,name:t,useBreaks:d,useGradients:v,breaks:g,intl:m,usePattern:C,patternsData:s,patternDiscriminator:j,patternDiscriminatorLabel:p,measures:u,borderColor:h,data:x,app:f,customMeasuresLabels:N,divRef:D,id:k,patternWidth:F=.35,patternHeight:I=.25,group:R,format:y,csv:S,visible:a,onItemClick:$,gradientScheme:V,gradientReverse:G,toggleColorLayer:z,colorLayerVisible:w=!0,gradientStartColor:O,gradientEndColor:T}=r;let L="";const P={style:y.style==="compacted"?"decimal":y.style,notation:y.style==="compacted"?"compact":"standard",currency:y.currency,minimumFractionDigits:parseInt(y.minimumFractionDigits),maximumFractionDigits:parseInt(y.maximumFractionDigits)},B=i=>new X.default({data:i.children,measure:u[0],defaultFillColor:n,gradientScheme:V,gradientReverse:G,gradientStartColor:O,gradientEndColor:T});if(f!="csv"&&N)L=N[u[0]];else{const i=J.parse(S,{header:!0,dynamicTyping:!0});L=i.meta.fields.length>0?i.meta.fields[1]:""}const q=i=>i?i.toString().replace(/ /g,"_").toLocaleLowerCase():"";if(D.current){const i=D.current.querySelector(`.legend.layer_${q(k)} svg`);i&&(i.style.display=a===!1?"none":"block")}const A=i=>Math.min(...i.children.map(M=>M[u[0]])),H=i=>Math.max(...i.children.map(M=>M[u[0]]));return e.jsx("div",{className:`legend layer_${q(k)}`,id:q(`${R} ${t} ${k}`),children:e.jsxs("div",{children:[e.jsxs("div",{className:"legend-item",children:[e.jsx("div",{className:"legend-color legend-check",onClick:i=>$(k),style:{backgroundColor:o,borderColor:h},children:a!=!1&&e.jsx(e.Fragment,{children:"✓"})}),e.jsx("div",{className:"legend-label",children:t})]}),c&&!d&&a!=!1&&e.jsx("div",{className:"legend-breaks",children:e.jsxs("div",{className:"break",children:[e.jsx("div",{className:`break-item point ${w?"checked":""}`,onClick:i=>z(k),style:{backgroundColor:n,border:`1px solid ${l}`}}),L]})}),d&&a!=!1&&e.jsxs("div",{children:[e.jsx("div",{className:"legend-breaks",children:e.jsxs("div",{className:"legend-section-title",onClick:i=>z(k),children:[e.jsx("div",{className:`legend-section-title-checkbox ${w?"checked":""}`}),e.jsx("span",{className:"measure-label",children:L})]})}),w&&e.jsx(U,{isPoint:c,numberFormat:P,breaks:g,visible:a,intl:m})]}),v&&x&&x.children&&x.children.length>0&&a!=!1&&e.jsxs("div",{className:"gradient-container",children:[e.jsx("div",{className:"gradient-label",style:{float:"right"},children:m.formatNumber(H(x),P)}),e.jsx("div",{className:"gradient-label",style:{float:"left"},children:m.formatNumber(A(x),P)}),e.jsx("div",{className:"gradient-bar",style:{background:`linear-gradient(to right, ${B(x).getStartColor()}, ${B(x).getEndColor()})`,width:"120px",height:"10px"}})]})]})})},ae=r=>{const n=_.useRef(null),[o,b]=_.useState(!1),l=({size:s=16,color:j="currentColor"})=>e.jsx(E.Icon,{name:"chevron down"}),c=({size:s=16,color:j="currentColor"})=>e.jsx(E.Icon,{name:"chevron right"}),{layers:t=[],onItemClick:d,patternsData:v,group:g,intl:m,toggleColorLayer:C}=r;return e.jsxs("div",{className:`legends ${o?"collapsed":""}`,ref:n,children:[e.jsx("div",{className:"legend-collapsible-control",onClick:()=>b(!o),children:o?e.jsxs("div",{children:[" ",e.jsx(c,{size:14})," Show Legend"]}):e.jsxs("div",{children:[e.jsx(l,{size:14}),"Hide Legend"]})}),e.jsx("div",{className:"legends-content",children:t&&t.map(s=>{const j={},p=s.filters||{};return p&&p.forEach&&p.forEach(u=>{u.value!=null&&u.value.filter(h=>h!=null&&h.toString().trim()!="").length>0&&(j[u.param]=u.value)}),s.dvzProxyDatasetId&&(j.dvzProxyDatasetId=s.dvzProxyDatasetId),e.jsxs("div",{children:[s.type=="base"&&e.jsx(ee,{...s,group:g,onItemClick:d}),s.type=="data"&&s.apiJoinAttribute&&e.jsx(K.default,{waitForFilters:!0,editing:s.editing,params:j,app:s.app,verbose:!1,csv:decodeURIComponent(s.csv),group:g,ignoreErrors:!0,isSvg:!0,mySelf:"Legends",store:[s.app,r.unique,s.id],source:s.apiJoinAttribute+(s.patternDiscriminator!="none"?"/"+s.patternDiscriminator:""),children:e.jsx(Q.default,{children:e.jsx(se,{group:g,patternsData:v?v[s.id]:null,divRef:n,...s,intl:r.intl,onItemClick:d,toggleColorLayer:C})})}),s.type=="dataPoints"&&e.jsx(Z,{selectedItem:r.selectedItem,d2Click:r.d2Click,intl:r.intl,group:g,...s,onItemClick:d}),s.type=="flow"&&e.jsx(Y,{group:g,...s,onItemClick:d,intl:r.intl})]},s.id)})})]})},re=W.injectIntl(ae);exports.default=re;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),_=require("react");require("prop-types");const H=require("papaparse"),W=require("react-intl"),K=require("../data/D3MapDataProvider.js"),Q=require("../data/D3MapDataConsumer.js"),X=require("./GradientColors.js"),T=require("semantic-ui-react"),E=({breaks:a,isPoint:c,numberFormat:d,intl:p})=>a.length>0&&e.jsx("div",{className:"legend-breaks",children:a.map((l,m)=>l.type!=="graterThan"?e.jsxs("div",{className:"break",children:[e.jsx("div",{className:`break-item ${c?"point":""}`,style:{backgroundColor:l.color,border:`1px solid ${l.borderColor}`}}),e.jsxs("div",{className:"break-label",children:[" < ",p.formatNumber(l.end,d)]})]}):e.jsxs("div",{className:"break",children:[e.jsx("div",{className:`break-item ${c?"point":""}`,style:{backgroundColor:l.color,border:`1px solid ${l.borderColor}`}}),e.jsxs("div",{className:"break-label",children:[" > ",p.formatNumber(l.end,d)]})]}))}),Y=a=>{const{name:c,breaks:d,pointStyleBy:p,dimension2:l,pointDimensionStyles:m={},markFillColor:n,markBorderColor:u,measures:v,visible:h,format:g,intl:y,id:s,onItemClick:b,customMeasuresLabels:j}=a,i={style:g.style==="compacted"?"decimal":g.style,notation:g.style==="compacted"?"compact":"standard",currency:g.currency,minimumFractionDigits:parseInt(g.minimumFractionDigits),maximumFractionDigits:parseInt(g.maximumFractionDigits)};let o=v[0];return j&&(o=j[v[0]]),[...new Set(Object.keys(m).map(x=>x.split("_")[0]))],e.jsx("div",{className:"legend",children:e.jsxs("div",{children:[e.jsxs("div",{className:"legend-item",children:[e.jsx("div",{className:"legend-color legend-check",onClick:x=>b(s),style:{backgroundColor:n,borderColor:u},children:h!=!1&&e.jsx(e.Fragment,{children:"✓"})}),e.jsxs("div",{className:"legend-label",children:[c," (",o,")"]})]}),h!=!1&&e.jsx(E,{breaks:d,symbol:"arrow",numberFormat:i,intl:y})]})})},Z=a=>{const{id:c,name:d,breaks:p,intl:l,pointStyleBy:m,format:n,dimension2:u,pointDimensionStyles:v={},markFillColor:h,markBorderColor:g,measures:y,visible:s,onItemClick:b,customMeasuresLabels:j,allCategories:i,showDim2OnLegends:o,dim2LegendLabel:x,type:f,d2Click:N,selectedItem:D}=a,C={style:n.style==="compacted"?"decimal":n.style,notation:n.style==="compacted"?"compact":"standard",currency:n.currency,minimumFractionDigits:parseInt(n.minimumFractionDigits),maximumFractionDigits:parseInt(n.maximumFractionDigits)};let F=y[0];j&&(F=j[y[0]]);const I=u&&i?i.filter(r=>r.type.toUpperCase()==u.toUpperCase()):[],k=(I.length>0?I[0].items:[]).map(r=>r.value),S=m==="dimension"||o?u:F;return e.jsx("div",{className:"legend",children:e.jsxs("div",{children:[e.jsxs("div",{className:"legend-item",children:[e.jsx("div",{className:"legend-color legend-check",onClick:r=>b(c),style:m==="measure"||o?{}:{backgroundColor:h,borderColor:g},children:s!=!1&&e.jsx(e.Fragment,{children:"✓"})}),e.jsxs("div",{className:"legend-label",children:[d," "]})]}),m==="measure"&&s!=!1&&e.jsx("div",{className:"legend-breaks",children:p.map((r,$)=>e.jsxs("div",{className:"break",children:[e.jsx("div",{className:"break-item",style:{backgroundColor:r.color,border:`1px solid ${r.borderColor}`,borderRadius:f=="dataPoints"?"50%":"0"}}),e.jsxs("div",{className:"break-label",children:[" < ",l.formatNumber(r.end,C)]})]}))}),s!=!1&&o!=!1&&e.jsx("div",{className:"legend",children:e.jsx("div",{className:"legend-item",children:e.jsx("div",{className:"legend-label",children:x||S})})}),s!=!1&&o!=!1&&e.jsx("div",{className:"legend-breaks",children:k.map(r=>e.jsxs("div",{className:"break",children:[m==="measure"?e.jsx("span",{className:"break-item dim2-item"}):e.jsx("div",{className:"break-item",style:{backgroundColor:v[r+"_color"]||h,border:`1px solid ${v[r+"_border"]||g}`,borderRadius:f=="dataPoints"?"50%":"0"}}),e.jsx("div",{className:"break-label",onClick:$=>N(r),children:D==r?e.jsx("b",{children:r}):r})]}))})]})})},ee=a=>{const{fillColor:c,borderColor:d,name:p,visible:l,id:m,onItemClick:n}=a;return e.jsx("div",{className:"legend",children:e.jsxs("div",{className:"legend-item",children:[e.jsx("div",{className:"legend-color legend-check",onClick:u=>n(m),style:{backgroundColor:c,borderColor:d},children:l!=!1&&e.jsx(e.Fragment,{children:"✓"})}),e.jsx("div",{className:"legend-label",children:p})]})})},se=a=>{const{markFillColor:c,fillColor:d,markSizeScale:p,markBorderColor:l,useCentroidPoint:m,name:n,useBreaks:u,useGradients:v,breaks:h,intl:g,usePattern:y,patternsData:s,patternDiscriminator:b,patternDiscriminatorLabel:j,measures:i,borderColor:o,data:x,app:f,customMeasuresLabels:N,divRef:D,id:C,patternWidth:F=.35,patternHeight:I=.25,group:R,format:k,csv:S,visible:r,onItemClick:$,gradientScheme:U,gradientReverse:V,toggleColorLayer:z,colorLayerVisible:w=!0,gradientStartColor:A,gradientEndColor:G}=a;let L="";const P={style:k.style==="compacted"?"decimal":k.style,notation:k.style==="compacted"?"compact":"standard",currency:k.currency,minimumFractionDigits:parseInt(k.minimumFractionDigits),maximumFractionDigits:parseInt(k.maximumFractionDigits)},B=t=>new X.default({data:t.children,measure:i[0],defaultFillColor:c,gradientScheme:U,gradientReverse:V,gradientStartColor:A,gradientEndColor:G});if(f!="csv"&&N)L=N[i[0]];else{const t=H.parse(S,{header:!0,dynamicTyping:!0});L=t.meta.fields.length>0?t.meta.fields[1]:""}const q=t=>t?t.toString().replace(/ /g,"_").toLocaleLowerCase():"";if(D.current){const t=D.current.querySelector(`.legend.layer_${q(C)} svg`);t&&(t.style.display=r===!1?"none":"block")}const J=t=>Math.min(...t.children.map(M=>M[i[0]])),O=t=>Math.max(...t.children.map(M=>M[i[0]]));return e.jsx("div",{className:`legend layer_${q(C)}`,id:q(`${R} ${n} ${C}`),children:e.jsxs("div",{children:[e.jsxs("div",{className:"legend-item",children:[e.jsx("div",{className:"legend-color legend-check",onClick:t=>$(C),style:{backgroundColor:d,borderColor:o},children:r!=!1&&e.jsx(e.Fragment,{children:"✓"})}),e.jsx("div",{className:"legend-label",children:n})]}),m&&!u&&r!=!1&&e.jsx("div",{className:"legend-breaks",children:e.jsxs("div",{className:"break",children:[e.jsx("div",{className:`break-item point ${w?"checked":""}`,onClick:t=>z(C),style:{backgroundColor:c,border:`1px solid ${l}`}}),L]})}),u&&r!=!1&&e.jsxs("div",{children:[e.jsx("div",{className:"legend-breaks",children:e.jsxs("div",{className:"legend-section-title",onClick:t=>z(C),children:[e.jsx("div",{className:`legend-section-title-checkbox ${w?"checked":""}`}),e.jsx("span",{className:"measure-label",children:L})]})}),w&&e.jsx(E,{isPoint:m,numberFormat:P,breaks:h,visible:r,intl:g})]}),v&&x&&x.children&&x.children.length>0&&r!=!1&&e.jsxs("div",{className:"gradient-container",children:[e.jsx("div",{className:"gradient-label",style:{float:"right"},children:g.formatNumber(O(x),P)}),e.jsx("div",{className:"gradient-label",style:{float:"left"},children:g.formatNumber(J(x),P)}),e.jsx("div",{className:"gradient-bar",style:{background:`linear-gradient(to right, ${B(x).getStartColor()}, ${B(x).getEndColor()})`,width:"120px",height:"10px"}})]})]})})},re=a=>{const c=_.useRef(null),[d,p]=_.useState(!1),l=({size:s=16,color:b="currentColor"})=>e.jsx(T.Icon,{name:"chevron down"}),m=({size:s=16,color:b="currentColor"})=>e.jsx(T.Icon,{name:"chevron right"}),{layers:n=[],onItemClick:u,patternsData:v,group:h,intl:g,toggleColorLayer:y}=a;return e.jsxs("div",{className:`legends ${d?"collapsed":""}`,ref:c,children:[e.jsx("div",{className:"legend-collapsible-control",onClick:()=>p(!d),children:d?e.jsxs("div",{children:[" ",e.jsx(m,{size:14})," Show Legend"]}):e.jsxs("div",{children:[e.jsx(l,{size:14}),"Hide Legend"]})}),e.jsx("div",{className:"legends-content",children:n&&n.map(s=>{const b={},j=s.filters||{};if(j&&j.forEach&&j.forEach(i=>{i.value!=null&&i.value.filter(o=>o!=null&&o.toString().trim()!="").length>0&&(b[i.param]=i.value)}),s.dvzProxyDatasetId&&(b.dvzProxyDatasetId=s.dvzProxyDatasetId),s.extraTooltipColumns&&s.extraTooltipColumns.length>0){const i=s.extraTooltipColumns.filter(o=>o&&o!==s.apiJoinAttribute&&o!==s.patternDiscriminator);i.length>0&&(b.includeColumns=i.join(","))}return e.jsxs("div",{children:[s.type=="base"&&e.jsx(ee,{...s,group:h,onItemClick:u}),s.type=="data"&&s.apiJoinAttribute&&e.jsx(K.default,{waitForFilters:!0,editing:s.editing,params:b,app:s.app,verbose:!1,csv:decodeURIComponent(s.csv),group:h,ignoreErrors:!0,isSvg:!0,mySelf:"Legends",store:[s.app,a.unique,s.id],source:s.apiJoinAttribute+(s.patternDiscriminator!="none"?"/"+s.patternDiscriminator:""),children:e.jsx(Q.default,{children:e.jsx(se,{group:h,patternsData:v?v[s.id]:null,divRef:c,...s,intl:a.intl,onItemClick:u,toggleColorLayer:y})})}),s.type=="dataPoints"&&e.jsx(Z,{selectedItem:a.selectedItem,d2Click:a.d2Click,intl:a.intl,group:h,...s,onItemClick:u}),s.type=="flow"&&e.jsx(Y,{group:h,...s,onItemClick:u,intl:a.intl})]},s.id)})})]})},ae=W.injectIntl(re);exports.default=ae;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react/jsx-runtime");require("react");const d=require("string-template"),x=/(\+?\%)[\(]([A-z0-9,.,-]+)\)/gi,y=/(\+?\#)[\(]([A-z0-9,.,-]+)\)/gi,v=/(\+?\#C)[\(]([A-z0-9,.,-]+)\)/gi,i=(n,e,r,t,m,A)=>{let o,s=e;for(;(o=n.exec(e))!==null;){const p=o[2],a=o[1],f=((c,g=2)=>m.formatNumber(t?c/100:c,{maximumFractionDigits:g,...r,signDisplay:a&&a.startsWith("+")?"never":"auto"})).apply(void 0,p.split(","));s=s.replaceAll(o[0],f)}return s},u=(n,e,r)=>{let t=d(n,{...e,...e.meta}).replace(/(?:\r\n|\r|\n)/g,"<br>");return t=i(x,t,{style:"percent"},!0,r),t=i(y,t,{style:"decimal"},!1,r),t=i(v,t,{notation:"compact"},!1,r),t},j=({tooltip:n,data:e,intl:r})=>{if(e){const t=u(n,e,r);return l.jsx("div",{dangerouslySetInnerHTML:{__html:t}})}else return l.jsx("div",{})};exports.default=j;exports.formatContent=u;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react/jsx-runtime");require("react");const b=require("string-template"),h=/(\+?\%)[\(]([A-z0-9,.,-]+)\)/gi,x=/(\+?\#)[\(]([A-z0-9,.,-]+)\)/gi,S=/(\+?\#C)[\(]([A-z0-9,.,-]+)\)/gi,A=/(\$)[\(]([A-Za-z0-9,.]+)\)/gi,E=[{name:"USD Dollar",code:"USD",symbol:"$"},{name:"Naira",code:"NGN",symbol:"₦"},{name:"South Africa Rand",code:"ZAR",symbol:"R"},{name:"Ethiopian Birr",code:"ETB",symbol:"Br"},{name:"Zambian Kwacha",code:"ZMW",symbol:"ZK"},{name:"Kenyan Shilling",code:"KES",symbol:"KSh"}],l=o=>o&&o.trim().toLowerCase(),z=(o,n)=>{let r,s=n;for(;(r=o.exec(n))!==null;)if(r.length>2){const a=r[0],c=r[2],e=E.find(t=>l(t.code)==l(c)||l(t.name)==l(c)||l(t.symbol)==l(c));e&&(s=s.replaceAll(a,e.symbol))}return s},u=(o,n,r,s,a,c)=>{let e,t=n;for(;(e=o.exec(n))!==null;){const i=e[2],m=e[1],f=((p,g=2)=>a.formatNumber(s?p/100:p,{maximumFractionDigits:g,...r,signDisplay:m&&m.startsWith("+")?"never":"auto"})).apply(void 0,i.split(","));t=t.replaceAll(e[0],f)}return t},y=(o,n,r)=>{const s={...n,...n.meta},a={};Object.keys(s).forEach(t=>{a[t]=s[t],a[t.replace(/\s+/g,"_")]=s[t]});const c=o.replace(/\{([^}]+)\}/g,(t,i)=>`{${i.replace(/\s+/g,"_")}}`);let e=b(c,a).replace(/(?:\r\n|\r|\n)/g,"<br>");return e=u(h,e,{style:"percent"},!0,r),e=u(x,e,{style:"decimal"},!1,r),e=u(S,e,{notation:"compact"},!1,r),e=z(A,e),e},C=({tooltip:o,data:n,intl:r})=>{if(n){const s=y(o,n,r);return d.jsx("div",{dangerouslySetInnerHTML:{__html:s}})}else return d.jsx("div",{})};exports.default=C;exports.formatContent=y;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("d3");function u(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,o.get?o:{enumerable:!0,get:()=>t[e]})}}return n.default=t,Object.freeze(n)}const l=u(i),r={},c={},d=3*60*1e3,s=t=>JSON.parse(JSON.stringify(t)),f=t=>{const n=Date.now(),e=t;if(r[e])return r[e].then(s);if(c[e]&&n-c[e].timestamp<d)return Promise.resolve(s(c[e].data));const o=l.json(t).then(a=>(c[e]={data:a,timestamp:Date.now()},a)).finally(()=>{delete r[e]});return r[e]=o,o.then(s)},p=t=>f(t);exports.loadJSON=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("d3");function f(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const p=f(d),l="_Color_",O=["value","count","type","children","label","measure"],u=e=>{const t={};return e&&(Object.keys(e).forEach(r=>{O.includes(r)||(t[r]=e[r])}),e.type&&e.value!==void 0&&(t[e.type]=e.value)),t},i=e=>{let t=u(e);return e&&e.children&&Array.isArray(e.children)&&e.children.forEach(r=>{t={...t,...i(r)}}),t},b=(e,t)=>!e||!t?null:e[(l+t).trim()]||null,o={},a={},v=3*60*1e3,c=e=>JSON.parse(JSON.stringify(e)),y=e=>{const t=Date.now(),r=e;if(o[r])return o[r].then(c);if(a[r]&&t-a[r].timestamp<v)return Promise.resolve(c(a[r].data));const n=p.json(e).then(s=>(a[r]={data:s,timestamp:Date.now()},s)).finally(()=>{delete o[r]});return o[r]=n,n.then(c)},h=e=>y(e);exports.COLOR_VARIABLE=l;exports.extractVariables=u;exports.extractVariablesDeep=i;exports.loadJSON=h;exports.resolveOverrideColor=b;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const T=require("react/jsx-runtime"),D=require("react"),F=require("react-redux"),I=require("react-intl"),C=require("./DataContext.js"),g=require("../reducers/data.js");require("semantic-ui-react");class S extends D.Component{constructor(){super(),this.state={showLoading:!1},this.checkLoadingTime=this.checkLoadingTime.bind(this),this.loadingTimeout=null,this.fallbackTimeout=null,this.initialFilterTimeout=null}componentDidMount(){const{app:t,csv:i,store:e,params:a,source:l,group:n,editing:s,waitForFilters:r=!1}=this.props;console.log("Group & Store ",e,this.props.mySelf),t==="csv"?this.props.onSetData({app:t,csv:i,store:e,params:a,group:n}):(this.setState({showLoading:!1}),(!r||s)&&(console.log("📥 [D3 Map DataProvider] Initial data load triggered",{app:t,editing:s,waitForFilters:r}),this.loadData({app:t,source:l,store:e,params:a,group:n})),!s&&r&&(this.fallbackTimeout=setTimeout(()=>{!this.props.data&&!this.props.loading&&(console.warn("⚠️ [D3 Map DataProvider] Fallback loading triggered"),this.loadData({app:t,source:l,store:e,params:a,group:n}))},2e3)))}componentWillUnmount(){clearTimeout(this.fallbackTimeout),clearTimeout(this.loadingTimeout),clearTimeout(this.initialFilterTimeout)}componentDidUpdate(t){const{app:i,filters:e,apply:a,source:l,store:n,params:s,csv:r,group:d,autoApply:c,lastInitialFilterChange:u,lastUserFilterChange:h,waitForFilters:p}=this.props;if(a!=null&&a!==t.apply){console.log("🔄 [DataProvider] Manual reload (apply button)"),this.loadData({app:i,source:l,store:n,params:s,group:d});return}if(c!==!1&&(e!==t.filters||JSON.stringify(s)!==JSON.stringify(t.params)||i!==t.app||JSON.stringify(t.source)!==JSON.stringify(l)||r!==t.csv))if(i==="csv")this.props.onSetData({app:i,csv:r,store:n,params:s,group:d});else{const m=u!==t.lastInitialFilterChange,f=h!==t.lastUserFilterChange;m&&p?(console.log("ℹ️ [DataProvider] Initial filters changing, debouncing..."),this.initialFilterTimeout&&clearTimeout(this.initialFilterTimeout),this.initialFilterTimeout=setTimeout(()=>{console.log("✅ [DataProvider] Initial filters settled, loading data"),this.loadData({app:i,source:l,store:n,params:s,group:d})},500)):f&&(console.log("ℹ️ [DataProvider] User filters changed, loading data"),this.loadData({app:i,source:l,store:n,params:s,group:d}))}}loadData(t){console.log("Loading data for map",t),this.setState({showLoading:!1}),this.props.onLoadData(t),this.loadingTimeout&&clearTimeout(this.loadingTimeout),this.loadingTimeout=setTimeout(this.checkLoadingTime,200)}checkLoadingTime(){const{loading:t,time:i}=this.props;t&&i&&(Date.now()-i>1e3?this.setState({showLoading:!0}):this.loadingTimeout=setTimeout(this.checkLoadingTime,200))}render(){const{data:t}=this.props;return T.jsx(C.DataContext.Provider,{value:t,children:this.props.children})}}const y=(o,t)=>{const{store:i,group:e,app:a}=t;return{lastUserFilterChange:o.getIn(["data","filters-settings",a,e,"lastUserFilterChange"]),lastInitialFilterChange:o.getIn(["data","filters-settings",a,e,"lastInitialFilterChange"]),data:o.getIn(["data",...i,"data"]),filters:o.getIn(["data","filters",a,e]),autoApply:o.getIn(["data","filters-settings",a,e,"autoApply"]),apply:o.getIn(["data","filters-settings",a,e,"apply"]),error:o.getIn(["data",...i,"error"]),loading:o.getIn(["data",...i,"loading"]),time:o.getIn(["data",...i,"time"])}},L={onSetData:g.setData,onLoadData:g.getData},v=F.connect(y,L)(I.injectIntl(S));exports.default=v;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const D=require("react/jsx-runtime"),C=require("react"),F=require("react-redux"),I=require("react-intl"),v=require("./DataContext.js"),h=require("../reducers/data.js");require("semantic-ui-react");class y extends C.Component{constructor(){super(),this.state={showLoading:!1},this.checkLoadingTime=this.checkLoadingTime.bind(this),this.loadingTimeout=null,this.fallbackTimeout=null,this.initialFilterTimeout=null}componentDidMount(){const{app:t,csv:i,store:e,params:a,source:l,group:n,editing:s,waitForFilters:r=!1}=this.props;t==="csv"?this.props.onSetData({app:t,csv:i,store:e,params:a,group:n}):(this.setState({showLoading:!1}),(!r||s)&&(console.log("📥 [D3 Map DataProvider] Initial data load triggered",{app:t,editing:s,waitForFilters:r}),this.loadData({app:t,source:l,store:e,params:a,group:n,includeColumns:extraTooltipColumns})),!s&&r&&(this.fallbackTimeout=setTimeout(()=>{!this.props.data&&!this.props.loading&&(console.warn("⚠️ [D3 Map DataProvider] Fallback loading triggered"),this.loadData({app:t,source:l,store:e,params:a,group:n,includeColumns:extraTooltipColumns}))},2e3)))}componentWillUnmount(){clearTimeout(this.fallbackTimeout),clearTimeout(this.loadingTimeout),clearTimeout(this.initialFilterTimeout)}componentDidUpdate(t){const{app:i,filters:e,apply:a,source:l,store:n,params:s,csv:r,group:d,autoApply:p,lastInitialFilterChange:m,lastUserFilterChange:f,waitForFilters:g,editing:T}=this.props;if(console.log("Current props in d3MapDataProvider",this.props),a!=null&&a!==t.apply){console.log("🔄 [DataProvider] Manual reload (apply button)"),this.loadData({app:i,source:l,store:n,params:s,group:d});return}if(p!==!1&&(e!==t.filters||JSON.stringify(s)!==JSON.stringify(t.params)||i!==t.app||JSON.stringify(t.source)!==JSON.stringify(l)||r!==t.csv))if(i==="csv")this.props.onSetData({app:i,csv:r,store:n,params:s,group:d});else{const c=m!==t.lastInitialFilterChange,u=f!==t.lastUserFilterChange;c&&g?(console.log("ℹ️ [DataProvider] Initial filters changing, debouncing..."),this.initialFilterTimeout&&clearTimeout(this.initialFilterTimeout),this.initialFilterTimeout=setTimeout(()=>{console.log("✅ [DataProvider] Initial filters settled, loading data"),this.loadData({app:i,source:l,store:n,params:s,group:d})},500)):u?(console.log("ℹ️ [DataProvider] User filters changed, loading data"),this.loadData({app:i,source:l,store:n,params:s,group:d})):!c&&!u&&(!g||T)&&(console.log("[DataProvider] Props changed, loading data"),this.loadData({app:i,source:l,store:n,params:s,group:d}))}}loadData(t){console.log("Loading data for map",t),this.setState({showLoading:!1}),this.props.onLoadData(t),this.loadingTimeout&&clearTimeout(this.loadingTimeout),this.loadingTimeout=setTimeout(this.checkLoadingTime,200)}checkLoadingTime(){const{loading:t,time:i}=this.props;t&&i&&(Date.now()-i>1e3?this.setState({showLoading:!0}):this.loadingTimeout=setTimeout(this.checkLoadingTime,200))}render(){const{data:t}=this.props;return console.log("[DataProvider] Rendering with data:",this.props),D.jsx(v.DataContext.Provider,{value:t,children:this.props.children})}}const S=(o,t)=>{const{store:i,group:e,app:a}=t;return{lastUserFilterChange:o.getIn(["data","filters-settings",a,e,"lastUserFilterChange"]),lastInitialFilterChange:o.getIn(["data","filters-settings",a,e,"lastInitialFilterChange"]),data:o.getIn(["data",...i,"data"]),filters:o.getIn(["data","filters",a,e]),autoApply:o.getIn(["data","filters-settings",a,e,"autoApply"]),apply:o.getIn(["data","filters-settings",a,e,"apply"]),error:o.getIn(["data",...i,"error"]),loading:o.getIn(["data",...i,"loading"]),time:o.getIn(["data",...i,"time"])}},L={onSetData:h.setData,onLoadData:h.getData},P=F.connect(S,L)(I.injectIntl(y));exports.default=P;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),L=require("react"),s=require("semantic-ui-react"),Q=require("../data/CategoriesConsumer.js"),te=require("../data/CategoriesProvider.js"),Y=require("react-redux"),X=require("../reducers/data.js"),ne=require("react-intl"),Z="multi-select",q="single-select",le="NO_DATA",re="DEFAULT_VALUE_INPUT",ae="LOWEST_VALUE",se="HIGHEST_VALUE",N=n=>n instanceof Boolean?n:n=="true",ie=(n,o)=>n?n.sort((a,u)=>a.position-u.position).map(a=>{const u=o&&a.labels&&a.labels[o.toUpperCase()]?a.labels[o.toUpperCase()]:a.value;return{key:a.id,value:a.id,text:u,icon:a.value.toLocaleLowerCase(),position:a.position?a.position:a.value}}):[],oe=n=>decodeURIComponent(n),ee=n=>{if(!n||n=="")return null;try{return JSON.parse(oe(n))}catch(o){throw new Error("error parsing value:"+o)}},W=(n,o)=>{const{app:a,group:u,param:i}=o;return{current:n.getIn(["data","filters",a,u,i])}},J={onInit:X.setInitialFilters,onChange:X.setFilter},z=n=>{const{isRange:o,options:a,alphabeticalSort:u,ascOrder:i}=n;N(u)?a.sort(function(h,d){const r=h.text?h.text.toLowerCase():"",g=d.text?d.text.toLowerCase():"";return N(i)?r<g?-1:r>g?1:0:r<g?1:r>g?-1:0}):a.sort(function(h,d){return N(i)?h.position-d.position:d.position-h.position});const f={...n};return o?e.jsx(ue,{...f}):e.jsx(ce,{...f})},ce=Y.connect(W,J)(n=>{const{allLabel:o,noneLabel:a,placeholder:u,options:i,app:f,group:h,param:d,current:r,onChange:g,onInit:c,useSingleColumn:F,enableTextSearch:j,filterType:C,defaultValues:v,showNoDataOption:w,defaultValueCriteria:m,allNoneSameBehaviour:E,closeOnSelect:I,hiddenFilters:b,autoApply:_,childFilter:D,childFilterParam:R,params:M,uniqueStorage:V,dvzProxyDatasetId:A,defaultTopNEnabled:k,defaultTopNCount:O}=n,[K,G]=L.useState(""),P=t=>{let l=[];C!=q&&!I&&r&&r.indexOf(t)>-1?l=r.filter(p=>p!==t):C!=q&&r&&!I?l=[...r,t]:l=[t],g({app:f,group:h,param:d,value:l,autoApply:_,childFilter:D,childFilterParam:R,params:M,uniqueStorage:V,dvzProxyDatasetId:A}),I&&S.current&&S.current.close()},H=t=>{const l=i.filter(p=>j&&T&&T.trim().length>0&&p.text?p.text.toLowerCase().includes(T.toLowerCase()):!0);g({app:f,group:h,param:d,value:l.map(p=>p.value),autoApply:_,childFilter:D}),I&&S.current&&S.current.close()},$=()=>{const t=i.filter(l=>j&&T&&T.trim().length>0&&l.text?l.text.toLowerCase().includes(T.toLowerCase()):!0);g({app:f,group:h,param:d,value:E?t.map(l=>l.value):[],autoApply:_}),I&&S.current&&S.current.close()},U=t=>{B(t)};L.useEffect(()=>{if(!r){const t=i.map(l=>l.value);if(C==Z||C=="")if(k){const l=O&&O>0?O:0,p=i.slice(0,l).map(x=>x.value);c({app:f,group:h,param:d,value:p})}else{const l=v?v.split(",").map(x=>x.trim()).filter(x=>x.length>0):[],p=l.length>0?i.filter(x=>l.indexOf(String(x.value))>-1).map(x=>x.value):t;c({app:f,group:h,param:d,value:p})}else if(f=="csv"){let l=[];m===re?l=v?v.split(","):[]:m==ae?l=t.length>0?[t[0]]:[]:m==se&&(l=t.length>0?[t[t.length-1]]:[]),c({app:f,group:h,param:d,value:l})}else if(k){const l=i.slice(0,1).map(p=>p.value);c({app:f,group:h,param:d,value:l})}else{const l=v?v.split(",").map(x=>x.trim()).filter(x=>x.length>0):[],p=l.length>0?i.filter(x=>l.indexOf(String(x.value))>-1).map(x=>x.value).slice(0,1):t.length>0?[t[0]]:[];c({app:f,group:h,param:d,value:p})}}},[]);const y=()=>{if(C==q){const t=r&&r[0]?i.filter(l=>l.value==r[0])[0]:null;return`${u} ${t?t.text:""}`}else return`${u} (${r?r.filter(t=>t==Number.MIN_SAFE_INTEGER?!1:b&&b.length>0?b.indexOf(t)==-1:!0).length:0}/${i.filter(t=>b&&b.length>0?b.indexOf(t.id)==-1:!0).length}) `},S=L.useRef(null),[T,B]=L.useState("");return e.jsx(s.Dropdown,{ref:S,fluid:!0,text:y(),scrolling:!1,button:!0,icon:"angle down ignore",multiple:!0,search:!0,floating:!1,className:`${r&&r.length>0?"applied ":""}`,children:e.jsxs(s.Dropdown.Menu,{children:[C!=q&&e.jsxs(e.Fragment,{children:[e.jsx(s.Segment,{children:e.jsxs(s.Dropdown.Item,{children:[e.jsx(s.Label,{basic:!0,onClick:H,children:o})," ","|"," ",e.jsx(s.Label,{basic:!0,onClick:$,children:a})]})}),j&&e.jsxs(e.Fragment,{children:[e.jsx(s.Container,{children:e.jsx(s.Dropdown.Item,{children:e.jsx("div",{className:"ui action input",children:e.jsxs(s.Input,{placeholder:"Search...",children:[e.jsx("input",{className:"filter-search",value:T,onChange:t=>{U(t.target.value)}}),e.jsx(s.Icon,{name:"remove",link:!0,className:"clear-icon ignore",onClick:t=>{U("")}})]})})})}),e.jsx(s.Divider,{})]})]}),e.jsx("br",{}),e.jsx(s.Container,{className:F?"dropdown-single-column":"",children:i.filter(t=>j&&T&&T.trim().length>0&&t.text?t.text.toLowerCase().includes(T.toLowerCase()):!0).map(({value:t,text:l},p)=>e.jsxs(s.Dropdown.Item,{className:F?"dropdown-item-single-column":"",children:[C==q&&e.jsx(s.Radio,{checked:!!(r&&r.indexOf(t)>-1),onChange:x=>P(t),label:l}),C==Z&&e.jsx(s.Checkbox,{checked:!!(r&&r.indexOf(t)>-1&&!(i.length==r.length&&E)),onChange:x=>P(t),label:l})]},p))})]})})}),ue=Y.connect(W,J)(({placeholder:n,startLabel:o,endLabel:a,options:u,onChange:i,app:f,group:h,param:d,current:r,autoApply:g})=>{const[c,F]=L.useState(u[0].position),[j,C]=L.useState(u[u.length-1].position);L.useEffect(()=>{const w=u.filter(m=>(m.position>c||m.position===c)&&(m.position<j||m.position===j)).map(m=>m.value);i({app:f,group:h,param:d,value:w,autoApply:g})},[c,j]);const v=L.useRef(null);return e.jsx(s.Dropdown,{ref:v,fluid:!0,text:`${n} (${r?r.filter(w=>w!=Number.MIN_SAFE_INTEGER).length:0}/${u.length})`,scrolling:!1,button:!0,multiple:!0,search:!0,floating:!1,icon:"angle down ignore",className:`${r&&r.length>0?"applied ":""} range`,children:e.jsxs(s.Dropdown.Menu,{children:[e.jsx(s.Segment,{children:e.jsxs(s.Dropdown.Item,{children:[" ",e.jsx(s.Label,{basic:!0,children:o})]})}),e.jsx(s.Container,{children:u.map(({value:w,text:m,position:E})=>e.jsx(s.Dropdown.Item,{children:e.jsx(s.Radio,{disabled:E>j,checked:c===E,onChange:I=>F(E),label:m})}))}),e.jsx(s.Segment,{children:e.jsxs(s.Dropdown.Item,{children:[" ",e.jsx(s.Label,{basic:!0,children:a})]})}),e.jsx(s.Container,{children:u.map(({value:w,text:m,position:E})=>e.jsx(s.Dropdown.Item,{children:e.jsx(s.Radio,{disabled:E<c,checked:j===E,onChange:I=>C(E),label:m})}))})]})})}),de=n=>{const{data:o,type:a,showNoDataOption:u}=n,i=o.filter(c=>c.type===a)[0],f=i?i.items.filter(c=>!u&&c.code==le?!1:n.hiddenFilters&&n.hiddenFilters.length>0?n.hiddenFilters.indexOf(c.id)==-1:!0):[],h=f?ie(f,n.locale):[],d=o.find(c=>c.type==="FilterDefinition"),r=d?d.items.find(c=>c.fieldType==a):null,g=r?r.value:"Filter";return e.jsx(s.Container,{fluid:!0,className:"filter filter-component",children:e.jsx(z,{...n,options:h,placeholder:n.placeholder?n.placeholder:g})})},fe=Y.connect(W,J)(n=>{let o=0;const a=[{key:"Yes",value:!0,text:"Yes",position:o++},{key:"No",value:!1,text:"No",position:o++}];return e.jsx(s.Container,{fluid:!0,className:"filter filter-component",children:e.jsx(z,{options:a,...n})})}),he=n=>{const{csvValue:o}=n;let a=0;const u=o.split(",").map(i=>({key:i,value:i,text:i,icon:i.toLocaleLowerCase(),position:a++}));return e.jsx(s.Container,{fluid:!0,className:"filter filter-component",children:e.jsx(z,{options:u,...n,children:" "})})},pe=n=>e.jsx(xe,{...n}),xe=({unique:n,"data-group":o,"data-app":a,"data-child-filter":u,"data-child-filter-param":i,"data-parent-filter":f,"data-parent-filter-param":h,"data-dvz-proxy-dataset-id":d,"data-param":r,"data-icon":g,"data-type":c,"data-place-holder":F,"data-is-range":j="false","data-all-label":C,"data-none-label":v,"data-start-label":w,"data-end-label":m,"data-csv-value":E,"data-filters":I="[]","data-use-single-column":b="false","data-enable-text-search":_="false","data-filter-type":D,"data-default-values":R,"data-show-no-data-option":M="true","data-default-value-criteria":V="DEFAULT_VALUE_INPUT","data-hidden-filters":A="[]","data-all-none-same-behaviour":k="false","data-close-on-select":O="false","data-alphabetical-sort":K="true","data-asc-order":G="true","data-auto-apply":P="true","data-default-top-n-enabled":H="false","data-default-top-n-count":$="0",intl:U})=>{const y={},S=I?ee(I):{};S&&S.forEach&&S.forEach(l=>{l.value!=null&&l.value.filter(p=>p!=null&&p.toString().trim()!="").length>0&&(y[l.param]=l.value)}),d&&(y.dvzProxyDatasetId=d);const T=A?ee(A):null,B=T!==null?T:A?A.split(",").filter(Boolean):[];let t;return D==null||D==""?t=j==="true"?"range":"multi-select":t=D,a==="csv"?e.jsx(he,{allLabel:C,noneLabel:v,isRange:j==="true",csvValue:E,app:a,group:o,icon:g,placeholder:F,startLabel:w,endLabel:m,param:r,ascOrder:G,useSingleColumn:b==="true",enableTextSearch:_==="true",filterType:t,defaultValues:R,defaultValueCriteria:V,allNoneSameBehaviour:k==="true",closeOnSelect:O==="true",locale:U.locale}):a?e.jsx(te.default,{dvzProxyDatasetId:d,type:c,autoApply:N(P),parentType:f,params:y,param:r,parentParam:h,app:a,group:o,uniqueStorage:S.length>0?n:null,hiddenFilters:B||[],children:e.jsx(Q.default,{children:e.jsxs(s.Container,{fluid:!0,children:[c==="Boolean"&&e.jsx(fe,{startLabel:w,endLabel:m,allLabel:C,noneLabel:v,isRange:N(j),app:a,group:o,icon:g,placeholder:F,param:r,filterType:t,defaultValues:R,locale:U.locale}),c!=="Boolean"&&e.jsx(Q.default,{type:c,children:e.jsx(de,{params:y,childFilter:u,parentFilter:f,childFilterParam:i,startLabel:w,endLabel:m,allLabel:C,noneLabel:v,isRange:N(j),app:a,group:o,icon:g,placeholder:F,param:r,alphabeticalSort:K,ascOrder:G,useSingleColumn:N(b),enableTextSearch:N(_),showNoDataOption:N(M),filterType:t,defaultValues:R,defaultValueCriteria:V,defaultTopNEnabled:N(H),defaultTopNCount:$?parseInt($):0,hiddenFilters:B||[],allNoneSameBehaviour:k=="true",autoApply:N(P),closeOnSelect:N(O),locale:U.locale,uniqueStorage:S.length>0?n:null,dvzProxyDatasetId:d})})]})})}):null},me=ne.injectIntl(pe);exports.default=me;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),L=require("react"),s=require("semantic-ui-react"),Q=require("../data/CategoriesConsumer.js"),te=require("../data/CategoriesProvider.js"),Y=require("react-redux"),X=require("../reducers/data.js"),ne=require("react-intl"),Z="multi-select",q="single-select",le="NO_DATA",re="DEFAULT_VALUE_INPUT",ae="LOWEST_VALUE",se="HIGHEST_VALUE",N=n=>n instanceof Boolean?n:n=="true",ie=(n,o)=>n?n.sort((a,d)=>a.position-d.position).map(a=>{const d=o&&a.labels&&a.labels[o.toUpperCase()]?a.labels[o.toUpperCase()]:a.value;return{key:a.id,value:a.id,text:d,icon:a.value.toLocaleLowerCase(),position:a.position?a.position:a.value}}):[],oe=n=>decodeURIComponent(n),ee=n=>{if(!n||n=="")return null;try{return JSON.parse(oe(n))}catch(o){throw new Error("error parsing value:"+o)}},W=(n,o)=>{const{app:a,group:d,param:i}=o;return{current:n.getIn(["data","filters",a,d,i])}},J={onInit:X.setInitialFilters,onChange:X.setFilter},z=n=>{const{isRange:o,options:a,alphabeticalSort:d,ascOrder:i}=n;N(d)?a.sort(function(h,u){const r=h.text?h.text.toLowerCase():"",g=u.text?u.text.toLowerCase():"";return N(i)?r<g?-1:r>g?1:0:r<g?1:r>g?-1:0}):a.sort(function(h,u){return N(i)?h.position-u.position:u.position-h.position});const f={...n};return o?e.jsx(ue,{...f}):e.jsx(ce,{...f})},ce=Y.connect(W,J)(n=>{const{allLabel:o,noneLabel:a,placeholder:d,options:i,app:f,group:h,param:u,current:r,onChange:g,onInit:c,useSingleColumn:F,enableTextSearch:j,filterType:C,defaultValues:S,showNoDataOption:w,defaultValueCriteria:p,allNoneSameBehaviour:E,closeOnSelect:I,hiddenFilters:b,autoApply:D,childFilter:A,childFilterParam:k,params:M,uniqueStorage:V,dvzProxyDatasetId:O,defaultTopNEnabled:U,defaultTopNCount:_}=n,[K,G]=L.useState(""),P=t=>{let l=[];C!=q&&!I&&r&&r.indexOf(t)>-1?l=r.filter(x=>x!==t):C!=q&&r&&!I?l=[...r,t]:l=[t],g({app:f,group:h,param:u,value:l,autoApply:D,childFilter:A,childFilterParam:k,params:M,uniqueStorage:V,dvzProxyDatasetId:O}),I&&T.current&&T.current.close()},H=t=>{const l=i.filter(x=>j&&v&&v.trim().length>0&&x.text?x.text.toLowerCase().includes(v.toLowerCase()):!0);g({app:f,group:h,param:u,value:l.map(x=>x.value),autoApply:D,childFilter:A}),I&&T.current&&T.current.close()},$=()=>{const t=i.filter(l=>j&&v&&v.trim().length>0&&l.text?l.text.toLowerCase().includes(v.toLowerCase()):!0);g({app:f,group:h,param:u,value:E?t.map(l=>l.value):[],autoApply:D}),I&&T.current&&T.current.close()},y=t=>{B(t)};L.useEffect(()=>{if(r||i.length===0)return;const t=i.map(l=>l.value);if(C==Z||C=="")if(U){const l=_&&_>0?_:0,x=i.slice(0,l).map(m=>m.value);c({app:f,group:h,param:u,value:x})}else{const l=S?S.split(",").map(m=>m.trim()).filter(m=>m.length>0):[],x=l.length>0?i.filter(m=>l.indexOf(String(m.value))>-1).map(m=>m.value):t;c({app:f,group:h,param:u,value:x})}else if(f=="csv"){let l=[];p===re?l=S?S.split(","):[]:p==ae?l=t.length>0?[t[0]]:[]:p==se&&(l=t.length>0?[t[t.length-1]]:[]),c({app:f,group:h,param:u,value:l})}else if(U){const l=i.slice(0,1).map(x=>x.value);c({app:f,group:h,param:u,value:l})}else{const l=S?S.split(",").map(m=>m.trim()).filter(m=>m.length>0):[],x=l.length>0?i.filter(m=>l.indexOf(String(m.value))>-1).map(m=>m.value).slice(0,1):t.length>0?[t[0]]:[];c({app:f,group:h,param:u,value:x})}},[f,_,U,p,S,C,h,c,i,u,r]);const R=()=>{if(C==q){const t=r&&r[0]?i.filter(l=>l.value==r[0])[0]:null;return`${d} ${t?t.text:""}`}else return`${d} (${r?r.filter(t=>t==Number.MIN_SAFE_INTEGER?!1:b&&b.length>0?b.indexOf(t)==-1:!0).length:0}/${i.filter(t=>b&&b.length>0?b.indexOf(t.id)==-1:!0).length}) `},T=L.useRef(null),[v,B]=L.useState("");return e.jsx(s.Dropdown,{ref:T,fluid:!0,text:R(),scrolling:!1,button:!0,icon:"angle down ignore",multiple:!0,search:!0,floating:!1,className:`${r&&r.length>0?"applied ":""}`,children:e.jsxs(s.Dropdown.Menu,{children:[C!=q&&e.jsxs(e.Fragment,{children:[e.jsx(s.Segment,{children:e.jsxs(s.Dropdown.Item,{children:[e.jsx(s.Label,{basic:!0,onClick:H,children:o})," ","|"," ",e.jsx(s.Label,{basic:!0,onClick:$,children:a})]})}),j&&e.jsxs(e.Fragment,{children:[e.jsx(s.Container,{children:e.jsx(s.Dropdown.Item,{children:e.jsx("div",{className:"ui action input",children:e.jsxs(s.Input,{placeholder:"Search...",children:[e.jsx("input",{className:"filter-search",value:v,onChange:t=>{y(t.target.value)}}),e.jsx(s.Icon,{name:"remove",link:!0,className:"clear-icon ignore",onClick:t=>{y("")}})]})})})}),e.jsx(s.Divider,{})]})]}),e.jsx("br",{}),e.jsx(s.Container,{className:F?"dropdown-single-column":"",children:i.filter(t=>j&&v&&v.trim().length>0&&t.text?t.text.toLowerCase().includes(v.toLowerCase()):!0).map(({value:t,text:l},x)=>e.jsxs(s.Dropdown.Item,{className:F?"dropdown-item-single-column":"",children:[C==q&&e.jsx(s.Radio,{checked:!!(r&&r.indexOf(t)>-1),onChange:m=>P(t),label:l}),C==Z&&e.jsx(s.Checkbox,{checked:!!(r&&r.indexOf(t)>-1&&!(i.length==r.length&&E)),onChange:m=>P(t),label:l})]},x))})]})})}),ue=Y.connect(W,J)(({placeholder:n,startLabel:o,endLabel:a,options:d,onChange:i,app:f,group:h,param:u,current:r,autoApply:g})=>{const[c,F]=L.useState(d[0].position),[j,C]=L.useState(d[d.length-1].position);L.useEffect(()=>{const w=d.filter(p=>(p.position>c||p.position===c)&&(p.position<j||p.position===j)).map(p=>p.value);i({app:f,group:h,param:u,value:w,autoApply:g})},[c,j]);const S=L.useRef(null);return e.jsx(s.Dropdown,{ref:S,fluid:!0,text:`${n} (${r?r.filter(w=>w!=Number.MIN_SAFE_INTEGER).length:0}/${d.length})`,scrolling:!1,button:!0,multiple:!0,search:!0,floating:!1,icon:"angle down ignore",className:`${r&&r.length>0?"applied ":""} range`,children:e.jsxs(s.Dropdown.Menu,{children:[e.jsx(s.Segment,{children:e.jsxs(s.Dropdown.Item,{children:[" ",e.jsx(s.Label,{basic:!0,children:o})]})}),e.jsx(s.Container,{children:d.map(({value:w,text:p,position:E})=>e.jsx(s.Dropdown.Item,{children:e.jsx(s.Radio,{disabled:E>j,checked:c===E,onChange:I=>F(E),label:p})}))}),e.jsx(s.Segment,{children:e.jsxs(s.Dropdown.Item,{children:[" ",e.jsx(s.Label,{basic:!0,children:a})]})}),e.jsx(s.Container,{children:d.map(({value:w,text:p,position:E})=>e.jsx(s.Dropdown.Item,{children:e.jsx(s.Radio,{disabled:E<c,checked:j===E,onChange:I=>C(E),label:p})}))})]})})}),de=n=>{const{data:o,type:a,showNoDataOption:d}=n,i=o.filter(c=>c.type===a)[0],f=i?i.items.filter(c=>!d&&c.code==le?!1:n.hiddenFilters&&n.hiddenFilters.length>0?n.hiddenFilters.indexOf(c.id)==-1:!0):[],h=f?ie(f,n.locale):[],u=o.find(c=>c.type==="FilterDefinition"),r=u?u.items.find(c=>c.fieldType==a):null,g=r?r.value:"Filter";return e.jsx(s.Container,{fluid:!0,className:"filter filter-component",children:e.jsx(z,{...n,options:h,placeholder:n.placeholder?n.placeholder:g})})},fe=Y.connect(W,J)(n=>{let o=0;const a=[{key:"Yes",value:!0,text:"Yes",position:o++},{key:"No",value:!1,text:"No",position:o++}];return e.jsx(s.Container,{fluid:!0,className:"filter filter-component",children:e.jsx(z,{options:a,...n})})}),he=n=>{const{csvValue:o}=n;let a=0;const d=o.split(",").map(i=>({key:i,value:i,text:i,icon:i.toLocaleLowerCase(),position:a++}));return e.jsx(s.Container,{fluid:!0,className:"filter filter-component",children:e.jsx(z,{options:d,...n,children:" "})})},pe=n=>e.jsx(xe,{...n}),xe=({unique:n,"data-group":o,"data-app":a,"data-child-filter":d,"data-child-filter-param":i,"data-parent-filter":f,"data-parent-filter-param":h,"data-dvz-proxy-dataset-id":u,"data-param":r,"data-icon":g,"data-type":c,"data-place-holder":F,"data-is-range":j="false","data-all-label":C,"data-none-label":S,"data-start-label":w,"data-end-label":p,"data-csv-value":E,"data-filters":I="[]","data-use-single-column":b="false","data-enable-text-search":D="false","data-filter-type":A,"data-default-values":k,"data-show-no-data-option":M="true","data-default-value-criteria":V="DEFAULT_VALUE_INPUT","data-hidden-filters":O="[]","data-all-none-same-behaviour":U="false","data-close-on-select":_="false","data-alphabetical-sort":K="true","data-asc-order":G="true","data-auto-apply":P="true","data-default-top-n-enabled":H="false","data-default-top-n-count":$="0",intl:y})=>{const R={},T=I?ee(I):{};T&&T.forEach&&T.forEach(l=>{l.value!=null&&l.value.filter(x=>x!=null&&x.toString().trim()!="").length>0&&(R[l.param]=l.value)}),u&&(R.dvzProxyDatasetId=u);const v=O?ee(O):null,B=v!==null?v:O?O.split(",").filter(Boolean):[];let t;return A==null||A==""?t=j==="true"?"range":"multi-select":t=A,a==="csv"?e.jsx(he,{allLabel:C,noneLabel:S,isRange:j==="true",csvValue:E,app:a,group:o,icon:g,placeholder:F,startLabel:w,endLabel:p,param:r,ascOrder:G,useSingleColumn:b==="true",enableTextSearch:D==="true",filterType:t,defaultValues:k,defaultValueCriteria:V,allNoneSameBehaviour:U==="true",closeOnSelect:_==="true",locale:y.locale}):a?e.jsx(te.default,{dvzProxyDatasetId:u,type:c,autoApply:N(P),parentType:f,params:R,param:r,parentParam:h,app:a,group:o,uniqueStorage:T.length>0?n:null,hiddenFilters:B||[],children:e.jsx(Q.default,{children:e.jsxs(s.Container,{fluid:!0,children:[c==="Boolean"&&e.jsx(fe,{startLabel:w,endLabel:p,allLabel:C,noneLabel:S,isRange:N(j),app:a,group:o,icon:g,placeholder:F,param:r,filterType:t,defaultValues:k,locale:y.locale}),c!=="Boolean"&&e.jsx(Q.default,{type:c,children:e.jsx(de,{params:R,childFilter:d,parentFilter:f,childFilterParam:i,startLabel:w,endLabel:p,allLabel:C,noneLabel:S,isRange:N(j),app:a,group:o,icon:g,placeholder:F,param:r,alphabeticalSort:K,ascOrder:G,useSingleColumn:N(b),enableTextSearch:N(D),showNoDataOption:N(M),filterType:t,defaultValues:k,defaultValueCriteria:V,defaultTopNEnabled:N(H),defaultTopNCount:$?parseInt($):0,hiddenFilters:B||[],allNoneSameBehaviour:U=="true",autoApply:N(P),closeOnSelect:N(_),locale:y.locale,uniqueStorage:T.length>0?n:null,dvzProxyDatasetId:u})})]})})}):null},me=ne.injectIntl(pe);exports.default=me;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react/jsx-runtime"),j=require("react"),L=require("react-redux"),aa=require("../data/DataProvider.js"),ta=require("../data/DataConsumer.js"),oa=require("../reducers/data.js"),la=require("./map.js"),ra=require("./MapDataFrame.js"),na=require("./MapCSVDataFrame.js"),sa=[{label:"KENYA",value:"KEN",center:[35.8166634,.1],scale:2e3},{label:"Nigeria",value:"NGA",center:[7.491302,9.072264],scale:2e3},{label:"South Africa",value:"ZAF",center:[24.676997,-28.48322],scale:2e3},{label:"West Africa",value:"West Africa",center:[-7.293255,13.90572],scale:1500},{label:"Africa",value:"Africa",center:[13.134227,-11.523088],scale:550},{label:"Ethiopia",value:"ETH",center:[35.8166634,1.7],scale:2e3},{label:"Zambia",value:"ZMB",center:[26.459455,-14.668135],scale:2e3},{label:"Democratic Republic of the Congo",value:"DRC",center:[23.174338,-5.837475],scale:1250},{label:"World",value:"World",center:[0,20.050043],scale:150}],ia=s=>u.jsx(da,{...s}),da=s=>{var k;const{unique:f,editing:m,"data-filters":W="{}","data-app":o="csv","data-csv":_="","data-dimension1":G="","data-dimension2":J="","data-dimension3":g="","data-extra-tooltip-columns":Z="[]","data-measures":h="[]","data-height":H=600,width:K=960,"data-data-source-text":$="","data-data-source-label":Y="Source","data-national-average-label":Q="National Average","data-legend-title":X="Legend Title","data-legend-breaks":ee="[]","data-zoom-enabled":w=!1,"data-show-legend-labels":F=!1,"data-map-file":ae,"data-mapping-field":te="zone","data-map-label-field":oe="admin","data-has-multiple-measures":S="false",topoJSONField:le="collection","data-map-center":re="NGA","data-map-label-show-value":x="false","data-show-tooltip":D="true","data-measure-selector-label":ne="","data-value-format":se="","data-show-overall-value":I="false","data-auto-generate-breaks":N="false","data-number-of-breaks":ie=5,"data-scheme":de="reds","data-show-no-data-label":T="false","data-group":z="default","data-map-symbols":ce="[]","data-tooltip-theme":ue="map-tooltip-dark","data-label-font-size":me=14,"data-label-font-weight":pe="normal","data-label-font-color":fe="#595959","data-legend-font-size":ge=12,"data-legend-font-weight":he="normal","data-custom-tooltips":be="[]","data-format-style":b="decimal","data-decimals":A="2","data-currency":ve="","data-tooltip-font-size":Ce=14,"data-show-admin-unit-label":ye="showAll","data-map-no-data-color":Le="#f8f8f8","data-map-boundary-color":we="#000","data-map-focus-boundary-color":Fe="#000","data-highlighted-location":Se="","data-tooltip-format":xe=`{locationName} %({value},2)
2
- {label}: %({value},2)`,"data-show-no-data-tooltip":R="false","data-map-container-bg-color":De="#fff","data-map-position":Ie="{}","data-main-layer-id":Ne="","data-enabled-layers":Te,"data-point-label-color":ze="#fff","data-point-label-format":Ae="{locationName} %({value},2)","data-show-no-data-legend-item":B=!1,"data-highlighted-loc-label-format":Re="{locationName} - Score: #({value},2)","data-enable-summary-view":pa="false","data-map-type":U="DEFAULT","data-default-point-color":Be="#FFFF00","data-aggregation-formula":Ue="COUNT","data-zoom-level-to-show-points":Pe=2,"data-zoom-on-filter":P="false","data-zoom-on-filter-field":Me="","data-no-data-text":Ee="No Data","data-labels-exclusion-list":Ve="","data-custom-measure-labels":ke="{}","data-show-shading-layer-labels":qe="ifUnitHasData","data-dvz-proxy-dataset-id":n,"data-recently-toggled-layer-id":Oe=null,intl:fa,settings:ga}=s;console.log("MapWrapper props",s);const je=e=>m?e:decodeURIComponent(e),M=e=>e==null?"":String(e).trim().toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,""),We=(e,a)=>{if(!e||!a)return;if(Object.prototype.hasOwnProperty.call(e,a))return e[a];const t=M(a),r=Object.keys(e).find(q=>M(q)===t);return r?e[r]:void 0},l=e=>{try{if(e)return JSON.parse(je(e))}catch{console.error("error parsing value:"+e)}return null},_e=e=>{let a=l(e)||[];return a=a.map(t=>(t.min&&(t.min=parseFloat(t.min)),t.max&&(t.max=parseFloat(t.max)),t.color=decodeURIComponent(t.color),t)),a},Ge=e=>{const a=l(e)||[];let t={};return a&&a.forEach?a.forEach(r=>{(Array.isArray(r.value)?r.value:[r.value]).filter(O=>O!=null&&O.toString().trim()!="").length>0&&(t[r.param]=r.value)}):t=a,t},Je={style:b==="compacted"?"decimal":b,notation:b==="compacted"?"compact":"standard",currency:ve,minimumFractionDigits:parseInt(A),maximumFractionDigits:parseInt(A)};let v=l(Te)||[];v=v.map(e=>(e.bgColor=decodeURIComponent(e.bgColor),e.fontColor=decodeURIComponent(e.fontColor),e));const C=sa.find(e=>e.value===re),E=S==!0||S=="true";let i=[G,J].filter(e=>e!=="none"&&e!==null).join("/");const d=g&&g!=="none"?g:null,Ze=C?C.scale:2e3,p={unique:f,editing:m,source:`/${ae}`,center:C.center,scale:Ze,measures:h,legendTitle:X,height:H,width:K,topoJSONField:le,mappingField:te,dataSourceText:$,dataSourceLabel:Y,nationalAverageLabel:Q,legendBreaks:_e(ee),mapLabelField:oe,zoomEnabled:w==!0||w=="true",showLegendLabels:F==!0||F=="true",multipleMeasures:E,app:o,mapLabelShowValue:x==!0||x=="true",showTooltip:D==!0||D=="true",showOverallValue:I==!0||I=="true",measureSelectorLabel:ne,valueFormat:se,autoGenerateBreaks:N==!0||N=="true",showNoDataLabel:T==!0||T=="true",numberOfBreaks:ie,colorScheme:de,group:z,symbols:l(ce)||[],tooltipTheme:ue,labelFontSize:me,labelFontColor:decodeURIComponent(fe),labelFontWeight:pe,legendFontSize:ge,legendFontWeight:he,customTooltips:l(be)||[],format:Je,tooltipFontSize:Ce,showAdminUnitLabel:ye,mapNoDataColor:decodeURIComponent(Le),mapBoundaryColor:decodeURIComponent(we),mapFocusBoundaryColor:decodeURIComponent(Fe),highlightedLocation:Se,tooltipFormat:xe,showNoDataTooltip:R==!0||R=="true",fields:i.split("/"),mapContainerBgColor:decodeURIComponent(De),mapPosition:l(Ie),mainLayerId:Ne,enabledLayers:v,pointLabelColor:decodeURIComponent(ze),pointLabelFormat:Ae,showNoDataLegendItem:B==!0||B=="true",highlightedLocLabelFormat:Re,mapType:U,defaultPointColor:decodeURIComponent(Be),zoomLevelToShowPoints:Pe,zoomOnFilter:P==!0||P=="true",zoomOnFilterField:Me,noDataText:Ee,labelsExclusionList:Ve.split(",").map(e=>e.trim()),showShadingLayerLabels:qe,dvzProxyDatasetId:n,recentlyToggledLayerId:Oe};if(p.recentlyToggledLayerId){const e=p.enabledLayers.find(a=>String(a.id)===String(p.recentlyToggledLayerId));e&&(e!=null&&e.apiField)&&(i=(k=e.apiField)==null?void 0:k.toLowerCase())}const He=l(ke)||{},Ke=o==="csv"?na.default:ra.default,$e=m?(l(h)||[]).join(","):h,c=Ge(W);if(d){const e=We(c,d);e!=null&&e!==""&&(c[d]=e)}const Ye=(l(Z)||[]).filter(e=>e&&e!=="none"),V=Array.from(new Set([d,...Ye].filter(Boolean)));V.length>0&&(c.includeColumns=V.join(",")),n&&(c.dvzProxyDatasetId=n);const Qe=L.useDispatch(),Xe=["data","categories",o,...n?[n]:[],"items"],y=L.useSelector(e=>e.getIn(Xe)),ea=j.useMemo(()=>y?y.toJS():[],[y]);return j.useEffect(()=>{o&&o!=="csv"&&Qe(oa.getCategories({app:o,dvzProxyDatasetId:n}))},[o,n]),u.jsx(aa.default,{params:c,app:o,csv:decodeURIComponent(_),group:z,editing:m,store:[o,f,...i.split("/")],source:i,children:u.jsx(ta.default,{children:u.jsx(Ke,{measures:$e,multipleMeasures:E,mapType:U,aggregationFormula:Ue,customMeasureLabels:He,source:i,extraDimension:d,allDimensions:ea,children:u.jsx(la.default,{...p})})})})},ca=(s,f)=>{},ua={},ma=L.connect(ca,ua)(ia);exports.default=ma;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react/jsx-runtime"),_=require("react"),L=require("react-redux"),aa=require("../data/DataProvider.js"),ta=require("../data/DataConsumer.js"),oa=require("../reducers/data.js"),la=require("./map.js"),ra=require("./MapDataFrame.js"),na=require("./MapCSVDataFrame.js"),sa=[{label:"KENYA",value:"KEN",center:[35.8166634,.1],scale:2e3},{label:"Nigeria",value:"NGA",center:[7.491302,9.072264],scale:2e3},{label:"South Africa",value:"ZAF",center:[24.676997,-28.48322],scale:2e3},{label:"West Africa",value:"West Africa",center:[-7.293255,13.90572],scale:1500},{label:"Africa",value:"Africa",center:[13.134227,-11.523088],scale:550},{label:"Ethiopia",value:"ETH",center:[35.8166634,1.7],scale:2e3},{label:"Zambia",value:"ZMB",center:[26.459455,-14.668135],scale:2e3},{label:"Democratic Republic of the Congo",value:"DRC",center:[23.174338,-5.837475],scale:1250},{label:"World",value:"World",center:[0,20.050043],scale:150}],ia=s=>u.jsx(da,{...s}),da=s=>{var O;const{unique:f,editing:m,"data-filters":G="{}","data-app":o="csv","data-csv":J="","data-dimension1":w="","data-dimension2":F="","data-dimension3":g="","data-extra-tooltip-columns":Z="[]","data-measures":h="[]","data-height":H=600,width:K=960,"data-data-source-text":$="","data-data-source-label":Y="Source","data-national-average-label":Q="National Average","data-legend-title":X="Legend Title","data-legend-breaks":ee="[]","data-zoom-enabled":S=!1,"data-show-legend-labels":x=!1,"data-map-file":ae,"data-mapping-field":te="zone","data-map-label-field":oe="admin","data-has-multiple-measures":D="false",topoJSONField:le="collection","data-map-center":re="NGA","data-map-label-show-value":I="false","data-show-tooltip":N="true","data-measure-selector-label":ne="","data-value-format":se="","data-show-overall-value":T="false","data-auto-generate-breaks":z="false","data-number-of-breaks":ie=5,"data-scheme":de="reds","data-show-no-data-label":A="false","data-group":R="default","data-map-symbols":ce="[]","data-tooltip-theme":ue="map-tooltip-dark","data-label-font-size":me=14,"data-label-font-weight":pe="normal","data-label-font-color":fe="#595959","data-legend-font-size":ge=12,"data-legend-font-weight":he="normal","data-custom-tooltips":be="[]","data-format-style":b="decimal","data-decimals":B="2","data-currency":ve="","data-tooltip-font-size":Ce=14,"data-show-admin-unit-label":ye="showAll","data-map-no-data-color":Le="#f8f8f8","data-map-boundary-color":we="#000","data-map-focus-boundary-color":Fe="#000","data-highlighted-location":Se="","data-tooltip-format":xe=`{locationName} %({value},2)
2
+ {label}: %({value},2)`,"data-show-no-data-tooltip":U="false","data-map-container-bg-color":De="#fff","data-map-position":Ie="{}","data-main-layer-id":Ne="","data-enabled-layers":Te,"data-point-label-color":ze="#fff","data-point-label-format":Ae="{locationName} %({value},2)","data-show-no-data-legend-item":P=!1,"data-highlighted-loc-label-format":Re="{locationName} - Score: #({value},2)","data-enable-summary-view":pa="false","data-map-type":M="DEFAULT","data-default-point-color":Be="#FFFF00","data-aggregation-formula":Ue="COUNT","data-zoom-level-to-show-points":Pe=2,"data-zoom-on-filter":E="false","data-zoom-on-filter-field":Me="","data-no-data-text":Ee="No Data","data-labels-exclusion-list":Ve="","data-custom-measure-labels":ke="{}","data-show-shading-layer-labels":qe="ifUnitHasData","data-dvz-proxy-dataset-id":n,"data-recently-toggled-layer-id":Oe=null,intl:fa,settings:ga}=s;console.log("MapWrapper props",s);const je=e=>m?e:decodeURIComponent(e),V=e=>e==null?"":String(e).trim().toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,""),We=(e,a)=>{if(!e||!a)return;if(Object.prototype.hasOwnProperty.call(e,a))return e[a];const t=V(a),r=Object.keys(e).find(j=>V(j)===t);return r?e[r]:void 0},l=e=>{try{if(e)return JSON.parse(je(e))}catch{console.error("error parsing value:"+e)}return null},_e=e=>{let a=l(e)||[];return a=a.map(t=>(t.min&&(t.min=parseFloat(t.min)),t.max&&(t.max=parseFloat(t.max)),t.color=decodeURIComponent(t.color),t)),a},Ge=e=>{const a=l(e)||[];let t={};return a&&a.forEach?a.forEach(r=>{(Array.isArray(r.value)?r.value:[r.value]).filter(W=>W!=null&&W.toString().trim()!="").length>0&&(t[r.param]=r.value)}):t=a,t},Je={style:b==="compacted"?"decimal":b,notation:b==="compacted"?"compact":"standard",currency:ve,minimumFractionDigits:parseInt(B),maximumFractionDigits:parseInt(B)};let v=l(Te)||[];v=v.map(e=>(e.bgColor=decodeURIComponent(e.bgColor),e.fontColor=decodeURIComponent(e.fontColor),e));const C=sa.find(e=>e.value===re),k=D==!0||D=="true";let i=[w,F].filter(e=>e!=="none"&&e!==null).join("/");const d=g&&g!=="none"?g:null,Ze=C?C.scale:2e3,p={unique:f,editing:m,source:`/${ae}`,center:C.center,scale:Ze,measures:h,legendTitle:X,height:H,width:K,topoJSONField:le,mappingField:te,dataSourceText:$,dataSourceLabel:Y,nationalAverageLabel:Q,legendBreaks:_e(ee),mapLabelField:oe,zoomEnabled:S==!0||S=="true",showLegendLabels:x==!0||x=="true",multipleMeasures:k,app:o,mapLabelShowValue:I==!0||I=="true",showTooltip:N==!0||N=="true",showOverallValue:T==!0||T=="true",measureSelectorLabel:ne,valueFormat:se,autoGenerateBreaks:z==!0||z=="true",showNoDataLabel:A==!0||A=="true",numberOfBreaks:ie,colorScheme:de,group:R,symbols:l(ce)||[],tooltipTheme:ue,labelFontSize:me,labelFontColor:decodeURIComponent(fe),labelFontWeight:pe,legendFontSize:ge,legendFontWeight:he,customTooltips:l(be)||[],format:Je,tooltipFontSize:Ce,showAdminUnitLabel:ye,mapNoDataColor:decodeURIComponent(Le),mapBoundaryColor:decodeURIComponent(we),mapFocusBoundaryColor:decodeURIComponent(Fe),highlightedLocation:Se,tooltipFormat:xe,showNoDataTooltip:U==!0||U=="true",fields:i.split("/"),mapContainerBgColor:decodeURIComponent(De),mapPosition:l(Ie),mainLayerId:Ne,enabledLayers:v,pointLabelColor:decodeURIComponent(ze),pointLabelFormat:Ae,showNoDataLegendItem:P==!0||P=="true",highlightedLocLabelFormat:Re,mapType:M,defaultPointColor:decodeURIComponent(Be),zoomLevelToShowPoints:Pe,zoomOnFilter:E==!0||E=="true",zoomOnFilterField:Me,noDataText:Ee,labelsExclusionList:Ve.split(",").map(e=>e.trim()),showShadingLayerLabels:qe,dvzProxyDatasetId:n,recentlyToggledLayerId:Oe};if(p.recentlyToggledLayerId){const e=p.enabledLayers.find(a=>String(a.id)===String(p.recentlyToggledLayerId));e&&(e!=null&&e.apiField)&&(i=(O=e.apiField)==null?void 0:O.toLowerCase())}const He=l(ke)||{},Ke=o==="csv"?na.default:ra.default,$e=m?(l(h)||[]).join(","):h,c=Ge(G);if(d){const e=We(c,d);e!=null&&e!==""&&(c[d]=e)}const Ye=(l(Z)||[]).filter(e=>e&&e!=="none"&&e!==w&&e!==F),q=Array.from(new Set([d,...Ye].filter(Boolean)));q.length>0&&(c.includeColumns=q.join(",")),n&&(c.dvzProxyDatasetId=n);const Qe=L.useDispatch(),Xe=["data","categories",o,...n?[n]:[],"items"],y=L.useSelector(e=>e.getIn(Xe)),ea=_.useMemo(()=>y?y.toJS():[],[y]);return _.useEffect(()=>{o&&o!=="csv"&&Qe(oa.getCategories({app:o,dvzProxyDatasetId:n}))},[o,n]),u.jsx(aa.default,{params:c,app:o,csv:decodeURIComponent(J),group:R,editing:m,store:[o,f,...i.split("/")],source:i,children:u.jsx(ta.default,{children:u.jsx(Ke,{measures:$e,multipleMeasures:k,mapType:M,aggregationFormula:Ue,customMeasureLabels:He,source:i,extraDimension:d,allDimensions:ea,children:u.jsx(la.default,{...p})})})})},ca=(s,f)=>{},ua={},ma=L.connect(ca,ua)(ia);exports.default=ma;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),u=require("react"),l=require("semantic-ui-react"),h=require("@devgateway/wp-react-lib"),S=require("react-intl"),A=require("react-redux"),y=require("../connected-templates/PostIntro.js"),L=require("../../lib/hooks/window-dimensions.js"),q=({posts:t,activeItem:r,setActive:i,showLabels:n})=>t?t.map(s=>e.jsx(l.Menu.Item,{onClick:()=>i(s.slug),className:s.slug===r?"active":"",children:n?e.jsx(h.PostLabel,{post:s}):e.jsx(l.Label,{children:e.jsx("span",{dangerouslySetInnerHTML:{__html:s.title.rendered}})})},s.id)):null,$=({posts:t,activeItem:r,setActive:i,showIcons:n,showLabels:s})=>{const o=t.length;return t?t.map(a=>{var m,g;return(m=a._embedded)!=null&&m["wp:featuredmedia"]&&a._embedded["wp:featuredmedia"][0].source_url,e.jsx(l.Grid.Column,{className:(a.slug===r?"active":"")+(n?" has-icon":""),children:e.jsxs(l.Button,{onClick:()=>i(a.slug),className:`nav ${o===1?"one":""}`,children:[n&&e.jsx(h.MediaProvider,{id:(g=a.meta_fields)!=null&&g.icon?a.meta_fields.icon[0]:null,children:e.jsx(h.MediaConsumer,{children:e.jsx(h.PostIcon,{className:"icon"})})}),s?e.jsx(h.PostLabel,{post:a}):e.jsx(l.Label,{children:e.jsx("span",{dangerouslySetInnerHTML:{__html:a.title.rendered}})})]})},a.id)}):null},C=({posts:t,activeItem:r})=>(u.useEffect(()=>{const i=document.querySelector(".ui.container.content-tab");i&&(i.scrollTop=0)},[r]),t?t.map(i=>{let n={};return i.slug!==r?n={position:"absolute",left:"-3000px",width:"auto",height:"0px",overflow:"hidden",visibility:"hidden"}:n={visibility:"visible",position:"relative",width:"auto"},e.jsx(y.default,{as:l.Container,fluid:!0,post:i,style:n},i.slug)}):null),k=({posts:t,activeItem:r,setActive:i})=>{const[n,s]=u.useState(t.findIndex(d=>d.slug===r)),[o,a]=u.useState(null),m=u.useRef(null);u.useEffect(()=>{if(o){const d=o.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:d,behavior:"smooth"})}},[o]);const g=(d,x)=>{const{index:c}=x,j=n===c?-1:c;s(j),i(t[c].slug),j!==-1&&a(d.currentTarget)};return e.jsx(l.Accordion,{fluid:!0,styled:!0,children:t.map((d,x)=>{var j;const c=(j=d.meta_fields)!=null&&j.icon?d.meta_fields.icon[0]:null;return e.jsxs(u.Fragment,{children:[e.jsx(l.Accordion.Title,{active:n===x,index:x,onClick:g,children:e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[c&&e.jsx(h.MediaProvider,{id:c,children:e.jsx(h.MediaConsumer,{children:e.jsx(h.PostIcon,{className:"icon"})})}),e.jsx("span",{dangerouslySetInnerHTML:{__html:d.title.rendered},style:{marginLeft:c?"10px":"0"}})]}),e.jsx(l.Icon,{name:"chevron down"})]})}),e.jsx(l.Accordion.Content,{className:"accordion-post-content",active:n===x,children:e.jsx("div",{ref:m,children:e.jsx(y.default,{post:d,as:l.Container,fluid:!0})})})]},d.id)})})},R=({posts:t,showLabels:r,height:i})=>{const[n,s]=u.useState(t?t[0].slug:null);return u.useEffect(()=>{setTimeout(()=>{if(window.location.hash){const o=window.location.hash.substr(1),a=document.getElementById(o);a&&t.map(m=>m.slug).indexOf(o)>-1&&(s(o),a.scrollIntoView({behavior:"auto",block:"start"}))}},0)},[t]),e.jsxs(u.Fragment,{children:[t.map(o=>e.jsx("anchor",{id:o.slug},o.slug)),e.jsx(l.Menu,{className:"tabbed posts",text:!0,children:e.jsx(q,{showLabels:r,posts:t,setActive:s,activeItem:n})}),e.jsx(l.Container,{className:"content-tab",style:{height:`${i}px`},children:e.jsx(C,{posts:t,activeItem:n})})]})},D=({posts:t,showLabels:r,showIcons:i,height:n})=>{const[s,o]=u.useState(t?t[0].slug:null);return e.jsx(u.Fragment,{children:e.jsxs(l.Grid,{stackable:!0,className:"tabbed posts",columns:t.length,style:{height:n+"px"},children:[e.jsx($,{showIcons:i,showLabels:r,posts:t,activeItem:s,setActive:o}),e.jsx(l.Grid.Row,{style:{height:`${n}px`},children:e.jsx(l.Grid.Column,{width:16,className:"content",children:e.jsx(l.Container,{className:"content-tab",style:{height:`${n}px`},children:e.jsx(C,{className:"content-tab",posts:t,activeItem:s})})})})]})})},G=t=>{var w;let{"data-type":r,"data-taxonomy":i,"data-categories":n,"data-items":s,"data-theme":o="light","data-show-icons":a,"data-use-scrolls":m,"data-show-labels":g,"data-height":d,"data-preview-mode":x="Desktop",pageModuleProps:c,parent:j,editing:b,unique:I}=t;c!=null&&c.previewMode&&(c!=null&&c.editing)&&(x=c.previewMode,b=c.editing);const p=t.intl.locale,M=Array.isArray(n)?n.join(","):n,f=m==="true",v=f?d:void 0,{width:_}=L.useWindowDimensionsAndDevice(),N=_<=1024,P=x!=="Desktop"&&b,T=N&&!b;return b&&!r?e.jsx(l.Container,{className:`viz tabbed posts ${b?"editing":""} ${f?"scrollable":""}`,fluid:!0}):e.jsx(l.Container,{className:`viz tabbed posts ${b?"editing":""} ${f?"scrollable":""}`,fluid:!0,children:e.jsx(h.PostProvider,{locale:p,type:r,taxonomy:i,categories:M,store:`tabbedposts_${j}_${I}`,page:1,perPage:s,children:e.jsx(h.PostConsumer,{children:e.jsx(h.PostConsumer,{children:T||P?e.jsx(k,{posts:s,activeItem:(w=s[0])==null?void 0:w.slug,setActive:()=>{}}):o==="light"?e.jsx(R,{height:v,showLabels:g==="true"}):e.jsx(D,{height:v,showLabels:g==="true",showIcons:a==="true"})})})})})},E=(t,r)=>{const i=t.getIn(["data","pageModuleProps"]),n={};return i&&(n.pageModuleProps=i),n},H={},z=A.connect(E,H)(S.injectIntl(G));exports.default=z;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),u=require("react"),l=require("semantic-ui-react"),h=require("@devgateway/wp-react-lib"),S=require("react-intl"),A=require("react-redux"),y=require("../connected-templates/PostIntro.js"),L=require("../../lib/hooks/window-dimensions.js"),q=({posts:t,activeItem:r,setActive:i,showLabels:n})=>t?t.map(s=>e.jsx(l.Menu.Item,{onClick:()=>i(s.slug),className:s.slug===r?"active":"",children:n?e.jsx(h.PostLabel,{post:s}):e.jsx(l.Label,{children:e.jsx("span",{dangerouslySetInnerHTML:{__html:s.title.rendered}})})},s.id)):null,$=({posts:t,activeItem:r,setActive:i,showIcons:n,showLabels:s})=>{const o=t.length;return t?t.map(a=>{var m,g;return(m=a._embedded)!=null&&m["wp:featuredmedia"]&&a._embedded["wp:featuredmedia"][0].source_url,e.jsx(l.Grid.Column,{className:(a.slug===r?"active":"")+(n?" has-icon":""),children:e.jsxs(l.Button,{onClick:()=>i(a.slug),className:`nav ${o===1?"one":""}`,children:[n&&e.jsx(h.MediaProvider,{id:(g=a.meta_fields)!=null&&g.icon?a.meta_fields.icon[0]:null,children:e.jsx(h.MediaConsumer,{children:e.jsx(h.PostIcon,{className:"icon"})})}),s?e.jsx(h.PostLabel,{post:a}):e.jsx(l.Label,{children:e.jsx("span",{dangerouslySetInnerHTML:{__html:a.title.rendered}})})]})},a.id)}):null},C=({posts:t,activeItem:r})=>(u.useEffect(()=>{const i=document.querySelector(".ui.container.content-tab");i&&(i.scrollTop=0)},[r]),t?t.map(i=>{let n={};return i.slug!==r?n={position:"absolute",left:"-3000px",width:"auto",height:"0px",overflow:"hidden",visibility:"hidden"}:n={visibility:"visible",position:"relative",width:"auto"},e.jsx(y.default,{as:l.Container,fluid:!0,post:i,style:n},i.slug)}):null),k=({posts:t,activeItem:r,setActive:i})=>{const[n,s]=u.useState(t.findIndex(d=>d.slug===r)),[o,a]=u.useState(null),m=u.useRef(null);u.useEffect(()=>{if(o){const d=o.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:d,behavior:"smooth"})}},[o]);const g=(d,x)=>{const{index:c}=x,j=n===c?-1:c;s(j),i(t[c].slug),j!==-1&&a(d.currentTarget)};return e.jsx(l.Accordion,{fluid:!0,styled:!0,children:t.map((d,x)=>{var j;const c=(j=d.meta_fields)!=null&&j.icon?d.meta_fields.icon[0]:null;return e.jsxs(u.Fragment,{children:[e.jsx(l.Accordion.Title,{active:n===x,index:x,onClick:g,children:e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[c&&e.jsx(h.MediaProvider,{id:c,children:e.jsx(h.MediaConsumer,{children:e.jsx(h.PostIcon,{className:"icon"})})}),e.jsx("span",{dangerouslySetInnerHTML:{__html:d.title.rendered},style:{marginLeft:c?"10px":"0"}})]}),e.jsx(l.Icon,{name:"chevron down"})]})}),e.jsx(l.Accordion.Content,{className:"accordion-post-content",active:n===x,children:e.jsx("div",{ref:m,children:e.jsx(y.default,{post:d,as:l.Container,fluid:!0})})})]},d.id)})})},R=({posts:t,showLabels:r,height:i})=>{const[n,s]=u.useState(t?t[0].slug:null);return u.useEffect(()=>{setTimeout(()=>{if(window.location.hash){const o=window.location.hash.substr(1),a=document.getElementById(o);a&&t.map(m=>m.slug).indexOf(o)>-1&&(s(o),a.scrollIntoView({behavior:"auto",block:"start"}))}},0)},[t]),e.jsxs(u.Fragment,{children:[t.map(o=>e.jsx("anchor",{id:o.slug},o.slug)),e.jsx(l.Menu,{className:"tabbed posts",text:!0,children:e.jsx(q,{showLabels:r,posts:t,setActive:s,activeItem:n})}),e.jsx(l.Container,{className:"content-tab",style:{height:`${i}px`},children:e.jsx(C,{posts:t,activeItem:n})})]})},D=({posts:t,showLabels:r,showIcons:i,height:n})=>{const[s,o]=u.useState(t?t[0].slug:null);return e.jsx(u.Fragment,{children:e.jsxs(l.Grid,{stackable:!0,className:"tabbed posts",columns:t.length,style:{height:n+"px"},children:[e.jsx($,{showIcons:i,showLabels:r,posts:t,activeItem:s,setActive:o}),e.jsx(l.Grid.Row,{style:{height:`${n}px`},children:e.jsx(l.Grid.Column,{width:16,className:"content",children:e.jsx(l.Container,{className:"content-tab",style:{height:`${n}px`},children:e.jsx(C,{className:"content-tab",posts:t,activeItem:s})})})})]})})},G=t=>{var w;let{"data-type":r,"data-taxonomy":i,"data-categories":n,"data-items":s,"data-theme":o="light","data-show-icons":a,"data-use-scrolls":m,"data-show-labels":g,"data-height":d,"data-preview-mode":x="Desktop",pageModuleProps:c,parent:j,editing:b,unique:I}=t;c!=null&&c.previewMode&&(c!=null&&c.editing)&&(x=c.previewMode,b=c.editing);const p=t.intl.locale,M=Array.isArray(n)?n.join(",").toString():n,f=m==="true",v=f?d:void 0,{width:_}=L.useWindowDimensionsAndDevice(),N=_<=1024,P=x!=="Desktop"&&b,T=N&&!b;return b&&!r?e.jsx(l.Container,{className:`viz tabbed posts ${b?"editing":""} ${f?"scrollable":""}`,fluid:!0}):e.jsx(l.Container,{className:`viz tabbed posts ${b?"editing":""} ${f?"scrollable":""}`,fluid:!0,children:e.jsx(h.PostProvider,{locale:p,type:r,taxonomy:i,categories:M,store:`tabbedposts_${j}_${I}`,page:1,perPage:s,children:e.jsx(h.PostConsumer,{children:e.jsx(h.PostConsumer,{children:T||P?e.jsx(k,{posts:s,activeItem:(w=s[0])==null?void 0:w.slug,setActive:()=>{}}):o==="light"?e.jsx(R,{height:v,showLabels:g==="true"}):e.jsx(D,{height:v,showLabels:g==="true",showIcons:a==="true"})})})})})},E=(t,r)=>{const i=t.getIn(["data","pageModuleProps"]),n={};return i&&(n.pageModuleProps=i),n},H={},z=A.connect(E,H)(S.injectIntl(G));exports.default=z;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),r=require("react"),u=require("react-router"),m=require("semantic-ui-react"),w=require("@devgateway/wp-react-lib"),f=require("../embeddable/index.js"),P=()=>{const d=u.useParams(),[p]=u.useSearchParams(),[o]=r.useState(()=>f.getComponentByNameIgnoreCase(d.name??"")),[n,l]=r.useState(()=>Object.fromEntries(p.entries())),i=r.useRef(n);i.current=n;const a=r.useCallback(g=>{const t=g.data;if(t.messageType&&t.messageType==="component-attributes"){const c={...i.current};Object.keys(t).forEach(s=>{c["data-"+s.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()]=typeof t[s]=="object"?JSON.stringify(t[s]):t[s]}),l(c)}},[]);return r.useEffect(()=>(window.addEventListener("message",a,!1),window.parent&&window.parent.postMessage({type:"componentReady",value:!0},"*"),window.top&&window.top.postMessage({type:"componentReady",value:!0},"*"),()=>{window.removeEventListener("message",a)}),[a]),e.jsx("div",{children:e.jsx(m.Container,{fluid:!0,className:"editing",children:o?e.jsx(o,{...n,editing:!0}):e.jsx(m.Segment.Group,{color:"red",textAlign:"center",children:e.jsx("h1",{children:"Wrong Component Name"})})})})},j=()=>e.jsx(w.SettingsConsumer,{children:e.jsx(P,{})});exports.default=j;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),s=require("react"),u=require("react-router"),m=require("semantic-ui-react"),w=require("@devgateway/wp-react-lib"),f=require("../embeddable/index.js"),P=()=>{const d=u.useParams(),[p]=u.useSearchParams(),[o]=s.useState(()=>f.getComponentByNameIgnoreCase(d.name??"")),[n,l]=s.useState(()=>Object.fromEntries(p.entries())),i=s.useRef(n);i.current=n;const a=s.useCallback(g=>{const e=g.data;if(e.messageType&&e.messageType==="component-attributes"){const c={...i.current};Object.keys(e).forEach(r=>{c["data-"+r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()]=typeof e[r]=="object"?Array.isArray(e[r])?e[r].join(","):JSON.stringify(e[r]):e[r]}),l(c)}},[]);return s.useEffect(()=>(window.addEventListener("message",a,!1),window.parent&&window.parent.postMessage({type:"componentReady",value:!0},"*"),window.top&&window.top.postMessage({type:"componentReady",value:!0},"*"),()=>{window.removeEventListener("message",a)}),[a]),t.jsx("div",{children:t.jsx(m.Container,{fluid:!0,className:"editing",children:o?t.jsx(o,{...n,editing:!0}):t.jsx(m.Segment.Group,{color:"red",textAlign:"center",children:t.jsx("h1",{children:"Wrong Component Name"})})})})},j=()=>t.jsx(w.SettingsConsumer,{children:t.jsx(P,{})});exports.default=j;