@devgateway/dvz-ui-react 1.7.12 → 1.7.13

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),c=require("react"),r=require("@devgateway/wp-react-lib"),a=require("semantic-ui-react"),L=e=>{const d=e.as?e.as:a.Container,u=["post","pageNumber","visibility","intl","as"],t={};return Object.keys(e).filter(s=>s).forEach(s=>{u.indexOf(s)==-1&&(t[s]=e[s])}),n.jsx(d,{...t,children:e.children})},S=e=>{const[d,u]=c.useState(!1);c.useEffect(()=>{e.onLoad&&e.onLoad()},[]);const{post:t,pageNumber:s,showTitle:g,showContent:x,showIntro:j,showDate:w,showLoading:C,as:P,locale:h,messages:b,preview:v}=e;if(t){const o=t.content?t.content.rendered.split("<!--more-->"):[],y=o.length>1?o[0]:null,i=o.length>1?o[1]:o[0],m=i?i.split("<!--nextpage-->"):"";let l="";return s!=null&&m.length>0?l=m[s]:l=i,n.jsx(r.EmbeddedGateway,{parentUnique:e.parentUnique,messages:b,parent:v?t.parent:t.id,children:n.jsxs(L,{className:"entry-content",...e,children:[n.jsx("div",{}),w&&n.jsx(a.Container,{fluid:!0,className:"date",children:t.date.toLocaleString()}),g&&n.jsx("span",{id:t.slug,className:"title",dangerouslySetInnerHTML:{__html:t.title.rendered}},"title"),j&&n.jsx(a.Container,{fluid:!0,className:"excerpt",dangerouslySetInnerHTML:{__html:r.utils.removePatternBrackets(r.dvizTranslate(y,h))}},"intro"),x&&n.jsx(a.Container,{fluid:!0,className:"content ",dangerouslySetInnerHTML:{__html:r.utils.removePatternBrackets(r.dvizTranslate(l,h))}},"content")]})})}else return C?"Loading":!1},f=e=>n.jsx(c.Suspense,{children:n.jsx(S,{...e,showContent:!0})});exports.FilteredPostContent=f;exports.default=f;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),m=require("react"),c=require("@devgateway/wp-react-lib"),h=require("semantic-ui-react"),P=require("react-intl"),w=(e,s)=>!e||!s?e:e.replace(/href\s*=\s*(['"])(https?:\/\/[^'"]+)\1/ig,(o,a,t)=>{try{const r=new URL(t),u=r.pathname.indexOf("/wp/");if(u===-1)return o;const i=r.pathname.slice(u+3);return r.pathname=i.startsWith("/"+s)?i:"/"+s+i,`href=${a}${r.toString()}${a}`}catch{return o}}),I=e=>{const s=e.as?e.as:h.Container,o=["post","pageNumber","visibility","intl","as"],a={};return Object.keys(e).filter(t=>t).forEach(t=>{o.indexOf(t)==-1&&(a[t]=e[t])}),n.jsx(s,{...a,children:e.children})},_=e=>{const s=P.useIntl(),[o,a]=m.useState(!1);m.useEffect(()=>{e.onLoad&&e.onLoad()},[]);const{post:t,pageNumber:r,showTitle:u,showContent:i,showIntro:p,showDate:C,showLoading:L,as:N,locale:b,messages:y,preview:S}=e,d=b||s.locale;if(t){const l=t.content?t.content.rendered.split("<!--more-->"):[],v=l.length>1?l[0]:null,f=l.length>1?l[1]:l[0],x=f?f.split("<!--nextpage-->"):"";let g="";return r!=null&&x.length>0?g=x[r]:g=f,n.jsx(c.EmbeddedGateway,{parentUnique:e.parentUnique,messages:y,parent:S?t.parent:t.id,children:n.jsxs(I,{className:"entry-content",...e,children:[n.jsx("div",{}),C&&n.jsx(h.Container,{fluid:!0,className:"date",children:t.date.toLocaleString()}),u&&n.jsx("span",{id:t.slug,className:"title",dangerouslySetInnerHTML:{__html:t.title.rendered}},"title"),p&&n.jsx(h.Container,{fluid:!0,className:"excerpt",dangerouslySetInnerHTML:{__html:c.utils.removePatternBrackets(w(c.dvizTranslate(v,d),d))}},"intro"),i&&n.jsx(h.Container,{fluid:!0,className:"content ",dangerouslySetInnerHTML:{__html:c.utils.removePatternBrackets(w(c.dvizTranslate(g,d),d))}},"content")]})})}else return L?"Loading":!1},j=e=>n.jsx(m.Suspense,{children:n.jsx(_,{...e,showContent:!0})});exports.FilteredPostContent=j;exports.default=j;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),g=require("react"),f=require("semantic-ui-react"),at=require("../connected-templates/PostIntro.js"),it=require("./FilteredPostsIntro.js"),W=require("react-intl"),H=require("./utils.js"),lt=require("./NoData.js"),V=require("react-redux"),ut=require("../reducers/data-api.js"),z=require("../../utils/data.js"),ct=x=>{const{posts:u,numberOfColumns:T,sortFirstBy:c,countryCategory:d,postWidth:S,postHeight:q}=x,y=[];if(d&&c&&c!=="none"){const s=u.filter(m=>m[d].includes(Number(c))),j=u.filter(m=>!m[d].includes(Number(c)));y.push(...s),y.push(...j)}else y.push(...u);const C=x.wordpressSourceType==="internal"||!x.wordpressSourceType;return o.jsx(f.Grid,{className:"filtered-posts",columns:T,children:o.jsx(f.GridRow,{children:y.map(s=>o.jsx(f.Grid.Column,{children:o.jsx("div",{className:"filtered-posts-column",style:{width:S,height:q,overflow:"hidden"},children:C?o.jsx(at.default,{style:{width:"100%",height:"100%",overflow:"hidden",margin:0,padding:0},as:f.Container,fluid:!0,post:s},s.id):o.jsx(it.default,{style:{width:"100%",height:"100%",overflow:"hidden",margin:0,padding:0},as:f.Container,fluid:!0,post:s},s.id)})},s.id))})})},dt=x=>{const{"data-group":u,"data-number-of-columns":T,"data-type":c,"data-taxonomy":d,"data-categories":S="[]","data-height":q,"data-post-width":y,"data-post-height":C,"data-number-of-items-per-page":s,"data-enable-sorting":j,"data-sort-first-by":m,"data-sorting-taxonomy":R,"data-wordpress-source-type":J,"data-wordpress-source":O,"data-no-data-msg":L,"data-clear-filter-msg":U,editing:$}=x,k=V.useDispatch(),{locale:K}=W.useIntl(),[_,v]=g.useState(!1),D=g.useRef(0),M=V.useSelector(t=>t).getIn(["data","posts",u]),[E,F]=g.useState([]),P=g.useRef(null),[A,G]=g.useState(void 0),Q=z.toBoolean(j)&&m!=="none"?z.toNumber(m):null,p=M??{yearFilter:null,categoryFilter:null,countryFilter:null,page:1,countryTaxonomy:null,categoryTaxonomy:null},w=t=>{if(t==null)return{values:[],isExplicitNone:!1};const e=Array.isArray(t)?t:[t],i=e.some(r=>Number(r)===Number.MIN_SAFE_INTEGER);return{values:e.map(r=>Number(r)).filter(r=>Number.isFinite(r)&&r!==Number.MIN_SAFE_INTEGER),isExplicitNone:i}},X=t=>{if(!t||t.length===0)return null;const e=Array.from(new Set(t)).sort((b,I)=>b-I);if(e.length===0)return null;const i=e[0],a=e[e.length-1],r=H.getStartDateAndEndDateFromYear(i),n=H.getStartDateAndEndDateFromYear(a);return!(r!=null&&r.startDate)||!(n!=null&&n.endDate)?null:{startDate:r.startDate,endDate:n.endDate}},Z=()=>{const t=w(p.yearFilter),e=t.isExplicitNone?null:X(t.values),i=p.countryFilter??null,a=p.categoryFilter??null,r=p.categoryTaxonomy||(d&&d!=="none"?d:null),n=p.countryTaxonomy||null;return{before:(e==null?void 0:e.endDate)||null,after:(e==null?void 0:e.startDate)||null,categoryFilter:a,categoryTaxonomy:r,countryFilter:i,countryTaxonomy:n}},Y=t=>$?t:decodeURIComponent(t),tt=t=>{try{return JSON.parse(Y(t))}catch(e){return console.warn("JSON parsing failed for value:",t,"- treating as plain string. Error:",e),Y(t)}},et=()=>{const t=tt(S);return t?typeof t=="string"?t.split(",").map(Number):typeof t=="number"?[t]:t:[]},rt=(t,e,i)=>{if(i)return null;if(t.length===0)return e.length>0?e:null;if(e.length===0)return t;const a=new Set(t),r=e.filter(n=>a.has(n));return r.length>0?r:null},nt=async()=>{const t=++D.current;P.current&&G(P.current.offsetHeight),v(!0);const e=Z(),i=w(et()).values,a=w(e.categoryFilter),r=rt(i,a.values,a.isExplicitNone),n=w(e.countryFilter);if(a.isExplicitNone){F([]),v(!1);return}if(n.isExplicitNone){F([]),v(!1);return}const b=new Map;e.categoryTaxonomy&&r&&r.length>0&&b.set(e.categoryTaxonomy,r),e.countryTaxonomy&&n.values.length>0&&b.set(e.countryTaxonomy,n.values);const I=r?r.join(","):void 0,ot={after:e.after,before:e.before,perPage:Number(s||10),page:p.page||1,locale:K||"en",postType:c,taxonomy:e.categoryTaxonomy||void 0,category:I||void 0,taxonomyFilters:b,ordering:"date",orderingDirection:"desc",wpApiBase:O??void 0};await ut.getCustomPosts(ot).then(l=>{if(t===D.current)if(l){let N=null,h=null;if(l&&typeof l=="object"&&"data"in l?(N=l.data,h=l.meta):(Array.isArray(l),N=l),F(Array.isArray(N)?N:[]),h){const B=h["x-wp-totalpages"]?h["x-wp-totalpages"]:1,st=h["x-wp-total"]?h["x-wp-total"]:0;B&&k({type:"SET_POSTS_PAGINATION",group:u,totalPages:Number(B),totalItems:Number(st)})}}else F([])}).finally(()=>{t===D.current&&(v(!1),G(void 0))})};return g.useEffect(()=>{c&&(async()=>await nt())()},[M,c,d,s,S,R]),o.jsx("div",{ref:P,id:`filtered-posts-${u}`,style:A!==void 0?{minHeight:A,border:"1px solid #e0e0e0",borderRadius:"4px"}:void 0,children:o.jsx(f.Container,{fluid:!0,children:_?o.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:A??"100%"},children:o.jsx(f.Loader,{active:!0,inline:"centered"})}):!_&&E&&E.length>0?o.jsx(ct,{posts:E,postWidth:Number(y),postHeight:Number(C),numberOfColumns:Number(T),sortFirstBy:Q,countryCategory:R,wordpressSourceType:J,wordpressSource:O}):o.jsx(lt.default,{noDataMsg:L,clearFilterMsg:U,group:u})})})},gt=W.injectIntl(g.memo(dt));exports.default=gt;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),g=require("react"),f=require("semantic-ui-react"),at=require("../connected-templates/PostIntro.js"),it=require("./FilteredPostsIntro.js"),J=require("react-intl"),V=require("./utils.js"),lt=require("./NoData.js"),z=require("react-redux"),ut=require("../reducers/data-api.js"),W=require("../../utils/data.js"),ct=x=>{const{posts:u,numberOfColumns:j,sortFirstBy:c,countryCategory:d,postWidth:S,postHeight:R,locale:D}=x,y=[];if(d&&c&&c!=="none"){const a=u.filter(m=>m[d].includes(Number(c))),F=u.filter(m=>!m[d].includes(Number(c)));y.push(...a),y.push(...F)}else y.push(...u);const v=x.wordpressSourceType==="internal"||!x.wordpressSourceType;return o.jsx(f.Grid,{className:"filtered-posts",columns:j,children:o.jsx(f.GridRow,{children:y.map(a=>o.jsx(f.Grid.Column,{children:o.jsx("div",{className:"filtered-posts-column",style:{width:S,height:R,overflow:"hidden"},children:v?o.jsx(at.default,{style:{width:"100%",height:"100%",overflow:"hidden",margin:0,padding:0},as:f.Container,fluid:!0,post:a},a.id):o.jsx(it.default,{style:{width:"100%",height:"100%",overflow:"hidden",margin:0,padding:0},as:f.Container,fluid:!0,post:a,locale:D},a.id)})},a.id))})})},dt=x=>{const{"data-group":u,"data-number-of-columns":j,"data-type":c,"data-taxonomy":d,"data-categories":S="[]","data-height":R,"data-post-width":D,"data-post-height":y,"data-number-of-items-per-page":v,"data-enable-sorting":a,"data-sort-first-by":F,"data-sorting-taxonomy":m,"data-wordpress-source-type":L,"data-wordpress-source":O,"data-no-data-msg":U,"data-clear-filter-msg":$,editing:k}=x,K=z.useDispatch(),{locale:_}=J.useIntl(),[M,w]=g.useState(!1),E=g.useRef(0),G=z.useSelector(t=>t).getIn(["data","posts",u]),[P,T]=g.useState([]),A=g.useRef(null),[I,Y]=g.useState(void 0),Q=W.toBoolean(a)&&F!=="none"?W.toNumber(F):null,p=G??{yearFilter:null,categoryFilter:null,countryFilter:null,page:1,countryTaxonomy:null,categoryTaxonomy:null},C=t=>{if(t==null)return{values:[],isExplicitNone:!1};const e=Array.isArray(t)?t:[t],i=e.some(r=>Number(r)===Number.MIN_SAFE_INTEGER);return{values:e.map(r=>Number(r)).filter(r=>Number.isFinite(r)&&r!==Number.MIN_SAFE_INTEGER),isExplicitNone:i}},X=t=>{if(!t||t.length===0)return null;const e=Array.from(new Set(t)).sort((b,q)=>b-q);if(e.length===0)return null;const i=e[0],s=e[e.length-1],r=V.getStartDateAndEndDateFromYear(i),n=V.getStartDateAndEndDateFromYear(s);return!(r!=null&&r.startDate)||!(n!=null&&n.endDate)?null:{startDate:r.startDate,endDate:n.endDate}},Z=()=>{const t=C(p.yearFilter),e=t.isExplicitNone?null:X(t.values),i=p.countryFilter??null,s=p.categoryFilter??null,r=p.categoryTaxonomy||(d&&d!=="none"?d:null),n=p.countryTaxonomy||null;return{before:(e==null?void 0:e.endDate)||null,after:(e==null?void 0:e.startDate)||null,categoryFilter:s,categoryTaxonomy:r,countryFilter:i,countryTaxonomy:n}},B=t=>k?t:decodeURIComponent(t),tt=t=>{try{return JSON.parse(B(t))}catch(e){return console.warn("JSON parsing failed for value:",t,"- treating as plain string. Error:",e),B(t)}},et=()=>{const t=tt(S);return t?typeof t=="string"?t.split(",").map(Number):typeof t=="number"?[t]:t:[]},rt=(t,e,i)=>{if(i)return null;if(t.length===0)return e.length>0?e:null;if(e.length===0)return t;const s=new Set(t),r=e.filter(n=>s.has(n));return r.length>0?r:null},nt=async()=>{const t=++E.current;A.current&&Y(A.current.offsetHeight),w(!0);const e=Z(),i=C(et()).values,s=C(e.categoryFilter),r=rt(i,s.values,s.isExplicitNone),n=C(e.countryFilter);if(s.isExplicitNone){T([]),w(!1);return}if(n.isExplicitNone){T([]),w(!1);return}const b=new Map;e.categoryTaxonomy&&r&&r.length>0&&b.set(e.categoryTaxonomy,r),e.countryTaxonomy&&n.values.length>0&&b.set(e.countryTaxonomy,n.values);const q=r?r.join(","):void 0,ot={after:e.after,before:e.before,perPage:Number(v||10),page:p.page||1,locale:_||"en",postType:c,taxonomy:e.categoryTaxonomy||void 0,category:q||void 0,taxonomyFilters:b,ordering:"date",orderingDirection:"desc",wpApiBase:O??void 0};await ut.getCustomPosts(ot).then(l=>{if(t===E.current)if(l){let N=null,h=null;if(l&&typeof l=="object"&&"data"in l?(N=l.data,h=l.meta):(Array.isArray(l),N=l),T(Array.isArray(N)?N:[]),h){const H=h["x-wp-totalpages"]?h["x-wp-totalpages"]:1,st=h["x-wp-total"]?h["x-wp-total"]:0;H&&K({type:"SET_POSTS_PAGINATION",group:u,totalPages:Number(H),totalItems:Number(st)})}}else T([])}).finally(()=>{t===E.current&&(w(!1),Y(void 0))})};return g.useEffect(()=>{c&&(async()=>await nt())()},[G,c,d,v,S,m]),o.jsx("div",{ref:A,id:`filtered-posts-${u}`,style:I!==void 0?{minHeight:I,border:"1px solid #e0e0e0",borderRadius:"4px"}:void 0,children:o.jsx(f.Container,{fluid:!0,children:M?o.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:I??"100%"},children:o.jsx(f.Loader,{active:!0,inline:"centered"})}):!M&&P&&P.length>0?o.jsx(ct,{posts:P,postWidth:Number(D),postHeight:Number(y),numberOfColumns:Number(j),sortFirstBy:Q,countryCategory:m,wordpressSourceType:L,wordpressSource:O,locale:_}):o.jsx(lt.default,{noDataMsg:U,clearFilterMsg:$,group:u})})})},gt=J.injectIntl(g.memo(dt));exports.default=gt;
@@ -1,43 +1,53 @@
1
- import { jsx as n, jsxs as S } from "react/jsx-runtime";
2
- import m, { Suspense as v } from "react";
3
- import { EmbeddedGateway as x, utils as h, dvizTranslate as f } from "@devgateway/wp-react-lib";
4
- import { Container as r } from "semantic-ui-react";
5
- const E = (e) => {
6
- const i = e.as ? e.as : r, c = ["post", "pageNumber", "visibility", "intl", "as"], t = {};
7
- return Object.keys(e).filter((o) => o).forEach((o) => {
8
- c.indexOf(o) == -1 && (t[o] = e[o]);
9
- }), /* @__PURE__ */ n(i, { ...t, children: e.children });
10
- }, P = (e) => {
11
- const [i, c] = m.useState(!1);
12
- m.useEffect(() => {
1
+ import { jsx as n, jsxs as P } from "react/jsx-runtime";
2
+ import p, { Suspense as v } from "react";
3
+ import { EmbeddedGateway as E, utils as g, dvizTranslate as w } from "@devgateway/wp-react-lib";
4
+ import { Container as u } from "semantic-ui-react";
5
+ import { useIntl as _ } from "react-intl";
6
+ const L = (e, r) => !e || !r ? e : e.replace(/href\s*=\s*(['"])(https?:\/\/[^'"]+)\1/ig, (a, o, t) => {
7
+ try {
8
+ const s = new URL(t), c = s.pathname.indexOf("/wp/");
9
+ if (c === -1) return a;
10
+ const l = s.pathname.slice(c + 3);
11
+ return s.pathname = l.startsWith("/" + r) ? l : "/" + r + l, `href=${o}${s.toString()}${o}`;
12
+ } catch {
13
+ return a;
14
+ }
15
+ }), T = (e) => {
16
+ const r = e.as ? e.as : u, a = ["post", "pageNumber", "visibility", "intl", "as"], o = {};
17
+ return Object.keys(e).filter((t) => t).forEach((t) => {
18
+ a.indexOf(t) == -1 && (o[t] = e[t]);
19
+ }), /* @__PURE__ */ n(r, { ...o, children: e.children });
20
+ }, j = (e) => {
21
+ const r = _(), [a, o] = p.useState(!1);
22
+ p.useEffect(() => {
13
23
  e.onLoad && e.onLoad();
14
24
  }, []);
15
25
  const {
16
26
  post: t,
17
- pageNumber: o,
18
- showTitle: g,
19
- showContent: w,
20
- showIntro: b,
21
- showDate: p,
22
- showLoading: y,
23
- as: _,
24
- locale: d,
25
- messages: C,
26
- preview: L
27
- } = e;
27
+ pageNumber: s,
28
+ showTitle: c,
29
+ showContent: l,
30
+ showIntro: y,
31
+ showDate: b,
32
+ showLoading: x,
33
+ as: k,
34
+ locale: C,
35
+ messages: S,
36
+ preview: I
37
+ } = e, d = C || r.locale;
28
38
  if (t) {
29
- const s = t.content ? t.content.rendered.split("<!--more-->") : [], N = s.length > 1 ? s[0] : null, a = s.length > 1 ? s[1] : s[0], u = a ? a.split("<!--nextpage-->") : "";
30
- let l = "";
31
- return o != null && u.length > 0 ? l = u[o] : l = a, /* @__PURE__ */ n(
32
- x,
39
+ const i = t.content ? t.content.rendered.split("<!--more-->") : [], N = i.length > 1 ? i[0] : null, f = i.length > 1 ? i[1] : i[0], m = f ? f.split("<!--nextpage-->") : "";
40
+ let h = "";
41
+ return s != null && m.length > 0 ? h = m[s] : h = f, /* @__PURE__ */ n(
42
+ E,
33
43
  {
34
44
  parentUnique: e.parentUnique,
35
- messages: C,
36
- parent: L ? t.parent : t.id,
37
- children: /* @__PURE__ */ S(E, { className: "entry-content", ...e, children: [
45
+ messages: S,
46
+ parent: I ? t.parent : t.id,
47
+ children: /* @__PURE__ */ P(T, { className: "entry-content", ...e, children: [
38
48
  /* @__PURE__ */ n("div", {}),
39
- p && /* @__PURE__ */ n(r, { fluid: !0, className: "date", children: t.date.toLocaleString() }),
40
- g && /* @__PURE__ */ n(
49
+ b && /* @__PURE__ */ n(u, { fluid: !0, className: "date", children: t.date.toLocaleString() }),
50
+ c && /* @__PURE__ */ n(
41
51
  "span",
42
52
  {
43
53
  id: t.slug,
@@ -46,21 +56,21 @@ const E = (e) => {
46
56
  },
47
57
  "title"
48
58
  ),
49
- b && /* @__PURE__ */ n(
50
- r,
59
+ y && /* @__PURE__ */ n(
60
+ u,
51
61
  {
52
62
  fluid: !0,
53
63
  className: "excerpt",
54
- dangerouslySetInnerHTML: { __html: h.removePatternBrackets(f(N, d)) }
64
+ dangerouslySetInnerHTML: { __html: g.removePatternBrackets(L(w(N, d), d)) }
55
65
  },
56
66
  "intro"
57
67
  ),
58
- w && /* @__PURE__ */ n(
59
- r,
68
+ l && /* @__PURE__ */ n(
69
+ u,
60
70
  {
61
71
  fluid: !0,
62
72
  className: "content ",
63
- dangerouslySetInnerHTML: { __html: h.removePatternBrackets(f(l, d)) }
73
+ dangerouslySetInnerHTML: { __html: g.removePatternBrackets(L(w(h, d), d)) }
64
74
  },
65
75
  "content"
66
76
  )
@@ -68,9 +78,9 @@ const E = (e) => {
68
78
  }
69
79
  );
70
80
  } else
71
- return y ? "Loading" : !1;
72
- }, H = (e) => /* @__PURE__ */ n(v, { children: /* @__PURE__ */ n(P, { ...e, showContent: !0 }) });
81
+ return x ? "Loading" : !1;
82
+ }, B = (e) => /* @__PURE__ */ n(v, { children: /* @__PURE__ */ n(j, { ...e, showContent: !0 }) });
73
83
  export {
74
- H as FilteredPostContent,
75
- H as default
84
+ B as FilteredPostContent,
85
+ B as default
76
86
  };
@@ -1,24 +1,24 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import at, { useState as A, useRef as j, useEffect as st } from "react";
3
- import { Container as R, Loader as it, Grid as z, GridRow as lt } from "semantic-ui-react";
4
- import ut from "../connected-templates/PostIntro.js";
5
- import ct from "./FilteredPostsIntro.js";
2
+ import at, { useState as R, useRef as z, useEffect as st } from "react";
3
+ import { Container as O, Loader as it, Grid as q, GridRow as lt } from "semantic-ui-react";
4
+ import ct from "../connected-templates/PostIntro.js";
5
+ import ut from "./FilteredPostsIntro.js";
6
6
  import { injectIntl as dt, useIntl as mt } from "react-intl";
7
- import { getStartDateAndEndDateFromYear as q } from "./utils.js";
7
+ import { getStartDateAndEndDateFromYear as W } from "./utils.js";
8
8
  import ft from "./NoData.js";
9
9
  import { useDispatch as gt, useSelector as yt } from "react-redux";
10
10
  import { getCustomPosts as pt } from "../reducers/data-api.js";
11
11
  import { toNumber as ht, toBoolean as bt } from "../../utils/data.js";
12
12
  const xt = (p) => {
13
- const { posts: u, numberOfColumns: w, sortFirstBy: c, countryCategory: d, postWidth: x, postHeight: O } = p, m = [];
14
- if (d && c && c !== "none") {
15
- const a = u.filter((f) => f[d].includes(Number(c))), T = u.filter((f) => !f[d].includes(Number(c)));
16
- m.push(...a), m.push(...T);
13
+ const { posts: c, numberOfColumns: T, sortFirstBy: u, countryCategory: d, postWidth: x, postHeight: _, locale: C } = p, m = [];
14
+ if (d && u && u !== "none") {
15
+ const s = c.filter((f) => f[d].includes(Number(u))), v = c.filter((f) => !f[d].includes(Number(u)));
16
+ m.push(...s), m.push(...v);
17
17
  } else
18
- m.push(...u);
19
- const S = p.wordpressSourceType === "internal" || !p.wordpressSourceType;
20
- return /* @__PURE__ */ n(z, { className: "filtered-posts", columns: w, children: /* @__PURE__ */ n(lt, { children: m.map((a) => /* @__PURE__ */ n(z.Column, { children: /* @__PURE__ */ n("div", { className: "filtered-posts-column", style: { width: x, height: O, overflow: "hidden" }, children: S ? /* @__PURE__ */ n(
21
- ut,
18
+ m.push(...c);
19
+ const N = p.wordpressSourceType === "internal" || !p.wordpressSourceType;
20
+ return /* @__PURE__ */ n(q, { className: "filtered-posts", columns: T, children: /* @__PURE__ */ n(lt, { children: m.map((s) => /* @__PURE__ */ n(q.Column, { children: /* @__PURE__ */ n("div", { className: "filtered-posts-column", style: { width: x, height: _, overflow: "hidden" }, children: N ? /* @__PURE__ */ n(
21
+ ct,
22
22
  {
23
23
  style: {
24
24
  width: "100%",
@@ -27,13 +27,13 @@ const xt = (p) => {
27
27
  margin: 0,
28
28
  padding: 0
29
29
  },
30
- as: R,
30
+ as: O,
31
31
  fluid: !0,
32
- post: a
32
+ post: s
33
33
  },
34
- a.id
34
+ s.id
35
35
  ) : /* @__PURE__ */ n(
36
- ct,
36
+ ut,
37
37
  {
38
38
  style: {
39
39
  width: "100%",
@@ -42,39 +42,40 @@ const xt = (p) => {
42
42
  margin: 0,
43
43
  padding: 0
44
44
  },
45
- as: R,
45
+ as: O,
46
46
  fluid: !0,
47
- post: a
47
+ post: s,
48
+ locale: C
48
49
  },
49
- a.id
50
- ) }) }, a.id)) }) });
50
+ s.id
51
+ ) }) }, s.id)) }) });
51
52
  }, Nt = (p) => {
52
53
  const {
53
- "data-group": u,
54
- "data-number-of-columns": w,
55
- "data-type": c,
54
+ "data-group": c,
55
+ "data-number-of-columns": T,
56
+ "data-type": u,
56
57
  "data-taxonomy": d,
57
58
  "data-categories": x = "[]",
58
- "data-height": O,
59
- "data-post-width": m,
60
- "data-post-height": S,
61
- "data-number-of-items-per-page": a,
62
- "data-enable-sorting": T,
63
- "data-sort-first-by": f,
64
- "data-sorting-taxonomy": _,
65
- "data-wordpress-source-type": W,
59
+ "data-height": _,
60
+ "data-post-width": C,
61
+ "data-post-height": m,
62
+ "data-number-of-items-per-page": N,
63
+ "data-enable-sorting": s,
64
+ "data-sort-first-by": v,
65
+ "data-sorting-taxonomy": f,
66
+ "data-wordpress-source-type": J,
66
67
  "data-wordpress-source": B,
67
- "data-no-data-msg": J,
68
- "data-clear-filter-msg": L,
69
- editing: U
70
- } = p, $ = gt(), { locale: k } = mt(), [G, N] = A(!1), C = j(0), H = yt((t) => t).getIn(["data", "posts", u]), [E, v] = A([]), P = j(null), [D, M] = A(void 0), K = bt(T) && f !== "none" ? ht(f) : null, g = H ?? {
68
+ "data-no-data-msg": L,
69
+ "data-clear-filter-msg": U,
70
+ editing: $
71
+ } = p, k = gt(), { locale: G } = mt(), [H, F] = R(!1), E = z(0), M = yt((t) => t).getIn(["data", "posts", c]), [P, w] = R([]), D = z(null), [I, V] = R(void 0), K = bt(s) && v !== "none" ? ht(v) : null, g = M ?? {
71
72
  yearFilter: null,
72
73
  categoryFilter: null,
73
74
  countryFilter: null,
74
75
  page: 1,
75
76
  countryTaxonomy: null,
76
77
  categoryTaxonomy: null
77
- }, F = (t) => {
78
+ }, S = (t) => {
78
79
  if (t == null)
79
80
  return { values: [], isExplicitNone: !1 };
80
81
  const e = Array.isArray(t) ? t : [t], i = e.some(
@@ -87,29 +88,29 @@ const xt = (p) => {
87
88
  }, Q = (t) => {
88
89
  if (!t || t.length === 0)
89
90
  return null;
90
- const e = Array.from(new Set(t)).sort((h, I) => h - I);
91
+ const e = Array.from(new Set(t)).sort((h, A) => h - A);
91
92
  if (e.length === 0)
92
93
  return null;
93
- const i = e[0], s = e[e.length - 1], r = q(i), o = q(s);
94
+ const i = e[0], a = e[e.length - 1], r = W(i), o = W(a);
94
95
  return !(r != null && r.startDate) || !(o != null && o.endDate) ? null : {
95
96
  startDate: r.startDate,
96
97
  endDate: o.endDate
97
98
  };
98
99
  }, X = () => {
99
- const t = F(g.yearFilter), e = t.isExplicitNone ? null : Q(t.values), i = g.countryFilter ?? null, s = g.categoryFilter ?? null, r = g.categoryTaxonomy || (d && d !== "none" ? d : null), o = g.countryTaxonomy || null;
100
+ const t = S(g.yearFilter), e = t.isExplicitNone ? null : Q(t.values), i = g.countryFilter ?? null, a = g.categoryFilter ?? null, r = g.categoryTaxonomy || (d && d !== "none" ? d : null), o = g.countryTaxonomy || null;
100
101
  return {
101
102
  before: (e == null ? void 0 : e.endDate) || null,
102
103
  after: (e == null ? void 0 : e.startDate) || null,
103
- categoryFilter: s,
104
+ categoryFilter: a,
104
105
  categoryTaxonomy: r,
105
106
  countryFilter: i,
106
107
  countryTaxonomy: o
107
108
  };
108
- }, V = (t) => U ? t : decodeURIComponent(t), Z = (t) => {
109
+ }, Y = (t) => $ ? t : decodeURIComponent(t), Z = (t) => {
109
110
  try {
110
- return JSON.parse(V(t));
111
+ return JSON.parse(Y(t));
111
112
  } catch (e) {
112
- return console.warn("JSON parsing failed for value:", t, "- treating as plain string. Error:", e), V(t);
113
+ return console.warn("JSON parsing failed for value:", t, "- treating as plain string. Error:", e), Y(t);
113
114
  }
114
115
  }, tt = () => {
115
116
  const t = Z(x);
@@ -118,74 +119,75 @@ const xt = (p) => {
118
119
  if (i) return null;
119
120
  if (t.length === 0) return e.length > 0 ? e : null;
120
121
  if (e.length === 0) return t;
121
- const s = new Set(t), r = e.filter((o) => s.has(o));
122
+ const a = new Set(t), r = e.filter((o) => a.has(o));
122
123
  return r.length > 0 ? r : null;
123
124
  }, rt = async () => {
124
- const t = ++C.current;
125
- P.current && M(P.current.offsetHeight), N(!0);
126
- const e = X(), i = F(tt()).values, s = F(e.categoryFilter), r = et(
125
+ const t = ++E.current;
126
+ D.current && V(D.current.offsetHeight), F(!0);
127
+ const e = X(), i = S(tt()).values, a = S(e.categoryFilter), r = et(
127
128
  i,
128
- s.values,
129
- s.isExplicitNone
130
- ), o = F(e.countryFilter);
131
- if (s.isExplicitNone) {
132
- v([]), N(!1);
129
+ a.values,
130
+ a.isExplicitNone
131
+ ), o = S(e.countryFilter);
132
+ if (a.isExplicitNone) {
133
+ w([]), F(!1);
133
134
  return;
134
135
  }
135
136
  if (o.isExplicitNone) {
136
- v([]), N(!1);
137
+ w([]), F(!1);
137
138
  return;
138
139
  }
139
140
  const h = /* @__PURE__ */ new Map();
140
141
  e.categoryTaxonomy && r && r.length > 0 && h.set(e.categoryTaxonomy, r), e.countryTaxonomy && o.values.length > 0 && h.set(e.countryTaxonomy, o.values);
141
- const I = r ? r.join(",") : void 0, ot = {
142
+ const A = r ? r.join(",") : void 0, ot = {
142
143
  after: e.after,
143
144
  before: e.before,
144
- perPage: Number(a || 10),
145
+ perPage: Number(N || 10),
145
146
  page: g.page || 1,
146
- locale: k || "en",
147
- postType: c,
147
+ locale: G || "en",
148
+ postType: u,
148
149
  taxonomy: e.categoryTaxonomy || void 0,
149
- category: I || void 0,
150
+ category: A || void 0,
150
151
  taxonomyFilters: h,
151
152
  ordering: "date",
152
153
  orderingDirection: "desc",
153
154
  wpApiBase: B ?? void 0
154
155
  };
155
156
  await pt(ot).then((l) => {
156
- if (t === C.current)
157
+ if (t === E.current)
157
158
  if (l) {
158
159
  let b = null, y = null;
159
- if (l && typeof l == "object" && "data" in l ? (b = l.data, y = l.meta) : (Array.isArray(l), b = l), v(Array.isArray(b) ? b : []), y) {
160
- const Y = y["x-wp-totalpages"] ? y["x-wp-totalpages"] : 1, nt = y["x-wp-total"] ? y["x-wp-total"] : 0;
161
- Y && $({
160
+ if (l && typeof l == "object" && "data" in l ? (b = l.data, y = l.meta) : (Array.isArray(l), b = l), w(Array.isArray(b) ? b : []), y) {
161
+ const j = y["x-wp-totalpages"] ? y["x-wp-totalpages"] : 1, nt = y["x-wp-total"] ? y["x-wp-total"] : 0;
162
+ j && k({
162
163
  type: "SET_POSTS_PAGINATION",
163
- group: u,
164
- totalPages: Number(Y),
164
+ group: c,
165
+ totalPages: Number(j),
165
166
  totalItems: Number(nt)
166
167
  });
167
168
  }
168
169
  } else
169
- v([]);
170
+ w([]);
170
171
  }).finally(() => {
171
- t === C.current && (N(!1), M(void 0));
172
+ t === E.current && (F(!1), V(void 0));
172
173
  });
173
174
  };
174
175
  return st(() => {
175
- c && (async () => await rt())();
176
- }, [H, c, d, a, x, _]), /* @__PURE__ */ n("div", { ref: P, id: `filtered-posts-${u}`, style: D !== void 0 ? { minHeight: D, border: "1px solid #e0e0e0", borderRadius: "4px" } : void 0, children: /* @__PURE__ */ n(R, { fluid: !0, children: G ? /* @__PURE__ */ n("div", { style: { display: "flex", alignItems: "center", justifyContent: "center", height: D ?? "100%" }, children: /* @__PURE__ */ n(it, { active: !0, inline: "centered" }) }) : !G && E && E.length > 0 ? /* @__PURE__ */ n(
176
+ u && (async () => await rt())();
177
+ }, [M, u, d, N, x, f]), /* @__PURE__ */ n("div", { ref: D, id: `filtered-posts-${c}`, style: I !== void 0 ? { minHeight: I, border: "1px solid #e0e0e0", borderRadius: "4px" } : void 0, children: /* @__PURE__ */ n(O, { fluid: !0, children: H ? /* @__PURE__ */ n("div", { style: { display: "flex", alignItems: "center", justifyContent: "center", height: I ?? "100%" }, children: /* @__PURE__ */ n(it, { active: !0, inline: "centered" }) }) : !H && P && P.length > 0 ? /* @__PURE__ */ n(
177
178
  xt,
178
179
  {
179
- posts: E,
180
- postWidth: Number(m),
181
- postHeight: Number(S),
182
- numberOfColumns: Number(w),
180
+ posts: P,
181
+ postWidth: Number(C),
182
+ postHeight: Number(m),
183
+ numberOfColumns: Number(T),
183
184
  sortFirstBy: K,
184
- countryCategory: _,
185
- wordpressSourceType: W,
186
- wordpressSource: B
185
+ countryCategory: f,
186
+ wordpressSourceType: J,
187
+ wordpressSource: B,
188
+ locale: G
187
189
  }
188
- ) : /* @__PURE__ */ n(ft, { noDataMsg: J, clearFilterMsg: L, group: u }) }) });
190
+ ) : /* @__PURE__ */ n(ft, { noDataMsg: L, clearFilterMsg: U, group: c }) }) });
189
191
  }, Ot = dt(at.memo(Nt));
190
192
  export {
191
193
  Ot as default
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devgateway/dvz-ui-react",
3
- "version": "1.7.12",
3
+ "version": "1.7.13",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "types": "dist/types/index.d.ts",