Merge commit 'cd3a32e55503dc1e6b9873d812dd401bf7d51045' into context-menu-vertical

This commit is contained in:
brendanlaschke
2023-08-14 22:00:49 +02:00
179 changed files with 1971 additions and 3230 deletions

View File

@ -2,7 +2,6 @@ import { useEffect } from 'react';
import { getOperationName } from '@apollo/client/utilities';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
import { useRecoilState } from 'recoil';
import { v4 } from 'uuid';
import { useOpenActionBar } from '@/companies/hooks/useOpenActionBar';
@ -13,8 +12,9 @@ import { IconBuildingSkyscraper } from '@/ui/icon';
import { WithTopBarContainer } from '@/ui/layout/components/WithTopBarContainer';
import { EntityTableActionBar } from '@/ui/table/action-bar/components/EntityTableActionBar';
import { EntityTableContextMenu } from '@/ui/table/context-menu/components/EntityTableContextMenu';
import { useUpsertEntityTableItem } from '@/ui/table/hooks/useUpsertEntityTableItem';
import { useUpsertTableRowId } from '@/ui/table/hooks/useUpsertTableRowId';
import { TableContext } from '@/ui/table/states/TableContext';
import { tableRowIdsState } from '@/ui/table/states/tableRowIdsState';
import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope';
import { useInsertOneCompanyMutation } from '~/generated/graphql';
@ -25,7 +25,8 @@ const StyledTableContainer = styled.div`
export function Companies() {
const [insertCompany] = useInsertOneCompanyMutation();
const [tableRowIds, setTableRowIds] = useRecoilState(tableRowIdsState);
const upsertEntityTableItem = useUpsertEntityTableItem();
const upsertTableRowIds = useUpsertTableRowId();
async function handleAddButtonClick() {
const newCompanyId: string = v4();
@ -46,12 +47,17 @@ export function Companies() {
name: '',
domainName: '',
address: '',
createdAt: '',
createdAt: new Date().toISOString(),
accountOwner: null,
linkedinUrl: '',
employees: null,
},
},
update: (cache, { data }) => {
data?.createOneCompany.id &&
setTableRowIds([data?.createOneCompany.id, ...tableRowIds]);
if (data?.createOneCompany) {
upsertTableRowIds(data?.createOneCompany.id);
upsertEntityTableItem(data?.createOneCompany);
}
},
refetchQueries: [getOperationName(SEARCH_COMPANY_QUERY) ?? ''],
});
@ -68,20 +74,18 @@ export function Companies() {
}, [setContextMenu, setActionBar]);
return (
<>
<WithTopBarContainer
title="Companies"
icon={<IconBuildingSkyscraper size={theme.icon.size.md} />}
onAddButtonClick={handleAddButtonClick}
>
<RecoilScope SpecificContext={TableContext}>
<StyledTableContainer>
<CompanyTable />
</StyledTableContainer>
<EntityTableActionBar></EntityTableActionBar>
<EntityTableContextMenu></EntityTableContextMenu>
</RecoilScope>
</WithTopBarContainer>
</>
<WithTopBarContainer
title="Companies"
icon={<IconBuildingSkyscraper size={theme.icon.size.md} />}
onAddButtonClick={handleAddButtonClick}
>
<RecoilScope SpecificContext={TableContext}>
<StyledTableContainer>
<CompanyTable />
</StyledTableContainer>
<EntityTableActionBar></EntityTableActionBar>
<EntityTableContextMenu></EntityTableContextMenu>
</RecoilScope>
</WithTopBarContainer>
);
}