Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
240 lines
6.1 KiB
Plaintext
240 lines
6.1 KiB
Plaintext
'use client';
|
|
|
|
import { c as _c } from "react/compiler-runtime";
|
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
import { Drawer, LoadingOverlay, toast, useDocumentInfo, useEditDepth, useModal, useServerFunctions, useTranslation } from '@payloadcms/ui';
|
|
import { useSearchParams } from 'next/navigation.js';
|
|
import React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';
|
|
export const baseClass = 'version-drawer';
|
|
export const formatVersionDrawerSlug = ({
|
|
depth,
|
|
uuid
|
|
}) => `version-drawer_${depth}_${uuid}`;
|
|
export const VersionDrawerContent = props => {
|
|
const {
|
|
collectionSlug,
|
|
docID,
|
|
drawerSlug,
|
|
globalSlug
|
|
} = props;
|
|
const {
|
|
isTrashed
|
|
} = useDocumentInfo();
|
|
const {
|
|
closeModal
|
|
} = useModal();
|
|
const searchParams = useSearchParams();
|
|
const prevSearchParams = useRef(searchParams);
|
|
const {
|
|
renderDocument
|
|
} = useServerFunctions();
|
|
const [DocumentView, setDocumentView] = useState(undefined);
|
|
const [isLoading, setIsLoading] = useState(true);
|
|
const hasRenderedDocument = useRef(false);
|
|
const {
|
|
t
|
|
} = useTranslation();
|
|
const getDocumentView = useCallback(docID_0 => {
|
|
const fetchDocumentView = async () => {
|
|
setIsLoading(true);
|
|
try {
|
|
const isGlobal = Boolean(globalSlug);
|
|
const entitySlug = collectionSlug ?? globalSlug;
|
|
const result = await renderDocument({
|
|
collectionSlug: entitySlug,
|
|
docID: docID_0,
|
|
drawerSlug,
|
|
paramsOverride: {
|
|
segments: [isGlobal ? 'globals' : 'collections', entitySlug, ...(isTrashed ? ['trash'] : []), isGlobal ? undefined : String(docID_0), 'versions'].filter(Boolean)
|
|
},
|
|
redirectAfterDelete: false,
|
|
redirectAfterDuplicate: false,
|
|
searchParams: Object.fromEntries(searchParams.entries()),
|
|
versions: {
|
|
disableGutter: true,
|
|
useVersionDrawerCreatedAtCell: true
|
|
}
|
|
});
|
|
if (result?.Document) {
|
|
setDocumentView(result.Document);
|
|
setIsLoading(false);
|
|
}
|
|
} catch (error) {
|
|
toast.error(error?.message || t('error:unspecific'));
|
|
closeModal(drawerSlug);
|
|
// toast.error(data?.errors?.[0].message || t('error:unspecific'))
|
|
}
|
|
};
|
|
void fetchDocumentView();
|
|
}, [closeModal, collectionSlug, drawerSlug, globalSlug, isTrashed, renderDocument, searchParams, t]);
|
|
useEffect(() => {
|
|
if (!hasRenderedDocument.current || prevSearchParams.current !== searchParams) {
|
|
prevSearchParams.current = searchParams;
|
|
getDocumentView(docID);
|
|
hasRenderedDocument.current = true;
|
|
}
|
|
}, [docID, getDocumentView, searchParams]);
|
|
if (isLoading) {
|
|
return /*#__PURE__*/_jsx(LoadingOverlay, {});
|
|
}
|
|
return DocumentView;
|
|
};
|
|
export const VersionDrawer = props => {
|
|
const $ = _c(6);
|
|
const {
|
|
collectionSlug,
|
|
docID,
|
|
drawerSlug,
|
|
globalSlug
|
|
} = props;
|
|
const {
|
|
t
|
|
} = useTranslation();
|
|
let t0;
|
|
if ($[0] !== collectionSlug || $[1] !== docID || $[2] !== drawerSlug || $[3] !== globalSlug || $[4] !== t) {
|
|
t0 = _jsx(Drawer, {
|
|
className: baseClass,
|
|
gutter: true,
|
|
slug: drawerSlug,
|
|
title: t("version:selectVersionToCompare"),
|
|
children: _jsx(VersionDrawerContent, {
|
|
collectionSlug,
|
|
docID,
|
|
drawerSlug,
|
|
globalSlug
|
|
})
|
|
});
|
|
$[0] = collectionSlug;
|
|
$[1] = docID;
|
|
$[2] = drawerSlug;
|
|
$[3] = globalSlug;
|
|
$[4] = t;
|
|
$[5] = t0;
|
|
} else {
|
|
t0 = $[5];
|
|
}
|
|
return t0;
|
|
};
|
|
export const useVersionDrawer = t0 => {
|
|
const $ = _c(29);
|
|
const {
|
|
collectionSlug,
|
|
docID,
|
|
globalSlug
|
|
} = t0;
|
|
const drawerDepth = useEditDepth();
|
|
const uuid = useId();
|
|
const {
|
|
closeModal,
|
|
modalState,
|
|
openModal,
|
|
toggleModal
|
|
} = useModal();
|
|
const [isOpen, setIsOpen] = useState(false);
|
|
let t1;
|
|
if ($[0] !== drawerDepth || $[1] !== uuid) {
|
|
t1 = formatVersionDrawerSlug({
|
|
depth: drawerDepth,
|
|
uuid
|
|
});
|
|
$[0] = drawerDepth;
|
|
$[1] = uuid;
|
|
$[2] = t1;
|
|
} else {
|
|
t1 = $[2];
|
|
}
|
|
const drawerSlug = t1;
|
|
let t2;
|
|
let t3;
|
|
if ($[3] !== drawerSlug || $[4] !== modalState) {
|
|
t2 = () => {
|
|
setIsOpen(Boolean(modalState[drawerSlug]?.isOpen));
|
|
};
|
|
t3 = [modalState, drawerSlug];
|
|
$[3] = drawerSlug;
|
|
$[4] = modalState;
|
|
$[5] = t2;
|
|
$[6] = t3;
|
|
} else {
|
|
t2 = $[5];
|
|
t3 = $[6];
|
|
}
|
|
useEffect(t2, t3);
|
|
let t4;
|
|
if ($[7] !== drawerSlug || $[8] !== toggleModal) {
|
|
t4 = () => {
|
|
toggleModal(drawerSlug);
|
|
};
|
|
$[7] = drawerSlug;
|
|
$[8] = toggleModal;
|
|
$[9] = t4;
|
|
} else {
|
|
t4 = $[9];
|
|
}
|
|
const toggleDrawer = t4;
|
|
let t5;
|
|
if ($[10] !== closeModal || $[11] !== drawerSlug) {
|
|
t5 = () => {
|
|
closeModal(drawerSlug);
|
|
};
|
|
$[10] = closeModal;
|
|
$[11] = drawerSlug;
|
|
$[12] = t5;
|
|
} else {
|
|
t5 = $[12];
|
|
}
|
|
const closeDrawer = t5;
|
|
let t6;
|
|
if ($[13] !== drawerSlug || $[14] !== openModal) {
|
|
t6 = () => {
|
|
openModal(drawerSlug);
|
|
};
|
|
$[13] = drawerSlug;
|
|
$[14] = openModal;
|
|
$[15] = t6;
|
|
} else {
|
|
t6 = $[15];
|
|
}
|
|
const openDrawer = t6;
|
|
let t7;
|
|
if ($[16] !== collectionSlug || $[17] !== docID || $[18] !== drawerSlug || $[19] !== globalSlug) {
|
|
t7 = () => _jsx(VersionDrawer, {
|
|
collectionSlug,
|
|
docID,
|
|
drawerSlug,
|
|
globalSlug
|
|
});
|
|
$[16] = collectionSlug;
|
|
$[17] = docID;
|
|
$[18] = drawerSlug;
|
|
$[19] = globalSlug;
|
|
$[20] = t7;
|
|
} else {
|
|
t7 = $[20];
|
|
}
|
|
const MemoizedDrawer = t7;
|
|
let t8;
|
|
if ($[21] !== MemoizedDrawer || $[22] !== closeDrawer || $[23] !== drawerDepth || $[24] !== drawerSlug || $[25] !== isOpen || $[26] !== openDrawer || $[27] !== toggleDrawer) {
|
|
t8 = {
|
|
closeDrawer,
|
|
Drawer: MemoizedDrawer,
|
|
drawerDepth,
|
|
drawerSlug,
|
|
isDrawerOpen: isOpen,
|
|
openDrawer,
|
|
toggleDrawer
|
|
};
|
|
$[21] = MemoizedDrawer;
|
|
$[22] = closeDrawer;
|
|
$[23] = drawerDepth;
|
|
$[24] = drawerSlug;
|
|
$[25] = isOpen;
|
|
$[26] = openDrawer;
|
|
$[27] = toggleDrawer;
|
|
$[28] = t8;
|
|
} else {
|
|
t8 = $[28];
|
|
}
|
|
return t8;
|
|
};
|
|
//# sourceMappingURL=index.js.map |