@devgateway/dvz-ui-react 1.7.8 → 1.7.10
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/embeddable/measures/index.js +1 -1
- package/dist/cjs/embeddable/posts-filter/PostsFilterDropdown.js +1 -1
- package/dist/cjs/embeddable/posts-filter/index.js +1 -1
- package/dist/cjs/embeddable/reducers/data.js +1 -1
- package/dist/esm/embeddable/measures/index.js +33 -22
- package/dist/esm/embeddable/posts-filter/PostsFilterDropdown.js +127 -131
- package/dist/esm/embeddable/posts-filter/index.js +106 -106
- package/dist/esm/embeddable/reducers/data.js +76 -71
- package/package.json +1 -1
|
@@ -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 r=require("react/jsx-runtime"),m=require("react"),d=require("semantic-ui-react"),p=require("../reducers/data.js"),f=require("../../redux/hooks.js"),g=h=>{const{parent:x,editing:j=!1,unique:C,"data-label":n,"data-group":o,"data-app":a,"data-measures-groups":u}=h;let s;const c=f.useAppDispatch(),i=f.useAppSelector(e=>e.getIn(["data","measures",a,o])),l={onReset:p.cleanMeasures,onChange:p.setMeasures};if(u instanceof String||typeof u=="string"){const e=u;let t;try{t=decodeURIComponent(e)}catch{t=e}s=JSON.parse(t)}else s=u;if(m.useEffect(()=>{s&&s[a]&&s[a].forEach(e=>{e.defaultSelected&&c(l.onChange({app:a,group:o,mGroup:e}))})},[]),s&&s[a]){const e=s[a];return r.jsxs(d.Container,{className:"measures group",fluid:!0,children:[n&&r.jsx("span",{children:n}),e.map(t=>r.jsxs("div",{className:"inputs lists",onClick:q=>c(l.onChange({app:a,group:o,mGroup:t})),children:[r.jsx("input",{readOnly:!0,checked:!!(i&&i.idx==t.idx),type:"radio"}),r.jsx("span",{children:t.label})]},t.idx))]})}else return r.jsx(d.Container,{className:"measures group",fluid:!0,children:n&&r.jsx("span",{children:n})})};exports.default=g;
|
|
@@ -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 l=require("react/jsx-runtime"),g=require("react"),s=require("semantic-ui-react"),k="multi-select",C="single-select",A=Number.MIN_SAFE_INTEGER,w=E=>E==null?null:String(E),ee=E=>{const{allLabel:K,noneLabel:Y,placeholder:N,options:h,current:_,onChange:i,useSingleColumn:D,enableTextSearch:y,filterType:a,allNoneSameBehaviour:$,hiddenFilters:j,autoApply:m,value:o,closeOnSelect:v=!0,noneFunction:q,alphabeticalSort:G,ascOrder:R,...z}=E,x=a===k,T=Array.isArray(o)?o:_||[],L=(Array.isArray(T)?T.some(e=>e===A):!1)?T.filter(e=>e!==A):T,[u,H]=g.useState(""),[f,b]=g.useState(null),S=m===!1&&f!==null?f:L,c=g.useMemo(()=>{if(!h)return[];const e=[...h];return G?e.sort((t,n)=>{const r=t.text?String(t.text).toLowerCase():"",p=n.text?String(n.text).toLowerCase():"";return R?r<p?-1:r>p?1:0:r<p?1:r>p?-1:0}):e.sort((t,n)=>{const r=t.position!==void 0?t.position:0,p=n.position!==void 0?n.position:0;return R?r-p:p-r}),e},[h,G,R]),O=(e,t)=>{if(a===k){const n=w(t),r=Array.isArray(S)?[...S]:[];let I=r.some(P=>w(P)===n)?r.filter(P=>w(P)!==n):[...r,t];!$&&I.length===0&&(I=[A]),m===!1?b(I):i&&i(e,I),v&&d.current&&d.current.close();return}if(a===C){m===!1?b([t]):i&&i(e,t),v&&d.current&&d.current.close();return}},J=()=>{const e=(c||[]).filter(t=>{var n;return y&&u&&u.trim().length>0&&t.text?(n=t.text)==null?void 0:n.toString().toLowerCase().includes(u.toLowerCase()):!0}).map(t=>t.value);x&&(m===!1?b(e):i&&i({},e)),v&&d.current&&d.current.close()},Q=e=>{if(q){q(e);return}else{if(!c)return;const t=c.filter(n=>{var r;return y&&u&&u.trim().length>0&&n.text?(r=n.text)==null?void 0:r.toString().toLowerCase().includes(u==null?void 0:u.toString().toLowerCase()):!0});if(x){const n=$?t.map(r=>r.value):[A];m===!1?b(n):i&&i({},n)}v&&d.current&&d.current.close()}},U=e=>{H(e)},V=g.useRef(!1);g.useEffect(()=>{if(!(!x||V.current)&&h&&h.length>0)if(!(Array.isArray(L)?L.length>0:!!L)&&i){V.current=!0;const t=h.map(n=>n.value);i({},t)}else V.current=!0},[x,h]),g.useEffect(()=>{if(x&&h&&h.length>0&&i){const e=h.map(t=>t.value);i({},e)}},[x]);const W=g.useMemo(()=>{if(a==C){const e=m===!1&&f!==null?f[0]:o,t=e!=null?c==null?void 0:c.filter(n=>n.value==e)[0]:null;return t?`${N?N+" ":""}${t.text}`:""}else{const e=S?S.filter(n=>n==Number.MIN_SAFE_INTEGER?!1:j&&j.length>0?j.indexOf(n)==-1:!0).length:0,t=(c==null?void 0:c.filter(n=>j&&j.length>0?j.indexOf(n.id)==-1:!0).length)||0;return`${N} (${e}/${t})`}},[c,S,a,m,f,o]),d=g.useRef(null),B=W,F=typeof B=="string"?B:"",X=F&&F.length>0?F:N||"",M=g.useRef(void 0);g.useEffect(()=>{a===C&&M.current===void 0&&o!==void 0&&(M.current=o)},[a,o]);const Z=a===C?o!=null&&o!==M.current:_&&_.length>0;return l.jsx(s.Dropdown,{...z,ref:d,fluid:!0,text:X,scrolling:!1,button:!0,icon:"angle down",multiple:x,search:!0,floating:!1,value:o,closeOnChange:v,...x?{renderLabel:()=>null}:{},className:`multiple ${Z?"applied ":""}`,children:l.jsxs(s.Dropdown.Menu,{children:[a!=C&&l.jsxs(l.Fragment,{children:[l.jsx(s.Segment,{children:l.jsxs(s.Dropdown.Item,{children:[l.jsx(s.Label,{basic:!0,onClick:J,children:K})," ","|"," ",l.jsx(s.Label,{basic:!0,onClick:Q,children:Y})]})}),y&&l.jsxs(l.Fragment,{children:[l.jsx(s.Container,{children:l.jsx(s.Dropdown.Item,{children:l.jsx("div",{className:"ui action input",children:l.jsxs("div",{className:"ui input",children:[l.jsx("input",{className:"filter-search",value:u,placeholder:"Search...",onChange:e=>U(e.target.value),onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),type:"text",autoComplete:"off"}),l.jsx(s.Icon,{name:"remove",link:!0,className:"clear-icon ignore",onClick:()=>U("")})]})})})}),l.jsx(s.Divider,{})]})]}),l.jsx("br",{}),l.jsx(s.Container,{className:D?"dropdown-single-column":"",children:c==null?void 0:c.filter(e=>{var t;return y&&u&&u.trim().length>0&&e.text?(t=e.text)==null?void 0:t.toString().toLowerCase().includes(u.toLowerCase()):!0}).map(({value:e,text:t},n)=>l.jsxs(s.Dropdown.Item,{className:D?"dropdown-item-single-column":"",children:[a===C&&l.jsx(s.Radio,{checked:(m===!1&&f!==null?f[0]:o)==e,onChange:r=>{O(r,e)},label:t}),a===k&&l.jsx(s.Checkbox,{checked:S&&S.some(r=>w(r)===w(e)),onChange:()=>O(null,e),label:t})]},n))}),m===!1&&l.jsx(s.Segment,{children:l.jsx(s.Dropdown.Item,{children:l.jsx(s.Label,{basic:!0,onClick:()=>{const e=a===C?f!==null?f[0]:o:f!==null?f:L;i&&i({},e),b(null),d.current&&d.current.close()},children:"Apply"})})})]})})};exports.default=ee;
|
|
@@ -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 h=require("react/jsx-runtime"),i=require("react"),ce=require("semantic-ui-react"),s=require("../../utils/data.js"),ue=require("../../redux/hooks.js"),ye=require("react-redux"),de=require("./CategoricalFilter.js"),pe=require("./YearFilter.js"),R=require("react-intl"),Fe=q=>{const{"data-alphabetical-sort":v,"data-asc-order":M,"data-group":c,"data-placeholder":C,"data-all-label":T,"data-none-label":B,"data-use-single-column":j,"data-enable-text-search":D,"data-filter-type":p,"data-show-no-data-option":P,"data-close-on-select":z,"data-all-none-same-behaviour":J,"data-auto-apply":K,"data-taxonomy":u,"data-categories":F="[]","data-is-country-filter":U,"data-is-year-filter":k,"data-type":$,"data-sort-first-by":b,"data-default-values":G="[]","data-wordpress-source-type":me,"data-wordpress-source":O,editing:x=!1}=q,d=ue.useAppDispatch(),{locale:H}=R.useIntl(),t=ye.useSelector(e=>e.getIn(["data","posts",c]))||{},a=p==="multi-select",[N,fe]=i.useState(0),V=e=>x?e:decodeURIComponent(e),A=e=>{try{return JSON.parse(V(e))}catch(o){return console.warn("JSON parsing failed for value:",e,"- treating as plain string. Error:",o),V(e)}};let l=A(G);l||(l=[]),typeof l=="string"&&(l=l.split(",").map(Number)),typeof l=="number"&&(l=[l]);const Q=s.toBoolean(v),W=s.toBoolean(M),I=s.toBoolean(P),_=s.toBoolean(z),w=s.toBoolean(J),Y=s.toBoolean(K),r=s.toBoolean(U),n=s.toBoolean(k),E=s.toBoolean(j),L=s.toBoolean(D),g=b!=="none"?s.toNumber(b):null,[y,X]=i.useState([]),[m,Z]=i.useState(!1),S=(e,o)=>o?Array.isArray(e)?e:e!=null?[e]:[]:e||void 0,ee=i.useMemo(()=>S(t.countryFilter,a),[t.countryFilter,a]),te=i.useMemo(()=>S(t.categoryFilter,a),[t.categoryFilter,a]),re=i.useMemo(()=>n?S(t.yearFilter,a):void 0,[t.yearFilter,a,n]),f=i.useMemo(()=>{if(!F)return[];const e=A(F);return Array.isArray(e)?e:typeof e=="string"?e.split(",").filter(Boolean):[]},[F,x]),oe=e=>{d({type:"SET_POSTS_FILTER",group:c,...t,isYearFilter:n,yearFilter:n?e:null,isCountryFilter:r,categoryFilter:t.categoryFilter,countryFilter:t.countryFilter,sortFirstBy:g})},ae=e=>{d({type:"SET_POSTS_FILTER",group:c,...t,categoryFilter:r?t.categoryFilter:e,countryFilter:r?e:t.countryFilter,isYearFilter:t.isYearFilter,yearFilter:t.yearFilter,isCountryFilter:t.isCountryFilter,sortFirstBy:r?g:t.sortFirstBy,countryCategory:r?u:t.countryCategory,categoryCategory:r?t.categoryCategory:e,categoryTaxonomy:r?t.categoryTaxonomy:u,countryTaxonomy:r?u:t.countryTaxonomy})};return i.useEffect(()=>{const e=l.length>0,o=a?l:l[0],le=r?t.categoryFilter:e?o:a?f.map(Number):t.categoryFilter,ne=r?e?o:a?f.map(Number):t.countryFilter:t.countryFilter,se=n&&a?y.length>0?y.map(ie=>ie.value):[]:t.yearFilter;d({type:"SET_INITIAL_POSTS_FILTER",group:c,categoryFilter:le,countryFilter:ne,isYearFilter:n,isCountryFilter:r,sortFirstBy:g,yearFilter:n?se:null,categoryCategory:r?null:t.categoryCategory,categoryTaxonomy:r?null:u,countryCategory:r?u:null,countryTaxonomy:r?u:null,page:1})},[]),i.useEffect(()=>{if(n&&!m&&a&&y.length>0){const e=y.map(o=>o.value);d({type:"SET_INITIAL_POSTS_FILTER",group:c,isYearFilter:n,yearFilter:e})}},[m]),h.jsxs(ce.Container,{fluid:!0,className:"filter post-filter",children:[n&&h.jsx(pe.default,{group:c,placeholder:C,allLabel:T,noneLabel:B,useSingleColumn:E,enableTextSearch:L,filterType:p,showNoDataOption:I,closeOnSelect:_,allNoneSameBehaviour:w,autoApply:Y,alphabeticalSort:Q,ascOrder:W,options:y,value:re,yearOptions:y,setYearOptions:X,yearFilterLoading:m,setYearFilterLoading:Z,onChange:(e,o)=>{oe(o)},resetKey:N,wpApiBase:O??void 0}),!n&&h.jsx(de.default,{group:c,placeholder:C,allLabel:T,noneLabel:B,useSingleColumn:E,enableTextSearch:L,filterType:p,showNoDataOption:I,closeOnSelect:_,allNoneSameBehaviour:w,autoApply:Y,taxonomy:u,type:$,value:r?ee:te,onChange:(e,o)=>{ae(o)},categories:f,resetKey:N,wpApiBase:O??void 0,locale:H},`cat-${c}`)]})},ge=R.injectIntl(i.memo(Fe));exports.default=ge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const A=require("./data-api.js"),J=require("immutable"),V=require("papaparse");function H(r){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const s in r)if(s!=="default"){const e=Object.getOwnPropertyDescriptor(r,s);Object.defineProperty(a,s,e.get?e:{enumerable:!0,get:()=>r[s]})}}return a.default=r,Object.freeze(a)}const d=H(J),O="LOAD_DATA",m="LOAD_DATA_DONE",F="LOAD_DATA_ERROR",D="LOAD_CATEGORIES",R="LOAD_CATEGORIES_DONE",L="LOAD_CATEGORIES_ERROR",P="SET_PAGE_MODULE_PROPS",h="RELOAD_CHILD_FILTER_ITEMS",N="SET_FILTER",Y="SET_FILTERS",C="SET_INITIAL_FILTER",M="SET_APPLY",w="CLEAN_FILTER",b="UNSET_FILTER",B=d.Map({mode:"info"}),v="SET_MEASURES",U="CLEAN_MEASURES",K="SET_POSTS_PAGINATION",Q="SET_POSTS_FILTER",G="SET_INITIAL_POSTS_FILTER",W=({app:r,group:a})=>(s,e)=>{s({type:U,app:r,group:a})},X=({app:r,group:a,mGroup:s})=>(e,t)=>{const l=Object.keys(s.measures).filter(o=>s.measures[o].selected),n={...s};n[r]={measures:{}},l.forEach(o=>{n[r].measures[o]={...s.measures[o]}}),n[r].format=s.format,e({type:v,app:r,group:a,measure:n})},Z=({app:r,type:a,group:s,param:e,autoApply:t,params:l,parentParam:n,parentType:o,parentSelectedItems:i,uniqueStorage:I,dvzProxyDatasetId:p})=>(g,u)=>{const f={...l};f[n]=i,A.getCategory({app:r,params:f,type:a}).then(E=>{g({type:h,filterType:a,parentType:o,param:e,app:r,group:s,data:E,uniqueStorage:I,dvzProxyDatasetId:p,autoApply:t})})},$=r=>(a,s)=>{const{app:e,group:t,param:l,value:n,autoApply:o,parent:i}=r;console.log("set filters"),a({type:N,app:e,group:t,param:l,value:n,autoApply:o,parent:i})},k=({app:r,group:a})=>(s,e)=>{s({type:w,app:r,group:a})},ee=({app:r,group:a,param:s,parent:e})=>(t,l)=>{t({type:b,app:r,group:a,param:s,parent:e})},te=({app:r,group:a})=>(s,e)=>{s({type:M,app:r,group:a})},se=({app:r,group:a,param:s,value:e})=>(t,l)=>{t({type:C,app:r,group:a,param:s,value:e})},re=r=>(a,s)=>{const{app:e,params:t,dvzProxyDatasetId:l,uniqueStorage:n}=r;a({type:D,params:t,app:e,uniqueStorage:n,dvzProxyDatasetId:l}),A.getCategories({app:e,params:t}).then(o=>(o.appliedFilters=t,a({type:R,app:e,data:o,uniqueStorage:n,dvzProxyDatasetId:l}))).catch(o=>a({type:L,app:e,uniqueStorage:n,error:o,dvzProxyDatasetId:l}))},ne=({app:r,group:a,csv:s,store:e,params:t})=>(l,n)=>{const o=n().get("data").getIn(["filters",r,a]);o?t={...t,...o.toJS()}:t=t||{};const i=V.parse(s,{header:!0,dynamicTyping:!0}),I=i.data.filter(g=>{let u=!1;return Object.keys(t).forEach(f=>{const E=t[f];if(g[f]){const S=g[f].toString().trim().toLowerCase();u=E.filter(_=>_&&_.toString().trim().toLowerCase()==S).length==0}}),!u}),p={...i,data:I,appliedFilters:t};l({type:m,app:r,group:a,store:e,data:{count:p.data.length,itemsSize:p.data.length,...p}})},ae=r=>(a,s)=>{const{app:e,group:t,source:l,store:n,params:o,parent:i}=r;let I=s().get("data").getIn(["filters",e,t]);i&&o&&Object.keys(o).forEach(u=>{if(I&&I.has(u)){let f=o[u],S=I.get(u).filter(_=>f.indexOf(_)>-1);I=I.set(u,S)}});let p={...o};I&&(p={...p,...I.toJS()}),a({type:O,app:e,group:t,params:p,store:n}),A.getData({app:e,source:l,params:p}).then(g=>(g.appliedFilters=p,a({type:m,app:e,group:t,store:n,data:g,params:p}))).catch(g=>a({type:F,app:e,group:t,store:n,error:g}))},le=({data:r})=>(a,s)=>{a({type:P,data:r})},oe=(r=B,a)=>{switch(a.type){case O:{const{store:s,app:e,group:t,params:l}=a,n=Date.now();return r.deleteIn([...s,"error"]).setIn([...s,"loading"],!0).setIn([...s,"time"],n).setIn([...s,"presetFilter"],l)}case F:{const{error:s,store:e,app:t,group:l}=a;return r.setIn([...e,"loading"],!1).setIn([...e,"error"],s).setIn(["filters-settings",t,l,"apply"],null)}case m:{const{data:s,app:e,group:t,store:l}=a;return r.setIn([...l,"loading"],!1).deleteIn([...l,"error"]).setIn([...l,"data"],s).setIn(["filters-settings",e,t,"apply"],null)}case P:{const{data:s}=a;return r.setIn(["pageModuleProps"],s)}case D:{const{data:s,app:e,uniqueStorage:t,dvzProxyDatasetId:l}=a,n=["categories",e];return t&&n.push(t),l&&n.push(l),r.setIn([...n,"loading"],!0).deleteIn([...n,"error"])}case R:{const{data:s,app:e,uniqueStorage:t,dvzProxyDatasetId:l}=a,n=["categories",e];return l&&n.push(l),t&&n.push(t),r.setIn([...n,"loading"],!1).setIn([...n,"items"],d.fromJS(s))}case L:{const{data:s,app:e,uniqueStorage:t,dvzProxyDatasetId:l}=a,n=["categories",e];return t&&n.push(t),l&&n.push(l),r.setIn([...n,"loading"],!1).setIn([...n,"error"],s)}case M:{const{app:s,group:e}=a;return r.setIn(["filters-settings",s,e,"apply"],new Date().getTime())}case N:{const s=Date.now(),{app:e,group:t,param:l,value:n,autoApply:o,parent:i}=a;return r.setIn(["filters-settings",e,t,"autoApply"],o).setIn(["filters",e,t,l],n.length===0?[Number.MIN_SAFE_INTEGER]:n).setIn(["filters-settings",e,t,"apply"],null).setIn(["filters-settings",e,t,"lastUserFilterChange"],s).setIn(["filters-settings",e,t,"parent"],i||null)}case Y:{const s=Date.now(),{app:e,group:t,filters:l,autoApply:n}=a;return r.setIn(["filters-settings",e,t,"autoApply"],n).setIn(["filters",e,t,param],value.length===0?[Number.MIN_SAFE_INTEGER]:value).setIn(["filters-settings",e,t,"apply"],null).setIn(["filters-settings",e,t,"lastUserFilterChange"],s)}case h:{const{data:s,app:e,group:t,param:l,uniqueStorage:n,dvzProxyDatasetId:o,filterType:i,parentType:I,autoApply:p}=a,g=Date.now(),u=["categories",e];o&&u.push(o),n&&u.push(n);const f=s.filter(c=>c.type==i),S=r.getIn([...u,"items"]).filter(c=>c.get("type")==i).get(0).get("items").map(c=>c.value),x=r.getIn([...u,"items"]).filter(c=>c.get("type")!=i).push(d.Map(f[0])),j=r.getIn(["filters",e,t,l]),y=s[0].items.map(c=>c.value),q=j.filter(c=>y.indexOf(c)>-1),z=y.filter(c=>S.indexOf(c)==-1),T=Array.from(new Set([...q,...z]));return r.setIn([...u,"items"],x).setIn(["filters",e,t,l],Array.from(T)).setIn(["filters-settings",e,t,"autoApply"],p).setIn(["filters",e,t,l],T.length===0?[Number.MIN_SAFE_INTEGER]:T).setIn(["filters-settings",e,t,"apply"],null).setIn(["filters-settings",e,t,"lastUserFilterChange"],g)}case C:{const s=Date.now(),{app:e,group:t,param:l,value:n}=a;return r.setIn(["filters","initial",e,t,l],n.length===0?[Number.MIN_SAFE_INTEGER]:n).setIn(["filters",e,t,l],n.length===0?[Number.MIN_SAFE_INTEGER]:n).setIn(["filters-settings",e,t,"lastInitialFilterChange"],s).setIn(["filters-settings",e,t,"lastUserFilterChange"],s)}case b:{const s=Date.now(),{app:e,group:t,param:l,parent:n}=a;return r.deleteIn(["filters",e,t,l]).setIn(["filters-settings",e,t,"lastUserFilterChange"],s).setIn(["filters-settings",e,t,"parent"],n||null)}case w:{const{app:s,group:e}=a,t=r.getIn(["filters","initial",s,e]);return r.setIn(["filters",s,e],t)}case v:{const{app:s,group:e,measure:t}=a;return r.setIn(["measures",s,e],t)}case U:{const{app:s,group:e,measure:t}=a;return r.deleteIn(["measures",s,e])}case K:{const{group:s,totalPages:e,totalItems:t}=a;return r.setIn(["postsPagination",s],{totalPages:e,totalItems:t})}case Q:{const{type:s,group:e,...t}=a;return r.setIn(["posts",e],t)}case G:{const{type:s,group:e,...t}=a,n={...r.getIn(["posts",e])||{}};return Object.keys(t).forEach(o=>{const i=t[o];i!=null?n[o]=i:o in n||(n[o]=i)}),r.setIn(["posts",e],n).setIn(["posts","initialFilters",e],n)}default:return r}},ie=({group:r,dispatch:a,initialFilters:s})=>{a({type:G,group:r,...s,reset:!0,page:1})};exports.applyFilter=te;exports.cleanFilter=k;exports.cleanMeasures=W;exports.clearPostsFilter=ie;exports.default=oe;exports.getCategories=re;exports.getData=ae;exports.loadFilterItems=Z;exports.setData=ne;exports.setFilter=$;exports.setInitialFilters=se;exports.setMeasures=X;exports.setPageModuleProps=le;exports.unsetFilter=ee;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const A=require("./data-api.js"),J=require("immutable"),V=require("papaparse");function H(r){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const s in r)if(s!=="default"){const e=Object.getOwnPropertyDescriptor(r,s);Object.defineProperty(a,s,e.get?e:{enumerable:!0,get:()=>r[s]})}}return a.default=r,Object.freeze(a)}const d=H(J),O="LOAD_DATA",m="LOAD_DATA_DONE",F="LOAD_DATA_ERROR",D="LOAD_CATEGORIES",R="LOAD_CATEGORIES_DONE",L="LOAD_CATEGORIES_ERROR",P="SET_PAGE_MODULE_PROPS",h="RELOAD_CHILD_FILTER_ITEMS",N="SET_FILTER",Y="SET_FILTERS",C="SET_INITIAL_FILTER",M="SET_APPLY",w="CLEAN_FILTER",b="UNSET_FILTER",B=d.Map({mode:"info"}),v="SET_MEASURES",U="CLEAN_MEASURES",K="SET_POSTS_PAGINATION",Q="SET_POSTS_FILTER",G="SET_INITIAL_POSTS_FILTER",W=({app:r,group:a})=>(s,e)=>{s({type:U,app:r,group:a})},X=({app:r,group:a,mGroup:s})=>(e,t)=>{const l=Object.keys(s.measures).filter(o=>s.measures[o].selected),n={...s};n[r]={measures:{}},l.forEach(o=>{n[r].measures[o]={...s.measures[o]}}),n[r].format=s.format,e({type:v,app:r,group:a,measure:n})},Z=({app:r,type:a,group:s,param:e,autoApply:t,params:l,parentParam:n,parentType:o,parentSelectedItems:i,uniqueStorage:I,dvzProxyDatasetId:p})=>(g,u)=>{const f={...l};f[n]=i,A.getCategory({app:r,params:f,type:a}).then(E=>{g({type:h,filterType:a,parentType:o,param:e,app:r,group:s,data:E,uniqueStorage:I,dvzProxyDatasetId:p,autoApply:t})})},$=r=>(a,s)=>{const{app:e,group:t,param:l,value:n,autoApply:o,parent:i}=r;console.log("set filters"),a({type:N,app:e,group:t,param:l,value:n,autoApply:o,parent:i})},k=({app:r,group:a})=>(s,e)=>{s({type:w,app:r,group:a})},ee=({app:r,group:a,param:s,parent:e})=>(t,l)=>{t({type:b,app:r,group:a,param:s,parent:e})},te=({app:r,group:a})=>(s,e)=>{s({type:M,app:r,group:a})},se=({app:r,group:a,param:s,value:e})=>(t,l)=>{t({type:C,app:r,group:a,param:s,value:e})},re=r=>(a,s)=>{const{app:e,params:t,dvzProxyDatasetId:l,uniqueStorage:n}=r;a({type:D,params:t,app:e,uniqueStorage:n,dvzProxyDatasetId:l}),A.getCategories({app:e,params:t}).then(o=>(o.appliedFilters=t,a({type:R,app:e,data:o,uniqueStorage:n,dvzProxyDatasetId:l}))).catch(o=>a({type:L,app:e,uniqueStorage:n,error:o,dvzProxyDatasetId:l}))},ne=({app:r,group:a,csv:s,store:e,params:t})=>(l,n)=>{const o=n().get("data").getIn(["filters",r,a]);o?t={...t,...o.toJS()}:t=t||{};const i=V.parse(s,{header:!0,dynamicTyping:!0}),I=i.data.filter(g=>{let u=!1;return Object.keys(t).forEach(f=>{const E=t[f];if(g[f]){const S=g[f].toString().trim().toLowerCase();u=E.filter(_=>_&&_.toString().trim().toLowerCase()==S).length==0}}),!u}),p={...i,data:I,appliedFilters:t};l({type:m,app:r,group:a,store:e,data:{count:p.data.length,itemsSize:p.data.length,...p}})},ae=r=>(a,s)=>{const{app:e,group:t,source:l,store:n,params:o,parent:i}=r;let I=s().get("data").getIn(["filters",e,t]);i&&o&&Object.keys(o).forEach(u=>{if(I&&I.has(u)){let f=o[u],S=I.get(u).filter(_=>f.indexOf(_)>-1);I=I.set(u,S)}});let p={...o};I&&(p={...p,...I.toJS()}),a({type:O,app:e,group:t,params:p,store:n}),A.getData({app:e,source:l,params:p}).then(g=>(g.appliedFilters=p,a({type:m,app:e,group:t,store:n,data:g,params:p}))).catch(g=>a({type:F,app:e,group:t,store:n,error:g}))},le=({data:r})=>(a,s)=>{a({type:P,data:r})},oe=(r=B,a)=>{switch(a.type){case O:{const{store:s,app:e,group:t,params:l}=a,n=Date.now();return r.deleteIn([...s,"error"]).setIn([...s,"loading"],!0).setIn([...s,"time"],n).setIn([...s,"presetFilter"],l)}case F:{const{error:s,store:e,app:t,group:l}=a;return r.setIn([...e,"loading"],!1).setIn([...e,"error"],s).setIn(["filters-settings",t,l,"apply"],null)}case m:{const{data:s,app:e,group:t,store:l}=a;return r.setIn([...l,"loading"],!1).deleteIn([...l,"error"]).setIn([...l,"data"],s).setIn(["filters-settings",e,t,"apply"],null)}case P:{const{data:s}=a;return r.setIn(["pageModuleProps"],s)}case D:{const{data:s,app:e,uniqueStorage:t,dvzProxyDatasetId:l}=a,n=["categories",e];return t&&n.push(t),l&&n.push(l),r.setIn([...n,"loading"],!0).deleteIn([...n,"error"])}case R:{const{data:s,app:e,uniqueStorage:t,dvzProxyDatasetId:l}=a,n=["categories",e];return l&&n.push(l),t&&n.push(t),r.setIn([...n,"loading"],!1).setIn([...n,"items"],d.fromJS(s))}case L:{const{data:s,app:e,uniqueStorage:t,dvzProxyDatasetId:l}=a,n=["categories",e];return t&&n.push(t),l&&n.push(l),r.setIn([...n,"loading"],!1).setIn([...n,"error"],s)}case M:{const{app:s,group:e}=a;return r.setIn(["filters-settings",s,e,"apply"],new Date().getTime())}case N:{const s=Date.now(),{app:e,group:t,param:l,value:n,autoApply:o,parent:i}=a;return r.setIn(["filters-settings",e,t,"autoApply"],o).setIn(["filters",e,t,l],n.length===0?[Number.MIN_SAFE_INTEGER]:n).setIn(["filters-settings",e,t,"apply"],null).setIn(["filters-settings",e,t,"lastUserFilterChange"],s).setIn(["filters-settings",e,t,"parent"],i||null)}case Y:{const s=Date.now(),{app:e,group:t,filters:l,autoApply:n}=a;return r.setIn(["filters-settings",e,t,"autoApply"],n).setIn(["filters",e,t,param],value.length===0?[Number.MIN_SAFE_INTEGER]:value).setIn(["filters-settings",e,t,"apply"],null).setIn(["filters-settings",e,t,"lastUserFilterChange"],s)}case h:{const{data:s,app:e,group:t,param:l,uniqueStorage:n,dvzProxyDatasetId:o,filterType:i,parentType:I,autoApply:p}=a,g=Date.now(),u=["categories",e];o&&u.push(o),n&&u.push(n);const f=s.filter(c=>c.type==i),S=r.getIn([...u,"items"]).filter(c=>c.get("type")==i).get(0).get("items").map(c=>c.value),x=r.getIn([...u,"items"]).filter(c=>c.get("type")!=i).push(d.Map(f[0])),j=r.getIn(["filters",e,t,l]),y=s[0].items.map(c=>c.value),q=j.filter(c=>y.indexOf(c)>-1),z=y.filter(c=>S.indexOf(c)==-1),T=Array.from(new Set([...q,...z]));return r.setIn([...u,"items"],x).setIn(["filters",e,t,l],Array.from(T)).setIn(["filters-settings",e,t,"autoApply"],p).setIn(["filters",e,t,l],T.length===0?[Number.MIN_SAFE_INTEGER]:T).setIn(["filters-settings",e,t,"apply"],null).setIn(["filters-settings",e,t,"lastUserFilterChange"],g)}case C:{const s=Date.now(),{app:e,group:t,param:l,value:n}=a;return r.setIn(["filters","initial",e,t,l],n.length===0?[Number.MIN_SAFE_INTEGER]:n).setIn(["filters",e,t,l],n.length===0?[Number.MIN_SAFE_INTEGER]:n).setIn(["filters-settings",e,t,"lastInitialFilterChange"],s).setIn(["filters-settings",e,t,"lastUserFilterChange"],s)}case b:{const s=Date.now(),{app:e,group:t,param:l,parent:n}=a;return r.deleteIn(["filters",e,t,l]).setIn(["filters-settings",e,t,"lastUserFilterChange"],s).setIn(["filters-settings",e,t,"parent"],n||null)}case w:{const{app:s,group:e}=a,t=r.getIn(["filters","initial",s,e]);return r.setIn(["filters",s,e],t)}case v:{const{app:s,group:e,measure:t}=a;return r.setIn(["measures",s,e],t)}case U:{const{app:s,group:e,measure:t}=a;return r.deleteIn(["measures",s,e])}case K:{const{group:s,totalPages:e,totalItems:t}=a;return r.setIn(["postsPagination",s],{totalPages:e,totalItems:t})}case Q:{const{type:s,group:e,...t}=a;return r.setIn(["posts",e],t)}case G:{const{type:s,group:e,...t}=a;if(t.reset){const{reset:o,...i}=t;return r.setIn(["posts",e],i).setIn(["posts","initialFilters",e],r.getIn(["posts","initialFilters",e]))}const n={...r.getIn(["posts",e])||{}};return Object.keys(t).forEach(o=>{const i=t[o];i!=null?n[o]=i:o in n||(n[o]=i)}),r.setIn(["posts",e],n).setIn(["posts","initialFilters",e],n)}default:return r}},ie=({group:r,dispatch:a,initialFilters:s})=>{a({type:G,group:r,...s,reset:!0,page:1})};exports.applyFilter=te;exports.cleanFilter=k;exports.cleanMeasures=W;exports.clearPostsFilter=ie;exports.default=oe;exports.getCategories=re;exports.getData=ae;exports.loadFilterItems=Z;exports.setData=ne;exports.setFilter=$;exports.setInitialFilters=se;exports.setMeasures=X;exports.setPageModuleProps=le;exports.unsetFilter=ee;
|
|
@@ -1,45 +1,56 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as d, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect as f } from "react";
|
|
3
|
-
import { Container as
|
|
3
|
+
import { Container as l } from "semantic-ui-react";
|
|
4
4
|
import { setMeasures as h, cleanMeasures as g } from "../reducers/data.js";
|
|
5
5
|
import { useAppDispatch as x, useAppSelector as C } from "../../redux/hooks.js";
|
|
6
6
|
const E = (m) => {
|
|
7
7
|
const {
|
|
8
|
-
parent:
|
|
9
|
-
editing:
|
|
10
|
-
unique:
|
|
11
|
-
"data-label":
|
|
8
|
+
parent: y,
|
|
9
|
+
editing: N = !1,
|
|
10
|
+
unique: S,
|
|
11
|
+
"data-label": n,
|
|
12
12
|
"data-group": p,
|
|
13
|
-
"data-app":
|
|
14
|
-
"data-measures-groups":
|
|
13
|
+
"data-app": t,
|
|
14
|
+
"data-measures-groups": o
|
|
15
15
|
} = m;
|
|
16
|
-
let
|
|
17
|
-
const i = x(), u = C((
|
|
16
|
+
let s;
|
|
17
|
+
const i = x(), u = C((e) => e.getIn(["data", "measures", t, p])), c = {
|
|
18
18
|
onReset: g,
|
|
19
19
|
onChange: h
|
|
20
20
|
};
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
if (o instanceof String || typeof o == "string") {
|
|
22
|
+
const e = o;
|
|
23
|
+
let a;
|
|
24
|
+
try {
|
|
25
|
+
a = decodeURIComponent(e);
|
|
26
|
+
} catch {
|
|
27
|
+
a = e;
|
|
28
|
+
}
|
|
29
|
+
s = JSON.parse(a);
|
|
30
|
+
} else
|
|
31
|
+
s = o;
|
|
32
|
+
if (f(() => {
|
|
33
|
+
s && s[t] && s[t].forEach((e) => {
|
|
34
|
+
e.defaultSelected && i(c.onChange({ app: t, group: p, mGroup: e }));
|
|
24
35
|
});
|
|
25
|
-
}, []),
|
|
26
|
-
const
|
|
27
|
-
return /* @__PURE__ */
|
|
28
|
-
|
|
29
|
-
|
|
36
|
+
}, []), s && s[t]) {
|
|
37
|
+
const e = s[t];
|
|
38
|
+
return /* @__PURE__ */ d(l, { className: "measures group", fluid: !0, children: [
|
|
39
|
+
n && /* @__PURE__ */ r("span", { children: n }),
|
|
40
|
+
e.map((a) => /* @__PURE__ */ d("div", { className: "inputs lists", onClick: (b) => i(c.onChange({ app: t, group: p, mGroup: a })), children: [
|
|
30
41
|
/* @__PURE__ */ r(
|
|
31
42
|
"input",
|
|
32
43
|
{
|
|
33
44
|
readOnly: !0,
|
|
34
|
-
checked: !!(u && u.idx ==
|
|
45
|
+
checked: !!(u && u.idx == a.idx),
|
|
35
46
|
type: "radio"
|
|
36
47
|
}
|
|
37
48
|
),
|
|
38
|
-
/* @__PURE__ */ r("span", { children:
|
|
39
|
-
] },
|
|
49
|
+
/* @__PURE__ */ r("span", { children: a.label })
|
|
50
|
+
] }, a.idx))
|
|
40
51
|
] });
|
|
41
52
|
} else
|
|
42
|
-
return /* @__PURE__ */ r(
|
|
53
|
+
return /* @__PURE__ */ r(l, { className: "measures group", fluid: !0, children: n && /* @__PURE__ */ r("span", { children: n }) });
|
|
43
54
|
};
|
|
44
55
|
export {
|
|
45
56
|
E as default
|
|
@@ -1,207 +1,203 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { Dropdown as
|
|
4
|
-
const
|
|
1
|
+
import { jsx as r, jsxs as x, Fragment as H } from "react/jsx-runtime";
|
|
2
|
+
import { useState as J, useMemo as Q, useRef as $, useEffect as D } from "react";
|
|
3
|
+
import { Dropdown as E, Segment as W, Label as G, Container as X, Icon as ce, Divider as ae, Radio as ue, Checkbox as fe } from "semantic-ui-react";
|
|
4
|
+
const j = "multi-select", S = "single-select", V = Number.MIN_SAFE_INTEGER, y = (v) => v == null ? null : String(v), pe = (v) => {
|
|
5
5
|
const {
|
|
6
|
-
allLabel:
|
|
7
|
-
noneLabel:
|
|
8
|
-
placeholder:
|
|
9
|
-
options:
|
|
6
|
+
allLabel: Z,
|
|
7
|
+
noneLabel: ee,
|
|
8
|
+
placeholder: I,
|
|
9
|
+
options: d,
|
|
10
10
|
// group,
|
|
11
|
-
current:
|
|
11
|
+
current: _,
|
|
12
12
|
onChange: i,
|
|
13
|
-
useSingleColumn:
|
|
14
|
-
enableTextSearch:
|
|
13
|
+
useSingleColumn: B,
|
|
14
|
+
enableTextSearch: T,
|
|
15
15
|
filterType: c,
|
|
16
16
|
// defaultValues,
|
|
17
17
|
// showNoDataOption,
|
|
18
18
|
// defaultValueCriteria,
|
|
19
|
-
allNoneSameBehaviour:
|
|
20
|
-
hiddenFilters:
|
|
21
|
-
|
|
19
|
+
allNoneSameBehaviour: K,
|
|
20
|
+
hiddenFilters: C,
|
|
21
|
+
autoApply: h,
|
|
22
22
|
// taxonomy,
|
|
23
23
|
// type,
|
|
24
|
-
value:
|
|
25
|
-
closeOnSelect:
|
|
26
|
-
noneFunction:
|
|
27
|
-
alphabeticalSort:
|
|
28
|
-
ascOrder:
|
|
29
|
-
...
|
|
30
|
-
} =
|
|
31
|
-
if (
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
24
|
+
value: s,
|
|
25
|
+
closeOnSelect: L = !0,
|
|
26
|
+
noneFunction: O,
|
|
27
|
+
alphabeticalSort: U,
|
|
28
|
+
ascOrder: k,
|
|
29
|
+
...te
|
|
30
|
+
} = v, m = c === j, w = Array.isArray(s) ? s : _ || [], N = (Array.isArray(w) ? w.some((e) => e === V) : !1) ? w.filter((e) => e !== V) : w, [a, ne] = J(""), [u, b] = J(null), p = h === !1 && u !== null ? u : N, o = Q(() => {
|
|
31
|
+
if (!d) return [];
|
|
32
|
+
const e = [...d];
|
|
33
|
+
return U ? e.sort((t, n) => {
|
|
34
|
+
const l = t.text ? String(t.text).toLowerCase() : "", g = n.text ? String(n.text).toLowerCase() : "";
|
|
35
|
+
return k ? l < g ? -1 : l > g ? 1 : 0 : l < g ? 1 : l > g ? -1 : 0;
|
|
36
|
+
}) : e.sort((t, n) => {
|
|
37
|
+
const l = t.position !== void 0 ? t.position : 0, g = n.position !== void 0 ? n.position : 0;
|
|
38
|
+
return k ? l - g : g - l;
|
|
39
|
+
}), e;
|
|
40
|
+
}, [d, U, k]), Y = (e, t) => {
|
|
41
|
+
if (c === j) {
|
|
42
|
+
const n = y(t), l = Array.isArray(p) ? [...p] : [];
|
|
43
|
+
let A = l.some((M) => y(M) === n) ? l.filter((M) => y(M) !== n) : [...l, t];
|
|
44
|
+
!K && A.length === 0 && (A = [V]), h === !1 ? b(A) : i && i(e, A), L && f.current && f.current.close();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (c === S) {
|
|
48
|
+
h === !1 ? b([t]) : i && i(e, t), L && f.current && f.current.close();
|
|
49
|
+
return;
|
|
35
50
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const e = (n || []).filter((t) => {
|
|
41
|
-
var r;
|
|
42
|
-
return C && a && a.trim().length > 0 && t.text ? (r = t.text) == null ? void 0 : r.toString().toLowerCase().includes(a.toLowerCase()) : !0;
|
|
51
|
+
}, le = () => {
|
|
52
|
+
const e = (o || []).filter((t) => {
|
|
53
|
+
var n;
|
|
54
|
+
return T && a && a.trim().length > 0 && t.text ? (n = t.text) == null ? void 0 : n.toString().toLowerCase().includes(a.toLowerCase()) : !0;
|
|
43
55
|
}).map((t) => t.value);
|
|
44
|
-
|
|
45
|
-
},
|
|
46
|
-
if (
|
|
47
|
-
|
|
56
|
+
m && (h === !1 ? b(e) : i && i({}, e)), L && f.current && f.current.close();
|
|
57
|
+
}, re = (e) => {
|
|
58
|
+
if (O) {
|
|
59
|
+
O(e);
|
|
48
60
|
return;
|
|
49
61
|
} else {
|
|
50
|
-
if (!
|
|
51
|
-
const t =
|
|
52
|
-
var
|
|
53
|
-
return
|
|
62
|
+
if (!o) return;
|
|
63
|
+
const t = o.filter((n) => {
|
|
64
|
+
var l;
|
|
65
|
+
return T && a && a.trim().length > 0 && n.text ? (l = n.text) == null ? void 0 : l.toString().toLowerCase().includes(a == null ? void 0 : a.toString().toLowerCase()) : !0;
|
|
54
66
|
});
|
|
55
|
-
if (
|
|
56
|
-
const
|
|
57
|
-
i({},
|
|
67
|
+
if (m) {
|
|
68
|
+
const n = K ? t.map((l) => l.value) : [V];
|
|
69
|
+
h === !1 ? b(n) : i && i({}, n);
|
|
58
70
|
}
|
|
59
|
-
|
|
71
|
+
L && f.current && f.current.close();
|
|
60
72
|
}
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
},
|
|
64
|
-
|
|
65
|
-
if (!(!
|
|
66
|
-
if (!(Array.isArray(
|
|
67
|
-
|
|
68
|
-
const t =
|
|
73
|
+
}, q = (e) => {
|
|
74
|
+
ne(e);
|
|
75
|
+
}, F = $(!1);
|
|
76
|
+
D(() => {
|
|
77
|
+
if (!(!m || F.current) && d && d.length > 0)
|
|
78
|
+
if (!(Array.isArray(N) ? N.length > 0 : !!N) && i) {
|
|
79
|
+
F.current = !0;
|
|
80
|
+
const t = d.map((n) => n.value);
|
|
69
81
|
i({}, t);
|
|
70
82
|
} else
|
|
71
|
-
|
|
72
|
-
}, [
|
|
73
|
-
if (
|
|
74
|
-
const e =
|
|
83
|
+
F.current = !0;
|
|
84
|
+
}, [m, d]), D(() => {
|
|
85
|
+
if (m && d && d.length > 0 && i) {
|
|
86
|
+
const e = d.map((t) => t.value);
|
|
75
87
|
i({}, e);
|
|
76
88
|
}
|
|
77
|
-
}, [
|
|
78
|
-
const
|
|
79
|
-
if (c ==
|
|
80
|
-
const e =
|
|
81
|
-
return
|
|
89
|
+
}, [m]);
|
|
90
|
+
const ie = Q(() => {
|
|
91
|
+
if (c == S) {
|
|
92
|
+
const e = h === !1 && u !== null ? u[0] : s, t = e != null ? o == null ? void 0 : o.filter((n) => n.value == e)[0] : null;
|
|
93
|
+
return t ? `${I ? I + " " : ""}${t.text}` : "";
|
|
82
94
|
} else {
|
|
83
|
-
const e =
|
|
84
|
-
return `${
|
|
95
|
+
const e = p ? p.filter((n) => n == Number.MIN_SAFE_INTEGER ? !1 : C && C.length > 0 ? C.indexOf(n) == -1 : !0).length : 0, t = (o == null ? void 0 : o.filter((n) => C && C.length > 0 ? C.indexOf(n.id) == -1 : !0).length) || 0;
|
|
96
|
+
return `${I} (${e}/${t})`;
|
|
85
97
|
}
|
|
86
|
-
}, [
|
|
87
|
-
|
|
88
|
-
c ===
|
|
89
|
-
}, [c,
|
|
90
|
-
const
|
|
98
|
+
}, [o, p, c, h, u, s]), f = $(null), z = ie, P = typeof z == "string" ? z : "", se = P && P.length > 0 ? P : I || "", R = $(void 0);
|
|
99
|
+
D(() => {
|
|
100
|
+
c === S && R.current === void 0 && s !== void 0 && (R.current = s);
|
|
101
|
+
}, [c, s]);
|
|
102
|
+
const oe = c === S ? s != null && s !== R.current : _ && _.length > 0;
|
|
91
103
|
return (
|
|
92
104
|
// @ts-ignore
|
|
93
|
-
/* @__PURE__ */
|
|
94
|
-
|
|
105
|
+
/* @__PURE__ */ r(
|
|
106
|
+
E,
|
|
95
107
|
{
|
|
96
|
-
...
|
|
108
|
+
...te,
|
|
97
109
|
ref: f,
|
|
98
110
|
fluid: !0,
|
|
99
|
-
text:
|
|
111
|
+
text: se,
|
|
100
112
|
scrolling: !1,
|
|
101
113
|
button: !0,
|
|
102
114
|
icon: "angle down",
|
|
103
|
-
multiple:
|
|
115
|
+
multiple: m,
|
|
104
116
|
search: !0,
|
|
105
117
|
floating: !1,
|
|
106
|
-
value:
|
|
107
|
-
closeOnChange:
|
|
108
|
-
...
|
|
109
|
-
className: `multiple ${
|
|
110
|
-
children: /* @__PURE__ */
|
|
111
|
-
c !=
|
|
112
|
-
/* @__PURE__ */
|
|
113
|
-
/* @__PURE__ */
|
|
118
|
+
value: s,
|
|
119
|
+
closeOnChange: L,
|
|
120
|
+
...m ? { renderLabel: () => null } : {},
|
|
121
|
+
className: `multiple ${oe ? "applied " : ""}`,
|
|
122
|
+
children: /* @__PURE__ */ x(E.Menu, { children: [
|
|
123
|
+
c != S && /* @__PURE__ */ x(H, { children: [
|
|
124
|
+
/* @__PURE__ */ r(W, { children: /* @__PURE__ */ x(E.Item, { children: [
|
|
125
|
+
/* @__PURE__ */ r(G, { basic: !0, onClick: le, children: Z }),
|
|
114
126
|
" ",
|
|
115
127
|
"|",
|
|
116
128
|
" ",
|
|
117
|
-
/* @__PURE__ */
|
|
129
|
+
/* @__PURE__ */ r(G, { basic: !0, onClick: re, children: ee })
|
|
118
130
|
] }) }),
|
|
119
|
-
|
|
120
|
-
/* @__PURE__ */
|
|
121
|
-
/* @__PURE__ */
|
|
131
|
+
T && /* @__PURE__ */ x(H, { children: [
|
|
132
|
+
/* @__PURE__ */ r(X, { children: /* @__PURE__ */ r(E.Item, { children: /* @__PURE__ */ r("div", { className: "ui action input", children: /* @__PURE__ */ x("div", { className: "ui input", children: [
|
|
133
|
+
/* @__PURE__ */ r(
|
|
122
134
|
"input",
|
|
123
135
|
{
|
|
124
136
|
className: "filter-search",
|
|
125
137
|
value: a,
|
|
126
138
|
placeholder: "Search...",
|
|
127
|
-
onChange: (e) =>
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
onKeyDown: (e) => {
|
|
131
|
-
e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
|
|
132
|
-
},
|
|
133
|
-
onKeyUp: (e) => {
|
|
134
|
-
e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
|
|
135
|
-
},
|
|
136
|
-
onKeyPress: (e) => {
|
|
137
|
-
e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
|
|
138
|
-
},
|
|
139
|
-
onMouseDown: (e) => {
|
|
140
|
-
e.stopPropagation();
|
|
141
|
-
},
|
|
142
|
-
onClick: (e) => {
|
|
143
|
-
e.stopPropagation();
|
|
144
|
-
},
|
|
145
|
-
onFocus: (e) => {
|
|
146
|
-
e.stopPropagation();
|
|
147
|
-
},
|
|
139
|
+
onChange: (e) => q(e.target.value),
|
|
140
|
+
onMouseDown: (e) => e.stopPropagation(),
|
|
141
|
+
onClick: (e) => e.stopPropagation(),
|
|
148
142
|
type: "text",
|
|
149
143
|
autoComplete: "off"
|
|
150
144
|
}
|
|
151
145
|
),
|
|
152
|
-
/* @__PURE__ */
|
|
153
|
-
|
|
146
|
+
/* @__PURE__ */ r(
|
|
147
|
+
ce,
|
|
154
148
|
{
|
|
155
149
|
name: "remove",
|
|
156
150
|
link: !0,
|
|
157
151
|
className: "clear-icon ignore",
|
|
158
|
-
onClick: (
|
|
159
|
-
O("");
|
|
160
|
-
}
|
|
152
|
+
onClick: () => q("")
|
|
161
153
|
}
|
|
162
154
|
)
|
|
163
155
|
] }) }) }) }),
|
|
164
|
-
/* @__PURE__ */
|
|
156
|
+
/* @__PURE__ */ r(ae, {})
|
|
165
157
|
] })
|
|
166
158
|
] }),
|
|
167
|
-
/* @__PURE__ */
|
|
168
|
-
/* @__PURE__ */
|
|
159
|
+
/* @__PURE__ */ r("br", {}),
|
|
160
|
+
/* @__PURE__ */ r(X, { className: B ? "dropdown-single-column" : "", children: o == null ? void 0 : o.filter((e) => {
|
|
169
161
|
var t;
|
|
170
|
-
return
|
|
171
|
-
}).map(({ value: e, text: t },
|
|
172
|
-
|
|
162
|
+
return T && a && a.trim().length > 0 && e.text ? (t = e.text) == null ? void 0 : t.toString().toLowerCase().includes(a.toLowerCase()) : !0;
|
|
163
|
+
}).map(({ value: e, text: t }, n) => /* @__PURE__ */ x(
|
|
164
|
+
E.Item,
|
|
173
165
|
{
|
|
174
|
-
className:
|
|
166
|
+
className: B ? "dropdown-item-single-column" : "",
|
|
175
167
|
children: [
|
|
176
|
-
c ===
|
|
177
|
-
|
|
168
|
+
c === S && /* @__PURE__ */ r(
|
|
169
|
+
ue,
|
|
178
170
|
{
|
|
179
|
-
checked:
|
|
180
|
-
onChange: (
|
|
181
|
-
|
|
171
|
+
checked: (h === !1 && u !== null ? u[0] : s) == e,
|
|
172
|
+
onChange: (l) => {
|
|
173
|
+
Y(l, e);
|
|
182
174
|
},
|
|
183
175
|
label: t
|
|
184
176
|
}
|
|
185
177
|
),
|
|
186
|
-
c ===
|
|
187
|
-
|
|
178
|
+
c === j && /* @__PURE__ */ r(
|
|
179
|
+
fe,
|
|
188
180
|
{
|
|
189
|
-
checked:
|
|
190
|
-
(
|
|
181
|
+
checked: p && p.some(
|
|
182
|
+
(l) => y(l) === y(e)
|
|
191
183
|
),
|
|
192
|
-
onChange: () =>
|
|
184
|
+
onChange: () => Y(null, e),
|
|
193
185
|
label: t
|
|
194
186
|
}
|
|
195
187
|
)
|
|
196
188
|
]
|
|
197
189
|
},
|
|
198
|
-
|
|
199
|
-
)) })
|
|
190
|
+
n
|
|
191
|
+
)) }),
|
|
192
|
+
h === !1 && /* @__PURE__ */ r(W, { children: /* @__PURE__ */ r(E.Item, { children: /* @__PURE__ */ r(G, { basic: !0, onClick: () => {
|
|
193
|
+
const e = c === S ? u !== null ? u[0] : s : u !== null ? u : N;
|
|
194
|
+
i && i({}, e), b(null), f.current && f.current.close();
|
|
195
|
+
}, children: "Apply" }) }) })
|
|
200
196
|
] })
|
|
201
197
|
}
|
|
202
198
|
)
|
|
203
199
|
);
|
|
204
200
|
};
|
|
205
201
|
export {
|
|
206
|
-
|
|
202
|
+
pe as default
|
|
207
203
|
};
|
|
@@ -1,175 +1,175 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import { Container as
|
|
4
|
-
import { toBoolean as i, toNumber as
|
|
1
|
+
import { jsxs as ye, jsx as R } from "react/jsx-runtime";
|
|
2
|
+
import ue, { useState as h, useMemo as p, useEffect as v } from "react";
|
|
3
|
+
import { Container as pe } from "semantic-ui-react";
|
|
4
|
+
import { toBoolean as i, toNumber as de } from "../../utils/data.js";
|
|
5
5
|
import { useAppDispatch as Fe } from "../../redux/hooks.js";
|
|
6
|
-
import { useSelector as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { injectIntl as
|
|
10
|
-
const
|
|
6
|
+
import { useSelector as me } from "react-redux";
|
|
7
|
+
import ge from "./CategoricalFilter.js";
|
|
8
|
+
import fe from "./YearFilter.js";
|
|
9
|
+
import { injectIntl as Se, useIntl as he } from "react-intl";
|
|
10
|
+
const Ce = (D) => {
|
|
11
11
|
const {
|
|
12
|
-
"data-alphabetical-sort":
|
|
13
|
-
"data-asc-order":
|
|
12
|
+
"data-alphabetical-sort": P,
|
|
13
|
+
"data-asc-order": z,
|
|
14
14
|
"data-group": s,
|
|
15
15
|
"data-placeholder": C,
|
|
16
16
|
"data-all-label": T,
|
|
17
17
|
"data-none-label": b,
|
|
18
|
-
"data-use-single-column":
|
|
19
|
-
"data-enable-text-search":
|
|
20
|
-
"data-filter-type":
|
|
21
|
-
"data-show-no-data-option":
|
|
22
|
-
"data-close-on-select":
|
|
23
|
-
"data-all-none-same-behaviour":
|
|
24
|
-
"data-auto-apply":
|
|
18
|
+
"data-use-single-column": j,
|
|
19
|
+
"data-enable-text-search": J,
|
|
20
|
+
"data-filter-type": d,
|
|
21
|
+
"data-show-no-data-option": K,
|
|
22
|
+
"data-close-on-select": M,
|
|
23
|
+
"data-all-none-same-behaviour": U,
|
|
24
|
+
"data-auto-apply": $,
|
|
25
25
|
"data-taxonomy": c,
|
|
26
|
-
"data-categories":
|
|
27
|
-
"data-is-country-filter":
|
|
28
|
-
"data-is-year-filter":
|
|
29
|
-
"data-type":
|
|
26
|
+
"data-categories": F = "[]",
|
|
27
|
+
"data-is-country-filter": k,
|
|
28
|
+
"data-is-year-filter": q,
|
|
29
|
+
"data-type": G,
|
|
30
30
|
"data-sort-first-by": O,
|
|
31
|
-
"data-default-values":
|
|
32
|
-
"data-wordpress-source-type":
|
|
31
|
+
"data-default-values": H = "[]",
|
|
32
|
+
"data-wordpress-source-type": Te,
|
|
33
33
|
"data-wordpress-source": x,
|
|
34
|
-
editing:
|
|
35
|
-
} =
|
|
36
|
-
let n = ((t) => {
|
|
34
|
+
editing: N = !1
|
|
35
|
+
} = D, u = Fe(), { locale: Q } = he(), t = me((e) => e.getIn(["data", "posts", s])) || {}, o = d === "multi-select", [V, Oe] = h(0), A = (e) => N ? e : decodeURIComponent(e), B = (e) => {
|
|
37
36
|
try {
|
|
38
|
-
return JSON.parse(
|
|
39
|
-
} catch (
|
|
40
|
-
return console.warn("JSON parsing failed for value:",
|
|
37
|
+
return JSON.parse(A(e));
|
|
38
|
+
} catch (a) {
|
|
39
|
+
return console.warn("JSON parsing failed for value:", e, "- treating as plain string. Error:", a), A(e);
|
|
41
40
|
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
() => f(e.categoryFilter, l),
|
|
49
|
-
[e.categoryFilter, l]
|
|
41
|
+
};
|
|
42
|
+
let l = B(H);
|
|
43
|
+
l || (l = []), typeof l == "string" && (l = l.split(",").map(Number)), typeof l == "number" && (l = [l]);
|
|
44
|
+
const W = i(P), X = i(z), I = i(K), w = i(M), Y = i(U), _ = i($), r = i(k), n = i(q), E = i(j), L = i(J), m = O !== "none" ? de(O) : null, [y, Z] = h([]), [g, ee] = h(!1), f = (e, a) => a ? Array.isArray(e) ? e : e != null ? [e] : [] : e || void 0, te = p(
|
|
45
|
+
() => f(t.countryFilter, o),
|
|
46
|
+
[t.countryFilter, o]
|
|
50
47
|
), re = p(
|
|
51
|
-
() =>
|
|
52
|
-
[
|
|
53
|
-
),
|
|
54
|
-
() =>
|
|
55
|
-
[
|
|
56
|
-
),
|
|
48
|
+
() => f(t.categoryFilter, o),
|
|
49
|
+
[t.categoryFilter, o]
|
|
50
|
+
), ae = p(
|
|
51
|
+
() => n ? f(t.yearFilter, o) : void 0,
|
|
52
|
+
[t.yearFilter, o, n]
|
|
53
|
+
), S = p(() => {
|
|
54
|
+
if (!F) return [];
|
|
55
|
+
const e = B(F);
|
|
56
|
+
return Array.isArray(e) ? e : typeof e == "string" ? e.split(",").filter(Boolean) : [];
|
|
57
|
+
}, [F, N]), oe = (e) => {
|
|
57
58
|
u({
|
|
58
59
|
type: "SET_POSTS_FILTER",
|
|
59
60
|
group: s,
|
|
60
|
-
...
|
|
61
|
-
isYearFilter:
|
|
62
|
-
yearFilter:
|
|
61
|
+
...t,
|
|
62
|
+
isYearFilter: n,
|
|
63
|
+
yearFilter: n ? e : null,
|
|
63
64
|
isCountryFilter: r,
|
|
64
|
-
categoryFilter:
|
|
65
|
-
countryFilter:
|
|
65
|
+
categoryFilter: t.categoryFilter,
|
|
66
|
+
countryFilter: t.countryFilter,
|
|
66
67
|
sortFirstBy: m
|
|
67
68
|
});
|
|
68
|
-
},
|
|
69
|
+
}, le = (e) => {
|
|
69
70
|
u({
|
|
70
71
|
type: "SET_POSTS_FILTER",
|
|
71
72
|
group: s,
|
|
72
|
-
...
|
|
73
|
+
...t,
|
|
73
74
|
// Preserve both filters so they can work together
|
|
74
|
-
categoryFilter: r ?
|
|
75
|
-
countryFilter: r ?
|
|
76
|
-
isYearFilter:
|
|
77
|
-
yearFilter:
|
|
78
|
-
isCountryFilter:
|
|
79
|
-
sortFirstBy: r ? m :
|
|
80
|
-
countryCategory: r ? c :
|
|
81
|
-
categoryCategory: r ?
|
|
82
|
-
categoryTaxonomy: r ?
|
|
83
|
-
countryTaxonomy: r ? c :
|
|
75
|
+
categoryFilter: r ? t.categoryFilter : e,
|
|
76
|
+
countryFilter: r ? e : t.countryFilter,
|
|
77
|
+
isYearFilter: t.isYearFilter,
|
|
78
|
+
yearFilter: t.yearFilter,
|
|
79
|
+
isCountryFilter: t.isCountryFilter,
|
|
80
|
+
sortFirstBy: r ? m : t.sortFirstBy,
|
|
81
|
+
countryCategory: r ? c : t.countryCategory,
|
|
82
|
+
categoryCategory: r ? t.categoryCategory : e,
|
|
83
|
+
categoryTaxonomy: r ? t.categoryTaxonomy : c,
|
|
84
|
+
countryTaxonomy: r ? c : t.countryTaxonomy
|
|
84
85
|
});
|
|
85
86
|
};
|
|
86
|
-
return
|
|
87
|
-
const
|
|
87
|
+
return v(() => {
|
|
88
|
+
const e = l.length > 0, a = o ? l : l[0], ne = r ? t.categoryFilter : e ? a : o ? S.map(Number) : t.categoryFilter, ie = r ? e ? a : o ? S.map(Number) : t.countryFilter : t.countryFilter, se = n && o ? y.length > 0 ? y.map((ce) => ce.value) : [] : t.yearFilter;
|
|
88
89
|
u({
|
|
89
90
|
type: "SET_INITIAL_POSTS_FILTER",
|
|
90
91
|
group: s,
|
|
91
|
-
categoryFilter:
|
|
92
|
-
countryFilter:
|
|
93
|
-
isYearFilter:
|
|
92
|
+
categoryFilter: ne,
|
|
93
|
+
countryFilter: ie,
|
|
94
|
+
isYearFilter: n,
|
|
94
95
|
isCountryFilter: r,
|
|
95
96
|
sortFirstBy: m,
|
|
96
|
-
yearFilter:
|
|
97
|
-
categoryCategory: r ? null :
|
|
97
|
+
yearFilter: n ? se : null,
|
|
98
|
+
categoryCategory: r ? null : t.categoryCategory,
|
|
98
99
|
categoryTaxonomy: r ? null : c,
|
|
99
100
|
countryCategory: r ? c : null,
|
|
100
101
|
countryTaxonomy: r ? c : null,
|
|
101
102
|
page: 1
|
|
102
103
|
});
|
|
103
|
-
}, []),
|
|
104
|
-
if (
|
|
105
|
-
const
|
|
104
|
+
}, []), v(() => {
|
|
105
|
+
if (n && !g && o && y.length > 0) {
|
|
106
|
+
const e = y.map((a) => a.value);
|
|
106
107
|
u({
|
|
107
108
|
type: "SET_INITIAL_POSTS_FILTER",
|
|
108
109
|
group: s,
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
yearFilter: a ? t : null
|
|
110
|
+
isYearFilter: n,
|
|
111
|
+
yearFilter: e
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
|
-
}, [g]), /* @__PURE__ */
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
}, [g]), /* @__PURE__ */ ye(pe, { fluid: !0, className: "filter post-filter", children: [
|
|
115
|
+
n && /* @__PURE__ */ R(
|
|
116
|
+
fe,
|
|
117
117
|
{
|
|
118
118
|
group: s,
|
|
119
119
|
placeholder: C,
|
|
120
120
|
allLabel: T,
|
|
121
121
|
noneLabel: b,
|
|
122
|
-
useSingleColumn:
|
|
123
|
-
enableTextSearch:
|
|
124
|
-
filterType:
|
|
122
|
+
useSingleColumn: E,
|
|
123
|
+
enableTextSearch: L,
|
|
124
|
+
filterType: d,
|
|
125
125
|
showNoDataOption: I,
|
|
126
|
-
closeOnSelect:
|
|
127
|
-
allNoneSameBehaviour:
|
|
128
|
-
autoApply:
|
|
129
|
-
alphabeticalSort:
|
|
130
|
-
ascOrder:
|
|
126
|
+
closeOnSelect: w,
|
|
127
|
+
allNoneSameBehaviour: Y,
|
|
128
|
+
autoApply: _,
|
|
129
|
+
alphabeticalSort: W,
|
|
130
|
+
ascOrder: X,
|
|
131
131
|
options: y,
|
|
132
|
-
value:
|
|
132
|
+
value: ae,
|
|
133
133
|
yearOptions: y,
|
|
134
|
-
setYearOptions:
|
|
134
|
+
setYearOptions: Z,
|
|
135
135
|
yearFilterLoading: g,
|
|
136
|
-
setYearFilterLoading:
|
|
137
|
-
onChange: (
|
|
138
|
-
|
|
136
|
+
setYearFilterLoading: ee,
|
|
137
|
+
onChange: (e, a) => {
|
|
138
|
+
oe(a);
|
|
139
139
|
},
|
|
140
|
-
resetKey:
|
|
140
|
+
resetKey: V,
|
|
141
141
|
wpApiBase: x ?? void 0
|
|
142
142
|
}
|
|
143
143
|
),
|
|
144
|
-
!
|
|
145
|
-
|
|
144
|
+
!n && /* @__PURE__ */ R(
|
|
145
|
+
ge,
|
|
146
146
|
{
|
|
147
147
|
group: s,
|
|
148
148
|
placeholder: C,
|
|
149
149
|
allLabel: T,
|
|
150
150
|
noneLabel: b,
|
|
151
|
-
useSingleColumn:
|
|
152
|
-
enableTextSearch:
|
|
153
|
-
filterType:
|
|
151
|
+
useSingleColumn: E,
|
|
152
|
+
enableTextSearch: L,
|
|
153
|
+
filterType: d,
|
|
154
154
|
showNoDataOption: I,
|
|
155
|
-
closeOnSelect:
|
|
156
|
-
allNoneSameBehaviour:
|
|
157
|
-
autoApply:
|
|
155
|
+
closeOnSelect: w,
|
|
156
|
+
allNoneSameBehaviour: Y,
|
|
157
|
+
autoApply: _,
|
|
158
158
|
taxonomy: c,
|
|
159
|
-
type:
|
|
160
|
-
value: r ?
|
|
161
|
-
onChange: (
|
|
162
|
-
|
|
159
|
+
type: G,
|
|
160
|
+
value: r ? te : re,
|
|
161
|
+
onChange: (e, a) => {
|
|
162
|
+
le(a);
|
|
163
163
|
},
|
|
164
164
|
categories: S,
|
|
165
|
-
resetKey:
|
|
165
|
+
resetKey: V,
|
|
166
166
|
wpApiBase: x ?? void 0,
|
|
167
|
-
locale:
|
|
167
|
+
locale: Q
|
|
168
168
|
},
|
|
169
169
|
`cat-${s}`
|
|
170
170
|
)
|
|
171
171
|
] });
|
|
172
|
-
}, Ee =
|
|
172
|
+
}, Ee = Se(ue.memo(Ce));
|
|
173
173
|
export {
|
|
174
174
|
Ee as default
|
|
175
175
|
};
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { getData as j, getCategory as J, getCategories as V } from "./data-api.js";
|
|
2
2
|
import * as A from "immutable";
|
|
3
3
|
import H from "papaparse";
|
|
4
|
-
const y = "LOAD_DATA", d = "LOAD_DATA_DONE", O = "LOAD_DATA_ERROR", R = "LOAD_CATEGORIES", L = "LOAD_CATEGORIES_DONE", D = "LOAD_CATEGORIES_ERROR", F = "SET_PAGE_MODULE_PROPS", h = "RELOAD_CHILD_FILTER_ITEMS", N = "SET_FILTER", Y = "SET_FILTERS", P = "SET_INITIAL_FILTER", C = "SET_APPLY", w = "CLEAN_FILTER", M = "UNSET_FILTER", $ = A.Map({ mode: "info" }), v = "SET_MEASURES", U = "CLEAN_MEASURES", B = "SET_POSTS_PAGINATION", K = "SET_POSTS_FILTER", b = "SET_INITIAL_POSTS_FILTER", X = ({ app:
|
|
5
|
-
s({ type: U, app:
|
|
6
|
-
}, Z = ({ app:
|
|
7
|
-
const o = Object.keys(s.measures).filter((l) => s.measures[l].selected),
|
|
8
|
-
r
|
|
9
|
-
r
|
|
10
|
-
}), r
|
|
11
|
-
}, k = ({ app:
|
|
4
|
+
const y = "LOAD_DATA", d = "LOAD_DATA_DONE", O = "LOAD_DATA_ERROR", R = "LOAD_CATEGORIES", L = "LOAD_CATEGORIES_DONE", D = "LOAD_CATEGORIES_ERROR", F = "SET_PAGE_MODULE_PROPS", h = "RELOAD_CHILD_FILTER_ITEMS", N = "SET_FILTER", Y = "SET_FILTERS", P = "SET_INITIAL_FILTER", C = "SET_APPLY", w = "CLEAN_FILTER", M = "UNSET_FILTER", $ = A.Map({ mode: "info" }), v = "SET_MEASURES", U = "CLEAN_MEASURES", B = "SET_POSTS_PAGINATION", K = "SET_POSTS_FILTER", b = "SET_INITIAL_POSTS_FILTER", X = ({ app: r, group: a }) => (s, e) => {
|
|
5
|
+
s({ type: U, app: r, group: a });
|
|
6
|
+
}, Z = ({ app: r, group: a, mGroup: s }) => (e, t) => {
|
|
7
|
+
const o = Object.keys(s.measures).filter((l) => s.measures[l].selected), n = { ...s };
|
|
8
|
+
n[r] = { measures: {} }, o.forEach((l) => {
|
|
9
|
+
n[r].measures[l] = { ...s.measures[l] };
|
|
10
|
+
}), n[r].format = s.format, e({ type: v, app: r, group: a, measure: n });
|
|
11
|
+
}, k = ({ app: r, type: a, group: s, param: e, autoApply: t, params: o, parentParam: n, parentType: l, parentSelectedItems: i, uniqueStorage: c, dvzProxyDatasetId: p }) => (g, I) => {
|
|
12
12
|
const E = { ...o };
|
|
13
|
-
E[
|
|
13
|
+
E[n] = i, J({ app: r, params: E, type: a }).then(
|
|
14
14
|
(f) => {
|
|
15
15
|
g({
|
|
16
16
|
type: h,
|
|
17
17
|
filterType: a,
|
|
18
18
|
parentType: l,
|
|
19
19
|
param: e,
|
|
20
|
-
app:
|
|
20
|
+
app: r,
|
|
21
21
|
group: s,
|
|
22
22
|
data: f,
|
|
23
23
|
uniqueStorage: c,
|
|
@@ -26,34 +26,34 @@ const y = "LOAD_DATA", d = "LOAD_DATA_DONE", O = "LOAD_DATA_ERROR", R = "LOAD_CA
|
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
);
|
|
29
|
-
}, ee = (
|
|
30
|
-
const { app: e, group: t, param: o, value:
|
|
31
|
-
console.log("set filters"), a({ type: N, app: e, group: t, param: o, value:
|
|
32
|
-
}, te = ({ app:
|
|
33
|
-
s({ type: w, app:
|
|
34
|
-
}, se = ({ app:
|
|
35
|
-
t({ type: M, app:
|
|
36
|
-
}, re = ({ app:
|
|
37
|
-
s({ type: C, app:
|
|
38
|
-
}, ne = ({ app:
|
|
39
|
-
t({ type: P, app:
|
|
40
|
-
}, ae = (
|
|
41
|
-
const { app: e, params: t, dvzProxyDatasetId: o, uniqueStorage:
|
|
42
|
-
a({ type: R, params: t, app: e, uniqueStorage:
|
|
29
|
+
}, ee = (r) => (a, s) => {
|
|
30
|
+
const { app: e, group: t, param: o, value: n, autoApply: l, parent: i } = r;
|
|
31
|
+
console.log("set filters"), a({ type: N, app: e, group: t, param: o, value: n, autoApply: l, parent: i });
|
|
32
|
+
}, te = ({ app: r, group: a }) => (s, e) => {
|
|
33
|
+
s({ type: w, app: r, group: a });
|
|
34
|
+
}, se = ({ app: r, group: a, param: s, parent: e }) => (t, o) => {
|
|
35
|
+
t({ type: M, app: r, group: a, param: s, parent: e });
|
|
36
|
+
}, re = ({ app: r, group: a }) => (s, e) => {
|
|
37
|
+
s({ type: C, app: r, group: a });
|
|
38
|
+
}, ne = ({ app: r, group: a, param: s, value: e }) => (t, o) => {
|
|
39
|
+
t({ type: P, app: r, group: a, param: s, value: e });
|
|
40
|
+
}, ae = (r) => (a, s) => {
|
|
41
|
+
const { app: e, params: t, dvzProxyDatasetId: o, uniqueStorage: n } = r;
|
|
42
|
+
a({ type: R, params: t, app: e, uniqueStorage: n, dvzProxyDatasetId: o }), V({ app: e, params: t }).then((l) => (l.appliedFilters = t, a({
|
|
43
43
|
type: L,
|
|
44
44
|
app: e,
|
|
45
45
|
data: l,
|
|
46
|
-
uniqueStorage:
|
|
46
|
+
uniqueStorage: n,
|
|
47
47
|
dvzProxyDatasetId: o
|
|
48
48
|
}))).catch((l) => a({
|
|
49
49
|
type: D,
|
|
50
50
|
app: e,
|
|
51
|
-
uniqueStorage:
|
|
51
|
+
uniqueStorage: n,
|
|
52
52
|
error: l,
|
|
53
53
|
dvzProxyDatasetId: o
|
|
54
54
|
}));
|
|
55
|
-
}, oe = ({ app:
|
|
56
|
-
const l =
|
|
55
|
+
}, oe = ({ app: r, group: a, csv: s, store: e, params: t }) => (o, n) => {
|
|
56
|
+
const l = n().get("data").getIn(["filters", r, a]);
|
|
57
57
|
l ? t = { ...t, ...l.toJS() } : t = t || {};
|
|
58
58
|
const i = H.parse(s, { header: !0, dynamicTyping: !0 }), c = i.data.filter((g) => {
|
|
59
59
|
let I = !1;
|
|
@@ -65,9 +65,9 @@ const y = "LOAD_DATA", d = "LOAD_DATA_DONE", O = "LOAD_DATA_ERROR", R = "LOAD_CA
|
|
|
65
65
|
}
|
|
66
66
|
}), !I;
|
|
67
67
|
}), p = { ...i, data: c, appliedFilters: t };
|
|
68
|
-
o({ type: d, app:
|
|
69
|
-
}, le = (
|
|
70
|
-
const { app: e, group: t, source: o, store:
|
|
68
|
+
o({ type: d, app: r, group: a, store: e, data: { count: p.data.length, itemsSize: p.data.length, ...p } });
|
|
69
|
+
}, le = (r) => (a, s) => {
|
|
70
|
+
const { app: e, group: t, source: o, store: n, params: l, parent: i } = r;
|
|
71
71
|
let c = s().get("data").getIn(["filters", e, t]);
|
|
72
72
|
i && l && Object.keys(l).forEach((I) => {
|
|
73
73
|
if (c && c.has(I)) {
|
|
@@ -76,99 +76,104 @@ const y = "LOAD_DATA", d = "LOAD_DATA_DONE", O = "LOAD_DATA_ERROR", R = "LOAD_CA
|
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
78
|
let p = { ...l };
|
|
79
|
-
c && (p = { ...p, ...c.toJS() }), a({ type: y, app: e, group: t, params: p, store:
|
|
80
|
-
}, ie = ({ data:
|
|
81
|
-
a({ type: F, data:
|
|
82
|
-
}, pe = (
|
|
79
|
+
c && (p = { ...p, ...c.toJS() }), a({ type: y, app: e, group: t, params: p, store: n }), j({ app: e, source: o, params: p }).then((g) => (g.appliedFilters = p, a({ type: d, app: e, group: t, store: n, data: g, params: p }))).catch((g) => a({ type: O, app: e, group: t, store: n, error: g }));
|
|
80
|
+
}, ie = ({ data: r }) => (a, s) => {
|
|
81
|
+
a({ type: F, data: r });
|
|
82
|
+
}, pe = (r = $, a) => {
|
|
83
83
|
switch (a.type) {
|
|
84
84
|
case y: {
|
|
85
|
-
const { store: s, app: e, group: t, params: o } = a,
|
|
86
|
-
return
|
|
85
|
+
const { store: s, app: e, group: t, params: o } = a, n = Date.now();
|
|
86
|
+
return r.deleteIn([...s, "error"]).setIn([...s, "loading"], !0).setIn([...s, "time"], n).setIn([...s, "presetFilter"], o);
|
|
87
87
|
}
|
|
88
88
|
case O: {
|
|
89
89
|
const { error: s, store: e, app: t, group: o } = a;
|
|
90
|
-
return
|
|
90
|
+
return r.setIn([...e, "loading"], !1).setIn([...e, "error"], s).setIn(["filters-settings", t, o, "apply"], null);
|
|
91
91
|
}
|
|
92
92
|
case d: {
|
|
93
93
|
const { data: s, app: e, group: t, store: o } = a;
|
|
94
|
-
return
|
|
94
|
+
return r.setIn([...o, "loading"], !1).deleteIn([...o, "error"]).setIn([...o, "data"], s).setIn(["filters-settings", e, t, "apply"], null);
|
|
95
95
|
}
|
|
96
96
|
case F: {
|
|
97
97
|
const { data: s } = a;
|
|
98
|
-
return
|
|
98
|
+
return r.setIn(["pageModuleProps"], s);
|
|
99
99
|
}
|
|
100
100
|
case R: {
|
|
101
|
-
const { data: s, app: e, uniqueStorage: t, dvzProxyDatasetId: o } = a,
|
|
102
|
-
return t &&
|
|
101
|
+
const { data: s, app: e, uniqueStorage: t, dvzProxyDatasetId: o } = a, n = ["categories", e];
|
|
102
|
+
return t && n.push(t), o && n.push(o), r.setIn([...n, "loading"], !0).deleteIn([...n, "error"]);
|
|
103
103
|
}
|
|
104
104
|
case L: {
|
|
105
|
-
const { data: s, app: e, uniqueStorage: t, dvzProxyDatasetId: o } = a,
|
|
106
|
-
return o &&
|
|
105
|
+
const { data: s, app: e, uniqueStorage: t, dvzProxyDatasetId: o } = a, n = ["categories", e];
|
|
106
|
+
return o && n.push(o), t && n.push(t), r.setIn([...n, "loading"], !1).setIn([...n, "items"], A.fromJS(s));
|
|
107
107
|
}
|
|
108
108
|
case D: {
|
|
109
|
-
const { data: s, app: e, uniqueStorage: t, dvzProxyDatasetId: o } = a,
|
|
110
|
-
return t &&
|
|
109
|
+
const { data: s, app: e, uniqueStorage: t, dvzProxyDatasetId: o } = a, n = ["categories", e];
|
|
110
|
+
return t && n.push(t), o && n.push(o), r.setIn([...n, "loading"], !1).setIn([...n, "error"], s);
|
|
111
111
|
}
|
|
112
112
|
case C: {
|
|
113
113
|
const { app: s, group: e } = a;
|
|
114
|
-
return
|
|
114
|
+
return r.setIn(["filters-settings", s, e, "apply"], (/* @__PURE__ */ new Date()).getTime());
|
|
115
115
|
}
|
|
116
116
|
case N: {
|
|
117
|
-
const s = Date.now(), { app: e, group: t, param: o, value:
|
|
118
|
-
return
|
|
117
|
+
const s = Date.now(), { app: e, group: t, param: o, value: n, autoApply: l, parent: i } = a;
|
|
118
|
+
return r.setIn(["filters-settings", e, t, "autoApply"], l).setIn(["filters", e, t, o], n.length === 0 ? [Number.MIN_SAFE_INTEGER] : n).setIn(["filters-settings", e, t, "apply"], null).setIn(["filters-settings", e, t, "lastUserFilterChange"], s).setIn(["filters-settings", e, t, "parent"], i || null);
|
|
119
119
|
}
|
|
120
120
|
case Y: {
|
|
121
|
-
const s = Date.now(), { app: e, group: t, filters: o, autoApply:
|
|
122
|
-
return
|
|
121
|
+
const s = Date.now(), { app: e, group: t, filters: o, autoApply: n } = a;
|
|
122
|
+
return r.setIn(["filters-settings", e, t, "autoApply"], n).setIn(["filters", e, t, param], value.length === 0 ? [Number.MIN_SAFE_INTEGER] : value).setIn(["filters-settings", e, t, "apply"], null).setIn(["filters-settings", e, t, "lastUserFilterChange"], s);
|
|
123
123
|
}
|
|
124
124
|
case h: {
|
|
125
|
-
const { data: s, app: e, group: t, param: o, uniqueStorage:
|
|
126
|
-
l && I.push(l),
|
|
127
|
-
const E = s.filter((u) => u.type == i), S =
|
|
128
|
-
return
|
|
125
|
+
const { data: s, app: e, group: t, param: o, uniqueStorage: n, dvzProxyDatasetId: l, filterType: i, parentType: c, autoApply: p } = a, g = Date.now(), I = ["categories", e];
|
|
126
|
+
l && I.push(l), n && I.push(n);
|
|
127
|
+
const E = s.filter((u) => u.type == i), S = r.getIn([...I, "items"]).filter((u) => u.get("type") == i).get(0).get("items").map((u) => u.value), x = r.getIn([...I, "items"]).filter((u) => u.get("type") != i).push(A.Map(E[0])), G = r.getIn(["filters", e, t, o]), m = s[0].items.map((u) => u.value), z = G.filter((u) => m.indexOf(u) > -1), q = m.filter((u) => S.indexOf(u) == -1), T = Array.from(/* @__PURE__ */ new Set([...z, ...q]));
|
|
128
|
+
return r.setIn([...I, "items"], x).setIn(["filters", e, t, o], Array.from(T)).setIn(["filters-settings", e, t, "autoApply"], p).setIn(["filters", e, t, o], T.length === 0 ? [Number.MIN_SAFE_INTEGER] : T).setIn(["filters-settings", e, t, "apply"], null).setIn(["filters-settings", e, t, "lastUserFilterChange"], g);
|
|
129
129
|
}
|
|
130
130
|
case P: {
|
|
131
|
-
const s = Date.now(), { app: e, group: t, param: o, value:
|
|
132
|
-
return
|
|
131
|
+
const s = Date.now(), { app: e, group: t, param: o, value: n } = a;
|
|
132
|
+
return r.setIn(["filters", "initial", e, t, o], n.length === 0 ? [Number.MIN_SAFE_INTEGER] : n).setIn(["filters", e, t, o], n.length === 0 ? [Number.MIN_SAFE_INTEGER] : n).setIn(["filters-settings", e, t, "lastInitialFilterChange"], s).setIn(["filters-settings", e, t, "lastUserFilterChange"], s);
|
|
133
133
|
}
|
|
134
134
|
case M: {
|
|
135
|
-
const s = Date.now(), { app: e, group: t, param: o, parent:
|
|
136
|
-
return
|
|
135
|
+
const s = Date.now(), { app: e, group: t, param: o, parent: n } = a;
|
|
136
|
+
return r.deleteIn(["filters", e, t, o]).setIn(["filters-settings", e, t, "lastUserFilterChange"], s).setIn(["filters-settings", e, t, "parent"], n || null);
|
|
137
137
|
}
|
|
138
138
|
case w: {
|
|
139
|
-
const { app: s, group: e } = a, t =
|
|
140
|
-
return
|
|
139
|
+
const { app: s, group: e } = a, t = r.getIn(["filters", "initial", s, e]);
|
|
140
|
+
return r.setIn(["filters", s, e], t);
|
|
141
141
|
}
|
|
142
142
|
case v: {
|
|
143
143
|
const { app: s, group: e, measure: t } = a;
|
|
144
|
-
return
|
|
144
|
+
return r.setIn(["measures", s, e], t);
|
|
145
145
|
}
|
|
146
146
|
case U: {
|
|
147
147
|
const { app: s, group: e, measure: t } = a;
|
|
148
|
-
return
|
|
148
|
+
return r.deleteIn(["measures", s, e]);
|
|
149
149
|
}
|
|
150
150
|
case B: {
|
|
151
151
|
const { group: s, totalPages: e, totalItems: t } = a;
|
|
152
|
-
return
|
|
152
|
+
return r.setIn(["postsPagination", s], { totalPages: e, totalItems: t });
|
|
153
153
|
}
|
|
154
154
|
case K: {
|
|
155
155
|
const { type: s, group: e, ...t } = a;
|
|
156
|
-
return
|
|
156
|
+
return r.setIn(["posts", e], t);
|
|
157
157
|
}
|
|
158
158
|
case b: {
|
|
159
|
-
const { type: s, group: e, ...t } = a
|
|
159
|
+
const { type: s, group: e, ...t } = a;
|
|
160
|
+
if (t.reset) {
|
|
161
|
+
const { reset: l, ...i } = t;
|
|
162
|
+
return r.setIn(["posts", e], i).setIn(["posts", "initialFilters", e], r.getIn(["posts", "initialFilters", e]));
|
|
163
|
+
}
|
|
164
|
+
const n = { ...r.getIn(["posts", e]) || {} };
|
|
160
165
|
return Object.keys(t).forEach((l) => {
|
|
161
166
|
const i = t[l];
|
|
162
|
-
i != null ?
|
|
163
|
-
}),
|
|
167
|
+
i != null ? n[l] = i : l in n || (n[l] = i);
|
|
168
|
+
}), r.setIn(["posts", e], n).setIn(["posts", "initialFilters", e], n);
|
|
164
169
|
}
|
|
165
170
|
default:
|
|
166
|
-
return
|
|
171
|
+
return r;
|
|
167
172
|
}
|
|
168
|
-
}, Ie = ({ group:
|
|
173
|
+
}, Ie = ({ group: r, dispatch: a, initialFilters: s }) => {
|
|
169
174
|
a({
|
|
170
175
|
type: b,
|
|
171
|
-
group:
|
|
176
|
+
group: r,
|
|
172
177
|
...s,
|
|
173
178
|
reset: !0,
|
|
174
179
|
page: 1
|