UNPKG

@devgateway/dvz-ui-react

Version:

A modular, embeddable React component library for data visualization and UI, built with TypeScript. Provides reusable components for charts, maps, dashboards, and more, with built-in support for internationalization and Redux integration.

2 lines (1 loc) 2.62 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),r=require("react"),D=require("react-redux"),a=require("../utils/parseUtils.js"),J=require("./Map.js"),N=require("./BaseLayer.js"),_=require("./DataLayer.js"),A=require("./LatLongLayer.js"),B=require("./ZoomControl.js"),O=require("./ProjectedContainer.js"),U=require("./Legends.js"),W=require("./FlowLayer.js"),G=g=>{const{unique:c,editing:n,"data-identifier":S,"data-group":d,"data-layers":P="[]","data-height":w=400,"data-width":j=1e3,"data-back-ground-color":h="#88e8dc","data-map-position":y="{}","data-projection":z="geoMercator","data-zoom-enabled":C=!0,"data-rotation-enabled":q=!1,"data-wait-for-filters":i="false",intl:p}=g,[L,F]=r.useState(a.parse(y,n),[]),[l,m]=r.useState(a.parse(P),[]),M=r.useRef(null),u=r.useRef(null),[b,E]=r.useState(null),[x,V]=r.useState(null),[R,v]=r.useState(null);r.useEffect(()=>{const e=a.parse(y,n);a.compareJsonProps(L,e)||F(e)},[y]),r.useEffect(()=>{const e=a.parse(P);a.compareJsonProps(l,e)||m(e)},[P]);const T=e=>{const o=l.slice(),t=o.find(f=>f.id==e);t&&(t.visible=!t.visible),m(o)},k=e=>{const o=l.slice(),t=o.find(f=>f.id==e);t&&(t.patternsVisible=t.patternsVisible==null?!1:!t.patternsVisible),m(o)},I=e=>{v(e)},Z=e=>{const o=l.slice(),t=o.find(f=>f.id==e);t&&(t.colorLayerVisible=t.colorLayerVisible==null?!1:!t.colorLayerVisible),m(o)};return s.jsx("div",{ref:M,className:"d3map-container",children:s.jsxs(O.default,{backgroundColor:a.decode(h),height:w,width:j,projectionName:z,editing:n,initialPosition:L,children:[s.jsx(J.default,{rotationEnabled:a.parse(q,n),children:l.map((e,o)=>{if(e.type==="base")return s.jsx(N.default,{transform:b,intl:p,zoom:u,unique:c,...e},o);if(e.type==="data")return s.jsx(_.default,{editing:n,onLayerCreated:t=>{},transform:b,intl:p,group:d,zoom:u,unique:c,...e,settings:g.wordress,togglePatterns:k,initialPosition:L,waitForFilters:i=="true"||i==!0},o);if(e.type==="flow")return s.jsx(W.default,{transform:b,intl:p,group:d,zoom:u,unique:c,...e,waitForFilters:i=="true"||i==!0},o);if(e.type==="dataPoints")return s.jsx(A.default,{onZoomToPoint:I,selectedItem:x,transform:b,intl:p,group:d,zoom:u,unique:c,...e,waitForFilters:i=="true"||i==!0},o)})}),s.jsx(U.default,{selectedItem:x,d2Click:e=>V(e),patternsData:null,layers:l,group:d,onItemClick:T,toggleColorLayer:Z}),s.jsx(B.default,{selectedPoint:R,rootationEmabled:a.parse(q,n),zoomEnabled:a.parse(C,n),onZoomed:E,width:j,height:w,ref:u,group:d,identifier:S,editing:n})]})})},H=(g,c)=>({}),K={},Q=D.connect(H,K)(G);exports.default=Q;