fix
This commit is contained in:
@@ -496,12 +496,27 @@ const AppLayout = () => {
|
||||
const [detailPanelOpen, setDetailPanelOpen] = useState(() => selectedDocumentIds.length > 0);
|
||||
const [detailPanelDocIds, setDetailPanelDocIds] = useState([]);
|
||||
const [detailPanelDocs, setDetailPanelDocs] = useState([]);
|
||||
const detailPanelAutoOpenRef = useRef(true);
|
||||
const detailPanelSelectionTokenRef = useRef(selectedDocumentIds.join('|'));
|
||||
|
||||
useEffect(() => {
|
||||
if (selectedDocumentIds.length > 0 && !detailPanelOpen) {
|
||||
const token = selectedDocumentIds.join('|');
|
||||
if (token !== detailPanelSelectionTokenRef.current) {
|
||||
detailPanelSelectionTokenRef.current = token;
|
||||
detailPanelAutoOpenRef.current = true;
|
||||
}
|
||||
|
||||
if (selectedDocumentIds.length === 0) {
|
||||
if (detailPanelOpen) {
|
||||
setDetailPanelOpen(false);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (!detailPanelOpen && detailPanelAutoOpenRef.current && !previewDocumentId) {
|
||||
setDetailPanelOpen(true);
|
||||
}
|
||||
}, [selectedDocumentIds, detailPanelOpen]);
|
||||
}, [selectedDocumentIds, detailPanelOpen, previewDocumentId]);
|
||||
|
||||
const resetWorkspaceState = useCallback(() => {
|
||||
const rootNode = createRootNode();
|
||||
@@ -3382,6 +3397,8 @@ const AppLayout = () => {
|
||||
const openDocumentPreview = useCallback(
|
||||
(documentId, { replace = false } = {}) => {
|
||||
if (!documentId) return;
|
||||
detailPanelAutoOpenRef.current = false;
|
||||
setDetailPanelOpen(false);
|
||||
previewReturnPathRef.current = `${location.pathname}${location.search}`;
|
||||
navigate(`/documents/${documentId}`, { replace });
|
||||
},
|
||||
@@ -5134,6 +5151,7 @@ const AppLayout = () => {
|
||||
);
|
||||
|
||||
const handleDetailPanelClose = useCallback(() => {
|
||||
detailPanelAutoOpenRef.current = false;
|
||||
setDetailPanelOpen(false);
|
||||
clearDocumentSelection();
|
||||
setDetailPanelDocIds([]);
|
||||
|
||||
Reference in New Issue
Block a user