ode-explorer 1.0.3-develop-pedago.202310161010 → 1.0.3-develop-pedago.202310161027
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 +1 -1
- package/dist/version.txt +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -231,4 +231,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
231
231
|
*
|
|
232
232
|
* This source code is licensed under the MIT license found in the
|
|
233
233
|
* LICENSE file in the root directory of this source tree.
|
|
234
|
-
*/var fl=x,xR=Vg;function SR(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var bR=typeof Object.is=="function"?Object.is:SR,ER=xR.useSyncExternalStore,CR=fl.useRef,RR=fl.useEffect,kR=fl.useMemo,PR=fl.useDebugValue;wy.useSyncExternalStoreWithSelector=function(e,t,n,r,s){var i=CR(null);if(i.current===null){var o={hasValue:!1,value:null};i.current=o}else o=i.current;i=kR(function(){function l(g){if(!u){if(u=!0,c=g,g=r(g),s!==void 0&&o.hasValue){var p=o.value;if(s(p,g))return d=p}return d=g}if(p=d,bR(c,g))return p;var y=r(g);return s!==void 0&&s(p,y)?p:(c=g,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=ER(e,i[0],i[1]);return RR(function(){o.hasValue=!0,o.value=a},[a]),PR(a),a};yy.exports=wy;var OR=yy.exports;const NR=Ra(OR),{useSyncExternalStoreWithSelector:jR}=NR;function TR(e,t=e.getState,n){const r=jR(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return x.useDebugValue(r),r}const rm=e=>{const t=typeof e=="function"?wR(e):e,n=(r,s)=>TR(t,r,s);return Object.assign(n,t),n},_R=e=>e?rm(e):rm,xy=async e=>{const t=await X.resource(e.app).searchContext(e);return{...t,folders:t.folders.filter(n=>!n.trashed)}},IR=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)},AR=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)},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).trashAll(s,n)},MR=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)},DR=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)},FR=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)},$R=async({searchParams:e,entId:t,shares:n})=>await X.share().saveRights(e.app,t,n),zR=async({searchParams:e,params:t})=>await X.resource(e.app).update(t),UR=async e=>await X.rights().sessionHasWorkflowRights(e),BR=({searchParams:e,assetId:t})=>X.resource(e.app).gotoView(t),VR=({searchParams:e,params:t})=>X.resource(e.app).create(t),HR=({searchParams:e,assetId:t})=>X.resource(e.app).gotoPrint(t),qR=async({searchParams:e,params:t})=>await X.resource(e.app).publish(t),QR=async()=>await X.conf().getPreference("showOnboardingTrash"),KR=async({onSuccess:e})=>{const t=await X.conf().savePreference("showOnboardingTrash",JSON.stringify({showOnboardingTrash:!1}));return e==null||e(),t};function gf(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===We.BIN?[We.BIN]:[We.DEFAULT]}function Sy(e,t){return t.id===e&&t.children?t.children.length>0:t.children?t.children.some(n=>Sy(t.id,n)):!1}function Li(e,t){return by(e,t)||e}function by(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=by(o,t,r);a&&i.push(a)}return{...r,children:i}}return r}class hl{constructor(t){lr(this,"id");lr(this,"name");lr(this,"childNumber");lr(this,"section",!1);lr(this,"children",[]);this.folder=t,this.id=t.id,this.name=t.name,this.childNumber=t.childNumber}}const Ey=(e,t,n)=>Li(e,r=>(r.id===n&&(r.children=t==null?void 0:t.map(s=>new hl(s))),r)),{app:ZR,types:GR,filters:XR,orders:YR}=dl(),Le=_R()((e,t)=>({filters:XR,orders:YR,searchConfig:{minLength:1},searchParams:{app:ZR,types:GR,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:We.DEFAULT,name:Vt("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(({searchParams:r})=>r.search!==n.search?n.search?{selectedFolders:[],selectedNodesIds:[],selectedResources:[],currentFolder:void 0,searchParams:{...r,...n,filters:{...r.filters,folder:void 0}}}:{selectedFolders:[],selectedNodesIds:[],selectedResources:[],searchParams:{...r,...n,filters:{...r.filters}}}:{searchParams:{...r,...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();BR({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]);HR({searchParams:n,assetId:i.assetId})}catch(n){console.error("explorer print failed: ",n)}},publishApi:async(n,r)=>{const{searchParams:s}=t();return await qR({searchParams:s,params:r})},openFolder:({folderId:n,folder:r})=>{const{searchParams:s,treeData:i}=t(),o=s.filters.folder,a=WR(n,i),l=gf([...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===We.BIN}}))},foldTreeItem:()=>e(n=>({...n,status:"fold"})),unfoldTreeItem:async(n,r)=>{const{treeData:s,searchParams:i}=t();if(e(o=>({...o,status:"unfold"})),!Sy(n,s)){await r.prefetchInfiniteQuery({queryKey:["prefetchContext",{folderId:n,trashed:!1}],queryFn:async()=>await xy({...i,filters:{...i.filters,folder:n}})});const o=r.getQueryData(["prefetchContext",{folderId:n,trashed:!1}]);e(a=>{var l;return{...a,treeData:Ey(s,(l=o==null?void 0:o.pages[0])==null?void 0:l.folders,n||We.DEFAULT)}})}},selectTreeItem:n=>{const{treeData:r}=t(),{openFolder:s}=t().updaters,i=xi(n,r);z4()(),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)||We.DEFAULT})},goToTrash:()=>e(n=>({...n,selectedNodesIds:[],selectedResources:[],resourceIds:[],folderIds:[],searchParams:{...n.searchParams,filters:{folder:We.BIN},trashed:!0},currentFolder:{id:We.BIN}}))}})),st=()=>Le(e=>e.searchParams),vf=()=>Le(e=>e.selectedNodesIds),ns=()=>Le(e=>e.treeData),JR=()=>Le(e=>e.selectedFolders),e8=()=>Le(e=>e.selectedResources),t8=()=>Le(e=>e.searchConfig),Mi=()=>Le(e=>e.folderIds),Di=()=>Le(e=>e.resourceIds),pl=()=>Le(e=>e.selectedResources.map(t=>t.assetId)),ml=()=>Le(e=>e.selectedResources.filter(t=>t.assetId===t.id)),rs=()=>Le(e=>e.currentFolder),Oe=()=>Le(e=>e.updaters),ss=()=>{const e=rs();return(e==null?void 0:e.id)===We.BIN},Cy=()=>Le(e=>e.resourceIsTrash),n8=()=>Le(e=>e.resourceActionDisable),r8=()=>{const e=rs();return(e==null?void 0:e.id)==="default"},s8=()=>vf().length>1,i8=()=>Le(e=>e.status);function o8(){const{appCode:e}=gt(),{t}=ve(["common",e]),n=vf(),r=ss(),s=rs(),{gotoPreviousFolder:i}=Oe(),o=t("explorer.tree.trash"),a=t("explorer.filters.mine",{ns:e}),l=(s==null?void 0:s.name)||a;return f.jsx("div",{className:"py-16",children:n.length>1&&!r?f.jsxs("div",{className:"d-flex align-items-center gap-8",children:[f.jsx(Id,{icon:f.jsx(q4,{}),variant:"ghost",color:"tertiary","aria-label":t("back"),className:"ms-n16",onClick:i}),f.jsx("p",{className:"body py-8 text-truncate",children:f.jsx("strong",{children:l})})]}):f.jsx("h2",{className:"body py-8 fw-bold",children:r?o:a})})}function a8(e,{parentId:t,newFolder:n}){return Li(e,r=>{var s;if(r.id===t){const i=[...((s=r.folder)==null?void 0:s.ancestors)||[]],o=gf([...i,r.id]);return{...r,children:[...r.children||[],new hl({...n,ancestors:o})]}}else return r})}function l8(e,{folders:t}){return Li(e,n=>{if(!t.includes(n.id))return n})}function u8(e,{destinationId:t,folders:n}){return Li(e,(r,s)=>{var i,o;if(t===r.id){const a=[...((i=r.folder)==null?void 0:i.ancestors)||[]],l=gf([...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 g=xi(h,e);g&&u.push({...g,folder:{...g==null?void 0:g.folder,ancestors:l}})}return{...r,children:u}}else return n.includes(r.id)&&t!==(s==null?void 0:s.id)?void 0:r})}function c8(e,{folderId:t,newFolder:n}){return Li(e,r=>r.id===t?new hl(n):r)}const{actions:sm,app:d8}=dl(),Ry=()=>jd({queryKey:["actions"],queryFn:async()=>{const e=sm.map(n=>n.workflow);return await UR(e)},select:e=>sm.map(t=>({...t,available:e[t.workflow]}))}),f8=()=>{const{hotToast:e}=Ot(Nt),{appCode:t}=gt(),{t:n}=ve(),r=rt(),s=st(),i=rs(),o=ns(),{setTreeData:a,setSearchParams:l,setSearchConfig:u}=Oe(),{filters:c,trashed:d,search:h}=s,g=["context",{folderId:c.folder,filters:c,trashed:d,search:h}];return DS({queryKey:g,queryFn:async({pageParam:p=0})=>await xy({...s,pagination:{...s.pagination,startIdx:p}}),onError(p){typeof p=="string"&&e.error(n(p))},onSuccess:async p=>{var S,m,v;await r.cancelQueries({queryKey:g});const y=[...((S=p==null?void 0:p.pages[0])==null?void 0:S.folders)??[]];(m=p==null?void 0:p.pages[0])!=null&&m.searchConfig&&u(p.pages[0].searchConfig),s.search||((i==null?void 0:i.id)==="default"?a({id:We.DEFAULT,section:!0,children:y.map(w=>new hl(w)),name:n("explorer.filters.mine",{ns:t})}):a(Ey(o,y,s.filters.folder||We.DEFAULT))),l({...s,pagination:(v=p==null?void 0:p.pages[(p==null?void 0:p.pages.length)-1])==null?void 0:v.pagination})},retry:!1,getNextPageParam:p=>p.pagination.startIdx+p.pagination.pageSize})},fk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),r=ns(),s=Mi(),i=pl(),o=Di(),a=ml().length>0,l=a?i:o,{clearSelectedItems:u,clearSelectedIds:c,setTreeData:d,setSearchParams:h}=Oe(),{filters:g,trashed:p}=n,y=["context",{folderId:g.folder,filters:g,trashed:p}];return sn({mutationFn:async()=>await LR({searchParams:n,folderIds:s,resourceIds:l,useAssetIds:a}),onError(S){typeof S=="string"&&e.error(Vt(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(k=>{var R;return{...k,folders:k.folders.filter(P=>!s.includes(P.id)),pagination:{...k.pagination,maxIdx:((R=k==null?void 0:k.pagination)==null?void 0:R.maxIdx)-S.resources.length},resources:k.resources.filter(P=>a?!i.includes(P.assetId):!l.includes(P.id))}})},C=l8(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()}})},h8=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),r=Mi(),s=pl(),i=Di(),o=ml().length>0,a=o?s:i,{setFolderIds:l,setResourceIds:u,setSelectedResources:c,setSelectedFolders:d}=Oe(),{filters:h,trashed:g}=n,p=["context",{folderId:h.folder,filters:h,trashed:g}];return sn({mutationFn:async()=>await DR({searchParams:n,folderIds:r,resourceIds:a,useAssetIds:o}),onError(y){typeof y=="string"&&e.error(Vt(y))},onSuccess:async()=>{if(await t.cancelQueries({queryKey:p}),t.getQueryData(p))return t.setQueryData(p,S=>{if(S)return{...S,pages:S==null?void 0:S.pages.map(m=>({...m,folders:m.folders.filter(v=>!r.includes(v.id)),resources:m.resources.filter(v=>o?!s.includes(v.assetId):!a.includes(v.id))}))}})},onSettled:()=>{u([]),c([]),l([]),d([])}})},hk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),r=Mi(),s=pl(),i=Di(),o=ml().length>0,a=o?s:i,{clearSelectedItems:l,clearSelectedIds:u}=Oe(),{filters:c,trashed:d}=n,h=["context",{folderId:c.folder,filters:c,trashed:d}];return sn({mutationFn:async()=>await MR({searchParams:n,folderIds:r,resourceIds:a,useAssetIds:o}),onError(g){typeof g=="string"&&e.error(Vt(g))},onSuccess:async()=>{if(await t.cancelQueries({queryKey:h}),t.getQueryData(h))return t.setQueryData(h,p=>{if(p)return{...p,pages:p==null?void 0:p.pages.map(S=>({...S,folders:S.folders.filter(m=>!r.includes(m.id)),resources:S.resources.filter(m=>o?!s.includes(m.assetId):!a.includes(m.id))}))}})},onSettled:()=>{l(),u()}})},pk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),r=ns(),s=Mi(),i=pl(),o=Di(),a=ml().length>0,l=a?i:o,{clearSelectedIds:u,clearSelectedItems:c,setTreeData:d,setSearchParams:h}=Oe(),{filters:g,trashed:p}=n,y=["context",{folderId:g.folder,filters:g,trashed:p}];return sn({mutationFn:async S=>await FR({searchParams:n,folderId:S,folderIds:s,resourceIds:l,useAssetIds:a}),onError(S){typeof S=="string"&&e.error(Vt(S))},onSuccess:async(S,m)=>{if(t.getQueryData(y))return t.setQueryData(y,w=>{var b;if(w){const C=u8(r,{destinationId:m,folders:s}),k={...w,pages:w==null?void 0:w.pages.map(R=>{var P;return{...R,folders:R.folders.filter(L=>!s.includes(L.id)),pagination:{...R.pagination,maxIdx:((P=R.pagination)==null?void 0:P.maxIdx)-S.resources.length},resources:R.resources.filter(L=>a?!i.includes(L.assetId):!l.includes(L.id))}})};return d(C),h({...n,pagination:{...n.pagination,maxIdx:((b=n.pagination)==null?void 0:b.maxIdx)-S.resources.length}}),k}})},onSettled:()=>{c(),u()}})},mk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),r=ns(),{setTreeData:s}=Oe(),{filters:i,trashed:o}=n,a=["context",{folderId:i.folder,filters:i,trashed:o}];return sn({mutationFn:async({name:l,parentId:u})=>await IR({searchParams:n,name:l,parentId:u}),onError(l){typeof l=="string"&&e.error(Vt(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 g={...h,pages:h==null?void 0:h.pages.map(y=>({...y,folders:[...y.folders,d]}))},p=a8(r,{parentId:u.parentId,newFolder:d});return s(p),g}})}})},gk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),r=ns(),{setFolderIds:s,setSelectedFolders:i,setTreeData:o}=Oe(),{filters:a,trashed:l}=n,u=["context",{folderId:a.folder,filters:a,trashed:l}];return sn({mutationFn:async({folderId:c,name:d,parentId:h})=>await AR({searchParams:n,folderId:c,parentId:h,name:d}),onError(c){typeof c=="string"&&e.error(Vt(c))},onSuccess:async(c,d)=>{if(await t.cancelQueries({queryKey:u}),t.getQueryData(u))return t.setQueryData(u,g=>{if(g){const p={...g,pages:g==null?void 0:g.pages.map(S=>({...S,folders:S.folders.map(m=>m.id===c.id?{...c,parentId:d.parentId,rights:m.rights}:m)}))},y=c8(r,{folderId:d.folderId,newFolder:c});return o(y),p}})},onSettled:()=>{s([]),i([])}})},vk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),{setResourceIds:r,setSelectedResources:s}=Oe(),{filters:i,trashed:o}=n,a=["context",{folderId:i.folder,filters:i,trashed:o}];return sn({mutationFn:async({entId:l,shares:u})=>await $R({searchParams:n,entId:l,shares:u}),onError(l){typeof l=="string"&&e.error(Vt(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(g=>{if(g.assetId===(u==null?void 0:u.entId)){let p=[`creator:${g.creatorId}`];return(u==null?void 0:u.shares.length)>=1&&(p=[...p,...u.shares.flatMap(y=>y.actions.map(S=>`${y.type}:${y.id}:${S.id}`))]),{...g,rights:p}}else return g})}))}})},onSettled:()=>{r([]),s([])}})},yk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),{filters:r,trashed:s}=n,i=["context",{folderId:r.folder,filters:r,trashed:s}];return sn({mutationFn:async o=>await zR({searchParams:n,params:o}),onError(o){typeof o=="string"&&e.error(Vt(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:g,public:p,description:y,slug:S,...m}=a;return{...d,...m,name:h,thumbnail:g.image,public:p,description:y,slug:S}}else return d})}))}})}})},wk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),{user:r}=_d(),s=["context",{folderId:n.filters.folder,filters:n.filters,trashed:n.trashed}];return sn({mutationFn:async i=>await VR({searchParams:n,params:i}),onError(i){typeof i=="string"&&e.error(Vt(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.image,application:d8,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(),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,g=>{if(g)return{...g,pages:g==null?void 0:g.pages.map(p=>({...p,resources:[u,...p.resources]}))}})}})},{trashActions:p8}=dl();function ky(){const[e,t]=x.useState(!1),[n,r]=x.useState("void"),[s,i]=x.useState(),{t:o}=ve(),{hotToast:a}=Ot(Nt),l=rs(),u=Di(),c=e8(),d=JR(),h=Mi(),g=ss(),p=h8(),y=Cy(),{openResource:S,printSelectedResource:m,openFolder:v,clearSelectedItems:w,clearSelectedIds:b}=Oe(),{data:C}=Ry();x.useEffect(()=>{if(u.length===0&&h.length===0){t(!1);return}if(y){t(!1);return}t(!0)},[u,h]);async function k(G){var he;switch((he=document.getElementById("root"))==null||he.setAttribute("aria-hidden","true"),i(G),G.id){case Me.OPEN:return u.length>0?S(c[0]):v({folder:d[0],folderId:d[0].id});case Me.MOVE:return r("move");case Me.PRINT:return m();case Me.DELETE:return r("delete");case Me.RESTORE:return await L();case Me.PUBLISH:return r("publish");case Me.UPD_PROPS:case"edit":return it();case Me.SHARE:return r("share");default:throw Error(`Unknown action: ${G.id}`)}}function R(G){const he=u.length+h.length,jt=u.length===1||h.length===1,Tt=he===1,ln=h.length===0;switch(G.id){case Me.OPEN:return Tt;case Me.MANAGE:return jt;case Me.PUBLISH:return jt&&ln;case Me.UPD_PROPS:return jt&&ln;case Me.SHARE:return ln&&jt;case Me.PRINT:return jt&&ln;case"edit":return Tt;default:return!0}}function P(){return!0}async function L(){try{if(g)await p.mutate(),a.success(o("explorer.trash.toast"));else throw new Error("Cannot restore untrashed resources");M()}catch(G){console.error(G)}}function M(){var G;r("void"),s!=null&&s.id&&((G=document.getElementById(s==null?void 0:s.id))==null||G.focus())}const T=G=>()=>{n===G&&(M(),w(),b())},D=T("move"),U=T("move"),E=T("delete"),O=T("delete"),A=T("publish"),$=T("publish"),N=T("edit_folder"),I=T("edit_folder"),z=T("edit_resource"),Z=T("edit_resource"),W=T("share"),an=T("share");function it(){u&&u.length>0?r("edit_resource"):r("edit_folder")}function ye(G){return G.id==="edit"&&h.length>0?"explorer.rename":`explorer.actions.${G.id}`}return{onRestore:L,actions:g?p8:C,selectedElement:[...c,...d],currentFolderId:l==null?void 0:l.id,overrideLabel:ye,handleClick:k,isActivable:g?P:R,isActionBarOpen:e,isMoveModalOpen:n==="move",onMoveCancel:D,onMoveSuccess:U,isDeleteModalOpen:n==="delete",onDeleteCancel:O,onDeleteSuccess:E,isPublishModalOpen:n==="publish",onPublishCancel:$,onPublishSuccess:A,isEditFolderOpen:n==="edit_folder",onEditFolderCancel:I,onEditFolderSuccess:N,isEditResourceOpen:n==="edit_resource",onEditResourceCancel:Z,onEditResourceSuccess:z,isShareResourceOpen:n==="share",onShareResourceCancel:an,onShareResourceSuccess:W,onClearActionBar:M}}function m8({roles:e,rights:t,action:n}){const[r,s]=x.useState(!1),{user:i}=_d(),o=ss();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 g=t.map(p=>p.rights);await l(g)}else s(!1);else typeof t=="string"?await a(t):await a(t.rights)};return{visible:r,refreshState:u}}function g8({resourceRights:e,roleExpected:t,action:n,children:r,renderWhenForbidden:s}){const{t:i}=ve(),{overrideLabel:o}=ky(),{visible:a}=m8({roles:t,rights:e,action:n==null?void 0:n.id}),{setResourceActionDisable:l}=Oe(),u=ss();return a?f.jsx(f.Fragment,{children:r}):s?s():u&&!a?f.jsx(es,{type:"button",color:"primary",variant:"filled",onClick:()=>{l(!0)},children:i(o(n))}):f.jsx(f.Fragment,{})}const v8=x.lazy(async()=>await ge(()=>import("./ShareResourceModal.js"),["ShareResourceModal.js","Tooltip.js"])),y8=x.lazy(async()=>await ge(()=>import("./DeleteModal.js"),[])),w8=x.lazy(async()=>await ge(()=>import("./MoveModal.js"),[])),x8=x.lazy(async()=>await ge(()=>import("./EditFolderModal.js"),["EditFolderModal.js","index.esm.js"])),S8=x.lazy(async()=>await ge(()=>import("./EditResourceModal.js"),["EditResourceModal.js","index.esm.js","TextArea.js"])),b8=x.lazy(async()=>await ge(()=>import("./PublishModal.js"),["PublishModal.js","index.esm.js","TextArea.js"]));function E8(){const{t:e}=ve(),{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:g,isShareResourceOpen:p,onShareResourceCancel:y,onShareResourceSuccess:S,onMoveCancel:m,onMoveSuccess:v,onDeleteCancel:w,onDeleteSuccess:b,onPublishCancel:C,onPublishSuccess:k,isActivable:R,handleClick:P}=ky(),L=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:[L((M,T)=>T&&f.jsx(Ea.div,{className:"position-fixed bottom-0 start-0 end-0 z-3",style:M,children:f.jsx(U4,{children:t==null?void 0:t.filter(D=>D.available&&D.target==="actionbar").map(D=>R(D)&&f.jsx(g8,{resourceRights:n,roleExpected:D.right,action:D,children:f.jsx(es,{id:D.id,type:"button",color:"primary",variant:"filled",onClick:()=>{P(D)},children:e(l(D))},D.id)},D.id))})})),f.jsxs(x.Suspense,{fallback:f.jsx(ze,{}),children:[r&&f.jsx(w8,{isOpen:r,onCancel:m,onSuccess:v}),s&&f.jsx(y8,{isOpen:s,onCancel:w,onSuccess:b}),i&&f.jsx(b8,{isOpen:i,onCancel:C,onSuccess:k}),a&&f.jsx(x8,{edit:!0,isOpen:a,onCancel:u,onSuccess:c}),d&&f.jsx(S8,{edit:!0,isOpen:d,onCancel:h,onSuccess:g}),p&&f.jsx(v8,{isOpen:p,onCancel:y,onSuccess:S})]})]})}const C8=()=>{var u;const{user:e,appCode:t}=gt(),r={blog:"Blog",mindmap:"MindMap",scrapbook:"ScrapBook",collaborativewall:"CollaborativeWall",timelinegenerator:"TimelineGenerator",wiki:"Wiki"}[t],s=(u=e.apps.find(c=>c.isExternal&&c.address.includes("library")&&c.name.includes("library")))==null?void 0:u.address.split("?");let i=s==null?void 0:s[0];i!=null&&i.endsWith("/")||(i=`${i}/`);const o=s==null?void 0:s[1],a=`application%5B0%5D=${r}&page=1&sort_field=views&sort_order=desc`;return{libraryUrl:`${i}search/?${o}&${a}`}},R8=x.lazy(async()=>await ge(()=>import("./EmptyScreenApp.js"),["EmptyScreenApp.js","EmptyScreen.js"])),k8=x.lazy(async()=>await ge(()=>import("./EmptyScreenSearch.js"),["EmptyScreenSearch.js","EmptyScreen.js"])),P8=x.lazy(async()=>await ge(()=>import("./EmptyScreenError.js"),["EmptyScreenError.js","EmptyScreen.js"])),O8=x.lazy(async()=>await ge(()=>import("./EmptyScreenNoContentInFolder.js"),["EmptyScreenNoContentInFolder.js","EmptyScreen.js"])),N8=x.lazy(async()=>await ge(()=>import("./EmptyScreenTrash.js"),["EmptyScreenTrash.js","EmptyScreen.js"])),j8=x.lazy(async()=>await ge(()=>import("./FoldersList.js"),["FoldersList.js","Card.js","Tooltip.js"])),T8=x.lazy(async()=>await ge(()=>import("./ResourcesList.js"),["ResourcesList.js","Card.js","Tooltip.js"])),_8=()=>{const e=r8(),t=ss(),n=s8(),r=st(),{data:s,isError:i,isLoading:o,isFetching:a,fetchNextPage:l}=f8(),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(ze,{}),children:f.jsx(P8,{})}):r.search&&d?f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(k8,{})}):!d&&!o?f.jsxs(x.Suspense,{fallback:f.jsx(ze,{}),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(ze,{}),children:f.jsx(R8,{})}):n&&d&&!t?f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(O8,{})}):t&&(s==null?void 0:s.pages[0].resources.length)===0?f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(N8,{})}):null};function I8({isOpen:e,onCancel:t=()=>({})}){const{t:n}=ve();return Pi.createPortal(f.jsxs(Sn,{isOpen:e,onModalClose:t,id:"trash_action_disable_resource",children:[f.jsx(Sn.Header,{onModalClose:()=>t(),children:n("explorer.trash.action.modal.title")}),f.jsx(Sn.Body,{children:f.jsx("p",{className:"body",children:n("explorer.trash.action.modal.text")})}),f.jsx(Sn.Footer,{children:f.jsx(es,{color:"primary",onClick:t,type:"button",variant:"outline",children:n("close")})})]}),document.getElementById("portal"))}const A8=()=>{const e=st(),[t,n]=x.useState(""),r=F4(t,500),s=t8(),i=i8(),{setSearchParams:o}=Oe(),a=c=>{const d=c.target.value;n(d.toString())},l=c=>{(c.key==="Enter"||c.key==="Return")&&(o({search:t||void 0}),c.preventDefault())},u=c=>{o({search:r||void 0}),c.preventDefault()};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}},L8=()=>{const{appCode:e,currentApp:t}=gt(),{t:n}=ve(),[r,s]=x.useState(""),i=c=>{if(c==="0"){s("");return}s(c)},o=rs(),a=st(),{setSearchParams:l}=Oe();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)==fo.EXERCIZER?[{label:"Exercices interactifs",value:"3"}]:[],...(t==null?void 0:t.displayName)==fo.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)==fo.BLOG?[{label:n("explorer.filter.public",{ns:e}),value:"7"}]:[]];return{selectedFilters:r,options:u,handleOnSelectFilter:i}},M8=()=>{const{appCode:e}=gt(),{t}=ve(),{selectedFilters:n,options:r,handleOnSelectFilter:s}=L8(),{inputSearch:i,handleInputSearchChange:o,handleKeyPress:a,handleSearchSubmit:l}=A8(),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(gc,{id:"search",className:"input-group",children:[f.jsx(Z0,{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(fr,{placement:"bottom-end",children:[f.jsx(fr.Trigger,{label:t("explorer.filters"),icon:f.jsx(i3,{width:20}),variant:"ghost",badgeContent:u}),f.jsx(fr.Menu,{children:r.map(c=>c.value==="0"?f.jsxs(x.Fragment,{children:[f.jsx(fr.RadioItem,{value:c.value,model:n,onChange:()=>s(c.value),children:c.label}),f.jsx(fr.Separator,{})]},"0"):f.jsx(fr.RadioItem,{value:c.value,model:n,onChange:()=>s(c.value),children:c.label},c.value))})]})]})},D8=({id:e,selected:t,onSelect:n})=>{const{t:r}=ve();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(J4,{width:"20",height:"20"}),f.jsx("span",{children:r("explorer.tree.trash")})]})})})})})})})},F8=x.lazy(async()=>await ge(()=>import("./EditFolderModal.js"),["EditFolderModal.js","index.esm.js"])),$8=()=>{const e=rt(),{t}=ve(),[n,r]=D4(),s=ns(),i=ss(),o=vf(),{goToTrash:a,selectTreeItem:l,unfoldTreeItem:u,foldTreeItem:c,clearSelectedItems:d,clearSelectedIds:h}=Oe(),g=Ar("org.entcore.blog.controllers.FoldersController|add"),p=async S=>{await u(S,e)},y=()=>{d(),h(),r()};return s?f.jsxs(f.Fragment,{children:[f.jsx(AE,{data:s,selectedNodesIds:o,onTreeItemSelect:l,onTreeItemFold:c,onTreeItemUnfold:p}),f.jsx(D8,{id:We.BIN,selected:i,onSelect:a}),g&&f.jsx("div",{className:"d-grid my-16",children:f.jsx(es,{disabled:i,type:"button",color:"primary",variant:"outline",leftIcon:f.jsx(m3,{}),onClick:y,children:t("explorer.folder.new")})}),f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:n&&f.jsx(F8,{edit:!1,isOpen:n,onSuccess:r,onCancel:r})})]}):null},z8=()=>{const e=n8(),{clearSelectedIds:t,setResourceActionDisable:n,clearSelectedItems:r}=Oe();return{isActionDisableModalOpen:e,onActionDisableCancel:()=>{t(),r(),n(!1)}}},U8=()=>{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 KR({onSuccess:()=>r(!1)})},setIsOpen:r}},B8=()=>{const e=Cy(),{clearSelectedIds:t,setResourceIsTrash:n,clearSelectedItems:r}=Oe();return{isTrashedModalOpen:e,onTrashedCancel:()=>{t(),r(),n(!1)}}},V8=({workflow:e,actions:t})=>{const n=t==null?void 0:t.filter(r=>r.id===e&&r.available);return n&&n.length>0},H8=x.lazy(async()=>await ge(()=>import("./OnboardingTrash.js"),[])),q8=x.lazy(async()=>await ge(()=>import("./AppAction.js"),[])),Q8=x.lazy(async()=>await ge(()=>import("./Library.js"),[])),K8=x.lazy(async()=>await ge(()=>import("./TrashedResourceModal.js"),[]));function W8(){const{currentApp:e}=gt(),{isOnboardingTrash:t,isOpen:n,setIsOpen:r,handleSavePreference:s}=U8(),{data:i}=Ry(),{isTrashedModalOpen:o,onTrashedCancel:a}=B8(),{isActionDisableModalOpen:l,onActionDisableCancel:u}=z8();HS();const c=i==null?void 0:i.find(h=>h.id==="publish"),{libraryUrl:d}=C8();return f.jsxs(f.Fragment,{children:[f.jsx(O3,{render:()=>V8({workflow:"create",actions:i})?f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(q8,{})}):null,children:f.jsx(_3,{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($8,{}),(c==null?void 0:c.available)&&d&&f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(Q8,{url:d})})]}),f.jsxs(Ms.Col,{sm:"4",md:"8",lg:"6",xl:"9",children:[f.jsx(M8,{}),f.jsx(o8,{}),f.jsx(_8,{})]}),f.jsx(E8,{}),t&&f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(H8,{isOpen:n,setIsOpen:r,handleSavePreference:s})}),o&&f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(K8,{isOpen:o,onCancel:a})}),l&&f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(I8,{isOpen:l,onCancel:u})})]})]})}function Z8(){const{init:e}=gt();return e?e?f.jsx(vR,{children:f.jsx(W8,{})}):null:f.jsx(ze,{position:!1})}const G8=document.getElementById("root"),X8=new aw({queryCache:new Am({onError:e=>{e==="0090"&&window.location.replace("/auth/login")}}),defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}});vy(G8).render(f.jsx(x.StrictMode,{children:f.jsxs(CS,{client:X8,children:[f.jsx($S,{params:dl(),children:f.jsx(VS,{children:f.jsx(Z8,{})})}),f.jsx(yR,{initialIsOpen:!1})]})}));export{sk as $,Nt as A,es as B,e5 as C,c3 as D,Z0 as E,gc as F,T3 as G,sp as H,c0 as I,hk as J,fk as K,ze as L,Sn as M,ss as N,pk as O,JR as P,rt as Q,Qy as R,m3 as S,ns as T,AE as U,Rs as V,rs as W,mk as X,gk as Y,sb as Z,ge as _,Pi as a,wk as a0,V8 as a1,$d as a2,dl as a3,fr as a4,ik as a5,J4 as a6,hc as a7,Mi as a8,dk as a9,z4 as aa,Ea as ab,Ue as ac,Ra as ad,Di as ae,ok as af,ak as ag,ck as ah,Z3 as ai,lk as aj,Jg as ak,Ha as b,D4 as c,gt as d,Oe as e,Ry as f,tk as g,Td as h,H as i,f as j,i5 as k,st as l,_d as m,F4 as n,e8 as o,yk as p,vk as q,x as r,Ot as s,nk as t,ve as u,rp as v,fc as w,Id as x,rk as y,uk as z};
|
|
234
|
+
*/var fl=x,xR=Vg;function SR(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var bR=typeof Object.is=="function"?Object.is:SR,ER=xR.useSyncExternalStore,CR=fl.useRef,RR=fl.useEffect,kR=fl.useMemo,PR=fl.useDebugValue;wy.useSyncExternalStoreWithSelector=function(e,t,n,r,s){var i=CR(null);if(i.current===null){var o={hasValue:!1,value:null};i.current=o}else o=i.current;i=kR(function(){function l(g){if(!u){if(u=!0,c=g,g=r(g),s!==void 0&&o.hasValue){var p=o.value;if(s(p,g))return d=p}return d=g}if(p=d,bR(c,g))return p;var y=r(g);return s!==void 0&&s(p,y)?p:(c=g,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=ER(e,i[0],i[1]);return RR(function(){o.hasValue=!0,o.value=a},[a]),PR(a),a};yy.exports=wy;var OR=yy.exports;const NR=Ra(OR),{useSyncExternalStoreWithSelector:jR}=NR;function TR(e,t=e.getState,n){const r=jR(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return x.useDebugValue(r),r}const rm=e=>{const t=typeof e=="function"?wR(e):e,n=(r,s)=>TR(t,r,s);return Object.assign(n,t),n},_R=e=>e?rm(e):rm,xy=async e=>{const t=await X.resource(e.app).searchContext(e);return{...t,folders:t.folders.filter(n=>!n.trashed)}},IR=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)},AR=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)},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).trashAll(s,n)},MR=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)},DR=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)},FR=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)},$R=async({searchParams:e,entId:t,shares:n})=>await X.share().saveRights(e.app,t,n),zR=async({searchParams:e,params:t})=>await X.resource(e.app).update(t),UR=async e=>await X.rights().sessionHasWorkflowRights(e),BR=({searchParams:e,assetId:t})=>X.resource(e.app).gotoView(t),VR=({searchParams:e,params:t})=>X.resource(e.app).create(t),HR=({searchParams:e,assetId:t})=>X.resource(e.app).gotoPrint(t),qR=async({searchParams:e,params:t})=>await X.resource(e.app).publish(t),QR=async()=>await X.conf().getPreference("showOnboardingTrash"),KR=async({onSuccess:e})=>{const t=await X.conf().savePreference("showOnboardingTrash",JSON.stringify({showOnboardingTrash:!1}));return e==null||e(),t};function gf(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===We.BIN?[We.BIN]:[We.DEFAULT]}function Sy(e,t){return t.id===e&&t.children?t.children.length>0:t.children?t.children.some(n=>Sy(t.id,n)):!1}function Li(e,t){return by(e,t)||e}function by(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=by(o,t,r);a&&i.push(a)}return{...r,children:i}}return r}class hl{constructor(t){lr(this,"id");lr(this,"name");lr(this,"childNumber");lr(this,"section",!1);lr(this,"children",[]);this.folder=t,this.id=t.id,this.name=t.name,this.childNumber=t.childNumber}}const Ey=(e,t,n)=>Li(e,r=>(r.id===n&&(r.children=t==null?void 0:t.map(s=>new hl(s))),r)),{app:ZR,types:GR,filters:XR,orders:YR}=dl(),Le=_R()((e,t)=>({filters:XR,orders:YR,searchConfig:{minLength:1},searchParams:{app:ZR,types:GR,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:We.DEFAULT,name:Vt("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(({searchParams:r})=>r.search!==n.search?n.search?{selectedFolders:[],selectedNodesIds:[],selectedResources:[],currentFolder:void 0,searchParams:{...r,...n,filters:{...r.filters,folder:void 0}}}:{selectedFolders:[],selectedNodesIds:[],selectedResources:[],searchParams:{...r,...n,filters:{...r.filters}}}:{searchParams:{...r,...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();BR({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]);HR({searchParams:n,assetId:i.assetId})}catch(n){console.error("explorer print failed: ",n)}},publishApi:async(n,r)=>{const{searchParams:s}=t();return await qR({searchParams:s,params:r})},openFolder:({folderId:n,folder:r})=>{const{searchParams:s,treeData:i}=t(),o=s.filters.folder,a=WR(n,i),l=gf([...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===We.BIN}}))},foldTreeItem:()=>e(n=>({...n,status:"fold"})),unfoldTreeItem:async(n,r)=>{const{treeData:s,searchParams:i}=t();if(e(o=>({...o,status:"unfold"})),!Sy(n,s)){await r.prefetchInfiniteQuery({queryKey:["prefetchContext",{folderId:n,trashed:!1}],queryFn:async()=>await xy({...i,filters:{...i.filters,folder:n}})});const o=r.getQueryData(["prefetchContext",{folderId:n,trashed:!1}]);e(a=>{var l;return{...a,treeData:Ey(s,(l=o==null?void 0:o.pages[0])==null?void 0:l.folders,n||We.DEFAULT)}})}},selectTreeItem:n=>{const{treeData:r}=t(),{openFolder:s}=t().updaters,i=xi(n,r);z4()(),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)||We.DEFAULT})},goToTrash:()=>e(n=>({...n,selectedNodesIds:[],selectedResources:[],resourceIds:[],folderIds:[],searchParams:{...n.searchParams,filters:{folder:We.BIN},trashed:!0},currentFolder:{id:We.BIN}}))}})),st=()=>Le(e=>e.searchParams),vf=()=>Le(e=>e.selectedNodesIds),ns=()=>Le(e=>e.treeData),JR=()=>Le(e=>e.selectedFolders),e8=()=>Le(e=>e.selectedResources),t8=()=>Le(e=>e.searchConfig),Mi=()=>Le(e=>e.folderIds),Di=()=>Le(e=>e.resourceIds),pl=()=>Le(e=>e.selectedResources.map(t=>t.assetId)),ml=()=>Le(e=>e.selectedResources.filter(t=>t.assetId===t.id)),rs=()=>Le(e=>e.currentFolder),Oe=()=>Le(e=>e.updaters),ss=()=>{const e=rs();return(e==null?void 0:e.id)===We.BIN},Cy=()=>Le(e=>e.resourceIsTrash),n8=()=>Le(e=>e.resourceActionDisable),r8=()=>{const e=rs();return(e==null?void 0:e.id)==="default"},s8=()=>vf().length>1,i8=()=>Le(e=>e.status);function o8(){const{appCode:e}=gt(),{t}=ve(["common",e]),n=vf(),r=ss(),s=rs(),{gotoPreviousFolder:i}=Oe(),o=t("explorer.tree.trash"),a=t("explorer.filters.mine",{ns:e}),l=(s==null?void 0:s.name)||a;return f.jsx("div",{className:"py-16",children:n.length>1&&!r?f.jsxs("div",{className:"d-flex align-items-center gap-8",children:[f.jsx(Id,{icon:f.jsx(q4,{}),variant:"ghost",color:"tertiary","aria-label":t("back"),className:"ms-n16",onClick:i}),f.jsx("p",{className:"body py-8 text-truncate",children:f.jsx("strong",{children:l})})]}):f.jsx("h2",{className:"body py-8 fw-bold",children:r?o:a})})}function a8(e,{parentId:t,newFolder:n}){return Li(e,r=>{var s;if(r.id===t){const i=[...((s=r.folder)==null?void 0:s.ancestors)||[]],o=gf([...i,r.id]);return{...r,children:[...r.children||[],new hl({...n,ancestors:o})]}}else return r})}function l8(e,{folders:t}){return Li(e,n=>{if(!t.includes(n.id))return n})}function u8(e,{destinationId:t,folders:n}){return Li(e,(r,s)=>{var i,o;if(t===r.id){const a=[...((i=r.folder)==null?void 0:i.ancestors)||[]],l=gf([...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 g=xi(h,e);g&&u.push({...g,folder:{...g==null?void 0:g.folder,ancestors:l}})}return{...r,children:u}}else return n.includes(r.id)&&t!==(s==null?void 0:s.id)?void 0:r})}function c8(e,{folderId:t,newFolder:n}){return Li(e,r=>r.id===t?new hl(n):r)}const{actions:sm,app:d8}=dl(),Ry=()=>jd({queryKey:["actions"],queryFn:async()=>{const e=sm.map(n=>n.workflow);return await UR(e)},select:e=>sm.map(t=>({...t,available:e[t.workflow]}))}),f8=()=>{const{hotToast:e}=Ot(Nt),{appCode:t}=gt(),{t:n}=ve(),r=rt(),s=st(),i=rs(),o=ns(),{setTreeData:a,setSearchParams:l,setSearchConfig:u}=Oe(),{filters:c,trashed:d,search:h}=s,g=["context",{folderId:c.folder,filters:c,trashed:d,search:h}];return DS({queryKey:g,queryFn:async({pageParam:p=0})=>await xy({...s,pagination:{...s.pagination,startIdx:p}}),onError(p){typeof p=="string"&&e.error(n(p))},onSuccess:async p=>{var S,m,v;await r.cancelQueries({queryKey:g});const y=[...((S=p==null?void 0:p.pages[0])==null?void 0:S.folders)??[]];(m=p==null?void 0:p.pages[0])!=null&&m.searchConfig&&u(p.pages[0].searchConfig),s.search||((i==null?void 0:i.id)==="default"?a({id:We.DEFAULT,section:!0,children:y.map(w=>new hl(w)),name:n("explorer.filters.mine",{ns:t})}):a(Ey(o,y,s.filters.folder||We.DEFAULT))),l({...s,pagination:(v=p==null?void 0:p.pages[(p==null?void 0:p.pages.length)-1])==null?void 0:v.pagination})},retry:!1,getNextPageParam:p=>p.pagination.startIdx+p.pagination.pageSize})},fk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),r=ns(),s=Mi(),i=pl(),o=Di(),a=ml().length>0,l=a?i:o,{clearSelectedItems:u,clearSelectedIds:c,setTreeData:d,setSearchParams:h}=Oe(),{filters:g,trashed:p}=n,y=["context",{folderId:g.folder,filters:g,trashed:p}];return sn({mutationFn:async()=>await LR({searchParams:n,folderIds:s,resourceIds:l,useAssetIds:a}),onError(S){typeof S=="string"&&e.error(Vt(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(k=>{var R;return{...k,folders:k.folders.filter(P=>!s.includes(P.id)),pagination:{...k.pagination,maxIdx:((R=k==null?void 0:k.pagination)==null?void 0:R.maxIdx)-S.resources.length},resources:k.resources.filter(P=>a?!i.includes(P.assetId):!l.includes(P.id))}})},C=l8(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()}})},h8=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),r=Mi(),s=pl(),i=Di(),o=ml().length>0,a=o?s:i,{setFolderIds:l,setResourceIds:u,setSelectedResources:c,setSelectedFolders:d}=Oe(),{filters:h,trashed:g}=n,p=["context",{folderId:h.folder,filters:h,trashed:g}];return sn({mutationFn:async()=>await DR({searchParams:n,folderIds:r,resourceIds:a,useAssetIds:o}),onError(y){typeof y=="string"&&e.error(Vt(y))},onSuccess:async()=>{if(await t.cancelQueries({queryKey:p}),t.getQueryData(p))return t.setQueryData(p,S=>{if(S)return{...S,pages:S==null?void 0:S.pages.map(m=>({...m,folders:m.folders.filter(v=>!r.includes(v.id)),resources:m.resources.filter(v=>o?!s.includes(v.assetId):!a.includes(v.id))}))}})},onSettled:()=>{u([]),c([]),l([]),d([])}})},hk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),r=Mi(),s=pl(),i=Di(),o=ml().length>0,a=o?s:i,{clearSelectedItems:l,clearSelectedIds:u}=Oe(),{filters:c,trashed:d}=n,h=["context",{folderId:c.folder,filters:c,trashed:d}];return sn({mutationFn:async()=>await MR({searchParams:n,folderIds:r,resourceIds:a,useAssetIds:o}),onError(g){typeof g=="string"&&e.error(Vt(g))},onSuccess:async()=>{if(await t.cancelQueries({queryKey:h}),t.getQueryData(h))return t.setQueryData(h,p=>{if(p)return{...p,pages:p==null?void 0:p.pages.map(S=>({...S,folders:S.folders.filter(m=>!r.includes(m.id)),resources:S.resources.filter(m=>o?!s.includes(m.assetId):!a.includes(m.id))}))}})},onSettled:()=>{l(),u()}})},pk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),r=ns(),s=Mi(),i=pl(),o=Di(),a=ml().length>0,l=a?i:o,{clearSelectedIds:u,clearSelectedItems:c,setTreeData:d,setSearchParams:h}=Oe(),{filters:g,trashed:p}=n,y=["context",{folderId:g.folder,filters:g,trashed:p}];return sn({mutationFn:async S=>await FR({searchParams:n,folderId:S,folderIds:s,resourceIds:l,useAssetIds:a}),onError(S){typeof S=="string"&&e.error(Vt(S))},onSuccess:async(S,m)=>{if(t.getQueryData(y))return t.setQueryData(y,w=>{var b;if(w){const C=u8(r,{destinationId:m,folders:s}),k={...w,pages:w==null?void 0:w.pages.map(R=>{var P;return{...R,folders:R.folders.filter(L=>!s.includes(L.id)),pagination:{...R.pagination,maxIdx:((P=R.pagination)==null?void 0:P.maxIdx)-S.resources.length},resources:R.resources.filter(L=>a?!i.includes(L.assetId):!l.includes(L.id))}})};return d(C),h({...n,pagination:{...n.pagination,maxIdx:((b=n.pagination)==null?void 0:b.maxIdx)-S.resources.length}}),k}})},onSettled:()=>{c(),u()}})},mk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),r=ns(),{setTreeData:s}=Oe(),{filters:i,trashed:o}=n,a=["context",{folderId:i.folder,filters:i,trashed:o}];return sn({mutationFn:async({name:l,parentId:u})=>await IR({searchParams:n,name:l,parentId:u}),onError(l){typeof l=="string"&&e.error(Vt(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 g={...h,pages:h==null?void 0:h.pages.map(y=>({...y,folders:[...y.folders,d]}))},p=a8(r,{parentId:u.parentId,newFolder:d});return s(p),g}})}})},gk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),r=ns(),{setFolderIds:s,setSelectedFolders:i,setTreeData:o}=Oe(),{filters:a,trashed:l}=n,u=["context",{folderId:a.folder,filters:a,trashed:l}];return sn({mutationFn:async({folderId:c,name:d,parentId:h})=>await AR({searchParams:n,folderId:c,parentId:h,name:d}),onError(c){typeof c=="string"&&e.error(Vt(c))},onSuccess:async(c,d)=>{if(await t.cancelQueries({queryKey:u}),t.getQueryData(u))return t.setQueryData(u,g=>{if(g){const p={...g,pages:g==null?void 0:g.pages.map(S=>({...S,folders:S.folders.map(m=>m.id===c.id?{...c,parentId:d.parentId,rights:m.rights}:m)}))},y=c8(r,{folderId:d.folderId,newFolder:c});return o(y),p}})},onSettled:()=>{s([]),i([])}})},vk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),{setResourceIds:r,setSelectedResources:s}=Oe(),{filters:i,trashed:o}=n,a=["context",{folderId:i.folder,filters:i,trashed:o}];return sn({mutationFn:async({entId:l,shares:u})=>await $R({searchParams:n,entId:l,shares:u}),onError(l){typeof l=="string"&&e.error(Vt(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(g=>{if(g.assetId===(u==null?void 0:u.entId)){let p=[`creator:${g.creatorId}`];return(u==null?void 0:u.shares.length)>=1&&(p=[...p,...u.shares.flatMap(y=>y.actions.map(S=>`${y.type}:${y.id}:${S.id}`))]),{...g,rights:p}}else return g})}))}})},onSettled:()=>{r([]),s([])}})},yk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),{filters:r,trashed:s}=n,i=["context",{folderId:r.folder,filters:r,trashed:s}];return sn({mutationFn:async o=>await zR({searchParams:n,params:o}),onError(o){typeof o=="string"&&e.error(Vt(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:g,public:p,description:y,slug:S,...m}=a;return{...d,...m,name:h,thumbnail:g.image,public:p,description:y,slug:S}}else return d})}))}})}})},wk=()=>{const{hotToast:e}=Ot(Nt),t=rt(),n=st(),{user:r}=_d(),s=["context",{folderId:n.filters.folder,filters:n.filters,trashed:n.trashed}];return sn({mutationFn:async i=>await VR({searchParams:n,params:i}),onError(i){typeof i=="string"&&e.error(Vt(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.image,application:d8,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(),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,g=>{if(g)return{...g,pages:g==null?void 0:g.pages.map(p=>({...p,resources:[u,...p.resources]}))}})}})},{trashActions:p8}=dl();function ky(){const[e,t]=x.useState(!1),[n,r]=x.useState("void"),[s,i]=x.useState(),{t:o}=ve(),{hotToast:a}=Ot(Nt),l=rs(),u=Di(),c=e8(),d=JR(),h=Mi(),g=ss(),p=h8(),y=Cy(),{openResource:S,printSelectedResource:m,openFolder:v,clearSelectedItems:w,clearSelectedIds:b}=Oe(),{data:C}=Ry();x.useEffect(()=>{if(u.length===0&&h.length===0){t(!1);return}if(y){t(!1);return}t(!0)},[u,h]);async function k(G){var he;switch((he=document.getElementById("root"))==null||he.setAttribute("aria-hidden","true"),i(G),G.id){case Me.OPEN:return u.length>0?S(c[0]):v({folder:d[0],folderId:d[0].id});case Me.MOVE:return r("move");case Me.PRINT:return m();case Me.DELETE:return r("delete");case Me.RESTORE:return await L();case Me.PUBLISH:return r("publish");case Me.UPD_PROPS:case"edit":return it();case Me.SHARE:return r("share");default:throw Error(`Unknown action: ${G.id}`)}}function R(G){const he=u.length+h.length,jt=u.length===1||h.length===1,Tt=he===1,ln=h.length===0;switch(G.id){case Me.OPEN:return Tt;case Me.MANAGE:return jt;case Me.PUBLISH:return jt&&ln;case Me.UPD_PROPS:return jt&&ln;case Me.SHARE:return ln&&jt;case Me.PRINT:return jt&&ln;case"edit":return Tt;default:return!0}}function P(){return!0}async function L(){try{if(g)await p.mutate(),a.success(o("explorer.trash.toast"));else throw new Error("Cannot restore untrashed resources");M()}catch(G){console.error(G)}}function M(){var G;r("void"),s!=null&&s.id&&((G=document.getElementById(s==null?void 0:s.id))==null||G.focus())}const T=G=>()=>{n===G&&(M(),w(),b())},D=T("move"),U=T("move"),E=T("delete"),O=T("delete"),A=T("publish"),$=T("publish"),N=T("edit_folder"),I=T("edit_folder"),z=T("edit_resource"),Z=T("edit_resource"),W=T("share"),an=T("share");function it(){u&&u.length>0?r("edit_resource"):r("edit_folder")}function ye(G){return G.id==="edit"&&h.length>0?"explorer.rename":`explorer.actions.${G.id}`}return{onRestore:L,actions:g?p8:C,selectedElement:[...c,...d],currentFolderId:l==null?void 0:l.id,overrideLabel:ye,handleClick:k,isActivable:g?P:R,isActionBarOpen:e,isMoveModalOpen:n==="move",onMoveCancel:D,onMoveSuccess:U,isDeleteModalOpen:n==="delete",onDeleteCancel:O,onDeleteSuccess:E,isPublishModalOpen:n==="publish",onPublishCancel:$,onPublishSuccess:A,isEditFolderOpen:n==="edit_folder",onEditFolderCancel:I,onEditFolderSuccess:N,isEditResourceOpen:n==="edit_resource",onEditResourceCancel:Z,onEditResourceSuccess:z,isShareResourceOpen:n==="share",onShareResourceCancel:an,onShareResourceSuccess:W,onClearActionBar:M}}function m8({roles:e,rights:t,action:n}){const[r,s]=x.useState(!1),{user:i}=_d(),o=ss();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 g=t.map(p=>p.rights);await l(g)}else s(!1);else typeof t=="string"?await a(t):await a(t.rights)};return{visible:r,refreshState:u}}function g8({resourceRights:e,roleExpected:t,action:n,children:r,renderWhenForbidden:s}){const{t:i}=ve(),{overrideLabel:o}=ky(),{visible:a}=m8({roles:t,rights:e,action:n==null?void 0:n.id}),{setResourceActionDisable:l}=Oe(),u=ss();return a?f.jsx(f.Fragment,{children:r}):s?s():u&&!a?f.jsx(es,{type:"button",color:"primary",variant:"filled",onClick:()=>{l(!0)},children:i(o(n))}):f.jsx(f.Fragment,{})}const v8=x.lazy(async()=>await ge(()=>import("./ShareResourceModal.js"),["ShareResourceModal.js","Tooltip.js"])),y8=x.lazy(async()=>await ge(()=>import("./DeleteModal.js"),[])),w8=x.lazy(async()=>await ge(()=>import("./MoveModal.js"),[])),x8=x.lazy(async()=>await ge(()=>import("./EditFolderModal.js"),["EditFolderModal.js","index.esm.js"])),S8=x.lazy(async()=>await ge(()=>import("./EditResourceModal.js"),["EditResourceModal.js","index.esm.js","TextArea.js"])),b8=x.lazy(async()=>await ge(()=>import("./PublishModal.js"),["PublishModal.js","index.esm.js","TextArea.js"]));function E8(){const{t:e}=ve(),{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:g,isShareResourceOpen:p,onShareResourceCancel:y,onShareResourceSuccess:S,onMoveCancel:m,onMoveSuccess:v,onDeleteCancel:w,onDeleteSuccess:b,onPublishCancel:C,onPublishSuccess:k,isActivable:R,handleClick:P}=ky(),L=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:[L((M,T)=>T&&f.jsx(Ea.div,{className:"position-fixed bottom-0 start-0 end-0 z-3",style:M,children:f.jsx(U4,{children:t==null?void 0:t.filter(D=>D.available&&D.target==="actionbar").map(D=>R(D)&&f.jsx(g8,{resourceRights:n,roleExpected:D.right,action:D,children:f.jsx(es,{id:D.id,type:"button",color:"primary",variant:"filled",onClick:()=>{P(D)},children:e(l(D))},D.id)},D.id))})})),f.jsxs(x.Suspense,{fallback:f.jsx(ze,{}),children:[r&&f.jsx(w8,{isOpen:r,onCancel:m,onSuccess:v}),s&&f.jsx(y8,{isOpen:s,onCancel:w,onSuccess:b}),i&&f.jsx(b8,{isOpen:i,onCancel:C,onSuccess:k}),a&&f.jsx(x8,{edit:!0,isOpen:a,onCancel:u,onSuccess:c}),d&&f.jsx(S8,{edit:!0,isOpen:d,onCancel:h,onSuccess:g}),p&&f.jsx(v8,{isOpen:p,onCancel:y,onSuccess:S})]})]})}const C8=()=>{var u;const{user:e,appCode:t}=gt(),r={blog:"Blog",mindmap:"MindMap",scrapbook:"ScrapBook",collaborativewall:"CollaborativeWall",timelinegenerator:"TimelineGenerator",wiki:"Wiki",exercizer:"Exercizer"}[t],s=(u=e.apps.find(c=>c.isExternal&&c.address.includes("library")&&c.name.includes("library")))==null?void 0:u.address.split("?");let i=s==null?void 0:s[0];i!=null&&i.endsWith("/")||(i=`${i}/`);const o=s==null?void 0:s[1],a=`application%5B0%5D=${r}&page=1&sort_field=views&sort_order=desc`;return{libraryUrl:`${i}search/?${o}&${a}`}},R8=x.lazy(async()=>await ge(()=>import("./EmptyScreenApp.js"),["EmptyScreenApp.js","EmptyScreen.js"])),k8=x.lazy(async()=>await ge(()=>import("./EmptyScreenSearch.js"),["EmptyScreenSearch.js","EmptyScreen.js"])),P8=x.lazy(async()=>await ge(()=>import("./EmptyScreenError.js"),["EmptyScreenError.js","EmptyScreen.js"])),O8=x.lazy(async()=>await ge(()=>import("./EmptyScreenNoContentInFolder.js"),["EmptyScreenNoContentInFolder.js","EmptyScreen.js"])),N8=x.lazy(async()=>await ge(()=>import("./EmptyScreenTrash.js"),["EmptyScreenTrash.js","EmptyScreen.js"])),j8=x.lazy(async()=>await ge(()=>import("./FoldersList.js"),["FoldersList.js","Card.js","Tooltip.js"])),T8=x.lazy(async()=>await ge(()=>import("./ResourcesList.js"),["ResourcesList.js","Card.js","Tooltip.js"])),_8=()=>{const e=r8(),t=ss(),n=s8(),r=st(),{data:s,isError:i,isLoading:o,isFetching:a,fetchNextPage:l}=f8(),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(ze,{}),children:f.jsx(P8,{})}):r.search&&d?f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(k8,{})}):!d&&!o?f.jsxs(x.Suspense,{fallback:f.jsx(ze,{}),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(ze,{}),children:f.jsx(R8,{})}):n&&d&&!t?f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(O8,{})}):t&&(s==null?void 0:s.pages[0].resources.length)===0?f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(N8,{})}):null};function I8({isOpen:e,onCancel:t=()=>({})}){const{t:n}=ve();return Pi.createPortal(f.jsxs(Sn,{isOpen:e,onModalClose:t,id:"trash_action_disable_resource",children:[f.jsx(Sn.Header,{onModalClose:()=>t(),children:n("explorer.trash.action.modal.title")}),f.jsx(Sn.Body,{children:f.jsx("p",{className:"body",children:n("explorer.trash.action.modal.text")})}),f.jsx(Sn.Footer,{children:f.jsx(es,{color:"primary",onClick:t,type:"button",variant:"outline",children:n("close")})})]}),document.getElementById("portal"))}const A8=()=>{const e=st(),[t,n]=x.useState(""),r=F4(t,500),s=t8(),i=i8(),{setSearchParams:o}=Oe(),a=c=>{const d=c.target.value;n(d.toString())},l=c=>{(c.key==="Enter"||c.key==="Return")&&(o({search:t||void 0}),c.preventDefault())},u=c=>{o({search:r||void 0}),c.preventDefault()};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}},L8=()=>{const{appCode:e,currentApp:t}=gt(),{t:n}=ve(),[r,s]=x.useState(""),i=c=>{if(c==="0"){s("");return}s(c)},o=rs(),a=st(),{setSearchParams:l}=Oe();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)==fo.EXERCIZER?[{label:"Exercices interactifs",value:"3"}]:[],...(t==null?void 0:t.displayName)==fo.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)==fo.BLOG?[{label:n("explorer.filter.public",{ns:e}),value:"7"}]:[]];return{selectedFilters:r,options:u,handleOnSelectFilter:i}},M8=()=>{const{appCode:e}=gt(),{t}=ve(),{selectedFilters:n,options:r,handleOnSelectFilter:s}=L8(),{inputSearch:i,handleInputSearchChange:o,handleKeyPress:a,handleSearchSubmit:l}=A8(),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(gc,{id:"search",className:"input-group",children:[f.jsx(Z0,{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(fr,{placement:"bottom-end",children:[f.jsx(fr.Trigger,{label:t("explorer.filters"),icon:f.jsx(i3,{width:20}),variant:"ghost",badgeContent:u}),f.jsx(fr.Menu,{children:r.map(c=>c.value==="0"?f.jsxs(x.Fragment,{children:[f.jsx(fr.RadioItem,{value:c.value,model:n,onChange:()=>s(c.value),children:c.label}),f.jsx(fr.Separator,{})]},"0"):f.jsx(fr.RadioItem,{value:c.value,model:n,onChange:()=>s(c.value),children:c.label},c.value))})]})]})},D8=({id:e,selected:t,onSelect:n})=>{const{t:r}=ve();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(J4,{width:"20",height:"20"}),f.jsx("span",{children:r("explorer.tree.trash")})]})})})})})})})},F8=x.lazy(async()=>await ge(()=>import("./EditFolderModal.js"),["EditFolderModal.js","index.esm.js"])),$8=()=>{const e=rt(),{t}=ve(),[n,r]=D4(),s=ns(),i=ss(),o=vf(),{goToTrash:a,selectTreeItem:l,unfoldTreeItem:u,foldTreeItem:c,clearSelectedItems:d,clearSelectedIds:h}=Oe(),g=Ar("org.entcore.blog.controllers.FoldersController|add"),p=async S=>{await u(S,e)},y=()=>{d(),h(),r()};return s?f.jsxs(f.Fragment,{children:[f.jsx(AE,{data:s,selectedNodesIds:o,onTreeItemSelect:l,onTreeItemFold:c,onTreeItemUnfold:p}),f.jsx(D8,{id:We.BIN,selected:i,onSelect:a}),g&&f.jsx("div",{className:"d-grid my-16",children:f.jsx(es,{disabled:i,type:"button",color:"primary",variant:"outline",leftIcon:f.jsx(m3,{}),onClick:y,children:t("explorer.folder.new")})}),f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:n&&f.jsx(F8,{edit:!1,isOpen:n,onSuccess:r,onCancel:r})})]}):null},z8=()=>{const e=n8(),{clearSelectedIds:t,setResourceActionDisable:n,clearSelectedItems:r}=Oe();return{isActionDisableModalOpen:e,onActionDisableCancel:()=>{t(),r(),n(!1)}}},U8=()=>{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 KR({onSuccess:()=>r(!1)})},setIsOpen:r}},B8=()=>{const e=Cy(),{clearSelectedIds:t,setResourceIsTrash:n,clearSelectedItems:r}=Oe();return{isTrashedModalOpen:e,onTrashedCancel:()=>{t(),r(),n(!1)}}},V8=({workflow:e,actions:t})=>{const n=t==null?void 0:t.filter(r=>r.id===e&&r.available);return n&&n.length>0},H8=x.lazy(async()=>await ge(()=>import("./OnboardingTrash.js"),[])),q8=x.lazy(async()=>await ge(()=>import("./AppAction.js"),[])),Q8=x.lazy(async()=>await ge(()=>import("./Library.js"),[])),K8=x.lazy(async()=>await ge(()=>import("./TrashedResourceModal.js"),[]));function W8(){const{currentApp:e}=gt(),{isOnboardingTrash:t,isOpen:n,setIsOpen:r,handleSavePreference:s}=U8(),{data:i}=Ry(),{isTrashedModalOpen:o,onTrashedCancel:a}=B8(),{isActionDisableModalOpen:l,onActionDisableCancel:u}=z8();HS();const c=i==null?void 0:i.find(h=>h.id==="publish"),{libraryUrl:d}=C8();return f.jsxs(f.Fragment,{children:[f.jsx(O3,{render:()=>V8({workflow:"create",actions:i})?f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(q8,{})}):null,children:f.jsx(_3,{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($8,{}),(c==null?void 0:c.available)&&d&&f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(Q8,{url:d})})]}),f.jsxs(Ms.Col,{sm:"4",md:"8",lg:"6",xl:"9",children:[f.jsx(M8,{}),f.jsx(o8,{}),f.jsx(_8,{})]}),f.jsx(E8,{}),t&&f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(H8,{isOpen:n,setIsOpen:r,handleSavePreference:s})}),o&&f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(K8,{isOpen:o,onCancel:a})}),l&&f.jsx(x.Suspense,{fallback:f.jsx(ze,{}),children:f.jsx(I8,{isOpen:l,onCancel:u})})]})]})}function Z8(){const{init:e}=gt();return e?e?f.jsx(vR,{children:f.jsx(W8,{})}):null:f.jsx(ze,{position:!1})}const G8=document.getElementById("root"),X8=new aw({queryCache:new Am({onError:e=>{e==="0090"&&window.location.replace("/auth/login")}}),defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}});vy(G8).render(f.jsx(x.StrictMode,{children:f.jsxs(CS,{client:X8,children:[f.jsx($S,{params:dl(),children:f.jsx(VS,{children:f.jsx(Z8,{})})}),f.jsx(yR,{initialIsOpen:!1})]})}));export{sk as $,Nt as A,es as B,e5 as C,c3 as D,Z0 as E,gc as F,T3 as G,sp as H,c0 as I,hk as J,fk as K,ze as L,Sn as M,ss as N,pk as O,JR as P,rt as Q,Qy as R,m3 as S,ns as T,AE as U,Rs as V,rs as W,mk as X,gk as Y,sb as Z,ge as _,Pi as a,wk as a0,V8 as a1,$d as a2,dl as a3,fr as a4,ik as a5,J4 as a6,hc as a7,Mi as a8,dk as a9,z4 as aa,Ea as ab,Ue as ac,Ra as ad,Di as ae,ok as af,ak as ag,ck as ah,Z3 as ai,lk as aj,Jg as ak,Ha as b,D4 as c,gt as d,Oe as e,Ry as f,tk as g,Td as h,H as i,f as j,i5 as k,st as l,_d as m,F4 as n,e8 as o,yk as p,vk as q,x as r,Ot as s,nk as t,ve as u,rp as v,fc as w,Id as x,rk as y,uk as z};
|
package/dist/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
ode-explorer=1.0-develop-pedago-SNAPSHOT 16/10/2023 10:
|
|
1
|
+
ode-explorer=1.0-develop-pedago-SNAPSHOT 16/10/2023 10:28:05
|
package/package.json
CHANGED