@devgateway/dvz-ui-react 1.4.0 → 1.5.1
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/common.css +1 -1
- package/dist/cjs/embeddable/big-number-trend/index.js +1 -1
- package/dist/cjs/embeddable/body/index.js +1 -1
- package/dist/cjs/embeddable/chart/Bar.js +1 -1
- package/dist/cjs/embeddable/chart/Line.js +1 -1
- package/dist/cjs/embeddable/chart/colors/ColorProvider.js +1 -1
- package/dist/cjs/embeddable/chart/colors/ManualColors.js +1 -1
- package/dist/cjs/embeddable/chart/colors/SystemColors.js +1 -1
- package/dist/cjs/embeddable/chart/data/Bar.js +1 -1
- package/dist/cjs/embeddable/chart/data/Line.js +1 -1
- package/dist/cjs/embeddable/chart/data/Utils.js +1 -1
- package/dist/cjs/embeddable/d3Map/BaseLayer.js +1 -1
- package/dist/cjs/embeddable/d3Map/DataLayer.js +1 -1
- package/dist/cjs/embeddable/d3Map/FlowLayer.js +1 -1
- package/dist/cjs/embeddable/data/DataContext.js +1 -1
- package/dist/cjs/embeddable/featuredtabs/index.js +1 -1
- package/dist/cjs/embeddable/filter/index.js +1 -1
- package/dist/cjs/embeddable/filtered-posts/NoData.js +11 -0
- package/dist/cjs/embeddable/filtered-posts/index.js +1 -0
- package/dist/cjs/embeddable/index.js +1 -1
- package/dist/cjs/embeddable/inlinelist/index.js +1 -1
- package/dist/cjs/embeddable/map/MapDataFrame.js +1 -1
- package/dist/cjs/embeddable/map/index.js +2 -2
- package/dist/cjs/embeddable/map/map.js +4 -4
- package/dist/cjs/embeddable/posts-filter/PostsFilterDropdown.js +1 -0
- package/dist/cjs/embeddable/posts-filter/index.js +1 -0
- package/dist/cjs/embeddable/posts-filters-reset-button/index.js +1 -0
- package/dist/cjs/embeddable/posts-pagination/index.js +1 -0
- package/dist/cjs/embeddable/reducers/data-api.js +1 -1
- package/dist/cjs/embeddable/reducers/data.js +1 -1
- package/dist/cjs/embeddable/showcase/index.js +1 -1
- package/dist/cjs/embeddable/time-line/mobile.js +1 -1
- package/dist/cjs/embeddable/vertical-featuredtabs/index.js +2 -2
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/layout/ClassicHeader.js +1 -1
- package/dist/cjs/layout/CustomSemanticSearch.js +1 -1
- package/dist/cjs/layout/Header.js +3 -3
- package/dist/cjs/layout/Layout.js +1 -1
- package/dist/cjs/layout/SearchControl.js +1 -1
- package/dist/cjs/styles.css +1 -1
- package/dist/cjs/translations/am.json.js +1 -0
- package/dist/cjs/utils/data.js +1 -1
- package/dist/esm/common.css +1 -1
- package/dist/esm/embeddable/big-number-trend/index.js +36 -36
- package/dist/esm/embeddable/body/index.js +141 -95
- package/dist/esm/embeddable/chart/Bar.js +390 -382
- package/dist/esm/embeddable/chart/Line.js +101 -102
- package/dist/esm/embeddable/chart/colors/ColorProvider.js +42 -39
- package/dist/esm/embeddable/chart/colors/ManualColors.js +40 -29
- package/dist/esm/embeddable/chart/colors/SystemColors.js +28 -17
- package/dist/esm/embeddable/chart/data/Bar.js +112 -114
- package/dist/esm/embeddable/chart/data/Line.js +126 -126
- package/dist/esm/embeddable/chart/data/Utils.js +32 -26
- package/dist/esm/embeddable/d3Map/BaseLayer.js +3 -8
- package/dist/esm/embeddable/d3Map/DataLayer.js +2 -9
- package/dist/esm/embeddable/d3Map/FlowLayer.js +12 -15
- package/dist/esm/embeddable/data/DataContext.js +1 -0
- package/dist/esm/embeddable/featuredtabs/index.js +128 -124
- package/dist/esm/embeddable/filter/index.js +207 -206
- package/dist/esm/embeddable/filtered-posts/NoData.js +31 -0
- package/dist/esm/embeddable/filtered-posts/index.js +123 -0
- package/dist/esm/embeddable/index.js +34 -31
- package/dist/esm/embeddable/inlinelist/index.js +82 -70
- package/dist/esm/embeddable/map/MapDataFrame.js +17 -14
- package/dist/esm/embeddable/map/index.js +180 -169
- package/dist/esm/embeddable/map/map.js +520 -437
- package/dist/esm/embeddable/posts-filter/PostsFilterDropdown.js +190 -0
- package/dist/esm/embeddable/posts-filter/index.js +215 -0
- package/dist/esm/embeddable/posts-filters-reset-button/index.js +33 -0
- package/dist/esm/embeddable/posts-pagination/index.js +69 -0
- package/dist/esm/embeddable/reducers/data-api.js +40 -25
- package/dist/esm/embeddable/reducers/data.js +180 -99
- package/dist/esm/embeddable/showcase/index.js +1 -1
- package/dist/esm/embeddable/time-line/mobile.js +158 -182
- package/dist/esm/embeddable/vertical-featuredtabs/index.js +177 -168
- package/dist/esm/index.js +69 -25
- package/dist/esm/layout/ClassicHeader.js +62 -62
- package/dist/esm/layout/CustomSemanticSearch.js +40 -102
- package/dist/esm/layout/Header.js +152 -144
- package/dist/esm/layout/Layout.js +4 -3
- package/dist/esm/layout/SearchControl.js +130 -113
- package/dist/esm/styles.css +1 -1
- package/dist/esm/translations/am.json.js +46 -0
- package/dist/esm/utils/data.js +4 -9
- package/dist/types/dvz-ui/src/countries.d.ts +7 -0
- package/dist/types/dvz-ui/src/embeddable/chart/colors/ManualColors.d.ts +1 -1
- package/dist/types/dvz-ui/src/embeddable/chart/colors/SystemColors.d.ts +1 -1
- package/dist/types/dvz-ui/src/embeddable/data/DataContext.d.ts +1 -0
- package/dist/types/dvz-ui/src/embeddable/featuredtabs/index.d.ts +1 -0
- package/dist/types/dvz-ui/src/embeddable/filtered-posts/NoData.d.ts +7 -0
- package/dist/types/dvz-ui/src/embeddable/filtered-posts/index.d.ts +21 -0
- package/dist/types/dvz-ui/src/embeddable/inlinelist/index.d.ts +2 -0
- package/dist/types/dvz-ui/src/embeddable/map/MapDataFrame.d.ts +1 -6
- package/dist/types/dvz-ui/src/embeddable/map/map.d.ts +1 -0
- package/dist/types/dvz-ui/src/embeddable/posts-filter/PostsFilterDropdown.d.ts +21 -0
- package/dist/types/dvz-ui/src/embeddable/posts-filter/index.d.ts +25 -0
- package/dist/types/dvz-ui/src/embeddable/posts-filters-reset-button/index.d.ts +3 -0
- package/dist/types/dvz-ui/src/embeddable/posts-pagination/index.d.ts +10 -0
- package/dist/types/dvz-ui/src/embeddable/reducers/data-api.d.ts +11 -0
- package/dist/types/dvz-ui/src/embeddable/reducers/post-reducer.d.ts +158 -0
- package/dist/types/dvz-ui/src/embeddable/time-line/mobile.d.ts +1 -2
- package/dist/types/dvz-ui/src/embeddable/vertical-featuredtabs/index.d.ts +1 -0
- package/dist/types/dvz-ui/src/index.d.ts +3 -0
- package/dist/types/dvz-ui/src/layout/Header.d.ts +2 -2
- package/dist/types/dvz-ui/src/translations/am.json.d.ts +39 -0
- package/package.json +7 -5
- package/dist/cjs/embeddable/posts-with-filters/DropDownFilter.js +0 -1
- package/dist/cjs/embeddable/posts-with-filters/Post.js +0 -1
- package/dist/cjs/embeddable/posts-with-filters/index.js +0 -1
- package/dist/esm/embeddable/posts-with-filters/DropDownFilter.js +0 -25
- package/dist/esm/embeddable/posts-with-filters/Post.js +0 -51
- package/dist/esm/embeddable/posts-with-filters/index.js +0 -206
- package/dist/types/dvz-ui/src/embeddable/posts-with-filters/DropDownFilter.d.ts +0 -4
- package/dist/types/dvz-ui/src/embeddable/posts-with-filters/Post.d.ts +0 -5
- package/dist/types/dvz-ui/src/embeddable/posts-with-filters/index.d.ts +0 -21
- /package/dist/cjs/{utils/countries.js → countries.js} +0 -0
- /package/dist/cjs/embeddable/{posts-with-filters → filtered-posts}/utils.js +0 -0
- /package/dist/esm/{utils/countries.js → countries.js} +0 -0
- /package/dist/esm/embeddable/{posts-with-filters → filtered-posts}/utils.js +0 -0
- /package/dist/types/dvz-ui/src/embeddable/{posts-with-filters → filtered-posts}/utils.d.ts +0 -0
package/dist/cjs/common.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@300;400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Merriweather:wght@300;400;700&display=swap"
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@300;400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Merriweather:wght@300;400;700&display=swap";.buttonBack___1mlaL,.buttonFirst___2rhFr,.buttonLast___2yuh0,.buttonNext___2mOCa,.buttonNext___3Lm3s,.dot___3c3SI{cursor:pointer}.image___xtQGH{display:block;width:100%;height:100%}.spinner___27VUp{position:absolute;top:calc(50% - 15px);left:calc(50% - 15px);width:30px;height:30px;animation-name:spin___S3UuE;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;border:4px solid #a9a9a9;border-top-color:#000;border-radius:30px}@keyframes spin___S3UuE{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.container___2O72F{position:relative;overflow:hidden;height:100%;width:100%}.overlay___IV4qY{position:absolute;top:0;left:0;bottom:0;right:0;opacity:0;cursor:zoom-in;transition:opacity .3s,transform .3s}.hover___MYy31,.loading___1pvNI,.zoom___3kqYk{opacity:1}.imageLoadingSpinnerContainer___3UIPD{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#f4f4f4}.slide___3-Nqo{position:relative;display:block;box-sizing:border-box;height:0;margin:0;list-style-type:none}.slide___3-Nqo:focus{outline:none!important}.slideHorizontal___1NzNV{float:left}[dir=rtl] .slideHorizontal___1NzNV{direction:rtl;transform:scaleX(-1)}.slideInner___2mfX9{position:absolute;top:0;left:0;width:100%;height:100%}.focusRing___1airF{position:absolute;top:5px;right:5px;bottom:5px;left:5px;pointer-events:none;outline-width:5px;outline-style:solid;outline-color:Highlight}@media (-webkit-min-device-pixel-ratio:0){.focusRing___1airF{outline-style:auto;outline-color:-webkit-focus-ring-color}}.horizontalSlider___281Ls{position:relative;overflow:hidden}.horizontalSlider___281Ls:not(.touchDisabled___2qs4y){touch-action:pan-y pinch-zoom}[dir=rtl] .horizontalSlider___281Ls{direction:ltr;transform:scaleX(-1)}.horizontalSliderTray___1L-0W{overflow:hidden;width:100%}.verticalSlider___34ZFD{position:relative;overflow:hidden}.verticalSliderTray___267D8{overflow:hidden}.verticalTray___12Key{float:left}.verticalSlideTrayWrap___2nO7o{overflow:hidden}.sliderTray___-vHFQ{display:block;list-style:none;padding:0;margin:0}.sliderAnimation___300FY{transition:transform .5s;transition-timing-function:cubic-bezier(.645,.045,.355,1);will-change:transform}.masterSpinnerContainer___1Z6hB{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#f4f4f4}:root{--header-height: 90px;--footer-height: 227px !important}html{font-size:18px!important}body{height:100%;padding:0;margin:0;font-family:Open Sans,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;background-color:transparent!important;font-size:18px!important}a{outline:0;border:none;box-shadow:none;-moz-outline-style:none}a:hover,a:focus{outline:0;border:none;box-shadow:none;-moz-outline-style:none}.edit-post-visual-editor .tabacoo-wrap,#root .tabacoo-wrap{border-bottom:1px solid #e0e0e0}.edit-post-visual-editor .tabacoo-wrap .wp-block-column:nth-child(1),#root .tabacoo-wrap .wp-block-column:nth-child(1){padding-right:15px;border-right:1px solid #e0e0e0;margin-right:20px}.edit-post-visual-editor .tabacoo-wrap .wp-block-column li,#root .tabacoo-wrap .wp-block-column li{list-style-type:none;color:#333;margin-top:10px;position:relative}.edit-post-visual-editor .tabacoo-wrap .wp-block-column li:before,#root .tabacoo-wrap .wp-block-column li:before{content:"";position:absolute;left:-27px;top:5px;width:15px;height:15px;border-radius:100px;background:#5baf95}.edit-post-visual-editor .tabacoo-wrap .wp-block-column li strong,#root .tabacoo-wrap .wp-block-column li strong{font-size:22px;margin-bottom:5px;display:block;color:#5baf95}.edit-post-visual-editor iframe,#root iframe{margin:0;padding:0}.edit-post-visual-editor code,#root code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.edit-post-visual-editor .ui,#root .ui{font-family:Open Sans,sans-serif}.edit-post-visual-editor .ui.container.narrow,#root .ui.container.narrow{max-width:1080px}.edit-post-visual-editor .ui.container.fluid.desktop,#root .ui.container.fluid.desktop{max-width:1366px!important}.edit-post-visual-editor .ui.primary.button,#root .ui.primary.button{background-color:#5089a6}.edit-post-visual-editor .ui.secondary.button,#root .ui.secondary.button{background-color:#5baf95}h1.type{font-size:1rem;padding:0;margin:0;color:#5089a6;font-family:Open Sans,sans-serif}.ui.container.editing{margin:0!important;padding:5px!important}.ui.container.editing .ui.container{width:100%!important;margin-left:0!important;margin-right:0!important}.map-tooltip-light{font-size:1em;color:#1e1e1e;border-radius:5px;background-color:#f7f7f7!important;min-width:220px}.map-tooltip-light .tooltip-content{padding:5px}.map-tooltip-light .tooltip-content hr{margin:3px -5px;border-bottom:none}.map-tooltip-light .tooltip-content b{color:unset}.map-tooltip-light .header{padding:5px;border-bottom:1px solid #DDD}.map-tooltip-light .value{color:#1e1e1e;font-weight:700;margin-left:5px}.map-tooltip-light .footer{padding:5px}.map-tooltip-light .footer .confidence{font-weight:700;color:#1e1e1e}.map-tooltip-light .footer hr{margin:3px -5px}.map-tooltip-light .footer b{color:#1e1e1e}.map-tooltip-dark{font-size:1em;color:#fff;border-radius:5px;background-color:#5c5c5c!important;min-width:220px}.map-tooltip-dark .tooltip-content{padding:5px}.map-tooltip-dark .tooltip-content hr{margin:3px -5px;border-bottom:none}.map-tooltip-dark .header{padding:5px;border-bottom:1px solid #DDD}.map-tooltip-dark .value{color:#fff;font-weight:700;margin-left:5px}.map-tooltip-dark .footer{padding:5px}.map-tooltip-dark .footer .confidence{font-weight:700;color:#fff}.map-tooltip-dark .footer hr{margin:3px -5px;border-bottom:none}.map-tooltip-dark .footer b{color:#fff}.ui.container.filter .menu{z-index:1600}.d3MapTooltip{font-family:Roboto;font-size:13px;border-radius:5%;background-color:#3c434a;padding:5px;opacity:.9;color:#fff;min-width:200px;border:1px solid #000}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),T=require("react"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),T=require("react"),E=require("semantic-ui-react"),V=require("../data/DataProvider.js"),_=require("../data/DataConsumer.js");require("@devgateway/wp-react-lib");const H=require("react-redux"),J=require("../utils/common.js"),$=require("string-template"),k=g=>{const{editing:c=!1,unique:h,intl:m,childContent:f,"data-csv":d="","data-dvz-proxy-dataset-id":x,"data-no-data-message":U="No data matches your selection","data-view-mode":b="info","data-height":v,"data-app":y,"data-measures":D="{}","data-format":C="{}","data-group":F,"data-filters":z="[]","data-text-color":e="#000000","data-big-number-font-size":s=20,"data-label-font-size":n=20,"data-percent-font-size":u=20,"data-label":p="","data-dimension1":o,"data-show-percentage-change":S="false","data-wait-for-filters":j="false","data-no-data-text":N="-"}=g,q=m.locale,w=T.useRef(null),i=r=>c?r:decodeURIComponent(r),l=r=>{try{return JSON.parse(i(r))}catch{console.error("error parsing value:"+r)}return null},t=l(C),O=t?{style:t.style==="compacted"?"decimal":t.style,notation:t.style==="compacted"?"compact":"standard",currency:t.currency,minimumFractionDigits:parseInt(t.minimumFractionDigits),maximumFractionDigits:parseInt(t.maximumFractionDigits)}:{notation:"standard",currency:"USD",minimumFractionDigits:2,maximumFractionDigits:2},[Q,W]=T.useState(b),A=c?v-80:v-40,I={},R=l(z)||{};R&&R.forEach&&R.forEach(r=>{r.value!=null&&r.value.filter(M=>M!=null&&M.toString().trim()!="").length>0&&(I[r.param]=r.value)}),x&&(I.dvzProxyDatasetId=x);const P=[];return o!="none"&&P.push(o),a.jsx("div",{ref:w,children:a.jsx(E.Container,{className:"chart container big-number-trend-container",style:{height:v+"px"},fluid:!0,children:a.jsx(V.default,{style:{height:`${A}px`},params:I,app:y,group:F,csv:d,editing:c,waitForFilters:j==="true",store:[y,h,...P],source:P.join("/"),children:a.jsx(_.default,{children:a.jsx(B,{editing:c,locale:q,intl:m,app:y,format:O,dimension1:o,measure:l(D)[0]||null,label:p,bigNumberFontSize:s,textColor:e,labelFontSize:n,percentFontSize:u,showPercentageChange:S=="true"||S==!0,noDataText:N})})})})})},B=g=>{const{editing:c,app:h,measure:m,dimension1:f,data:d,format:x,label:U,textColor:b,bigNumberFontSize:v,percentFontSize:y,labelFontSize:D,showPercentageChange:C,intl:F,noDataText:z}=g;let e=[],s,n;if(h=="csv"){const{data:i,meta:{fields:l}}=d;s=l[0],n=l[1],e=d.data.map(t=>({value:t[s],[n]:t[n],[s]:t[s]}))}else e=!d.children||d.children.length==0?[]:d.children,n=m,s=f,e=e.map(i=>({value:i.value,[n]:i[n],[s]:i.value}));let u=null,p=null,o,S,j;e.length>0&&(e=e.sort((i,l)=>J.alphaSort(!1,F.locale,i.value,l.value)),u=e[e.length-1][n],e.length>1&&(p=e[e.length-2][n]),j=F.formatNumber(x.style==="percent"?u/100:u,{...x}),p&&(o=(u-p)/p,S=F.formatNumber(o,{style:"percent",minimumFractionDigits:2,maximumFractionDigits:2}))),u==null&&(j=z);const N={color:decodeURIComponent(b),fontSize:v+"px"},q={color:decodeURIComponent(b),fontSize:y+"px"},w={color:decodeURIComponent(b),fontSize:D+"px"};return a.jsxs("div",{className:"trend",children:[a.jsx("div",{className:"label",style:w,children:$(U,e[e.length-1])}),a.jsxs("div",{className:"number-and-icon",children:[a.jsx("span",{className:"number",style:N,children:j}),o&&a.jsx("img",{src:o>0?"/trend-up.svg":"/trend-down.svg",alt:"Arrow",className:"icon"})]}),C&&o&&a.jsx("div",{className:"percentage",style:q,children:S})]})},G=(g,c)=>{const{"data-app":h,"data-group":m}=c,f=g.getIn(["data","measures",h,m]);return f?{injectedMeasures:f}:{}},K={},L=H.connect(G,K)(k);exports.default=L;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var M=Object.defineProperty;var v=(c,d,s)=>d in c?M(c,d,{enumerable:!0,configurable:!0,writable:!0,value:s}):c[d]=s;var x=(c,d,s)=>v(c,typeof d!="symbol"?d+"":d,s);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),O=require("react"),C=require("semantic-ui-react"),w=require("./Background.js"),j=require("./Stomach.js"),L=require("./Liver.js"),q=require("./Bounds.js"),S=require("./Blood.js"),f=require("./Lungs.js"),E=require("./Head.js"),N=require("./Eyes.js"),T=require("./Brain.js"),k=require("./Heart.js"),A=require("./Erectile.js"),D=require("d3"),B=require("./Ectopic.js"),b=require("react-intl"),z=require("../../translations/en.json.js"),H=require("../../translations/fr.json.js"),p=require("../../utils/deviceType.js");function Y(c){const d=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const s in c)if(s!=="default"){const t=Object.getOwnPropertyDescriptor(c,s);Object.defineProperty(d,s,t.get?t:{enumerable:!0,get:()=>c[s]})}}return d.default=c,Object.freeze(d)}const g=Y(D);class _ extends O.Component{constructor(s){super(s);x(this,"mobileOptions",{Cancers:{x:180,y:25},OtherConditions:{x:320,y:25},viewBoxDims:"0 0 500 520"});x(this,"localeYDims",{en:"60",fr:"40"});x(this,"localeXdims",{en:"-250",fr:"-280"});this.state={counter:0,isMobile:["mobile","tablet"].includes(p.default()),isClicked:!1,selectedOption:"Cancers",orientation:this.getScreenOrientation()},this.onMouseOut=this.onMouseOut.bind(this),this.onMouseOver=this.onMouseOver.bind(this),this.updateLayout=this.updateLayout.bind(this),this.updateSvgLabels=this.updateSvgLabels.bind(this),this.handleTextClick=this.handleTextClick.bind(this),this.handleOrientationChange=this.handleOrientationChange.bind(this)}updateLayout(){this.setState({isMobile:["mobile","tablet"].includes(p.default())})}getScreenOrientation(){var s;return((s=window.screen.orientation)==null?void 0:s.type)||(window.innerWidth>window.innerHeight?"landscape-primary":"portrait-primary")}handleOrientationChange(){setTimeout(()=>{this.setState({orientation:this.getScreenOrientation()},()=>{this.updateLayout(),this.updateSvgLabels()})},100)}handleTextClick(s){if(!this.state.isMobile)return;const t=s.target.closest("svg"),e=s.target.closest(".title"),o=s.target.closest(".title-rect");if(e||o){[...t.querySelectorAll(".title, .title-rect, .title-line")].forEach(u=>u.classList.remove("on"));const h=e||o;h.classList.add("on");const r=h.closest("g").querySelector(".title-line");r&&r.classList.add("on"),this.setState({selectedOption:e?e.innerHTML:o.nextSibling.innerHTML})}}onMouseOut(){g.select(".body.parts").selectAll("g.system").transition().duration(0).delay(200).style("opacity",1),g.select(".body.parts").selectAll("circle").remove(),g.select(".body.parts").selectAll("line").remove()}onMouseOver(s,t,e){const o=g.select(".body.parts"),h=o.select(s);s&&(o.selectAll("g.system").transition().duration(200).style("opacity",0),h.transition().style("opacity",1));const r=t.node().getBBox();let u,m,n,y;r.x<0?(u=r.x+r.width+5,n=u>0?30:-5,m=r.y+r.height/2,y=r.y+r.height/2):(u=r.x-5,n=140,m=r.y+r.height/2,y=r.y+r.height/2),o.select("svg").append("line").attr("x1",u).attr("y1",m).attr("x2",u).attr("y2",m).transition().duration(100).attr("x2",n).attr("y2",y),o.select("svg").append("line").attr("x1",n).attr("y1",r.y+r.height/2).attr("x2",n).attr("y2",r.y+r.height/2).transition().duration(100).delay(100).attr("x2",e.tx).attr("y2",e.ty),o.select("svg").append("circle").attr("r",0).attr("cx",e.tx).attr("cy",e.ty).attr("opacity",.6).attr("fill","#000").transition().delay(200).duration(30).attr("r",6)}componentDidMount(){window.addEventListener("resize",this.updateLayout),window.screen.orientation?window.screen.orientation.addEventListener("change",this.handleOrientationChange):window.addEventListener("resize",this.handleOrientationChange),this.updateLayout(),this.updateSvgLabels(),this.addOnClassToSelectedElements()}addOnClassToSelectedElements(){const{selectedOption:s}=this.state,t=document.querySelector("svg");let e,o;s==="Cancers"?(e=t.querySelector(".title"),o=t.querySelector(".title-line")):s==="OtherConditions"&&(e=t.querySelectorAll(".title")[1],o=t.querySelectorAll(".title-line")[1]),e&&o&&(e.classList.add("on"),o.classList.add("on"))}updateSvgLabels(){const s=g.select(".body.parts");let t={en:z.default,fr:H.default};const e=this.props.intl;t=t[e.locale];const o=[{label:e.formatMessage({id:"oropharyngeal.cancer",defaultMessage:t["oropharyngeal.cancer"]}),selector:".stomach",tx:90,ty:60},{label:e.formatMessage({id:"laryngeal.cancer",defaultMessage:t["laryngeal.cancer"]}),selector:".larynx",tx:80,ty:90},{label:e.formatMessage({id:"oesophageal.ancer",defaultMessage:t["oesophageal.cancer"]}),selector:".stomach",tx:77,ty:95},{label:e.formatMessage({id:"tracheal.bronchial.lung.cancer",defaultMessage:t["tracheal.bronchial.lung.cancer"]}),selector:".larynx",tx:e.locale==="en"?80:90,ty:120},{label:e.formatMessage({id:"acute.myeloid.leukaemia",defaultMessage:t["acute.myeloid.leukaemia"]}),selector:".blood",tx:90,ty:200},{label:e.formatMessage({id:"stomach.cancer",defaultMessage:t["stomach.cancer"]}),selector:".stomach",tx:80,ty:150},{label:e.formatMessage({id:"liver.cancer",defaultMessage:t["liver.cancer"]}),selector:".stomach",tx:80,ty:150},{label:e.formatMessage({id:"pancreatic.cancer",defaultMessage:t["pancreatic.cancer"]}),selector:".stomach",tx:105,ty:160},{label:e.formatMessage({id:"colorectal.cancer",defaultMessage:t["colorectal.cancer"]}),selector:".stomach",tx:85,ty:250},{label:e.formatMessage({id:"kidney.cancer",defaultMessage:t["kidney.cancer"]}),selector:".stomach",tx:65,ty:185},{label:e.formatMessage({id:"bladder.cancer",defaultMessage:t["bladder.cancer"]}),selector:".erectile",tx:85,ty:250},{label:e.formatMessage({id:"cervical.cancer",defaultMessage:t["cervical.cancer"]}),selector:".Ectopic",tx:85,ty:275}],h=[{label:e.formatMessage({id:"stroke",defaultMessage:t.stroke}),selector:".brain",tx:97,ty:39},{label:e.formatMessage({id:"blindness.decreased.eyesight",defaultMessage:t["blindness.decreased.eyesight"]}),selector:".eyes",tx:97,ty:39},{label:e.formatMessage({id:"periodontitis",defaultMessage:t.periodontitis}),selector:".stomach",tx:90,ty:60},{label:e.formatMessage({id:"aortic.aneurysm",defaultMessage:t["aortic.aneurysm"]}),selector:".blood",tx:90,ty:120},{label:e.formatMessage({id:"heart.disease",defaultMessage:t["heart.disease"]}),selector:".heart",tx:90,ty:140},{label:e.formatMessage({id:"pneumonia",defaultMessage:t.pneumonia}),selector:".lungs",tx:85,ty:130},{label:e.formatMessage({id:"atherosclerotic.peripheral.vascular.disease",defaultMessage:t["atherosclerotic.peripheral.vascular.disease"]}),selector:".blood",tx:90,ty:380},{label:e.formatMessage({id:"copd",defaultMessage:t.copd}),selector:".lungs",tx:85,ty:130},{label:e.formatMessage({id:"tuberculosis",defaultMessage:t.tuberculosis}),selector:".lungs",tx:85,ty:130},{label:e.formatMessage({id:"asthma",defaultMessage:t.asthma}),selector:".lungs",tx:85,ty:130},{label:e.formatMessage({id:"diabetes",defaultMessage:t.diabetes}),selector:".stomach",tx:105,ty:160},{label:e.formatMessage({id:"hip.fractures",defaultMessage:t["hip.fractures"]}),selector:".bounds",tx:90,ty:230},{label:e.formatMessage({id:"rheumatoid.arthritis",defaultMessage:t["rheumatoid.arthritis"]}),selector:".bounds",tx:134,ty:275},{label:e.formatMessage({id:"impaired.immune.function",defaultMessage:t["impaired.immune.function"]}),selector:null,tx:85,ty:130},{label:e.formatMessage({id:"erectile.dysfunction",defaultMessage:t["erectile.dysfunction"]}),selector:".erectile",tx:107,ty:290},{label:e.formatMessage({id:"reduced.fertility.men",defaultMessage:t["reduced.fertility.men"]}),selector:".erectile",tx:95,ty:290},{label:e.formatMessage({id:"ectopic.pregnancy",defaultMessage:t["ectopic.pregnancy"]}),selector:".Ectopic",tx:90,ty:250},{label:e.formatMessage({id:"reduced.fertility.women",defaultMessage:t["reduced.fertility.women"]}),selector:".Ectopic",tx:95,ty:242}];s.select("svg").selectAll("text.label").remove();const{selectedOption:r,isMobile:u}=this.state,m=r==="Cancers"?o:h;let n=60;const y=(a,l)=>u?160:-250;e.locale==="en"?u?s.select("svg").selectAll("text.label").data(m).enter().append("text").attr("class","label").attr("x",y).attr("y",(a,l)=>n+l*25).text(a=>a.label):(n=90,s.select("svg").selectAll("text.left").data(o).enter().append("text").attr("class","label").attr("x",(a,l)=>-250).attr("y",(a,l)=>n+l*25).text(a=>a.label),s.select("svg").selectAll("text.rigth").data(h).enter().append("text").attr("class","label").attr("x",(a,l)=>200).attr("y",(a,l)=>n+l*25).text(a=>a.label)):u?s.select("svg").selectAll("text.label").data(m).enter().append("text").attr("class","label").attr("x",y).attr("y",(a,l)=>n+l*25).text(a=>a.label):(s.select("svg").selectAll("text.left").data(o).enter().append("text").attr("class","label").attr("x",(a,l)=>-280).attr("y",(a,l)=>n+l*25).text(a=>a.label),s.select("svg").selectAll("text.right").data(h).enter().append("text").attr("class","label").attr("x",(a,l)=>200).attr("y",(a,l)=>n+l*25).text(a=>a.label)),s.select("svg").selectAll("text.label").on("mouseover",(a,l)=>{this.onMouseOver(l.selector,g.select(a.currentTarget),l,{tx:l.tx,ty:l.ty})}).on("mouseout",(a,l)=>{this.onMouseOut()})}componentDidUpdate(s,t){(t.selectedOption!==this.state.selectedOption||t.orientation!==this.state.orientation)&&(this.updateSvgLabels(),this.addOnClassToSelectedElements())}componentWillUnmount(){window.removeEventListener("resize",this.updateLayout),window.screen.orientation?window.screen.orientation.removeEventListener("change",this.handleOrientationChange):window.removeEventListener("resize",this.handleOrientationChange)}render(){return i.jsx(C.Container,{className:"body parts",children:i.jsxs("svg",{className:"body root",viewBox:this.state.isMobile?this.mobileOptions.viewBoxDims:"-300 0 900 520",xmlns:"http://www.w3.org/2000/svg",children:[i.jsx(w.default,{className:"backGround"}),i.jsx(q.default,{className:"system bounds"}),i.jsx(E.default,{className:"system head"}),i.jsx(f.default,{className:"system larynx"}),i.jsx(f.default,{className:"system lungs"}),i.jsx(j.default,{className:"system stomach"}),i.jsx(L.default,{className:"system liver"}),i.jsx(T.default,{className:"system brain"}),i.jsx(N.default,{className:"system eyes"}),i.jsx(S.default,{className:"system blood"}),i.jsx(k.default,{className:"system heart"}),i.jsx(A.default,{className:"system erectile"}),i.jsx(B.default,{className:"system Ectopic"}),i.jsxs("g",{onClick:this.handleTextClick,children:[i.jsx("rect",{className:"title-rect",x:this.state.isMobile?this.mobileOptions.Cancers.x-20:"",y:this.state.isMobile?this.mobileOptions.Cancers.y-20:this.localeYDims[this.props.intl.locale],rx:"5",ry:"5",width:"100",height:"30"}),i.jsx("text",{x:this.state.isMobile?this.mobileOptions.Cancers.x:this.localeXdims[this.props.intl.locale],y:this.state.isMobile?this.mobileOptions.Cancers.y:this.localeYDims[this.props.intl.locale],className:"title",children:i.jsx(b.FormattedMessage,{id:"ailments.title",defaultMessage:"Cancers"})}),this.state.isMobile&&i.jsx("rect",{className:"title-line",x:this.state.isMobile?this.mobileOptions.Cancers.x-18:"-250",y:this.state.isMobile?this.mobileOptions.Cancers.y+7:"",width:"58",height:"3",fill:"#E5EBED"})]}),i.jsxs("g",{onClick:this.handleTextClick,children:[i.jsx("rect",{className:"title-rect",x:this.state.isMobile?this.mobileOptions.OtherConditions.x-65:"",y:this.state.isMobile?this.mobileOptions.OtherConditions.y-20:this.localeYDims[this.props.intl.locale],rx:"5",ry:"5",width:"155",height:"30"}),i.jsx("text",{x:this.state.isMobile?this.mobileOptions.OtherConditions.x-50:"200",y:this.state.isMobile?this.mobileOptions.OtherConditions.y:this.localeYDims[this.props.intl.locale],className:"title",children:i.jsx(b.FormattedMessage,{id:"ailments.otherConditions",defaultMessage:"Other conditions"})}),this.state.isMobile&&i.jsx("rect",{className:"title-line",x:this.state.isMobile?this.mobileOptions.OtherConditions.x-68:"200",y:this.state.isMobile?this.mobileOptions.OtherConditions.y+7:"60",width:"118",height:"3",fill:"#E5EBED"})]})]})})}}const P=b.injectIntl(_);exports.default=P;
|
|
1
|
+
"use strict";var M=Object.defineProperty;var v=(h,u,s)=>u in h?M(h,u,{enumerable:!0,configurable:!0,writable:!0,value:s}):h[u]=s;var y=(h,u,s)=>v(h,typeof u!="symbol"?u+"":u,s);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react/jsx-runtime"),O=require("react"),C=require("semantic-ui-react"),w=require("./Background.js"),L=require("./Stomach.js"),j=require("./Liver.js"),q=require("./Bounds.js"),S=require("./Blood.js"),x=require("./Lungs.js"),E=require("./Head.js"),N=require("./Eyes.js"),T=require("./Brain.js"),k=require("./Heart.js"),A=require("./Erectile.js"),D=require("d3"),B=require("./Ectopic.js"),f=require("react-intl"),W=require("../../translations/en.json.js"),_=require("../../translations/fr.json.js"),z=require("../../translations/am.json.js"),b=require("../../utils/deviceType.js");function R(h){const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(h){for(const s in h)if(s!=="default"){const e=Object.getOwnPropertyDescriptor(h,s);Object.defineProperty(u,s,e.get?e:{enumerable:!0,get:()=>h[s]})}}return u.default=h,Object.freeze(u)}const p=R(D);class Y extends O.Component{constructor(s){super(s);y(this,"localeYDims",{en:"60",fr:"40",am:"40"});y(this,"localeXdims",{en:"-250",fr:"-280",am:"-280"});y(this,"titleDims",{am:160,fr:180,en:180});y(this,"titleLineWidths",{Cancers:{am:125,fr:58,en:58},OtherConditions:{am:158,fr:118,en:118}});y(this,"mobileOptions",{Cancers:{x:this.titleDims[this.props.intl.locale],y:25},OtherConditions:{x:this.isIphone()&&this.props.intl.locale==="am"?370:350,y:25},viewBoxDims:"0 0 550 520"});this.state={counter:0,isMobile:["mobile","tablet"].includes(b.default()),isClicked:!1,selectedOption:"Cancers",orientation:this.getScreenOrientation()},this.onMouseOut=this.onMouseOut.bind(this),this.onMouseOver=this.onMouseOver.bind(this),this.updateLayout=this.updateLayout.bind(this),this.updateSvgLabels=this.updateSvgLabels.bind(this),this.handleTextClick=this.handleTextClick.bind(this),this.handleOrientationChange=this.handleOrientationChange.bind(this),this.messages={en:W.default,fr:_.default,am:z.default}}updateLayout(){this.setState({isMobile:["mobile","tablet"].includes(b.default())})}getScreenOrientation(){var s;return((s=window.screen.orientation)==null?void 0:s.type)||(window.innerWidth>window.innerHeight?"landscape-primary":"portrait-primary")}isIphone(){const s=navigator.userAgent.toLowerCase();return/iphone/i.test(s)}handleOrientationChange(){setTimeout(()=>{this.setState({orientation:this.getScreenOrientation()},()=>{this.updateLayout(),this.updateSvgLabels()})},100)}handleTextClick(s){if(!this.state.isMobile)return;const e=s.target.closest("svg"),t=s.target.closest(".title"),r=s.target.closest(".title-rect");if(t||r){[...e.querySelectorAll(".title, .title-rect, .title-line")].forEach(a=>a.classList.remove("on"));const d=t||r,i=d.getAttribute("data-option");d.classList.add("on");const c=d.closest("g"),m=c.querySelector(".title-rect"),n=c.querySelector(".title");m&&m.classList.add("on"),n&&n.classList.add("on");const g=c.querySelector(".title-line");g&&g.classList.add("on"),i&&this.setState({selectedOption:i})}}onMouseOut(){p.select(".body.parts").selectAll("g.system").transition().duration(0).delay(200).style("opacity",1),p.select(".body.parts").selectAll("circle").remove(),p.select(".body.parts").selectAll("line").remove()}onMouseOver(s,e,t){const r=p.select(".body.parts"),d=r.select(s);s&&(r.selectAll("g.system").transition().duration(200).style("opacity",0),d.transition().style("opacity",1));const i=e.node().getBBox();let c,m,n,g;i.x<0?(c=i.x+i.width+5,n=c>0?30:-5,m=i.y+i.height/2,g=i.y+i.height/2):(c=i.x-5,n=140,m=i.y+i.height/2,g=i.y+i.height/2),r.select("svg").append("line").attr("x1",c).attr("y1",m).attr("x2",c).attr("y2",m).transition().duration(100).attr("x2",n).attr("y2",g),r.select("svg").append("line").attr("x1",n).attr("y1",i.y+i.height/2).attr("x2",n).attr("y2",i.y+i.height/2).transition().duration(100).delay(100).attr("x2",t.tx).attr("y2",t.ty),r.select("svg").append("circle").attr("r",0).attr("cx",t.tx).attr("cy",t.ty).attr("opacity",.6).attr("fill","#000").transition().delay(200).duration(30).attr("r",6)}componentDidMount(){window.addEventListener("resize",this.updateLayout),window.screen.orientation?window.screen.orientation.addEventListener("change",this.handleOrientationChange):window.addEventListener("resize",this.handleOrientationChange),this.updateLayout(),this.updateSvgLabels(),this.addOnClassToSelectedElements()}addOnClassToSelectedElements(){const{selectedOption:s}=this.state,e=document.querySelector("svg");if(!e)return;[...e.querySelectorAll(".title, .title-rect, .title-line")].forEach(i=>i.classList.remove("on"));const t=e.querySelector(`[data-option="${s}"].title`),r=e.querySelector(`[data-option="${s}"].title-rect`);let d=null;if(t||r){const i=(t||r).closest("g");d=i?i.querySelector(".title-line"):null}t&&t.classList.add("on"),r&&r.classList.add("on"),d&&d.classList.add("on")}updateSvgLabels(){const s=p.select(".body.parts"),e=this.props.intl,t=this.messages[e.locale],r=[{label:e.formatMessage({id:"oropharyngeal.cancer",defaultMessage:t["oropharyngeal.cancer"]}),selector:".stomach",tx:90,ty:60},{label:e.formatMessage({id:"laryngeal.cancer",defaultMessage:t["laryngeal.cancer"]}),selector:".larynx",tx:80,ty:90},{label:e.formatMessage({id:"oesophageal.ancer",defaultMessage:t["oesophageal.cancer"]}),selector:".stomach",tx:77,ty:95},{label:e.formatMessage({id:"tracheal.bronchial.lung.cancer",defaultMessage:t["tracheal.bronchial.lung.cancer"]}),selector:".larynx",tx:e.locale==="en"?80:90,ty:120},{label:e.formatMessage({id:"acute.myeloid.leukaemia",defaultMessage:t["acute.myeloid.leukaemia"]}),selector:".blood",tx:90,ty:200},{label:e.formatMessage({id:"stomach.cancer",defaultMessage:t["stomach.cancer"]}),selector:".stomach",tx:80,ty:150},{label:e.formatMessage({id:"liver.cancer",defaultMessage:t["liver.cancer"]}),selector:".stomach",tx:80,ty:150},{label:e.formatMessage({id:"pancreatic.cancer",defaultMessage:t["pancreatic.cancer"]}),selector:".stomach",tx:105,ty:160},{label:e.formatMessage({id:"colorectal.cancer",defaultMessage:t["colorectal.cancer"]}),selector:".stomach",tx:85,ty:250},{label:e.formatMessage({id:"kidney.cancer",defaultMessage:t["kidney.cancer"]}),selector:".stomach",tx:65,ty:185},{label:e.formatMessage({id:"bladder.cancer",defaultMessage:t["bladder.cancer"]}),selector:".erectile",tx:85,ty:250},{label:e.formatMessage({id:"cervical.cancer",defaultMessage:t["cervical.cancer"]}),selector:".Ectopic",tx:85,ty:275}],d=[{label:e.formatMessage({id:"stroke",defaultMessage:t.stroke}),selector:".brain",tx:97,ty:39},{label:e.formatMessage({id:"blindness.decreased.eyesight",defaultMessage:t["blindness.decreased.eyesight"]}),selector:".eyes",tx:97,ty:39},{label:e.formatMessage({id:"periodontitis",defaultMessage:t.periodontitis}),selector:".stomach",tx:90,ty:60},{label:e.formatMessage({id:"aortic.aneurysm",defaultMessage:t["aortic.aneurysm"]}),selector:".blood",tx:90,ty:120},{label:e.formatMessage({id:"heart.disease",defaultMessage:t["heart.disease"]}),selector:".heart",tx:90,ty:140},{label:e.formatMessage({id:"pneumonia",defaultMessage:t.pneumonia}),selector:".lungs",tx:85,ty:130},{label:e.formatMessage({id:"atherosclerotic.peripheral.vascular.disease",defaultMessage:t["atherosclerotic.peripheral.vascular.disease"]}),selector:".blood",tx:90,ty:380},{label:e.formatMessage({id:"copd",defaultMessage:t.copd}),selector:".lungs",tx:85,ty:130},{label:e.formatMessage({id:"tuberculosis",defaultMessage:t.tuberculosis}),selector:".lungs",tx:85,ty:130},{label:e.formatMessage({id:"asthma",defaultMessage:t.asthma}),selector:".lungs",tx:85,ty:130},{label:e.formatMessage({id:"diabetes",defaultMessage:t.diabetes}),selector:".stomach",tx:105,ty:160},{label:e.formatMessage({id:"hip.fractures",defaultMessage:t["hip.fractures"]}),selector:".bounds",tx:90,ty:230},{label:e.formatMessage({id:"rheumatoid.arthritis",defaultMessage:t["rheumatoid.arthritis"]}),selector:".bounds",tx:134,ty:275},{label:e.formatMessage({id:"impaired.immune.function",defaultMessage:t["impaired.immune.function"]}),selector:null,tx:85,ty:130},{label:e.formatMessage({id:"erectile.dysfunction",defaultMessage:t["erectile.dysfunction"]}),selector:".erectile",tx:107,ty:290},{label:e.formatMessage({id:"reduced.fertility.men",defaultMessage:t["reduced.fertility.men"]}),selector:".erectile",tx:95,ty:290},{label:e.formatMessage({id:"ectopic.pregnancy",defaultMessage:t["ectopic.pregnancy"]}),selector:".Ectopic",tx:90,ty:250},{label:e.formatMessage({id:"reduced.fertility.women",defaultMessage:t["reduced.fertility.women"]}),selector:".Ectopic",tx:95,ty:242}];s.select("svg").selectAll("text.label").remove();const{selectedOption:i,isMobile:c}=this.state,m=i==="Cancers"?r:d;let n=60;const g=(a,o)=>c&&this.props.intl.locale==="am"?140:c?160:-250;e.locale==="en"?c?s.select("svg").selectAll("text.label").data(m).enter().append("text").attr("class","label").attr("x",g).attr("y",(a,o)=>n+o*25).text(a=>a.label):(n=90,s.select("svg").selectAll("text.left").data(r).enter().append("text").attr("class","label").attr("x",(a,o)=>-250).attr("y",(a,o)=>n+o*25).text(a=>a.label),s.select("svg").selectAll("text.right").data(d).enter().append("text").attr("class","label").attr("x",(a,o)=>200).attr("y",(a,o)=>n+o*25).text(a=>a.label)):(e.locale==="fr"||e.locale==="am")&&(c?s.select("svg").selectAll("text.label").data(m).enter().append("text").attr("class","label").attr("x",g).attr("y",(a,o)=>n+o*25).text(a=>a.label):(s.select("svg").selectAll("text.left").data(r).enter().append("text").attr("class","label").attr("x",(a,o)=>-280).attr("y",(a,o)=>n+o*25).text(a=>a.label),s.select("svg").selectAll("text.right").data(d).enter().append("text").attr("class","label").attr("x",(a,o)=>200).attr("y",(a,o)=>n+o*25).text(a=>a.label))),s.select("svg").selectAll("text.label").on("mouseover",(a,o)=>{this.onMouseOver(o.selector,p.select(a.currentTarget),o,{tx:o.tx,ty:o.ty})}).on("mouseout",(a,o)=>{this.onMouseOut()})}componentDidUpdate(s,e){(e.selectedOption!==this.state.selectedOption||e.orientation!==this.state.orientation)&&(this.updateSvgLabels(),this.addOnClassToSelectedElements())}componentWillUnmount(){window.removeEventListener("resize",this.updateLayout),window.screen.orientation?window.screen.orientation.removeEventListener("change",this.handleOrientationChange):window.removeEventListener("resize",this.handleOrientationChange)}render(){return l.jsx(C.Container,{className:"body parts",children:l.jsxs("svg",{className:"body root",viewBox:this.state.isMobile?this.mobileOptions.viewBoxDims:"-300 0 900 520",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx(w.default,{className:"backGround"}),l.jsx(q.default,{className:"system bounds"}),l.jsx(E.default,{className:"system head"}),l.jsx(x.default,{className:"system larynx"}),l.jsx(x.default,{className:"system lungs"}),l.jsx(L.default,{className:"system stomach"}),l.jsx(j.default,{className:"system liver"}),l.jsx(T.default,{className:"system brain"}),l.jsx(N.default,{className:"system eyes"}),l.jsx(S.default,{className:"system blood"}),l.jsx(k.default,{className:"system heart"}),l.jsx(A.default,{className:"system erectile"}),l.jsx(B.default,{className:"system Ectopic"}),l.jsxs("g",{onClick:this.handleTextClick,children:[l.jsx("rect",{className:"title-rect","data-option":"Cancers",x:this.state.isMobile?this.mobileOptions.Cancers.x-20:"",y:this.state.isMobile?this.mobileOptions.Cancers.y-20:this.localeYDims[this.props.intl.locale],rx:"5",ry:"5",width:"100",height:"30"}),l.jsx("text",{x:this.state.isMobile?this.mobileOptions.Cancers.x:this.localeXdims[this.props.intl.locale],y:this.state.isMobile?this.mobileOptions.Cancers.y:this.localeYDims[this.props.intl.locale],className:"title","data-option":"Cancers",children:l.jsx(f.FormattedMessage,{id:"ailments.title",defaultMessage:"{cancers}",values:{cancers:this.messages[this.props.intl.locale]["ailments.title"]}})}),this.state.isMobile&&l.jsx("rect",{className:"title-line",x:this.state.isMobile?this.mobileOptions.Cancers.x-18:"-250",y:this.state.isMobile?this.mobileOptions.Cancers.y+7:"",width:this.titleLineWidths.Cancers[this.props.intl.locale]||this.titleLineWidths.Cancers.en,height:"3",fill:"#E5EBED"})]}),l.jsxs("g",{onClick:this.handleTextClick,children:[l.jsx("rect",{className:"title-rect","data-option":"OtherConditions",x:this.state.isMobile?this.mobileOptions.OtherConditions.x-65:"",y:this.state.isMobile?this.mobileOptions.OtherConditions.y-20:this.localeYDims[this.props.intl.locale],rx:"5",ry:"5",width:"155",height:"30"}),l.jsx("text",{x:this.state.isMobile?this.mobileOptions.OtherConditions.x-50:"200",y:this.state.isMobile?this.mobileOptions.OtherConditions.y:this.localeYDims[this.props.intl.locale],className:"title","data-option":"OtherConditions",children:l.jsx(f.FormattedMessage,{id:"ailments.otherConditions",defaultMessage:"{otherConditions}",values:{otherConditions:this.messages[this.props.intl.locale]["ailments.otherConditions"]}})}),this.state.isMobile&&l.jsx("rect",{className:"title-line",x:this.state.isMobile?this.mobileOptions.OtherConditions.x-68:"200",y:this.state.isMobile?this.mobileOptions.OtherConditions.y+7:"60",width:this.titleLineWidths.OtherConditions[this.props.intl.locale]||this.titleLineWidths.OtherConditions.en,height:"3",fill:"#E5EBED"})]})]})})}}const I=f.injectIntl(Y);exports.default=I;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),L=require("react"),Vt=require("./Tooltip.js"),_t=require("@nivo/bar"),Ht=require("react-intl"),Tt=require("@nivo/theming"),$e=require("d3-shape"),Ve=require("./LineLayer.js"),_e=require("papaparse"),Wt=require("../../layout/FlexWrapDetector.js"),fe=require("../../utils/deviceType.js"),At="middle",Rt="top",J="#66676d",He="#dddddd",qt="none",U="_Color",Pt=({editing:x,legends:q,marginLeft:Te,marginTop:xe,marginRight:We,marginBottom:ye,options:m,intl:g,format:p,colors:E,groupMode:O,height:Ae,showLegends:Q,legendPosition:k,tickRotation:M,offsetText:G,tickColor:ee,layout:f,reverse:$,offsetY:Re,csvLineLayerData:pe,tooltip:te,lineLayerEnabled:ge,overlays:P,maxValue:H,valueScale:qe,colorGenerator:b,legendLabel:be,overrideTickColor:Pe,fixedMinValue:ae,fixedMaxValue:T,barPadding:Ye,barLabelPosition:je,barInnerPadding:Ke,tooltipEnabled:Xe,xLabelColor:w,barLabelColor:Y,legendCheckBack:j,legendLabelBack:ne,legendLabelColor:se,highlightXAxisLine:Ze,showTickLine:W,showRightAxis:Ce,offsetRight:Je,offsetBottom:ve,confidenceIntervals:le,showGroupTotal:Ue,groupTotalLabel:Ne,groupTotalFormat:Ie,groupTotalMeasure:Le,groupTotalOffset:B,groupTotalFixedPosition:K,tooltipEnableMarkdown:Qe,xAxisTickValues:Ge,yAxisTickValues:et,mobileCustomization:tt,minMaxClamp:at,reverseLegend:nt,enableGridY:st,enableGridX:lt,customAxisFormat:D,previewMode:z,showLegendsInColumns:rt=!1,numberOfLegendColumns:it=4})=>{var Ee;const ct=["mobile","tablet","midTablet"].includes(fe.default()),X=["tablet","midTablet"].includes(fe.default()),Z=fe.default()==="mobile",re=30,ie=15,h=JSON.parse(decodeURIComponent(tt)),ke=ct&&((h==null?void 0:h.showCustomization)??!1),V=ke&&z!=="Desktop",_=!x&&ke,ce=()=>Y==="null"||Y===null||!Y?"#000000":Y,[v,dt]=L.useState([]),{colorBy:A}=E,we={};P.forEach((e,t)=>{we[t]=!0});const[N,ht]=L.useState(we),[De,ut]=L.useState(50),[mt,ot]=L.useState(xe),[Kt,Fe]=L.useState(0),[Oe,ft]=L.useState(ye),R=((e,t,c,s,r)=>{let i=[];return e.data&&(i=t.colorBy==="index"?e.data.map(l=>{let n,u=!0;return c.indexOf(l[e.indexBy])>-1?(u=!1,n=s):n=l[U]?l[U]:r.getColor(l.id,l),{enabled:u,color:n,id:l[e.indexBy],label:l[e.indexBy]}}):e.keys.map(l=>{let n,u=!0;return c.indexOf(l)>-1?(u=!1,n=s):n=r.getColorByKey(l),{enabled:u,color:n,id:l,label:l}})),i})(m,E,v,qt,b),Me=()=>(nt&&R.reverse(),a.jsxs(a.Fragment,{children:[Q&&R.map(e=>a.jsxs("div",{className:`legend item ${e.enabled?"":"ignore"}`,onClick:()=>Lt(e.id),children:[j&&a.jsx("input",{className:e.enabled?"":"ignore",type:"checkbox",checked:e.enabled,style:{backgroundColor:j?A==="values"?ee:e.color:"none",color:"#000"}}),!j&&a.jsx("input",{type:"checkbox",checked:e.enabled,style:{color:"#000"}}),j&&a.jsx("span",{className:"checkmark-with-bg",style:{backgroundColor:e.color}}),!j&&a.jsx("span",{className:"checkmark"}),ne&&a.jsx("label",{className:e.enabled?"":"ignore",style:{backgroundColor:A==="values"?ee:e.color,color:se},children:e.label}),!ne&&a.jsx("label",{className:e.enabled?"":"ignore",style:{color:se},children:e.label})]})),A==="values"&&a.jsxs("div",{className:"legend item",children:[a.jsx("label",{className:"range min",style:{backgroundColor:b.getColorByValue(b.minValue),color:"#fff"}}),a.jsx("label",{children:g.formatNumber(p.style==="percent"?b.minValue/100:b.minValue,{...p,minimumFractionDigits:0})})]}),A==="values"&&a.jsxs("div",{className:"legend item",children:[a.jsx("label",{className:"range max",style:{backgroundColor:b.getColorByValue(b.maxValue),color:"#fff"},children:" "}),a.jsx("label",{children:g.formatNumber(p.style==="percent"?b.maxValue/100:b.maxValue,{...p,minimumFractionDigits:0})})]}),Q&&ge&&P.map((e,t)=>a.jsxs("div",{className:"legend item",onClick:()=>kt(t),children:[a.jsx("input",{className:j&&N[t]?"":"ignore",type:"checkbox",checked:N[t],style:{backgroundColor:N[t]&&j===!0?e.lineColor:"none",color:"#000"}}),a.jsx("span",{className:j?"checkmark-with-bg":"checkmark",style:{backgroundColor:N[t]&&j===!0?e.lineColor:"none"}}),a.jsx("label",{className:N[t]?"":"ignore",style:{backgroundColor:N[t]&&ne===!0?e.lineColor:"none",color:se},children:e.title})]}))]}));L.useEffect(()=>{(()=>{const c=5*Math.max(R.length-5,0);ut(c)})()},[R]);const xt={bottom:`-${De}px`},yt={bottom:`-${De}px`,gap:"0px"},pt=e=>de(e,"1 0",He,"Y"),gt=e=>de(e,"4 4",J,"X"),bt=e=>de(e,"1 0",He,"X"),jt=e=>{const t=R.find(c=>c.id===e.value);return t?t.color:"#FFFFFF"},vt=e=>{const{yScale:t,bars:c}=e;return a.jsx(L.Fragment,{children:c.filter(s=>s.data.value!=null).map(s=>{let r=s.data.indexValue;m.dimensionsMetadata&&m.dimensionsMetadata.size>1&&(r=s.data.id);const i=le.filter(l=>l.serieLabel==r)[0];if(i&&i.low&&i.high){const l=t(parseFloat(i.low)),n=t(parseFloat(i.high));return a.jsxs("g",{children:[a.jsx("line",{y1:l,y2:n,x1:s.x+s.width/2,x2:s.x+s.width/2,strokeWidth:1,stroke:J}),a.jsx("line",{y1:l,y2:l,x1:s.x+s.width/2-3,x2:s.x+s.width/2+3,strokeWidth:1,stroke:J}),a.jsx("line",{y1:n,y2:n,x1:s.x+s.width/2-3,x2:s.x+s.width/2+3,strokeWidth:1,stroke:J})]})}})})},de=(e,t,c,s)=>{const{yScale:r,innerWidth:i,innerHeight:l}=e;let n,u;return s=="X"?(n=[0,i],u=$e.line().x((o,S)=>S===0?-10:o).y(()=>r(0))):(n=[0,l],u=$e.line().x(()=>0).y(o=>o)),a.jsx(L.Fragment,{children:a.jsx("path",{d:u(n),fill:"none",stroke:c,style:{pointerEvents:"none",strokeDasharray:t}})})},F=(e,t)=>v?(E.colorBy==="index"||E.colorBy==="id"||E.colorBy==="values")&&!t?e.filter(c=>v.indexOf(c[m.indexBy])===-1):e?e.filter(c=>v.indexOf(c)===-1):[]:e,Nt=e=>{const t=Tt.useTheme();if(!e.value)return"";const c=Object.assign({},e);(_||V)&&oe.includes(String(c.value))&&(c.value="");let s;Pe?s=ee:s=jt(e);let r=[],i="";if(V||_){const n=String(c.value).split(" ");let u=25;x&&z==="Mobile"||Z&&!x?u=(h==null?void 0:h.mobileMaxTickLength)??25:x&&z==="Tablet"||X&&!x?u=(h==null?void 0:h.tabletMaxTickLength)??25:window.matchMedia("(min-width: 768px) and (max-width: 1250px)").matches&&!x&&(u=15),n.forEach(o=>{i.length+String(o).length<=u?i+=(i?" ":"")+o:(r.push(i),i=o)}),i&&r.push(i)}else r=[c.value];let l=12;return Z?l=(h==null?void 0:h.mobileYAxisLineHeight)??12:X&&(l=(h==null?void 0:h.tabletYAxisLineHeight)??12),M>0&&M<180?a.jsxs("g",{transform:`translate(${e.x},${e.y+30})`,children:[W&&a.jsx("line",{stroke:s,strokeWidth:1.5,y1:-32,y2:-12}),a.jsx("g",{transform:`translate(0, ${e.y+G})`,children:r.map((n,u)=>a.jsx("text",{transform:`rotate(${M})`,textAnchor:"start",y:typeof e.value=="number"?0:u*l,dominantBaseline:"middle",style:{...t.axis.ticks.text,fill:w==="null"?"black":w,fontSize:"12px",fontFamily:"Roboto"},children:n},n))})]}):M>180&&M<360?a.jsxs("g",{transform:`translate(${e.x},${e.y+30})`,children:[W&&a.jsx("line",{stroke:s,strokeWidth:1.5,y1:-32,y2:-12}),a.jsx("g",{transform:`translate(0, ${e.y+G})`,children:r.map((n,u)=>a.jsx("text",{transform:`rotate(${M})`,textAnchor:"end",y:typeof e.value=="number"?0:u*l,dominantBaseline:"middle",style:{...t.axis.ticks.text,fill:w==="null"?"black":w,fontSize:"12px",fontFamily:"Roboto"},children:n},u))})]}):a.jsxs("g",{transform:`translate(${e.x},${e.y+30})`,children:[W&&a.jsx("line",{stroke:s,strokeWidth:1.5,y1:-32,y2:-12}),a.jsx("g",{transform:`translate(0, ${e.y+G})`,children:r.map((n,u)=>a.jsx("text",{transform:`rotate(${M})`,textAnchor:"middle",y:typeof e.value=="number"?0:u*l,dominantBaseline:"middle",style:{...t.axis.ticks.text,fill:w==="null"?"black":w,fontSize:"12px",fontFamily:"Roboto"},children:n},u))})]})},It=e=>{if(!e.value||(V||_)&&oe.includes(String(e.value)))return"";let t=e.value;if(f==="vertical"){const n=D||p;t=g.formatNumber(n.style==="percent"?t/100:t,{...n})}let c=25;x&&z==="Mobile"||Z&&!x?c=(h==null?void 0:h.mobileMaxTickLength)??25:x&&z==="Tablet"||X&&!x?c=(h==null?void 0:h.tabletMaxTickLength)??25:window.matchMedia("(min-width: 768px) and (max-width: 1250px)").matches&&!x&&(c=15);const s=typeof t=="string"?t.split(" "):[t],r=[];let i="";s.forEach(n=>{i.length+String(n).length<=c?i+=(i?" ":"")+n:(r.push(i),i=n)}),i&&r.push(i);let l=12;return x&&z==="Mobile"||Z&&!x?l=(h==null?void 0:h.mobileYAxisLineHeight)??12:(x&&z==="Tablet"||X&&!x)&&(l=(h==null?void 0:h.tabletYAxisLineHeight)??12),a.jsxs("g",{transform:`translate(${e.x},${e.y})`,children:[a.jsx("line",{x1:-5,x2:0,y1:0,y2:0,stroke:"#000",strokeWidth:1}),r.map((n,u)=>a.jsx("text",{x:-10,y:typeof t=="number"?0:u*l,textAnchor:"end",dominantBaseline:"middle",style:{fill:w==="null"?"black":w,fontSize:"12px",fontFamily:"Roboto"},children:n},n))]})},Lt=e=>{const t=v.slice();if(t.indexOf(e)>-1){const c=t.indexOf(e);t.splice(c,1)}else t.push(e);dt(t)},kt=e=>{const t=Object.assign({},N);t[e]=!t[e],ht(t)},wt=({bars:e})=>a.jsx("g",{children:e.map(t=>{const{width:c,height:s,y:r,x:i,data:l}=t;if(f==="horizontal"&&s<=ie||f==="vertical"&&c<=re)return;const n=l.value?g.formatNumber(p.style==="percent"?l.value/100:l.value,p):"",u=n.length;let o,S;if(f==="vertical"&&c>=re||f==="horizontal"&&s>=ie)return f==="vertical"?(o=r-6,S=i+c/2-u*3.5):(o=r+s/2+4,S=i+c+5),a.jsx("text",{y:o,x:S,style:{fill:ce()},children:`${n}`})})}),Dt=e=>{const t=m.data.filter(s=>v.indexOf(s[m.indexBy])==-1).map(s=>s[m.indexBy]),{bars:c}=e;return a.jsx("g",{children:t.filter(s=>c.filter(r=>r.data.indexValue==s).length>0).map(s=>{var C;const r=c.filter(d=>d.data.indexValue==s);let i="right",l=0,n=0;if(f=="horizontal")O==="stacked"?(K?l=e.innerWidth-20:(l=r.map(d=>d.width).reduce((d,y)=>d+y),$&&(l=e.innerWidth-l)),n=e.yScale(s)+r[0].height/2):(K?l=e.innerWidth:(l=r.map(d=>d.width).reduce((d,y)=>d>y?d:y),$&&(l=e.innerWidth-l)),n=e.yScale(s)+r.map(d=>d.height).reduce((d,y)=>d+y)/2),l=l+parseInt(B)+5;else if(i="middle",O==="stacked")l=e.xScale(s)+r[0].width/2,K?n=n-parseInt(B):$?n=parseInt(B)+r.map(d=>d.height).reduce((d,y)=>d+y)+14:n=e.innerHeight-parseInt(B)-r.map(d=>d.height).reduce((d,y)=>d+y)-5;else if(l=e.xScale(s)+r.map(d=>d.width).reduce((d,y)=>d+y)/2,$&&(n=e.innerHeight),K)n=n-parseInt(B);else{if(r.length%2==1){const d=Math.floor(r.length/2);n=r[d].height}else{const d=r.length/2;n=Math.max(r[d].height,r[d-1].height)}$?n=n+14+parseInt(B):n=e.innerHeight-n-parseInt(B)-5}const u=m.data.filter(d=>d[m.indexBy]===s)[0];let o=u.parent_variables?u.parent_variables[Le]:u[Le];const S=A!=="index"?(C=v==null?void 0:v.map(d=>u[d]))==null?void 0:C.reduce((d,y)=>d+y,0):0;return o-=S,a.jsx("text",{y:n,x:l,style:{fill:ce()},children:a.jsxs("tspan",{textAnchor:i,children:[Ne?Ne+" ":"",g.formatNumber(Ie.style==="percent"?o/100:o,Ie)]})})})})},Ft={top:mt,right:We,bottom:Oe,left:Te};let he,ue=0,Be=0;pe&&(he=_e.parse(pe,{header:!1,dynamicTyping:!0}),ue=Math.max(...he.data.map(e=>e[1])),Be=Math.min(...he.data.map(e=>e[1])));const ze=(()=>{const e=[];if(le&&(le.forEach(t=>{t.low&&e.push(parseFloat(t.low)),t.high&&e.push(parseFloat(t.high))}),m.data)){const t=F(m.data,!1),c=F(m.keys,!0);t.forEach(s=>{c.forEach(r=>{s[r]&&e.push(s[r])})})}return e})(),Ot=Math.max(...ze),Mt=Math.min(...ze),Bt=()=>{const e=F(m.data,!1),t=F(m.keys,!0);if(O==="stacked"&&H!=="fixed"||H==="fixed"&&T===null||T===""){let c=t.length>0?t:m.keys;return Math.max(Math.max(...e.map(s=>c.map(r=>s[r]?s[r]:0)).map(s=>s.reduce((r,i)=>Math.max(r+i,r+0)))),ue)*1.1}return H==="fixed"&&T!==null&&T!==""?T:Math.max(ue,Ot)*1.05},zt=()=>{const e=Math.min(Be,Mt);return H==="fixed"&&ae!==null&&ae!==""?ae:e>0?e*.9:e*1.1},St=Bt(),Et=zt(),I=["grid","axes","bars"];Ue&&I.push(Dt),I.push(pt),I.push(bt),ge&&P&&P.forEach((e,t)=>{if(N[t]==!0||N[t]==null){const{csvLineLayerData:c,lineColor:s,tooltip:r}=e;if(e.app=="csv"){const i=_e.parse(c,{header:!1,dynamicTyping:!0});if(i.data&&i.data.filter(l=>l[1]!==null).length>0){i.data=i.data.filter(n=>n[1]!==null);const l=Ve.default(i,s,f,O,F(m.keys,!0),r,e.title,"");I.push(l)}}else if(e.measure[0]){const i={},l=m.data.map(o=>[o[m.indexBy],o.variables[e.measure[0]]]),n=m.metadata.measures?m.metadata.measures.filter(o=>o.value==e.measure[0]):[];i.data=l;const u=Ve.default(i,s,f,O,F(m.keys,!0),r,e.title,n.length>0?n[0].label:"");I.push(u)}}}),je===Rt&&I.push(wt),Ze&&I.push(gt),I.push(vt);let me=parseInt(et);const Se=()=>a.jsx(a.Fragment,{children:Q&&be&&a.jsx("div",{className:"legend item",children:a.jsx("label",{className:"legend-title",children:be})})}),oe=[];if(_||V){me=Number.parseInt(h.yAxisTickValues);const e=new Map(Object.entries(((Ee=h==null?void 0:h.labels)==null?void 0:Ee.xAxis)??{}));for(const[t,c]of e)c||oe.push(t)}let $t=parseInt(Ae+"")-Oe;return a.jsx("div",{style:{height:$t+"px"},className:"bar-chart",children:(m==null?void 0:m.data)&&m.data.length>0&&a.jsxs(a.Fragment,{children:[a.jsx(_t.ResponsiveBar,{colorBy:E.colorBy,animate:!0,enableLabel:je==At,...m,maxValue:St,minValue:Et,keys:F(m.keys,!0),data:F(m.data,!1),groupMode:O||"grouped",margin:Ft,innerPadding:Ke,valueScale:{type:qe,clamp:H==="fixed"&&at},colors:e=>e&&e.data[U]?e.data[U]:b.getColor(e.id,e.data),borderColor:"#000",reverse:$,axisTop:null,axisRight:Ce?{tickSize:f=="horizontal"&&W||f==="vertical"?5:0,tickPadding:5,tickRotation:0,tickValues:me,legend:q.right,legendPosition:"middle",legendOffset:parseInt(Je),format:e=>{if(!e)return"";if(f=="vertical"){const t=D||p;return g.formatNumber(t.style==="percent"?e/100:e,{...t})}return e}}:null,axisBottom:(V||_)&&(h==null?void 0:h.xAxisDisabled)===!0?null:f==="horizontal"?{legend:q.bottom,legendPosition:"middle",legendOffset:parseInt(ve),tickPadding:5,tickRotation:0,tickValues:parseInt(Ge),format:e=>{if(!e)return"";if(f=="horizontal"){const t=D||p;return g.formatNumber(t.style==="percent"?e/100:e,{...t})}return e}}:{legend:q.bottom,legendPosition:"middle",legendOffset:parseInt(ve),renderTick:Nt},axisLeft:{tickSize:f==="horizontal"&&W||f==="vertical"?5:0,tickPadding:5,tickRotation:0,tickValues:me,legend:q.left,legendPosition:"middle",legendOffset:Number.parseInt(Re),...V||_?{renderTick:It}:{format:e=>{if(!e)return"";if(f==="vertical"){const t=D||p;return g.formatNumber(t.style==="percent"?e/100:e,{...t})}return e}}},enableGridY:st,enableGridX:lt,layout:f,labelSkipWidth:re,labelSkipHeight:ie,padding:Ye,labelTextColor:ce(),label:e=>g.formatNumber(p.style==="percent"&&e.value?e.value/100:e.value,p),layers:I,onMouseEnter:e=>{},onMouseLeave:e=>{},motionStiffness:130,motionDamping:15,tooltip:e=>Xe&&te&&te.trim().length>0?a.jsx(Vt.default,{intl:g,format:p,d:e,tooltip:te,tooltipEnableMarkdown:Qe}):null,theme:{tooltip:{basic:{whiteSpace:"pre",display:"flex",alignItems:"center"},container:{background:"transparent",boxShadow:""},table:{},tableCell:{padding:"3px 5px"}}}}),(k==="top"||k==="bottom")&&a.jsx("div",{className:`legends container has-standard-12-font-size ${k}`,children:a.jsxs("div",{className:"legend-sections",children:[a.jsx("div",{className:"title-section",children:Se()}),a.jsx(Wt.default,{onWrapChange:e=>{k==="top"?(ot(xe+e/2*40),Fe(e)):(ft(ye+e/2*25),Fe(e))},className:"legends container has-standard-12-font-size items-section",useColumns:rt,numberOfLegendColumns:it,children:Me()})]})}),(k==="right"||k==="left")&&a.jsxs("div",{className:`legends container has-standard-12-font-size ${k}`,style:k==="right"?xt:yt,children:[Se(),Me()]})]})})},Yt=Ht.injectIntl(Pt);exports.default=Yt;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react/jsx-runtime"),L=require("react"),St=require("./Tooltip.js"),zt=require("@nivo/bar"),Bt=require("react-intl"),Vt=require("@nivo/theming"),ze=require("d3-shape"),Be=require("./LineLayer.js"),ye=require("papaparse"),$t=require("../../layout/FlexWrapDetector.js"),pe=require("../../utils/deviceType.js"),_t="middle",Ht="top",C="#66676d",Ve="#dddddd",Tt="none",Z="_Color",Wt=({editing:o,legends:q,marginLeft:$e,marginTop:J,marginRight:_e,marginBottom:U,options:m,intl:g,format:p,colors:B,groupMode:F,height:He,showLegends:Q,legendPosition:k,tickRotation:O,offsetText:G,tickColor:ee,layout:x,reverse:V,offsetY:Te,csvLineLayerData:ge,tooltip:te,lineLayerEnabled:ae,overlays:$,maxValue:ne,valueScale:We,colorGenerator:b,legendLabel:be,overrideTickColor:Ae,fixedMinValue:se,fixedMaxValue:le,barPadding:qe,barLabelPosition:je,barInnerPadding:Re,tooltipEnabled:Pe,xLabelColor:w,barLabelColor:R,legendCheckBack:v,legendLabelBack:re,legendLabelColor:ie,highlightXAxisLine:Ye,showTickLine:T,showRightAxis:Ke,offsetRight:Xe,offsetBottom:ve,confidenceIntervals:ce,showGroupTotal:Ce,groupTotalLabel:Ne,groupTotalFormat:Ie,groupTotalMeasure:Le,groupTotalOffset:E,groupTotalFixedPosition:P,tooltipEnableMarkdown:Ze,xAxisTickValues:Je,yAxisTickValues:Ue,mobileCustomization:Qe,minMaxClamp:qt,reverseLegend:Ge,enableGridY:et,enableGridX:tt,customAxisFormat:D,previewMode:S,showLegendsInColumns:at=!1,numberOfLegendColumns:nt=4})=>{var Se;const st=["mobile","tablet","midTablet"].includes(pe.default()),Y=["tablet","midTablet"].includes(pe.default()),K=pe.default()==="mobile",de=30,he=15,u=JSON.parse(decodeURIComponent(Qe)),ke=st&&((u==null?void 0:u.showCustomization)??!1),_=ke&&S!=="Desktop",H=!o&&ke,ue=()=>R==="null"||R===null||!R?"#000000":R,[N,lt]=L.useState([]),{colorBy:W}=B,we={};$.forEach((e,t)=>{we[t]=!0});const[j,rt]=L.useState(we),[De,it]=L.useState(50),[Rt,ct]=L.useState(J),[Pt,Me]=L.useState(0),[dt,ht]=L.useState(U),A=((e,t,c,n,r)=>{let i=[];return e.data&&(i=t.colorBy==="index"?e.data.map(s=>{let a,h=!0;return c.indexOf(s[e.indexBy])>-1?(h=!1,a=n):a=s[Z]?s[Z]:r.getColor(s.id,s),{enabled:h,color:a,id:s[e.indexBy],label:s[e.indexBy]}}):e.keys.map(s=>{let a,h=!0;return c.indexOf(s)>-1?(h=!1,a=n):a=r.getColorByKey(s),{enabled:h,color:a,id:s,label:s}})),i})(m,B,N,Tt,b),Fe=()=>(Ge&&A.reverse(),l.jsxs(l.Fragment,{children:[Q&&A.map(e=>l.jsxs("div",{className:`legend item ${e.enabled?"":"ignore"}`,onClick:()=>jt(e.id),children:[v&&l.jsx("input",{className:e.enabled?"":"ignore",type:"checkbox",checked:e.enabled,style:{backgroundColor:v?W==="values"?ee:e.color:"none",color:"#000"}}),!v&&l.jsx("input",{type:"checkbox",checked:e.enabled,style:{color:"#000"}}),v&&l.jsx("span",{className:"checkmark-with-bg",style:{backgroundColor:e.color}}),!v&&l.jsx("span",{className:"checkmark"}),re&&l.jsx("label",{className:e.enabled?"":"ignore",style:{backgroundColor:W==="values"?ee:e.color,color:ie},children:e.label}),!re&&l.jsx("label",{className:e.enabled?"":"ignore",style:{color:ie},children:e.label})]})),W==="values"&&l.jsxs("div",{className:"legend item",children:[l.jsx("label",{className:"range min",style:{backgroundColor:b.getColorByValue(b.minValue),color:"#fff"}}),l.jsx("label",{children:g.formatNumber(p.style==="percent"?b.minValue/100:b.minValue,{...p,minimumFractionDigits:0})})]}),W==="values"&&l.jsxs("div",{className:"legend item",children:[l.jsx("label",{className:"range max",style:{backgroundColor:b.getColorByValue(b.maxValue),color:"#fff"},children:" "}),l.jsx("label",{children:g.formatNumber(p.style==="percent"?b.maxValue/100:b.maxValue,{...p,minimumFractionDigits:0})})]}),Q&&ae&&$.map((e,t)=>l.jsxs("div",{className:"legend item",onClick:()=>vt(t),children:[l.jsx("input",{className:v&&j[t]?"":"ignore",type:"checkbox",checked:j[t],style:{backgroundColor:j[t]&&v===!0?e.lineColor:"none",color:"#000"}}),l.jsx("span",{className:v?"checkmark-with-bg":"checkmark",style:{backgroundColor:j[t]&&v===!0?e.lineColor:"none"}}),l.jsx("label",{className:j[t]?"":"ignore",style:{backgroundColor:j[t]&&re===!0?e.lineColor:"none",color:ie},children:e.title})]}))]}));L.useEffect(()=>{(()=>{const c=5*Math.max(A.length-5,0);it(c)})()},[A]);const ut={bottom:`-${De}px`},mt={bottom:`-${De}px`,gap:"0px"},ft=e=>me(e,"1 0",Ve,"Y"),xt=e=>me(e,"4 4",C,"X"),ot=e=>me(e,"1 0",Ve,"X"),yt=e=>{const t=A.find(c=>c.id===e.value);return t?t.color:"#FFFFFF"},pt=e=>{const{yScale:t,bars:c}=e;return l.jsx(L.Fragment,{children:c.filter(n=>n.data.value!=null).map(n=>{let r=n.data.indexValue;m.dimensionsMetadata&&m.dimensionsMetadata.size>1&&(r=n.data.id);const i=ce.filter(s=>s.serieLabel==r)[0];if(i&&i.low&&i.high){const s=t(parseFloat(i.low)),a=t(parseFloat(i.high));return l.jsxs("g",{children:[l.jsx("line",{y1:s,y2:a,x1:n.x+n.width/2,x2:n.x+n.width/2,strokeWidth:1,stroke:C}),l.jsx("line",{y1:s,y2:s,x1:n.x+n.width/2-3,x2:n.x+n.width/2+3,strokeWidth:1,stroke:C}),l.jsx("line",{y1:a,y2:a,x1:n.x+n.width/2-3,x2:n.x+n.width/2+3,strokeWidth:1,stroke:C})]})}})})},me=(e,t,c,n)=>{const{yScale:r,innerWidth:i,innerHeight:s}=e;let a,h;return n=="X"?(a=[0,i],h=ze.line().x((f,z)=>z===0?-10:f).y(()=>r(0))):(a=[0,s],h=ze.line().x(()=>0).y(f=>f)),l.jsx(L.Fragment,{children:l.jsx("path",{d:h(a),fill:"none",stroke:c,style:{pointerEvents:"none",strokeDasharray:t}})})},M=(e,t)=>N?(B.colorBy==="index"||B.colorBy==="id"||B.colorBy==="values")&&!t?e.filter(c=>N.indexOf(c[m.indexBy])===-1):e?e.filter(c=>N.indexOf(c)===-1):[]:e,gt=e=>{const t=Vt.useTheme();if(!e.value)return"";const c=Object.assign({},e);(H||_)&&oe.includes(String(c.value))&&(c.value="");let n;Ae?n=ee:n=yt(e);let r=[],i="";if(_||H){const a=String(c.value).split(" ");let h=25;o&&S==="Mobile"||K&&!o?h=(u==null?void 0:u.mobileMaxTickLength)??25:o&&S==="Tablet"||Y&&!o?h=(u==null?void 0:u.tabletMaxTickLength)??25:window.matchMedia("(min-width: 768px) and (max-width: 1250px)").matches&&!o&&(h=15),a.forEach(f=>{i.length+String(f).length<=h?i+=(i?" ":"")+f:(r.push(i),i=f)}),i&&r.push(i)}else r=[c.value];let s=12;return K?s=(u==null?void 0:u.mobileYAxisLineHeight)??12:Y&&(s=(u==null?void 0:u.tabletYAxisLineHeight)??12),O>0&&O<180?l.jsxs("g",{transform:`translate(${e.x},${e.y+30})`,children:[T&&l.jsx("line",{stroke:n,strokeWidth:1.5,y1:-32,y2:-12}),l.jsx("g",{transform:`translate(0, ${e.y+G})`,children:r.map((a,h)=>l.jsx("text",{transform:`rotate(${O})`,textAnchor:"start",y:typeof e.value=="number"?0:h*s,dominantBaseline:"middle",style:{...t.axis.ticks.text,fill:w==="null"?"black":w,fontSize:"12px",fontFamily:"sans-serif"},children:a},a))})]}):O>180&&O<360?l.jsxs("g",{transform:`translate(${e.x},${e.y+30})`,children:[T&&l.jsx("line",{stroke:n,strokeWidth:1.5,y1:-32,y2:-12}),l.jsx("g",{transform:`translate(0, ${e.y+G})`,children:r.map((a,h)=>l.jsx("text",{transform:`rotate(${O})`,textAnchor:"end",y:typeof e.value=="number"?0:h*s,dominantBaseline:"middle",style:{...t.axis.ticks.text,fill:w==="null"?"black":w,fontSize:"12px",fontFamily:"sans-serif"},children:a},h))})]}):l.jsxs("g",{transform:`translate(${e.x},${e.y+30})`,children:[T&&l.jsx("line",{stroke:n,strokeWidth:1.5,y1:-32,y2:-12}),l.jsx("g",{transform:`translate(0, ${e.y+G})`,children:r.map((a,h)=>l.jsx("text",{transform:`rotate(${O})`,textAnchor:"middle",y:typeof e.value=="number"?0:h*s,dominantBaseline:"middle",style:{...t.axis.ticks.text,fill:w==="null"?"black":w,fontSize:"12px",fontFamily:"sans-serif"},children:a},h))})]})},bt=e=>{if(!e.value||(_||H)&&oe.includes(String(e.value)))return"";let t=e.value;if(x==="vertical"){const a=D||p;t=g.formatNumber(a.style==="percent"?t/100:t,{...a})}let c=25;o&&S==="Mobile"||K&&!o?c=(u==null?void 0:u.mobileMaxTickLength)??25:o&&S==="Tablet"||Y&&!o?c=(u==null?void 0:u.tabletMaxTickLength)??25:window.matchMedia("(min-width: 768px) and (max-width: 1250px)").matches&&!o&&(c=15);const n=typeof t=="string"?t.split(" "):[t],r=[];let i="";n.forEach(a=>{i.length+String(a).length<=c?i+=(i?" ":"")+a:(r.push(i),i=a)}),i&&r.push(i);let s=12;return o&&S==="Mobile"||K&&!o?s=(u==null?void 0:u.mobileYAxisLineHeight)??12:(o&&S==="Tablet"||Y&&!o)&&(s=(u==null?void 0:u.tabletYAxisLineHeight)??12),l.jsxs("g",{transform:`translate(${e.x},${e.y})`,children:[l.jsx("line",{x1:-5,x2:0,y1:0,y2:0,stroke:"#000",strokeWidth:1}),r.map((a,h)=>l.jsx("text",{x:-10,y:typeof t=="number"?0:h*s,textAnchor:"end",dominantBaseline:"middle",style:{fill:w==="null"?"black":w,fontSize:"12px",fontFamily:"sans-serif"},children:a},a))]})},jt=e=>{const t=N.slice();if(t.indexOf(e)>-1){const c=t.indexOf(e);t.splice(c,1)}else t.push(e);lt(t)},vt=e=>{const t=Object.assign({},j);t[e]=!t[e],rt(t)},Nt=({bars:e})=>l.jsx("g",{children:e.map(t=>{const{width:c,height:n,y:r,x:i,data:s}=t;if(x==="horizontal"&&n<=he||x==="vertical"&&c<=de)return;const a=s.value?g.formatNumber(p.style==="percent"?s.value/100:s.value,p):"",h=a.length;let f,z;if(x==="vertical"&&c>=de||x==="horizontal"&&n>=he)return x==="vertical"?(f=r-6,z=i+c/2-h*3.5):(f=r+n/2+4,z=i+c+5),l.jsx("text",{y:f,x:z,style:{fill:ue()},children:`${a}`})})}),It=e=>{const t=m.data.filter(n=>N.indexOf(n[m.indexBy])==-1).map(n=>n[m.indexBy]),{bars:c}=e;return l.jsx("g",{children:t.filter(n=>c.filter(r=>r.data.indexValue==n).length>0).map(n=>{var X;const r=c.filter(d=>d.data.indexValue==n);let i="right",s=0,a=0;if(x=="horizontal")F==="stacked"?(P?s=e.innerWidth-20:(s=r.map(d=>d.width).reduce((d,y)=>d+y),V&&(s=e.innerWidth-s)),a=e.yScale(n)+r[0].height/2):(P?s=e.innerWidth:(s=r.map(d=>d.width).reduce((d,y)=>d>y?d:y),V&&(s=e.innerWidth-s)),a=e.yScale(n)+r.map(d=>d.height).reduce((d,y)=>d+y)/2),s=s+parseInt(E)+5;else if(i="middle",F==="stacked")s=e.xScale(n)+r[0].width/2,P?a=a-parseInt(E):V?a=parseInt(E)+r.map(d=>d.height).reduce((d,y)=>d+y)+14:a=e.innerHeight-parseInt(E)-r.map(d=>d.height).reduce((d,y)=>d+y)-5;else if(s=e.xScale(n)+r.map(d=>d.width).reduce((d,y)=>d+y)/2,V&&(a=e.innerHeight),P)a=a-parseInt(E);else{if(r.length%2==1){const d=Math.floor(r.length/2);a=r[d].height}else{const d=r.length/2;a=Math.max(r[d].height,r[d-1].height)}V?a=a+14+parseInt(E):a=e.innerHeight-a-parseInt(E)-5}const h=m.data.filter(d=>d[m.indexBy]===n)[0];let f=h.parent_variables?h.parent_variables[Le]:h[Le];const z=W!=="index"?(X=N==null?void 0:N.map(d=>h[d]))==null?void 0:X.reduce((d,y)=>d+y,0):0;return f-=z,l.jsx("text",{y:a,x:s,style:{fill:ue()},children:l.jsxs("tspan",{textAnchor:i,children:[Ne?Ne+" ":"",g.formatNumber(Ie.style==="percent"?f/100:f,Ie)]})})})})},Lt={top:J,right:_e,bottom:U,left:$e};let fe;ge&&(fe=ye.parse(ge,{header:!1,dynamicTyping:!0}),Math.max(...fe.data.map(e=>e[1])),Math.min(...fe.data.map(e=>e[1])));const Oe=()=>{const e=[];if(ce&&ce.forEach(t=>{t.low&&e.push(parseFloat(t.low)),t.high&&e.push(parseFloat(t.high))}),m.data){const t=M(m.data,!1),c=M(m.keys,!0);t.forEach(n=>{c.forEach(r=>{n[r]&&e.push(n[r])})})}return ae&&$&&$.forEach((t,c)=>{if(j[c]!==!1)if(t.app==="csv"&&t.csvLineLayerData){const n=ye.parse(t.csvLineLayerData,{header:!1,dynamicTyping:!0});n.data&&n.data.filter(r=>r[1]!==null&&typeof r[1]=="number").forEach(r=>e.push(r[1]))}else t.measure[0]&&m.data&&m.data.forEach(n=>{var i;const r=(i=n.variables)==null?void 0:i[t.measure[0]];r!==null&&typeof r=="number"&&e.push(r)})}),e},kt=()=>{const e=Oe(),t=e.length>0?Math.max(...e):0;if(ne==="fixed"&&le!==null&&le!=="")return Number(le);if(F==="stacked"&&ne!=="fixed"){const c=M(m.data,!1),n=M(m.keys,!0);let r=n.length>0?n:m.keys;const i=Math.max(...c.map(s=>r.map(a=>s[a]?s[a]:0)).map(s=>s.length>0?s.reduce((a,h)=>a+h,0):0));return Math.max(i,t)*1.1}return t*1.05},wt=()=>{const e=Oe(),t=e.length>0?Math.min(...e):0;return ne==="fixed"&&se!==null&&String(se)!==""?Number(se):t>0?t*.9:t*1.1},Dt=Number(kt()),Mt=Number(wt()),Ft=Math.min(0,Mt),Ot=Math.max(0,Dt),I=["grid","axes","bars"];Ce&&I.push(It),I.push(ft),I.push(ot),ae&&$&&$.forEach((e,t)=>{if(j[t]==!0||j[t]==null){const{csvLineLayerData:c,lineColor:n,tooltip:r}=e;if(e.app=="csv"){const i=ye.parse(c,{header:!1,dynamicTyping:!0});if(i.data&&i.data.filter(s=>s[1]!==null).length>0){i.data=i.data.filter(a=>a[1]!==null);const s=Be.default(i,n,x,F,M(m.keys,!0),r,e.title,"");I.push(s)}}else if(e.measure[0]){const i={},s=m.data.map(f=>[f[m.indexBy],f.variables[e.measure[0]]]),a=m.metadata.measures?m.metadata.measures.filter(f=>f.value==e.measure[0]):[];i.data=s;const h=Be.default(i,n,x,F,M(m.keys,!0),r,e.title,a.length>0?a[0].label:"");I.push(h)}}}),je===Ht&&I.push(Nt),Ye&&I.push(xt),I.push(pt);let xe=parseInt(Ue);const Ee=()=>l.jsx(l.Fragment,{children:Q&&be&&l.jsx("div",{className:"legend item",children:l.jsx("label",{className:"legend-title",children:be})})}),oe=[];if(H||_){xe=Number.parseInt(u.yAxisTickValues);const e=new Map(Object.entries(((Se=u==null?void 0:u.labels)==null?void 0:Se.xAxis)??{}));for(const[t,c]of e)c||oe.push(t)}let Et=parseInt(He+"")-dt;return l.jsx("div",{style:{height:Et+"px"},className:"bar-chart",children:(m==null?void 0:m.data)&&m.data.length>0&&l.jsxs(l.Fragment,{children:[l.jsx(zt.ResponsiveBar,{colorBy:B.colorBy,animate:!0,enableLabel:je==_t,...m,maxValue:Ot,minValue:Ft,keys:M(m.keys,!0),data:M(m.data,!1),groupMode:F||"grouped",margin:Lt,innerPadding:Re,valueScale:{type:We,clamp:!0},colors:e=>e&&e.data[Z]?e.data[Z]:b.getColor(e.id,e.data),borderColor:"#000",reverse:V,axisTop:null,axisRight:Ke?{tickSize:x=="horizontal"&&T||x==="vertical"?5:0,tickPadding:5,tickRotation:0,tickValues:xe,legend:q.right,legendPosition:"middle",legendOffset:parseInt(Xe),format:e=>{if(!e)return"";if(x=="vertical"){const t=D||p;return g.formatNumber(t.style==="percent"?e/100:e,{...t})}return e}}:null,axisBottom:(_||H)&&(u==null?void 0:u.xAxisDisabled)===!0?null:x==="horizontal"?{legend:q.bottom,legendPosition:"middle",legendOffset:parseInt(ve),tickPadding:5,tickRotation:0,tickValues:parseInt(Je),format:e=>{if(!e)return"";if(x=="horizontal"){const t=D||p;return g.formatNumber(t.style==="percent"?e/100:e,{...t})}return e}}:{legend:q.bottom,legendPosition:"middle",legendOffset:parseInt(ve),renderTick:gt},axisLeft:{tickSize:x==="horizontal"&&T||x==="vertical"?5:0,tickPadding:5,tickRotation:0,tickValues:xe,legend:q.left,legendPosition:"middle",legendOffset:Number.parseInt(Te),..._||H?{renderTick:bt}:{format:e=>{if(!e)return"";if(x==="vertical"){const t=D||p;return g.formatNumber(t.style==="percent"?e/100:e,{...t})}return e}}},enableGridY:et,enableGridX:tt,layout:x,labelSkipWidth:de,labelSkipHeight:he,padding:qe,labelTextColor:ue(),label:e=>g.formatNumber(p.style==="percent"&&e.value?e.value/100:e.value,p),layers:I,onMouseEnter:e=>{},onMouseLeave:e=>{},motionStiffness:130,motionDamping:15,tooltip:e=>Pe&&te&&te.trim().length>0?l.jsx(St.default,{intl:g,format:p,d:e,tooltip:te,tooltipEnableMarkdown:Ze}):null,theme:{tooltip:{basic:{whiteSpace:"pre",display:"flex",alignItems:"center"},container:{background:"transparent",boxShadow:""},table:{},tableCell:{padding:"3px 5px"}}}}),(k==="top"||k==="bottom")&&l.jsx("div",{className:`legends container has-standard-12-font-size ${k}`,children:l.jsxs("div",{className:"legend-sections",children:[l.jsx("div",{className:"title-section",children:Ee()}),l.jsx($t.default,{onWrapChange:e=>{k==="top"?(ct(J+e/2*40),Me(e)):(ht(U+e/2*25),Me(e))},className:"legends container has-standard-12-font-size items-section",useColumns:at,numberOfLegendColumns:nt,children:Fe()})]})}),(k==="right"||k==="left")&&l.jsxs("div",{className:`legends container has-standard-12-font-size ${k}`,style:k==="right"?ut:mt,children:[Ee(),Fe()]})]})})},At=Bt.injectIntl(Wt);exports.default=At;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),g=require("react"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),g=require("react"),at=require("react-intl"),st=require("@nivo/line"),nt=require("./Tooltip.js"),he=require("d3-shape"),rt=require("@nivo/theming"),lt=require("../../layout/FlexWrapDetector.js"),P=require("../../utils/deviceType.js"),ct="#66676d",G="#f0f0f1",it=["mobile","tablet","midTablet"].includes(P.default()),fe=P.default()==="mobile",xe=["tablet","midTablet"].includes(P.default()),ot=(d,p)=>{const v=document.createElement("canvas").getContext("2d");return v.font=p,v.measureText(d).width},dt=({editing:d,previewMode:p,app:Y,legends:v,tooltip:k,tooltipEnabled:pe,options:u,intl:D,groupMode:J,reverse:mt,marginLeft:ye,lineLabelPosition:be,marginTop:K,marginRight:je,marginBottom:V,format:N,colors:ht,offsetY:ge,height:ve,showLegends:Z,legendPosition:x,tickRotation:y,offsetText:_,tickColor:z,legendLabel:Q,xLabelColor:E,colorGenerator:X,legendCheckBack:q,legendLabelBack:Ne,legendLabelColor:C,highlightXAxisLine:Ee,showTickLine:w,showRightAxis:Oe,valueScale:ft,enableArea:Te,areaShadingCriteria:ee,areaLowerBound:te,areaUpperBound:ae,showPoints:Me,maxValue:ke,fixedMinValue:B,fixedMaxValue:A,offsetBottom:De,yAxisTickValues:Ie,enableGridY:$e,enableGridX:Fe,overrideTickColor:H,offsetRight:Le,selectedMeasures:Se,tooltipEnableMarkdown:We,minMaxClamp:_e,reverseLegend:ze,customAxisFormat:I,mobileCustomization:qe,lineCurve:we,customLabels:R})=>{var de,ue,me;const r=JSON.parse(decodeURIComponent(qe)),se=it&&((r==null?void 0:r.showCustomization)??!1),$=se&&p!=="Desktop",F=!d&&se,[ne,Be]=g.useState(50),[Ae,He]=g.useState(K),[xt,re]=g.useState(0),[Re,Ue]=g.useState(V),[O,Ge]=g.useState([]),L=u.data.map(e=>({id:e.id,label:R&&R[e.id]?R[e.id]:e.label||e.id,color:X.getColor(e.id,e)})),le=()=>(ze&&L.reverse(),a.jsx(a.Fragment,{children:Z&&L.map((e,t)=>a.jsxs("div",{className:"legend item",onClick:()=>Je(e.id),children:[a.jsx("input",{className:"ignore",type:"checkbox",checked:O.length===0||!O.includes(e.id),readOnly:!0,style:{backgroundColor:q===!0?e.color:"none",color:C}}),a.jsx("span",{className:q===!0?"checkmark-with-bg":"checkmark",style:{backgroundColor:q===!0?e.color:"transparent"}}),a.jsx("label",{style:{backgroundColor:Ne===!0?e.color:"transparent",color:C},children:e.label})]},t))}));g.useEffect(()=>{(()=>{const s=5*Math.max(L.length-5,0);Be(s)})()},[L]);const Pe={bottom:`-${ne}px`},Ye={bottom:`-${ne}px`,gap:"0px",top:"0px"},S=e=>O.length?e.filter(t=>O.indexOf(t.id)===-1):e,Je=e=>{const t=O.slice();if(t.indexOf(e)>-1){const s=t.indexOf(e);t.splice(s,1)}else t.push(e);Ge(t)},Ke=e=>{const t=Object.assign({},e),s=rt.useTheme();($||F)&&ie.includes(String(t.value))&&(t.value="");let l=[],n="";if($||F){const i=String(t.value).split(" ");let o=25;d&&p==="Mobile"||fe&&!d?o=(r==null?void 0:r.mobileMaxTickLength)??25:d&&p==="Tablet"||xe&&!d?o=(r==null?void 0:r.tabletMaxTickLength)??25:window.matchMedia("(min-width: 768px) and (max-width: 1250px)").matches&&!d&&(o=15),i.forEach(b=>{n.length+String(b).length<=o?n+=(n?" ":"")+b:(l.push(n),n=b)}),n&&l.push(n)}else l=[t.value];let c=12;return d&&p==="Mobile"||fe&&!d?c=(r==null?void 0:r.mobileYAxisLineHeight)??12:(d&&p==="Tablet"||xe&&!d)&&(c=(r==null?void 0:r.tabletYAxisLineHeight)??12),ot(t.value,"12px Roboto")+15,y>0&&y<180?a.jsxs("g",{transform:`translate(${e.x},${e.y+30})`,children:[w&&a.jsx("line",{stroke:H?z:G,strokeWidth:1.5,y1:-32,y2:-12}),a.jsx("g",{transform:`translate(0, ${e.y+_})`,children:l.map((i,o)=>a.jsx("text",{transform:`rotate(${y})`,textAnchor:"start",y:typeof e.value=="number"?0:o*c,dominantBaseline:"middle",style:{...s.axis.ticks.text,fill:E==="null"?"black":E,fontSize:"12px",fontFamily:"sans-serif"},children:i},i))})]}):y>180&&y<360?a.jsxs("g",{transform:`translate(${e.x},${e.y+30})`,children:[w&&a.jsx("line",{stroke:H?z:G,strokeWidth:1.5,y1:-32,y2:-12}),a.jsx("g",{transform:`translate(0, ${e.y+_})`,children:a.jsx("text",{transform:`rotate(${y})`,textAnchor:"end",dominantBaseline:"middle",style:{...s.axis.ticks.text,fill:E,fontSize:"12px"},children:t.value})})]}):a.jsxs("g",{transform:`translate(${e.x},${e.y+30})`,children:[w&&a.jsx("line",{stroke:H?z:G,strokeWidth:1.5,y1:-32,y2:-12}),a.jsx("g",{transform:`translate(0, ${e.y+_})`,children:l.map((i,o)=>a.jsx("text",{transform:`rotate(${y})`,textAnchor:"middle",y:typeof e.value=="number"?0:o*c,dominantBaseline:"middle",style:{...s.axis.ticks.text,fill:E==="null"?"black":E,fontSize:"12px",fontFamily:"sans-serif"},children:i},i))})]})},Ve=({series:e,xScale:t,yScale:s,innerHeight:l})=>{const n=e&&e.length>0?e[0].color:"#3daff7",c=[];e[0]&&e[0].data.forEach(f=>{Y=="csv"?u.keys.forEach(j=>{c.push({measure:j,min:f.data.variables[j]})}):Se.forEach(j=>{c.push({measure:j,min:f.data.variables[j]})})});const i=c.sort((f,j)=>f.min-j.min),o=ee=="CUSTOM_BETWEEN_TWO_LINES"&&te?te:i[0].measure,b=ee=="CUSTOM_BETWEEN_TWO_LINES"&&ae?ae:i[i.length-1].measure,tt=he.area().x(f=>t(f.data.x)).y0(f=>s(f.data.variables[o])).y1(f=>s(f.data.variables[b]));return a.jsx(a.Fragment,{children:e&&e[0]&&a.jsx("path",{d:tt(e[0].data),fill:n,fillOpacity:.4})})},Ze=({series:e,xScale:t,yScale:s,innerHeight:l,innerWidth:n})=>{const c=[0,n],i=he.line().x((o,b)=>b===0?-10:o).y(o=>s(0));return a.jsx(g.Fragment,{children:a.jsx("path",{d:i(c),fill:"none",stroke:ct,style:{pointerEvents:"none",strokeDasharray:"4 4"}})})},T=["grid","axes","lines","legends"];Te&&T.push(Ve),Me&&(T.push("points"),T.push("mesh")),Ee&&T.push(Ze);let M=[];S(u.data).forEach(e=>{e.data&&(M=[...M,...e.data.map(t=>t.y)])});const Qe=()=>{if(J==="stacked"){const e=[];S(u.data).forEach(l=>{e.push(...l.data)});const s=[];e.forEach(l=>{s.indexOf(l.x)==-1&&s.push(l.x)}),h=Math.max(...s.map(l=>e.filter(n=>n.x==l).map(n=>n.y).reduce((n,c)=>Math.max(n+c,n+0)))),m=Math.min(...s.map(l=>e.filter(n=>n.x==l).map(n=>n.y).reduce((n,c)=>Math.min(n-c,c-n))))}else M.length>0&&(h=Math.max(...M),m=Math.min(...M));return h=h<0?h*.9:h*1.1,m=m>0?m*.9:m*1.1,{min:m,max:h}};let m="auto",h="auto";const W=Qe();ke=="fixed"?(m=B!=null&&B!=""?B:W.min,h=A!=null&&A!=""?A:W.max):(m=W.min,h=W.max);const ce=()=>a.jsx(a.Fragment,{children:Z&&Q&&a.jsx("div",{className:"legend item",children:a.jsx("label",{className:"legend-title",children:Q})})}),Xe={top:Ae,right:je,bottom:Re,left:ye};let U=parseInt(Ie);const Ce=u.data&&((ue=(de=u.data)==null?void 0:de.filter(e=>{var t;return((t=e==null?void 0:e.data)==null?void 0:t.length)>0}))==null?void 0:ue.length),ie=[];if($||F){U=Number.parseInt(r.yAxisTickValues);const e=new Map(Object.entries(((me=r==null?void 0:r.labels)==null?void 0:me.xAxis)??{}));for(const[t,s]of e)s||ie.push(t)}const oe=S(u.data),et=["grid","axes","legends"];if(u!=null&&u.data&&Ce>0){let e=S(u.data);return a.jsxs("div",{style:{height:ve},children:[a.jsx(st.ResponsiveLine,{curve:we,data:oe,margin:Xe,xScale:{type:"point"},yScale:{type:"linear",min:m,max:h,stacked:J=="stacked",reverse:!1,clamp:_e},layers:oe.length===0?et:T,axisTop:null,axisRight:Oe?{tickSize:5,tickValues:U,tickPadding:5,tickRotation:0,legend:v.right,legendPosition:"middle",legendOffset:parseInt(Le),format:t=>{const s=I||N;return D.formatNumber(s.style==="percent"?t/100:t,{...s})}}:null,enableGridY:$e,enableGridX:Fe,enablePointLabel:be==="top",pointLabel:t=>D.formatNumber(N.style==="percent"?t.yFormatted/100:t.yFormatted,N),lineWidth:3,colors:t=>X.getColor(t.id,t),axisBottom:($||F)&&(r==null?void 0:r.xAxisDisabled)===!0?null:{renderTick:Ke,legend:v.bottom,legendPosition:"middle",legendOffset:Number.parseInt(De)},axisLeft:{tickSize:5,tickValues:U,tickPadding:5,tickRotation:0,legend:v.left,legendPosition:"middle",legendOffset:Number.parseInt(ge),format:t=>{const s=I||N;return D.formatNumber(s.style==="percent"?t/100:t,{...s})}},tooltip:t=>pe&&k&&k.trim().length>0?a.jsx(nt.default,{intl:D,format:N,d:t,tooltip:k,tooltipEnableMarkdown:We}):null,pointSize:10,pointBorderWidth:2,pointBorderColor:{from:"serieColor"},useMesh:e.length>0&&e[0].data.length>0},new Date),(x==="top"||x==="bottom")&&a.jsx("div",{className:`legends container has-standard-12-font-size ${x}`,children:a.jsxs("div",{className:"legend-sections",children:[a.jsx("div",{className:"title-section",children:ce()}),a.jsx(lt.default,{onWrapChange:t=>{x==="top"?(He(K+t/2*40),re(t)):(Ue(V+t/2*25),re(t))},className:"legends container has-standard-12-font-size items-section",children:le()})]})}),(x==="right"||x==="left")&&a.jsxs("div",{className:`legends container has-standard-12-font-size ${x}`,style:x==="right"?Pe:Ye,children:[ce(),le()]})]})}return a.jsx("div",{})},ut=at.injectIntl(dt);exports.default=ut;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const S=require("react/jsx-runtime"),a=require("react"),M=require("./SystemColors.js"),b=require("./PlainColor.js"),g=require("./ManualColors.js"),m=require("@nivo/colors"),v=require("./SequentialColors.js"),w=require("./CategoricalColors.js");class x extends a.Component{constructor(l){super(l)}render(){const{app:l,type:i,colorBy:s,scheme:e,barColor:C,manualColors:f,locale:u,overallLabel:h,customLabels:q,options:c}=this.props;let o;const{data:r,keys:t,indexBy:n,dimensionsMetadata:d,measuresMetadata:p}=this.props.options;return r?(e==="system"?o=new M.default(l,i,s,e,r,t,n,d,p,u,c):e==="plain_color"?o=new b.default(C):e=="manual"?o=new g.default(l,i,s,e,r,d,p,t,n,f,u,h,q,c):(m.isSequentialColorScheme(e)&&(o=new v.default(s,e,r,t,n)),m.isCategoricalColorScheme(e)&&(o=new w.default(s,e,r,t,n))),S.jsx("div",{children:a.Children.map(this.props.children,y=>a.cloneElement(y,{...this.props,colorGenerator:o}))})):null}}exports.default=x;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const x=require("./Colors.js");class I extends x.default{constructor(s,c,n,g,y,i,h,p,_,t={},o,v,d,u){if(super(n,g,y,p,_),this._manualColor={},this._manualColor[v]=t?t.Overall:null,s!="csv"){const b=e=>{f=[...i][e]?[...i][e].items:[],t!=null&&t!=null&&Object.keys(t).forEach(a=>{const l=f.filter(r=>r.code===a);if(l.length>0&&l[0].labels){let r;o&&(r=l[0].labels[o.toUpperCase()]),r?this._manualColor[r]=t[a]:this._manualColor[l[0].value]=t[a]}})},B=e=>e==null?void 0:e.map(l=>{const r=l.group.label;return l.label.includes(r)?l:{...l,label:`${r} - ${l.label}`}}),O=()=>{var e;return h&&h.size>0?h:((e=u==null?void 0:u.metadata)==null?void 0:e.measures.length)>0?(u.metadata.measures=B(u.metadata.measures),u.metadata.measures):[]},m=()=>{f=O(),Object.keys(t).forEach(e=>{const a=[...f].filter(l=>l.value===e);if(a.length>0&&a[0].labels){const l=d[e];d&&l&&(this._manualColor[l]=t[e]);let r;o&&(r=a[0].labels[o.toUpperCase()]),r?this._manualColor[r]=t[e]:this._manualColor[a[0].label]=t[e]}})};let f=[];const C=c==="line"?1:n==="index"?0:1;i?i.size==1&&C==1?_=="measure"?b(0):m():b(C):m()}else this._manualColor=t}getColor(s,c){if(this.colorBy==="index"){const n=this._manualColor[s]||this._manualColor[c[this.indexBy]];return n||"#5555"}return this.colorBy==="id"&&this._manualColor[s]?this._manualColor[s]:"#5555"}getColorByIndex(s){}getColorByKey(s){return this._manualColor[s]?this._manualColor[s]:"#5555"}}exports.default=I;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const _=require("./Colors.js"),h="#9F9F9F";class M extends _.default{constructor(r,p,c,f,y,b,n,a,o,t,s){super(c,f,y,b,n),this.colorMap={},this._colorBy=p=="line"?"id":c;const g=e=>e==null?void 0:e.map(u=>{const i=u.group.label;return u.label.includes(i)?u:{...u,label:`${i} - ${u.label}`}}),C=()=>{var e;return o&&o.size>0?o:((e=s==null?void 0:s.metadata)==null?void 0:e.measures.length)>0?(s.metadata.measures=g(s.metadata.measures),s.metadata.measures):[]};this._indexBy&&(a==null?void 0:a.size)>0&&[...a].forEach(e=>{e&&e.items&&e.items.forEach(l=>{t&&l.labels&&l.labels[t.toUpperCase()]?this.colorMap[l.labels[t.toUpperCase()]]=l.categoryStyle:this.colorMap[l.value]=l.categoryStyle})}),o&&(o=C(),[...o].forEach(e=>{e&&e.styles&&(t&&e.labels&&e.labels[t.toUpperCase()]?this.colorMap[e.labels[t.toUpperCase()]]=e.styles:this.colorMap[e.label]=e.styles)}))}getColor(r,p){return this._colorBy==="index"?this.colorMap[p[this._indexBy]]?this.colorMap[p[this._indexBy]].color:h:this.colorMap[r]?this.colorMap[r].color:h}getColorByIndex(r){return this.colorMap[r]?this.colorMap[r].color:h}getColorByKey(r){return this.colorMap[r]?this.colorMap[r].color:h}}exports.default=M;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const _=require("react/jsx-runtime"),q=require("react"),u=require("./Utils.js"),C=a=>{const{data:t,measures:m,swap:E,dimensions:S,locale:j,customLabels:O}=a;let n={};const B=S.filter(x=>x!=""),L=new Set;if(B.length==0&&t){const x=u.measuresMap(t),T=new Set,V=new Set;let d=[],r;if(t.metadata&&t.metadata.measures){const p=t.metadata.measures.filter(o=>m.includes(o.value)).sort((o,b)=>o.position!=null&&b.position!=null&&o.position!=b.position?o.position-b.position:0);d=[],r="measure",T.add("measure");const M={};Object.keys(t).forEach(o=>{M[o]=t[o]}),p.forEach(o=>{const b={},g=O[o.value]||u.getTranslatedValue(x[o.value],j);b.type="measure",b.measureFieldName=o.value,b.measure=g,b[g]=t[o.value],b.variables=M,d.push(b),V.add(g),L.add(x[o.value])}),n={categories:T,indexBy:r,keys:Array.from(V),measuresMetadata:L,data:d}}}return n},K=a=>{const{data:t,measures:m,dimensions:E,overallLabel:S}=a;if(E.length==1&&t.children){if(!(t.children.filter(O=>O.value==S).length>0)){const O={};O.type=E[0],O.value=S,O.label=S,Object.keys(t).forEach(n=>{["children","metadata","type","value"].includes(n)||(O[n]=t[n])}),t.children=[O,...t.children]}}else E.length==2&&t.children&&t.children.forEach(j=>{if(!(j.children.filter(n=>n.value==S).length>0)){const n={};n.type=E[1],n.value=S,n.label=S,Object.keys(j).forEach(B=>{["children","metadata","type","value"].includes(B)||(n[B]=j[B])}),j.children=[n,...j.children]}});return t},U=a=>{var d;let t={};const{data:m,measures:E,swap:S,dimensions:j,includeOverall:O,locale:n,customLabels:B,colorBy:L,hiddenBars:x}=a,T=j.filter(r=>r!=""),V=(d=m==null?void 0:m.metadata)==null?void 0:d.measures.filter(r=>E.includes(r.value)).sort((r,p)=>r.position!=null&&p.position!=null&&r.position!=p.position?r.position-p.position:0);if(O&&E.length==1&&K(a),T.length==0&&m)t=C(a);else if(m&&m.children&&T.length>0){const r=u.measuresMap(m),p=u.typesMap(m),M=new Set,o=new Set,b=new Set,g=[];let R;S&&T.length==1&&E.length>0?(R="measure",V.forEach(s=>{const c={};c.measure=B[s.value]||u.getTranslatedValue(r[s.value],n),o.add(r[s.value]),m.children.forEach(f=>{const h=u.getTranslatedValue(p[f.type].items.filter(i=>i.value===f.value)[0],n)||f.value,e={};Object.keys(f).forEach(i=>{e[i]=f[i]}),e[f.type]=f.value.toString(),c.variables=e,M.add(p[f.type]),c[h]=f[s.value],b.add(h)}),g.push({...c})})):(m.children[0]&&(R=m.children[0].type),m.children.forEach(s=>{const c={},f={};f[s.type]=u.getTranslatedValue(p[s.type]&&p[s.type].items?p[s.type].items.filter(h=>h.value===s.value)[0]:s.value,n)||s.value,Object.keys(s).forEach(h=>{c[h]=s[h]}),M.add(p[s.type]),c[s.type]=s.value.toString(),V.map(h=>{const e=B[h.value]||u.getTranslatedValue(r[h.value],n);f[e]=s[h.value],o.add(r[h.value]),b.add(e)}),g.push({...f,variables:c,parent_variables:c})}));const D=Array.from(b);let w=x&&g?g.filter(s=>x.indexOf(s[R])==-1):g;a.sort=="alphabetically"&&(w=w.sort((s,c)=>u.alphaSort(a.sortReverse,n,s[R],c[R]))),a.sort=="date"&&(w=w.sort((s,c)=>u.dateSort(a.sortReverse,s[R],c[R]))),a.sort=="values"&&(w=w.sort((s,c)=>{const f=Math.max(...D.map(e=>s[e])),h=Math.max(...D.map(e=>c[e]));return u.numericSort(a.sortReverse,f,h)})),t={metadata:m.metadata,indexBy:R,dimensionsMetadata:M,measuresMetadata:o,keys:D,data:w}}return q.Children.map(a.children,r=>q.cloneElement(r,{options:t}))},P=a=>{var T,V;const{data:t,measures:m,includeOverall:E,dimensions:S,hiddenBars:j,colorBy:O,locale:n,customLabels:B}=a,L=S.filter(d=>d!="");let x={};if(E&&K(a),L.length==0&&t)x=C(a);else if(t&&t.children&&t.children.length>0&&L.length>0){u.measuresMap(t);const d=u.typesMap(t),r=m[0],p=new Set,M=new Set,o=[],b=[],g=t.children[0].type;let R=0,D,w;t.children.forEach(e=>{const i={variables:{}};if(w=u.getTranslatedValue(d[e.type]&&d[e.type].items?d[e.type].items.filter(l=>l.value===e.value)[0]:e.value,n)||e.value,i[e.type]=w,i[w]=e[r],D=new Object,D[e.type]=w,i.parent_variables=D,Object.keys(e).forEach(l=>{D[l]=e[l]}),p.add(d[e.type]),e.children||M.add(w),e.children)e.children.forEach(l=>{D=new Object,p.add(d[l.type]);const y=u.getTranslatedValue(d[l.type]&&d[l.type].items?d[l.type].items.filter(v=>v.value===l.value)[0]:l.value,n)||l.value;D[e.type]=w,D[l.type]=y,Object.keys(l).forEach(v=>{D[v]=l[v]}),i.variables[y]=D,M.add(y),R+=l[r],b.push(l[r]),i[y]=l[r]});else{const l=new Object;l[e.type]=w,p.add(d[e.type]),Object.keys(t).forEach(y=>{l[y]=e[y]}),i.variables=l}o.push(i)});const s=n.toUpperCase(),c=O=="id"?o:o.filter(e=>j.indexOf(e[g])==-1),f=Array.from(M);a.sort=="alphabetically"?c.sort((e,i)=>u.alphaSort(a.sortReverse,n,e[g],i[g])):a.sort=="date"?c.sort((e,i)=>u.dateSort(a.sortReverse,e[g],i[g])):a.sort=="values"?c.sort((e,i)=>{const l=f.map(v=>e[v]).filter(v=>v).reduce((v,N)=>v+N),y=f.map(v=>i[v]).filter(v=>v).reduce((v,N)=>v+N);return console.log(f.map(v=>e[v])),l==null?1:y==null?-1:u.numericSort(a.sortReverse,l,y)}):c.sort((e,i)=>{const l=e[a.sort],y=i[a.sort];return l==null?1:y==null?-1:u.numericSort(a.sortReverse,l,y)});const h=[...M];((V=(T=t==null?void 0:t.metadata)==null?void 0:T.types)==null?void 0:V.length)>1&&h.sort((e,i)=>{var l,y;if(a.sortSecondDimension=="date")return u.dateSort(a.sortReverseSecondDimension,e,i);if(a.sortSecondDimension=="alphabetically")return u.alphaSort(a.sortReverseSecondDimension,n,e,i);{const v=t.metadata.types[1].items.filter(A=>A.value==e||A.labels&&A.labels[s]==e),N=t.metadata.types[1].items.filter(A=>A.value==i||A.labels&&A.labels[s]==i),F=(l=v[0])==null?void 0:l.position,J=(y=N[0])==null?void 0:y.position;return F-J}}),x={metadata:t.metadata,dimensionsMetadata:p,indexBy:g,keys:O=="index"?h:h.filter(e=>j.indexOf(e)==-1),data:c}}return _.jsx(_.Fragment,{children:q.Children.map(a.children,d=>q.cloneElement(d,{options:x}))})},z=a=>{const{data:t,measures:m,dimensions:E}=a,S=JSON.parse(JSON.stringify(t));return E.length===1?_.jsx(U,{...a,data:S}):_.jsx(P,{...a,data:S})};exports.default=z;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const V=require("react/jsx-runtime"),C=require("react"),u=require("./Utils.js"),J=t=>{const{data:e,measures:l,swap:v,dimensions:f,locale:h,customLabels:d}=t;let i={};const S=f.filter(y=>y!=""),A=new Set;if(S.length==0&&e){const y=u.measuresMap(e),O=new Set,M=new Set;let E=[],R;if(e.metadata&&e.metadata.measures){const r=e.metadata.measures.filter(n=>l.includes(n.value)).sort((n,c)=>n.position!=null&&c.position!=null&&n.position!=c.position?n.position-c.position:0);E=[],R="measure",O.add("measure");const b={};Object.keys(e).forEach(n=>{b[n]=e[n]}),r.forEach(n=>{const c={},L=d[n.value]||u.getTranslatedValue(y[n.value],h);c.type="measure",c.measureFieldName=n.value,c.measure=L,c[L]=e[n.value],c.variables=b,E.push(c),M.add(L),A.add(y[n.value])}),i={categories:O,indexBy:R,keys:Array.from(M),measuresMetadata:A,data:E}}}return i},K=t=>{const{data:e,measures:l,dimensions:v,overallLabel:f}=t;if(v.length==1&&e.children){if(!(e.children.filter(d=>d.value==f).length>0)){const d={};d.type=v[0],d.value=f,d.label=f,Object.keys(e).forEach(i=>{["children","metadata","type","value"].includes(i)||(d[i]=e[i])}),e.children=[d,...e.children]}}else v.length==2&&e.children&&e.children.forEach(h=>{if(!(h.children.filter(i=>i.value==f).length>0)){const i={};i.type=v[1],i.value=f,i.label=f,Object.keys(h).forEach(S=>{["children","metadata","type","value"].includes(S)||(i[S]=h[S])}),h.children=[i,...h.children]}});return e},_=t=>{var M,E,R;let e={};const{data:l,measures:v,swap:f,dimensions:h,includeOverall:d,locale:i,customLabels:S,colorBy:A,hiddenBars:y}=t,O=h.filter(r=>r!="");if(l.metadata.measures.filter(r=>v.includes(r.value)).sort((r,b)=>r.position!=null&&b.position!=null&&r.position!=b.position?r.position-b.position:0),d&&v.length==1&&K(t),O.length==0&&l)e=J(t);else if(l&&l.children&&l.children.length>0&&O.length>0){const r=u.measuresMap(l),b=u.typesMap(l),n=new Set,c=new Set,L=new Set,N=new Set,w=[],B=l.children[0].type,x=((R=(E=(M=l==null?void 0:l.metadata)==null?void 0:M.types)==null?void 0:E.find(o=>o.dimension==O[0]))==null?void 0:R.items)||[];t.sort=="alphabetically"?x.sort((o,g)=>u.alphaSort(t.sortReverse,i,o.value,g.value)):t.sort=="values"?x.sort((o,g)=>u.numericSort(t.sortReverse,o.value,g.value)):t.sort=="date"&&x.sort((o,g)=>u.dateSort(t.sortReverse,o.value,g.value)),v.forEach(o=>{const g={variables:{}};g.id=u.getTranslatedValue(r[o],i),g.label=u.getTranslatedValue(r[o],i);const T=[];x.forEach(s=>{const a=l.children.find(m=>m.value===s.value);if(a){const m={};Object.keys(a).forEach(q=>{m[q]=a[q]}),m.value=a[o],m[a.type]=a.value.toString(),c.add(b[a.type]),T.push({x:a.value,y:a[o],variables:m}),g.data=T}}),w.push(g)});const k=Array.from(N);let F=(y==null?void 0:y.length)>0&&(w==null?void 0:w.length)>0?w.filter(o=>y.indexOf(o[B])==-1):w;e={metadata:l.metadata,indexBy:B,categories:n,dimensionsMetadata:c,measuresMetadata:L,keys:k,data:F}}return C.Children.map(t.children,r=>C.cloneElement(r,{options:e}))},P=t=>{var y,O,M,E,R,r,b;const{data:e,measures:l,includeOverall:v,dimensions:f,hiddenBars:h,colorBy:d,locale:i}=t,S=f.filter(n=>n!="");let A={};if(v&&K(t),S.length==0&&e)A=J(t);else if(e&&e.children&&e.children.length>0&&S.length>0){const n=u.measuresMap(e),c=u.typesMap(e),L=l[0],N=new Set,w=new Set,B=[],x=[],k=(y=e.children[0])==null?void 0:y.type,F=((E=(M=(O=e==null?void 0:e.metadata)==null?void 0:O.types)==null?void 0:M.find(s=>s.dimension==S[0]))==null?void 0:E.items)||[],o=((b=(r=(R=e==null?void 0:e.metadata)==null?void 0:R.types)==null?void 0:r.find(s=>s.dimension==S[1]))==null?void 0:b.items)||[];t.sortSecondDimension=="alphabetically"?o.sort((s,a)=>u.alphaSort(t.sortReverseSecondDimension,i,s.value,a.value)):t.sortSecondDimension=="date"&&o.sort((s,a)=>u.dateSort(t.sortReverseSecondDimension,s.value,a.value)),w.add(n[L]),o.forEach(s=>{const a={variables:{}};a.id=s.value,a.label=s.value;const m=[];F.forEach(q=>{const p=e.children.find(j=>j.value===q.value);N.add(c[p==null?void 0:p.type]);const D=p==null?void 0:p.children.find(j=>j.value===s.value);if(D){N.add(c[D==null?void 0:D.type]);const j={};Object.keys(D).forEach(I=>{j[I]=D[I]}),j.value=D[l[0]],j[p.type]=p.value.toString(),j[D.type]=D.value.toString(),m.push({x:p.value,y:D[l[0]],variables:j}),B.indexOf(p.value)==-1&&B.push(p.value)}}),a.data=m,x.push(a)}),x.forEach(s=>{B.forEach(a=>{s.data.find(m=>m.x==a)||s.data.push({x:a,y:null,variables:{}})})}),x.forEach(s=>{s.data.sort((a,m)=>t.sort=="alphabetically"?u.alphaSort(t.sortReverse,i,a.x,m.x):t.sort=="date"?u.dateSort(t.sortReverse,a.x,m.x):0)});const g=d=="id"?x:x.filter(s=>h.indexOf(s[k])==-1),T=[...B];A={metadata:e.metadata,dimensionsMetadata:N,measuresMetadata:w,indexBy:k,keys:d=="index"?T:T.filter(s=>h.indexOf(s)==-1),data:g}}return V.jsx(V.Fragment,{children:C.Children.map(t.children,n=>C.cloneElement(n,{options:A}))})},U=t=>{const{data:e,measures:l,dimensions:v}=t,f=JSON.parse(JSON.stringify(e));return v.length===1?V.jsx(_,{...t,data:f}):V.jsx(P,{...t,data:f})};exports.default=U;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=e=>e==null?void 0:e.map(t=>{const r=t.group.label;return t.label.includes(r)?t:{...t,label:`${r} - ${t.label}`}}),l=e=>{const{metadata:a}=e||{},t={},r=u((a==null?void 0:a.measures)||[]);return a&&r.forEach(n=>{t[n.value]=n}),t},c=e=>{const{metadata:a}=e||{},t={};return a&&a.types.forEach(r=>{t[r.dimension]={dimension:r.dimension,category:r.category,items:r.items}}),t},p=(e,a)=>e?e.labels&&e.labels[a.toUpperCase()]?e.labels[a.toUpperCase()]:e.label?e.label:e.value:null,i=(e,a,t,r)=>new Intl.Collator(a,{caseFirst:"upper",numeric:!0,sensitivity:"variant"}).compare(e?r:t,e?t:r),m=(e,a,t)=>!isNaN(a)&&!isNaN(t)?e?Number(t)-Number(a):Number(a)-Number(t):0,o=e=>{const[a,t]=e.split(" "),n=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"].indexOf(a),s=parseInt(t,10);return(n===-1||isNaN(s))&&console.error(`Invalid month/year format: ${e}`),new Date(s,n,1)},N=(e,a,t)=>{let r=Date.parse(a),n=Date.parse(t);return isNaN(r)&&(r=o(a)),isNaN(n)&&(n=o(t)),!isNaN(r)&&!isNaN(n)?e?n-r:r-n:0};exports.alphaSort=i;exports.dateSort=N;exports.getTranslatedValue=p;exports.measuresMap=l;exports.numericSort=m;exports.typesMap=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const R=require("react/jsx-runtime"),x=require("react"),k=require("d3"),A=require("./Layer.js");function j(i){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const t in i)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(i,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>i[t]})}}return e.default=i,Object.freeze(e)}const f=j(k);class z extends A.default{constructor(){super(),this.gRef=x.createRef()}createPaths(e){const{path:t,fillColor:s,borderColor:o,projection:l}=this.props;this.gRef&&this.gRef.current&&(this.g=f.select(this.gRef.current),this.g.attr("class","base-layer zoomable"),this.g.selectAll(".borders").remove(),this.g.selectAll(".feature-label").remove(),this.g.selectAll(".borders").data(e.features).enter().append("path").attr("fill",s).attr("stroke",o).attr("id","state-borders").attr("class","borders").attr("d",t).style("vector-effect","non-scaling-stroke"))}createLabels(e){const{path:t,labelFilter:s=[],labelSettings:o={},labelField:l,labelFontSize:
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const R=require("react/jsx-runtime"),x=require("react"),k=require("d3"),A=require("./Layer.js");function j(i){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const t in i)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(i,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>i[t]})}}return e.default=i,Object.freeze(e)}const f=j(k);class z extends A.default{constructor(){super(),this.gRef=x.createRef()}createPaths(e){const{path:t,fillColor:s,borderColor:o,projection:l}=this.props;this.gRef&&this.gRef.current&&(this.g=f.select(this.gRef.current),this.g.attr("class","base-layer zoomable"),this.g.selectAll(".borders").remove(),this.g.selectAll(".feature-label").remove(),this.g.selectAll(".borders").data(e.features).enter().append("path").attr("fill",s).attr("stroke",o).attr("id","state-borders").attr("class","borders").attr("d",t).style("vector-effect","non-scaling-stroke"))}createLabels(e){const{path:t,labelFilter:s=[],labelSettings:o={},labelField:l,labelFontSize:h,labelColor:a,projection:u,initialPosition:d,minLabelZoomVisible:b}=this.props;if(this.gRef&&this.gRef.current){this.g=f.select(this.gRef.current);const n=u.scale(),c=this.props.transform?this.props.transform.k:d.k;this.g.selectAll(".feature-label").data(e.features.filter(r=>s.indexOf(r.properties[l])==-1)).enter().append("text").attr("class","feature-label").attr("font-size",r=>Math.max(.5,h/c)+"px").style("pointer-events","none").text(function(r){return r.properties[l]}).attr("color",a).attr("fill",a).attr("transform",function(r){const p=o[r.properties[l]+"_rotation"]||0,g=o[r.properties[l]+"_offsetX"]||0,m=o[r.properties[l]+"_offsetY"]||0,y=t.centroid(r)[0]+g/n,v=t.centroid(r)[1]+m/n;return"translate("+[y,v]+"),rotate("+(p||0)+")"}).attr("text-anchor","middle").attr("dominant-baseline","middle"),c<b?(console.log("remove layers"),this.g.selectAll(".feature-label").transition().style("display","none")):this.g.selectAll(".feature-label").style("display","")}}resize(){const{labelFontSize:e,minLabelZoomVisible:t=-1}=this.props,s=this.props.transform?this.props.transform.k:1;console.log("minLabelZoomVisible",t,s),s<t?(console.log("remove layers"),this.g.selectAll(".feature-label").transition().style("display","none")):this.g.selectAll(".feature-label").style("display",""),this.g.selectAll(".feature-label").attr("font-size",o=>Math.max(.5,e/s)+"px")}createLayer(e){this.createPaths(e),this.createLabels(e),this.props.onReady&&this.props.onReady()}componentDidMount(){super.componentDidMount()}componentDidUpdate(e,t,s){const{editing:o}=this.props;o&&this.create(),e.visible!=this.props.visible&&this.g.style("display",this.props.visible?"block":"none"),this.g&&this.resize()}render(){const{name:e,height:t,width:s}=this.props;return R.jsx("g",{ref:this.gRef})}}exports.default=z;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Z=require("react/jsx-runtime");require("react");const pe=require("./BaseLayer.js"),ce=require("../data/DataProvider.js"),ue=require("../data/DataConsumer.js"),de=require("d3"),he=require("react-intl"),Y=require("./BreaksStyles.js"),oe=require("./GradientColors.js");function fe(h){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(h){for(const i in h)if(i!=="default"){const f=Object.getOwnPropertyDescriptor(h,i);Object.defineProperty(t,i,f.get?f:{enumerable:!0,get:()=>h[i]})}}return t.default=h,Object.freeze(t)}const M=fe(de),W=h=>h?h.toString().replace(/ /g,"_"):"",S=h=>h?"pattern_"+W(h):"";class me extends pe.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:f,markSizeScale:s,measures:u,data:m,breaks:c,gradientScheme:z,gradientReverse:l,labelFontSize:g}=this.props,n=this.props.transform?this.props.transform.k:1;super.resize();const d=new Y.default({breaks:c,defaultFillColor:i,defaultBorderColor:f,defaultSize:s});new oe.default({data:m.children,measure:u[0],defaultFillColor:i,gradientScheme:z,gradientReverse:l}),this.g.selectAll(".centroids .point").attr("r",p=>d.getSize(p.properties._value)*1/n),this.g.selectAll(".point-label").attr("font-size",p=>t*(1/n)+"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:f,format:s,id:u,file:m,path:c,onLayerCreated:z,labelFilter:l=[],labelField:g,labelFontSize:n,labelColor:d,fillColor:p,borderColor:b,tooltip:D,markFillColor:v,markLabelColor:T,markBorderColor:J,markSizeScale:j,markerLabelSize:H,featureJoinAttribute:ee,apiJoinAttribute:K,measures:N,editing:te,data:L,patternDiscriminator:_,patternDiscriminatorLabel:Q,breaks:q,gradientScheme:I,gradientReverse:$,patterns:w,projection:re,useBreaks:X,useGradients:V,useCentroidPoint:O,usePattern:G,waitForFilters:ae,intl:E,patternsVisible:R=!0,togglePatterns:B,colorLayerVisible:U=!0,visible:ie}=this.props;if(this.gRef&&this.gRef.current){this.g=M.select(this.gRef.current),this.g.attr("class","base-layer");const F=t.features.filter(A=>A.properties._value!=null);this.createPaths(t),O||this.createColors(F),G&&this.createPatterns(t),g!="none"&&this.createLabels(t),O&&this.createCentroids(F)}}createColors(t){const{app:i,svg:f,format:s,id:u,file:m,path:c,onLayerCreated:z,labelFilter:l=[],labelField:g,labelFontSize:n,labelColor:d,fillColor:p,borderColor:b,tooltip:D,markFillColor:v,markLabelColor:T,markBorderColor:J,markSizeScale:j,markerLabelSize:H,featureJoinAttribute:ee,apiJoinAttribute:K,measures:N,editing:te,data:L,patternDiscriminator:_,patternDiscriminatorLabel:Q,breaks:q,gradientScheme:I,gradientReverse:$,patterns:w,projection:re,useBreaks:X,useGradients:V,useCentroidPoint:O,usePattern:G,waitForFilters:ae,intl:E,patternsVisible:R=!0,togglePatterns:B,colorLayerVisible:U=!0,visible:ie}=this.props,F=new Y.default({breaks:q,defaultFillColor:v,defaultBorderColor:J,defaultSize:j}),A=new oe.default({data:L.children,measure:N[0],defaultFillColor:v,gradientScheme:I,gradientReverse:$});this.g&&(this.g.selectAll("path").attr("fill",o=>!o||!o.properties||!o.properties._value?p:V?A.getColor(o.properties._value):F.getColor(o.properties._value)).attr("stroke",b).attr("id","state-borders").attr("d",c).on("mouseenter",(o,C)=>{C.properties._value&&this.showToolTip(D,this.getTooltipVariables(C),V?A.getColor(C.properties._value):F.getColor(C.properties._value),C)}).on("mouseleave",o=>{this.hiddenToolTip(o)}).on("mousemove",o=>{this.moveToolTip(o)}),U||this.g.selectAll(".borders").style("fill",this.props.fillColor),this.g.attr("transform",this.props.transform))}createCentroids(t){const{app:i,svg:f,format:s,id:u,file:m,path:c,onLayerCreated:z,labelFilter:l=[],labelField:g,labelFontSize:n,labelColor:d,fillColor:p,borderColor:b,tooltip:D,markFillColor:v,markLabelColor:T,markBorderColor:J,markSizeScale:j,markerLabelSize:H,featureJoinAttribute:ee,apiJoinAttribute:K,measures:N,editing:te,data:L,patternDiscriminator:_,patternDiscriminatorLabel:Q,breaks:q,gradientScheme:I,gradientReverse:$,patterns:w,projection:re,useBreaks:X,useGradients:V,useCentroidPoint:O,usePattern:G,waitForFilters:ae,intl:E,patternsVisible:R=!0,togglePatterns:B,colorLayerVisible:U=!0,visible:ie}=this.props,F=new Y.default({breaks:q,defaultFillColor:v,defaultBorderColor:J,defaultSize:j}),A=new oe.default({data:L.children,measure:N[0],defaultFillColor:v,gradientScheme:I,gradientReverse:$});if(this.g){const o={style:s.style==="compacted"?"decimal":s.style,notation:s.style==="compacted"?"compact":"standard",currency:s.currency,minimumFractionDigits:parseInt(s.minimumFractionDigits),maximumFractionDigits:parseInt(s.maximumFractionDigits)},C=this.props.transform?this.props.transform.k:1;this.g.selectAll(".centroids").remove();const y=this.g.selectAll("centroids").data(t).enter().append("g").attr("class","centroids");y.append("circle").attr("fill",a=>V?A.getColor(a.properties._value):F.getColor(a.properties._value,!0)).attr("stroke",J).attr("class","point").attr("stroke-width",2).style("vector-effect","non-scaling-stroke").attr("cx",a=>c.centroid(a)[0]).attr("cy",a=>c.centroid(a)[1]).attr("r",a=>F.getSize(a.properties._value)*1/C).on("mouseenter",(a,e)=>{if(e.properties._value){const k={...e.properties,meta:{[K]:e.properties.meta?e.properties.meta.value:"",...e.properties.meta,value:e.properties._value}};this.showToolTip(D,k,V?A.getColor(e.properties._value):F.getColor(e.properties._value))}}).on("mouseleave",a=>{this.hiddenToolTip()}),y.append("text").attr("class","point-label").attr("x",a=>c.centroid(a)[0]).attr("y",a=>c.centroid(a)[1]).attr("font-size",a=>H*(1/C)+"px").attr("text-anchor","middle").attr("dominant-baseline","middle").style("pointer-events","none").attr("fill",T).text(a=>E.formatNumber(s.style==="percent"?a.properties._value/100:a.properties._value,o)).on("mouseover",a=>{}),U||this.g.selectAll(".centroids").style("display","none")}}createPatterns(t){const{app:i,svg:f,format:s,id:u,file:m,path:c,onLayerCreated:z,labelFilter:l=[],labelField:g,labelFontSize:n,labelColor:d,fillColor:p,borderColor:b,tooltip:D,markFillColor:v,markLabelColor:T,markBorderColor:J,markSizeScale:j,markerLabelSize:H,featureJoinAttribute:ee,apiJoinAttribute:K,measures:N,editing:te,data:L,patternDiscriminator:_,patternDiscriminatorLabel:Q,breaks:q,gradientScheme:I,gradientReverse:$,patterns:w,projection:re,useBreaks:X,useGradients:V,useCentroidPoint:O,usePattern:G,waitForFilters:ae,intl:E,patternsVisible:R=!0,togglePatterns:B,colorLayerVisible:U=!0,visible:ie}=this.props,F=new Y.default({breaks:q,defaultFillColor:v,defaultBorderColor:J,defaultSize:j}),A=this.props.transform?this.props.transform.k:1,o=10*1/A,C=10*1/A;let y=[];if(i=="csv"&&_!="none")y=[...new Set(L.data.map(e=>e[_]))].map(e=>({key:e,type:w[e+"_symbol"],color:w[e+"_color"],rotation:w[e+"_rotation"]}));else if(_!="none"){const e=L.metadata?L.metadata.types.filter(k=>k.dimension==_):[];y=e&&e.length>0?e[0].items.map(k=>{const x=k.value;return{key:x,type:w[x+"_symbol"],color:w[x+"_color"],rotation:w[x+"_rotation"]}}):[]}this.g.selectAll("defs").remove();const a=this.g.append("defs");if(a.selectAll("pattern").remove(),a.selectAll("pattern").data(y).enter().append("pattern").attr("id",e=>S(e.key)).attr("patternUnits","userSpaceOnUse").attr("width",o).attr("height",C).attr("x",0).attr("y",0).attr("patternTransform",e=>`rotate(${e.rotation})`),y.forEach(e=>{e.type==="lines"&&a.select("#"+S(e.key)).append("rect").attr("x",.05).attr("width",o/2).attr("height",C).attr("opacity",1).attr("fill",e.color),e.type==="squares"&&a.select("#"+S(e.key)).append("rect").attr("width",o/2).attr("height",C/2).attr("fill",e.color).attr("opacity",1).attr("stroke-width",1),e.type==="dots"&&a.select("#"+S(e.key)).append("circle").attr("cx",o/2).attr("cy",C/2).attr("r",o/2.5).attr("fill",e.color).attr("opacity",1).attr("stroke-width",1),e.type==="triangle"&&a.select("#"+S(e.key)).append("polygon").attr("points",`${o/2} 0, 0 ${o}, ${o} ${o} `).attr("fill",e.color).attr("opacity",1).attr("stroke-width",1)}),y=y.filter(e=>e.type!=null).sort((e,k)=>new Intl.Collator(E.locale,{caseFirst:"upper",numeric:!0,sensitivity:"variant"}).compare(e.key,k.key)),G&&t&&t.features){this.g.selectAll(".shape-pattern").remove(),R&&t.features.forEach(r=>{let P=[];r.properties&&r.properties.meta&&(P=i!="csv"?r.properties.meta[_]?r.properties.meta[_]:[]:[r.properties.meta[_]],P&&P.length>0&&P.forEach(le=>{this.g.append("path").attr("d",c(r)).datum(le).attr("class","shape-pattern").attr("opacity",se=>{if(X)return .7}).attr("fill",se=>"transparent").attr("style",()=>"none;fill:url(#"+S(le)+");").on("mouseenter",()=>{this.showToolTip(D,this.getTooltipVariables(r),V?gradientColors.getColor(r.properties._value):F.getColor(r.properties._value))}).on("mousemove",se=>{this.moveToolTip()}).on("mouseleave",se=>{this.hiddenToolTip()})}))}),M.select(this.gRef.current.parentNode.parentNode).select(`.layer_${W(u)}`).select("svg").remove();const e=M.select(this.gRef.current.parentNode.parentNode).select(`.layer_${W(u)}`).append("svg");e.attr("height",30+y.length*23+"px");const k=e.append("svg").append("g"),x=k.append("defs");x.selectAll("pattern").remove(),R&&(x.selectAll("pattern").data(y).enter().append("pattern").attr("id",r=>"l_"+S(r.key)).attr("patternUnits","userSpaceOnUse").attr("width",5).attr("height",5).attr("x",0).attr("y",0).attr("patternTransform",r=>`rotate(${r.rotation?r.rotation:0})`),y.forEach(r=>{r.type==="lines"&&x.select("#l_"+S(r.key)).append("rect").attr("x",0).attr("width",1).attr("height",10).attr("opacity",.75).attr("fill",r.color),r.type==="squares"&&x.select("#l_"+S(r.key)).append("rect").attr("width",3).attr("height",3).attr("fill",r.color).attr("opacity",1).attr("stroke-width",1),r.type==="dots"&&x.select("#l_"+S(r.key)).append("circle").attr("cx",2).attr("cy",2).attr("r",2).attr("fill",r.color).attr("opacity",1).attr("stroke-width",1),r.type==="triangle"&&x.select("#l_"+S(r.key)).append("polygon").attr("points","5,0 8,8 0,5").attr("fill",r.color).attr("opacity",1).attr("stroke-width",1)}));let ne=R?"☑ ":"☐ ";k.append("text").attr("class","patterns-checkbox").attr("x",10).attr("y",20).text(r=>ne).attr("font-size","22px").on("click",()=>{B&&B(u)}),k.append("text").attr("class","patterns-title").attr("x",25).attr("y",7).text(r=>i==="csv"?_:Q).on("click",()=>{B&&B(u)}),R&&(k.selectAll(".legend-squares").data(y).enter().append("rect").attr("width",15).attr("height",15).attr("y",(r,P)=>P*22+30).attr("x",15).attr("stroke",b).attr("style",r=>"none;fill:url(#l_"+S(r.key)+");"),k.selectAll(".patterns-labels").data(y).enter().append("text").attr("class","patterns-labels").attr("y",(r,P)=>P*22+30).attr("x",32).text(r=>r.key))}}joinData(t,i,f,s,u,m){const c=t.features.map(l=>{const g=l.properties[f];if(i!="csv"&&s&&s.children){const n=s.children.filter(d=>d.value==g);if(n.length>0){const d=n[0][u[0]];if(l.properties.meta=n[0],l.properties._value=d,m&&m!="none"){const p=n[0]&&n[0].children?n[0].children.filter(b=>b.type==m).map(b=>b.value):[];l.properties.meta[m]=p}}else l.properties._value=null}else if(i=="csv"){const n=s.data.filter(d=>d[s.meta.fields[0]]==g);n.length>0?(l.properties.meta=n[0],l.properties._value=n[0][s.meta.fields[1]]):l.properties._value=null}else l.properties._value=null;return l});return{...t,features:c}}componentDidUpdate(t,i,f){const{app:s,file:u,featureJoinAttribute:m,data:c,measures:z,patternDiscriminator:l,editing:g,usePattern:n}=this.props;if((g||JSON.stringify(t.data)!==JSON.stringify(c))&&this.create(),t.visible!=this.props.visible){debugger;this.g.style("display",this.props.visible?"":"none")}if(t.patternsVisible!=this.props.patternsVisible){const p=M.select(this.gRef.current.parentNode.parentNode).select(`.layer_${W(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",d=>{debugger;return 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||M.select(this.gRef.current.parentNode.parentNode).select(`.layer_${W(this.props.id)}`).select("svg").remove()),this.g&&this.resize()}componentDidMount(){super.componentDidMount()}render(){const{id:t,file:i,path:f,zoom:s,labelFilter:u=[],labelField:m,labelFontSize:c,labelColor:z,fillColor:l,borderColor:g,featureJoinAttribute:n,apiJoinAttribute:d,dvzProxyDatasetId:p,editing:b}=this.props;return Z.jsx("g",{id:"data-"+t,className:"data "+t,ref:this.gRef})}}const ge=h=>{const{id:t,unique:i,filters:f,csv:s,app:u,group:m="default",apiJoinAttribute:c,editing:z,patternDiscriminator:l,dvzProxyDatasetId:g,intl:n,settings:d,waitForFilters:p}=h,b={},D=f||{};return D&&D.forEach&&D.forEach(v=>{v.value!=null&&v.value.filter(T=>T!=null&&T.toString().trim()!="").length>0&&(b[v.param]=v.value)}),g&&(b.dvzProxyDatasetId=g),Z.jsx(ce.default,{waitForFilters:p,editing:z,params:b,app:u,csv:decodeURIComponent(s),group:m,ignoreErrors:!0,isSvg:!0,store:[u,i,t],source:c+(l!="none"?"/"+l:""),children:Z.jsx(ue.default,{children:Z.jsx(me,{...h})})})},be=he.injectIntl(ge);exports.default=be;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Z=require("react/jsx-runtime");require("react");const pt=require("./BaseLayer.js"),ct=require("../data/DataProvider.js"),ut=require("../data/DataConsumer.js"),dt=require("d3"),ht=require("react-intl"),Y=require("./BreaksStyles.js"),ot=require("./GradientColors.js");function ft(h){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(h){for(const i in h)if(i!=="default"){const f=Object.getOwnPropertyDescriptor(h,i);Object.defineProperty(e,i,f.get?f:{enumerable:!0,get:()=>h[i]})}}return e.default=h,Object.freeze(e)}const M=ft(dt),W=h=>h?h.toString().replace(/ /g,"_"):"",S=h=>h?"pattern_"+W(h):"";class mt extends pt.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 i=this.joinData(e,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:e,markFillColor:i,markBorderColor:f,markSizeScale:s,measures:u,data:m,breaks:c,gradientScheme:z,gradientReverse:l,labelFontSize:g}=this.props,n=this.props.transform?this.props.transform.k:1;super.resize();const d=new Y.default({breaks:c,defaultFillColor:i,defaultBorderColor:f,defaultSize:s});new ot.default({data:m.children,measure:u[0],defaultFillColor:i,gradientScheme:z,gradientReverse:l}),this.g.selectAll(".centroids .point").attr("r",p=>d.getSize(p.properties._value)*1/n),this.g.selectAll(".point-label").attr("font-size",p=>e*(1/n)+"px")}getTooltipVariables(e){const{apiJoinAttribute:i}=this.props;return e.properties._value?{...e.properties,meta:{[i]:e.properties.meta?e.properties.meta.value:"",...e.properties.meta,value:e.properties._value}}:{}}createDataLayer(e){const{app:i,svg:f,format:s,id:u,file:m,path:c,onLayerCreated:z,labelFilter:l=[],labelField:g,labelFontSize:n,labelColor:d,fillColor:p,borderColor:b,tooltip:D,markFillColor:v,markLabelColor:T,markBorderColor:J,markSizeScale:j,markerLabelSize:H,featureJoinAttribute:tt,apiJoinAttribute:K,measures:N,editing:et,data:L,patternDiscriminator:_,patternDiscriminatorLabel:Q,breaks:q,gradientScheme:I,gradientReverse:$,patterns:w,projection:rt,useBreaks:X,useGradients:V,useCentroidPoint:O,usePattern:G,waitForFilters:at,intl:E,patternsVisible:R=!0,togglePatterns:B,colorLayerVisible:U=!0,visible:it}=this.props;if(this.gRef&&this.gRef.current){this.g=M.select(this.gRef.current),this.g.attr("class","base-layer");const F=e.features.filter(A=>A.properties._value!=null);this.createPaths(e),O||this.createColors(F),G&&this.createPatterns(e),g!="none"&&this.createLabels(e),O&&this.createCentroids(F)}}createColors(e){const{app:i,svg:f,format:s,id:u,file:m,path:c,onLayerCreated:z,labelFilter:l=[],labelField:g,labelFontSize:n,labelColor:d,fillColor:p,borderColor:b,tooltip:D,markFillColor:v,markLabelColor:T,markBorderColor:J,markSizeScale:j,markerLabelSize:H,featureJoinAttribute:tt,apiJoinAttribute:K,measures:N,editing:et,data:L,patternDiscriminator:_,patternDiscriminatorLabel:Q,breaks:q,gradientScheme:I,gradientReverse:$,patterns:w,projection:rt,useBreaks:X,useGradients:V,useCentroidPoint:O,usePattern:G,waitForFilters:at,intl:E,patternsVisible:R=!0,togglePatterns:B,colorLayerVisible:U=!0,visible:it}=this.props,F=new Y.default({breaks:q,defaultFillColor:v,defaultBorderColor:J,defaultSize:j}),A=new ot.default({data:L.children,measure:N[0],defaultFillColor:v,gradientScheme:I,gradientReverse:$});this.g&&(this.g.selectAll("path").attr("fill",o=>!o||!o.properties||!o.properties._value?p:V?A.getColor(o.properties._value):F.getColor(o.properties._value)).attr("stroke",b).attr("id","state-borders").attr("d",c).on("mouseenter",(o,C)=>{C.properties._value&&this.showToolTip(D,this.getTooltipVariables(C),V?A.getColor(C.properties._value):F.getColor(C.properties._value),C)}).on("mouseleave",o=>{this.hiddenToolTip(o)}).on("mousemove",o=>{this.moveToolTip(o)}),U||this.g.selectAll(".borders").style("fill",this.props.fillColor),this.g.attr("transform",this.props.transform))}createCentroids(e){const{app:i,svg:f,format:s,id:u,file:m,path:c,onLayerCreated:z,labelFilter:l=[],labelField:g,labelFontSize:n,labelColor:d,fillColor:p,borderColor:b,tooltip:D,markFillColor:v,markLabelColor:T,markBorderColor:J,markSizeScale:j,markerLabelSize:H,featureJoinAttribute:tt,apiJoinAttribute:K,measures:N,editing:et,data:L,patternDiscriminator:_,patternDiscriminatorLabel:Q,breaks:q,gradientScheme:I,gradientReverse:$,patterns:w,projection:rt,useBreaks:X,useGradients:V,useCentroidPoint:O,usePattern:G,waitForFilters:at,intl:E,patternsVisible:R=!0,togglePatterns:B,colorLayerVisible:U=!0,visible:it}=this.props,F=new Y.default({breaks:q,defaultFillColor:v,defaultBorderColor:J,defaultSize:j}),A=new ot.default({data:L.children,measure:N[0],defaultFillColor:v,gradientScheme:I,gradientReverse:$});if(this.g){const o={style:s.style==="compacted"?"decimal":s.style,notation:s.style==="compacted"?"compact":"standard",currency:s.currency,minimumFractionDigits:parseInt(s.minimumFractionDigits),maximumFractionDigits:parseInt(s.maximumFractionDigits)},C=this.props.transform?this.props.transform.k:1;this.g.selectAll(".centroids").remove();const y=this.g.selectAll("centroids").data(e).enter().append("g").attr("class","centroids");y.append("circle").attr("fill",a=>V?A.getColor(a.properties._value):F.getColor(a.properties._value,!0)).attr("stroke",J).attr("class","point").attr("stroke-width",2).style("vector-effect","non-scaling-stroke").attr("cx",a=>c.centroid(a)[0]).attr("cy",a=>c.centroid(a)[1]).attr("r",a=>F.getSize(a.properties._value)*1/C).on("mouseenter",(a,t)=>{if(t.properties._value){const k={...t.properties,meta:{[K]:t.properties.meta?t.properties.meta.value:"",...t.properties.meta,value:t.properties._value}};this.showToolTip(D,k,V?A.getColor(t.properties._value):F.getColor(t.properties._value))}}).on("mouseleave",a=>{this.hiddenToolTip()}),y.append("text").attr("class","point-label").attr("x",a=>c.centroid(a)[0]).attr("y",a=>c.centroid(a)[1]).attr("font-size",a=>H*(1/C)+"px").attr("text-anchor","middle").attr("dominant-baseline","middle").style("pointer-events","none").attr("fill",T).text(a=>E.formatNumber(s.style==="percent"?a.properties._value/100:a.properties._value,o)).on("mouseover",a=>{}),U||this.g.selectAll(".centroids").style("display","none")}}createPatterns(e){const{app:i,svg:f,format:s,id:u,file:m,path:c,onLayerCreated:z,labelFilter:l=[],labelField:g,labelFontSize:n,labelColor:d,fillColor:p,borderColor:b,tooltip:D,markFillColor:v,markLabelColor:T,markBorderColor:J,markSizeScale:j,markerLabelSize:H,featureJoinAttribute:tt,apiJoinAttribute:K,measures:N,editing:et,data:L,patternDiscriminator:_,patternDiscriminatorLabel:Q,breaks:q,gradientScheme:I,gradientReverse:$,patterns:w,projection:rt,useBreaks:X,useGradients:V,useCentroidPoint:O,usePattern:G,waitForFilters:at,intl:E,patternsVisible:R=!0,togglePatterns:B,colorLayerVisible:U=!0,visible:it}=this.props,F=new Y.default({breaks:q,defaultFillColor:v,defaultBorderColor:J,defaultSize:j}),A=this.props.transform?this.props.transform.k:1,o=10*1/A,C=10*1/A;let y=[];if(i=="csv"&&_!="none")y=[...new Set(L.data.map(t=>t[_]))].map(t=>({key:t,type:w[t+"_symbol"],color:w[t+"_color"],rotation:w[t+"_rotation"]}));else if(_!="none"){const t=L.metadata?L.metadata.types.filter(k=>k.dimension==_):[];y=t&&t.length>0?t[0].items.map(k=>{const x=k.value;return{key:x,type:w[x+"_symbol"],color:w[x+"_color"],rotation:w[x+"_rotation"]}}):[]}this.g.selectAll("defs").remove();const a=this.g.append("defs");if(a.selectAll("pattern").remove(),a.selectAll("pattern").data(y).enter().append("pattern").attr("id",t=>S(t.key)).attr("patternUnits","userSpaceOnUse").attr("width",o).attr("height",C).attr("x",0).attr("y",0).attr("patternTransform",t=>`rotate(${t.rotation})`),y.forEach(t=>{t.type==="lines"&&a.select("#"+S(t.key)).append("rect").attr("x",.05).attr("width",o/2).attr("height",C).attr("opacity",1).attr("fill",t.color),t.type==="squares"&&a.select("#"+S(t.key)).append("rect").attr("width",o/2).attr("height",C/2).attr("fill",t.color).attr("opacity",1).attr("stroke-width",1),t.type==="dots"&&a.select("#"+S(t.key)).append("circle").attr("cx",o/2).attr("cy",C/2).attr("r",o/2.5).attr("fill",t.color).attr("opacity",1).attr("stroke-width",1),t.type==="triangle"&&a.select("#"+S(t.key)).append("polygon").attr("points",`${o/2} 0, 0 ${o}, ${o} ${o} `).attr("fill",t.color).attr("opacity",1).attr("stroke-width",1)}),y=y.filter(t=>t.type!=null).sort((t,k)=>new Intl.Collator(E.locale,{caseFirst:"upper",numeric:!0,sensitivity:"variant"}).compare(t.key,k.key)),G&&e&&e.features){this.g.selectAll(".shape-pattern").remove(),R&&e.features.forEach(r=>{let P=[];r.properties&&r.properties.meta&&(P=i!="csv"?r.properties.meta[_]?r.properties.meta[_]:[]:[r.properties.meta[_]],P&&P.length>0&&P.forEach(lt=>{this.g.append("path").attr("d",c(r)).datum(lt).attr("class","shape-pattern").attr("opacity",st=>{if(X)return .7}).attr("fill",st=>"transparent").attr("style",()=>"none;fill:url(#"+S(lt)+");").on("mouseenter",()=>{this.showToolTip(D,this.getTooltipVariables(r),V?gradientColors.getColor(r.properties._value):F.getColor(r.properties._value))}).on("mousemove",st=>{this.moveToolTip()}).on("mouseleave",st=>{this.hiddenToolTip()})}))}),M.select(this.gRef.current.parentNode.parentNode).select(`.layer_${W(u)}`).select("svg").remove();const t=M.select(this.gRef.current.parentNode.parentNode).select(`.layer_${W(u)}`).append("svg");t.attr("height",30+y.length*23+"px");const k=t.append("svg").append("g"),x=k.append("defs");x.selectAll("pattern").remove(),R&&(x.selectAll("pattern").data(y).enter().append("pattern").attr("id",r=>"l_"+S(r.key)).attr("patternUnits","userSpaceOnUse").attr("width",5).attr("height",5).attr("x",0).attr("y",0).attr("patternTransform",r=>`rotate(${r.rotation?r.rotation:0})`),y.forEach(r=>{r.type==="lines"&&x.select("#l_"+S(r.key)).append("rect").attr("x",0).attr("width",1).attr("height",10).attr("opacity",.75).attr("fill",r.color),r.type==="squares"&&x.select("#l_"+S(r.key)).append("rect").attr("width",3).attr("height",3).attr("fill",r.color).attr("opacity",1).attr("stroke-width",1),r.type==="dots"&&x.select("#l_"+S(r.key)).append("circle").attr("cx",2).attr("cy",2).attr("r",2).attr("fill",r.color).attr("opacity",1).attr("stroke-width",1),r.type==="triangle"&&x.select("#l_"+S(r.key)).append("polygon").attr("points","5,0 8,8 0,5").attr("fill",r.color).attr("opacity",1).attr("stroke-width",1)}));let nt=R?"☑ ":"☐ ";k.append("text").attr("class","patterns-checkbox").attr("x",10).attr("y",20).text(r=>nt).attr("font-size","22px").on("click",()=>{B&&B(u)}),k.append("text").attr("class","patterns-title").attr("x",25).attr("y",7).text(r=>i==="csv"?_:Q).on("click",()=>{B&&B(u)}),R&&(k.selectAll(".legend-squares").data(y).enter().append("rect").attr("width",15).attr("height",15).attr("y",(r,P)=>P*22+30).attr("x",15).attr("stroke",b).attr("style",r=>"none;fill:url(#l_"+S(r.key)+");"),k.selectAll(".patterns-labels").data(y).enter().append("text").attr("class","patterns-labels").attr("y",(r,P)=>P*22+30).attr("x",32).text(r=>r.key))}}joinData(e,i,f,s,u,m){const c=e.features.map(l=>{const g=l.properties[f];if(i!="csv"&&s&&s.children){const n=s.children.filter(d=>d.value==g);if(n.length>0){const d=n[0][u[0]];if(l.properties.meta=n[0],l.properties._value=d,m&&m!="none"){const p=n[0]&&n[0].children?n[0].children.filter(b=>b.type==m).map(b=>b.value):[];l.properties.meta[m]=p}}else l.properties._value=null}else if(i=="csv"){const n=s.data.filter(d=>d[s.meta.fields[0]]==g);n.length>0?(l.properties.meta=n[0],l.properties._value=n[0][s.meta.fields[1]]):l.properties._value=null}else l.properties._value=null;return l});return{...e,features:c}}componentDidUpdate(e,i,f){const{app:s,file:u,featureJoinAttribute:m,data:c,measures:z,patternDiscriminator:l,editing:g,usePattern:n}=this.props;if((g||JSON.stringify(e.data)!==JSON.stringify(c))&&this.create(),e.visible!=this.props.visible&&this.g.style("display",this.props.visible?"":"none"),e.patternsVisible!=this.props.patternsVisible){const p=M.select(this.gRef.current.parentNode.parentNode).select(`.layer_${W(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",d=>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||M.select(this.gRef.current.parentNode.parentNode).select(`.layer_${W(this.props.id)}`).select("svg").remove()),this.g&&this.resize()}componentDidMount(){super.componentDidMount()}render(){const{id:e,file:i,path:f,zoom:s,labelFilter:u=[],labelField:m,labelFontSize:c,labelColor:z,fillColor:l,borderColor:g,featureJoinAttribute:n,apiJoinAttribute:d,dvzProxyDatasetId:p,editing:b}=this.props;return Z.jsx("g",{id:"data-"+e,className:"data "+e,ref:this.gRef})}}const gt=h=>{const{id:e,unique:i,filters:f,csv:s,app:u,group:m="default",apiJoinAttribute:c,editing:z,patternDiscriminator:l,dvzProxyDatasetId:g,intl:n,settings:d,waitForFilters:p}=h,b={},D=f||{};return D&&D.forEach&&D.forEach(v=>{v.value!=null&&v.value.filter(T=>T!=null&&T.toString().trim()!="").length>0&&(b[v.param]=v.value)}),g&&(b.dvzProxyDatasetId=g),Z.jsx(ct.default,{waitForFilters:p,editing:z,params:b,app:u,csv:decodeURIComponent(s),group:m,ignoreErrors:!0,isSvg:!0,store:[u,i,e],source:c+(l!="none"?"/"+l:""),children:Z.jsx(ut.default,{children:Z.jsx(mt,{...h})})})},bt=ht.injectIntl(gt);exports.default=bt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const L=require("react/jsx-runtime");require("react");const Y=require("./BaseLayer.js"),G=require("../data/DataProvider.js"),H=require("../data/DataConsumer.js"),X=require("d3"),K=require("react-intl"),Q=require("papaparse"),Z=require("./BreaksStyles.js");function $(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const i in n)if(i!=="default"){const o=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(e,i,o.get?o:{enumerable:!0,get:()=>n[i]})}}return e.default=n,Object.freeze(e)}const P=$(X);class tt extends Y.default{constructor(){super(),this.createDataLayer=this.createDataLayer.bind(this)}createDataLayer(e){const{format:i,path:o,tooltip:k,markFillColor:l,markBorderColor:v,markSizeScale:F,featureJoinAttribute:f,apiJoinAttribute:A,projection:x,breaks:O,markSizeScale2:w,measures:m,zoom:b,offsetPixels:c=10,waitForFilters:M}=this.props,_=m[0],S=new Z.default({breaks:O,defaultFillColor:l,defaultBorderColor:v,defaultSize:w});i.style==="compacted"||i.style,i.style,i.currency,parseInt(i.minimumFractionDigits),parseInt(i.maximumFractionDigits);const C=e.features.filter(t=>t.properties._value!=null);this.g=P.select(this.gRef.current),this.g.attr("class","base-layer zoomable"),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 T=this.props.transform?this.props.transform.k:1,D=[];C.forEach(t=>{D.push(t),t.properties.destinations.sort((p,r)=>p[_]-r[_]).forEach(p=>{const r=p[_];e.features.filter(s=>s.properties[f]==p.value).forEach(s=>{s.properties.meta=p;const u=t.properties[f],a=t.properties[f]+"--"+s.properties[f],h=o.centroid(t),y=o.centroid(s),z=y[0]-h[0],E=y[1]-h[1],I=Math.sqrt(z*z+E*E),N=z/I,B=E/I,V=[y[0]-N*c,y[1]-B*c],R=x.invert(V),U={type:"LineString",coordinates:[x.invert(h),R]},d=this.g.append("g");this.g.select("defs").append("marker").attr("id","arrow"+a).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(r)+";"),d.append("path").attr("d",o(U)).attr("id",a).attr("class","flow-line").style("fill","none").style("cursor","pointer").style("stroke-dasharray","0").style("stroke",j=>S.getColor(r)).style("stroke-width",j=>S.getSize(r)).attr("marker-end","url(#arrow"+a+")").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),P.select(j.target).transition().duration("200").style("opacity",1),d.selectAll("#arrow"+a).transition().duration("200").style("opacity",1),d.selectAll(".start-point.circle_"+u).transition().duration("200").style("opacity",1),r){const J={},q={};Object.keys(t.properties).forEach(g=>{J["origin_"+g]=t.properties[g]}),Object.keys(s.properties).forEach(g=>{q["target_"+g]=s.properties[g]}),Object.keys(s.properties.meta).forEach(g=>{q["target_"+g]=s.properties.meta[g]});const W={...J,...q,meta:{[A]:t.properties.meta?t.properties.meta.value:"",...t.properties.meta,value:r}};this.showToolTip(k,W,S.getColor(s.properties._value))}}).on("mouseout",j=>{this.hiddenToolTip(),P.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",a).style("text-anchor","middle").attr("startOffset","50%").attr("fill","#fff").text("Yay, my text is on a wavy path")})})}),D.forEach(t=>{this.g.append("circle").attr("fill",l).attr("stroke",v).attr("class","start-point circle_"+t.properties[f]).attr("stroke-width",2).style("vector-effect","non-scaling-stroke").attr("cx",o.centroid(t)[0]).attr("cy",o.centroid(t)[1]).attr("r",()=>F*1/T).on("mouseenter",p=>{this.showToolTip("{name_en}",t.properties,"")}).on("mouseout",p=>{this.hiddenToolTip()})})}create(){const{app:e,name:i,file:o,path:k,csv:l,zoom:v,labelFilter:F=[],labelField:f,labelFontSize:A,labelColor:x,fillColor:O,borderColor:w,featureJoinAttribute:m,editing:b,data:c,breaks:M,markFillColor:_,markSizeScale:S,measures:C,flowValuesFrom:T}=this.props;o!="none"&&this.loadJSON(o).then(D=>{const t=D.features.map(r=>{const s=r.properties[m];if(e!="csv"&&c&&c.children){const u=c.children.filter(a=>a.value.indexOf(s)>-1);if(u.length>0){const a=u[0][C[0]];r.properties.meta=u[0],r.properties._value=a,r.properties.destinations=u[0].children}}else if(e=="csv"){const u=Q.parse(l,{header:!0,dynamicTyping:!0}),a=r.properties[m];u.data.filter(y=>y.origin==a);const h=u.data.filter(y=>y.origin==a)[0];h!=null&&(alert("CSV Not implemented Yet, please do it if you have time"),r.properties.meta=h,r.properties._value=h.value,r.properties.destinations=h.destination)}return r}),p={...D,features:t};this.createDataLayer(p)})}componentDidUpdate(e,i,o){const{projection:k,editing:l,data:v}=this.props;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const L=require("react/jsx-runtime");require("react");const Y=require("./BaseLayer.js"),G=require("../data/DataProvider.js"),H=require("../data/DataConsumer.js"),X=require("d3"),K=require("react-intl"),Q=require("papaparse"),Z=require("./BreaksStyles.js");function $(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const i in n)if(i!=="default"){const o=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(e,i,o.get?o:{enumerable:!0,get:()=>n[i]})}}return e.default=n,Object.freeze(e)}const P=$(X);class tt extends Y.default{constructor(){super(),this.createDataLayer=this.createDataLayer.bind(this)}createDataLayer(e){const{format:i,path:o,tooltip:k,markFillColor:l,markBorderColor:v,markSizeScale:F,featureJoinAttribute:f,apiJoinAttribute:A,projection:x,breaks:O,markSizeScale2:w,measures:m,zoom:b,offsetPixels:c=10,waitForFilters:M}=this.props,_=m[0],S=new Z.default({breaks:O,defaultFillColor:l,defaultBorderColor:v,defaultSize:w});i.style==="compacted"||i.style,i.style,i.currency,parseInt(i.minimumFractionDigits),parseInt(i.maximumFractionDigits);const C=e.features.filter(t=>t.properties._value!=null);this.g=P.select(this.gRef.current),this.g.attr("class","base-layer zoomable"),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 T=this.props.transform?this.props.transform.k:1,D=[];C.forEach(t=>{D.push(t),t.properties.destinations.sort((p,r)=>p[_]-r[_]).forEach(p=>{const r=p[_];e.features.filter(s=>s.properties[f]==p.value).forEach(s=>{s.properties.meta=p;const u=t.properties[f],a=t.properties[f]+"--"+s.properties[f],h=o.centroid(t),y=o.centroid(s),z=y[0]-h[0],E=y[1]-h[1],I=Math.sqrt(z*z+E*E),N=z/I,B=E/I,V=[y[0]-N*c,y[1]-B*c],R=x.invert(V),U={type:"LineString",coordinates:[x.invert(h),R]},d=this.g.append("g");this.g.select("defs").append("marker").attr("id","arrow"+a).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(r)+";"),d.append("path").attr("d",o(U)).attr("id",a).attr("class","flow-line").style("fill","none").style("cursor","pointer").style("stroke-dasharray","0").style("stroke",j=>S.getColor(r)).style("stroke-width",j=>S.getSize(r)).attr("marker-end","url(#arrow"+a+")").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),P.select(j.target).transition().duration("200").style("opacity",1),d.selectAll("#arrow"+a).transition().duration("200").style("opacity",1),d.selectAll(".start-point.circle_"+u).transition().duration("200").style("opacity",1),r){const J={},q={};Object.keys(t.properties).forEach(g=>{J["origin_"+g]=t.properties[g]}),Object.keys(s.properties).forEach(g=>{q["target_"+g]=s.properties[g]}),Object.keys(s.properties.meta).forEach(g=>{q["target_"+g]=s.properties.meta[g]});const W={...J,...q,meta:{[A]:t.properties.meta?t.properties.meta.value:"",...t.properties.meta,value:r}};this.showToolTip(k,W,S.getColor(s.properties._value))}}).on("mouseout",j=>{this.hiddenToolTip(),P.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",a).style("text-anchor","middle").attr("startOffset","50%").attr("fill","#fff").text("Yay, my text is on a wavy path")})})}),D.forEach(t=>{this.g.append("circle").attr("fill",l).attr("stroke",v).attr("class","start-point circle_"+t.properties[f]).attr("stroke-width",2).style("vector-effect","non-scaling-stroke").attr("cx",o.centroid(t)[0]).attr("cy",o.centroid(t)[1]).attr("r",()=>F*1/T).on("mouseenter",p=>{this.showToolTip("{name_en}",t.properties,"")}).on("mouseout",p=>{this.hiddenToolTip()})})}create(){const{app:e,name:i,file:o,path:k,csv:l,zoom:v,labelFilter:F=[],labelField:f,labelFontSize:A,labelColor:x,fillColor:O,borderColor:w,featureJoinAttribute:m,editing:b,data:c,breaks:M,markFillColor:_,markSizeScale:S,measures:C,flowValuesFrom:T}=this.props;o!="none"&&this.loadJSON(o).then(D=>{const t=D.features.map(r=>{const s=r.properties[m];if(e!="csv"&&c&&c.children){const u=c.children.filter(a=>a.value.indexOf(s)>-1);if(u.length>0){const a=u[0][C[0]];r.properties.meta=u[0],r.properties._value=a,r.properties.destinations=u[0].children}}else if(e=="csv"){const u=Q.parse(l,{header:!0,dynamicTyping:!0}),a=r.properties[m];u.data.filter(y=>y.origin==a);const h=u.data.filter(y=>y.origin==a)[0];h!=null&&(alert("CSV Not implemented Yet, please do it if you have time"),r.properties.meta=h,r.properties._value=h.value,r.properties.destinations=h.destination)}return r}),p={...D,features:t};this.createDataLayer(p)})}componentDidUpdate(e,i,o){const{projection:k,editing:l,data:v}=this.props;(l||JSON.stringify(e.data)!==JSON.stringify(v))&&this.create(),e.visible!=this.props.visible&&this.g.style("display",this.props.visible?"":"none")}componentDidMount(){this.create(),this.props.zoom.current.fullView()}render(){const{id:e}=this.props;return L.jsx("g",{id:"data-"+e,className:"data "+e,ref:this.gRef,children:L.jsx("defs",{})})}}const et=n=>{const{id:e,unique:i,filters:o,csv:k,app:l,group:v="default",flowOrigin:F,editing:f,flowDestination:A,dvzProxyDatasetId:x,waitForFilters:O}=n,w={dvzProxyDatasetId:x},m=o||{};return m&&m.forEach&&m.forEach(b=>{b.value!=null&&b.value.filter(c=>c!=null&&c.toString().trim()!="").length>0&&(w[b.param]=b.value)}),L.jsx(G.default,{editing:f,params:w,waitForFilters:O,app:l,csv:decodeURIComponent(k),group:v,ignoreErrors:!0,isSvg:!0,store:[l,i,e],source:F+"/"+A,children:L.jsx(H.default,{children:L.jsx(tt,{...n})})})},rt=K.injectIntl(et);exports.default=rt;
|