@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) • 4.52 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const x=require("react/jsx-runtime"),s=require("react"),te=require("semantic-ui-react"),l=require("../../utils/data.js"),oe=require("@devgateway/wp-react-lib"),$=require("./PostsFilterDropdown.js"),ae=require("../../conf/index.js"),re=require("../../redux/hooks.js"),le=require("react-redux"),ne=S=>{const{taxonomy:F,group:O,placeholder:n,allLabel:h,noneLabel:m,useSingleColumn:f,enableTextSearch:b,filterType:B,showNoDataOption:g,closeOnSelect:A,allNoneSameBehaviour:v,autoApply:N,alphabeticalSort:_,ascOrder:a,type:i,categories:C,onChange:w}=S,[T,y]=s.useState([]),d=async()=>{if(!F||F==="none"){y([]);return}const e=await(await fetch(ae.Config.REACT_APP_WP_API+"/wp/v2/"+F)).json();if(e){const r=e.map(c=>({key:c.id,value:c.id,text:c.name}));if(C){const c=r.filter(Y=>C.indexOf(Y.value.toString())>-1);y(c)}else y(r)}};return s.useEffect(()=>(d(),()=>{y([])}),[i]),x.jsx($.default,{...S,group:O,placeholder:n,allLabel:h,noneLabel:m,useSingleColumn:f,enableTextSearch:b,filterType:B,showNoDataOption:g,closeOnSelect:A,allNoneSameBehaviour:v,autoApply:N,alphabeticalSort:_,ascOrder:a,options:T,onChange:w})},se=S=>{const{"data-alphabetical-sort":F,"data-asc-order":O,"data-group":n,"data-placeholder":h,"data-all-label":m,"data-none-label":f,"data-use-single-column":b,"data-enable-text-search":B,"data-filter-type":g,"data-show-no-data-option":A,"data-close-on-select":v,"data-all-none-same-behaviour":N,"data-auto-apply":_,"data-taxonomy":a,"data-categories":i,"data-is-country-filter":C,"data-is-year-filter":w,"data-type":T,"data-sort-first-by":y}=S,d=re.useAppDispatch(),e=le.useSelector(o=>o.getIn(["data","posts",n]))||{},r=g==="multi-select",c=s.useRef(0),Y=l.toBoolean(F),W=l.toBoolean(O),q=l.toBoolean(A),L=l.toBoolean(v),I=l.toBoolean(N),j=l.toBoolean(_),t=l.toBoolean(C),u=l.toBoolean(w),D=l.toBoolean(b),k=l.toBoolean(B),E=y!=="none"?l.toNumber(y):null,[z,G]=s.useState([]),[H,J]=s.useState(r?Array.isArray(e.yearFilter)?e.yearFilter:e.yearFilter!=null?[e.yearFilter]:[]:e.yearFilter||void 0),[K,P]=s.useState(r?Array.isArray(e.countryFilter)?e.countryFilter:e.countryFilter!=null?[e.countryFilter]:[]:e.countryFilter||void 0),[M,R]=s.useState(r?Array.isArray(e.categoryFilter)?e.categoryFilter:e.categoryFilter!=null?[e.categoryFilter]:[]:e.categoryFilter||void 0);s.useEffect(()=>{J(e.yearFilter||void 0),r?(P(Array.isArray(e.countryFilter)?e.countryFilter:e.countryFilter!=null?[e.countryFilter]:[]),R(Array.isArray(e.categoryFilter)?e.categoryFilter:e.categoryFilter!=null?[e.categoryFilter]:[])):(P(e.countryFilter||void 0),R(e.categoryFilter||void 0))},[e,r]);const Q=o=>{d({type:"SET_POSTS_FILTER",group:n,isYearFilter:u,yearFilter:o,isCountryFilter:t,categoryFilter:e.categoryFilter,countryFilter:e.countryFilter,sortFirstBy:E,countryCategory:a,categoryTaxonomy:a,countryTaxonomy:a})},X=o=>{t?P(o):R(o),d({type:"SET_POSTS_FILTER",group:n,categoryFilter:t?e.categoryFilter:o,countryFilter:t?o:e.countryFilter,yearFilter:e.yearFilter,isYearFilter:u,isCountryFilter:t,sortFirstBy:t?E:e.sortFirstBy,countryCategory:t?a:e.countryCategory,categoryCategory:t?e.categoryCategory:o,categoryTaxonomy:t?e.categoryTaxonomy:a,countryTaxonomy:t?a:e.countryTaxonomy})};s.useEffect(()=>{const o=t?e.categoryFilter:r?i?i.split(",").map(Number):[]:e.categoryFilter,p=t&&r?i?i.split(",").map(Number):[]:e.countryFilter;d({type:"SET_INITIAL_POSTS_FILTER",group:n,categoryFilter:o,countryFilter:p,isYearFilter:u,isCountryFilter:t,sortFirstBy:E,categoryCategory:t?null:e.categoryCategory,categoryTaxonomy:t?null:a,countryCategory:t?e.countryCategory:null,countryTaxonomy:t?a:null})},[n]),s.useEffect(()=>{u&&Z()},[u]);const Z=async()=>{const ee=(await oe.getYearRange()).data.map(V=>({key:V,value:V,text:`Year ${V}`}));G(ee||[])};return x.jsxs(te.Container,{fluid:!0,className:"filter",children:[u&&x.jsx($.default,{group:n,placeholder:h,allLabel:m,noneLabel:f,useSingleColumn:D,enableTextSearch:k,filterType:g,showNoDataOption:q,closeOnSelect:L,allNoneSameBehaviour:I,autoApply:j,alphabeticalSort:Y,ascOrder:W,options:z,taxonomy:a,type:T,value:H,onChange:(o,p)=>{Q(p)},resetKey:c.current}),!u&&x.jsx(ne,{group:n,placeholder:h,allLabel:m,noneLabel:f,useSingleColumn:D,enableTextSearch:k,filterType:g,showNoDataOption:q,closeOnSelect:L,allNoneSameBehaviour:I,autoApply:j,taxonomy:a,type:T,value:t?K:M,onChange:(o,p)=>{X(p)},categories:i?i.split(","):[],resetKey:c.current},`cat-${n}`)]})};exports.default=se;