mirror of
https://github.com/spacedriveapp/spacedrive
synced 2024-07-15 00:04:15 +00:00
[ENG-1118] Force close context menu when no items are selected (#1407)
* close context menu if no items are selected * fix * Update index.tsx * ups * one more
This commit is contained in:
parent
ed9eb79222
commit
95ea93595d
|
@ -43,7 +43,13 @@ export interface ExplorerViewPadding {
|
||||||
export interface ExplorerViewProps
|
export interface ExplorerViewProps
|
||||||
extends Omit<
|
extends Omit<
|
||||||
ExplorerViewContext,
|
ExplorerViewContext,
|
||||||
'selectable' | 'isRenaming' | 'setIsRenaming' | 'setIsContextMenuOpen' | 'ref' | 'padding'
|
| 'selectable'
|
||||||
|
| 'isRenaming'
|
||||||
|
| 'isContextMenuOpen'
|
||||||
|
| 'setIsRenaming'
|
||||||
|
| 'setIsContextMenuOpen'
|
||||||
|
| 'ref'
|
||||||
|
| 'padding'
|
||||||
> {
|
> {
|
||||||
className?: string;
|
className?: string;
|
||||||
style?: React.CSSProperties;
|
style?: React.CSSProperties;
|
||||||
|
@ -75,6 +81,12 @@ export default memo(
|
||||||
disabled: isRenaming || quickPreviewStore.open
|
disabled: isRenaming || quickPreviewStore.open
|
||||||
});
|
});
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!isContextMenuOpen || explorer.selectedItems.size !== 0) return;
|
||||||
|
// Close context menu when no items are selected
|
||||||
|
document.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape' }));
|
||||||
|
}, [explorer.selectedItems, isContextMenuOpen]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (explorer.isFetchingNextPage) {
|
if (explorer.isFetchingNextPage) {
|
||||||
const timer = setTimeout(() => setShowLoading(true), 100);
|
const timer = setTimeout(() => setShowLoading(true), 100);
|
||||||
|
@ -108,10 +120,11 @@ export default memo(
|
||||||
!isContextMenuOpen &&
|
!isContextMenuOpen &&
|
||||||
!isRenaming &&
|
!isRenaming &&
|
||||||
(!quickPreviewStore.open || explorer.selectedItems.size === 1),
|
(!quickPreviewStore.open || explorer.selectedItems.size === 1),
|
||||||
setIsContextMenuOpen,
|
|
||||||
isRenaming,
|
|
||||||
setIsRenaming,
|
|
||||||
ref,
|
ref,
|
||||||
|
isRenaming,
|
||||||
|
isContextMenuOpen,
|
||||||
|
setIsRenaming,
|
||||||
|
setIsContextMenuOpen,
|
||||||
padding: viewPadding
|
padding: viewPadding
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|
|
@ -7,6 +7,7 @@ export interface ExplorerViewContext {
|
||||||
top?: number;
|
top?: number;
|
||||||
bottom?: number;
|
bottom?: number;
|
||||||
contextMenu?: ReactNode;
|
contextMenu?: ReactNode;
|
||||||
|
isContextMenuOpen?: boolean;
|
||||||
setIsContextMenuOpen?: (isOpen: boolean) => void;
|
setIsContextMenuOpen?: (isOpen: boolean) => void;
|
||||||
isRenaming: boolean;
|
isRenaming: boolean;
|
||||||
setIsRenaming: (isRenaming: boolean) => void;
|
setIsRenaming: (isRenaming: boolean) => void;
|
||||||
|
|
Loading…
Reference in a new issue