various
This commit is contained in:
@@ -198,6 +198,7 @@ const AppLayout = () => {
|
||||
const stored = window.localStorage.getItem('papercrate_view_mode');
|
||||
return stored === 'grid' || stored === 'desk' ? stored : 'list';
|
||||
});
|
||||
const [deskHelpOpen, setDeskHelpOpen] = useState(false);
|
||||
const lastNonDeskViewRef = useRef(documentsViewMode === 'desk' ? 'list' : documentsViewMode);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -205,6 +206,12 @@ const AppLayout = () => {
|
||||
lastNonDeskViewRef.current = documentsViewMode;
|
||||
}
|
||||
}, [documentsViewMode]);
|
||||
|
||||
useEffect(() => {
|
||||
if (documentsViewMode !== 'desk' && deskHelpOpen) {
|
||||
setDeskHelpOpen(false);
|
||||
}
|
||||
}, [documentsViewMode, deskHelpOpen]);
|
||||
const initialRowSelection = [];
|
||||
const tokenRef = useRef(token);
|
||||
const refreshPromiseRef = useRef(null);
|
||||
@@ -4819,6 +4826,36 @@ const AppLayout = () => {
|
||||
[handleRowSelection],
|
||||
);
|
||||
|
||||
const handleDeskDocumentStackSelect = useCallback(
|
||||
(docIds) => {
|
||||
if (!Array.isArray(docIds) || docIds.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const rowKeys = docIds
|
||||
.map((id) => resolveDocumentRowKey(id))
|
||||
.filter(Boolean);
|
||||
|
||||
if (!rowKeys.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
applySelection(rowKeys, {
|
||||
anchor: rowKeys[0],
|
||||
interactedKeys: rowKeys,
|
||||
});
|
||||
},
|
||||
[applySelection],
|
||||
);
|
||||
|
||||
const handleDeskHelpOpen = useCallback(() => {
|
||||
setDeskHelpOpen(true);
|
||||
}, []);
|
||||
|
||||
const handleDeskHelpClose = useCallback(() => {
|
||||
setDeskHelpOpen(false);
|
||||
}, []);
|
||||
|
||||
const deskWorkspaceProps = useMemo(
|
||||
() => ({
|
||||
documents,
|
||||
@@ -4832,6 +4869,10 @@ const AppLayout = () => {
|
||||
onDocumentOpen: openDocumentPreview,
|
||||
onInspectDocument: handleDeskInspectDocument,
|
||||
onDocumentPointerSelect: handleDeskDocumentPointerSelect,
|
||||
onDocumentStackSelect: handleDeskDocumentStackSelect,
|
||||
onOpenHelp: handleDeskHelpOpen,
|
||||
helpOpen: deskHelpOpen,
|
||||
onHelpClose: handleDeskHelpClose,
|
||||
selectedDocumentIds,
|
||||
onClearSelection: clearDocumentSelection,
|
||||
resolveThumbnailUrl: resolveThumbnailUrlForDoc,
|
||||
@@ -4853,6 +4894,10 @@ const AppLayout = () => {
|
||||
openDocumentPreview,
|
||||
handleDeskInspectDocument,
|
||||
handleDeskDocumentPointerSelect,
|
||||
handleDeskDocumentStackSelect,
|
||||
handleDeskHelpOpen,
|
||||
handleDeskHelpClose,
|
||||
deskHelpOpen,
|
||||
selectedDocumentIds,
|
||||
clearDocumentSelection,
|
||||
resolveThumbnailUrlForDoc,
|
||||
|
||||
Reference in New Issue
Block a user