Fix table focus taking over auth and filter and sort (#478)
This commit is contained in:
@ -167,7 +167,7 @@ function DropdownButton({
|
||||
|
||||
const onButtonClick = () => {
|
||||
setIsUnfolded && setIsUnfolded(!isUnfolded);
|
||||
setCaptureHotkeyTypeInFocus(!isUnfolded);
|
||||
setCaptureHotkeyTypeInFocus((isPreviousUnfolded) => !isPreviousUnfolded);
|
||||
};
|
||||
|
||||
const onOutsideClick = () => {
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { ChangeEvent, useCallback, useState } from 'react';
|
||||
import styled from '@emotion/styled';
|
||||
import { useRecoilState } from 'recoil';
|
||||
|
||||
import {
|
||||
FilterableFieldsType,
|
||||
@ -7,6 +8,7 @@ import {
|
||||
FilterOperandType,
|
||||
SelectedFilterType,
|
||||
} from '@/filters-and-sorts/interfaces/filters/interface';
|
||||
import { captureHotkeyTypeInFocusState } from '@/hotkeys/states/captureHotkeyTypeInFocusState';
|
||||
import { SearchResultsType, useSearch } from '@/search/services/search';
|
||||
import { humanReadableDate } from '@/utils/utils';
|
||||
|
||||
@ -31,6 +33,9 @@ export const FilterDropdownButton = <TData extends FilterableFieldsType>({
|
||||
onFilterRemove,
|
||||
}: OwnProps<TData>) => {
|
||||
const [isUnfolded, setIsUnfolded] = useState(false);
|
||||
const [, setCaptureHotkeyTypeInFocus] = useRecoilState(
|
||||
captureHotkeyTypeInFocusState,
|
||||
);
|
||||
|
||||
const [selectedEntityId, setSelectedEntityId] = useState<string | null>(null);
|
||||
|
||||
@ -127,6 +132,7 @@ export const FilterDropdownButton = <TData extends FilterableFieldsType>({
|
||||
operand: selectedFilterOperand,
|
||||
});
|
||||
setIsUnfolded(false);
|
||||
setCaptureHotkeyTypeInFocus(false);
|
||||
setSelectedFilter(undefined);
|
||||
}}
|
||||
>
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
import { useCallback, useState } from 'react';
|
||||
import { useRecoilState } from 'recoil';
|
||||
|
||||
import {
|
||||
SelectedSortType,
|
||||
SortType,
|
||||
} from '@/filters-and-sorts/interfaces/sorts/interface';
|
||||
import { captureHotkeyTypeInFocusState } from '@/hotkeys/states/captureHotkeyTypeInFocusState';
|
||||
|
||||
import DropdownButton from './DropdownButton';
|
||||
|
||||
@ -21,6 +23,9 @@ export function SortDropdownButton<SortField>({
|
||||
onSortSelect,
|
||||
}: OwnProps<SortField>) {
|
||||
const [isUnfolded, setIsUnfolded] = useState(false);
|
||||
const [, setCaptureHotkeyTypeInFocus] = useRecoilState(
|
||||
captureHotkeyTypeInFocusState,
|
||||
);
|
||||
|
||||
const [isOptionUnfolded, setIsOptionUnfolded] = useState(false);
|
||||
|
||||
@ -36,8 +41,9 @@ export function SortDropdownButton<SortField>({
|
||||
|
||||
const resetState = useCallback(() => {
|
||||
setIsOptionUnfolded(false);
|
||||
setCaptureHotkeyTypeInFocus(false);
|
||||
setSelectedSortDirection('asc');
|
||||
}, []);
|
||||
}, [setCaptureHotkeyTypeInFocus]);
|
||||
|
||||
return (
|
||||
<DropdownButton
|
||||
@ -53,6 +59,7 @@ export function SortDropdownButton<SortField>({
|
||||
key={index}
|
||||
onClick={() => {
|
||||
setSelectedSortDirection(option);
|
||||
setCaptureHotkeyTypeInFocus(false);
|
||||
setIsOptionUnfolded(false);
|
||||
}}
|
||||
>
|
||||
@ -73,6 +80,7 @@ export function SortDropdownButton<SortField>({
|
||||
key={index + 1}
|
||||
onClick={() => {
|
||||
setIsUnfolded(false);
|
||||
setCaptureHotkeyTypeInFocus(false);
|
||||
onSortItemSelect(sort);
|
||||
}}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user