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) 1.17 kB
"use strict";const s=require("react/jsx-runtime"),i=require("react"),x=require("react-redux"),u=require("semantic-ui-react"),I=require("../reducers/data.js"),b=e=>{const{editing:n=!1,"data-group":t,onApply:a,"data-app":f="csv","data-label":g="Apply",filters:l,initialFilters:m,apply:r}=e,[c,o]=i.useState(!1),[p,y]=i.useState(m);return console.log(r),i.useEffect(()=>{Object.keys(p).forEach(d=>{p[d].length!=l[d].filter(h=>h!=Number.MIN_SAFE_INTEGER).length&&o(!0)}),y(l)},[l]),i.useEffect(()=>{r!=null&&o(!1)},[r]),s.jsxs(u.Container,{fluid:!0,className:`data-filters-apply ignore ${c?"":"disabled"} ${n?"editing":""}`,onClick:()=>{c&&a({app:f,group:t})},children:[s.jsx("span",{children:g}),s.jsx("span",{children:s.jsx(u.Icon,{name:"chevron circle right",className:"custom-apply-icon"})})]})},E=(e,n)=>{const{"data-group":t,"data-app":a="csv"}=n;return{apply:e.getIn(["data","filters-settings",a,t,"apply"]),filters:e.getIn(["data","filters",a,t])?e.getIn(["data","filters",a,t]).toJS():{},initialFilters:e.getIn(["data","filters","initial",a,t])?e.getIn(["data","filters","initial",a,t]).toJS():{}}},F={onApply:I.applyFilter},S=x.connect(E,F)(b);module.exports=S;