ode-explorer 1.3.2-dev.202401241419 → 1.3.2-develop-pedago.202401251204
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/ActionBarContainer.js +1 -1
- package/dist/AppAction.js +1 -1
- package/dist/DeleteModal.js +1 -1
- package/dist/EmptyScreenApp.js +1 -1
- package/dist/FolderModal.js +1 -1
- package/dist/FoldersList.js +1 -1
- package/dist/MoveModal.js +1 -1
- package/dist/ResourcesList.js +1 -1
- package/dist/index.js +3 -3
- package/dist/version.txt +1 -1
- package/lib/ActionBarContainer.js +117 -110
- package/lib/AppAction.js +29 -22
- package/lib/DeleteModal.js +8 -8
- package/lib/EmptyScreenApp.js +26 -20
- package/lib/FolderModal.js +11 -11
- package/lib/FoldersList.js +7 -7
- package/lib/MoveModal.js +10 -10
- package/lib/ResourcesList.js +1 -1
- package/lib/index2.js +204 -190
- package/lib/services/api/index.d.ts +8 -0
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{e as U,f as oe,b as re,h as ce,i as z,j as ae,k as ie,l as le,m as ue,d as de,u as $,a as fe,n as he,o as pe,p as Re,_ as y}from"./index.js";import{f as Se,j as o,B as Y,w as me,x as Ee,y as _e,L as Oe}from"./edifice-react.js";import{r as p,u as G}from"./react.js";import{odeServices as P,ACTION as u}from"/assets/js/edifice-ts-client/index.js";import"./edifice-icons.js";function ye({roles:i,rights:e,action:r}){const[l,s]=p.useState(!1),{user:m}=Se(),R=U();p.useEffect(()=>{E()},[i,e]);const d=async function(c){const t=c instanceof Array?c:[c];if(i instanceof Array){const S=await P.rights().sessionHasAtLeastOneResourceRight(i,t);s(S)}else{const S=await P.rights().sessionHasResourceRight(i,t);s(S)}},f=async function(c){if(i instanceof Array){const t=await P.rights().sessionHasAtLeastOneResourceRightForEachList(i,c);s(t)}else{const t=await P.rights().sessionHasResourceRightForEachList(i,c);s(t)}},E=async function(){var c,t,S;if(i===void 0){s(!0);return}if(R&&((t=(c=e[0])==null?void 0:c.trashedBy)!=null&&t.includes(m==null?void 0:m.userId))&&r==="restore"&&!((S=e[0])!=null&&S.trashed)){s(!0);return}if(e instanceof Array)if(e.length>0)if(typeof e[0]=="string")await d(e);else{const v=e.map(_=>_.rights);await f(v)}else s(!1);else typeof e=="string"?await d(e):await d(e.rights)};return{visible:l,refreshState:E}}function q(){const[i,e]=p.useState(!1),[r,l]=p.useState("void"),[s,m]=p.useState(),R=oe(n=>n.config),d=re(),f=ce(),E=z(),c=ae(),t=ie(),S=U(),v=le(),_=ue(),x=de(),{openResource:M,printSelectedResource:g,openFolder:w,clearSelectedItems:F,clearSelectedIds:T}=$(),{data:j}=fe();p.useEffect(()=>{if(f.length===0&&t.length===0){e(!1);return}if(_){e(!1);return}e(!0)},[f,t]);async function L(n){var b;switch((b=document.getElementById("root"))==null||b.setAttribute("aria-hidden","true"),m(n),n.id){case u.OPEN:return f.length>0?M(E[0]):w({folder:c[0],folderId:c[0].id});case u.MOVE:return l("move");case u.PRINT:return g();case u.DELETE:return l("delete");case u.RESTORE:return await O();case u.PUBLISH:return l("publish");case u.UPD_PROPS:case"edit":return te();case u.SHARE:return l("share");default:throw Error(`Unknown action: ${n.id}`)}}function D(n){const b=f.length+t.length,C=f.length===1||t.length===1,V=b===1,I=t.length===0;switch(n.id){case u.OPEN:return V;case u.MANAGE:return C;case u.PUBLISH:return C&&I;case u.UPD_PROPS:return C&&I;case u.SHARE:return I&&C;case u.PRINT:return C&&I;case"edit":return V;default:return!0}}const B=()=>!0;async function O(){try{if(S)await v.mutate();else throw new Error("Cannot restore untrashed resources");A()}catch(n){console.error(n)}}function A(){var n;l("void"),s!=null&&s.id&&((n=document.getElementById(s==null?void 0:s.id))==null||n.focus())}const a=n=>()=>{r===n&&(A(),F(),T())},N=a("move"),k=a("move"),H=a("delete"),h=a("delete"),J=a("publish"),K=a("publish"),Q=a("edit_folder"),X=a("edit_folder"),Z=a("edit_resource"),W=a("edit_resource"),ee=a("share"),se=a("share");function te(){if(f&&f.length>0){const n=E[0].assetId;(R==null?void 0:R.app)=="scrapbook"?he({searchParams:x,assetId:n}):l("edit_resource")}else l("edit_folder")}function ne(n){return n.id==="edit"&&t.length>0?"explorer.rename":`explorer.actions.${n.id}`}return{onRestore:O,actions:S?R==null?void 0:R.trashActions:j,selectedElement:[...E,...c],currentFolderId:d==null?void 0:d.id,overrideLabel:ne,handleClick:L,isActivable:S?B:D,isActionBarOpen:i,isMoveModalOpen:r==="move",onMoveCancel:N,onMoveSuccess:k,isDeleteModalOpen:r==="delete",onDeleteCancel:h,onDeleteSuccess:H,isPublishModalOpen:r==="publish",onPublishCancel:K,onPublishSuccess:J,isEditFolderOpen:r==="edit_folder",onEditFolderCancel:X,onEditFolderSuccess:Q,isEditResourceOpen:r==="edit_resource",onEditResourceCancel:W,onEditResourceSuccess:Z,isShareResourceOpen:r==="share",onShareResourceCancel:se,onShareResourceSuccess:ee,onClearActionBar:A}}function ve({resourceRights:i,roleExpected:e,action:r,children:l,renderWhenForbidden:s}){const{t:m}=G(),{overrideLabel:R}=q(),{visible:d}=ye({roles:e,rights:i,action:r==null?void 0:r.id}),{setResourceActionDisable:f}=$(),E=U();return d?o.jsx(o.Fragment,{children:l}):s?s():E&&!d?o.jsx(Y,{type:"button",color:"primary",variant:"filled",onClick:()=>{f(!0)},children:m(R(r))}):o.jsx(o.Fragment,{})}const Ae=p.lazy(async()=>await y(()=>import("./ShareModal.js"),["ShareModal.js","edifice-react.js","react.js","edifice-icons.js"])),Ce=p.lazy(async()=>await y(()=>import("./PublishModal.js"),["PublishModal.js","edifice-react.js","react.js","edifice-icons.js"])),be=p.lazy(async()=>await y(()=>import("./ResourceModal.js"),["ResourceModal.js","edifice-react.js","react.js","edifice-icons.js"])),Ie=p.lazy(async()=>await y(()=>import("./DeleteModal.js"),["DeleteModal.js","edifice-react.js","react.js","edifice-icons.js","index.js"])),Pe=p.lazy(async()=>await y(()=>import("./MoveModal.js"),["MoveModal.js","edifice-react.js","react.js","edifice-icons.js","index.js"])),xe=p.lazy(async()=>await y(()=>import("./FolderModal.js"),["FolderModal.js","edifice-react.js","react.js","edifice-icons.js","index.js"]));function je(){const{t:i}=G(),{actions:e,selectedElement:r,isMoveModalOpen:l,isDeleteModalOpen:s,isPublishModalOpen:m,isActionBarOpen:R,isEditFolderOpen:d,overrideLabel:f,onEditFolderCancel:E,onEditFolderSuccess:c,isEditResourceOpen:t,onEditResourceCancel:S,onEditResourceSuccess:v,isShareResourceOpen:_,onShareResourceCancel:x,onShareResourceSuccess:M,onMoveCancel:g,onMoveSuccess:w,onDeleteCancel:F,onDeleteSuccess:T,onPublishCancel:j,onPublishSuccess:L,isActivable:D,handleClick:B}=q(),O=z(),A=pe(),a=Re(),N=me(R,{from:{opacity:0,transform:"translateY(100%)"},enter:{opacity:1,transform:"translateY(0)"},leave:{opacity:0,transform:"translateY(100%)"}});return o.jsxs(o.Fragment,{children:[N((k,H)=>H&&o.jsx(Ee.div,{className:"position-fixed bottom-0 start-0 end-0 z-3",style:k,children:o.jsx(_e,{children:e==null?void 0:e.filter(h=>h.available&&h.target==="actionbar").map(h=>D(h)&&o.jsx(ve,{resourceRights:r,roleExpected:h.right,action:h,children:o.jsx(Y,{id:h.id,type:"button",color:"primary",variant:"filled",onClick:()=>{B(h)},children:i(f(h))},h.id)},h.id))})})),o.jsxs(p.Suspense,{fallback:o.jsx(Oe,{}),children:[l&&o.jsx(Pe,{isOpen:l,onCancel:g,onSuccess:w}),s&&o.jsx(Ie,{isOpen:s,onCancel:F,onSuccess:T}),m&&o.jsx(Ce,{isOpen:m,resource:O[0],onCancel:j,onSuccess:L}),d&&o.jsx(xe,{edit:!0,isOpen:d,onCancel:E,onSuccess:c}),t&&o.jsx(be,{mode:"update",actions:e,isOpen:t,selectedResource:O[0],updateResource:a,onCancel:S,onSuccess:v}),_&&o.jsx(Ae,{isOpen:_,resource:O[0],updateResource:a,shareResource:A,onCancel:x,onSuccess:M})]})]})}export{je as default};
|
package/dist/AppAction.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as x,a as
|
|
1
|
+
import{u as x,a as C,b as g,c as j,d as S,_,g as h}from"./index.js";import{i as R,a as A,j as e,B as I,L as O}from"./edifice-react.js";import{u as P,r as c}from"./react.js";import{u as b}from"./edifice-icons.js";import"/assets/js/edifice-ts-client/index.js";const v=c.lazy(async()=>await _(()=>import("./ResourceModal.js"),["ResourceModal.js","edifice-react.js","react.js","edifice-icons.js"]));function L(){const[a,t]=R(),{appCode:r}=A(),{t:n}=P(r),{clearSelectedItems:l,clearSelectedIds:i}=x(),{data:s}=C(),u=s==null?void 0:s.find(f=>f.id==="create"),o=g(),d=j(),p=S(),m=()=>{if(r=="scrapbook"){h({searchParams:p,folderId:o.id});return}l(),i(),t()};return u?e.jsxs(e.Fragment,{children:[e.jsx(I,{type:"button",color:"primary",variant:"filled",leftIcon:e.jsx(b,{}),className:"ms-auto",onClick:m,children:n("explorer.create.title")}),e.jsx(c.Suspense,{fallback:e.jsx(O,{}),children:a&&e.jsx(v,{mode:"create",actions:s,currentFolder:o,createResource:d,isOpen:a,onSuccess:t,onCancel:t})})]}):null}export{L as default};
|
package/dist/DeleteModal.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t,M as a,B as n}from"./edifice-react.js";import{u as d,a as c}from"./react.js";import{
|
|
1
|
+
import{j as t,M as a,B as n}from"./edifice-react.js";import{u as d,a as c}from"./react.js";import{s as p,t as x,e as h}from"./index.js";import"/assets/js/edifice-ts-client/index.js";import"./edifice-icons.js";function m({onSuccess:r}){const s=p(),o=x(),e=h();async function l(){try{e?await s.mutate():await o.mutate(),r==null||r()}catch(i){console.error(i)}}return{isTrashFolder:e,onDelete:l}}function D({isOpen:r,onSuccess:s=()=>({}),onCancel:o=()=>({})}){const{t:e}=d(),{isTrashFolder:l,onDelete:i}=m({onSuccess:s});return c.createPortal(t.jsxs(a,{isOpen:r,onModalClose:o,id:"deleteModal",children:[t.jsx(a.Header,{onModalClose:o,children:e(l?"explorer.delete.title":"explorer.trash.title")}),t.jsx(a.Body,{children:t.jsx("p",{className:"body",children:e(l?"explorer.delete.subtitle":"explorer.trash.subtitle")})}),t.jsxs(a.Footer,{children:[t.jsx(n,{color:"tertiary",onClick:o,type:"button",variant:"ghost",children:e("explorer.cancel")}),t.jsx(n,{color:"danger",onClick:i,type:"button",variant:"filled",children:e(l?"explorer.delete":"explorer.trash")})]})]}),document.getElementById("portal"))}export{D as default};
|
package/dist/EmptyScreenApp.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a
|
|
1
|
+
import{a,r as u,j as c,E as d,v as x}from"./edifice-react.js";import{a as m}from"./index.js";import{u as y}from"./react.js";import"/assets/js/edifice-ts-client/index.js";import"./edifice-icons.js";function A(){const{appCode:r}=a(),{theme:e}=u(),[n]=x(),{t:s}=y(),{data:l}=m(),t=l==null?void 0:l.find(o=>o.id==="create"),i=()=>t!=null&&t.available&&(e!=null&&e.is1d)?s("explorer.emptyScreen.txt1d.create",{ns:r}):t!=null&&t.available&&!(e!=null&&e.is1d)?s("explorer.emptyScreen.txt2d.create",{ns:r}):!(t!=null&&t.available)&&(e!=null&&e.is1d)?s("explorer.emptyScreen.txt1d.consultation",{ns:r}):s("explorer.emptyScreen.txt2d.consultation",{ns:r}),p=()=>t!=null&&t.available&&(e!=null&&e.is1d)?s("explorer.emptyScreen.title1d.create",{ns:r}):t!=null&&t.available&&!(e!=null&&e.is1d)?s("explorer.emptyScreen.title2d.create",{ns:r}):!(t!=null&&t.available)&&(e!=null&&e.is1d)?s("explorer.emptyScreen.title1d.consultation",{ns:r}):s("explorer.emptyScreen.title2d.consultation",{ns:r});return c.jsx(d,{imageSrc:`${n}/emptyscreen/illu-${r}.svg`,imageAlt:s("explorer.emptyScreen.app.alt",{ns:r}),title:p(),text:i()})}export{A as default};
|
package/dist/FolderModal.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as r,M as i,F as D,W as
|
|
1
|
+
import{j as r,M as i,F as D,W as q,h as B,B as y}from"./edifice-react.js";import{e as L,r as C,u as R,a as w}from"./react.js";import{FOLDER as T}from"/assets/js/edifice-ts-client/index.js";import{j as U,b as V,q as _,r as k}from"./index.js";import"./edifice-icons.js";function z({edit:o,onSuccess:e,onClose:m}){var F;const l=U(),t=V(),c=_(),u=k(),f=o?(F=l[0])==null?void 0:F.name:void 0,{reset:a,register:p,handleSubmit:n,setFocus:x,formState:{errors:h,isSubmitting:s,isDirty:I,isValid:g}}=L({mode:"onChange",values:{name:f||""}}),E=C.useId(),M=async function({name:j}){var b;try{if(o){const d=(b=l[0])==null?void 0:b.parentId,$=l[0].id;await u.mutate({folderId:$,parentId:d,name:j}),a(),e==null||e()}else{const d=(t==null?void 0:t.id)||T.DEFAULT;await c.mutate({name:j,parentId:d}),a(),e==null||e()}}catch(d){console.error(d)}};function v(){a(),m()}return{formId:`createModal_${E}`,errors:h,isSubmitting:s,isDirty:I,isValid:g,register:p,setFocus:x,handleSubmit:n,onCancel:v,onSubmit:M}}function N({isOpen:o,edit:e,onSuccess:m,onCancel:l}){const{t}=R(),{isDirty:c,isValid:u,isSubmitting:f,formId:a,onSubmit:p,onCancel:n,handleSubmit:x,register:h,setFocus:s}=z({edit:e,onSuccess:m,onClose:l});return C.useEffect(()=>{o&&s("name")},[o,s]),o?w.createPortal(r.jsxs(i,{isOpen:o,onModalClose:n,id:"modal_"+a,children:[r.jsx(i.Header,{onModalClose:n,children:t(e?"explorer.rename.folder":"explorer.create.folder")}),r.jsx(i.Body,{children:r.jsx("form",{id:a,onSubmit:x(p),children:r.jsxs(D,{id:"nameFolder",isRequired:!0,children:[r.jsx(q,{children:t("explorer.create.folder.name")}),r.jsx(B,{type:"text",...h("name",{required:!0,pattern:{value:/[^ ]/,message:"invalid title"}}),placeholder:t("explorer.create.folder.name"),size:"md","aria-required":!0})]})})}),r.jsxs(i.Footer,{children:[r.jsx(y,{color:"tertiary",onClick:n,type:"button",variant:"ghost",children:t("explorer.cancel")}),r.jsx(y,{form:a,type:"submit",color:"primary",variant:"filled",disabled:!c||!u||f,children:t(e?"explorer.rename":"explorer.create")})]})]}),document.getElementById("portal")):null}export{N as default};
|
package/dist/FoldersList.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as
|
|
1
|
+
import{j as l,C as p,a as S,H as f,u as y,x as m}from"./edifice-react.js";import{w as C}from"./edifice-icons.js";import{j as T,k as I,u as N}from"./index.js";import"./react.js";import"/assets/js/edifice-ts-client/index.js";const g=({app:e,name:c,isSelected:r=!1,isSelectable:o=!0,onClick:t,onSelect:n})=>l.jsx(p,{app:e,isSelectable:o,isSelected:r,onClick:t,onSelect:n,children:d=>l.jsxs(p.Body,{children:[l.jsx(C,{width:"48",height:"48",className:`color-app-${d}`}),l.jsx(p.Title,{children:c})]})});g.displayName="FolderCard";const b=({data:e})=>{var u,a;const{currentApp:c}=S(),r=T(),o=I(),{setSelectedFolders:t,setFolderIds:n,openFolder:d}=N();function x(s){o.includes(s.id)?(n(o.filter(i=>i!==s.id)),t(r.filter(i=>i.id!==s.id))):(n([...o,s.id]),t([...r,s]))}const j=f({from:{opacity:0},to:{opacity:1}}),F=y();return(u=e==null?void 0:e.pages[0])!=null&&u.folders.length?l.jsx(m.ul,{className:"grid ps-0 list-unstyled mb-24",children:(a=e==null?void 0:e.pages[0])==null?void 0:a.folders.map(s=>{const{id:i,name:h}=s;return l.jsx(m.li,{className:"g-col-4 z-1",style:{position:"relative",...j},children:l.jsx(g,{name:h,app:c,isSelected:o.includes(s.id),onClick:()=>{F(),d({folder:s,folderId:s.id})},onSelect:()=>x(s)})},i)})}):null};export{b as default};
|
package/dist/MoveModal.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as
|
|
1
|
+
import{d as v,j as o,M as n,T as I,B as x}from"./edifice-react.js";import{r as T,u as M,a as y}from"./react.js";import{v as j,j as b,i as F,u as w,w as S}from"./index.js";import"/assets/js/edifice-ts-client/index.js";import"./edifice-icons.js";function E({onSuccess:a}){const[s,r]=T.useState(),l=j(),d=b(),i=F(),{foldTreeItem:c,unfoldTreeItem:m}=w(),u=v();async function f(){try{if(!s)throw new Error("explorer.move.selection.empty");await l.mutate(s),await(a==null?void 0:a())}catch(e){console.error(e)}}const h=e=>{var p;for(const t of d)if(e===t.id||e===t.parentId)return!1;for(const t of i)if(e===((t==null?void 0:t.folderIds)&&t.folderIds[0])||((p=t==null?void 0:t.folderIds)==null?void 0:p.length)===0&&e==="default")return!1;return!0};return{disableSubmit:!s,handleTreeItemSelect:e=>{h(e)?r(e):r(void 0)},handleTreeItemFold:c,handleTreeItemUnfold:async e=>await m(e,u),onMove:()=>{f()}}}function $({isOpen:a,onSuccess:s,onCancel:r}){const{t:l}=M(),{handleTreeItemFold:d,handleTreeItemSelect:i,handleTreeItemUnfold:c,onMove:m,disableSubmit:u}=E({onSuccess:s}),f=S();return y.createPortal(o.jsxs(n,{isOpen:a,onModalClose:r,id:"moveModal",children:[o.jsx(n.Header,{onModalClose:r,children:l("explorer.move.title")}),o.jsx(n.Subtitle,{children:l("explorer.move.subtitle")}),o.jsx(n.Body,{children:o.jsx(I,{data:f,onTreeItemSelect:i,onTreeItemFold:d,onTreeItemUnfold:c})}),o.jsxs(n.Footer,{children:[o.jsx(x,{color:"tertiary",onClick:r,type:"button",variant:"ghost",children:l("explorer.cancel")}),o.jsx(x,{color:"primary",onClick:m,type:"button",variant:"filled",disabled:u,children:l("explorer.move")})]})]}),document.getElementById("portal"))}export{$ as default};
|
package/dist/ResourcesList.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as s,C as l,t as z,J as B,K as M,N as O,P as N,R as y,U as E,a as L,H as U,V as G,x as I,B as H}from"./edifice-react.js";import{u as $,r as J,b}from"./react.js";import{x as K,y as V}from"./edifice-icons.js";import{
|
|
1
|
+
import{j as s,C as l,t as z,J as B,K as M,N as O,P as N,R as y,U as E,a as L,H as U,V as G,x as I,B as H}from"./edifice-react.js";import{u as $,r as J,b}from"./react.js";import{x as K,y as V}from"./edifice-icons.js";import{d as q,h as D,i as Q,u as W,e as X}from"./index.js";import"/assets/js/edifice-ts-client/index.js";const T=({app:i,resource:t,time:p,isSelected:g=!1,isSelectable:j=!0,onClick:c,onSelect:e})=>{const d=`/userbook/avatar/${t==null?void 0:t.creatorId}`;function o(n){const{rights:u,creatorId:v}=n||{};return u.filter(R=>!R.includes(v)).length>=1}const x=o(t),f=t==null?void 0:t.public,{t:h}=$();return s.jsx(l,{app:i,isSelected:g,isSelectable:j,onClick:c,onSelect:e,children:n=>s.jsxs(s.Fragment,{children:[s.jsxs(l.Body,{children:[s.jsx("div",{className:"card-image medium",children:t!=null&&t.thumbnail?s.jsx(z,{alt:"",src:t==null?void 0:t.thumbnail,objectFit:"cover",className:"h-full w-100"}):s.jsx(B,{app:i,iconFit:"ratio",size:"80",variant:"rounded"})}),s.jsxs("div",{className:"text-truncate",children:[s.jsx(l.Title,{children:t==null?void 0:t.name}),s.jsx(l.Text,{children:s.jsx("em",{children:p})})]})]}),s.jsxs(l.Footer,{children:[s.jsxs("div",{className:"d-inline-flex align-items-center gap-8 text-truncate",children:[d?s.jsx(M,{alt:(t==null?void 0:t.creatorName)||"",size:"xs",src:d,variant:"circle",width:"24",height:"24"}):s.jsx(O,{}),s.jsx(l.Text,{children:t==null?void 0:t.creatorName})]}),s.jsxs("div",{className:"d-inline-flex align-items-center gap-8",children:[x&&s.jsx(N,{message:h("tooltip.shared",{ns:n}),placement:"top",children:s.jsx(K,{width:16,height:16})}),f&&s.jsx(N,{message:h("tooltip.public",{ns:n}),placement:"top",children:s.jsx(V,{width:16,height:16})})]})]})]})})};T.displayName="ResourceCard";y.extend(E);const as=({data:i,fetchNextPage:t})=>{const{currentApp:p,currentLanguage:g}=L(),{t:j}=$(),c=q(),e=D(),d=Q(),{setSelectedResources:o,setResourceIds:x,openResource:f,setResourceIsTrash:h}=W(),n=X(),u=U({from:{opacity:0},to:{opacity:1}}),S=c.pagination.startIdx+c.pagination.pageSize<(c.pagination.maxIdx||0),R=J.useCallback(()=>{t()},[]),C=a=>{n?(h(!0),x([a.id]),o([a])):f(a)};async function F(a){if(e.includes(a.id)){x(e.filter(m=>m!==a.id)),o(d.filter(m=>m.id!==a.id));return}x([...e,a.id]),o([...d,a])}const P=G("grid ps-0 list-unstyled");return s.jsxs(b.Fragment,{children:[s.jsx(I.ul,{className:P,children:i==null?void 0:i.pages.map((a,m)=>s.jsx(b.Fragment,{children:a.resources.map(r=>{const{id:k,updatedAt:w}=r,A=y(w).locale(g).fromNow();return s.jsx(I.li,{className:"g-col-4 z-1",style:{position:"relative",...u},children:s.jsx(T,{app:p,resource:r,time:A,isSelectable:!0,isSelected:e.includes(r.id),onClick:()=>C(r),onSelect:()=>F(r)})},k)})},m))}),S&&s.jsx("div",{className:"d-grid gap-2 col-4 mx-auto my-24",children:s.jsx(H,{type:"button",color:"secondary",variant:"filled",onClick:R,children:j("explorer.see.more")})})]})};export{as as default};
|