ode-explorer 1.1.0-develop-pedago-develop-pedago.202311221542 → 1.1.0-develop-pedago-develop-pedago.202311221804

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/index.js CHANGED
@@ -232,4 +232,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
232
232
  *
233
233
  * This source code is licensed under the MIT license found in the
234
234
  * LICENSE file in the root directory of this source tree.
235
- */var gl=x,yR=Vg;function wR(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var xR=typeof Object.is=="function"?Object.is:wR,SR=yR.useSyncExternalStore,bR=gl.useRef,ER=gl.useEffect,CR=gl.useMemo,RR=gl.useDebugValue;Sy.useSyncExternalStoreWithSelector=function(e,t,n,r,s){var i=bR(null);if(i.current===null){var o={hasValue:!1,value:null};i.current=o}else o=i.current;i=CR(function(){function l(m){if(!u){if(u=!0,c=m,m=r(m),s!==void 0&&o.hasValue){var g=o.value;if(s(g,m))return d=g}return d=m}if(g=d,xR(c,m))return g;var y=r(m);return s!==void 0&&s(g,y)?g:(c=m,d=y)}var u=!1,c,d,h=n===void 0?null:n;return[function(){return l(t())},h===null?void 0:function(){return l(h())}]},[t,n,r,s]);var a=SR(e,i[0],i[1]);return ER(function(){o.hasValue=!0,o.value=a},[a]),RR(a),a};xy.exports=Sy;var kR=xy.exports;const PR=Pa(kR),{useDebugValue:OR}=pm,{useSyncExternalStoreWithSelector:NR}=PR;function jR(e,t=e.getState,n){const r=NR(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return OR(r),r}const nm=e=>{const t=typeof e=="function"?vR(e):e,n=(r,s)=>jR(t,r,s);return Object.assign(n,t),n},TR=e=>e?nm(e):nm,by=async e=>{const t=await X.resource(e.app).searchContext(e);return{...t,folders:t.folders.filter(n=>!n.trashed)}},_R=async({searchParams:e,name:t,parentId:n})=>{const r={name:t,parentId:n,app:e.app,type:e.types[0]};return await X.resource(e.app).createFolder(r)},IR=async({folderId:e,searchParams:t,parentId:n,name:r})=>{const s={folderId:e,name:r,parentId:n,app:t.app,type:t.types[0]};return await X.resource(t.app).updateFolder(s)},AR=async({searchParams:e,resourceIds:t,useAssetIds:n,folderIds:r})=>{const s={application:e.app,resourceType:e.types[0],resourceIds:t,folderIds:r};return await X.resource(e.app).trashAll(s,n)},LR=async({searchParams:e,resourceIds:t,useAssetIds:n,folderIds:r})=>{const s={application:e.app,resourceType:e.types[0],resourceIds:t,folderIds:r};return await X.resource(e.app).deleteAll(s,n)},MR=async({searchParams:e,resourceIds:t,folderIds:n,useAssetIds:r})=>{const s={application:e.app,resourceType:e.types[0],resourceIds:t,folderIds:n};return await X.resource(e.app).restoreAll(s,r)},DR=async({searchParams:e,resourceIds:t,folderId:n,folderIds:r,useAssetIds:s})=>{const i={application:e.app,folderId:n,resourceIds:t,folderIds:r};return await X.resource(e.app).moveToFolder(i,s)},FR=async({searchParams:e,entId:t,shares:n})=>await X.share().saveRights(e.app,t,n),$R=async({searchParams:e,params:t})=>await X.resource(e.app).update(t),zR=async e=>await X.rights().sessionHasWorkflowRights(e),UR=({searchParams:e,assetId:t})=>X.resource(e.app).gotoView(t),BR=({searchParams:e,params:t})=>X.resource(e.app).create(t),VR=({searchParams:e,assetId:t})=>X.resource(e.app).gotoPrint(t),HR=async({searchParams:e,params:t})=>await X.resource(e.app).publish(t),qR=async()=>await X.conf().getPreference("showOnboardingTrash"),QR=async({onSuccess:e})=>{const t=await X.conf().savePreference("showOnboardingTrash",JSON.stringify({showOnboardingTrash:!1}));return e==null||e(),t};function mf(e){return e.filter((t,n)=>e.indexOf(t)===n)}function xi(e,t){var r,s;let n;return(t==null?void 0:t.id)===e?t:((r=t==null?void 0:t.children)!=null&&r.length&&((s=t==null?void 0:t.children)==null||s.every(i=>(n=xi(e,i),n===void 0))),n)}function WR(e,t){var r;const n=xi(e,t);return(r=n==null?void 0:n.folder)!=null&&r.ancestors?[...(n==null?void 0:n.folder.ancestors)||[],e]:e===Ge.BIN?[Ge.BIN]:[Ge.DEFAULT]}function Ey(e,t){return t.id===e&&t.children?t.children.length>0:t.children?t.children.some(n=>Ey(t.id,n)):!1}function Mi(e,t){return Cy(e,t)||e}function Cy(e,t,n){var s;const r=t(e,n);if((s=r==null?void 0:r.children)!=null&&s.length){const i=[];for(const o of(r==null?void 0:r.children)||[]){const a=Cy(o,t,r);a&&i.push(a)}return{...r,children:i}}return r}class vl{constructor(t){cr(this,"id");cr(this,"name");cr(this,"childNumber");cr(this,"section",!1);cr(this,"children",[]);this.folder=t,this.id=t.id,this.name=t.name,this.childNumber=t.childNumber}}const Ry=(e,t,n)=>Mi(e,r=>(r.id===n&&(r.children=t==null?void 0:t.map(s=>new vl(s))),r)),{app:KR,types:ZR,filters:GR,orders:XR}=ml(),Fe=TR()((e,t)=>({filters:GR,orders:XR,searchConfig:{minLength:1},searchParams:{app:KR,types:ZR,filters:{folder:"default",owner:void 0,shared:void 0,public:void 0},orders:{updatedAt:"desc"},pagination:{startIdx:0,pageSize:48,maxIdx:0},trashed:!1},treeData:{id:Ge.DEFAULT,name:qt("explorer.filters.mine"),section:!0,children:[]},selectedNodesIds:["default"],currentFolder:{id:"default"},selectedFolders:[],selectedResources:[],folderIds:[],resourceIds:[],resourceIsTrash:!1,resourceActionDisable:!1,status:void 0,updaters:{setSearchConfig:n=>e(r=>({searchConfig:{...r.searchConfig,...n}})),setTreeData:n=>e(()=>({treeData:n})),setSearchParams:n=>{e(r=>{const{searchParams:s}=r;return s.search!==n.search?(console.log({previousSearchParams:s}),n.search?{...r,selectedFolders:[],selectedNodesIds:[],selectedResources:[],currentFolder:void 0,searchParams:{...s,...n,trashed:!1,filters:{...s.filters,folder:void 0}}}:{...r,selectedFolders:[],selectedNodesIds:["default"],selectedResources:[],currentFolder:{id:"default"},searchParams:{...s,...n,trashed:!1,filters:{...s.filters}}}):{searchParams:{...s,...n}}})},setSelectedFolders:n=>e(()=>({selectedFolders:n})),setSelectedResources:n=>e(()=>({selectedResources:n})),setFolderIds:n=>e(()=>({folderIds:n})),setResourceIds:n=>e(()=>({resourceIds:n})),setResourceIsTrash:n=>e(()=>({resourceIsTrash:n})),setResourceActionDisable:n=>e(()=>({resourceActionDisable:n})),setCurrentFolder:n=>e(()=>({currentFolder:n})),clearSelectedItems:()=>e(()=>({selectedFolders:[],selectedResources:[]})),clearSelectedIds:()=>e(()=>({resourceIds:[],folderIds:[]})),openResource:n=>{try{const{searchParams:r}=t();UR({searchParams:r,assetId:n.assetId})}catch(r){console.error("explorer open failed: ",r)}},printSelectedResource:()=>{try{const{searchParams:n,selectedResources:r,resourceIds:s}=t();if(r.length!==1)throw new Error("Cannot open more than 1 resource");const i=r.find(o=>o.id===s[0]);VR({searchParams:n,assetId:i.assetId})}catch(n){console.error("explorer print failed: ",n)}},publishApi:async(n,r)=>{const{searchParams:s}=t();return await HR({searchParams:s,params:r})},openFolder:({folderId:n,folder:r})=>{const{searchParams:s,treeData:i}=t(),o=s.filters.folder,a=WR(n,i),l=mf([...a,n]);o!==n&&e(u=>({...u,folderIds:[],resourceIds:[],selectedNodesIds:l,currentFolder:r||{id:n},searchParams:{...s,search:void 0,filters:{...s.filters,folder:n},trashed:n===Ge.BIN}}))},foldTreeItem:()=>e(n=>({...n,status:"fold"})),unfoldTreeItem:async(n,r)=>{const{treeData:s,searchParams:i}=t();if(e(o=>({...o,status:"unfold"})),!Ey(n,s)){await r.prefetchInfiniteQuery({queryKey:["prefetchContext",{folderId:n,trashed:!1}],queryFn:async()=>await by({...i,filters:{...i.filters,folder:n}})});const o=r.getQueryData(["prefetchContext",{folderId:n,trashed:!1}]);e(a=>{var l;return{...a,treeData:Ry(s,(l=o==null?void 0:o.pages[0])==null?void 0:l.folders,n||Ge.DEFAULT)}})}},selectTreeItem:n=>{const{treeData:r}=t(),{openFolder:s}=t().updaters,i=xi(n,r);V4()(),e(a=>({...a,searchParams:{...a.searchParams,search:void 0},status:"select",selectedResources:[]})),s({folder:i,folderId:n})},gotoPreviousFolder:()=>{const{selectedNodesIds:n,treeData:r}=t(),{openFolder:s}=t().updaters,i=n.length;if(i<2)return;const o=xi(n[i-2],r);s({folder:o,folderId:(o==null?void 0:o.id)||Ge.DEFAULT})},goToTrash:()=>e(n=>({...n,selectedNodesIds:[],selectedResources:[],resourceIds:[],folderIds:[],searchParams:{...n.searchParams,filters:{folder:Ge.BIN},trashed:!0},currentFolder:{id:Ge.BIN}}))}})),ot=()=>Fe(e=>e.searchParams),gf=()=>Fe(e=>e.selectedNodesIds),ts=()=>Fe(e=>e.treeData),YR=()=>Fe(e=>e.selectedFolders),JR=()=>Fe(e=>e.selectedResources),e8=()=>Fe(e=>e.searchConfig),Di=()=>Fe(e=>e.folderIds),Fi=()=>Fe(e=>e.resourceIds),yl=()=>Fe(e=>e.selectedResources.map(t=>t.assetId)),wl=()=>Fe(e=>e.selectedResources.filter(t=>t.assetId===t.id)),ns=()=>Fe(e=>e.currentFolder),je=()=>Fe(e=>e.updaters),rs=()=>{const e=ns();return(e==null?void 0:e.id)===Ge.BIN},ky=()=>Fe(e=>e.resourceIsTrash),t8=()=>Fe(e=>e.resourceActionDisable),n8=()=>{const e=ns();return(e==null?void 0:e.id)==="default"},r8=()=>gf().length>1,s8=()=>Fe(e=>e.status),Py=()=>{const e=ot(),[t,n]=x.useState(""),r=U4(t,500),s=e8(),i=s8(),{setSearchParams:o}=je(),a=c=>{const d=c.target.value;n(d.toString())},l=c=>{(c.key==="Enter"||c.key==="Return")&&(c.preventDefault(),o({search:t||void 0}))},u=c=>{c.preventDefault(),o({search:r||void 0})};return x.useEffect(()=>{const d=r.length==0||r.length>=s.minLength?{search:r||void 0}:{};o({...e,...d})},[r,s.minLength]),x.useEffect(()=>{i==="select"&&n("")},[i]),x.useEffect(()=>{var c;n(()=>{var d;return((d=e.search)==null?void 0:d.toString())??""}),e&&console.log((c=e.search)==null?void 0:c.toString())},[e]),{inputSearch:t,handleInputSearchChange:a,handleKeyPress:l,handleSearchSubmit:u}};function i8(){const{appCode:e}=yt(),t=gf(),n=rs(),r=ns(),{t:s}=ye(["common",e]),{gotoPreviousFolder:i}=je(),{inputSearch:o}=Py(),a=s("explorer.tree.trash"),l=s("explorer.tree.search"),u=s("explorer.filters.mine",{ns:e}),c=(r==null?void 0:r.name)||u;return f.jsx("div",{className:"py-16",children:t.length>1&&!n?f.jsxs("div",{className:"d-flex align-items-center gap-8",children:[f.jsx(Ka,{icon:f.jsx(K4,{}),variant:"ghost",color:"tertiary","aria-label":s("back"),className:"ms-n16",onClick:i}),f.jsx("p",{className:"body py-8 text-truncate",children:f.jsx("strong",{children:c})})]}):f.jsx("h2",{className:"body py-8 fw-bold",children:o.length!==0?l:n?a:u})})}function o8(e,{parentId:t,newFolder:n}){return Mi(e,r=>{var s;if(r.id===t){const i=[...((s=r.folder)==null?void 0:s.ancestors)||[]],o=mf([...i,r.id]);return{...r,children:[...r.children||[],new vl({...n,ancestors:o})]}}else return r})}function a8(e,{folders:t}){return Mi(e,n=>{if(!t.includes(n.id))return n})}function l8(e,{destinationId:t,folders:n}){return Mi(e,(r,s)=>{var i,o;if(t===r.id){const a=[...((i=r.folder)==null?void 0:i.ancestors)||[]],l=mf([...a,r.id]),u=[...r.children||[]],c=((o=r.children)==null?void 0:o.map(h=>h.id))||[];for(const h of n)if(!c.includes(h)){const m=xi(h,e);m&&u.push({...m,folder:{...m==null?void 0:m.folder,ancestors:l}})}return{...r,children:u}}else return n.includes(r.id)&&t!==(s==null?void 0:s.id)?void 0:r})}function u8(e,{folderId:t,newFolder:n}){return Mi(e,r=>r.id===t?new vl(n):r)}const{actions:rm,app:c8}=ml(),Oy=()=>Id({queryKey:["actions"],queryFn:async()=>{const e=rm.map(n=>n.workflow);return await zR(e)},select:e=>rm.map(t=>({...t,available:e[t.workflow]}))}),d8=()=>{const{hotToast:e}=jt(Tt),{appCode:t}=yt(),{t:n}=ye(),r=it(),s=ot(),i=ns(),o=ts(),{setTreeData:a,setSearchParams:l,setSearchConfig:u}=je(),{filters:c,trashed:d,search:h}=s,m=["context",{folderId:c.folder,filters:c,trashed:d,search:h}];return zS({queryKey:m,queryFn:async({pageParam:g=0})=>await by({...s,pagination:{...s.pagination,startIdx:g}}),onError(g){typeof g=="string"&&e.error(n(g))},onSuccess:async g=>{var S,p,v;await r.cancelQueries({queryKey:m});const y=[...((S=g==null?void 0:g.pages[0])==null?void 0:S.folders)??[]];(p=g==null?void 0:g.pages[0])!=null&&p.searchConfig&&u(g.pages[0].searchConfig),s.search||((i==null?void 0:i.id)==="default"?a({id:Ge.DEFAULT,section:!0,children:y.map(w=>new vl(w)),name:n("explorer.filters.mine",{ns:t})}):a(Ry(o,y,s.filters.folder||Ge.DEFAULT))),l({...s,pagination:(v=g==null?void 0:g.pages[(g==null?void 0:g.pages.length)-1])==null?void 0:v.pagination})},retry:!1,getNextPageParam:g=>g.pagination.startIdx+g.pagination.pageSize})},ck=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),r=ts(),s=Di(),i=yl(),o=Fi(),a=wl().length>0,l=a?i:o,{clearSelectedItems:u,clearSelectedIds:c,setTreeData:d,setSearchParams:h}=je(),{filters:m,trashed:g}=n,y=["context",{folderId:m.folder,filters:m,trashed:g}];return an({mutationFn:async()=>await AR({searchParams:n,folderIds:s,resourceIds:l,useAssetIds:a}),onError(S){typeof S=="string"&&e.error(qt(S))},onSuccess:async S=>{if(await t.cancelQueries({queryKey:y}),t.getQueryData(y))return t.setQueryData(y,v=>{var w;if(v){const b={...v,pages:v==null?void 0:v.pages.map(R=>{var k;return{...R,folders:R.folders.filter(P=>!s.includes(P.id)),pagination:{...R.pagination,maxIdx:((k=R==null?void 0:R.pagination)==null?void 0:k.maxIdx)-S.resources.length},resources:R.resources.filter(P=>a?!i.includes(P.assetId):!l.includes(P.id))}})},C=a8(r,{folders:s});return d(C),h({...n,pagination:{...n.pagination,maxIdx:((w=n.pagination)==null?void 0:w.maxIdx)-S.resources.length}}),b}})},onSettled:()=>{u(),c()}})},f8=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),r=Di(),s=yl(),i=Fi(),o=wl().length>0,a=o?s:i,{setFolderIds:l,setResourceIds:u,setSelectedResources:c,setSelectedFolders:d}=je(),{filters:h,trashed:m}=n,g=["context",{folderId:h.folder,filters:h,trashed:m}];return an({mutationFn:async()=>await MR({searchParams:n,folderIds:r,resourceIds:a,useAssetIds:o}),onError(y){typeof y=="string"&&e.error(qt(y))},onSuccess:async()=>{if(await t.cancelQueries({queryKey:g}),t.getQueryData(g))return t.setQueryData(g,S=>{if(S)return{...S,pages:S==null?void 0:S.pages.map(p=>({...p,folders:p.folders.filter(v=>!r.includes(v.id)),resources:p.resources.filter(v=>o?!s.includes(v.assetId):!a.includes(v.id))}))}})},onSettled:()=>{u([]),c([]),l([]),d([])}})},dk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),r=Di(),s=yl(),i=Fi(),o=wl().length>0,a=o?s:i,{clearSelectedItems:l,clearSelectedIds:u}=je(),{filters:c,trashed:d}=n,h=["context",{folderId:c.folder,filters:c,trashed:d}];return an({mutationFn:async()=>await LR({searchParams:n,folderIds:r,resourceIds:a,useAssetIds:o}),onError(m){typeof m=="string"&&e.error(qt(m))},onSuccess:async()=>{if(await t.cancelQueries({queryKey:h}),t.getQueryData(h))return t.setQueryData(h,g=>{if(g)return{...g,pages:g==null?void 0:g.pages.map(S=>({...S,folders:S.folders.filter(p=>!r.includes(p.id)),resources:S.resources.filter(p=>o?!s.includes(p.assetId):!a.includes(p.id))}))}})},onSettled:()=>{l(),u()}})},fk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),r=ts(),s=Di(),i=yl(),o=Fi(),a=wl().length>0,l=a?i:o,{clearSelectedIds:u,clearSelectedItems:c,setTreeData:d,setSearchParams:h}=je(),{filters:m,trashed:g}=n,y=["context",{folderId:m.folder,filters:m,trashed:g}];return an({mutationFn:async S=>await DR({searchParams:n,folderId:S,folderIds:s,resourceIds:l,useAssetIds:a}),onError(S){typeof S=="string"&&e.error(qt(S))},onSuccess:async(S,p)=>{if(t.getQueryData(y))return t.setQueryData(y,w=>{var b;if(w){const C=l8(r,{destinationId:p,folders:s}),R={...w,pages:w==null?void 0:w.pages.map(k=>{var P;return{...k,folders:k.folders.filter(_=>!s.includes(_.id)),pagination:{...k.pagination,maxIdx:((P=k.pagination)==null?void 0:P.maxIdx)-S.resources.length},resources:k.resources.filter(_=>a?!i.includes(_.assetId):!l.includes(_.id))}})};return d(C),h({...n,pagination:{...n.pagination,maxIdx:((b=n.pagination)==null?void 0:b.maxIdx)-S.resources.length}}),R}})},onSettled:()=>{c(),u()}})},hk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),r=ts(),{setTreeData:s}=je(),{filters:i,trashed:o}=n,a=["context",{folderId:i.folder,filters:i,trashed:o}];return an({mutationFn:async({name:l,parentId:u})=>await _R({searchParams:n,name:l,parentId:u}),onError(l){typeof l=="string"&&e.error(qt(l))},onSuccess:async(l,u)=>{await t.cancelQueries({queryKey:a});const c=t.getQueryData(a),d={...l,parentId:u.parentId,children:[],rights:[`creator:${l==null?void 0:l.creator_id}`]};if(c)return t.setQueryData(a,h=>{if(h){const m={...h,pages:h==null?void 0:h.pages.map(y=>({...y,folders:[...y.folders,d]}))},g=o8(r,{parentId:u.parentId,newFolder:d});return s(g),m}})}})},pk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),r=ts(),{setFolderIds:s,setSelectedFolders:i,setTreeData:o}=je(),{filters:a,trashed:l}=n,u=["context",{folderId:a.folder,filters:a,trashed:l}];return an({mutationFn:async({folderId:c,name:d,parentId:h})=>await IR({searchParams:n,folderId:c,parentId:h,name:d}),onError(c){typeof c=="string"&&e.error(qt(c))},onSuccess:async(c,d)=>{if(await t.cancelQueries({queryKey:u}),t.getQueryData(u))return t.setQueryData(u,m=>{if(m){const g={...m,pages:m==null?void 0:m.pages.map(S=>({...S,folders:S.folders.map(p=>p.id===c.id?{...c,parentId:d.parentId,rights:p.rights}:p)}))},y=u8(r,{folderId:d.folderId,newFolder:c});return o(y),g}})},onSettled:()=>{s([]),i([])}})},mk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),{setResourceIds:r,setSelectedResources:s}=je(),{filters:i,trashed:o}=n,a=["context",{folderId:i.folder,filters:i,trashed:o}];return an({mutationFn:async({entId:l,shares:u})=>await FR({searchParams:n,entId:l,shares:u}),onError(l){typeof l=="string"&&e.error(qt(l))},onSuccess:async(l,u)=>{if(await t.cancelQueries({queryKey:a}),t.getQueryData(a))return t.setQueryData(a,d=>{if(d)return{...d,pages:d==null?void 0:d.pages.map(h=>({...h,resources:h.resources.map(m=>{if(m.assetId===(u==null?void 0:u.entId)){let g=[`creator:${m.creatorId}`];return(u==null?void 0:u.shares.length)>=1&&(g=[...g,...u.shares.flatMap(y=>y.actions.map(S=>`${y.type}:${y.id}:${S.id}`))]),{...m,rights:g}}else return m})}))}})},onSettled:()=>{r([]),s([])}})},gk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),{filters:r,trashed:s}=n,i=["context",{folderId:r.folder,filters:r,trashed:s}];return an({mutationFn:async o=>await $R({searchParams:n,params:o}),onError(o){typeof o=="string"&&e.error(qt(o))},onSuccess:async(o,a)=>{if(await t.cancelQueries({queryKey:i}),t.getQueryData(i))return t.setQueryData(i,u=>{if(u)return{...u,pages:u==null?void 0:u.pages.map(c=>({...c,resources:c.resources.map(d=>{if(d.assetId===(a==null?void 0:a.entId)){const{name:h,thumbnail:m,public:g,description:y,slug:S,...p}=a;return{...d,...p,name:h,thumbnail:typeof m=="string"?m:URL.createObjectURL(m),public:g,description:y,slug:S}}else return d})}))}})}})},vk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),{user:r}=Ld(),s=["context",{folderId:n.filters.folder,filters:n.filters,trashed:n.trashed}];return an({mutationFn:async i=>await BR({searchParams:n,params:i}),onError(i){typeof i=="string"&&e.error(qt(i))},onSuccess:async(i,o)=>{var c,d,h;await t.cancelQueries({queryKey:s});const a=t.getQueryData(s),{thumbnail:l}=o,u={...o,thumbnail:l?URL.createObjectURL(l):"",application:c8,assetId:i._id||i.entId||"",id:i._id||i.entId||"",creatorId:r==null?void 0:r.userId,creatorName:r==null?void 0:r.username,createdAt:Date.now(),slug:o.slug||"",modifiedAt:((c=i.modified)==null?void 0:c.$date)||"",modifierId:((d=i.author)==null?void 0:d.userId)||"",modifierName:((h=i.author)==null?void 0:h.username)||"",updatedAt:Date.now(),trashed:!1,rights:[`creator:${r==null?void 0:r.userId}`]};if(a)return t.setQueryData(s,m=>{if(m)return{...m,pages:m==null?void 0:m.pages.map(g=>({...g,resources:[u,...g.resources]}))}})}})},{trashActions:h8}=ml();function Ny(){const[e,t]=x.useState(!1),[n,r]=x.useState("void"),[s,i]=x.useState(),{t:o}=ye(),{hotToast:a}=jt(Tt),l=ns(),u=Fi(),c=JR(),d=YR(),h=Di(),m=rs(),g=f8(),y=ky(),{openResource:S,printSelectedResource:p,openFolder:v,clearSelectedItems:w,clearSelectedIds:b}=je(),{data:C}=Oy();x.useEffect(()=>{if(u.length===0&&h.length===0){t(!1);return}if(y){t(!1);return}t(!0)},[u,h]);async function R(G){var pe;switch((pe=document.getElementById("root"))==null||pe.setAttribute("aria-hidden","true"),i(G),G.id){case $e.OPEN:return u.length>0?S(c[0]):v({folder:d[0],folderId:d[0].id});case $e.MOVE:return r("move");case $e.PRINT:return p();case $e.DELETE:return r("delete");case $e.RESTORE:return await _();case $e.PUBLISH:return r("publish");case $e.UPD_PROPS:case"edit":return we();case $e.SHARE:return r("share");default:throw Error(`Unknown action: ${G.id}`)}}function k(G){const pe=u.length+h.length,_t=u.length===1||h.length===1,It=pe===1,un=h.length===0;switch(G.id){case $e.OPEN:return It;case $e.MANAGE:return _t;case $e.PUBLISH:return _t&&un;case $e.UPD_PROPS:return _t&&un;case $e.SHARE:return un&&_t;case $e.PRINT:return _t&&un;case"edit":return It;default:return!0}}function P(){return!0}async function _(){try{if(m)await g.mutate(),a.success(o("explorer.trash.toast"));else throw new Error("Cannot restore untrashed resources");F()}catch(G){console.error(G)}}function F(){var G;r("void"),s!=null&&s.id&&((G=document.getElementById(s==null?void 0:s.id))==null||G.focus())}const A=G=>()=>{n===G&&(F(),w(),b())},I=A("move"),U=A("move"),$=A("delete"),E=A("delete"),O=A("publish"),L=A("publish"),N=A("edit_folder"),D=A("edit_folder"),M=A("edit_resource"),K=A("edit_resource"),Z=A("share"),le=A("share");function we(){u&&u.length>0?r("edit_resource"):r("edit_folder")}function xe(G){return G.id==="edit"&&h.length>0?"explorer.rename":`explorer.actions.${G.id}`}return{onRestore:_,actions:m?h8:C,selectedElement:[...c,...d],currentFolderId:l==null?void 0:l.id,overrideLabel:xe,handleClick:R,isActivable:m?P:k,isActionBarOpen:e,isMoveModalOpen:n==="move",onMoveCancel:I,onMoveSuccess:U,isDeleteModalOpen:n==="delete",onDeleteCancel:E,onDeleteSuccess:$,isPublishModalOpen:n==="publish",onPublishCancel:L,onPublishSuccess:O,isEditFolderOpen:n==="edit_folder",onEditFolderCancel:D,onEditFolderSuccess:N,isEditResourceOpen:n==="edit_resource",onEditResourceCancel:K,onEditResourceSuccess:M,isShareResourceOpen:n==="share",onShareResourceCancel:le,onShareResourceSuccess:Z,onClearActionBar:F}}function p8({roles:e,rights:t,action:n}){const[r,s]=x.useState(!1),{user:i}=Ld(),o=rs();x.useEffect(()=>{u()},[e,t]);const a=async function(c){const d=c instanceof Array?c:[c];if(e instanceof Array){const h=await X.rights().sessionHasAtLeastOneResourceRight(e,d);s(h)}else{const h=await X.rights().sessionHasResourceRight(e,d);s(h)}},l=async function(c){if(e instanceof Array){const d=await X.rights().sessionHasAtLeastOneResourceRightForEachList(e,c);s(d)}else{const d=await X.rights().sessionHasResourceRightForEachList(e,c);s(d)}},u=async function(){var c,d,h;if(e===void 0){s(!0);return}if(o&&((d=(c=t[0])==null?void 0:c.trashedBy)!=null&&d.includes(i==null?void 0:i.userId))&&n==="restore"&&!((h=t[0])!=null&&h.trashed)){s(!0);return}if(t instanceof Array)if(t.length>0)if(typeof t[0]=="string")await a(t);else{const m=t.map(g=>g.rights);await l(m)}else s(!1);else typeof t=="string"?await a(t):await a(t.rights)};return{visible:r,refreshState:u}}function m8({resourceRights:e,roleExpected:t,action:n,children:r,renderWhenForbidden:s}){const{t:i}=ye(),{overrideLabel:o}=Ny(),{visible:a}=p8({roles:t,rights:e,action:n==null?void 0:n.id}),{setResourceActionDisable:l}=je(),u=rs();return a?f.jsx(f.Fragment,{children:r}):s?s():u&&!a?f.jsx(Jr,{type:"button",color:"primary",variant:"filled",onClick:()=>{l(!0)},children:i(o(n))}):f.jsx(f.Fragment,{})}const g8=x.lazy(async()=>await ve(()=>import("./ShareResourceModal.js"),["ShareResourceModal.js","Tooltip.js"])),v8=x.lazy(async()=>await ve(()=>import("./DeleteModal.js"),[])),y8=x.lazy(async()=>await ve(()=>import("./MoveModal.js"),[])),w8=x.lazy(async()=>await ve(()=>import("./EditFolderModal.js"),["EditFolderModal.js","index.esm.js"])),x8=x.lazy(async()=>await ve(()=>import("./EditResourceModal.js"),["EditResourceModal.js","index.esm.js","TextArea.js"])),S8=x.lazy(async()=>await ve(()=>import("./PublishModal.js"),["PublishModal.js","index.esm.js","TextArea.js"]));function b8(){const{t:e}=ye(),{actions:t,selectedElement:n,isMoveModalOpen:r,isDeleteModalOpen:s,isPublishModalOpen:i,isActionBarOpen:o,isEditFolderOpen:a,overrideLabel:l,onEditFolderCancel:u,onEditFolderSuccess:c,isEditResourceOpen:d,onEditResourceCancel:h,onEditResourceSuccess:m,isShareResourceOpen:g,onShareResourceCancel:y,onShareResourceSuccess:S,onMoveCancel:p,onMoveSuccess:v,onDeleteCancel:w,onDeleteSuccess:b,onPublishCancel:C,onPublishSuccess:R,isActivable:k,handleClick:P}=Ny(),_=tf(o,{from:{opacity:0,transform:"translateY(100%)"},enter:{opacity:1,transform:"translateY(0)"},leave:{opacity:0,transform:"translateY(100%)"}});return f.jsxs(f.Fragment,{children:[_((F,A)=>A&&f.jsx(Ca.div,{className:"position-fixed bottom-0 start-0 end-0 z-3",style:F,children:f.jsx(H4,{children:t==null?void 0:t.filter(I=>I.available&&I.target==="actionbar").map(I=>k(I)&&f.jsx(m8,{resourceRights:n,roleExpected:I.right,action:I,children:f.jsx(Jr,{id:I.id,type:"button",color:"primary",variant:"filled",onClick:()=>{P(I)},children:e(l(I))},I.id)},I.id))})})),f.jsxs(x.Suspense,{fallback:f.jsx(Ve,{}),children:[r&&f.jsx(y8,{isOpen:r,onCancel:p,onSuccess:v}),s&&f.jsx(v8,{isOpen:s,onCancel:w,onSuccess:b}),i&&f.jsx(S8,{isOpen:i,onCancel:C,onSuccess:R}),a&&f.jsx(w8,{edit:!0,isOpen:a,onCancel:u,onSuccess:c}),d&&f.jsx(x8,{edit:!0,isOpen:d,onCancel:h,onSuccess:m}),g&&f.jsx(g8,{isOpen:g,onCancel:y,onSuccess:S})]})]})}const{http:yk}=_y.instance(),E8={blog:"Blog",mindmap:"MindMap",scrapbook:"ScrapBook",collaborativewall:"CollaborativeWall",timelinegenerator:"TimelineGenerator",wiki:"Wiki",exercizer:"Exercizer"},C8=()=>{var l;const{user:e,appCode:t}=yt(),n=E8[t],r=(l=e.apps.find(u=>u.isExternal&&u.address.includes("library")&&u.name.includes("library")))==null?void 0:l.address.split("?");let s=r==null?void 0:r[0];s!=null&&s.endsWith("/")||(s=`${s}/`);const i=r==null?void 0:r[1],o=`application%5B0%5D=${n}&page=1&sort_field=views&sort_order=desc`;return{libraryUrl:`${s}search/?${i}&${o}`}},R8=x.lazy(async()=>await ve(()=>import("./EmptyScreenApp.js"),["EmptyScreenApp.js","EmptyScreen.js"])),k8=x.lazy(async()=>await ve(()=>import("./EmptyScreenSearch.js"),["EmptyScreenSearch.js","EmptyScreen.js"])),P8=x.lazy(async()=>await ve(()=>import("./EmptyScreenError.js"),["EmptyScreenError.js","EmptyScreen.js"])),O8=x.lazy(async()=>await ve(()=>import("./EmptyScreenNoContentInFolder.js"),["EmptyScreenNoContentInFolder.js","EmptyScreen.js"])),N8=x.lazy(async()=>await ve(()=>import("./EmptyScreenTrash.js"),["EmptyScreenTrash.js","EmptyScreen.js"])),j8=x.lazy(async()=>await ve(()=>import("./FoldersList.js"),["FoldersList.js","Card.js"])),T8=x.lazy(async()=>await ve(()=>import("./ResourcesList.js"),["ResourcesList.js","Tooltip.js","Card.js"])),_8=()=>{const e=n8(),t=rs(),n=r8(),r=ot(),{data:s,isError:i,isLoading:o,isFetching:a,fetchNextPage:l}=d8(),u=(s==null?void 0:s.pages[0].folders.length)===0,c=(s==null?void 0:s.pages[0].resources.length)===0,d=u&&c;return i?f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(P8,{})}):r.search&&d?f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(k8,{})}):!d&&!o?f.jsxs(x.Suspense,{fallback:f.jsx(Ve,{}),children:[f.jsx(j8,{data:s,isFetching:a}),f.jsx(T8,{data:s,isFetching:a,fetchNextPage:l})]}):e&&d?f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(R8,{})}):n&&d&&!t?f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(O8,{})}):t&&(s==null?void 0:s.pages[0].resources.length)===0?f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(N8,{})}):null};function I8({isOpen:e,onCancel:t=()=>({})}){const{t:n}=ye();return Pi.createPortal(f.jsxs(bn,{isOpen:e,onModalClose:t,id:"trash_action_disable_resource",children:[f.jsx(bn.Header,{onModalClose:()=>t(),children:n("explorer.trash.action.modal.title")}),f.jsx(bn.Body,{children:f.jsx("p",{className:"body",children:n("explorer.trash.action.modal.text")})}),f.jsx(bn.Footer,{children:f.jsx(Jr,{color:"primary",onClick:t,type:"button",variant:"outline",children:n("close")})})]}),document.getElementById("portal"))}const A8=()=>{const{appCode:e,currentApp:t}=yt(),{t:n}=ye(),[r,s]=x.useState(""),i=c=>{if(c==="0"){s("");return}s(c)},o=ns(),a=ot(),{setSearchParams:l}=je();x.useEffect(()=>{const c=()=>r.includes("1")?!0:void 0,d=()=>r.includes("2")?!0:void 0,h=()=>r.includes("7")?!0:void 0;l({...a,filters:{owner:c(),public:h(),shared:d(),folder:o?o.id:"default"}})},[o,l,r]);const u=[{label:n("explorer.filter.all",{ns:e}),value:"0"},{label:n("explorer.filter.owner",{ns:e}),value:"1"},{label:n("explorer.filter.shared",{ns:e}),value:"2"},...(t==null?void 0:t.displayName)==ho.EXERCIZER?[{label:"Exercices interactifs",value:"3"}]:[],...(t==null?void 0:t.displayName)==ho.EXERCIZER?[{label:"Exercices à rendre",value:"4"}]:[],...(t==null?void 0:t.displayName)=="pages"?[{label:"Projets publics",value:"5"}]:[],...(t==null?void 0:t.displayName)=="pages"?[{label:"Projets internes",value:"6"}]:[],...(t==null?void 0:t.displayName)==ho.BLOG?[{label:n("explorer.filter.public",{ns:e}),value:"7"}]:[]];return{selectedFilters:r,options:u,handleOnSelectFilter:i}},L8=()=>{const{appCode:e}=yt(),{t}=ye(),{selectedFilters:n,options:r,handleOnSelectFilter:s}=A8(),{inputSearch:i,handleInputSearchChange:o,handleKeyPress:a,handleSearchSubmit:l}=Py(),u=n.length>0?n.length:void 0;return f.jsxs("form",{noValidate:!0,className:"bg-light p-16 ps-24 ms-n16 ms-lg-n24 me-n16 position-relative z-3 d-flex gap-8",children:[f.jsxs(yc,{id:"search",className:"input-group",children:[f.jsx(P0,{type:"search",placeholder:t("explorer.label.search",{ns:e}),size:"lg",noValidationIcon:!0,value:i,onChange:o,onKeyDown:a}),f.jsx(b0,{type:"submit","aria-label":t("explorer.label.search",{ns:e}),onClick:l})]}),f.jsxs(pr,{placement:"bottom-end",children:[f.jsx(pr.Trigger,{label:t("explorer.filters"),icon:f.jsx(u3,{width:20}),variant:"ghost",badgeContent:u}),f.jsx(pr.Menu,{children:r.map(c=>c.value==="0"?f.jsxs(x.Fragment,{children:[f.jsx(pr.RadioItem,{value:c.value,model:n,onChange:()=>s(c.value),children:c.label}),f.jsx(pr.Separator,{})]},"0"):f.jsx(pr.RadioItem,{value:c.value,model:n,onChange:()=>s(c.value),children:c.label},c.value))})]})]})},M8=({id:e,selected:t,onSelect:n})=>{const{t:r}=ye();return f.jsx("div",{className:"treeview",children:f.jsx("ul",{role:"tree",className:"m-0 p-0",children:f.jsx("li",{id:e,role:"treeitem","aria-selected":t,children:f.jsx("div",{children:f.jsx("div",{className:"action-container",children:f.jsx("div",{onClick:n,role:"button",tabIndex:0,children:f.jsxs("div",{className:"d-flex align-items-center gap-8 py-8 ps-24",children:[f.jsx(r3,{width:"20",height:"20"}),f.jsx("span",{children:r("explorer.tree.trash")})]})})})})})})})},D8=x.lazy(async()=>await ve(()=>import("./EditFolderModal.js"),["EditFolderModal.js","index.esm.js"])),F8=()=>{const e=it(),{t}=ye(),[n,r]=z4(),s=ts(),i=rs(),o=gf(),{goToTrash:a,selectTreeItem:l,unfoldTreeItem:u,foldTreeItem:c,clearSelectedItems:d,clearSelectedIds:h}=je(),m=async y=>{await u(y,e)},g=()=>{d(),h(),r()};return s?f.jsxs(f.Fragment,{children:[f.jsx(FE,{data:s,selectedNodesIds:o,onTreeItemSelect:l,onTreeItemFold:c,onTreeItemUnfold:m}),f.jsx(M8,{id:Ge.BIN,selected:i,onSelect:a}),f.jsx("div",{className:"d-grid my-16",children:f.jsx(Jr,{disabled:i,type:"button",color:"primary",variant:"outline",leftIcon:f.jsx(w3,{}),onClick:g,children:t("explorer.folder.new")})}),f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:n&&f.jsx(D8,{edit:!1,isOpen:n,onSuccess:r,onCancel:r})})]}):null},$8=()=>{const e=t8(),{clearSelectedIds:t,setResourceActionDisable:n,clearSelectedItems:r}=je();return{isActionDisableModalOpen:e,onActionDisableCancel:()=>{t(),r(),n(!1)}}},z8=()=>{const[e,t]=x.useState(!1),[n,r]=x.useState(!0);return x.useEffect(()=>{(async()=>{const i=await qR();if(i){t(JSON.parse(i==null?void 0:i.showOnboardingTrash));return}t(!0)})()},[]),{isOnboardingTrash:e,isOpen:n,handleSavePreference:async()=>{await QR({onSuccess:()=>r(!1)})},setIsOpen:r}},U8=()=>{const e=ky(),{clearSelectedIds:t,setResourceIsTrash:n,clearSelectedItems:r}=je();return{isTrashedModalOpen:e,onTrashedCancel:()=>{t(),r(),n(!1)}}},B8=({workflow:e,actions:t})=>{const n=t==null?void 0:t.filter(r=>r.id===e&&r.available);return n&&n.length>0},V8=x.lazy(async()=>await ve(()=>import("./OnboardingTrash.js"),[])),H8=x.lazy(async()=>await ve(()=>import("./AppAction.js"),[])),q8=x.lazy(async()=>await ve(()=>import("./Library.js"),[])),Q8=x.lazy(async()=>await ve(()=>import("./TrashedResourceModal.js"),[]));function W8(){const{currentApp:e}=yt(),{isOnboardingTrash:t,isOpen:n,setIsOpen:r,handleSavePreference:s}=z8(),{data:i}=Oy(),{isTrashedModalOpen:o,onTrashedCancel:a}=U8(),{isActionDisableModalOpen:l,onActionDisableCancel:u}=$8();WS();const c=i==null?void 0:i.find(h=>h.id==="publish"),{libraryUrl:d}=C8();return f.jsxs(f.Fragment,{children:[f.jsx(_3,{render:()=>B8({workflow:"create",actions:i})?f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(H8,{})}):null,children:f.jsx(M3,{app:e})}),f.jsxs(Ms,{className:"flex-grow-1",children:[f.jsxs(Ms.Col,{sm:"3",lg:"2",xl:"3",className:"border-end pt-16 pe-16 d-none d-lg-block",as:"aside",children:[f.jsx(F8,{}),(c==null?void 0:c.available)&&d&&f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(q8,{url:d})})]}),f.jsxs(Ms.Col,{sm:"4",md:"8",lg:"6",xl:"9",children:[f.jsx(L8,{}),f.jsx(i8,{}),f.jsx(_8,{})]}),f.jsx(b8,{}),t&&f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(V8,{isOpen:n,setIsOpen:r,handleSavePreference:s})}),o&&f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(Q8,{isOpen:o,onCancel:a})}),l&&f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(I8,{isOpen:l,onCancel:u})})]})]})}function K8(){const{init:e}=yt();return e?e?f.jsx(mR,{children:f.jsx(W8,{})}):null:f.jsx(Ve,{position:!1})}const Z8=document.getElementById("root"),G8=new cw({queryCache:new Am({onError:e=>{e==="0090"&&window.location.replace("/auth/login")}}),defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}});wy(Z8).render(f.jsx(x.StrictMode,{children:f.jsxs(PS,{client:G8,children:[f.jsx(BS,{params:ml(),children:f.jsx(QS,{children:f.jsx(K8,{})})}),f.jsx(gR,{initialIsOpen:!1})]})}));export{o5 as $,Tt as A,Jr as B,s5 as C,pr as D,e3 as E,yc as F,ak as G,rp as H,c0 as I,p3 as J,dk as K,Ve as L,bn as M,ck as N,rs as O,fk as P,YR as Q,pm as R,w3 as S,it as T,ts as U,Cs as V,FE as W,ns as X,hk as Y,pk as Z,ve as _,Pi as a,nk as a0,vk as a1,B8 as a2,yk as a3,E8 as a4,ml as a5,V as a6,rk as a7,r3 as a8,vc as a9,Md as aa,sk as ab,Di as ac,uk as ad,V4 as ae,Ca as af,J3 as ag,lk as ah,ik as ai,_e as aj,Pa as ak,Fi as al,ok as am,Jg as an,Qa as b,z4 as c,yt as d,je as e,Oy as f,ek as g,Ad as h,Ni as i,f as j,P0 as k,L3 as l,f5 as m,ot as n,Ld as o,U4 as p,JR as q,x as r,gk as s,mk as t,ye as u,jt as v,tk as w,np as x,gc as y,Ka as z};
235
+ */var gl=x,yR=Vg;function wR(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var xR=typeof Object.is=="function"?Object.is:wR,SR=yR.useSyncExternalStore,bR=gl.useRef,ER=gl.useEffect,CR=gl.useMemo,RR=gl.useDebugValue;Sy.useSyncExternalStoreWithSelector=function(e,t,n,r,s){var i=bR(null);if(i.current===null){var o={hasValue:!1,value:null};i.current=o}else o=i.current;i=CR(function(){function l(m){if(!u){if(u=!0,c=m,m=r(m),s!==void 0&&o.hasValue){var g=o.value;if(s(g,m))return d=g}return d=m}if(g=d,xR(c,m))return g;var y=r(m);return s!==void 0&&s(g,y)?g:(c=m,d=y)}var u=!1,c,d,h=n===void 0?null:n;return[function(){return l(t())},h===null?void 0:function(){return l(h())}]},[t,n,r,s]);var a=SR(e,i[0],i[1]);return ER(function(){o.hasValue=!0,o.value=a},[a]),RR(a),a};xy.exports=Sy;var kR=xy.exports;const PR=Pa(kR),{useDebugValue:OR}=pm,{useSyncExternalStoreWithSelector:NR}=PR;function jR(e,t=e.getState,n){const r=NR(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return OR(r),r}const nm=e=>{const t=typeof e=="function"?vR(e):e,n=(r,s)=>jR(t,r,s);return Object.assign(n,t),n},TR=e=>e?nm(e):nm,by=async e=>{const t=await X.resource(e.app).searchContext(e);return{...t,folders:t.folders.filter(n=>!n.trashed)}},_R=async({searchParams:e,name:t,parentId:n})=>{const r={name:t,parentId:n,app:e.app,type:e.types[0]};return await X.resource(e.app).createFolder(r)},IR=async({folderId:e,searchParams:t,parentId:n,name:r})=>{const s={folderId:e,name:r,parentId:n,app:t.app,type:t.types[0]};return await X.resource(t.app).updateFolder(s)},AR=async({searchParams:e,resourceIds:t,useAssetIds:n,folderIds:r})=>{const s={application:e.app,resourceType:e.types[0],resourceIds:t,folderIds:r};return await X.resource(e.app).trashAll(s,n)},LR=async({searchParams:e,resourceIds:t,useAssetIds:n,folderIds:r})=>{const s={application:e.app,resourceType:e.types[0],resourceIds:t,folderIds:r};return await X.resource(e.app).deleteAll(s,n)},MR=async({searchParams:e,resourceIds:t,folderIds:n,useAssetIds:r})=>{const s={application:e.app,resourceType:e.types[0],resourceIds:t,folderIds:n};return await X.resource(e.app).restoreAll(s,r)},DR=async({searchParams:e,resourceIds:t,folderId:n,folderIds:r,useAssetIds:s})=>{const i={application:e.app,folderId:n,resourceIds:t,folderIds:r};return await X.resource(e.app).moveToFolder(i,s)},FR=async({searchParams:e,entId:t,shares:n})=>await X.share().saveRights(e.app,t,n),$R=async({searchParams:e,params:t})=>await X.resource(e.app).update(t),zR=async e=>await X.rights().sessionHasWorkflowRights(e),UR=({searchParams:e,assetId:t})=>X.resource(e.app).gotoView(t),BR=({searchParams:e,params:t})=>X.resource(e.app).create(t),VR=({searchParams:e,assetId:t})=>X.resource(e.app).gotoPrint(t),HR=async({searchParams:e,params:t})=>await X.resource(e.app).publish(t),qR=async()=>await X.conf().getPreference("showOnboardingTrash"),QR=async({onSuccess:e})=>{const t=await X.conf().savePreference("showOnboardingTrash",JSON.stringify({showOnboardingTrash:!1}));return e==null||e(),t};function mf(e){return e.filter((t,n)=>e.indexOf(t)===n)}function xi(e,t){var r,s;let n;return(t==null?void 0:t.id)===e?t:((r=t==null?void 0:t.children)!=null&&r.length&&((s=t==null?void 0:t.children)==null||s.every(i=>(n=xi(e,i),n===void 0))),n)}function WR(e,t){var r;const n=xi(e,t);return(r=n==null?void 0:n.folder)!=null&&r.ancestors?[...(n==null?void 0:n.folder.ancestors)||[],e]:e===Ge.BIN?[Ge.BIN]:[Ge.DEFAULT]}function Ey(e,t){return t.id===e&&t.children?t.children.length>0:t.children?t.children.some(n=>Ey(t.id,n)):!1}function Mi(e,t){return Cy(e,t)||e}function Cy(e,t,n){var s;const r=t(e,n);if((s=r==null?void 0:r.children)!=null&&s.length){const i=[];for(const o of(r==null?void 0:r.children)||[]){const a=Cy(o,t,r);a&&i.push(a)}return{...r,children:i}}return r}class vl{constructor(t){cr(this,"id");cr(this,"name");cr(this,"childNumber");cr(this,"section",!1);cr(this,"children",[]);this.folder=t,this.id=t.id,this.name=t.name,this.childNumber=t.childNumber}}const Ry=(e,t,n)=>Mi(e,r=>(r.id===n&&(r.children=t==null?void 0:t.map(s=>new vl(s))),r)),{app:KR,types:ZR,filters:GR,orders:XR}=ml(),Fe=TR()((e,t)=>({filters:GR,orders:XR,searchConfig:{minLength:1},searchParams:{app:KR,types:ZR,filters:{folder:"default",owner:void 0,shared:void 0,public:void 0},orders:{updatedAt:"desc"},pagination:{startIdx:0,pageSize:48,maxIdx:0},trashed:!1},treeData:{id:Ge.DEFAULT,name:qt("explorer.filters.mine"),section:!0,children:[]},selectedNodesIds:["default"],currentFolder:{id:"default"},selectedFolders:[],selectedResources:[],folderIds:[],resourceIds:[],resourceIsTrash:!1,resourceActionDisable:!1,status:void 0,updaters:{setSearchConfig:n=>e(r=>({searchConfig:{...r.searchConfig,...n}})),setTreeData:n=>e(()=>({treeData:n})),setSearchParams:n=>{e(r=>{const{searchParams:s}=r;return s.search!==n.search?n.search?{...r,selectedFolders:[],selectedNodesIds:[],selectedResources:[],currentFolder:void 0,searchParams:{...s,...n,trashed:!1,filters:{...s.filters,folder:void 0}}}:{...r,selectedFolders:[],selectedNodesIds:["default"],selectedResources:[],currentFolder:{id:"default"},searchParams:{...s,...n,trashed:!1,filters:{...s.filters}}}:{searchParams:{...s,...n}}})},setSelectedFolders:n=>e(()=>({selectedFolders:n})),setSelectedResources:n=>e(()=>({selectedResources:n})),setFolderIds:n=>e(()=>({folderIds:n})),setResourceIds:n=>e(()=>({resourceIds:n})),setResourceIsTrash:n=>e(()=>({resourceIsTrash:n})),setResourceActionDisable:n=>e(()=>({resourceActionDisable:n})),setCurrentFolder:n=>e(()=>({currentFolder:n})),clearSelectedItems:()=>e(()=>({selectedFolders:[],selectedResources:[]})),clearSelectedIds:()=>e(()=>({resourceIds:[],folderIds:[]})),openResource:n=>{try{const{searchParams:r}=t();UR({searchParams:r,assetId:n.assetId})}catch(r){console.error("explorer open failed: ",r)}},printSelectedResource:()=>{try{const{searchParams:n,selectedResources:r,resourceIds:s}=t();if(r.length!==1)throw new Error("Cannot open more than 1 resource");const i=r.find(o=>o.id===s[0]);VR({searchParams:n,assetId:i.assetId})}catch(n){console.error("explorer print failed: ",n)}},publishApi:async(n,r)=>{const{searchParams:s}=t();return await HR({searchParams:s,params:r})},openFolder:({folderId:n,folder:r})=>{const{searchParams:s,treeData:i}=t(),o=s.filters.folder,a=WR(n,i),l=mf([...a,n]);o!==n&&e(u=>({...u,folderIds:[],resourceIds:[],selectedNodesIds:l,currentFolder:r||{id:n},searchParams:{...s,search:void 0,filters:{...s.filters,folder:n},trashed:n===Ge.BIN}}))},foldTreeItem:()=>e(n=>({...n,status:"fold"})),unfoldTreeItem:async(n,r)=>{const{treeData:s,searchParams:i}=t();if(e(o=>({...o,status:"unfold"})),!Ey(n,s)){await r.prefetchInfiniteQuery({queryKey:["prefetchContext",{folderId:n,trashed:!1}],queryFn:async()=>await by({...i,filters:{...i.filters,folder:n}})});const o=r.getQueryData(["prefetchContext",{folderId:n,trashed:!1}]);e(a=>{var l;return{...a,treeData:Ry(s,(l=o==null?void 0:o.pages[0])==null?void 0:l.folders,n||Ge.DEFAULT)}})}},selectTreeItem:n=>{const{treeData:r}=t(),{openFolder:s}=t().updaters,i=xi(n,r);V4()(),e(a=>({...a,searchParams:{...a.searchParams,search:void 0},status:"select",selectedResources:[]})),s({folder:i,folderId:n})},gotoPreviousFolder:()=>{const{selectedNodesIds:n,treeData:r}=t(),{openFolder:s}=t().updaters,i=n.length;if(i<2)return;const o=xi(n[i-2],r);s({folder:o,folderId:(o==null?void 0:o.id)||Ge.DEFAULT})},goToTrash:()=>e(n=>({...n,selectedNodesIds:[],selectedResources:[],resourceIds:[],folderIds:[],status:"select",searchParams:{...n.searchParams,search:void 0,filters:{folder:Ge.BIN},trashed:!0},currentFolder:{id:Ge.BIN}}))}})),ot=()=>Fe(e=>e.searchParams),gf=()=>Fe(e=>e.selectedNodesIds),ts=()=>Fe(e=>e.treeData),YR=()=>Fe(e=>e.selectedFolders),JR=()=>Fe(e=>e.selectedResources),e8=()=>Fe(e=>e.searchConfig),Di=()=>Fe(e=>e.folderIds),Fi=()=>Fe(e=>e.resourceIds),yl=()=>Fe(e=>e.selectedResources.map(t=>t.assetId)),wl=()=>Fe(e=>e.selectedResources.filter(t=>t.assetId===t.id)),ns=()=>Fe(e=>e.currentFolder),je=()=>Fe(e=>e.updaters),rs=()=>{const e=ns();return(e==null?void 0:e.id)===Ge.BIN},ky=()=>Fe(e=>e.resourceIsTrash),t8=()=>Fe(e=>e.resourceActionDisable),n8=()=>{const e=ns();return(e==null?void 0:e.id)==="default"},r8=()=>gf().length>1,s8=()=>Fe(e=>e.status),Py=()=>{const e=ot(),[t,n]=x.useState(""),r=U4(t,500),s=e8(),i=s8(),{setSearchParams:o}=je(),a=c=>{const d=c.target.value;n(d.toString())},l=c=>{(c.key==="Enter"||c.key==="Return")&&(c.preventDefault(),o({search:t||void 0}))},u=c=>{c.preventDefault(),o({search:r||void 0})};return x.useEffect(()=>{const d=r.length==0||r.length>=s.minLength?{search:r||void 0}:{};o({...e,...d})},[r,s.minLength]),x.useEffect(()=>{i==="select"&&n("")},[i]),x.useEffect(()=>{n(()=>{var c;return((c=e.search)==null?void 0:c.toString())??""})},[e]),{inputSearch:t,handleInputSearchChange:a,handleKeyPress:l,handleSearchSubmit:u}};function i8(){const{appCode:e}=yt(),t=gf(),n=rs(),r=ns(),{t:s}=ye(["common",e]),{gotoPreviousFolder:i}=je(),{inputSearch:o}=Py(),a=s("explorer.tree.trash"),l=s("explorer.tree.search"),u=s("explorer.filters.mine",{ns:e}),c=(r==null?void 0:r.name)||u;return f.jsx("div",{className:"py-16",children:t.length>1&&!n?f.jsxs("div",{className:"d-flex align-items-center gap-8",children:[f.jsx(Ka,{icon:f.jsx(K4,{}),variant:"ghost",color:"tertiary","aria-label":s("back"),className:"ms-n16",onClick:i}),f.jsx("p",{className:"body py-8 text-truncate",children:f.jsx("strong",{children:c})})]}):f.jsx("h2",{className:"body py-8 fw-bold",children:o.length!==0?l:n?a:u})})}function o8(e,{parentId:t,newFolder:n}){return Mi(e,r=>{var s;if(r.id===t){const i=[...((s=r.folder)==null?void 0:s.ancestors)||[]],o=mf([...i,r.id]);return{...r,children:[...r.children||[],new vl({...n,ancestors:o})]}}else return r})}function a8(e,{folders:t}){return Mi(e,n=>{if(!t.includes(n.id))return n})}function l8(e,{destinationId:t,folders:n}){return Mi(e,(r,s)=>{var i,o;if(t===r.id){const a=[...((i=r.folder)==null?void 0:i.ancestors)||[]],l=mf([...a,r.id]),u=[...r.children||[]],c=((o=r.children)==null?void 0:o.map(h=>h.id))||[];for(const h of n)if(!c.includes(h)){const m=xi(h,e);m&&u.push({...m,folder:{...m==null?void 0:m.folder,ancestors:l}})}return{...r,children:u}}else return n.includes(r.id)&&t!==(s==null?void 0:s.id)?void 0:r})}function u8(e,{folderId:t,newFolder:n}){return Mi(e,r=>r.id===t?new vl(n):r)}const{actions:rm,app:c8}=ml(),Oy=()=>Id({queryKey:["actions"],queryFn:async()=>{const e=rm.map(n=>n.workflow);return await zR(e)},select:e=>rm.map(t=>({...t,available:e[t.workflow]}))}),d8=()=>{const{hotToast:e}=jt(Tt),{appCode:t}=yt(),{t:n}=ye(),r=it(),s=ot(),i=ns(),o=ts(),{setTreeData:a,setSearchParams:l,setSearchConfig:u}=je(),{filters:c,trashed:d,search:h}=s,m=["context",{folderId:c.folder,filters:c,trashed:d,search:h}];return zS({queryKey:m,queryFn:async({pageParam:g=0})=>await by({...s,pagination:{...s.pagination,startIdx:g}}),onError(g){typeof g=="string"&&e.error(n(g))},onSuccess:async g=>{var S,p,v;await r.cancelQueries({queryKey:m});const y=[...((S=g==null?void 0:g.pages[0])==null?void 0:S.folders)??[]];(p=g==null?void 0:g.pages[0])!=null&&p.searchConfig&&u(g.pages[0].searchConfig),s.search||((i==null?void 0:i.id)==="default"?a({id:Ge.DEFAULT,section:!0,children:y.map(w=>new vl(w)),name:n("explorer.filters.mine",{ns:t})}):a(Ry(o,y,s.filters.folder||Ge.DEFAULT))),l({...s,pagination:(v=g==null?void 0:g.pages[(g==null?void 0:g.pages.length)-1])==null?void 0:v.pagination})},retry:!1,getNextPageParam:g=>g.pagination.startIdx+g.pagination.pageSize})},ck=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),r=ts(),s=Di(),i=yl(),o=Fi(),a=wl().length>0,l=a?i:o,{clearSelectedItems:u,clearSelectedIds:c,setTreeData:d,setSearchParams:h}=je(),{filters:m,trashed:g}=n,y=["context",{folderId:m.folder,filters:m,trashed:g}];return an({mutationFn:async()=>await AR({searchParams:n,folderIds:s,resourceIds:l,useAssetIds:a}),onError(S){typeof S=="string"&&e.error(qt(S))},onSuccess:async S=>{if(await t.cancelQueries({queryKey:y}),t.getQueryData(y))return t.setQueryData(y,v=>{var w;if(v){const b={...v,pages:v==null?void 0:v.pages.map(R=>{var k;return{...R,folders:R.folders.filter(P=>!s.includes(P.id)),pagination:{...R.pagination,maxIdx:((k=R==null?void 0:R.pagination)==null?void 0:k.maxIdx)-S.resources.length},resources:R.resources.filter(P=>a?!i.includes(P.assetId):!l.includes(P.id))}})},C=a8(r,{folders:s});return d(C),h({...n,pagination:{...n.pagination,maxIdx:((w=n.pagination)==null?void 0:w.maxIdx)-S.resources.length}}),b}})},onSettled:()=>{u(),c()}})},f8=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),r=Di(),s=yl(),i=Fi(),o=wl().length>0,a=o?s:i,{setFolderIds:l,setResourceIds:u,setSelectedResources:c,setSelectedFolders:d}=je(),{filters:h,trashed:m}=n,g=["context",{folderId:h.folder,filters:h,trashed:m}];return an({mutationFn:async()=>await MR({searchParams:n,folderIds:r,resourceIds:a,useAssetIds:o}),onError(y){typeof y=="string"&&e.error(qt(y))},onSuccess:async()=>{if(await t.cancelQueries({queryKey:g}),t.getQueryData(g))return t.setQueryData(g,S=>{if(S)return{...S,pages:S==null?void 0:S.pages.map(p=>({...p,folders:p.folders.filter(v=>!r.includes(v.id)),resources:p.resources.filter(v=>o?!s.includes(v.assetId):!a.includes(v.id))}))}})},onSettled:()=>{u([]),c([]),l([]),d([])}})},dk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),r=Di(),s=yl(),i=Fi(),o=wl().length>0,a=o?s:i,{clearSelectedItems:l,clearSelectedIds:u}=je(),{filters:c,trashed:d}=n,h=["context",{folderId:c.folder,filters:c,trashed:d}];return an({mutationFn:async()=>await LR({searchParams:n,folderIds:r,resourceIds:a,useAssetIds:o}),onError(m){typeof m=="string"&&e.error(qt(m))},onSuccess:async()=>{if(await t.cancelQueries({queryKey:h}),t.getQueryData(h))return t.setQueryData(h,g=>{if(g)return{...g,pages:g==null?void 0:g.pages.map(S=>({...S,folders:S.folders.filter(p=>!r.includes(p.id)),resources:S.resources.filter(p=>o?!s.includes(p.assetId):!a.includes(p.id))}))}})},onSettled:()=>{l(),u()}})},fk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),r=ts(),s=Di(),i=yl(),o=Fi(),a=wl().length>0,l=a?i:o,{clearSelectedIds:u,clearSelectedItems:c,setTreeData:d,setSearchParams:h}=je(),{filters:m,trashed:g}=n,y=["context",{folderId:m.folder,filters:m,trashed:g}];return an({mutationFn:async S=>await DR({searchParams:n,folderId:S,folderIds:s,resourceIds:l,useAssetIds:a}),onError(S){typeof S=="string"&&e.error(qt(S))},onSuccess:async(S,p)=>{if(t.getQueryData(y))return t.setQueryData(y,w=>{var b;if(w){const C=l8(r,{destinationId:p,folders:s}),R={...w,pages:w==null?void 0:w.pages.map(k=>{var P;return{...k,folders:k.folders.filter(_=>!s.includes(_.id)),pagination:{...k.pagination,maxIdx:((P=k.pagination)==null?void 0:P.maxIdx)-S.resources.length},resources:k.resources.filter(_=>a?!i.includes(_.assetId):!l.includes(_.id))}})};return d(C),h({...n,pagination:{...n.pagination,maxIdx:((b=n.pagination)==null?void 0:b.maxIdx)-S.resources.length}}),R}})},onSettled:()=>{c(),u()}})},hk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),r=ts(),{setTreeData:s}=je(),{filters:i,trashed:o}=n,a=["context",{folderId:i.folder,filters:i,trashed:o}];return an({mutationFn:async({name:l,parentId:u})=>await _R({searchParams:n,name:l,parentId:u}),onError(l){typeof l=="string"&&e.error(qt(l))},onSuccess:async(l,u)=>{await t.cancelQueries({queryKey:a});const c=t.getQueryData(a),d={...l,parentId:u.parentId,children:[],rights:[`creator:${l==null?void 0:l.creator_id}`]};if(c)return t.setQueryData(a,h=>{if(h){const m={...h,pages:h==null?void 0:h.pages.map(y=>({...y,folders:[...y.folders,d]}))},g=o8(r,{parentId:u.parentId,newFolder:d});return s(g),m}})}})},pk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),r=ts(),{setFolderIds:s,setSelectedFolders:i,setTreeData:o}=je(),{filters:a,trashed:l}=n,u=["context",{folderId:a.folder,filters:a,trashed:l}];return an({mutationFn:async({folderId:c,name:d,parentId:h})=>await IR({searchParams:n,folderId:c,parentId:h,name:d}),onError(c){typeof c=="string"&&e.error(qt(c))},onSuccess:async(c,d)=>{if(await t.cancelQueries({queryKey:u}),t.getQueryData(u))return t.setQueryData(u,m=>{if(m){const g={...m,pages:m==null?void 0:m.pages.map(S=>({...S,folders:S.folders.map(p=>p.id===c.id?{...c,parentId:d.parentId,rights:p.rights}:p)}))},y=u8(r,{folderId:d.folderId,newFolder:c});return o(y),g}})},onSettled:()=>{s([]),i([])}})},mk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),{setResourceIds:r,setSelectedResources:s}=je(),{filters:i,trashed:o}=n,a=["context",{folderId:i.folder,filters:i,trashed:o}];return an({mutationFn:async({entId:l,shares:u})=>await FR({searchParams:n,entId:l,shares:u}),onError(l){typeof l=="string"&&e.error(qt(l))},onSuccess:async(l,u)=>{if(await t.cancelQueries({queryKey:a}),t.getQueryData(a))return t.setQueryData(a,d=>{if(d)return{...d,pages:d==null?void 0:d.pages.map(h=>({...h,resources:h.resources.map(m=>{if(m.assetId===(u==null?void 0:u.entId)){let g=[`creator:${m.creatorId}`];return(u==null?void 0:u.shares.length)>=1&&(g=[...g,...u.shares.flatMap(y=>y.actions.map(S=>`${y.type}:${y.id}:${S.id}`))]),{...m,rights:g}}else return m})}))}})},onSettled:()=>{r([]),s([])}})},gk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),{filters:r,trashed:s}=n,i=["context",{folderId:r.folder,filters:r,trashed:s}];return an({mutationFn:async o=>await $R({searchParams:n,params:o}),onError(o){typeof o=="string"&&e.error(qt(o))},onSuccess:async(o,a)=>{if(await t.cancelQueries({queryKey:i}),t.getQueryData(i))return t.setQueryData(i,u=>{if(u)return{...u,pages:u==null?void 0:u.pages.map(c=>({...c,resources:c.resources.map(d=>{if(d.assetId===(a==null?void 0:a.entId)){const{name:h,thumbnail:m,public:g,description:y,slug:S,...p}=a;return{...d,...p,name:h,thumbnail:typeof m=="string"?m:URL.createObjectURL(m),public:g,description:y,slug:S}}else return d})}))}})}})},vk=()=>{const{hotToast:e}=jt(Tt),t=it(),n=ot(),{user:r}=Ld(),s=["context",{folderId:n.filters.folder,filters:n.filters,trashed:n.trashed}];return an({mutationFn:async i=>await BR({searchParams:n,params:i}),onError(i){typeof i=="string"&&e.error(qt(i))},onSuccess:async(i,o)=>{var c,d,h;await t.cancelQueries({queryKey:s});const a=t.getQueryData(s),{thumbnail:l}=o,u={...o,thumbnail:l?URL.createObjectURL(l):"",application:c8,assetId:i._id||i.entId||"",id:i._id||i.entId||"",creatorId:r==null?void 0:r.userId,creatorName:r==null?void 0:r.username,createdAt:Date.now(),slug:o.slug||"",modifiedAt:((c=i.modified)==null?void 0:c.$date)||"",modifierId:((d=i.author)==null?void 0:d.userId)||"",modifierName:((h=i.author)==null?void 0:h.username)||"",updatedAt:Date.now(),trashed:!1,rights:[`creator:${r==null?void 0:r.userId}`]};if(a)return t.setQueryData(s,m=>{if(m)return{...m,pages:m==null?void 0:m.pages.map(g=>({...g,resources:[u,...g.resources]}))}})}})},{trashActions:h8}=ml();function Ny(){const[e,t]=x.useState(!1),[n,r]=x.useState("void"),[s,i]=x.useState(),{t:o}=ye(),{hotToast:a}=jt(Tt),l=ns(),u=Fi(),c=JR(),d=YR(),h=Di(),m=rs(),g=f8(),y=ky(),{openResource:S,printSelectedResource:p,openFolder:v,clearSelectedItems:w,clearSelectedIds:b}=je(),{data:C}=Oy();x.useEffect(()=>{if(u.length===0&&h.length===0){t(!1);return}if(y){t(!1);return}t(!0)},[u,h]);async function R(G){var pe;switch((pe=document.getElementById("root"))==null||pe.setAttribute("aria-hidden","true"),i(G),G.id){case $e.OPEN:return u.length>0?S(c[0]):v({folder:d[0],folderId:d[0].id});case $e.MOVE:return r("move");case $e.PRINT:return p();case $e.DELETE:return r("delete");case $e.RESTORE:return await _();case $e.PUBLISH:return r("publish");case $e.UPD_PROPS:case"edit":return we();case $e.SHARE:return r("share");default:throw Error(`Unknown action: ${G.id}`)}}function k(G){const pe=u.length+h.length,_t=u.length===1||h.length===1,It=pe===1,un=h.length===0;switch(G.id){case $e.OPEN:return It;case $e.MANAGE:return _t;case $e.PUBLISH:return _t&&un;case $e.UPD_PROPS:return _t&&un;case $e.SHARE:return un&&_t;case $e.PRINT:return _t&&un;case"edit":return It;default:return!0}}function P(){return!0}async function _(){try{if(m)await g.mutate(),a.success(o("explorer.trash.toast"));else throw new Error("Cannot restore untrashed resources");F()}catch(G){console.error(G)}}function F(){var G;r("void"),s!=null&&s.id&&((G=document.getElementById(s==null?void 0:s.id))==null||G.focus())}const A=G=>()=>{n===G&&(F(),w(),b())},I=A("move"),U=A("move"),$=A("delete"),E=A("delete"),O=A("publish"),L=A("publish"),N=A("edit_folder"),D=A("edit_folder"),M=A("edit_resource"),K=A("edit_resource"),Z=A("share"),le=A("share");function we(){u&&u.length>0?r("edit_resource"):r("edit_folder")}function xe(G){return G.id==="edit"&&h.length>0?"explorer.rename":`explorer.actions.${G.id}`}return{onRestore:_,actions:m?h8:C,selectedElement:[...c,...d],currentFolderId:l==null?void 0:l.id,overrideLabel:xe,handleClick:R,isActivable:m?P:k,isActionBarOpen:e,isMoveModalOpen:n==="move",onMoveCancel:I,onMoveSuccess:U,isDeleteModalOpen:n==="delete",onDeleteCancel:E,onDeleteSuccess:$,isPublishModalOpen:n==="publish",onPublishCancel:L,onPublishSuccess:O,isEditFolderOpen:n==="edit_folder",onEditFolderCancel:D,onEditFolderSuccess:N,isEditResourceOpen:n==="edit_resource",onEditResourceCancel:K,onEditResourceSuccess:M,isShareResourceOpen:n==="share",onShareResourceCancel:le,onShareResourceSuccess:Z,onClearActionBar:F}}function p8({roles:e,rights:t,action:n}){const[r,s]=x.useState(!1),{user:i}=Ld(),o=rs();x.useEffect(()=>{u()},[e,t]);const a=async function(c){const d=c instanceof Array?c:[c];if(e instanceof Array){const h=await X.rights().sessionHasAtLeastOneResourceRight(e,d);s(h)}else{const h=await X.rights().sessionHasResourceRight(e,d);s(h)}},l=async function(c){if(e instanceof Array){const d=await X.rights().sessionHasAtLeastOneResourceRightForEachList(e,c);s(d)}else{const d=await X.rights().sessionHasResourceRightForEachList(e,c);s(d)}},u=async function(){var c,d,h;if(e===void 0){s(!0);return}if(o&&((d=(c=t[0])==null?void 0:c.trashedBy)!=null&&d.includes(i==null?void 0:i.userId))&&n==="restore"&&!((h=t[0])!=null&&h.trashed)){s(!0);return}if(t instanceof Array)if(t.length>0)if(typeof t[0]=="string")await a(t);else{const m=t.map(g=>g.rights);await l(m)}else s(!1);else typeof t=="string"?await a(t):await a(t.rights)};return{visible:r,refreshState:u}}function m8({resourceRights:e,roleExpected:t,action:n,children:r,renderWhenForbidden:s}){const{t:i}=ye(),{overrideLabel:o}=Ny(),{visible:a}=p8({roles:t,rights:e,action:n==null?void 0:n.id}),{setResourceActionDisable:l}=je(),u=rs();return a?f.jsx(f.Fragment,{children:r}):s?s():u&&!a?f.jsx(Jr,{type:"button",color:"primary",variant:"filled",onClick:()=>{l(!0)},children:i(o(n))}):f.jsx(f.Fragment,{})}const g8=x.lazy(async()=>await ve(()=>import("./ShareResourceModal.js"),["ShareResourceModal.js","Tooltip.js"])),v8=x.lazy(async()=>await ve(()=>import("./DeleteModal.js"),[])),y8=x.lazy(async()=>await ve(()=>import("./MoveModal.js"),[])),w8=x.lazy(async()=>await ve(()=>import("./EditFolderModal.js"),["EditFolderModal.js","index.esm.js"])),x8=x.lazy(async()=>await ve(()=>import("./EditResourceModal.js"),["EditResourceModal.js","index.esm.js","TextArea.js"])),S8=x.lazy(async()=>await ve(()=>import("./PublishModal.js"),["PublishModal.js","index.esm.js","TextArea.js"]));function b8(){const{t:e}=ye(),{actions:t,selectedElement:n,isMoveModalOpen:r,isDeleteModalOpen:s,isPublishModalOpen:i,isActionBarOpen:o,isEditFolderOpen:a,overrideLabel:l,onEditFolderCancel:u,onEditFolderSuccess:c,isEditResourceOpen:d,onEditResourceCancel:h,onEditResourceSuccess:m,isShareResourceOpen:g,onShareResourceCancel:y,onShareResourceSuccess:S,onMoveCancel:p,onMoveSuccess:v,onDeleteCancel:w,onDeleteSuccess:b,onPublishCancel:C,onPublishSuccess:R,isActivable:k,handleClick:P}=Ny(),_=tf(o,{from:{opacity:0,transform:"translateY(100%)"},enter:{opacity:1,transform:"translateY(0)"},leave:{opacity:0,transform:"translateY(100%)"}});return f.jsxs(f.Fragment,{children:[_((F,A)=>A&&f.jsx(Ca.div,{className:"position-fixed bottom-0 start-0 end-0 z-3",style:F,children:f.jsx(H4,{children:t==null?void 0:t.filter(I=>I.available&&I.target==="actionbar").map(I=>k(I)&&f.jsx(m8,{resourceRights:n,roleExpected:I.right,action:I,children:f.jsx(Jr,{id:I.id,type:"button",color:"primary",variant:"filled",onClick:()=>{P(I)},children:e(l(I))},I.id)},I.id))})})),f.jsxs(x.Suspense,{fallback:f.jsx(Ve,{}),children:[r&&f.jsx(y8,{isOpen:r,onCancel:p,onSuccess:v}),s&&f.jsx(v8,{isOpen:s,onCancel:w,onSuccess:b}),i&&f.jsx(S8,{isOpen:i,onCancel:C,onSuccess:R}),a&&f.jsx(w8,{edit:!0,isOpen:a,onCancel:u,onSuccess:c}),d&&f.jsx(x8,{edit:!0,isOpen:d,onCancel:h,onSuccess:m}),g&&f.jsx(g8,{isOpen:g,onCancel:y,onSuccess:S})]})]})}const{http:yk}=_y.instance(),E8={blog:"Blog",mindmap:"MindMap",scrapbook:"ScrapBook",collaborativewall:"CollaborativeWall",timelinegenerator:"TimelineGenerator",wiki:"Wiki",exercizer:"Exercizer"},C8=()=>{var l;const{user:e,appCode:t}=yt(),n=E8[t],r=(l=e.apps.find(u=>u.isExternal&&u.address.includes("library")&&u.name.includes("library")))==null?void 0:l.address.split("?");let s=r==null?void 0:r[0];s!=null&&s.endsWith("/")||(s=`${s}/`);const i=r==null?void 0:r[1],o=`application%5B0%5D=${n}&page=1&sort_field=views&sort_order=desc`;return{libraryUrl:`${s}search/?${i}&${o}`}},R8=x.lazy(async()=>await ve(()=>import("./EmptyScreenApp.js"),["EmptyScreenApp.js","EmptyScreen.js"])),k8=x.lazy(async()=>await ve(()=>import("./EmptyScreenSearch.js"),["EmptyScreenSearch.js","EmptyScreen.js"])),P8=x.lazy(async()=>await ve(()=>import("./EmptyScreenError.js"),["EmptyScreenError.js","EmptyScreen.js"])),O8=x.lazy(async()=>await ve(()=>import("./EmptyScreenNoContentInFolder.js"),["EmptyScreenNoContentInFolder.js","EmptyScreen.js"])),N8=x.lazy(async()=>await ve(()=>import("./EmptyScreenTrash.js"),["EmptyScreenTrash.js","EmptyScreen.js"])),j8=x.lazy(async()=>await ve(()=>import("./FoldersList.js"),["FoldersList.js","Card.js"])),T8=x.lazy(async()=>await ve(()=>import("./ResourcesList.js"),["ResourcesList.js","Tooltip.js","Card.js"])),_8=()=>{const e=n8(),t=rs(),n=r8(),r=ot(),{data:s,isError:i,isLoading:o,isFetching:a,fetchNextPage:l}=d8(),u=(s==null?void 0:s.pages[0].folders.length)===0,c=(s==null?void 0:s.pages[0].resources.length)===0,d=u&&c;return i?f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(P8,{})}):r.search&&d?f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(k8,{})}):!d&&!o?f.jsxs(x.Suspense,{fallback:f.jsx(Ve,{}),children:[f.jsx(j8,{data:s,isFetching:a}),f.jsx(T8,{data:s,isFetching:a,fetchNextPage:l})]}):e&&d?f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(R8,{})}):n&&d&&!t?f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(O8,{})}):t&&(s==null?void 0:s.pages[0].resources.length)===0?f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(N8,{})}):null};function I8({isOpen:e,onCancel:t=()=>({})}){const{t:n}=ye();return Pi.createPortal(f.jsxs(bn,{isOpen:e,onModalClose:t,id:"trash_action_disable_resource",children:[f.jsx(bn.Header,{onModalClose:()=>t(),children:n("explorer.trash.action.modal.title")}),f.jsx(bn.Body,{children:f.jsx("p",{className:"body",children:n("explorer.trash.action.modal.text")})}),f.jsx(bn.Footer,{children:f.jsx(Jr,{color:"primary",onClick:t,type:"button",variant:"outline",children:n("close")})})]}),document.getElementById("portal"))}const A8=()=>{const{appCode:e,currentApp:t}=yt(),{t:n}=ye(),[r,s]=x.useState(""),i=c=>{if(c==="0"){s("");return}s(c)},o=ns(),a=ot(),{setSearchParams:l}=je();x.useEffect(()=>{const c=()=>r.includes("1")?!0:void 0,d=()=>r.includes("2")?!0:void 0,h=()=>r.includes("7")?!0:void 0;l({...a,filters:{owner:c(),public:h(),shared:d(),folder:o?o.id:"default"}})},[o,l,r]);const u=[{label:n("explorer.filter.all",{ns:e}),value:"0"},{label:n("explorer.filter.owner",{ns:e}),value:"1"},{label:n("explorer.filter.shared",{ns:e}),value:"2"},...(t==null?void 0:t.displayName)==ho.EXERCIZER?[{label:"Exercices interactifs",value:"3"}]:[],...(t==null?void 0:t.displayName)==ho.EXERCIZER?[{label:"Exercices à rendre",value:"4"}]:[],...(t==null?void 0:t.displayName)=="pages"?[{label:"Projets publics",value:"5"}]:[],...(t==null?void 0:t.displayName)=="pages"?[{label:"Projets internes",value:"6"}]:[],...(t==null?void 0:t.displayName)==ho.BLOG?[{label:n("explorer.filter.public",{ns:e}),value:"7"}]:[]];return{selectedFilters:r,options:u,handleOnSelectFilter:i}},L8=()=>{const{appCode:e}=yt(),{t}=ye(),{selectedFilters:n,options:r,handleOnSelectFilter:s}=A8(),{inputSearch:i,handleInputSearchChange:o,handleKeyPress:a,handleSearchSubmit:l}=Py(),u=n.length>0?n.length:void 0;return f.jsxs("form",{noValidate:!0,className:"bg-light p-16 ps-24 ms-n16 ms-lg-n24 me-n16 position-relative z-3 d-flex gap-8",children:[f.jsxs(yc,{id:"search",className:"input-group",children:[f.jsx(P0,{type:"search",placeholder:t("explorer.label.search",{ns:e}),size:"lg",noValidationIcon:!0,value:i,onChange:o,onKeyDown:a}),f.jsx(b0,{type:"submit","aria-label":t("explorer.label.search",{ns:e}),onClick:l})]}),f.jsxs(pr,{placement:"bottom-end",children:[f.jsx(pr.Trigger,{label:t("explorer.filters"),icon:f.jsx(u3,{width:20}),variant:"ghost",badgeContent:u}),f.jsx(pr.Menu,{children:r.map(c=>c.value==="0"?f.jsxs(x.Fragment,{children:[f.jsx(pr.RadioItem,{value:c.value,model:n,onChange:()=>s(c.value),children:c.label}),f.jsx(pr.Separator,{})]},"0"):f.jsx(pr.RadioItem,{value:c.value,model:n,onChange:()=>s(c.value),children:c.label},c.value))})]})]})},M8=({id:e,selected:t,onSelect:n})=>{const{t:r}=ye();return f.jsx("div",{className:"treeview",children:f.jsx("ul",{role:"tree",className:"m-0 p-0",children:f.jsx("li",{id:e,role:"treeitem","aria-selected":t,children:f.jsx("div",{children:f.jsx("div",{className:"action-container",children:f.jsx("div",{onClick:n,role:"button",tabIndex:0,children:f.jsxs("div",{className:"d-flex align-items-center gap-8 py-8 ps-24",children:[f.jsx(r3,{width:"20",height:"20"}),f.jsx("span",{children:r("explorer.tree.trash")})]})})})})})})})},D8=x.lazy(async()=>await ve(()=>import("./EditFolderModal.js"),["EditFolderModal.js","index.esm.js"])),F8=()=>{const e=it(),{t}=ye(),[n,r]=z4(),s=ts(),i=rs(),o=gf(),{goToTrash:a,selectTreeItem:l,unfoldTreeItem:u,foldTreeItem:c,clearSelectedItems:d,clearSelectedIds:h}=je(),m=async y=>{await u(y,e)},g=()=>{d(),h(),r()};return s?f.jsxs(f.Fragment,{children:[f.jsx(FE,{data:s,selectedNodesIds:o,onTreeItemSelect:l,onTreeItemFold:c,onTreeItemUnfold:m}),f.jsx(M8,{id:Ge.BIN,selected:i,onSelect:a}),f.jsx("div",{className:"d-grid my-16",children:f.jsx(Jr,{disabled:i,type:"button",color:"primary",variant:"outline",leftIcon:f.jsx(w3,{}),onClick:g,children:t("explorer.folder.new")})}),f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:n&&f.jsx(D8,{edit:!1,isOpen:n,onSuccess:r,onCancel:r})})]}):null},$8=()=>{const e=t8(),{clearSelectedIds:t,setResourceActionDisable:n,clearSelectedItems:r}=je();return{isActionDisableModalOpen:e,onActionDisableCancel:()=>{t(),r(),n(!1)}}},z8=()=>{const[e,t]=x.useState(!1),[n,r]=x.useState(!0);return x.useEffect(()=>{(async()=>{const i=await qR();if(i){t(JSON.parse(i==null?void 0:i.showOnboardingTrash));return}t(!0)})()},[]),{isOnboardingTrash:e,isOpen:n,handleSavePreference:async()=>{await QR({onSuccess:()=>r(!1)})},setIsOpen:r}},U8=()=>{const e=ky(),{clearSelectedIds:t,setResourceIsTrash:n,clearSelectedItems:r}=je();return{isTrashedModalOpen:e,onTrashedCancel:()=>{t(),r(),n(!1)}}},B8=({workflow:e,actions:t})=>{const n=t==null?void 0:t.filter(r=>r.id===e&&r.available);return n&&n.length>0},V8=x.lazy(async()=>await ve(()=>import("./OnboardingTrash.js"),[])),H8=x.lazy(async()=>await ve(()=>import("./AppAction.js"),[])),q8=x.lazy(async()=>await ve(()=>import("./Library.js"),[])),Q8=x.lazy(async()=>await ve(()=>import("./TrashedResourceModal.js"),[]));function W8(){const{currentApp:e}=yt(),{isOnboardingTrash:t,isOpen:n,setIsOpen:r,handleSavePreference:s}=z8(),{data:i}=Oy(),{isTrashedModalOpen:o,onTrashedCancel:a}=U8(),{isActionDisableModalOpen:l,onActionDisableCancel:u}=$8();WS();const c=i==null?void 0:i.find(h=>h.id==="publish"),{libraryUrl:d}=C8();return f.jsxs(f.Fragment,{children:[f.jsx(_3,{render:()=>B8({workflow:"create",actions:i})?f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(H8,{})}):null,children:f.jsx(M3,{app:e})}),f.jsxs(Ms,{className:"flex-grow-1",children:[f.jsxs(Ms.Col,{sm:"3",lg:"2",xl:"3",className:"border-end pt-16 pe-16 d-none d-lg-block",as:"aside",children:[f.jsx(F8,{}),(c==null?void 0:c.available)&&d&&f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(q8,{url:d})})]}),f.jsxs(Ms.Col,{sm:"4",md:"8",lg:"6",xl:"9",children:[f.jsx(L8,{}),f.jsx(i8,{}),f.jsx(_8,{})]}),f.jsx(b8,{}),t&&f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(V8,{isOpen:n,setIsOpen:r,handleSavePreference:s})}),o&&f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(Q8,{isOpen:o,onCancel:a})}),l&&f.jsx(x.Suspense,{fallback:f.jsx(Ve,{}),children:f.jsx(I8,{isOpen:l,onCancel:u})})]})]})}function K8(){const{init:e}=yt();return e?e?f.jsx(mR,{children:f.jsx(W8,{})}):null:f.jsx(Ve,{position:!1})}const Z8=document.getElementById("root"),G8=new cw({queryCache:new Am({onError:e=>{e==="0090"&&window.location.replace("/auth/login")}}),defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}});wy(Z8).render(f.jsx(x.StrictMode,{children:f.jsxs(PS,{client:G8,children:[f.jsx(BS,{params:ml(),children:f.jsx(QS,{children:f.jsx(K8,{})})}),f.jsx(gR,{initialIsOpen:!1})]})}));export{o5 as $,Tt as A,Jr as B,s5 as C,pr as D,e3 as E,yc as F,ak as G,rp as H,c0 as I,p3 as J,dk as K,Ve as L,bn as M,ck as N,rs as O,fk as P,YR as Q,pm as R,w3 as S,it as T,ts as U,Cs as V,FE as W,ns as X,hk as Y,pk as Z,ve as _,Pi as a,nk as a0,vk as a1,B8 as a2,yk as a3,E8 as a4,ml as a5,V as a6,rk as a7,r3 as a8,vc as a9,Md as aa,sk as ab,Di as ac,uk as ad,V4 as ae,Ca as af,J3 as ag,lk as ah,ik as ai,_e as aj,Pa as ak,Fi as al,ok as am,Jg as an,Qa as b,z4 as c,yt as d,je as e,Oy as f,ek as g,Ad as h,Ni as i,f as j,P0 as k,L3 as l,f5 as m,ot as n,Ld as o,U4 as p,JR as q,x as r,gk as s,mk as t,ye as u,jt as v,tk as w,np as x,gc as y,Ka as z};
package/dist/version.txt CHANGED
@@ -1 +1 @@
1
- ode-explorer=1.0-SNAPSHOT 22/11/2023 15:44:26
1
+ ode-explorer=1.0-SNAPSHOT 22/11/2023 18:04:46
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ode-explorer",
3
- "version": "1.1.0-develop-pedago-develop-pedago.202311221542",
3
+ "version": "1.1.0-develop-pedago-develop-pedago.202311221804",
4
4
  "description": "Open Digital Education Explorer",
5
5
  "homepage": "https://github.com/opendigitaleducation/explorer#readme",
6
6
  "bugs": {