Feat/hide board fields (#1271)

* Renamed AuthAutoRouter

* Moved RecoilScope

* Refactored old WithTopBarContainer to make it less transclusive

* Created new add opportunity button and refactored DropdownButton

* Added tests

* Deactivated new eslint rule

* Refactored Table options with new dropdown

* Started BoardDropdown

* Fix lint

* Refactor dropdown openstate

* Fix according to PR

* Fix tests

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Lucas Bordeau
2023-08-24 13:19:42 +02:00
committed by GitHub
parent 64cef963bc
commit 252f1c655e
48 changed files with 860 additions and 580 deletions

View File

@ -3,17 +3,16 @@ import { useTheme } from '@emotion/react';
import { useRecoilState } from 'recoil';
import { currentPipelineState } from '@/pipeline/states/currentPipelineState';
import { DropdownMenu } from '@/ui/dropdown/components/DropdownMenu';
import { DropdownMenuHeader } from '@/ui/dropdown/components/DropdownMenuHeader';
import { DropdownMenuInput } from '@/ui/dropdown/components/DropdownMenuInput';
import { DropdownMenuItem } from '@/ui/dropdown/components/DropdownMenuItem';
import { DropdownMenuItemsContainer } from '@/ui/dropdown/components/DropdownMenuItemsContainer';
import { DropdownMenuSeparator } from '@/ui/dropdown/components/DropdownMenuSeparator';
import { StyledDropdownMenu } from '@/ui/dropdown/components/StyledDropdownMenu';
import { StyledDropdownMenuItemsContainer } from '@/ui/dropdown/components/StyledDropdownMenuItemsContainer';
import { StyledDropdownMenuSeparator } from '@/ui/dropdown/components/StyledDropdownMenuSeparator';
import { IconChevronDown } from '@/ui/icon';
import { SingleEntitySelectBase } from '@/ui/input/relation-picker/components/SingleEntitySelectBase';
import { useEntitySelectSearch } from '@/ui/input/relation-picker/hooks/useEntitySelectSearch';
import { EntityForSelect } from '@/ui/input/relation-picker/types/EntityForSelect';
import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside';
import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope';
import { useFilteredSearchCompanyQuery } from '../hooks/useFilteredSearchCompanyQuery';
@ -48,17 +47,6 @@ export function CompanyProgressPicker({
string | null
>(null);
useListenClickOutside({
refs: [containerRef],
callback: (event) => {
event.stopImmediatePropagation();
event.stopPropagation();
event.preventDefault();
onCancel?.();
},
});
const theme = useTheme();
const [currentPipeline] = useRecoilState(currentPipelineState);
@ -94,12 +82,12 @@ export function CompanyProgressPicker({
);
return (
<DropdownMenu
<StyledDropdownMenu
ref={containerRef}
data-testid={`company-progress-dropdown-menu`}
>
{isProgressSelectionUnfolded ? (
<DropdownMenuItemsContainer>
<StyledDropdownMenuItemsContainer>
{currentPipelineStages.map((pipelineStage, index) => (
<DropdownMenuItem
key={pipelineStage.id}
@ -111,7 +99,7 @@ export function CompanyProgressPicker({
{pipelineStage.name}
</DropdownMenuItem>
))}
</DropdownMenuItemsContainer>
</StyledDropdownMenuItemsContainer>
) : (
<>
<DropdownMenuHeader
@ -121,13 +109,13 @@ export function CompanyProgressPicker({
>
{selectedPipelineStage?.name}
</DropdownMenuHeader>
<DropdownMenuSeparator />
<StyledDropdownMenuSeparator />
<DropdownMenuInput
value={searchFilter}
onChange={handleSearchFilterChange}
autoFocus
/>
<DropdownMenuSeparator />
<StyledDropdownMenuSeparator />
<RecoilScope>
<SingleEntitySelectBase
onEntitySelected={handleEntitySelected}
@ -141,6 +129,6 @@ export function CompanyProgressPicker({
</RecoilScope>
</>
)}
</DropdownMenu>
</StyledDropdownMenu>
);
}