@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) • 1.09 kB
JavaScript
;const t=require("react/jsx-runtime"),m=require("react"),l=require("semantic-ui-react"),d=require("../reducers/data.js"),f=require("../../redux/hooks.js"),g=h=>{const{parent:x,editing:j=!1,unique:C,"data-label":r,"data-group":i,"data-app":s,"data-measures-groups":n}=h;let e;const o=f.useAppDispatch(),c=f.useAppSelector(a=>a.getIn(["data","measures",s,i])),p={onReset:d.cleanMeasures,onChange:d.setMeasures};if(n instanceof String||typeof n=="string"?e=JSON.parse(decodeURIComponent(n)):e=n,m.useEffect(()=>{e&&e[s]&&e[s].forEach(a=>{a.defaultSelected&&o(p.onChange({app:s,group:i,mGroup:a}))})},[]),e&&e[s]){const a=e[s];return t.jsxs(l.Container,{className:"measures group",fluid:!0,children:[r&&t.jsx("span",{children:r}),a.map(u=>t.jsxs("div",{className:"inputs lists",onClick:()=>o(p.onChange({app:s,group:i,mGroup:u})),children:[t.jsx("input",{readOnly:!0,checked:!!(c&&c.idx==u.idx),type:"radio"}),t.jsx("span",{children:u.label})]},u.idx))]})}else return t.jsx(l.Container,{className:"measures group",fluid:!0,children:r&&t.jsx("span",{children:r})})};module.exports=g;