import{j as e,r as C,w as Cs,l as ws,A as ks}from"../vendor/react-core.DXghOv-E.min.js";import{D as Fs,a as Ns,b as Os,c as Rs,d as Bs}from"../DiscussionListModule.C-bhJsi0.min.js";import{bm as ps,L as j,aV as Us,b6 as xs,d2 as Hs,i as ys,t as m,bQ as bs,eY as E,aL as Is,ac as A,fC as w,fD as _s,z as $,w as Ss,dl as G,cb as qs,bR as W,ab as H,aD as Qs,fE as Vs,ag as $s,ah as Gs,aa as Ws,ck as Ys,ap as js,eX as Xs,aq as zs,cn as ms,fF as Ks,ct as Js,bh as Zs,eM as se,eb as ee}from"../../assets/layouts-e9o3BY4c.js";import{H as vs}from"../HomeWidgetContainer.D0k__UF2.min.js";import{a as te,W as k}from"../HomeWidgetContainer.styles.ClOpoWON.min.js";import{a as ae}from"../HomeWidgetItem.styles.D62eM9p_.min.js";import{QuickLinks as Ps}from"./QuickLinks.DRoJ14ko.min.js";import{i as fs}from"../../vendor/isEqual.B3w_axgp.min.js";import{F as ne,a as ie}from"../FrameBody.D3xcktWQ.min.js";import{F as oe}from"../FrameFooter.BOZVZXNi.min.js";import{u as re}from"../../vendor/formik.esm.CO3A2fll.min.js";import{T as Y}from"../Tokens.CYYXpmK2.min.js";import{s as Ds}from"../../vendor/sortBy.DuWaw1xS.min.js";import{u as Ls}from"../configHooks.DGQXWs_N.min.js";import{C as Ts}from"../CheckboxGroup.gHQ-WhxX.min.js";import{C as V}from"../Checkbox.-ymPbQa8.min.js";import{P as hs}from"../PageBox.D4qpI9k2.min.js";import"../DiscussionBookmarkToggle.CGuQpGte.min.js";import"../ActsAsCheckbox.DV1RKPcx.min.js";import"../ListItem.CHYy0A8W.min.js";import"../ListItem.styles.CKDgd_Tw.min.js";import"../TruncatedText.BGDEfxFZ.min.js";import"../HomeWidgetItemDefaultImage.D2haUrO0.min.js";import"../DiscussionOptionsMenu.CRBsMhEi.min.js";import"../ModalConfirm.jiDPv8SB.min.js";import"../Collections.variables.D97yWaSh.min.js";import"../ReportRecordOption.BZgPKGcQ.min.js";import"../reaction.yBpRDnc5.min.js";import"../List.COfoCKBi.min.js";import"../../vendor/clamp.CLeEA06_.min.js";import"../../vendor/_baseIsEqual.D3nqaYDG.min.js";function Ms(s){var d,l,x,S,I,v,p,T,c;const{discussions:t,discussionOptions:a,disableButtonsInItems:f,containerOptions:o,title:n,subtitle:i,description:u}=s,h=te(o);let r=0;t&&t.length<((o==null?void 0:o.maxColumnCount)??3)&&(r=((o==null?void 0:o.maxColumnCount)??3)-t.length);const g={...a,metas:{...a==null?void 0:a.metas,asIcons:!0,display:{...(d=a==null?void 0:a.metas)==null?void 0:d.display,category:!1,startedByUser:!1,lastUser:(x=(l=a==null?void 0:a.metas)==null?void 0:l.display)==null?void 0:x.lastUser,lastCommentDate:!1,viewCount:(I=(S=a==null?void 0:a.metas)==null?void 0:S.display)==null?void 0:I.viewCount,commentCount:(p=(v=a==null?void 0:a.metas)==null?void 0:v.display)==null?void 0:p.commentCount,score:(c=(T=a==null?void 0:a.metas)==null?void 0:T.display)==null?void 0:c.score,userTags:!1,unreadCount:!1}}};return e.jsxs(vs,{title:n,subtitle:i,description:u,options:{...o},extraHeader:s.assetHeader,children:[t&&t.map(P=>e.jsx(Fs,{noCheckboxes:s.noCheckboxes,discussion:P,className:ae().root,discussionOptions:g,asTile:!0,disableButtonsInItems:f},P.discussionID)),[...new Array(r)].map((P,R)=>e.jsx("div",{className:h.gridItemSpacer},"spacer-"+R))]})}function le(s){var a;const t=ps(s.apiParams,s.discussions);return t.status===j.LOADING||t.status===j.PENDING?e.jsx(Us,{}):!((a=t.data)!=null&&a.discussionList)||t.status===j.ERROR||t.error?e.jsx(xs,{apiError:t.error}):e.jsx(Ms,{discussions:t.data.discussionList,...s})}function ue(s){const{filter:t,onFilterChange:a,isMobile:f}=s,o=Hs(),n=ys("suggestedContentEnabled",!1);let i=[{name:m("All"),value:"all"}];((o==null?void 0:o.userID)??!1)&&(i.push({name:m("Followed Categories"),value:"followed"}),n&&i.push({name:m("Suggested Content"),value:"suggested"}));const u=C.useMemo(()=>i.find(r=>r.value===t),[t]),h=bs("discussionCategoryFilter");return e.jsx(e.Fragment,{children:i.length>1?e.jsxs("div",{className:E().filterAndSortingContainer,children:[!f&&e.jsxs("span",{id:h,className:E().filterAndSortingLabel,children:[m("Categories"),":"]}),e.jsx(Is,{className:E().filterAndSortingDropdown,buttonType:A.TEXT_PRIMARY,options:i,name:m("Categories"),describedBy:h,value:u,renderLeft:!1,horizontalOffset:!0,offsetPadding:!0,onChange:({value:r})=>{a(r)}})]}):null})}function ce(s){const{currentSort:t=w.RECENTLY_COMMENTED,selectSort:a,isMobile:f}=s,o=E(),n=C.useMemo(()=>bs("discussionSortBy"),[]),i=C.useMemo(()=>Object.entries(w).map(([g,d])=>({name:m(_s(g.toLowerCase())),value:d})),[]),u=C.useMemo(()=>i.find(({value:d})=>d===t),[t,i]),h=g=>{a(g.value)},r=f?e.jsx($,{icon:"data-sort-dropdown"}):null;return e.jsxs("div",{className:o.filterAndSortingContainer,children:[!f&&e.jsxs("span",{className:o.filterAndSortingLabel,id:n,children:[m("Sort by"),":"]}),e.jsx(Is,{className:o.filterAndSortingDropdown,buttonType:A.TEXT_PRIMARY,options:i,value:u,onChange:h,describedBy:n,name:m("Sort by"),renderLeft:!1,horizontalOffset:!0,offsetPadding:!0,overwriteButtonContents:r})]})}function de(){const{isSuccess:s,data:t}=Cs({queryKey:["tags",{type:"User"}],queryFn:async({queryKey:f})=>{const[o,n]=f,{data:i}=await Ss.get("/tags",{params:n});return Ds(i,[u=>u.name.toLowerCase()])}});return C.useMemo(()=>s?t.map(({tagID:f,name:o})=>({value:f.toString(),label:o})):[],[s,t])}function me(){const s={"plugins.qna":{label:m("Question"),value:"Question"},"plugins.ideation":{label:m("Idea"),value:"Idea"},"plugins.polls":{label:m("Poll"),value:"Poll"}},{status:t,data:a}=Ls(Object.keys(s));return C.useMemo(()=>{const o=[{label:m("Discussion"),value:"Discussion"}];return t===j.SUCCESS&&a&&Object.entries(s).forEach(([n,i])=>{a[n]&&o.push(i)}),o},[t,a])}function As(s){const t=Cs({queryKey:["discussionStatuses"],queryFn:async()=>{const{data:n}=await Ss.get("/discussions/statuses");return n}}),{data:a,isSuccess:f}=t;return C.useMemo(()=>{if(f){const n={question:{label:m("Q & A"),options:[]},ideation:{label:m("Ideas"),options:[]},internal:{label:m("Resolution Status"),options:[]}};return a.forEach(({statusID:i,name:u,recordSubtype:h,isInternal:r})=>{i>0&&n[r?"internal":h].options.push({value:i,label:m(u)})}),n.question.options=n.question.options.filter(({label:i})=>i!=="Rejected"),n.ideation.options=Ds(n.ideation.options,({label:i})=>i.toLowerCase()),s?n.internal.options:[n.question,n.ideation].filter(i=>i.options.length>0)}return[]},[f,a,s])}function fe(s){const t=G(),{value:a,onChange:f,label:o}=s,n=de(),i=C.useMemo(()=>a.split(",").map(h=>n.find(r=>r.value===h)).filter(h=>!!h),[a,n]),u=(h=[])=>{const r=h.map(g=>g.value);f(r.join(","))};return e.jsx(Y,{value:i,label:o,onChange:u,options:n,inModal:t,showIndicator:!0})}function he(s){const t=G(),{value:a,onChange:f,label:o,types:n=[]}=s,i=As(),u=C.useMemo(()=>{let d=[...i];return n.length>0&&(d=d.filter(({label:l})=>!!(l==="Q & A"&&n.includes("Question")||l==="Ideas"&&n.includes("Idea")))),d.map(l=>{var x,S;return(l==null?void 0:l.label)==="Q & A"?{...l,options:(x=l==null?void 0:l.options)==null?void 0:x.map(I=>({...I,label:`${m("Q & A")}: ${I.label}`}))}:(l==null?void 0:l.label)==="Ideas"?{...l,options:(S=l==null?void 0:l.options)==null?void 0:S.map(I=>({...I,label:`${m("Ideas")}: ${I.label}`}))}:l})},[i,n]),h=C.useMemo(()=>{if(u){const d=qs(u.map(l=>l.options));return a.map(l=>d.find(x=>x.value===l)).filter(l=>!!l)}return[]},[a,u]),r=d=>{const l=d.map(({value:x})=>parseInt(x));f(l)};if(u.length===0)return null;const g=({label:d})=>{const l=d.startsWith(`${m("Q & A")}: `)?d.replace(`${m("Q & A")}: `,""):d.startsWith(`${m("Ideas")}: `)?d.replace(`${m("Ideas")}: `,""):d;return e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"sr-only",children:d}),l]})};return e.jsx(Y,{value:h,options:u,onChange:r,label:o,inModal:t,showIndicator:!0,formatOptionLabel:g})}function ge(s){const t=G(),{value:a,onChange:f,label:o}=s,n=me(),i=C.useMemo(()=>a.map(h=>n.find(r=>r.value===h)).filter(h=>!!h),[a,n]),u=(h=[])=>{const r=h.map(g=>g.value);f(r)};return n.length===1?null:e.jsx(Y,{value:i,label:o,onChange:u,options:n,inModal:t,showIndicator:!0})}function Ce(s){const{value:t,onChange:a,label:f}=s,o=As(!0),n=Ls(["plugins.resolved"]),i=(u,h)=>{const{currentTarget:{checked:r}}=h;let g=[...t];const d=o.map(l=>l.value);g.length===0&&!r?g=d.filter(l=>l!==u.value):g.length===1&&r&&(g=[]),a(g)};return o.length===0||!n?null:e.jsx(Ts,{legend:f,children:o.map(u=>e.jsx(V,{label:u.label,onChange:h=>i(u,h),checked:t.length===0||t.indexOf(u.value)>-1},u.value))})}function pe(s){const{value:t,onChange:a,label:f}=s;function o(n){t===void 0?a(n==="hasNoCommentsCheckbox"):t===!0?n==="hasNoCommentsCheckbox"&&a(void 0):n==="hasCommentsCheckbox"&&a(void 0)}return e.jsxs(Ts,{legend:f,children:[e.jsx(V,{label:m("No Comments"),labelBold:!1,checked:t===!1||t===void 0,onChange:()=>o("hasNoCommentsCheckbox")},"hasNoCommentsCheckbox"),e.jsx(V,{label:m("Has Comments"),labelBold:!1,checked:t===!0||t===void 0,onChange:()=>o("hasCommentsCheckbox")},"hasCommentsCheckbox")]})}const L={type:[],tagID:"",internalStatusID:[],statusID:[],hasComments:void 0};function xe(s){const{apiParams:t,updateApiParams:a,forceOpen:f}=s,[o,n]=C.useState(f??!1),i=E(),{hasPermission:u}=W(),[h,r]=C.useState([]),g=u("community.manage"),{values:d,submitForm:l,setValues:x,isSubmitting:S,resetForm:I,dirty:v}=re({initialValues:L,onSubmit:(c,{setSubmitting:P})=>{a(c),P(!1),p()}}),p=()=>{n(!1)},T=()=>{a(L),I()};return C.useEffect(()=>{x({type:t.type??L.type,tagID:t.tagID??L.tagID,internalStatusID:t.internalStatusID??L.internalStatusID,statusID:t.statusID??L.statusID,hasComments:t.hasComments??L.hasComments})},[t,x]),e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:i.filterContainer,children:[e.jsxs(H,{buttonType:A.TEXT_PRIMARY,onClick:()=>n(!0),className:i.filterAndSortingButton,children:[m("Filters"),e.jsx($,{icon:`search-filter-small${v?"-applied":""}`})]}),v&&e.jsx(Qs,{label:m("Clear all filters"),children:e.jsx("span",{children:e.jsx(H,{title:m("Clear all filters"),buttonType:A.ICON_COMPACT,onClick:T,className:i.filterAndSortingButton,children:e.jsx(Vs,{})})})})]}),e.jsx($s,{isVisible:o,size:Gs.SMALL,exitHandler:p,id:"discussionListFilter",children:e.jsx("form",{onSubmit:c=>{c.preventDefault(),c.stopPropagation(),l()},children:e.jsx(ne,{header:e.jsx(Ws,{title:m("Filter Posts"),closeFrame:p}),body:e.jsxs(ie,{className:i.filterBody,children:[e.jsx(ge,{value:d.type,onChange:c=>{x({...d,type:c}),r(c)},label:m("Post Type")}),e.jsx(he,{value:d.statusID,onChange:c=>x({...d,statusID:c}),label:m("Post Status"),types:h}),g&&e.jsxs(e.Fragment,{children:[e.jsx(Ce,{value:d.internalStatusID,onChange:c=>x({...d,internalStatusID:c}),label:m("Resolution Status")}),e.jsx(pe,{label:m("Post Engagement"),value:d.hasComments,onChange:c=>x({...d,hasComments:c})})]}),e.jsx(fe,{value:d.tagID,onChange:c=>x({...d,tagID:c}),label:m("Tags")})]}),footer:e.jsxs(oe,{children:[e.jsx(H,{buttonType:A.TEXT,onClick:()=>I(),children:m("Clear All")}),e.jsx(H,{submit:!0,buttonType:A.TEXT_PRIMARY,disabled:S,children:m("Apply")})]})})})})]})}function ye(s){const{updateApiParams:t,apiParams:a,isPreview:f}=s,o=E(),{hasPermission:n}=W(),i=!s.noCheckboxes&&ys("ui.useAdminCheckboxes",!1)&&n("discussions.manage"),u=C.useRef(null),r=Ys(u).width<600;return e.jsxs("div",{className:ws(o.assetHeader,{[o.disablePointerEvents]:f}),ref:u,children:[e.jsxs("div",{children:[i&&e.jsx(Ns,{className:o.selectAllCheckBox,discussionIDs:s.discussionIDs??[]}),e.jsx(ue,{filter:a.followed?"followed":a.suggested?"suggested":"all",onFilterChange:g=>{t({followed:g==="followed",suggested:g==="suggested"})},isMobile:r}),e.jsx(ce,{currentSort:a.sort??w.RECENTLY_COMMENTED,selectSort:g=>t({sort:g}),isMobile:r}),e.jsx(xe,{apiParams:a,updateApiParams:t})]}),e.jsx("div",{children:s.paginationProps&&e.jsx(js,{...s.paginationProps,rangeOnly:!0})})]})}function be(s){var K,J,Z,ss,es,ts,as,ns,is,os,rs,ls,us,cs;const{discussions:t,title:a,subtitle:f,description:o,containerOptions:n}=s,i=C.useRef(null),[u,h]=C.useState(s.apiParams??{}),[r,g]=C.useState(s.initialPaging??{}),d=Xs(s.discussionOptions),{hasPermission:l}=W(),[x,S]=C.useState(!1),I=ks(),v=l("community.manage"),p=C.useMemo(()=>{var D,U,O;const y=u.sort,b={...u,sort:y,pinOrder:gs(y)};return(D=s.apiParams)!=null&&D.categoryID&&(b.categoryID=(U=s.apiParams)==null?void 0:U.categoryID),((O=b.internalStatusID)!=null&&O.length||b.hasComments!==void 0)&&!v&&(delete b.internalStatusID,delete b.hasComments,S(!0)),b},[s.apiParams,u,s.isPreview]),T=C.useMemo(()=>fs(s.apiParams,p)||s.isPreview?t:void 0,[p,r]),c=ps(p,T,r),P=s.isList||(n==null?void 0:n.displayType)===k.LIST,R=(n==null?void 0:n.displayType)===k.LINK,M=c&&c.status===j.SUCCESS,F=M&&((K=c.data)==null?void 0:K.discussionList)&&((J=c.data)==null?void 0:J.discussionList.length)===0,X=y=>{var O,ds;const b=y.page||1,D=y.sort||p.sort,U={...u,...y,page:b,pinOrder:gs(D)};h(U),y.page&&window.scrollTo({top:(O=i.current)!=null&&O.offsetTop?((ds=i.current)==null?void 0:ds.offsetTop)-10:0})},z={totalResults:r==null?void 0:r.total,currentPage:r==null?void 0:r.currentPage,pageLimit:r==null?void 0:r.limit,hasMorePages:r!=null&&r.total?(r==null?void 0:r.total)>=zs:!1},_=e.jsx(js,{...z,onChange:y=>X({page:y})}),N=e.jsx(ye,{discussionIDs:(ss=(Z=c.data)==null?void 0:Z.discussionList)==null?void 0:ss.map(y=>y.discussionID),noCheckboxes:s.noCheckboxes||R,paginationProps:z,apiParams:p,updateApiParams:X,isPreview:s.isPreview});let B=null,q=null;(c.status===j.LOADING||c.status===j.PENDING)&&(B=e.jsx(Os,{count:p.limit??10,displayType:n==null?void 0:n.displayType,containerProps:{...s,extraHeader:N},itemOptions:{excerpt:(ts=(es=s.discussionOptions)==null?void 0:es.excerpt)==null?void 0:ts.display,checkbox:!s.noCheckboxes,image:(ns=(as=s.discussionOptions)==null?void 0:as.featuredImage)==null?void 0:ns.display,icon:d.item.options.iconPosition!==ms.HIDDEN,iconInMeta:d.item.options.iconPosition===ms.META}})),(!((is=c.data)!=null&&is.discussionList)||c.status===j.ERROR||c.error)&&(q=e.jsx(xs,{apiError:c.error})),C.useEffect(()=>{if(s.apiParams.layoutViewType==="categoryList"&&(s.apiParams.categoryUrlCode&&I.pathname.includes(`categories/${s.apiParams.categoryUrlCode}/p`)||s.apiParams.categoryID&&I.pathname.includes(`categories/${s.apiParams.categoryID.toString()}/p`))){const b=window.location.href.split("/p")[0];window.history.replaceState(null,"",b)}},[]),C.useEffect(()=>{var y,b,D;c.status===j.SUCCESS&&((y=c.data)!=null&&y.pagination)&&!fs((b=c.data)==null?void 0:b.pagination,r)&&g((D=c.data)==null?void 0:D.pagination)},[c]);const Es={type:p.type,tagID:p.tagID,statusID:p.statusID,internalStatusID:p.internalStatusID,hasComments:p.hasComments,page:p.page,followed:p.followed,suggested:p.suggested,sort:p.sort},Q=e.jsx(Ks,{value:Es,defaults:{page:1,followed:!1,suggested:!1,sort:s.defaultSort},syncOnFirstMount:!0});return q||F||P?e.jsx(vs,{title:a,subtitle:f,description:o,options:{...s.containerOptions,isGrid:!1,displayType:k.LIST},extraHeader:N,children:e.jsxs("div",{ref:i,children:[Q,!M&&(q||B),M&&F&&e.jsx(hs,{options:{borderType:Js.SEPARATOR},children:m("No discussions were found.")}),M&&!F&&e.jsxs(e.Fragment,{children:[x&&e.jsx(Zs,{stringContents:m("You do not have permission to access one or more filters in the provided link."),type:"warning",onConfirm:()=>S(!1),icon:e.jsx($,{icon:"status-warning"})}),e.jsx(Rs,{noCheckboxes:s.noCheckboxes,discussions:(os=c.data)==null?void 0:os.discussionList,discussionOptions:s.discussionOptions,disableButtonsInItems:s.disableButtonsInItems})]}),_]})}):R?e.jsxs("div",{ref:i,children:[Q,M&&!F?e.jsx(Ps,{title:s.title,links:(ls=(rs=c.data)==null?void 0:rs.discussionList)==null?void 0:ls.map((y,b)=>({id:`${b}`,name:y.name??"",url:y.url??""})),containerOptions:s.containerOptions,extraHeader:N}):e.jsxs(se,{children:[e.jsx(ee,{title:a,options:{alignment:(us=s.containerOptions)==null?void 0:us.headerAlignment}}),N,e.jsx(hs,{children:B})]}),_]}):e.jsxs("div",{ref:i,children:[Q,M&&!F?e.jsx(Ms,{...s,discussions:(cs=c.data)==null?void 0:cs.discussionList,assetHeader:N}):B,_]})}function gs(s){const t=s??w.RECENTLY_COMMENTED;return[w.OLDEST,w.TOP].includes(t)?"mixed":"first"}function Je(s){var i;const{containerOptions:t}=s,a=!(t!=null&&t.displayType)||t.displayType===k.LIST,f=(t==null?void 0:t.displayType)===k.LINK,o=C.useMemo(()=>({...s.discussionOptions,featuredImage:{display:s.apiParams.featuredImage,fallbackImage:s.apiParams.fallbackImage}}),[s]),n=f?(i=s.discussions)==null?void 0:i.map((u,h)=>({id:`${h}`,name:u.name??"",url:u.url??""})):[];return s.isAsset?e.jsx(be,{...s,discussionOptions:o,isList:a}):a?e.jsx(Bs,{...s,discussionOptions:o,containerOptions:{...t,displayType:k.LIST}}):f?e.jsx(Ps,{title:s.title,links:n,containerOptions:s.containerOptions}):e.jsx(le,{...s,discussionOptions:o})}export{Je as DiscussionsWidget,Je as default};
