@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 4.22 kB
JavaScript
import{Pn as e,fn as t,m as n,o as r}from"./ErrorBlock-CuwX01Wv.js";import{A as i,D as a,j as o}from"./web-BWdORzMO.js";import{t as s}from"./Layout-4UKP18vE.js";import{C as c,D as l,E as u,S as d,T as f,w as p}from"./publish-operations-D4J5WbXS.js";import{i as m}from"./Content-DzC1IbOX.js";import{t as h}from"./Standard-D4PJGqo4.js";import"./Headers-CX-ZCzBz.js";import{t as g}from"./Row-DCxdbdkd.js";var _=()=>{let _=e(),v=d({mode:`url`,schema:{filters:{collectionKey:l(),documentId:p(),target:l(),status:l(),executionStatus:l(),requestedBy:p(),reviewers:p(),assignedToMe:c(),requestedByMe:c(),createdAt:l(),updatedAt:l(),scheduledAt:l(),executedAt:l(),failedAt:l()},sorts:{createdAt:u({defaultValue:`desc`}),scheduledAt:u(),updatedAt:u()},pagination:f({defaultPerPage:20})},options:{singleSort:!0}}),y=r.collections.useGetAll({queryParams:{}}),b=o(()=>new Set((y.data?.data??[]).filter(e=>(e.review?.requiredFor?.length??0)>0).map(e=>e.key))),x=o(()=>(y.data?.data??[]).filter(e=>b().has(e.key)).map(e=>({value:e.key,label:n.getLocaleValue({value:e.details.name})||e.key}))),S=o(()=>new Map((y.data?.data??[]).map(e=>[e.key,n.getLocaleValue({value:e.details.singularName,fallback:e.key})||e.key]))),C=o(()=>{let e=v.filters().get(`collectionKey`);return typeof e==`string`&&e?[e]:Array.from(b())}),w=o(()=>{let e=new Set,t=v.filters().get(`collectionKey`);for(let n of y.data?.data??[])if(!(typeof t==`string`&&t&&n.key!==t))for(let t of n.review?.requiredFor??[])e.add(t);return Array.from(e).map(e=>({value:e,label:e}))});return i(()=>{let e=v.filters().get(`target`);typeof e!=`string`||e===``||w().some(t=>t.value===e)||v.setParams({filters:{target:void 0}})}),a(s,{get slots(){return{header:a(h,{get copy(){return{title:t()(`routes.publish.requests.title`),description:t()(`routes.publish.requests.description`)}},get slots(){return{bottom:a(g,{searchParams:v,onRefresh:()=>{_.invalidateQueries({queryKey:[`publishOperations.getMultiple`]}),_.invalidateQueries({queryKey:[`publishOperations.getOverview`]})},get filterSection(){return{subject:t()(`routes.publish.requests.title`),fields:[{label:t()(`common.collection`),key:`collectionKey`,type:`select`,options:x()},{label:t()(`common.target`),key:`target`,type:`select`,options:w()},{label:t()(`common.document`),key:`documentId`,type:`relation`,collections:C(),relationValue:`id`},{label:t()(`common.status`),key:`status`,type:`select`,options:[{label:t()(`common.status.pending`),value:`pending`},{label:t()(`common.status.approved`),value:`approved`},{label:t()(`common.status.rejected`),value:`rejected`},{label:t()(`common.status.cancelled`),value:`cancelled`},{label:t()(`common.status.superseded`),value:`superseded`}]},{label:t()(`common.execution.status`),key:`executionStatus`,type:`select`,options:[{label:t()(`common.status.awaiting.approval`),value:`awaiting_approval`},{label:t()(`common.status.scheduled`),value:`scheduled`},{label:t()(`common.status.executing`),value:`executing`},{label:t()(`common.status.executed`),value:`executed`},{label:t()(`common.status.failed`),value:`failed`},{label:t()(`common.status.cancelled`),value:`cancelled`}]},{label:t()(`common.requested.by`),key:`requestedBy`,type:`user`},{label:t()(`common.reviewers`),key:`reviewers`,type:`user`,operators:[`=`]},{label:t()(`common.assigned.to.me`),key:`assignedToMe`,type:`checkbox`},{label:t()(`common.requested.by.me`),key:`requestedByMe`,type:`checkbox`},{label:t()(`common.requested.at`),key:`createdAt`,type:`datetime`},{label:t()(`common.updated.at`),key:`updatedAt`,type:`datetime`},{label:t()(`common.scheduled.for`),key:`scheduledAt`,type:`datetime`},{label:t()(`common.executed.at`),key:`executedAt`,type:`datetime`},{label:t()(`common.failed.at`),key:`failedAt`,type:`datetime`}]}},get sorts(){return[{label:t()(`common.requested.at`),key:`createdAt`},{label:t()(`common.scheduled.for`),key:`scheduledAt`},{label:t()(`common.updated.at`),key:`updatedAt`}]},perPage:[10,20,40]})}}})}},get children(){return a(m,{state:{searchParams:v},get data(){return{collections:y.data?.data??[],collectionLabels:S(),reviewCollectionKeys:b()}},get status(){return{collections:{isError:y.isError,isSuccess:y.isSuccess,isLoading:y.isLoading}}}})}})};export{_ as default};