Fix Views on People page (#2265)

* fetching viewId for url

* fixed option menu name input

* fix table import

* fix unnecessary rerenders

* people working

---------

Co-authored-by: bosiraphael <raphael.bosi@gmail.com>
This commit is contained in:
Charles Bochet
2023-10-27 18:20:58 +02:00
committed by GitHub
parent 35237c05f3
commit afd4b7c634
14 changed files with 202 additions and 75 deletions

View File

@ -73,18 +73,9 @@ export const DataTableEffect = ({
const [searchParams] = useSearchParams();
useEffect(() => {
const viewId = searchParams.get('view');
if (viewId) {
//setCurrentViewId(viewId);
}
setActionBarEntries?.();
setContextMenuEntries?.();
}, [
searchParams,
setActionBarEntries,
setContextMenuEntries,
setCurrentViewId,
]);
}, [searchParams, setActionBarEntries, setContextMenuEntries]);
return <></>;
};

View File

@ -8,7 +8,11 @@ import { TableOptionsHotkeyScope } from '../../types/TableOptionsHotkeyScope';
import { TableOptionsDropdownButton } from './TableOptionsDropdownButton';
import { TableOptionsDropdownContent } from './TableOptionsDropdownContent';
export const TableOptionsDropdown = () => {
export const TableOptionsDropdown = ({
onImport,
}: {
onImport?: () => void;
}) => {
const { setViewEditMode } = useView();
return (
@ -17,7 +21,7 @@ export const TableOptionsDropdown = () => {
clickableComponent={<TableOptionsDropdownButton />}
dropdownHotkeyScope={{ scope: TableOptionsHotkeyScope.Dropdown }}
dropdownOffset={{ y: 8 }}
dropdownComponents={<TableOptionsDropdownContent />}
dropdownComponents={<TableOptionsDropdownContent onImport={onImport} />}
onClickOutside={() => setViewEditMode('none')}
/>
</DropdownScope>

View File

@ -2,7 +2,7 @@ import { useCallback, useRef, useState } from 'react';
import { OnDragEndResponder } from '@hello-pangea/dnd';
import { Key } from 'ts-key-enum';
import { IconChevronLeft, IconTag } from '@/ui/display/icon';
import { IconChevronLeft, IconFileImport, IconTag } from '@/ui/display/icon';
import { DropdownMenuHeader } from '@/ui/layout/dropdown/components/DropdownMenuHeader';
import { DropdownMenuInput } from '@/ui/layout/dropdown/components/DropdownMenuInput';
import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer';
@ -23,7 +23,11 @@ import { TableOptionsHotkeyScope } from '../../types/TableOptionsHotkeyScope';
type TableOptionsMenu = 'fields';
export const TableOptionsDropdownContent = () => {
export const TableOptionsDropdownContent = ({
onImport,
}: {
onImport?: () => void;
}) => {
const { setViewEditMode, handleViewNameSubmit } = useView();
const { viewEditMode, currentView } = useViewInternalStates();
@ -104,13 +108,7 @@ export const TableOptionsDropdownContent = () => {
? 'View name'
: ''
}
defaultValue={
viewEditMode === 'create'
? ''
: viewEditMode === 'edit'
? currentView?.name
: ''
}
defaultValue={viewEditMode === 'create' ? '' : currentView?.name}
/>
<DropdownMenuSeparator />
<DropdownMenuItemsContainer>
@ -119,13 +117,13 @@ export const TableOptionsDropdownContent = () => {
LeftIcon={IconTag}
text="Fields"
/>
{/*onImport && (
{onImport && (
<MenuItem
onClick={onImport}
LeftIcon={IconFileImport}
text="Import"
/>
)*/}
)}
</DropdownMenuItemsContainer>
</>
)}