mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-22 20:46:38 +08:00
fix(core): listFloatingToolbar does not appear as expected (#7124)
close AFF-1201
This commit is contained in:
+7
-3
@@ -98,8 +98,12 @@ export const VirtualizedCollectionList = ({
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const handleDelete = useCallback(() => {
|
const handleDelete = useCallback(() => {
|
||||||
return collectionService.deleteCollection(info, ...selectedCollectionIds);
|
if (selectedCollectionIds.length === 0) {
|
||||||
}, [collectionService, info, selectedCollectionIds]);
|
return;
|
||||||
|
}
|
||||||
|
collectionService.deleteCollection(info, ...selectedCollectionIds);
|
||||||
|
hideFloatingToolbar();
|
||||||
|
}, [collectionService, hideFloatingToolbar, info, selectedCollectionIds]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -123,7 +127,7 @@ export const VirtualizedCollectionList = ({
|
|||||||
headerRenderer={collectionHeaderRenderer}
|
headerRenderer={collectionHeaderRenderer}
|
||||||
/>
|
/>
|
||||||
<ListFloatingToolbar
|
<ListFloatingToolbar
|
||||||
open={showFloatingToolbar && selectedCollectionIds.length > 0}
|
open={showFloatingToolbar}
|
||||||
content={
|
content={
|
||||||
<Trans
|
<Trans
|
||||||
i18nKey="com.affine.collection.toolbar.selected"
|
i18nKey="com.affine.collection.toolbar.selected"
|
||||||
|
|||||||
@@ -132,6 +132,9 @@ export const VirtualizedPageList = ({
|
|||||||
const { setTrashModal } = useTrashModalHelper(currentWorkspace.docCollection);
|
const { setTrashModal } = useTrashModalHelper(currentWorkspace.docCollection);
|
||||||
|
|
||||||
const handleMultiDelete = useCallback(() => {
|
const handleMultiDelete = useCallback(() => {
|
||||||
|
if (filteredSelectedPageIds.length === 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
const pageNameMapping = Object.fromEntries(
|
const pageNameMapping = Object.fromEntries(
|
||||||
pageMetas.map(meta => [meta.id, meta.title])
|
pageMetas.map(meta => [meta.id, meta.title])
|
||||||
);
|
);
|
||||||
@@ -171,7 +174,7 @@ export const VirtualizedPageList = ({
|
|||||||
headerRenderer={pageHeaderRenderer}
|
headerRenderer={pageHeaderRenderer}
|
||||||
/>
|
/>
|
||||||
<ListFloatingToolbar
|
<ListFloatingToolbar
|
||||||
open={showFloatingToolbar && filteredSelectedPageIds.length > 0}
|
open={showFloatingToolbar}
|
||||||
onDelete={handleMultiDelete}
|
onDelete={handleMultiDelete}
|
||||||
onClose={hideFloatingToolbar}
|
onClose={hideFloatingToolbar}
|
||||||
content={
|
content={
|
||||||
|
|||||||
@@ -69,6 +69,9 @@ export const VirtualizedTagList = ({
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const handleDelete = useCallback(() => {
|
const handleDelete = useCallback(() => {
|
||||||
|
if (selectedTagIds.length === 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
onTagDelete(selectedTagIds);
|
onTagDelete(selectedTagIds);
|
||||||
hideFloatingToolbar();
|
hideFloatingToolbar();
|
||||||
return;
|
return;
|
||||||
@@ -97,7 +100,7 @@ export const VirtualizedTagList = ({
|
|||||||
headerRenderer={tagHeaderRenderer}
|
headerRenderer={tagHeaderRenderer}
|
||||||
/>
|
/>
|
||||||
<ListFloatingToolbar
|
<ListFloatingToolbar
|
||||||
open={showFloatingToolbar && selectedTagIds.length > 0}
|
open={showFloatingToolbar}
|
||||||
content={
|
content={
|
||||||
<Trans
|
<Trans
|
||||||
i18nKey="com.affine.tag.toolbar.selected"
|
i18nKey="com.affine.tag.toolbar.selected"
|
||||||
|
|||||||
@@ -67,6 +67,9 @@ export const VirtualizedTrashList = () => {
|
|||||||
}, [filteredSelectedPageIds, hideFloatingToolbar, restoreFromTrash, t]);
|
}, [filteredSelectedPageIds, hideFloatingToolbar, restoreFromTrash, t]);
|
||||||
|
|
||||||
const onConfirmPermanentlyDelete = useCallback(() => {
|
const onConfirmPermanentlyDelete = useCallback(() => {
|
||||||
|
if (filteredSelectedPageIds.length === 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
openConfirmModal({
|
openConfirmModal({
|
||||||
title: `${t['com.affine.trashOperation.deletePermanently']()}?`,
|
title: `${t['com.affine.trashOperation.deletePermanently']()}?`,
|
||||||
description: t['com.affine.trashOperation.deleteDescription'](),
|
description: t['com.affine.trashOperation.deleteDescription'](),
|
||||||
@@ -77,7 +80,7 @@ export const VirtualizedTrashList = () => {
|
|||||||
},
|
},
|
||||||
onConfirm: handleMultiDelete,
|
onConfirm: handleMultiDelete,
|
||||||
});
|
});
|
||||||
}, [handleMultiDelete, openConfirmModal, t]);
|
}, [filteredSelectedPageIds.length, handleMultiDelete, openConfirmModal, t]);
|
||||||
|
|
||||||
const pageOperationsRenderer = useCallback(
|
const pageOperationsRenderer = useCallback(
|
||||||
(item: ListItem) => {
|
(item: ListItem) => {
|
||||||
@@ -129,7 +132,7 @@ export const VirtualizedTrashList = () => {
|
|||||||
onSelectedIdsChange={setSelectedPageIds}
|
onSelectedIdsChange={setSelectedPageIds}
|
||||||
/>
|
/>
|
||||||
<ListFloatingToolbar
|
<ListFloatingToolbar
|
||||||
open={showFloatingToolbar && filteredSelectedPageIds.length > 0}
|
open={showFloatingToolbar}
|
||||||
onDelete={onConfirmPermanentlyDelete}
|
onDelete={onConfirmPermanentlyDelete}
|
||||||
onClose={hideFloatingToolbar}
|
onClose={hideFloatingToolbar}
|
||||||
onRestore={handleMultiRestore}
|
onRestore={handleMultiRestore}
|
||||||
|
|||||||
Reference in New Issue
Block a user