@devgateway/dvz-ui-react 1.9.11 → 1.9.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/embeddable/map/index.js +2 -2
- package/dist/cjs/embeddable/map/map.js +4 -4
- package/dist/cjs/embeddable/map/mapHelpers.js +1 -1
- package/dist/cjs/styles.css +1 -1
- package/dist/esm/embeddable/map/index.js +65 -65
- package/dist/esm/embeddable/map/map.js +436 -453
- package/dist/esm/embeddable/map/mapHelpers.js +88 -104
- package/dist/esm/styles.css +1 -1
- package/dist/types/embeddable/map/mapHelpers.d.ts +0 -2
- package/package.json +1 -1
|
@@ -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"),
|
|
2
|
-
{label}: %({value},2)`,"data-show-no-data-tooltip":
|
|
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,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("react/jsx-runtime"),Je=require("react-intl"),$t=require("d3"),b=require("semantic-ui-react"),h=require("react"),Jt=require("./legend.js"),k=require("../common/MapTooltip.js"),I=require("../../utils/deviceType.js"),f=require("./mapHelpers.js"),Xt=require("../../conf/index.js");function Zt(L){const U=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(L){for(const w in L)if(w!=="default"){const X=Object.getOwnPropertyDescriptor(L,w);Object.defineProperty(U,w,X.get?X:{enumerable:!0,get:()=>L[w]})}}return U.default=L,Object.freeze(U)}const u=Zt($t),Yt=["mobile","tablet","midTablet"].includes(I.default()),$e=["mobile","tablet"].includes(I.default());function Kt(L){const{unique:U,editing:w,source:X,center:ne,scale:Fe,height:we,width:Xe,topoJSONField:Ze,mappingField:x,transformedData:p,legendBreaks:Ae,mapLabelField:A,mapLabelShowValue:se,showOverallValue:Te,measureSelectorLabel:Me,valueFormat:je,autoGenerateBreaks:Ne,showNoDataLabel:Ce,numberOfBreaks:Ye,colorScheme:Ke,symbols:ke,tooltipTheme:Qe,labelFontSize:te,labelFontColor:Ie,labelFontWeight:et,legendFontSize:tt,customTooltips:rt,tooltipFontSize:lt,showAdminUnitLabel:ae,mapNoDataColor:Ee,mapBoundaryColor:nt,mapFocusBoundaryColor:st,highlightedLocation:z,tooltipFormat:Se,showNoDataTooltip:at,fields:ot,mapContainerBgColor:it,mapPosition:v,mainLayerId:_,enabledLayers:D,pointLabelColor:ct,pointLabelFormat:ut,highlightedLocLabelFormat:pt,mapType:G,defaultPointColor:Oe,zoomOnFilter:dt,zoomOnFilterField:P,noDataText:ft,labelsExclusionList:oe,showShadingLayerLabels:ze,appliedFilters:m,intl:T,legendTitle:mt,nationalAverageLabel:gt,zoomEnabled:ie,showTooltip:ce}=L;console.log("Map props:",L);const[W,ht]=h.useState(()=>p&&p.measures&&p.measures.length>1?p.measures[0]:null),[q,yt]=h.useState(null),[De,ue]=h.useState(!1),[B,pe]=h.useState(null),de=h.useRef(null),M=h.useRef(null),F=h.useRef(null),V=h.useRef(null),j=h.useRef(null),Pe=h.useRef(null),E=h.useRef(null),Re=h.useRef(!1),fe=h.useRef(null),me=h.useRef(null),N=h.useRef({}),ge=h.useRef(null),Z=(p==null?void 0:p.types)||[];function he(){return de.current?de.current.offsetWidth:Xe}function ye(){return we}j.current===null&&(j.current=u.zoom().scaleExtent([1,16]).on("zoom",e=>N.current.zoomed(e)).on("end",e=>N.current.zoomEnd(e))),F.current===null&&(Pe.current=f.deviceTranslateMap[I.default()],F.current=u.geoMercator().scale(Fe).center(ne).translate([he()/Pe.current,ye()/2]),V.current=u.geoPath().projection(F.current));function y(){return".map.wrapper."+U}function S(){let e=W;return!e&&p&&p.measures&&p.measures.length>1&&(e=p.measures[0]),e}function _e(){return B&&B.length>0?B.map(t=>{const a=D.find(n=>n.id==t.id);return t.index=a?a.index:0,t}).sort((t,a)=>parseInt(t.index)<parseInt(a.index)?1:parseInt(t.index)>parseInt(a.index)?-1:0):[]}function bt(){const e=_e();let t;return e&&(t=e.filter(a=>a.id==_||a.id==null)[0]||e[0]),t?t.data:null}function We(e){return f.extractFeatures(e,Ze)}function Y(){const e=bt(),t=_e();if(e){let a=[];try{a=We(e),a.map(l=>{l.properties.layerId=_;const r=t.find(s=>String(s.id)===String(_));return r&&(l.properties.layerMappingField=r.layerMappingField,l.properties.layerDatasource=r.layerDatasource,l.properties.layerApiField=r.layerApiField,l.properties.layerLocale=r.layerLocale,l.properties.displayLayerLabels=r.displayLayerLabels),D.forEach(s=>{String(s.id)==_&&Object.keys(s||{}).forEach(o=>{l.properties[o]=s[o]})}),l}),t&&t.forEach(l=>{if(l.id!=_){let r=We(l.data);r=r.map(s=>(s.properties.layerId=l.id,s.properties.layerMappingField=l.layerMappingField,s.properties.layerDatasource=l.layerDatasource,s.properties.layerApiField=l.layerApiField,s.properties.layerLocale=l.layerLocale,s.properties.displayLayerLabels=l.displayLayerLabels,s)),a=[...r,...a]}})}catch(l){console.log("error updating features .."+l)}const n=a.filter(l=>l.properties!=null);let i=p.locationsData;return p.measures&&p.measures.length>1&&(i=p.locationsData.filter(l=>l.measure===S())),n.map(l=>{if(i){const r=i.find(s=>{const o=s.label?(""+s.label).toLowerCase():"",d=l.properties[x]?l.properties[x].toLowerCase():"";return o===d});if(r){let s=r.measure;p.measureLabelMap&&r.measure&&p.measureLabelMap[r.measure]&&(s=p.measureLabelMap[r.measure]),l.properties.value=r.value,l.properties.measure=r.measure,l.properties.measureLabel=s,l.properties.children=r.children,l.properties.variables=r.variables,l.properties.hasDataRow=!0,Object.keys(r).forEach(o=>{l.properties[o]=r[o]})}else l.properties.value=null,l.properties.measure=null,l.properties.children=null,l.properties.measureLabel=null,l.properties.hasDataRow=!1}}),n}return[]}function Be(){if(pe([]),ue(!0),D&&D.length>0){const e=[];D.forEach(t=>{e.push(new Promise(a=>{u.json(Xt.Config.REACT_APP_WP_API+"/wp/v2/media/"+t.id).then(n=>{a({id:t.id,url:n.source_url,index:t.index,layerMappingField:t.layerMappingField,layerDatasource:t.datasource,layerApiField:t.apiField,layerLocale:t.locale,displayLayerLabels:t.displayLayerLabels})}).catch(function(){a({id:t.id,url:null,index:t.index,layerMappingField:t.layerMappingField,layerDatasource:t.datasource,layerApiField:t.apiField,layerLocale:t.locale,displayLayerLabels:t.displayLayerLabels})})}))}),Promise.all(e).then(t=>{const a=[];t.forEach(n=>{n.url&&a.push(new Promise(i=>{u.json(n.url).then(l=>{i({id:n.id,data:l,index:n.index,layerMappingField:n.layerMappingField,layerDatasource:n.layerDatasource,layerApiField:n.layerApiField,layerLocale:n.layerLocale,displayLayerLabels:n.displayLayerLabels})})}))}),Promise.all(a).then(n=>{pe(n),ue(!1)})})}else u.json(X).then(e=>{pe([{id:null,url:X,data:e,index:0,layerMappingField:null,layerDatasource:null,layerApiField:null,layerLocale:null,displayLayerLabels:!1}]),ue(!1)})}function vt(e){u.select(y()).select("svg").selectAll("circle").attr("r",e.k>1?6/e.k:6)}function H(e){return f.getLabelBoxWidth(e,A)}function re(){return f.getLabelBoxHeight(se)}function be(e){return e.properties.LABEL_LATITUDE&&e.properties.LABEL_LONGITUDE?F.current([e.properties.LABEL_LONGITUDE,e.properties.LABEL_LATITUDE]):V.current.centroid(e)}function Lt(e){u.select(y()).selectAll(".map-labels-container").each((t,a,n)=>{const i=u.select(n[a]),l=i.select("div"),r=e.k>1?e.k:1,s=te/r;l.style("font-size",`${s}px`);const o=be(t),d=H(t)/r,g=o[0]-d/2,C=e.k>1?10/e.k:10,R=o[1]-C;i.attr("x",g).attr("y",R).attr("width",H(t)/r).attr("height",re()/r)})}function xt(e){u.select(y()).selectAll(".point-labels-container").each((t,a,n)=>{const i=u.select(n[a]),l=i.select("div"),r=e.k>1?e.k:1,s=te/r;l.style("font-size",`${s}px`);const o=F.current([t.geometry.coordinates[1],t.geometry.coordinates[0]]),d=(H(t)+20)/r,g=re()/r,C=o[0]-d/2,R=o[1]-g/2;i.attr("x",C).attr("y",R).attr("width",d).attr("height",g)})}function Ft(e){M.current.style("visibility","hidden");const t=e.transform;u.select(y()).select("svg").select("g").attr("transform",t),vt(t),Lt(t),xt(t)}function wt(e){const t=e.transform;E.current={k:t.k,x:t.x,y:t.y},w&&window.parent.postMessage({type:"map",value:JSON.stringify(E.current)},"*")}function At(){const e=u.select(y()).select("svg");e.select("g").selectAll(".active").attr("class",function(){return u.select(this).attr("class").replace(/background/gi,"")});let a=u.zoomIdentity;v&&!w?a=a.translate(v.x,v.y).scale(v.k):a=a.translate(0,0).scale(1),e.transition().duration(300).call(j.current.transform,a)}function He(){E.current=null,M.current.style("visibility","hidden"),At()}function Tt(){u.select(y()).select("svg").transition().call(j.current.scaleBy,1.5)}function Mt(){u.select(y()).select("svg").transition().call(j.current.scaleBy,.6667)}function K(){if(Ne){const e=Y();return f.generateBreaks(e,{autoGenerateBreaks:Ne,numberOfBreaks:Ye,colorScheme:Ke})}else{let e=Ae;return S()&&(e=Ae.filter(t=>t.measure===S()).filter(t=>{if(t.filters&&t.filters.length>0&&m&&JSON.stringify(m)!=="{}"){const n=Object.keys(m);return t.filters.filter(l=>{if(n.indexOf(l.field)!=-1){const r=m[l.field],s=l.values;return r.join(",").indexOf(s)!=-1}return!1}).length>0}return!0})),e}}function ve(e,t){return f.fillColor(e,t,{mapNoDataColor:Ee,mainLayerId:_,enabledLayers:D,selectedMeasure:W})}function jt(e){return f.createLabel(e,{mapLabelField:A,mapLabelShowValue:se,intl:T,valueFormat:je,showNoDataLabel:Ce,showAdminUnitLabel:ae,noDataText:ft,selectedMeasure:S()},Z,k.formatContent)}function Ue(e,t){const a=[...e.filter(n=>z!=n.properties[A]),...e.filter(n=>z==n.properties[A])];Ct(a),Nt(a),kt(a,t),ke.length>0&&It(ke,a)}function Nt(e){const t=u.select(y()).select("svg").select("g");if(t.selectAll(".map-labels-container").size()>0){console.log("Labels already exist, skipping redraw...");return}t.selectAll(".map-labels").data(e.filter(n=>oe&&oe.length>0?!oe.includes(n.properties[A]):!0)).enter().append("foreignObject").attr("class","map-labels-container").attr("x",n=>{const i=be(n);if(n.properties[A]){const l=H(n);return i[0]-l/2}return i[0]}).attr("y",n=>be(n)[1]-10).attr("width",n=>H(n)).attr("height",n=>re()).attr("font-size",()=>`${te}px`).attr("overflow","visible").attr("opacity",1).style("display",n=>ae===f.SHOW_ALL||ae===f.SHOW_IF_HAS_DATA&&n.properties.hasDataRow||n.properties.displayLayerLabels?"block":"none").attr("pointer-events",G=="POINTS_MAP"?"none":"all").on("mouseover",$).on("mousemove",Q).on("mouseout",J).append("xhtml:div").style("font-size",()=>`${te}px`).style("color",()=>Ie).style("font-weight",()=>et).style("background-color",n=>n.properties.hasDataRow&&se&&(n.properties.value!=null||n.properties.value==null&&Ce)?"#fff6e1":"none").style("border-radius",()=>"4px").style("line-height","95%").style("text-align","center").html(n=>jt(n))}function Ct(e){const t=K(),a=u.select(y()).select("svg").select("g"),n=e.filter(i=>i.geometry&&i.geometry&&(i.geometry.type=="Polygon"||i.geometry.type=="MultiPolygon"));n.length>0&&a.selectAll("path").data(n).join("path").attr("d",V.current).attr("fill",i=>ve(i,t)).attr("stroke-width",i=>z==i.properties[A]?1.2:.4).attr("stroke",i=>z==i.properties[A]?st:nt).on("click",St)}function kt(e,t){const a=u.select(y()).select("svg").select("g");let n=[];if(p.pointsData){let r=q;t&&m&&m[P]&&(r=m[P]),n=p.pointsData.filter(s=>s.lat&&s.lng&&s.label==r).map(s=>({properties:{label:s.label,lat:s.lat,lng:s.lng,value:s.value,variables:s.variables}})),a.selectAll(".circle").data(n).enter().append("circle").attr("id",(s,o)=>"circle"+o).attr("cx",s=>F.current([s.properties.lng,s.properties.lat])[0]).attr("cy",s=>F.current([s.properties.lng,s.properties.lat])[1]).attr("r",()=>2).style("stroke-width",.5).style("fill",()=>Oe).on("mouseover",(s,o)=>Et(s,o)).on("mouseout",J)}const i=K();let l=[];ze==f.SHOW_ALL?l=e.filter(r=>r.geometry&&r.geometry.type=="Point"):ze==f.SHOW_IF_HAS_DATA&&(l=e.filter(r=>r.geometry&&r.geometry.type=="Point"&&r.properties.hasDataRow)),l.length>0&&a.selectAll(".point-labels").data(l).enter().append("foreignObject").attr("id",(r,s)=>"point-label"+s).attr("class","point-labels-container").attr("x",r=>{const s=H(r)+20;return F.current([r.geometry.coordinates[1],r.geometry.coordinates[0]])[0]-s/2}).attr("y",r=>F.current([r.geometry.coordinates[1],r.geometry.coordinates[0]])[1]-re()/2).attr("width",r=>H(r)+20).attr("height",()=>"1px").attr("overflow","visible").attr("font-size","12px").style("opacity",1).append("xhtml:div").style("color",()=>ct).style("font-weight",()=>"bold").style("background-color",r=>ve(r,i)).style("padding",()=>"5px 3px 5px 3px").style("border-radius",()=>"4px").style("line-height","100%").style("text-align","center").html(r=>k.formatContent(ut,{value:r.properties.value,locationName:r.properties[A]},T)).on("mouseover",(r,s,o)=>{u.select(y()).select("svg").select("g").select("#point-label"+o).raise(),$(r,s)}).on("mousemove",Q).on("mouseout",J)}function It(e,t){const a=u.select(y()).select("svg").select("g");e.forEach(n=>{if(n.field&&n.image&&n.values){const i=t.filter(r=>{const s=f.LOCATION==n.field?x:"value",o=(r.properties[s]||(r.properties.variables?r.properties.variables[s]:""))+"",g=(n.values+"").split(",");return r.properties.LATITUDE&&r.properties.LONGITUDE&&g.filter(C=>C.trim().toLowerCase()==o.trim().toLowerCase()).length>0}),l=t.filter(r=>{const s=f.LOCATION==n.field?x:"value",o=(r.properties[s]||(r.properties.variables?r.properties.variables[s]:""))+"",g=(n.values+"").split(",");return!r.properties.LATITUDE&&!r.properties.LONGITUDE&&g.filter(C=>C.trim().toLowerCase()==o.trim().toLowerCase()).length>0});a.selectAll("image").data(i).enter().append("image").attr("width",40).attr("height",40).attr("class","map-symbol").attr("xlink:href","/"+n.image).attr("transform",r=>"translate("+F.current([r.properties.LONGITUDE,r.properties.LATITUDE])+")").on("mouseover",$).on("mousemove",Q).on("mouseout",J),a.selectAll("image").data(l).enter().append("image").attr("width",40).attr("height",40).attr("class","map-symbol").attr("xlink:href","/"+n.image).attr("x",r=>V.current.centroid(r)[0]-20).attr("y",r=>V.current.centroid(r)[1]).on("mouseover",$).on("mousemove",Q).on("mouseout",J)}})}function $(e,t){console.log("Showing tooltip for data:",t);const a=["mobile","tablet","midTablet"].includes(I.default());if(ce&&t.properties.value!==null||ce&&at){u.select(y()).select("svg").select("g").selectAll(".active").attr("class",o=>o.properties[x]===t.properties[x]?"focus"+(a?" zoom-enabled":""):"active"+(a?" zoom-enabled":""));const l=Se||`{locationName} %({value},2)
|
|
2
|
-
{label}: %({value},2)`,r=t.properties.variables||{},
|
|
3
|
-
`),
|
|
4
|
-
{label}: %({value},2)`,
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("react/jsx-runtime"),$e=require("react-intl"),Vt=require("d3"),y=require("semantic-ui-react"),b=require("react"),$t=require("./legend.js"),C=require("../common/MapTooltip.js"),R=require("../../utils/deviceType.js"),f=require("./mapHelpers.js"),Jt=require("../../conf/index.js");function Xt(L){const U=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(L){for(const F in L)if(F!=="default"){const X=Object.getOwnPropertyDescriptor(L,F);Object.defineProperty(U,F,X.get?X:{enumerable:!0,get:()=>L[F]})}}return U.default=L,Object.freeze(U)}const p=Xt(Vt),Zt=["mobile","tablet","midTablet"].includes(R.default()),Ve=["mobile","tablet"].includes(R.default());function Yt(L){const{unique:U,editing:F,source:X,center:se,scale:xe,height:Fe,width:Je,topoJSONField:Xe,mappingField:v,transformedData:u,legendBreaks:we,mapLabelField:w,mapLabelShowValue:ne,showOverallValue:Ae,measureSelectorLabel:Me,valueFormat:Te,autoGenerateBreaks:je,showNoDataLabel:Ne,numberOfBreaks:Ze,colorScheme:Ye,symbols:Ce,tooltipTheme:Ke,labelFontSize:Z,labelFontColor:ke,labelFontWeight:Qe,legendFontSize:et,customTooltips:tt,tooltipFontSize:rt,showAdminUnitLabel:ae,mapNoDataColor:Ee,mapBoundaryColor:lt,mapFocusBoundaryColor:st,highlightedLocation:O,tooltipFormat:Ie,showNoDataTooltip:nt,fields:at,mapContainerBgColor:ot,mapPosition:A,mainLayerId:_,enabledLayers:z,pointLabelColor:it,pointLabelFormat:ct,highlightedLocLabelFormat:ut,mapType:Y,defaultPointColor:Se,zoomOnFilter:pt,zoomOnFilterField:D,noDataText:dt,labelsExclusionList:oe,showShadingLayerLabels:Oe,appliedFilters:m,intl:M,legendTitle:ft,nationalAverageLabel:mt,zoomEnabled:ie,showTooltip:ce}=L,[W,gt]=b.useState(()=>u&&u.measures&&u.measures.length>1?u.measures[0]:null),[G,ht]=b.useState(null),[ze,ue]=b.useState(!1),[B,pe]=b.useState(null),T=b.useRef(null),x=b.useRef(null),q=b.useRef(null),k=b.useRef(null),E=b.useRef(null),De=b.useRef(!1),de=b.useRef(null),fe=b.useRef(null),j=b.useRef({}),me=b.useRef(null),K=(u==null?void 0:u.types)||[];function ge(){return Je}function he(){return Fe-100}k.current===null&&(k.current=p.zoom().scaleExtent([1,16]).on("zoom",e=>j.current.zoomed(e)).on("end",e=>j.current.zoomEnd(e))),x.current===null&&(x.current=p.geoMercator().scale(xe).center(se).translate([ge()/2,he()/2]),q.current=p.geoPath().projection(x.current));function g(){return".map.wrapper."+U}function I(){let e=W;return!e&&u&&u.measures&&u.measures.length>1&&(e=u.measures[0]),e}function Pe(){return B&&B.length>0?B.map(t=>{const a=z.find(l=>l.id==t.id);return t.index=a?a.index:0,t}).sort((t,a)=>parseInt(t.index)<parseInt(a.index)?1:parseInt(t.index)>parseInt(a.index)?-1:0):[]}function yt(){const e=Pe();let t;return e&&(t=e.filter(a=>a.id==_||a.id==null)[0]||e[0]),t?t.data:null}function Re(e){return f.extractFeatures(e,Xe)}function Q(){const e=yt(),t=Pe();if(e){let a=[];try{a=Re(e),a.map(s=>{s.properties.layerId=_;const r=t.find(n=>String(n.id)===String(_));return r&&(s.properties.layerMappingField=r.layerMappingField,s.properties.layerDatasource=r.layerDatasource,s.properties.layerApiField=r.layerApiField,s.properties.layerLocale=r.layerLocale,s.properties.displayLayerLabels=r.displayLayerLabels),z.forEach(n=>{String(n.id)==_&&Object.keys(n||{}).forEach(o=>{s.properties[o]=n[o]})}),s}),t&&t.forEach(s=>{if(s.id!=_){let r=Re(s.data);r=r.map(n=>(n.properties.layerId=s.id,n.properties.layerMappingField=s.layerMappingField,n.properties.layerDatasource=s.layerDatasource,n.properties.layerApiField=s.layerApiField,n.properties.layerLocale=s.layerLocale,n.properties.displayLayerLabels=s.displayLayerLabels,n)),a=[...r,...a]}})}catch(s){console.log("error updating features .."+s)}const l=a.filter(s=>s.properties!=null);let i=u.locationsData;return u.measures&&u.measures.length>1&&(i=u.locationsData.filter(s=>s.measure===I())),l.map(s=>{if(i){const r=i.find(n=>{const o=n.label?(""+n.label).toLowerCase():"",d=s.properties[v]?s.properties[v].toLowerCase():"";return o===d});if(r){let n=r.measure;u.measureLabelMap&&r.measure&&u.measureLabelMap[r.measure]&&(n=u.measureLabelMap[r.measure]),s.properties.value=r.value,s.properties.measure=r.measure,s.properties.measureLabel=n,s.properties.children=r.children,s.properties.variables=r.variables,s.properties.hasDataRow=!0,Object.keys(r).forEach(o=>{s.properties[o]=r[o]})}else s.properties.value=null,s.properties.measure=null,s.properties.children=null,s.properties.measureLabel=null,s.properties.hasDataRow=!1}}),l}return[]}function _e(){if(pe([]),ue(!0),z&&z.length>0){const e=[];z.forEach(t=>{e.push(new Promise(a=>{p.json(Jt.Config.REACT_APP_WP_API+"/wp/v2/media/"+t.id).then(l=>{a({id:t.id,url:l.source_url,index:t.index,layerMappingField:t.layerMappingField,layerDatasource:t.datasource,layerApiField:t.apiField,layerLocale:t.locale,displayLayerLabels:t.displayLayerLabels})}).catch(function(){a({id:t.id,url:null,index:t.index,layerMappingField:t.layerMappingField,layerDatasource:t.datasource,layerApiField:t.apiField,layerLocale:t.locale,displayLayerLabels:t.displayLayerLabels})})}))}),Promise.all(e).then(t=>{const a=[];t.forEach(l=>{l.url&&a.push(new Promise(i=>{p.json(l.url).then(s=>{i({id:l.id,data:s,index:l.index,layerMappingField:l.layerMappingField,layerDatasource:l.layerDatasource,layerApiField:l.layerApiField,layerLocale:l.layerLocale,displayLayerLabels:l.displayLayerLabels})})}))}),Promise.all(a).then(l=>{pe(l),ue(!1)})})}else p.json(X).then(e=>{pe([{id:null,url:X,data:e,index:0,layerMappingField:null,layerDatasource:null,layerApiField:null,layerLocale:null,displayLayerLabels:!1}]),ue(!1)})}function bt(e){p.select(g()).select("svg").selectAll("circle").attr("r",e.k>1?6/e.k:6)}function H(e){return f.getLabelBoxWidth(e,w)}function le(){return f.getLabelBoxHeight(ne)}function ye(e){return e.properties.LABEL_LATITUDE&&e.properties.LABEL_LONGITUDE?x.current([e.properties.LABEL_LONGITUDE,e.properties.LABEL_LATITUDE]):q.current.centroid(e)}function vt(e){p.select(g()).selectAll(".map-labels-container").each((t,a,l)=>{const i=p.select(l[a]),s=i.select("div"),r=R.default()==="mobile"||R.default()==="tablet",n=e.k>1?e.k:1,o=r?Z*.6:Z/n,d=r?1:n;s.style("font-size",`${o}px`);const h=ye(t),N=H(t)/d,P=h[0]-N/2,J=r?10:e.k>1?10/e.k:10,qe=h[1]-J;i.attr("x",P).attr("y",qe).attr("width",H(t)/d).attr("height",le()/d)})}function Lt(e){p.select(g()).selectAll(".point-labels-container").each((t,a,l)=>{const i=p.select(l[a]),s=i.select("div"),r=e.k>1?e.k:1,n=Z/r;s.style("font-size",`${n}px`);const o=x.current([t.geometry.coordinates[1],t.geometry.coordinates[0]]),d=(H(t)+20)/r,h=le()/r,N=o[0]-d/2,P=o[1]-h/2;i.attr("x",N).attr("y",P).attr("width",d).attr("height",h)})}function xt(e){T.current.style("visibility","hidden");const t=e.transform;p.select(g()).select("svg").select("g").attr("transform",t),bt(t),vt(t),Lt(t)}function Ft(e){const t=e.transform;E.current={k:t.k,x:t.x,y:t.y},F&&window.parent.postMessage({type:"map",value:JSON.stringify(E.current)},"*")}function wt(){const e=p.select(g()).select("svg");e.select("g").selectAll(".active").attr("class",function(){return p.select(this).attr("class").replace(/background/gi,"")});let a=p.zoomIdentity;A&&!F?a=a.translate(A.x,A.y).scale(A.k):a=a.translate(0,0).scale(1),e.transition().duration(300).call(k.current.transform,a)}function We(){E.current=null,T.current.style("visibility","hidden"),wt()}function At(){p.select(g()).select("svg").transition().call(k.current.scaleBy,1.5)}function Mt(){p.select(g()).select("svg").transition().call(k.current.scaleBy,.6667)}function ee(){if(je){const e=Q();return f.generateBreaks(e,{autoGenerateBreaks:je,numberOfBreaks:Ze,colorScheme:Ye})}else{let e=we;return I()&&(e=we.filter(t=>t.measure===I()).filter(t=>{if(t.filters&&t.filters.length>0&&m&&JSON.stringify(m)!=="{}"){const l=Object.keys(m);return t.filters.filter(s=>{if(l.indexOf(s.field)!=-1){const r=m[s.field],n=s.values;return r.join(",").indexOf(n)!=-1}return!1}).length>0}return!0})),e}}function be(e,t){return f.fillColor(e,t,{mapNoDataColor:Ee,mainLayerId:_,enabledLayers:z,selectedMeasure:W})}function Tt(e){return f.createLabel(e,{mapLabelField:w,mapLabelShowValue:ne,intl:M,valueFormat:Te,showNoDataLabel:Ne,showAdminUnitLabel:ae,noDataText:dt,selectedMeasure:I()},K,C.formatContent)}function Be(e,t){const a=[...e.filter(l=>O!=l.properties[w]),...e.filter(l=>O==l.properties[w])];Nt(a),jt(a),Ct(a,t),Ce.length>0&&kt(Ce,a)}function jt(e){const t=p.select(g()).select("svg").select("g");if(t.selectAll(".map-labels-container").size()>0){console.log("Labels already exist, skipping redraw...");return}t.selectAll(".map-labels").data(e.filter(l=>oe&&oe.length>0?!oe.includes(l.properties[w]):!0)).enter().append("foreignObject").attr("class","map-labels-container").attr("x",l=>{const i=ye(l);if(l.properties[w]){const s=H(l);return i[0]-s/2}return i[0]}).attr("y",l=>ye(l)[1]-10).attr("width",l=>H(l)).attr("height",l=>le()).attr("font-size",()=>`${Z}px`).attr("overflow","visible").attr("opacity",1).style("display",l=>ae===f.SHOW_ALL||ae===f.SHOW_IF_HAS_DATA&&l.properties.hasDataRow||l.properties.displayLayerLabels?"block":"none").attr("pointer-events",Y=="POINTS_MAP"?"none":"all").on("mouseover",V).on("mousemove",te).on("mouseout",$).append("xhtml:div").style("font-size",()=>`${Z}px`).style("color",()=>ke).style("font-weight",()=>Qe).style("background-color",l=>l.properties.hasDataRow&&ne&&(l.properties.value!=null||l.properties.value==null&&Ne)?"#fff6e1":"none").style("border-radius",()=>"4px").style("line-height","95%").style("text-align","center").html(l=>Tt(l))}function Nt(e){const t=ee(),a=p.select(g()).select("svg").select("g"),l=e.filter(i=>i.geometry&&i.geometry&&(i.geometry.type=="Polygon"||i.geometry.type=="MultiPolygon"));l.length>0&&a.selectAll("path").data(l).join("path").attr("d",q.current).attr("fill",i=>be(i,t)).attr("stroke-width",i=>O==i.properties[w]?1.2:.4).attr("stroke",i=>O==i.properties[w]?st:lt).on("click",It)}function Ct(e,t){const a=p.select(g()).select("svg").select("g");let l=[];if(u.pointsData){let r=G;t&&m&&m[D]&&(r=m[D]),l=u.pointsData.filter(n=>n.lat&&n.lng&&n.label==r).map(n=>({properties:{label:n.label,lat:n.lat,lng:n.lng,value:n.value,variables:n.variables}})),a.selectAll(".circle").data(l).enter().append("circle").attr("id",(n,o)=>"circle"+o).attr("cx",n=>x.current([n.properties.lng,n.properties.lat])[0]).attr("cy",n=>x.current([n.properties.lng,n.properties.lat])[1]).attr("r",()=>2).style("stroke-width",.5).style("fill",()=>Se).on("mouseover",(n,o)=>Et(n,o)).on("mouseout",$)}const i=ee();let s=[];Oe==f.SHOW_ALL?s=e.filter(r=>r.geometry&&r.geometry.type=="Point"):Oe==f.SHOW_IF_HAS_DATA&&(s=e.filter(r=>r.geometry&&r.geometry.type=="Point"&&r.properties.hasDataRow)),s.length>0&&a.selectAll(".point-labels").data(s).enter().append("foreignObject").attr("id",(r,n)=>"point-label"+n).attr("class","point-labels-container").attr("x",r=>{const n=H(r)+20;return x.current([r.geometry.coordinates[1],r.geometry.coordinates[0]])[0]-n/2}).attr("y",r=>x.current([r.geometry.coordinates[1],r.geometry.coordinates[0]])[1]-le()/2).attr("width",r=>H(r)+20).attr("height",()=>"1px").attr("overflow","visible").attr("font-size","12px").style("opacity",1).append("xhtml:div").style("color",()=>it).style("font-weight",()=>"bold").style("background-color",r=>be(r,i)).style("padding",()=>"5px 3px 5px 3px").style("border-radius",()=>"4px").style("line-height","100%").style("text-align","center").html(r=>C.formatContent(ct,{value:r.properties.value,locationName:r.properties[w]},M)).on("mouseover",(r,n,o)=>{p.select(g()).select("svg").select("g").select("#point-label"+o).raise(),V(r,n)}).on("mousemove",te).on("mouseout",$)}function kt(e,t){const a=p.select(g()).select("svg").select("g");e.forEach(l=>{if(l.field&&l.image&&l.values){const i=t.filter(r=>{const n=f.LOCATION==l.field?v:"value",o=(r.properties[n]||(r.properties.variables?r.properties.variables[n]:""))+"",h=(l.values+"").split(",");return r.properties.LATITUDE&&r.properties.LONGITUDE&&h.filter(N=>N.trim().toLowerCase()==o.trim().toLowerCase()).length>0}),s=t.filter(r=>{const n=f.LOCATION==l.field?v:"value",o=(r.properties[n]||(r.properties.variables?r.properties.variables[n]:""))+"",h=(l.values+"").split(",");return!r.properties.LATITUDE&&!r.properties.LONGITUDE&&h.filter(N=>N.trim().toLowerCase()==o.trim().toLowerCase()).length>0});a.selectAll("image").data(i).enter().append("image").attr("width",40).attr("height",40).attr("class","map-symbol").attr("xlink:href","/"+l.image).attr("transform",r=>"translate("+x.current([r.properties.LONGITUDE,r.properties.LATITUDE])+")").on("mouseover",V).on("mousemove",te).on("mouseout",$),a.selectAll("image").data(s).enter().append("image").attr("width",40).attr("height",40).attr("class","map-symbol").attr("xlink:href","/"+l.image).attr("x",r=>q.current.centroid(r)[0]-20).attr("y",r=>q.current.centroid(r)[1]).on("mouseover",V).on("mousemove",te).on("mouseout",$)}})}function V(e,t){console.log("Showing tooltip for data:",t);const a=["mobile","tablet","midTablet"].includes(R.default());if(ce&&t.properties.value!==null||ce&&nt){p.select(g()).select("svg").select("g").selectAll(".active").attr("class",o=>o.properties[v]===t.properties[v]?"focus"+(a?" zoom-enabled":""):"active"+(a?" zoom-enabled":""));const s=Ie||`{locationName} %({value},2)
|
|
2
|
+
{label}: %({value},2)`,r=t.properties.variables||{},n={...t.properties,value:t.properties.value,measure:I(),measureLabel:t.properties.measureLabel,locationName:f.getTranslatedLocationName(t,v,K),label:f.getTranslatedLocationName(t,v,K),...r,...f.getFilters(m)};T.current.attr("class",Ke).style("position","absolute").style("visibility","hidden").style("visibility","visible").html(()=>{let o=`<div style='font-size:${rt}px;' class='tooltip-content' >`;if(t.properties.value!=null){const d=s.split(`
|
|
3
|
+
`),h=d[0],N=d.length>1?d[1]:null;let P=1,J;at.length>1&&Y!="POINTS_MAP"?(P=d.length>2?2:1,J=d[P]):J=null,h&&(o+=C.formatContent(h,n,M)),N&&(o.endsWith("<hr>")||(o+="<hr>"),o+=C.formatContent(N,n,M)),J&&t.properties.children&&t.properties.children.forEach(S=>{const Le={value:S.value,label:S.label,measure:I(),measureLabel:t.properties.measureLabel,...r,...S.variables,...f.getFilters(m)};o.endsWith("<hr>")||(o+="<hr>"),o+=C.formatContent(J,Le,M)}),d.length>P+1&&(o.endsWith("<hr>")||(o+="<hr>"),d.forEach((S,Le)=>{Le>P&&(o.endsWith("<hr>")||(o+="<hr>"),o+=C.formatContent(S,n,M))})),tt.filter(S=>S.location===t.properties[v]).forEach(S=>{o.endsWith("<hr>")||(o+="<hr>"),o+=S.tooltip})}else{const d=Ie||`{locationName} %({value},2)
|
|
4
|
+
{label}: %({value},2)`,h={value:null,measure:I(),measureLabel:t.properties.measureLabel,locationName:f.getTranslatedLocationName(t,v,K),...r};o+=C.formatContent(d,h,M),o+="</div>"}return o})}}function He(e){const a=T.current.node(),l=a?a.offsetWidth:0,i=window.scrollX+document.documentElement.clientWidth;let s=e.pageX;l&&s+l>i&&(s=e.pageX-l,s<window.scrollX&&(s=window.scrollX)),T.current.style("top",e.pageY+"px").style("left",s+"px").style("margin-left","8px")}function te(e){He(e)}function $(){ce&&(p.select(g()).select("svg").select("g").selectAll(".focus").attr("class","active"),T.current.style("visibility","hidden"))}function Et(e,t,a){V(e,t),T.current.style("visibility","visible"),He(e);const l=p.select(g()).select("svg").select("g");l.selectAll("circle").style("fill",Se).style("stroke","none"),l.select("#circle"+a).raise().style("fill","#fff")}function It(e,t){G!==t.properties[v]&&t.properties.value!==null&&ht(t.properties[v])}function St(e){const t=e&&e.appliedFilters||{},a=m||{};return t[D]!=a[D]}function Ot(e,t){let a=null;if(pt&&D){let l=G;t&&m&&m[D]&&(l=m[D]);const i=e.filter(s=>s.properties!=null&&s.properties[v]==l)[0];i&&i.properties!=null&&i.properties.value&&(a=i)}return a}function zt(){return f.classColor(ie)}function Dt(e,t){let a=ie;a||(a=["mobile","tablet"].includes(R.default()));const l=ee(),i=p.select(g());let s=i.select("svg");const r=ge(),n=he();s.empty()?s=i.append("svg"):s.selectAll("*").remove(),s.attr("style",`background-color:${ot};`).attr("viewBox",`0 0 ${r} ${n}`).attr("preserveAspectRatio","xMidYMid meet"),s.append("g").selectAll("path").data(e).enter().append("path").attr("fill",d=>be(d,l)).attr("d",p.geoPath().projection(x.current)).attr("class",()=>zt()).on("mouseover",Y!=="POINTS_MAP"?V:null).on("mousemove",Y!=="POINTS_MAP"?te:null).on("mouseout",Y!=="POINTS_MAP"?$:null),E.current&&s.transition().duration(300).call(k.current.transform,p.zoomIdentity.translate(E.current.x,E.current.y).scale(E.current.k)),!E.current&&A&&A.x&&A.y&&A.k&&s.transition().duration(300).call(k.current.transform,p.zoomIdentity.translate(A.x,A.y).scale(A.k)),a||F?s.call(k.current):s.on("dblclick.zoom",null);const o=Ot(e,t);if(o){const d=q.current.bounds(o),h=[(d[0][0]+d[1][0])/2,(d[0][1]+d[1][1])/2];s.transition().duration(750).call(k.current.transform,p.zoomIdentity.translate(r/2,n/2).scale(12).translate(-h[0],-h[1]))}}function Pt(){return u.nationalData.value}function Rt(e){W!=e&>(e)}function _t(){let e=u.locationsData;return u.measures&&u.measures.length>1&&(e=u.locationsData.filter(t=>t.measure===I())),e.find(t=>t.label===O)}function Wt(){if(!O)return null;const t=Q().find(a=>a.properties[w]===O);if(t&&t.properties.displayLayerLabels&&t.properties.layerLocale){const a=t.properties.layerMappingField||w,l=t.properties[a];return f.getTranslatedItemLabel(K,l,t.properties.layerLocale)}return O}function Bt(e){return f.getHighlightedLocationColor(e,ee(),Ee)}function Ht(){return c.jsx(y.Container,{className:"loading",children:c.jsx(y.Segment,{basic:!0,padded:!0,textAlign:"center",style:{margin:"30px"},children:c.jsx(y.Dimmer,{active:!0,inverted:!0,children:c.jsx(y.Loader,{size:"medium"})})})})}function Ut(){return c.jsxs(y.Message,{icon:!0,warning:!0,children:[c.jsx(y.Icon,{name:"map outline"}),c.jsxs(y.Message.Content,{children:[c.jsx(y.Message.Header,{children:"No map selected"}),"Pick one from the list in the ",c.jsx("strong",{children:"Map Layers"})," section."]})]})}j.current.zoomed=xt,j.current.zoomEnd=Ft,j.current.getFeatures=Q,j.current.updateFeatures=Be,j.current.getMapId=g,me.current||(me.current=()=>{let e=null;clearTimeout(e),e=setTimeout(()=>{p.select(j.current.getMapId()).selectAll(".map-labels-container").size()>0||j.current.updateFeatures(j.current.getFeatures(),!1)},300)}),b.useEffect(()=>{const e=me.current;return window.addEventListener("scroll",e,{passive:!0}),window.addEventListener("touchmove",e,{passive:!0}),_e(),T.current=p.select("body").append("div").style("position","absolute").style("visibility","hidden").style("pointer-events","none"),()=>{var t;window.removeEventListener("scroll",e),window.removeEventListener("touchmove",e),(t=T.current)==null||t.remove()}},[]),b.useEffect(()=>{if(!De.current){De.current=!0,de.current=L,fe.current={selectedMeasure:W,layers:B,selectedPolygon:G};return}const e=de.current,t=fe.current;if(D){const i=[],s=[],r=e.appliedFilters;r&&Object.keys(r).forEach(n=>{r[n]!=null&&r[n]instanceof Array&&i.push(...r[n].filter(o=>o!=Number.MIN_SAFE_INTEGER))}),m&&Object.keys(m).forEach(n=>{m[n]!=null&&m[n]instanceof Array&&s.push(...m[n].filter(o=>o!=Number.MIN_SAFE_INTEGER))}),i.length>0&&s.length==0&&We()}T.current.style("visibility","hidden"),e.enabledLayers.length!=z.length&&_e();const a=Q();e.center!==se&&(E.current=null,x.current.scale(xe).center(se).translate([ge()/2,he()/2]));const l=St(e);Dt(a,l),B&&u&&(u!=e.transformedData||B!=t.layers||W!=t.selectedMeasure||G!=t.selectedPolygon||e.mainLayerId!==_||JSON.stringify(e.enabledLayers)!=JSON.stringify(z))&&Be(Q(),l),de.current=L,fe.current={selectedMeasure:W,layers:B,selectedPolygon:G}});let ve=ie;ve||(ve=!!["mobile","tablet","midTablet"].includes(R.default()));const Gt=Pt(),qt=f.getFilters(m),re=_t(),Ue={backgroundColor:Bt(re),color:ke,fontSize:et+"px"};F&&(Ue.marginTop="25px");const Ge=()=>c.jsxs(y.Container,{fluid:!0,className:"footnote ",children:[c.jsxs(y.Grid,{columns:2,children:[L.app!=="csv"&&Ae&&c.jsx(y.Grid.Column,{textAlign:"left",width:4,children:c.jsxs("div",{className:"national-average-div",children:[c.jsx("span",{className:"national-avg-label",children:mt}),c.jsx("span",{className:"national-avg-value",children:C.formatContent(Te,{value:Gt},M)})]})}),c.jsx(y.Grid.Column,{textAlign:"right",width:L.app!=="csv"&&Ae?12:16,children:c.jsx($t.default,{filteredBreaks:ee(),formattedLegendTitle:C.formatContent(ft,{...qt},M),selectedMeasure:W,...L})})]}),c.jsx("div",{className:"measure-selector",children:c.jsxs("ul",{children:[Me&&c.jsx("li",{children:c.jsx("span",{className:"label",children:Me})}),u&&u.measures&&u.measures.length>1&&u.measures.map(e=>c.jsxs("li",{onClick:()=>Rt(e),children:[c.jsx("input",{checked:I()===e,type:"radio",value:e,readOnly:!0}),c.jsx("label",{children:u.measureLabelMap[e]||e})]},e))]})})]});return c.jsxs("div",{className:"map component wp-data-viz-map",children:[ze&&(F?Ut():Ht()),!ze&&c.jsxs(c.Fragment,{children:[!Ve&&c.jsx(Ge,{}),c.jsxs("div",{className:"map wrapper scaling-svg-container "+U,style:{height:Fe-f.deviceMapHeight[R.default()]+"px"},children:[re?c.jsx("div",{className:"highlighted-loc-info",style:Ue,children:c.jsxs("span",{children:[" ",C.formatContent(ut,{value:re.value,locationName:Wt()||re.label,measureName:re.measure},M)]})}):c.jsx(c.Fragment,{children:" "}),(F||ve)&&!Zt&&c.jsxs("div",{className:"control panel ignore",children:[c.jsx("div",{className:"zoom plus",onClick:At,children:c.jsx(y.Icon,{name:"plus",size:"large"})}),c.jsx("div",{className:"zoom minus",onClick:Mt,children:c.jsx(y.Icon,{name:"minus",size:"large"})}),c.jsx(y.Popup,{content:c.jsx($e.FormattedMessage,{id:"map.reset.tooltip",defaultMessage:"Reset zoom"}),trigger:c.jsx("div",{className:"reset",onClick:We,children:c.jsx(y.Icon,{name:"repeat",size:"large"})})})]})]}),Ve&&c.jsx(Ge,{})]})]})}const Kt=$e.injectIntl(Yt);exports.getTranslatedItemLabel=f.getTranslatedItemLabel;exports.default=Kt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("topojson-client"),j=require("geostats"),C=require("../../utils/deviceType.js");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("topojson-client"),j=require("geostats"),C=require("../../utils/deviceType.js");function F(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const l in e)if(l!=="default"){const o=Object.getOwnPropertyDescriptor(e,l);Object.defineProperty(t,l,o.get?o:{enumerable:!0,get:()=>e[l]})}}return t.default=e,Object.freeze(t)}const B=F(_),L="_Color_",T="location",v="showAll",m="ifUnitHasData",O=10,k={mobile:330,tablet:250,midTablet:250,laptop:200,desktop:100,wide:100},w={greens:["#ccffdd","#b3ffcc","#99ffbb","#80ffaa","#66ff99","#4dff88","#33ff77","#1aff66","#00ff55","#00e64d"],greys:["#f2f2f2","#e6e6e6","#d9d9d9","#cccccc","#bfbfbf","#b3b3b3","#a6a6a6","#999999","#8c8c8c","#808080"],oranges:["#fff0e6","#ffe0cc","#ffd1b3","#ffc299","#ffb380","#ffa366","#ff944d","#ff8533","#ff751a","#ff6600"],purples:["#ffe6ff","#ffccff","#ffb3ff","#ff99ff","#ff80ff","#ff66ff","#ff4dff","#ff33ff","#ff1aff","#ff00ff"],reds:["#ffe6e6","#ffcccc","#ffb3b3","#ff9999","#ff8080","#ff6666","#ff4d4d","#ff3333","#ff1a1a","#ff0000"],blues:["#e6eeff","#ccddff","#b3ccff","#99bbff","#80aaff","#6699ff","#4d88ff","#3377ff","#1a66ff","#0055ff"]};function g(e,t,l){var r;if(!(e!=null&&e.length))return t;const o=((r=e[0])==null?void 0:r.items)??[],n=i=>(i==null?void 0:i.trim().toLowerCase())??"",s=n(t),c=n(l).toUpperCase(),f=o.find(i=>n(i.value)===s||n(i.code)===s)??null;if(!f)return t;const a=c&&f.labels&&f.labels[c]?f.labels[c]:f.value;return(a==null?void 0:a.trim())||f.value.trim()}function H(e){let t=e;return t||(t=["mobile","tablet","midTablet"].includes(C.default())),t?"active zoom-enabled":"active"}function I(e,t){const{autoGenerateBreaks:l,numberOfBreaks:o,colorScheme:n}=t,s=[];if(l&&e&&e.length>0){const c=e.filter(r=>r.properties&&r.properties.value!=null).map(r=>r.properties.value.toFixed(2)),f=[];c.forEach(r=>{if(r>0){const i=r*.99,u=r*1.01;f.indexOf(i)===-1&&f.push(i),f.indexOf(u)===-1&&f.push(u)}});const a=w[n];if(f.length>0){const r=new j(f);r.setPrecision(2);const i=f.length>1?f.length-1:f.length;return r.getJenks(Math.min(o,i)),r.ranges.forEach((u,p)=>{const b={};b.min=parseFloat(u.substr(0,u.indexOf("-")-1))+(p>0?.01:0),b.max=parseFloat(u.substr(u.indexOf("-")+2,u.length)),b.color=a[p],s.push(b)}),s}}return s}function S(e,t,l){const{mapNoDataColor:o,mainLayerId:n,enabledLayers:s,selectedMeasure:c}=l;if(e.properties&&e.properties.variables&&c&&e.properties.value!=null){const a=L+c,r=e.properties.variables[a.trim()];if(r)return r}if(e.properties.value!=null&&(n&&e.properties.layerId===n||!n)){const a=t.find(r=>r.min!=null&&r.max!=null?e.properties.value>=r.min&&e.properties.value<=r.max:r.min!=null?e.properties.value>=r.min:r.max!=null?e.properties.value<=r.max:!1);return a&&a.color?a.color:o}const f=s.filter(a=>a.id===e.properties.layerId)[0];return f&&f.bgColor&&f.bgColor!="undefined"?f.bgColor:o}function M(e,t){if(e.properties[t]){const o=e.properties[t].length;return o<10?80:o*8}return 0}function D(e){return e?30:25}function x(e,t){if(e&&e.objects){const l=Object.keys(e.objects);for(const o in l){const n=l[o];if(e.objects[n].type=="GeometryCollection")return n}}return t}function E(e,t){const l=x(e,t);return e&&e.objects&&e.objects[l]?B.feature(e,e.objects[l]).features:e&&e.features?e.features:[]}function R(e,t,l){if(e.properties.displayLayerLabels&&e.properties.layerLocale){const o=e.properties.layerMappingField||t,n=e.properties[o];return g(l,n,e.properties.layerLocale)}return e.properties[t]}function N(e,t,l,o){const{mapLabelField:n,mapLabelShowValue:s,intl:c,valueFormat:f,showNoDataLabel:a,showAdminUnitLabel:r,noDataText:i,selectedMeasure:u}=t;let p="";if(r==v||r==m&&e.properties.hasDataRow||e.properties.displayLayerLabels){const b=e.properties.displayLayerLabels&&e.properties.layerMappingField?e.properties.layerMappingField:n,d=e.properties[b],A=e.properties.layerLocale||(c==null?void 0:c.locale);p=g(l,d,A);const h=e.properties.abbrev;if(p&&p.length>O&&h&&(p=h),s)if(e.properties.value!=null){const y=e.properties.variables||{};p+="<br><span class='map-label-value'>"+o(f,{value:e.properties.value,measure:u,...y},c)+"</span>"}else a==!0&&e.properties.value==null&&e.properties.hasDataRow&&(p+="<br><span class='map-label-value'>"+i+"</span>")}return p}function W(e){const t={};return e&&Object.keys(e).forEach(l=>{const o=e[l];o&&(t[l]=Array.isArray(o)?o.join(" ,"):o)}),t}function P(e,t,l){const o=e?e.value:null;if(o!=null){const n=t.find(s=>s.min!=null&&s.max!=null?o>=s.min&&o<=s.max:s.min!=null?o>=s.min:s.max!=null?o<=s.max:!1);return n&&n.color?n.color:l}return l}exports.COLOR_VARIABLE=L;exports.LOCATION=T;exports.MAX_LABEL_LEN=O;exports.SHOW_ALL=v;exports.SHOW_IF_HAS_DATA=m;exports.classColor=H;exports.createLabel=N;exports.deviceMapHeight=k;exports.extractFeatures=E;exports.fillColor=S;exports.generateBreaks=I;exports.getCollectionField=x;exports.getFilters=W;exports.getHighlightedLocationColor=P;exports.getLabelBoxHeight=D;exports.getLabelBoxWidth=M;exports.getTranslatedItemLabel=g;exports.getTranslatedLocationName=R;
|