Tag current board as deprecated to make room for the new record board implementation (#3601)

This commit is contained in:
Charles Bochet
2024-01-24 12:36:42 +01:00
committed by GitHub
parent e54c141484
commit f48814f6d9
93 changed files with 449 additions and 426 deletions

View File

@ -4,13 +4,13 @@ import styled from '@emotion/styled';
import { mapBoardFieldDefinitionsToViewFields } from '@/companies/utils/mapBoardFieldDefinitionsToViewFields'; import { mapBoardFieldDefinitionsToViewFields } from '@/companies/utils/mapBoardFieldDefinitionsToViewFields';
import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord'; import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord';
import { import {
RecordBoard, RecordBoardDeprecated,
RecordBoardProps, RecordBoardDeprecatedProps,
} from '@/object-record/record-board/components/RecordBoard'; } from '@/object-record/record-board-deprecated/components/RecordBoardDeprecated';
import { RecordBoardEffect } from '@/object-record/record-board/components/RecordBoardEffect'; import { RecordBoardDeprecatedEffect } from '@/object-record/record-board-deprecated/components/RecordBoardDeprecatedEffect';
import { BoardOptionsDropdownId } from '@/object-record/record-board/constants/BoardOptionsDropdownId'; import { BoardOptionsDropdownId } from '@/object-record/record-board-deprecated/constants/BoardOptionsDropdownId';
import { RecordBoardOptionsDropdown } from '@/object-record/record-board/options/components/RecordBoardOptionsDropdown'; import { RecordBoardDeprecatedOptionsDropdown } from '@/object-record/record-board-deprecated/options/components/RecordBoardDeprecatedOptionsDropdown';
import { BoardColumnDefinition } from '@/object-record/record-board/types/BoardColumnDefinition'; import { BoardColumnDefinition } from '@/object-record/record-board-deprecated/types/BoardColumnDefinition';
import { ViewBar } from '@/views/components/ViewBar'; import { ViewBar } from '@/views/components/ViewBar';
import { useViewFields } from '@/views/hooks/internal/useViewFields'; import { useViewFields } from '@/views/hooks/internal/useViewFields';
import { opportunitiesBoardOptions } from '~/pages/opportunities/opportunitiesBoardOptions'; import { opportunitiesBoardOptions } from '~/pages/opportunities/opportunitiesBoardOptions';
@ -26,7 +26,7 @@ const StyledContainer = styled.div`
`; `;
type CompanyBoardProps = Pick< type CompanyBoardProps = Pick<
RecordBoardProps, RecordBoardDeprecatedProps,
'onColumnAdd' | 'onColumnDelete' | 'onEditColumnTitle' 'onColumnAdd' | 'onColumnDelete' | 'onEditColumnTitle'
>; >;
@ -61,7 +61,7 @@ export const CompanyBoard = ({
<ViewBar <ViewBar
viewBarId={viewBarId} viewBarId={viewBarId}
optionsDropdownButton={ optionsDropdownButton={
<RecordBoardOptionsDropdown <RecordBoardDeprecatedOptionsDropdown
recordBoardId={recordBoardId} recordBoardId={recordBoardId}
onStageAdd={onStageAdd} onStageAdd={onStageAdd}
/> />
@ -73,14 +73,14 @@ export const CompanyBoard = ({
viewBarId={viewBarId} viewBarId={viewBarId}
recordBoardId={recordBoardId} recordBoardId={recordBoardId}
/> />
<RecordBoardEffect <RecordBoardDeprecatedEffect
recordBoardId={recordBoardId} recordBoardId={recordBoardId}
onFieldsChange={(fields) => { onFieldsChange={(fields) => {
persistViewFields(mapBoardFieldDefinitionsToViewFields(fields)); persistViewFields(mapBoardFieldDefinitionsToViewFields(fields));
}} }}
/> />
<RecordBoard <RecordBoardDeprecated
recordBoardId={recordBoardId} recordBoardId={recordBoardId}
boardOptions={opportunitiesBoardOptions} boardOptions={opportunitiesBoardOptions}
onColumnAdd={onColumnAdd} onColumnAdd={onColumnAdd}

View File

@ -9,10 +9,10 @@ import {
RecordUpdateHookParams, RecordUpdateHookParams,
} from '@/object-record/field/contexts/FieldContext'; } from '@/object-record/field/contexts/FieldContext';
import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord';
import { BoardCardIdContext } from '@/object-record/record-board/contexts/BoardCardIdContext'; import { BoardCardIdContext } from '@/object-record/record-board-deprecated/contexts/BoardCardIdContext';
import { useCurrentRecordBoardCardSelectedInternal } from '@/object-record/record-board/hooks/internal/useCurrentRecordBoardCardSelectedInternal'; import { useCurrentRecordBoardDeprecatedCardSelectedInternal } from '@/object-record/record-board-deprecated/hooks/internal/useCurrentRecordBoardDeprecatedCardSelectedInternal';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { isRecordBoardCardInCompactViewFamilyState } from '@/object-record/record-board/states/isRecordBoardCardInCompactViewFamilyState'; import { isRecordBoardDeprecatedCardInCompactViewFamilyState } from '@/object-record/record-board-deprecated/states/isRecordBoardDeprecatedCardInCompactViewFamilyState';
import { RecordInlineCell } from '@/object-record/record-inline-cell/components/RecordInlineCell'; import { RecordInlineCell } from '@/object-record/record-inline-cell/components/RecordInlineCell';
import { InlineCellHotkeyScope } from '@/object-record/record-inline-cell/types/InlineCellHotkeyScope'; import { InlineCellHotkeyScope } from '@/object-record/record-inline-cell/types/InlineCellHotkeyScope';
import { EntityChipVariant } from '@/ui/display/chip/components/EntityChip'; import { EntityChipVariant } from '@/ui/display/chip/components/EntityChip';
@ -128,7 +128,7 @@ const StyledCompactIconContainer = styled.div`
export const CompanyBoardCard = () => { export const CompanyBoardCard = () => {
const { isCurrentCardSelected, setCurrentCardSelected } = const { isCurrentCardSelected, setCurrentCardSelected } =
useCurrentRecordBoardCardSelectedInternal(); useCurrentRecordBoardDeprecatedCardSelectedInternal();
const boardCardId = useContext(BoardCardIdContext); const boardCardId = useContext(BoardCardIdContext);
const [companyProgress] = useRecoilState( const [companyProgress] = useRecoilState(
@ -136,12 +136,12 @@ export const CompanyBoardCard = () => {
); );
const { isCompactViewEnabledState, visibleBoardCardFieldsSelector } = const { isCompactViewEnabledState, visibleBoardCardFieldsSelector } =
useRecordBoardScopedStates(); useRecordBoardDeprecatedScopedStates();
const [isCompactViewEnabled] = useRecoilState(isCompactViewEnabledState); const [isCompactViewEnabled] = useRecoilState(isCompactViewEnabledState);
const [isCardInCompactView, setIsCardInCompactView] = useRecoilState( const [isCardInCompactView, setIsCardInCompactView] = useRecoilState(
isRecordBoardCardInCompactViewFamilyState(boardCardId ?? ''), isRecordBoardDeprecatedCardInCompactViewFamilyState(boardCardId ?? ''),
); );
const showCompactView = isCompactViewEnabled && isCardInCompactView; const showCompactView = isCompactViewEnabled && isCardInCompactView;

View File

@ -4,11 +4,11 @@ import { useRecoilValue } from 'recoil';
import { useColumnDefinitionsFromFieldMetadata } from '@/object-metadata/hooks/useColumnDefinitionsFromFieldMetadata'; import { useColumnDefinitionsFromFieldMetadata } from '@/object-metadata/hooks/useColumnDefinitionsFromFieldMetadata';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { availableRecordBoardCardFieldsScopedState } from '@/object-record/record-board/states/availableRecordBoardCardFieldsScopedState'; import { availableRecordBoardDeprecatedCardFieldsScopedState } from '@/object-record/record-board-deprecated/states/availableRecordBoardDeprecatedCardFieldsScopedState';
import { recordBoardCardFieldsScopedState } from '@/object-record/record-board/states/recordBoardCardFieldsScopedState'; import { recordBoardCardFieldsScopedState } from '@/object-record/record-board-deprecated/states/recordBoardDeprecatedCardFieldsScopedState';
import { recordBoardFiltersScopedState } from '@/object-record/record-board/states/recordBoardFiltersScopedState'; import { recordBoardFiltersScopedState } from '@/object-record/record-board-deprecated/states/recordBoardDeprecatedFiltersScopedState';
import { recordBoardSortsScopedState } from '@/object-record/record-board/states/recordBoardSortsScopedState'; import { recordBoardSortsScopedState } from '@/object-record/record-board-deprecated/states/recordBoardDeprecatedSortsScopedState';
import { filterAvailableTableColumns } from '@/object-record/utils/filterAvailableTableColumns'; import { filterAvailableTableColumns } from '@/object-record/utils/filterAvailableTableColumns';
import { useSetRecoilScopedStateV2 } from '@/ui/utilities/recoil-scope/hooks/useSetRecoilScopedStateV2'; import { useSetRecoilScopedStateV2 } from '@/ui/utilities/recoil-scope/hooks/useSetRecoilScopedStateV2';
import { useViewScopedStates } from '@/views/hooks/internal/useViewScopedStates'; import { useViewScopedStates } from '@/views/hooks/internal/useViewScopedStates';
@ -41,7 +41,7 @@ export const HooksCompanyBoardEffect = ({
useColumnDefinitionsFromFieldMetadata(objectMetadataItem); useColumnDefinitionsFromFieldMetadata(objectMetadataItem);
const setAvailableBoardCardFields = useSetRecoilScopedStateV2( const setAvailableBoardCardFields = useSetRecoilScopedStateV2(
availableRecordBoardCardFieldsScopedState, availableRecordBoardDeprecatedCardFieldsScopedState,
'company-board', 'company-board',
); );
@ -128,7 +128,7 @@ export const HooksCompanyBoardEffect = ({
const { setEntityCountInCurrentView } = useViewBar({ viewBarId }); const { setEntityCountInCurrentView } = useViewBar({ viewBarId });
const { savedOpportunitiesState } = useRecordBoardScopedStates({ const { savedOpportunitiesState } = useRecordBoardDeprecatedScopedStates({
recordBoardScopeId: recordBoardId, recordBoardScopeId: recordBoardId,
}); });

View File

@ -1,9 +1,9 @@
import { useCallback, useContext, useState } from 'react'; import { useCallback, useContext, useState } from 'react';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { NewButton } from '@/object-record/record-board/components/NewButton'; import { NewButton } from '@/object-record/record-board-deprecated/components/NewButton';
import { BoardColumnContext } from '@/object-record/record-board/contexts/BoardColumnContext'; import { BoardColumnContext } from '@/object-record/record-board-deprecated/contexts/BoardColumnContext';
import { useCreateOpportunity } from '@/object-record/record-board/hooks/internal/useCreateOpportunity'; import { useCreateOpportunity } from '@/object-record/record-board-deprecated/hooks/internal/useCreateOpportunity';
import { SingleEntitySelect } from '@/object-record/relation-picker/components/SingleEntitySelect'; import { SingleEntitySelect } from '@/object-record/relation-picker/components/SingleEntitySelect';
import { useRelationPicker } from '@/object-record/relation-picker/hooks/useRelationPicker'; import { useRelationPicker } from '@/object-record/relation-picker/hooks/useRelationPicker';
import { RelationPickerHotkeyScope } from '@/object-record/relation-picker/types/RelationPickerHotkeyScope'; import { RelationPickerHotkeyScope } from '@/object-record/relation-picker/types/RelationPickerHotkeyScope';

View File

@ -1,6 +1,6 @@
import { mapBoardFieldDefinitionsToViewFields } from '@/companies/utils/mapBoardFieldDefinitionsToViewFields'; import { mapBoardFieldDefinitionsToViewFields } from '@/companies/utils/mapBoardFieldDefinitionsToViewFields';
import { FieldMetadata } from '@/object-record/field/types/FieldMetadata'; import { FieldMetadata } from '@/object-record/field/types/FieldMetadata';
import { BoardFieldDefinition } from '@/object-record/record-board/types/BoardFieldDefinition'; import { BoardFieldDefinition } from '@/object-record/record-board-deprecated/types/BoardFieldDefinition';
describe('mapBoardFieldDefinitionsToViewFields', () => { describe('mapBoardFieldDefinitionsToViewFields', () => {
it('should map board field definitions to view fields', () => { it('should map board field definitions to view fields', () => {

View File

@ -1,5 +1,5 @@
import { FieldMetadata } from '@/object-record/field/types/FieldMetadata'; import { FieldMetadata } from '@/object-record/field/types/FieldMetadata';
import { BoardFieldDefinition } from '@/object-record/record-board/types/BoardFieldDefinition'; import { BoardFieldDefinition } from '@/object-record/record-board-deprecated/types/BoardFieldDefinition';
import { ViewField } from '@/views/types/ViewField'; import { ViewField } from '@/views/types/ViewField';
export const mapBoardFieldDefinitionsToViewFields = ( export const mapBoardFieldDefinitionsToViewFields = (

View File

@ -3,25 +3,25 @@ import { MockedProvider } from '@apollo/client/testing';
import { renderHook } from '@testing-library/react'; import { renderHook } from '@testing-library/react';
import { RecoilRoot } from 'recoil'; import { RecoilRoot } from 'recoil';
import { useObjectRecordBoard } from '@/object-record/hooks/useObjectRecordBoard'; import { useObjectRecordBoardDeprecated } from '@/object-record/hooks/useObjectRecordBoardDeprecated';
import { RecordBoardScope } from '@/object-record/record-board/scopes/RecordBoardScope'; import { RecordBoardDeprecatedScope } from '@/object-record/record-board-deprecated/scopes/RecordBoardDeprecatedScope';
import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/SnackBarProviderScope'; import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/SnackBarProviderScope';
const recordBoardId = '783932a0-28c7-4607-b2ce-6543fa2be892'; const recordBoardId = '783932a0-28c7-4607-b2ce-6543fa2be892';
const Wrapper = ({ children }: { children: ReactNode }) => ( const Wrapper = ({ children }: { children: ReactNode }) => (
<RecoilRoot> <RecoilRoot>
<RecordBoardScope recordBoardScopeId={recordBoardId}> <RecordBoardDeprecatedScope recordBoardScopeId={recordBoardId}>
<SnackBarProviderScope snackBarManagerScopeId="snack-bar-manager"> <SnackBarProviderScope snackBarManagerScopeId="snack-bar-manager">
<MockedProvider addTypename={false}>{children}</MockedProvider> <MockedProvider addTypename={false}>{children}</MockedProvider>
</SnackBarProviderScope> </SnackBarProviderScope>
</RecordBoardScope> </RecordBoardDeprecatedScope>
</RecoilRoot> </RecoilRoot>
); );
describe('useObjectRecordBoard', () => { describe('useObjectRecordBoardDeprecated', () => {
it('should skip fetch if currentWorkspace is undefined', async () => { it('should skip fetch if currentWorkspace is undefined', async () => {
const { result } = renderHook(() => useObjectRecordBoard(), { const { result } = renderHook(() => useObjectRecordBoardDeprecated(), {
wrapper: Wrapper, wrapper: Wrapper,
}); });

View File

@ -5,7 +5,7 @@ import { Company } from '@/companies/types/Company';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { turnSortsIntoOrderBy } from '@/object-record/object-sort-dropdown/utils/turnSortsIntoOrderBy'; import { turnSortsIntoOrderBy } from '@/object-record/object-sort-dropdown/utils/turnSortsIntoOrderBy';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { turnObjectDropdownFilterIntoQueryFilter } from '@/object-record/record-filter/utils/turnObjectDropdownFilterIntoQueryFilter'; import { turnObjectDropdownFilterIntoQueryFilter } from '@/object-record/record-filter/utils/turnObjectDropdownFilterIntoQueryFilter';
import { ObjectRecordConnection } from '@/object-record/types/ObjectRecordConnection'; import { ObjectRecordConnection } from '@/object-record/types/ObjectRecordConnection';
import { Opportunity } from '@/pipeline/types/Opportunity'; import { Opportunity } from '@/pipeline/types/Opportunity';
@ -13,7 +13,7 @@ import { PipelineStep } from '@/pipeline/types/PipelineStep';
import { useFindManyRecords } from './useFindManyRecords'; import { useFindManyRecords } from './useFindManyRecords';
export const useObjectRecordBoard = () => { export const useObjectRecordBoardDeprecated = () => {
const objectNameSingular = 'opportunity'; const objectNameSingular = 'opportunity';
const { objectMetadataItem: foundObjectMetadataItem } = useObjectMetadataItem( const { objectMetadataItem: foundObjectMetadataItem } = useObjectMetadataItem(
@ -29,7 +29,7 @@ export const useObjectRecordBoard = () => {
savedCompaniesState, savedCompaniesState,
savedOpportunitiesState, savedOpportunitiesState,
savedPipelineStepsState, savedPipelineStepsState,
} = useRecordBoardScopedStates(); } = useRecordBoardDeprecatedScopedStates();
const setIsBoardLoaded = useSetRecoilState(isBoardLoadedState); const setIsBoardLoaded = useSetRecoilState(isBoardLoadedState);

View File

@ -1,11 +1,11 @@
import React from 'react'; import React from 'react';
import { useRecoilValue } from 'recoil'; import { useRecoilValue } from 'recoil';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { ActionBar } from '@/ui/navigation/action-bar/components/ActionBar'; import { ActionBar } from '@/ui/navigation/action-bar/components/ActionBar';
export const RecordBoardActionBar = () => { export const RecordBoardDeprecatedActionBar = () => {
const { selectedCardIdsSelector } = useRecordBoardScopedStates(); const { selectedCardIdsSelector } = useRecordBoardDeprecatedScopedStates();
const selectedCardIds = useRecoilValue(selectedCardIdsSelector); const selectedCardIds = useRecoilValue(selectedCardIdsSelector);
return <ActionBar selectedIds={selectedCardIds}></ActionBar>; return <ActionBar selectedIds={selectedCardIds}></ActionBar>;
}; };

View File

@ -5,12 +5,12 @@ import { useRecoilValue } from 'recoil';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord';
import { RecordBoardActionBar } from '@/object-record/record-board/action-bar/components/RecordBoardActionBar'; import { RecordBoardDeprecatedActionBar } from '@/object-record/record-board-deprecated/action-bar/components/RecordBoardDeprecatedActionBar';
import { RecordBoardInternalEffect } from '@/object-record/record-board/components/RecordBoardInternalEffect'; import { RecordBoardDeprecatedInternalEffect } from '@/object-record/record-board-deprecated/components/RecordBoardDeprecatedInternalEffect';
import { RecordBoardContextMenu } from '@/object-record/record-board/context-menu/components/RecordBoardContextMenu'; import { RecordBoardDeprecatedContextMenu } from '@/object-record/record-board-deprecated/context-menu/components/RecordBoardDeprecatedContextMenu';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { useSetRecordBoardCardSelectedInternal } from '@/object-record/record-board/hooks/internal/useSetRecordBoardCardSelectedInternal'; import { useSetRecordBoardDeprecatedCardSelectedInternal } from '@/object-record/record-board-deprecated/hooks/internal/useSetRecordBoardDeprecatedCardSelectedInternal';
import { RecordBoardScope } from '@/object-record/record-board/scopes/RecordBoardScope'; import { RecordBoardDeprecatedScope } from '@/object-record/record-board-deprecated/scopes/RecordBoardDeprecatedScope';
import { Opportunity } from '@/pipeline/types/Opportunity'; import { Opportunity } from '@/pipeline/types/Opportunity';
import { PageHotkeyScope } from '@/types/PageHotkeyScope'; import { PageHotkeyScope } from '@/types/PageHotkeyScope';
import { DragSelect } from '@/ui/utilities/drag-select/components/DragSelect'; import { DragSelect } from '@/ui/utilities/drag-select/components/DragSelect';
@ -22,9 +22,9 @@ import { logError } from '~/utils/logError';
import { BoardColumnDefinition } from '../types/BoardColumnDefinition'; import { BoardColumnDefinition } from '../types/BoardColumnDefinition';
import { BoardOptions } from '../types/BoardOptions'; import { BoardOptions } from '../types/BoardOptions';
import { RecordBoardColumn } from './RecordBoardColumn'; import { RecordBoardDeprecatedColumn } from './RecordBoardDeprecatedColumn';
export type RecordBoardProps = { export type RecordBoardDeprecatedProps = {
recordBoardId: string; recordBoardId: string;
boardOptions: BoardOptions; boardOptions: BoardOptions;
onColumnAdd?: (boardColumn: BoardColumnDefinition) => void; onColumnAdd?: (boardColumn: BoardColumnDefinition) => void;
@ -59,15 +59,15 @@ const StyledBoardHeader = styled.div`
z-index: 1; z-index: 1;
`; `;
export const RecordBoard = ({ export const RecordBoardDeprecated = ({
recordBoardId, recordBoardId,
boardOptions, boardOptions,
onColumnDelete, onColumnDelete,
onEditColumnTitle, onEditColumnTitle,
}: RecordBoardProps) => { }: RecordBoardDeprecatedProps) => {
const recordBoardScopeId = recordBoardId; const recordBoardScopeId = recordBoardId;
const { boardColumnsState } = useRecordBoardScopedStates({ const { boardColumnsState } = useRecordBoardDeprecatedScopedStates({
recordBoardScopeId, recordBoardScopeId,
}); });
const boardColumns = useRecoilValue(boardColumnsState); const boardColumns = useRecoilValue(boardColumnsState);
@ -78,7 +78,7 @@ export const RecordBoard = ({
}); });
const { unselectAllActiveCards, setCardSelected } = const { unselectAllActiveCards, setCardSelected } =
useSetRecordBoardCardSelectedInternal({ recordBoardScopeId }); useSetRecordBoardDeprecatedCardSelectedInternal({ recordBoardScopeId });
const updatePipelineProgressStageInDB = useCallback( const updatePipelineProgressStageInDB = useCallback(
async (pipelineProgressId: string, pipelineStepId: string) => { async (pipelineProgressId: string, pipelineStepId: string) => {
@ -136,10 +136,10 @@ export const RecordBoard = ({
); );
return ( return (
<RecordBoardScope recordBoardScopeId={recordBoardId}> <RecordBoardDeprecatedScope recordBoardScopeId={recordBoardId}>
<RecordBoardContextMenu /> <RecordBoardDeprecatedContextMenu />
<RecordBoardActionBar /> <RecordBoardDeprecatedActionBar />
<RecordBoardInternalEffect /> <RecordBoardDeprecatedInternalEffect />
<StyledWrapper> <StyledWrapper>
<StyledBoardHeader /> <StyledBoardHeader />
@ -147,7 +147,7 @@ export const RecordBoard = ({
<StyledBoard ref={boardRef}> <StyledBoard ref={boardRef}>
<DragDropContext onDragEnd={onDragEnd}> <DragDropContext onDragEnd={onDragEnd}>
{sortedBoardColumns.map((column) => ( {sortedBoardColumns.map((column) => (
<RecordBoardColumn <RecordBoardDeprecatedColumn
key={column.id} key={column.id}
recordBoardColumnId={column.id} recordBoardColumnId={column.id}
columnDefinition={column} columnDefinition={column}
@ -165,6 +165,6 @@ export const RecordBoard = ({
onDragSelectionChange={setCardSelected} onDragSelectionChange={setCardSelected}
/> />
</StyledWrapper> </StyledWrapper>
</RecordBoardScope> </RecordBoardDeprecatedScope>
); );
}; };

View File

@ -4,10 +4,10 @@ import { useSetRecoilState } from 'recoil';
import { contextMenuIsOpenState } from '@/ui/navigation/context-menu/states/contextMenuIsOpenState'; import { contextMenuIsOpenState } from '@/ui/navigation/context-menu/states/contextMenuIsOpenState';
import { contextMenuPositionState } from '@/ui/navigation/context-menu/states/contextMenuPositionState'; import { contextMenuPositionState } from '@/ui/navigation/context-menu/states/contextMenuPositionState';
import { useCurrentRecordBoardCardSelectedInternal } from '../hooks/internal/useCurrentRecordBoardCardSelectedInternal'; import { useCurrentRecordBoardDeprecatedCardSelectedInternal } from '../hooks/internal/useCurrentRecordBoardDeprecatedCardSelectedInternal';
import { BoardOptions } from '../types/BoardOptions'; import { BoardOptions } from '../types/BoardOptions';
export const RecordBoardCard = ({ export const RecordBoardDeprecatedCard = ({
recordBoardOptions, recordBoardOptions,
cardId, cardId,
index, index,
@ -20,7 +20,7 @@ export const RecordBoardCard = ({
const setContextMenuOpenState = useSetRecoilState(contextMenuIsOpenState); const setContextMenuOpenState = useSetRecoilState(contextMenuIsOpenState);
const { setCurrentCardSelected } = const { setCurrentCardSelected } =
useCurrentRecordBoardCardSelectedInternal(); useCurrentRecordBoardDeprecatedCardSelectedInternal();
const handleContextMenu = (event: React.MouseEvent) => { const handleContextMenu = (event: React.MouseEvent) => {
event.preventDefault(); event.preventDefault();

View File

@ -3,10 +3,10 @@ import styled from '@emotion/styled';
import { Draggable, Droppable, DroppableProvided } from '@hello-pangea/dnd'; import { Draggable, Droppable, DroppableProvided } from '@hello-pangea/dnd';
import { useRecoilValue } from 'recoil'; import { useRecoilValue } from 'recoil';
import { RecordBoardCard } from '@/object-record/record-board/components/RecordBoardCard'; import { RecordBoardDeprecatedCard } from '@/object-record/record-board-deprecated/components/RecordBoardDeprecatedCard';
import { RecordBoardColumnHeader } from '@/object-record/record-board/components/RecordBoardColumnHeader'; import { RecordBoardDeprecatedColumnHeader } from '@/object-record/record-board-deprecated/components/RecordBoardDeprecatedColumnHeader';
import { BoardCardIdContext } from '@/object-record/record-board/contexts/BoardCardIdContext'; import { BoardCardIdContext } from '@/object-record/record-board-deprecated/contexts/BoardCardIdContext';
import { BoardColumnDefinition } from '@/object-record/record-board/types/BoardColumnDefinition'; import { BoardColumnDefinition } from '@/object-record/record-board-deprecated/types/BoardColumnDefinition';
import { BoardColumnContext } from '../contexts/BoardColumnContext'; import { BoardColumnContext } from '../contexts/BoardColumnContext';
import { recordBoardCardIdsByColumnIdFamilyState } from '../states/recordBoardCardIdsByColumnIdFamilyState'; import { recordBoardCardIdsByColumnIdFamilyState } from '../states/recordBoardCardIdsByColumnIdFamilyState';
@ -45,7 +45,7 @@ type BoardColumnCardsContainerProps = {
droppableProvided: DroppableProvided; droppableProvided: DroppableProvided;
}; };
type RecordBoardColumnProps = { type RecordBoardDeprecatedColumnProps = {
recordBoardColumnId: string; recordBoardColumnId: string;
columnDefinition: BoardColumnDefinition; columnDefinition: BoardColumnDefinition;
recordBoardOptions: BoardOptions; recordBoardOptions: BoardOptions;
@ -74,14 +74,14 @@ const BoardColumnCardsContainer = ({
); );
}; };
export const RecordBoardColumn = ({ export const RecordBoardDeprecatedColumn = ({
recordBoardColumnId, recordBoardColumnId,
columnDefinition, columnDefinition,
recordBoardOptions, recordBoardOptions,
recordBoardColumnTotal, recordBoardColumnTotal,
onDelete, onDelete,
onTitleEdit, onTitleEdit,
}: RecordBoardColumnProps) => { }: RecordBoardDeprecatedColumnProps) => {
const cardIds = useRecoilValue( const cardIds = useRecoilValue(
recordBoardCardIdsByColumnIdFamilyState(recordBoardColumnId), recordBoardCardIdsByColumnIdFamilyState(recordBoardColumnId),
); );
@ -102,7 +102,7 @@ export const RecordBoardColumn = ({
<Droppable droppableId={recordBoardColumnId}> <Droppable droppableId={recordBoardColumnId}>
{(droppableProvided) => ( {(droppableProvided) => (
<StyledColumn isFirstColumn={isFirstColumn}> <StyledColumn isFirstColumn={isFirstColumn}>
<RecordBoardColumnHeader <RecordBoardDeprecatedColumnHeader
recordBoardColumnId={recordBoardColumnId} recordBoardColumnId={recordBoardColumnId}
columnDefinition={columnDefinition} columnDefinition={columnDefinition}
onDelete={onDelete} onDelete={onDelete}
@ -110,7 +110,7 @@ export const RecordBoardColumn = ({
<BoardColumnCardsContainer droppableProvided={droppableProvided}> <BoardColumnCardsContainer droppableProvided={droppableProvided}>
{cardIds.map((cardId, index) => ( {cardIds.map((cardId, index) => (
<BoardCardIdContext.Provider value={cardId} key={cardId}> <BoardCardIdContext.Provider value={cardId} key={cardId}>
<RecordBoardCard <RecordBoardDeprecatedCard
index={index} index={index}
cardId={cardId} cardId={cardId}
recordBoardOptions={recordBoardOptions} recordBoardOptions={recordBoardOptions}

View File

@ -12,10 +12,10 @@ import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys';
import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside'; import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside';
import { BoardColumnContext } from '../contexts/BoardColumnContext'; import { BoardColumnContext } from '../contexts/BoardColumnContext';
import { useBoardColumnsInternal } from '../hooks/internal/useRecordBoardColumnsInternal'; import { useBoardColumnsInternal } from '../hooks/internal/useRecordBoardDeprecatedColumnsInternal';
import { BoardColumnHotkeyScope } from '../types/BoardColumnHotkeyScope'; import { BoardColumnHotkeyScope } from '../types/BoardColumnHotkeyScope';
import { RecordBoardColumnEditTitleMenu } from './RecordBoardColumnEditTitleMenu'; import { RecordBoardDeprecatedColumnEditTitleMenu } from './RecordBoardDeprecatedColumnEditTitleMenu';
const StyledMenuContainer = styled.div` const StyledMenuContainer = styled.div`
position: absolute; position: absolute;
top: ${({ theme }) => theme.spacing(10)}; top: ${({ theme }) => theme.spacing(10)};
@ -23,7 +23,7 @@ const StyledMenuContainer = styled.div`
z-index: 1; z-index: 1;
`; `;
type RecordBoardColumnDropdownMenuProps = { type RecordBoardDeprecatedColumnDropdownMenuProps = {
onClose: () => void; onClose: () => void;
onDelete?: (id: string) => void; onDelete?: (id: string) => void;
stageId: string; stageId: string;
@ -31,11 +31,11 @@ type RecordBoardColumnDropdownMenuProps = {
type Menu = 'actions' | 'add' | 'title'; type Menu = 'actions' | 'add' | 'title';
export const RecordBoardColumnDropdownMenu = ({ export const RecordBoardDeprecatedColumnDropdownMenu = ({
onClose, onClose,
onDelete, onDelete,
stageId, stageId,
}: RecordBoardColumnDropdownMenuProps) => { }: RecordBoardDeprecatedColumnDropdownMenuProps) => {
const [currentMenu, setCurrentMenu] = useState('actions'); const [currentMenu, setCurrentMenu] = useState('actions');
const column = useContext(BoardColumnContext); const column = useContext(BoardColumnContext);
@ -122,7 +122,7 @@ export const RecordBoardColumnDropdownMenu = ({
</DropdownMenuItemsContainer> </DropdownMenuItemsContainer>
)} )}
{currentMenu === 'title' && ( {currentMenu === 'title' && (
<RecordBoardColumnEditTitleMenu <RecordBoardDeprecatedColumnEditTitleMenu
color={columnDefinition.colorCode ?? 'gray'} color={columnDefinition.colorCode ?? 'gray'}
onClose={closeMenu} onClose={closeMenu}
title={columnDefinition.title} title={columnDefinition.title}

View File

@ -11,7 +11,7 @@ import { textInputStyle } from '@/ui/theme/constants/effects';
import { debounce } from '~/utils/debounce'; import { debounce } from '~/utils/debounce';
import { BoardColumnContext } from '../contexts/BoardColumnContext'; import { BoardColumnContext } from '../contexts/BoardColumnContext';
import { useRecordBoard } from '../hooks/useRecordBoard'; import { useRecordBoardDeprecated } from '../hooks/useRecordBoardDeprecated';
const StyledEditTitleContainer = styled.div` const StyledEditTitleContainer = styled.div`
--vertical-padding: ${({ theme }) => theme.spacing(1)}; --vertical-padding: ${({ theme }) => theme.spacing(1)};
@ -40,7 +40,7 @@ const StyledEditModeInput = styled.input`
width: 100%; width: 100%;
`; `;
type RecordBoardColumnEditTitleMenuProps = { type RecordBoardDeprecatedColumnEditTitleMenuProps = {
onClose: () => void; onClose: () => void;
onDelete?: (id: string) => void; onDelete?: (id: string) => void;
title: string; title: string;
@ -48,17 +48,17 @@ type RecordBoardColumnEditTitleMenuProps = {
stageId: string; stageId: string;
}; };
export const RecordBoardColumnEditTitleMenu = ({ export const RecordBoardDeprecatedColumnEditTitleMenu = ({
onClose, onClose,
onDelete, onDelete,
stageId, stageId,
title, title,
color, color,
}: RecordBoardColumnEditTitleMenuProps) => { }: RecordBoardDeprecatedColumnEditTitleMenuProps) => {
const [internalValue, setInternalValue] = useState(title); const [internalValue, setInternalValue] = useState(title);
const { onTitleEdit } = useContext(BoardColumnContext) || {}; const { onTitleEdit } = useContext(BoardColumnContext) || {};
const { setBoardColumns } = useRecordBoard({ const { setBoardColumns } = useRecordBoardDeprecated({
recordBoardScopeId: 'company-board', recordBoardScopeId: 'company-board',
}); });

View File

@ -2,8 +2,8 @@ import React, { useState } from 'react';
import styled from '@emotion/styled'; import styled from '@emotion/styled';
import { useRecoilValue } from 'recoil'; import { useRecoilValue } from 'recoil';
import { recordBoardColumnTotalsFamilySelector } from '@/object-record/record-board/states/selectors/recordBoardColumnTotalsFamilySelector'; import { recordBoardColumnTotalsFamilySelector } from '@/object-record/record-board-deprecated/states/selectors/recordBoardDeprecatedColumnTotalsFamilySelector';
import { BoardColumnDefinition } from '@/object-record/record-board/types/BoardColumnDefinition'; import { BoardColumnDefinition } from '@/object-record/record-board-deprecated/types/BoardColumnDefinition';
import { IconDotsVertical } from '@/ui/display/icon'; import { IconDotsVertical } from '@/ui/display/icon';
import { Tag } from '@/ui/display/tag/components/Tag'; import { Tag } from '@/ui/display/tag/components/Tag';
import { LightIconButton } from '@/ui/input/button/components/LightIconButton'; import { LightIconButton } from '@/ui/input/button/components/LightIconButton';
@ -12,7 +12,7 @@ import { usePreviousHotkeyScope } from '@/ui/utilities/hotkey/hooks/usePreviousH
import { recordBoardCardIdsByColumnIdFamilyState } from '../states/recordBoardCardIdsByColumnIdFamilyState'; import { recordBoardCardIdsByColumnIdFamilyState } from '../states/recordBoardCardIdsByColumnIdFamilyState';
import { BoardColumnHotkeyScope } from '../types/BoardColumnHotkeyScope'; import { BoardColumnHotkeyScope } from '../types/BoardColumnHotkeyScope';
import { RecordBoardColumnDropdownMenu } from './RecordBoardColumnDropdownMenu'; import { RecordBoardDeprecatedColumnDropdownMenu } from './RecordBoardDeprecatedColumnDropdownMenu';
const StyledHeader = styled.div` const StyledHeader = styled.div`
align-items: center; align-items: center;
@ -48,17 +48,17 @@ const StyledHeaderActions = styled.div`
margin-left: auto; margin-left: auto;
`; `;
type RecordBoardColumnHeaderProps = { type RecordBoardDeprecatedColumnHeaderProps = {
recordBoardColumnId: string; recordBoardColumnId: string;
columnDefinition: BoardColumnDefinition; columnDefinition: BoardColumnDefinition;
onDelete?: (columnId: string) => void; onDelete?: (columnId: string) => void;
}; };
export const RecordBoardColumnHeader = ({ export const RecordBoardDeprecatedColumnHeader = ({
recordBoardColumnId, recordBoardColumnId,
columnDefinition, columnDefinition,
onDelete, onDelete,
}: RecordBoardColumnHeaderProps) => { }: RecordBoardDeprecatedColumnHeaderProps) => {
const [isBoardColumnMenuOpen, setIsBoardColumnMenuOpen] = useState(false); const [isBoardColumnMenuOpen, setIsBoardColumnMenuOpen] = useState(false);
const [isHeaderHovered, setIsHeaderHovered] = useState(false); const [isHeaderHovered, setIsHeaderHovered] = useState(false);
@ -118,7 +118,7 @@ export const RecordBoardColumnHeader = ({
)} )}
</StyledHeader> </StyledHeader>
{isBoardColumnMenuOpen && ( {isBoardColumnMenuOpen && (
<RecordBoardColumnDropdownMenu <RecordBoardDeprecatedColumnDropdownMenu
onClose={handleBoardColumnMenuClose} onClose={handleBoardColumnMenuClose}
onDelete={onDelete} onDelete={onDelete}
stageId={recordBoardColumnId} stageId={recordBoardColumnId}

View File

@ -1,19 +1,19 @@
import { useEffect } from 'react'; import { useEffect } from 'react';
import { FieldMetadata } from '@/object-record/field/types/FieldMetadata'; import { FieldMetadata } from '@/object-record/field/types/FieldMetadata';
import { useRecordBoard } from '@/object-record/record-board/hooks/useRecordBoard'; import { useRecordBoardDeprecated } from '@/object-record/record-board-deprecated/hooks/useRecordBoardDeprecated';
import { BoardFieldDefinition } from '@/object-record/record-board/types/BoardFieldDefinition'; import { BoardFieldDefinition } from '@/object-record/record-board-deprecated/types/BoardFieldDefinition';
type RecordBoardEffectProps = { type RecordBoardDeprecatedEffectProps = {
recordBoardId: string; recordBoardId: string;
onFieldsChange: (fields: BoardFieldDefinition<FieldMetadata>[]) => void; onFieldsChange: (fields: BoardFieldDefinition<FieldMetadata>[]) => void;
}; };
export const RecordBoardEffect = ({ export const RecordBoardDeprecatedEffect = ({
recordBoardId, recordBoardId,
onFieldsChange, onFieldsChange,
}: RecordBoardEffectProps) => { }: RecordBoardDeprecatedEffectProps) => {
const { setOnFieldsChange } = useRecordBoard({ const { setOnFieldsChange } = useRecordBoardDeprecated({
recordBoardScopeId: recordBoardId, recordBoardScopeId: recordBoardId,
}); });

View File

@ -1,31 +1,33 @@
import { useEffect } from 'react'; import { useEffect } from 'react';
import { useRecoilState, useRecoilValue } from 'recoil'; import { useRecoilState, useRecoilValue } from 'recoil';
import { useObjectRecordBoard } from '@/object-record/hooks/useObjectRecordBoard'; import { useObjectRecordBoardDeprecated } from '@/object-record/hooks/useObjectRecordBoardDeprecated';
import { useRecordBoardActionBarEntriesInternal } from '@/object-record/record-board/hooks/internal/useRecordBoardActionBarEntriesInternal'; import { useRecordBoardDeprecatedActionBarEntriesInternal } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedActionBarEntriesInternal';
import { useRecordBoardContextMenuEntriesInternal } from '@/object-record/record-board/hooks/internal/useRecordBoardContextMenuEntriesInternal'; import { useRecordBoardDeprecatedContextMenuEntriesInternal } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedContextMenuEntriesInternal';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { useUpdateCompanyBoardColumnsInternal } from '@/object-record/record-board/hooks/internal/useUpdateCompanyBoardColumnsInternal'; import { useUpdateCompanyBoardColumnsInternal } from '@/object-record/record-board-deprecated/hooks/internal/useUpdateCompanyBoardColumnsInternal';
import { isDefined } from '~/utils/isDefined'; import { isDefined } from '~/utils/isDefined';
export type RecordBoardInternalEffectProps = { export type RecordBoardDeprecatedInternalEffectProps = {
onFieldsChange: (fields: any) => void; onFieldsChange: (fields: any) => void;
}; };
export const RecordBoardInternalEffect = () => { export const RecordBoardDeprecatedInternalEffect = () => {
const updateCompanyColumnsBoardInternal = const updateCompanyColumnsBoardInternal =
useUpdateCompanyBoardColumnsInternal(); useUpdateCompanyBoardColumnsInternal();
const { setActionBarEntries } = useRecordBoardActionBarEntriesInternal(); const { setActionBarEntries } =
const { setContextMenuEntries } = useRecordBoardContextMenuEntriesInternal(); useRecordBoardDeprecatedActionBarEntriesInternal();
const { setContextMenuEntries } =
useRecordBoardDeprecatedContextMenuEntriesInternal();
const { const {
savedPipelineStepsState, savedPipelineStepsState,
savedOpportunitiesState, savedOpportunitiesState,
savedCompaniesState, savedCompaniesState,
} = useRecordBoardScopedStates(); } = useRecordBoardDeprecatedScopedStates();
const { fetchMoreOpportunities, fetchMoreCompanies, opportunities } = const { fetchMoreOpportunities, fetchMoreCompanies, opportunities } =
useObjectRecordBoard(); useObjectRecordBoardDeprecated();
const [savedOpportunities, setSavedOpportunities] = useRecoilState( const [savedOpportunities, setSavedOpportunities] = useRecoilState(
savedOpportunitiesState, savedOpportunitiesState,

View File

@ -2,16 +2,16 @@ import { Meta, StoryObj } from '@storybook/react';
import { ComponentDecorator } from '~/testing/decorators/ComponentDecorator'; import { ComponentDecorator } from '~/testing/decorators/ComponentDecorator';
import { RecordBoardColumnEditTitleMenu } from '../RecordBoardColumnEditTitleMenu'; import { RecordBoardDeprecatedColumnEditTitleMenu } from '../RecordBoardDeprecatedColumnEditTitleMenu';
const meta: Meta<typeof RecordBoardColumnEditTitleMenu> = { const meta: Meta<typeof RecordBoardDeprecatedColumnEditTitleMenu> = {
title: 'UI/Layout/Board/BoardColumnMenu', title: 'UI/Layout/Board/BoardColumnMenu',
component: RecordBoardColumnEditTitleMenu, component: RecordBoardDeprecatedColumnEditTitleMenu,
decorators: [ComponentDecorator], decorators: [ComponentDecorator],
args: { color: 'green', title: 'Column title' }, args: { color: 'green', title: 'Column title' },
}; };
export default meta; export default meta;
type Story = StoryObj<typeof RecordBoardColumnEditTitleMenu>; type Story = StoryObj<typeof RecordBoardDeprecatedColumnEditTitleMenu>;
export const AllTags: Story = {}; export const AllTags: Story = {};

View File

@ -0,0 +1,10 @@
import { useRecoilValue } from 'recoil';
import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { ContextMenu } from '@/ui/navigation/context-menu/components/ContextMenu';
export const RecordBoardDeprecatedContextMenu = () => {
const { selectedCardIdsSelector } = useRecordBoardDeprecatedScopedStates();
const selectedCardIds = useRecoilValue(selectedCardIdsSelector);
return <ContextMenu selectedIds={selectedCardIds}></ContextMenu>;
};

View File

@ -2,8 +2,8 @@ import { MockedProvider } from '@apollo/client/testing';
import { act, renderHook, waitFor } from '@testing-library/react'; import { act, renderHook, waitFor } from '@testing-library/react';
import { RecoilRoot, useRecoilValue } from 'recoil'; import { RecoilRoot, useRecoilValue } from 'recoil';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { useRecordBoard } from '@/object-record/record-board/hooks/useRecordBoard'; import { useRecordBoardDeprecated } from '@/object-record/record-board-deprecated/hooks/useRecordBoardDeprecated';
const Wrapper = ({ children }: { children: React.ReactNode }) => ( const Wrapper = ({ children }: { children: React.ReactNode }) => (
<MockedProvider> <MockedProvider>
@ -17,10 +17,10 @@ const renderHookConfig = {
wrapper: Wrapper, wrapper: Wrapper,
}; };
const useRecordBoardHook = () => { const useRecordBoardDeprecatedHook = () => {
const recordBoard = useRecordBoard({ recordBoardScopeId }); const recordBoard = useRecordBoardDeprecated({ recordBoardScopeId });
const { isBoardLoadedState, boardColumnsState, onFieldsChangeState } = const { isBoardLoadedState, boardColumnsState, onFieldsChangeState } =
useRecordBoardScopedStates({ useRecordBoardDeprecatedScopedStates({
recordBoardScopeId: recordBoardScopeId, recordBoardScopeId: recordBoardScopeId,
}); });
const isBoardLoaded = useRecoilValue(isBoardLoadedState); const isBoardLoaded = useRecoilValue(isBoardLoadedState);
@ -35,9 +35,12 @@ const useRecordBoardHook = () => {
}; };
}; };
describe('useRecordBoard', () => { describe('useRecordBoardDeprecated', () => {
it('should set isBoardLoadedState', async () => { it('should set isBoardLoadedState', async () => {
const { result } = renderHook(() => useRecordBoardHook(), renderHookConfig); const { result } = renderHook(
() => useRecordBoardDeprecatedHook(),
renderHookConfig,
);
act(() => { act(() => {
result.current.recordBoard.setIsBoardLoaded(true); result.current.recordBoard.setIsBoardLoaded(true);
@ -61,7 +64,10 @@ describe('useRecordBoard', () => {
position: 1, position: 1,
}, },
]; ];
const { result } = renderHook(() => useRecordBoardHook(), renderHookConfig); const { result } = renderHook(
() => useRecordBoardDeprecatedHook(),
renderHookConfig,
);
act(() => { act(() => {
result.current.recordBoard.setBoardColumns(columns); result.current.recordBoard.setBoardColumns(columns);
@ -75,7 +81,10 @@ describe('useRecordBoard', () => {
it('should set setOnFieldsChange', async () => { it('should set setOnFieldsChange', async () => {
const onFieldsChangeFunction = () => {}; const onFieldsChangeFunction = () => {};
const onFieldsChange = jest.fn(() => onFieldsChangeFunction); const onFieldsChange = jest.fn(() => onFieldsChangeFunction);
const { result } = renderHook(() => useRecordBoardHook(), renderHookConfig); const { result } = renderHook(
() => useRecordBoardDeprecatedHook(),
renderHookConfig,
);
act(() => { act(() => {
result.current.recordBoard.setOnFieldsChange(onFieldsChange); result.current.recordBoard.setOnFieldsChange(onFieldsChange);

View File

@ -3,8 +3,8 @@ import { act, renderHook } from '@testing-library/react';
import gql from 'graphql-tag'; import gql from 'graphql-tag';
import { RecoilRoot, useRecoilValue } from 'recoil'; import { RecoilRoot, useRecoilValue } from 'recoil';
import { useCreateOpportunity } from '@/object-record/record-board/hooks/internal/useCreateOpportunity'; import { useCreateOpportunity } from '@/object-record/record-board-deprecated/hooks/internal/useCreateOpportunity';
import { recordBoardCardIdsByColumnIdFamilyState } from '@/object-record/record-board/states/recordBoardCardIdsByColumnIdFamilyState'; import { recordBoardCardIdsByColumnIdFamilyState } from '@/object-record/record-board-deprecated/states/recordBoardCardIdsByColumnIdFamilyState';
const mockedUuid = 'mocked-uuid'; const mockedUuid = 'mocked-uuid';
jest.mock('uuid', () => ({ jest.mock('uuid', () => ({

View File

@ -1,30 +1,31 @@
import { act, renderHook } from '@testing-library/react'; import { act, renderHook } from '@testing-library/react';
import { RecoilRoot, useRecoilValue } from 'recoil'; import { RecoilRoot, useRecoilValue } from 'recoil';
import { BoardCardIdContext } from '@/object-record/record-board/contexts/BoardCardIdContext'; import { BoardCardIdContext } from '@/object-record/record-board-deprecated/contexts/BoardCardIdContext';
import { useCurrentRecordBoardCardSelectedInternal } from '@/object-record/record-board/hooks/internal/useCurrentRecordBoardCardSelectedInternal'; import { useCurrentRecordBoardDeprecatedCardSelectedInternal } from '@/object-record/record-board-deprecated/hooks/internal/useCurrentRecordBoardDeprecatedCardSelectedInternal';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { RecordBoardScope } from '@/object-record/record-board/scopes/RecordBoardScope'; import { RecordBoardDeprecatedScope } from '@/object-record/record-board-deprecated/scopes/RecordBoardDeprecatedScope';
import { actionBarOpenState } from '@/ui/navigation/action-bar/states/actionBarIsOpenState'; import { actionBarOpenState } from '@/ui/navigation/action-bar/states/actionBarIsOpenState';
const scopeId = 'scopeId'; const scopeId = 'scopeId';
const boardCardId = 'boardCardId'; const boardCardId = 'boardCardId';
const Wrapper = ({ children }: { children: React.ReactNode }) => ( const Wrapper = ({ children }: { children: React.ReactNode }) => (
<RecordBoardScope recordBoardScopeId={scopeId}> <RecordBoardDeprecatedScope recordBoardScopeId={scopeId}>
<BoardCardIdContext.Provider value={boardCardId}> <BoardCardIdContext.Provider value={boardCardId}>
<RecoilRoot>{children}</RecoilRoot> <RecoilRoot>{children}</RecoilRoot>
</BoardCardIdContext.Provider> </BoardCardIdContext.Provider>
</RecordBoardScope> </RecordBoardDeprecatedScope>
); );
describe('useCurrentRecordBoardCardSelectedInternal', () => { describe('useCurrentRecordBoardDeprecatedCardSelectedInternal', () => {
it('should update the data when selecting and deselecting the cardId', () => { it('should update the data when selecting and deselecting the cardId', () => {
const { result } = renderHook( const { result } = renderHook(
() => ({ () => ({
currentCardSelect: useCurrentRecordBoardCardSelectedInternal(), currentCardSelect:
useCurrentRecordBoardDeprecatedCardSelectedInternal(),
activeCardIdsState: useRecoilValue( activeCardIdsState: useRecoilValue(
useRecordBoardScopedStates().activeCardIdsState, useRecordBoardDeprecatedScopedStates().activeCardIdsState,
), ),
actionBarOpenState: useRecoilValue(actionBarOpenState), actionBarOpenState: useRecoilValue(actionBarOpenState),
}), }),

View File

@ -3,13 +3,13 @@ import { act, renderHook, waitFor } from '@testing-library/react';
import gql from 'graphql-tag'; import gql from 'graphql-tag';
import { RecoilRoot, useRecoilValue, useSetRecoilState } from 'recoil'; import { RecoilRoot, useRecoilValue, useSetRecoilState } from 'recoil';
import { BoardCardIdContext } from '@/object-record/record-board/contexts/BoardCardIdContext'; import { BoardCardIdContext } from '@/object-record/record-board-deprecated/contexts/BoardCardIdContext';
import { useCreateOpportunity } from '@/object-record/record-board/hooks/internal/useCreateOpportunity'; import { useCreateOpportunity } from '@/object-record/record-board-deprecated/hooks/internal/useCreateOpportunity';
import { useCurrentRecordBoardCardSelectedInternal } from '@/object-record/record-board/hooks/internal/useCurrentRecordBoardCardSelectedInternal'; import { useCurrentRecordBoardDeprecatedCardSelectedInternal } from '@/object-record/record-board-deprecated/hooks/internal/useCurrentRecordBoardDeprecatedCardSelectedInternal';
import { useDeleteSelectedRecordBoardCardsInternal } from '@/object-record/record-board/hooks/internal/useDeleteSelectedRecordBoardCardsInternal'; import { useDeleteSelectedRecordBoardDeprecatedCardsInternal } from '@/object-record/record-board-deprecated/hooks/internal/useDeleteSelectedRecordBoardDeprecatedCardsInternal';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { RecordBoardScope } from '@/object-record/record-board/scopes/RecordBoardScope'; import { RecordBoardDeprecatedScope } from '@/object-record/record-board-deprecated/scopes/RecordBoardDeprecatedScope';
import { recordBoardCardIdsByColumnIdFamilyState } from '@/object-record/record-board/states/recordBoardCardIdsByColumnIdFamilyState'; import { recordBoardCardIdsByColumnIdFamilyState } from '@/object-record/record-board-deprecated/states/recordBoardCardIdsByColumnIdFamilyState';
jest.mock('@/object-metadata/hooks/useMapFieldMetadataToGraphQLQuery', () => ({ jest.mock('@/object-metadata/hooks/useMapFieldMetadataToGraphQLQuery', () => ({
useMapFieldMetadataToGraphQLQuery: jest.fn().mockReturnValue(() => '\n'), useMapFieldMetadataToGraphQLQuery: jest.fn().mockReturnValue(() => '\n'),
@ -62,15 +62,15 @@ const scopeId = 'scopeId';
const Wrapper = ({ children }: { children: React.ReactNode }) => ( const Wrapper = ({ children }: { children: React.ReactNode }) => (
<MockedProvider mocks={mocks} addTypename={false}> <MockedProvider mocks={mocks} addTypename={false}>
<RecordBoardScope recordBoardScopeId={scopeId}> <RecordBoardDeprecatedScope recordBoardScopeId={scopeId}>
<BoardCardIdContext.Provider value={mockedUuid}> <BoardCardIdContext.Provider value={mockedUuid}>
<RecoilRoot>{children}</RecoilRoot> <RecoilRoot>{children}</RecoilRoot>
</BoardCardIdContext.Provider> </BoardCardIdContext.Provider>
</RecordBoardScope> </RecordBoardDeprecatedScope>
</MockedProvider> </MockedProvider>
); );
describe('useDeleteSelectedRecordBoardCardsInternal', () => { describe('useDeleteSelectedRecordBoardDeprecatedCardsInternal', () => {
it('should run apollo mutation and update recoil state when delete selected cards', async () => { it('should run apollo mutation and update recoil state when delete selected cards', async () => {
const companyIdname = 'New Opportunity'; const companyIdname = 'New Opportunity';
const opportunityPipelineStepId = 'pipelineStepId'; const opportunityPipelineStepId = 'pipelineStepId';
@ -78,16 +78,17 @@ describe('useDeleteSelectedRecordBoardCardsInternal', () => {
const { result } = renderHook( const { result } = renderHook(
() => ({ () => ({
createOpportunity: useCreateOpportunity(), createOpportunity: useCreateOpportunity(),
deleteSelectedCards: useDeleteSelectedRecordBoardCardsInternal(), deleteSelectedCards:
useDeleteSelectedRecordBoardDeprecatedCardsInternal(),
setBoardColumns: useSetRecoilState( setBoardColumns: useSetRecoilState(
useRecordBoardScopedStates({ useRecordBoardDeprecatedScopedStates({
recordBoardScopeId: scopeId, recordBoardScopeId: scopeId,
}).boardColumnsState, }).boardColumnsState,
), ),
recordBoardCardIdsByColumnId: useRecoilValue( recordBoardCardIdsByColumnId: useRecoilValue(
recordBoardCardIdsByColumnIdFamilyState(opportunityPipelineStepId), recordBoardCardIdsByColumnIdFamilyState(opportunityPipelineStepId),
), ),
currentSelect: useCurrentRecordBoardCardSelectedInternal(), currentSelect: useCurrentRecordBoardDeprecatedCardSelectedInternal(),
}), }),
{ {
wrapper: Wrapper, wrapper: Wrapper,

View File

@ -2,18 +2,18 @@ import { MockedProvider } from '@apollo/client/testing';
import { act, renderHook, waitFor } from '@testing-library/react'; import { act, renderHook, waitFor } from '@testing-library/react';
import { RecoilRoot, useRecoilValue } from 'recoil'; import { RecoilRoot, useRecoilValue } from 'recoil';
import { useDeleteSelectedRecordBoardCardsInternal } from '@/object-record/record-board/hooks/internal/useDeleteSelectedRecordBoardCardsInternal'; import { useDeleteSelectedRecordBoardDeprecatedCardsInternal } from '@/object-record/record-board-deprecated/hooks/internal/useDeleteSelectedRecordBoardDeprecatedCardsInternal';
import { useRecordBoardActionBarEntriesInternal } from '@/object-record/record-board/hooks/internal/useRecordBoardActionBarEntriesInternal'; import { useRecordBoardDeprecatedActionBarEntriesInternal } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedActionBarEntriesInternal';
import { RecordBoardScope } from '@/object-record/record-board/scopes/RecordBoardScope'; import { RecordBoardDeprecatedScope } from '@/object-record/record-board-deprecated/scopes/RecordBoardDeprecatedScope';
import { IconTrash } from '@/ui/display/icon'; import { IconTrash } from '@/ui/display/icon';
import { actionBarEntriesState } from '@/ui/navigation/action-bar/states/actionBarEntriesState'; import { actionBarEntriesState } from '@/ui/navigation/action-bar/states/actionBarEntriesState';
const scopeId = 'scopeId'; const scopeId = 'scopeId';
const Wrapper = ({ children }: { children: React.ReactNode }) => ( const Wrapper = ({ children }: { children: React.ReactNode }) => (
<MockedProvider> <MockedProvider>
<RecordBoardScope recordBoardScopeId={scopeId}> <RecordBoardDeprecatedScope recordBoardScopeId={scopeId}>
<RecoilRoot>{children}</RecoilRoot> <RecoilRoot>{children}</RecoilRoot>
</RecordBoardScope> </RecordBoardDeprecatedScope>
</MockedProvider> </MockedProvider>
); );
@ -21,11 +21,11 @@ const renderHookConfig = {
wrapper: Wrapper, wrapper: Wrapper,
}; };
describe('useRecordBoardActionBarEntriesInternal', () => { describe('useRecordBoardDeprecatedActionBarEntriesInternal', () => {
it('should update actionBarEntries', async () => { it('should update actionBarEntries', async () => {
const { result } = renderHook(() => { const { result } = renderHook(() => {
const deleteSelectedBoardCards = const deleteSelectedBoardCards =
useDeleteSelectedRecordBoardCardsInternal(); useDeleteSelectedRecordBoardDeprecatedCardsInternal();
const newActionBarEntry = { const newActionBarEntry = {
label: 'Delete', label: 'Delete',
Icon: IconTrash, Icon: IconTrash,
@ -33,7 +33,7 @@ describe('useRecordBoardActionBarEntriesInternal', () => {
onClick: deleteSelectedBoardCards, onClick: deleteSelectedBoardCards,
}; };
return { return {
setActionBarEntries: useRecordBoardActionBarEntriesInternal(), setActionBarEntries: useRecordBoardDeprecatedActionBarEntriesInternal(),
actionBarEntries: useRecoilValue(actionBarEntriesState), actionBarEntries: useRecoilValue(actionBarEntriesState),
newActionBarEntry, newActionBarEntry,
}; };

View File

@ -3,10 +3,10 @@ import { renderHook, waitFor } from '@testing-library/react';
import { RecoilRoot, useRecoilState, useRecoilValue } from 'recoil'; import { RecoilRoot, useRecoilState, useRecoilValue } from 'recoil';
import { FieldType } from '@/object-record/field/types/FieldType'; import { FieldType } from '@/object-record/field/types/FieldType';
import { useRecordBoardCardFieldsInternal } from '@/object-record/record-board/hooks/internal/useRecordBoardCardFieldsInternal'; import { useRecordBoardDeprecatedCardFieldsInternal } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedCardFieldsInternal';
import { onFieldsChangeScopedState } from '@/object-record/record-board/states/onFieldsChangeScopedState'; import { onFieldsChangeScopedState } from '@/object-record/record-board-deprecated/states/onFieldsChangeScopedState';
import { recordBoardCardFieldsScopedState } from '@/object-record/record-board/states/recordBoardCardFieldsScopedState'; import { recordBoardCardFieldsScopedState } from '@/object-record/record-board-deprecated/states/recordBoardDeprecatedCardFieldsScopedState';
import { savedRecordBoardCardFieldsScopedState } from '@/object-record/record-board/states/savedRecordBoardCardFieldsScopedState'; import { savedRecordBoardDeprecatedCardFieldsScopedState } from '@/object-record/record-board-deprecated/states/savedRecordBoardDeprecatedCardFieldsScopedState';
const recordBoardScopeId = 'recordBoardScopeId'; const recordBoardScopeId = 'recordBoardScopeId';
@ -14,14 +14,14 @@ const renderHookConfig = {
wrapper: RecoilRoot, wrapper: RecoilRoot,
}; };
describe('useRecordBoardCardFieldsInternal', () => { describe('useRecordBoardDeprecatedCardFieldsInternal', () => {
it('should toggle field visibility', async () => { it('should toggle field visibility', async () => {
const { result } = renderHook(() => { const { result } = renderHook(() => {
const [cardFieldsList, setCardFieldsList] = useRecoilState( const [cardFieldsList, setCardFieldsList] = useRecoilState(
recordBoardCardFieldsScopedState({ scopeId: recordBoardScopeId }), recordBoardCardFieldsScopedState({ scopeId: recordBoardScopeId }),
); );
return { return {
boardCardFields: useRecordBoardCardFieldsInternal({ boardCardFields: useRecordBoardDeprecatedCardFieldsInternal({
recordBoardScopeId, recordBoardScopeId,
}), }),
cardFieldsList, cardFieldsList,
@ -76,14 +76,14 @@ describe('useRecordBoardCardFieldsInternal', () => {
onFieldsChangeScopedState({ scopeId: recordBoardScopeId }), onFieldsChangeScopedState({ scopeId: recordBoardScopeId }),
); );
return { return {
boardCardFieldsHook: useRecordBoardCardFieldsInternal({ boardCardFieldsHook: useRecordBoardDeprecatedCardFieldsInternal({
recordBoardScopeId, recordBoardScopeId,
}), }),
boardCardFieldsList: useRecoilValue( boardCardFieldsList: useRecoilValue(
recordBoardCardFieldsScopedState({ scopeId: recordBoardScopeId }), recordBoardCardFieldsScopedState({ scopeId: recordBoardScopeId }),
), ),
savedBoardCardFieldsList: useRecoilValue( savedBoardCardFieldsList: useRecoilValue(
savedRecordBoardCardFieldsScopedState({ savedRecordBoardDeprecatedCardFieldsScopedState({
scopeId: recordBoardScopeId, scopeId: recordBoardScopeId,
}), }),
), ),

View File

@ -3,10 +3,10 @@ import { act, renderHook, waitFor } from '@testing-library/react';
import gql from 'graphql-tag'; import gql from 'graphql-tag';
import { RecoilRoot, useRecoilState, useSetRecoilState } from 'recoil'; import { RecoilRoot, useRecoilState, useSetRecoilState } from 'recoil';
import { useBoardColumnsInternal } from '@/object-record/record-board/hooks/internal/useRecordBoardColumnsInternal'; import { useBoardColumnsInternal } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedColumnsInternal';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { RecordBoardScope } from '@/object-record/record-board/scopes/RecordBoardScope'; import { RecordBoardDeprecatedScope } from '@/object-record/record-board-deprecated/scopes/RecordBoardDeprecatedScope';
import { BoardColumnDefinition } from '@/object-record/record-board/types/BoardColumnDefinition'; import { BoardColumnDefinition } from '@/object-record/record-board-deprecated/types/BoardColumnDefinition';
jest.mock('@/object-metadata/hooks/useMapFieldMetadataToGraphQLQuery', () => ({ jest.mock('@/object-metadata/hooks/useMapFieldMetadataToGraphQLQuery', () => ({
useMapFieldMetadataToGraphQLQuery: jest.fn().mockReturnValue(() => '\n'), useMapFieldMetadataToGraphQLQuery: jest.fn().mockReturnValue(() => '\n'),
@ -36,9 +36,9 @@ const mocks = [
const scopeId = 'scopeId'; const scopeId = 'scopeId';
const Wrapper = ({ children }: { children: React.ReactNode }) => ( const Wrapper = ({ children }: { children: React.ReactNode }) => (
<MockedProvider mocks={mocks} addTypename={false}> <MockedProvider mocks={mocks} addTypename={false}>
<RecordBoardScope recordBoardScopeId={scopeId}> <RecordBoardDeprecatedScope recordBoardScopeId={scopeId}>
<RecoilRoot>{children}</RecoilRoot> <RecoilRoot>{children}</RecoilRoot>
</RecordBoardScope> </RecordBoardDeprecatedScope>
</MockedProvider> </MockedProvider>
); );
@ -50,7 +50,7 @@ describe('useBoardColumnsInternal', () => {
it('should update boardColumns state when moving to left and right', async () => { it('should update boardColumns state when moving to left and right', async () => {
const { result } = renderHook(() => { const { result } = renderHook(() => {
const [boardColumnsList, setBoardColumnsList] = useRecoilState( const [boardColumnsList, setBoardColumnsList] = useRecoilState(
useRecordBoardScopedStates().boardColumnsState, useRecordBoardDeprecatedScopedStates().boardColumnsState,
); );
return { return {
boardColumns: useBoardColumnsInternal(), boardColumns: useBoardColumnsInternal(),
@ -102,7 +102,7 @@ describe('useBoardColumnsInternal', () => {
return { return {
boardColumns: useBoardColumnsInternal(), boardColumns: useBoardColumnsInternal(),
setBoardColumnsList: useSetRecoilState( setBoardColumnsList: useSetRecoilState(
useRecordBoardScopedStates().boardColumnsState, useRecordBoardDeprecatedScopedStates().boardColumnsState,
), ),
}; };
}, renderHookConfig); }, renderHookConfig);

View File

@ -2,27 +2,27 @@ import { MockedProvider } from '@apollo/client/testing';
import { act, renderHook, waitFor } from '@testing-library/react'; import { act, renderHook, waitFor } from '@testing-library/react';
import { RecoilRoot, useRecoilValue } from 'recoil'; import { RecoilRoot, useRecoilValue } from 'recoil';
import { useDeleteSelectedRecordBoardCardsInternal } from '@/object-record/record-board/hooks/internal/useDeleteSelectedRecordBoardCardsInternal'; import { useDeleteSelectedRecordBoardDeprecatedCardsInternal } from '@/object-record/record-board-deprecated/hooks/internal/useDeleteSelectedRecordBoardDeprecatedCardsInternal';
import { useRecordBoardContextMenuEntriesInternal } from '@/object-record/record-board/hooks/internal/useRecordBoardContextMenuEntriesInternal'; import { useRecordBoardDeprecatedContextMenuEntriesInternal } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedContextMenuEntriesInternal';
import { RecordBoardScope } from '@/object-record/record-board/scopes/RecordBoardScope'; import { RecordBoardDeprecatedScope } from '@/object-record/record-board-deprecated/scopes/RecordBoardDeprecatedScope';
import { IconTrash } from '@/ui/display/icon'; import { IconTrash } from '@/ui/display/icon';
import { contextMenuEntriesState } from '@/ui/navigation/context-menu/states/contextMenuEntriesState'; import { contextMenuEntriesState } from '@/ui/navigation/context-menu/states/contextMenuEntriesState';
const scopeId = 'scopeId'; const scopeId = 'scopeId';
const Wrapper = ({ children }: { children: React.ReactNode }) => ( const Wrapper = ({ children }: { children: React.ReactNode }) => (
<MockedProvider> <MockedProvider>
<RecordBoardScope recordBoardScopeId={scopeId}> <RecordBoardDeprecatedScope recordBoardScopeId={scopeId}>
<RecoilRoot>{children}</RecoilRoot> <RecoilRoot>{children}</RecoilRoot>
</RecordBoardScope> </RecordBoardDeprecatedScope>
</MockedProvider> </MockedProvider>
); );
describe('useRecordBoardContextMenuEntriesInternal', () => { describe('useRecordBoardDeprecatedContextMenuEntriesInternal', () => {
it('should update contextEntries', async () => { it('should update contextEntries', async () => {
const { result } = renderHook( const { result } = renderHook(
() => { () => {
const deleteSelectedBoardCards = const deleteSelectedBoardCards =
useDeleteSelectedRecordBoardCardsInternal(); useDeleteSelectedRecordBoardDeprecatedCardsInternal();
const newContextEntry = { const newContextEntry = {
label: 'Delete', label: 'Delete',
Icon: IconTrash, Icon: IconTrash,
@ -30,7 +30,8 @@ describe('useRecordBoardContextMenuEntriesInternal', () => {
onClick: deleteSelectedBoardCards, onClick: deleteSelectedBoardCards,
}; };
return { return {
setContextEntries: useRecordBoardContextMenuEntriesInternal(), setContextEntries:
useRecordBoardDeprecatedContextMenuEntriesInternal(),
contextEntries: useRecoilValue(contextMenuEntriesState), contextEntries: useRecoilValue(contextMenuEntriesState),
newContextEntry, newContextEntry,
}; };

View File

@ -1,31 +1,31 @@
import { act, renderHook } from '@testing-library/react'; import { act, renderHook } from '@testing-library/react';
import { RecoilRoot, useRecoilValue } from 'recoil'; import { RecoilRoot, useRecoilValue } from 'recoil';
import { useSetRecordBoardCardSelectedInternal } from '@/object-record/record-board/hooks/internal/useSetRecordBoardCardSelectedInternal'; import { useSetRecordBoardDeprecatedCardSelectedInternal } from '@/object-record/record-board-deprecated/hooks/internal/useSetRecordBoardDeprecatedCardSelectedInternal';
import { RecordBoardScope } from '@/object-record/record-board/scopes/RecordBoardScope'; import { RecordBoardDeprecatedScope } from '@/object-record/record-board-deprecated/scopes/RecordBoardDeprecatedScope';
import { isRecordBoardCardSelectedFamilyState } from '@/object-record/record-board/states/isRecordBoardCardSelectedFamilyState'; import { isRecordBoardDeprecatedCardSelectedFamilyState } from '@/object-record/record-board-deprecated/states/isRecordBoardDeprecatedCardSelectedFamilyState';
const scopeId = 'scopeId'; const scopeId = 'scopeId';
const boardCardId = 'boardCardId'; const boardCardId = 'boardCardId';
const Wrapper = ({ children }: { children: React.ReactNode }) => ( const Wrapper = ({ children }: { children: React.ReactNode }) => (
<RecordBoardScope recordBoardScopeId={scopeId}> <RecordBoardDeprecatedScope recordBoardScopeId={scopeId}>
<RecoilRoot>{children}</RecoilRoot> <RecoilRoot>{children}</RecoilRoot>
</RecordBoardScope> </RecordBoardDeprecatedScope>
); );
const recordBoardScopeId = 'recordBoardScopeId'; const recordBoardScopeId = 'recordBoardScopeId';
describe('useSetRecordBoardCardSelectedInternal', () => { describe('useSetRecordBoardDeprecatedCardSelectedInternal', () => {
it('should update the data when selecting and deselecting the cardId', async () => { it('should update the data when selecting and deselecting the cardId', async () => {
const { result } = renderHook( const { result } = renderHook(
() => { () => {
return { return {
cardSelect: useSetRecordBoardCardSelectedInternal({ cardSelect: useSetRecordBoardDeprecatedCardSelectedInternal({
recordBoardScopeId, recordBoardScopeId,
}), }),
isSelected: useRecoilValue( isSelected: useRecoilValue(
isRecordBoardCardSelectedFamilyState(boardCardId), isRecordBoardDeprecatedCardSelectedFamilyState(boardCardId),
), ),
}; };
}, },

View File

@ -2,19 +2,19 @@ import { act, renderHook } from '@testing-library/react';
import { RecoilRoot, useRecoilValue } from 'recoil'; import { RecoilRoot, useRecoilValue } from 'recoil';
import { CompanyForBoard } from '@/companies/types/CompanyProgress'; import { CompanyForBoard } from '@/companies/types/CompanyProgress';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { useUpdateCompanyBoardColumnsInternal } from '@/object-record/record-board/hooks/internal/useUpdateCompanyBoardColumnsInternal'; import { useUpdateCompanyBoardColumnsInternal } from '@/object-record/record-board-deprecated/hooks/internal/useUpdateCompanyBoardColumnsInternal';
import { RecordBoardScope } from '@/object-record/record-board/scopes/RecordBoardScope'; import { RecordBoardDeprecatedScope } from '@/object-record/record-board-deprecated/scopes/RecordBoardDeprecatedScope';
import { recordBoardCardIdsByColumnIdFamilyState } from '@/object-record/record-board/states/recordBoardCardIdsByColumnIdFamilyState'; import { recordBoardCardIdsByColumnIdFamilyState } from '@/object-record/record-board-deprecated/states/recordBoardCardIdsByColumnIdFamilyState';
import { currentPipelineStepsState } from '@/pipeline/states/currentPipelineStepsState'; import { currentPipelineStepsState } from '@/pipeline/states/currentPipelineStepsState';
import { Opportunity } from '@/pipeline/types/Opportunity'; import { Opportunity } from '@/pipeline/types/Opportunity';
import { PipelineStep } from '@/pipeline/types/PipelineStep'; import { PipelineStep } from '@/pipeline/types/PipelineStep';
const scopeId = 'scopeId'; const scopeId = 'scopeId';
const Wrapper = ({ children }: { children: React.ReactNode }) => ( const Wrapper = ({ children }: { children: React.ReactNode }) => (
<RecordBoardScope recordBoardScopeId={scopeId}> <RecordBoardDeprecatedScope recordBoardScopeId={scopeId}>
<RecoilRoot>{children}</RecoilRoot> <RecoilRoot>{children}</RecoilRoot>
</RecordBoardScope> </RecordBoardDeprecatedScope>
); );
describe('useUpdateCompanyBoardColumnsInternal', () => { describe('useUpdateCompanyBoardColumnsInternal', () => {
@ -25,10 +25,10 @@ describe('useUpdateCompanyBoardColumnsInternal', () => {
updateCompanyBoardColumns: useUpdateCompanyBoardColumnsInternal(), updateCompanyBoardColumns: useUpdateCompanyBoardColumnsInternal(),
currentPipeline: useRecoilValue(currentPipelineStepsState), currentPipeline: useRecoilValue(currentPipelineStepsState),
boardColumns: useRecoilValue( boardColumns: useRecoilValue(
useRecordBoardScopedStates().boardColumnsState, useRecordBoardDeprecatedScopedStates().boardColumnsState,
), ),
savedBoardColumns: useRecoilValue( savedBoardColumns: useRecoilValue(
useRecordBoardScopedStates().savedBoardColumnsState, useRecordBoardDeprecatedScopedStates().savedBoardColumnsState,
), ),
idsByColumnId: useRecoilValue( idsByColumnId: useRecoilValue(
recordBoardCardIdsByColumnIdFamilyState('1'), recordBoardCardIdsByColumnIdFamilyState('1'),

View File

@ -3,7 +3,7 @@ import { v4 } from 'uuid';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord'; import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord';
import { recordBoardCardIdsByColumnIdFamilyState } from '@/object-record/record-board/states/recordBoardCardIdsByColumnIdFamilyState'; import { recordBoardCardIdsByColumnIdFamilyState } from '@/object-record/record-board-deprecated/states/recordBoardCardIdsByColumnIdFamilyState';
import { Opportunity } from '@/pipeline/types/Opportunity'; import { Opportunity } from '@/pipeline/types/Opportunity';
export const useCreateOpportunity = () => { export const useCreateOpportunity = () => {

View File

@ -1,20 +1,20 @@
import { useContext } from 'react'; import { useContext } from 'react';
import { useRecoilCallback, useRecoilValue, useSetRecoilState } from 'recoil'; import { useRecoilCallback, useRecoilValue, useSetRecoilState } from 'recoil';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { actionBarOpenState } from '@/ui/navigation/action-bar/states/actionBarIsOpenState'; import { actionBarOpenState } from '@/ui/navigation/action-bar/states/actionBarIsOpenState';
import { BoardCardIdContext } from '../../contexts/BoardCardIdContext'; import { BoardCardIdContext } from '../../contexts/BoardCardIdContext';
import { isRecordBoardCardSelectedFamilyState } from '../../states/isRecordBoardCardSelectedFamilyState'; import { isRecordBoardDeprecatedCardSelectedFamilyState } from '../../states/isRecordBoardDeprecatedCardSelectedFamilyState';
export const useCurrentRecordBoardCardSelectedInternal = () => { export const useCurrentRecordBoardDeprecatedCardSelectedInternal = () => {
const currentCardId = useContext(BoardCardIdContext); const currentCardId = useContext(BoardCardIdContext);
const isCurrentCardSelected = useRecoilValue( const isCurrentCardSelected = useRecoilValue(
isRecordBoardCardSelectedFamilyState(currentCardId ?? ''), isRecordBoardDeprecatedCardSelectedFamilyState(currentCardId ?? ''),
); );
const { activeCardIdsState } = useRecordBoardScopedStates(); const { activeCardIdsState } = useRecordBoardDeprecatedScopedStates();
const setActiveCardIds = useSetRecoilState(activeCardIdsState); const setActiveCardIds = useSetRecoilState(activeCardIdsState);
@ -23,7 +23,10 @@ export const useCurrentRecordBoardCardSelectedInternal = () => {
(selected: boolean) => { (selected: boolean) => {
if (!currentCardId) return; if (!currentCardId) return;
set(isRecordBoardCardSelectedFamilyState(currentCardId), selected); set(
isRecordBoardDeprecatedCardSelectedFamilyState(currentCardId),
selected,
);
set(actionBarOpenState, selected); set(actionBarOpenState, selected);
if (selected) { if (selected) {

View File

@ -3,19 +3,19 @@ import { useRecoilCallback } from 'recoil';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useDeleteManyRecords } from '@/object-record/hooks/useDeleteManyRecords'; import { useDeleteManyRecords } from '@/object-record/hooks/useDeleteManyRecords';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { useRemoveRecordBoardCardIdsInternal } from './useRemoveRecordBoardCardIdsInternal'; import { useRemoveRecordBoardDeprecatedCardIdsInternal } from './useRemoveRecordBoardDeprecatedCardIdsInternal';
export const useDeleteSelectedRecordBoardCardsInternal = () => { export const useDeleteSelectedRecordBoardDeprecatedCardsInternal = () => {
const removeCardIds = useRemoveRecordBoardCardIdsInternal(); const removeCardIds = useRemoveRecordBoardDeprecatedCardIdsInternal();
const apolloClient = useApolloClient(); const apolloClient = useApolloClient();
const { deleteManyRecords: deleteManyOpportunities } = useDeleteManyRecords({ const { deleteManyRecords: deleteManyOpportunities } = useDeleteManyRecords({
objectNameSingular: CoreObjectNameSingular.Opportunity, objectNameSingular: CoreObjectNameSingular.Opportunity,
}); });
const { selectedCardIdsSelector } = useRecordBoardScopedStates(); const { selectedCardIdsSelector } = useRecordBoardDeprecatedScopedStates();
const deleteSelectedBoardCards = useRecoilCallback( const deleteSelectedBoardCards = useRecoilCallback(
({ snapshot }) => ({ snapshot }) =>

View File

@ -1,14 +1,15 @@
import { useCallback } from 'react'; import { useCallback } from 'react';
import { useSetRecoilState } from 'recoil'; import { useSetRecoilState } from 'recoil';
import { useDeleteSelectedRecordBoardCardsInternal } from '@/object-record/record-board/hooks/internal/useDeleteSelectedRecordBoardCardsInternal'; import { useDeleteSelectedRecordBoardDeprecatedCardsInternal } from '@/object-record/record-board-deprecated/hooks/internal/useDeleteSelectedRecordBoardDeprecatedCardsInternal';
import { IconTrash } from '@/ui/display/icon'; import { IconTrash } from '@/ui/display/icon';
import { actionBarEntriesState } from '@/ui/navigation/action-bar/states/actionBarEntriesState'; import { actionBarEntriesState } from '@/ui/navigation/action-bar/states/actionBarEntriesState';
export const useRecordBoardActionBarEntriesInternal = () => { export const useRecordBoardDeprecatedActionBarEntriesInternal = () => {
const setActionBarEntriesRecoil = useSetRecoilState(actionBarEntriesState); const setActionBarEntriesRecoil = useSetRecoilState(actionBarEntriesState);
const deleteSelectedBoardCards = useDeleteSelectedRecordBoardCardsInternal(); const deleteSelectedBoardCards =
useDeleteSelectedRecordBoardDeprecatedCardsInternal();
const setActionBarEntries = useCallback(() => { const setActionBarEntries = useCallback(() => {
setActionBarEntriesRecoil([ setActionBarEntriesRecoil([

View File

@ -2,23 +2,23 @@ import { useCallback } from 'react';
import { useRecoilCallback, useSetRecoilState } from 'recoil'; import { useRecoilCallback, useSetRecoilState } from 'recoil';
import { FieldMetadata } from '@/object-record/field/types/FieldMetadata'; import { FieldMetadata } from '@/object-record/field/types/FieldMetadata';
import { RecordBoardScopeInternalContext } from '@/object-record/record-board/scopes/scope-internal-context/RecordBoardScopeInternalContext'; import { RecordBoardDeprecatedScopeInternalContext } from '@/object-record/record-board-deprecated/scopes/scope-internal-context/RecordBoardDeprecatedScopeInternalContext';
import { onFieldsChangeScopedState } from '@/object-record/record-board/states/onFieldsChangeScopedState'; import { onFieldsChangeScopedState } from '@/object-record/record-board-deprecated/states/onFieldsChangeScopedState';
import { recordBoardCardFieldsScopedState } from '@/object-record/record-board/states/recordBoardCardFieldsScopedState'; import { recordBoardCardFieldsScopedState } from '@/object-record/record-board-deprecated/states/recordBoardDeprecatedCardFieldsScopedState';
import { savedRecordBoardCardFieldsScopedState } from '@/object-record/record-board/states/savedRecordBoardCardFieldsScopedState'; import { savedRecordBoardDeprecatedCardFieldsScopedState } from '@/object-record/record-board-deprecated/states/savedRecordBoardDeprecatedCardFieldsScopedState';
import { BoardFieldDefinition } from '@/object-record/record-board/types/BoardFieldDefinition'; import { BoardFieldDefinition } from '@/object-record/record-board-deprecated/types/BoardFieldDefinition';
import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition'; import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition';
import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId'; import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId';
type useRecordBoardCardFieldsInternalProps = { type useRecordBoardDeprecatedCardFieldsInternalProps = {
recordBoardScopeId?: string; recordBoardScopeId?: string;
}; };
export const useRecordBoardCardFieldsInternal = ( export const useRecordBoardDeprecatedCardFieldsInternal = (
props?: useRecordBoardCardFieldsInternalProps, props?: useRecordBoardDeprecatedCardFieldsInternalProps,
) => { ) => {
const scopeId = useAvailableScopeIdOrThrow( const scopeId = useAvailableScopeIdOrThrow(
RecordBoardScopeInternalContext, RecordBoardDeprecatedScopeInternalContext,
props?.recordBoardScopeId, props?.recordBoardScopeId,
); );
@ -27,7 +27,7 @@ export const useRecordBoardCardFieldsInternal = (
); );
const setSavedBoardCardFields = useSetRecoilState( const setSavedBoardCardFields = useSetRecoilState(
savedRecordBoardCardFieldsScopedState({ scopeId }), savedRecordBoardDeprecatedCardFieldsScopedState({ scopeId }),
); );
const handleFieldVisibilityChange = useRecoilCallback( const handleFieldVisibilityChange = useRecoilCallback(

View File

@ -2,14 +2,14 @@ import { useRecoilState } from 'recoil';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { PipelineStep } from '@/pipeline/types/PipelineStep'; import { PipelineStep } from '@/pipeline/types/PipelineStep';
import { useMoveViewColumns } from '@/views/hooks/useMoveViewColumns'; import { useMoveViewColumns } from '@/views/hooks/useMoveViewColumns';
import { BoardColumnDefinition } from '../../types/BoardColumnDefinition'; import { BoardColumnDefinition } from '../../types/BoardColumnDefinition';
export const useBoardColumnsInternal = () => { export const useBoardColumnsInternal = () => {
const { boardColumnsState } = useRecordBoardScopedStates(); const { boardColumnsState } = useRecordBoardDeprecatedScopedStates();
const [boardColumns, setBoardColumns] = useRecoilState(boardColumnsState); const [boardColumns, setBoardColumns] = useRecoilState(boardColumnsState);
const { handleColumnMove } = useMoveViewColumns(); const { handleColumnMove } = useMoveViewColumns();

View File

@ -1,16 +1,17 @@
import { useCallback } from 'react'; import { useCallback } from 'react';
import { useSetRecoilState } from 'recoil'; import { useSetRecoilState } from 'recoil';
import { useDeleteSelectedRecordBoardCardsInternal } from '@/object-record/record-board/hooks/internal/useDeleteSelectedRecordBoardCardsInternal'; import { useDeleteSelectedRecordBoardDeprecatedCardsInternal } from '@/object-record/record-board-deprecated/hooks/internal/useDeleteSelectedRecordBoardDeprecatedCardsInternal';
import { IconTrash } from '@/ui/display/icon'; import { IconTrash } from '@/ui/display/icon';
import { contextMenuEntriesState } from '@/ui/navigation/context-menu/states/contextMenuEntriesState'; import { contextMenuEntriesState } from '@/ui/navigation/context-menu/states/contextMenuEntriesState';
export const useRecordBoardContextMenuEntriesInternal = () => { export const useRecordBoardDeprecatedContextMenuEntriesInternal = () => {
const setContextMenuEntriesRecoil = useSetRecoilState( const setContextMenuEntriesRecoil = useSetRecoilState(
contextMenuEntriesState, contextMenuEntriesState,
); );
const deleteSelectedBoardCards = useDeleteSelectedRecordBoardCardsInternal(); const deleteSelectedBoardCards =
useDeleteSelectedRecordBoardDeprecatedCardsInternal();
const setContextMenuEntries = useCallback(() => { const setContextMenuEntries = useCallback(() => {
setContextMenuEntriesRecoil([ setContextMenuEntriesRecoil([

View File

@ -1,18 +1,18 @@
import { RecordBoardScopeInternalContext } from '@/object-record/record-board/scopes/scope-internal-context/RecordBoardScopeInternalContext'; import { RecordBoardDeprecatedScopeInternalContext } from '@/object-record/record-board-deprecated/scopes/scope-internal-context/RecordBoardDeprecatedScopeInternalContext';
import { getRecordBoardScopedStates } from '@/object-record/record-board/utils/getRecordBoardScopedStates'; import { getRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/utils/getRecordBoardDeprecatedScopedStates';
import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId'; import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId';
type useRecordBoardScopedStatesProps = { type useRecordBoardDeprecatedScopedStatesProps = {
recordBoardScopeId?: string; recordBoardScopeId?: string;
}; };
export const useRecordBoardScopedStates = ( export const useRecordBoardDeprecatedScopedStates = (
args?: useRecordBoardScopedStatesProps, args?: useRecordBoardDeprecatedScopedStatesProps,
) => { ) => {
const { recordBoardScopeId } = args ?? {}; const { recordBoardScopeId } = args ?? {};
const scopeId = useAvailableScopeIdOrThrow( const scopeId = useAvailableScopeIdOrThrow(
RecordBoardScopeInternalContext, RecordBoardDeprecatedScopeInternalContext,
recordBoardScopeId, recordBoardScopeId,
); );
@ -33,7 +33,7 @@ export const useRecordBoardScopedStates = (
savedCompaniesState, savedCompaniesState,
savedOpportunitiesState, savedOpportunitiesState,
savedPipelineStepsState, savedPipelineStepsState,
} = getRecordBoardScopedStates({ } = getRecordBoardDeprecatedScopedStates({
recordBoardScopeId: scopeId, recordBoardScopeId: scopeId,
}); });

View File

@ -1,12 +1,12 @@
// Atlassian dnd does not support StrictMode from RN 18, so we use a fork @hello-pangea/dnd https://github.com/atlassian/react-beautiful-dnd/issues/2350 // Atlassian dnd does not support StrictMode from RN 18, so we use a fork @hello-pangea/dnd https://github.com/atlassian/react-beautiful-dnd/issues/2350
import { useRecoilCallback } from 'recoil'; import { useRecoilCallback } from 'recoil';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { recordBoardCardIdsByColumnIdFamilyState } from '../../states/recordBoardCardIdsByColumnIdFamilyState'; import { recordBoardCardIdsByColumnIdFamilyState } from '../../states/recordBoardCardIdsByColumnIdFamilyState';
export const useRemoveRecordBoardCardIdsInternal = () => { export const useRemoveRecordBoardDeprecatedCardIdsInternal = () => {
const { boardColumnsState } = useRecordBoardScopedStates(); const { boardColumnsState } = useRecordBoardDeprecatedScopedStates();
return useRecoilCallback( return useRecoilCallback(
({ snapshot, set }) => ({ snapshot, set }) =>

View File

@ -1,18 +1,18 @@
import { useRecoilCallback } from 'recoil'; import { useRecoilCallback } from 'recoil';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { RecordBoardScopeInternalContext } from '@/object-record/record-board/scopes/scope-internal-context/RecordBoardScopeInternalContext'; import { RecordBoardDeprecatedScopeInternalContext } from '@/object-record/record-board-deprecated/scopes/scope-internal-context/RecordBoardDeprecatedScopeInternalContext';
import { actionBarOpenState } from '@/ui/navigation/action-bar/states/actionBarIsOpenState'; import { actionBarOpenState } from '@/ui/navigation/action-bar/states/actionBarIsOpenState';
import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId'; import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId';
import { isRecordBoardCardSelectedFamilyState } from '../../states/isRecordBoardCardSelectedFamilyState'; import { isRecordBoardDeprecatedCardSelectedFamilyState } from '../../states/isRecordBoardDeprecatedCardSelectedFamilyState';
export const useSetRecordBoardCardSelectedInternal = (props: any) => { export const useSetRecordBoardDeprecatedCardSelectedInternal = (props: any) => {
const scopeId = useAvailableScopeIdOrThrow( const scopeId = useAvailableScopeIdOrThrow(
RecordBoardScopeInternalContext, RecordBoardDeprecatedScopeInternalContext,
props?.recordBoardScopeId, props?.recordBoardScopeId,
); );
const { activeCardIdsState } = useRecordBoardScopedStates({ const { activeCardIdsState } = useRecordBoardDeprecatedScopedStates({
recordBoardScopeId: scopeId, recordBoardScopeId: scopeId,
}); });
@ -21,7 +21,7 @@ export const useSetRecordBoardCardSelectedInternal = (props: any) => {
(cardId: string, selected: boolean) => { (cardId: string, selected: boolean) => {
const activeCardIds = snapshot.getLoadable(activeCardIdsState).contents; const activeCardIds = snapshot.getLoadable(activeCardIdsState).contents;
set(isRecordBoardCardSelectedFamilyState(cardId), selected); set(isRecordBoardDeprecatedCardSelectedFamilyState(cardId), selected);
set(actionBarOpenState, selected || activeCardIds.length > 0); set(actionBarOpenState, selected || activeCardIds.length > 0);
if (selected) { if (selected) {
@ -42,7 +42,7 @@ export const useSetRecordBoardCardSelectedInternal = (props: any) => {
const activeCardIds = snapshot.getLoadable(activeCardIdsState).contents; const activeCardIds = snapshot.getLoadable(activeCardIdsState).contents;
activeCardIds.forEach((cardId: string) => { activeCardIds.forEach((cardId: string) => {
set(isRecordBoardCardSelectedFamilyState(cardId), false); set(isRecordBoardDeprecatedCardSelectedFamilyState(cardId), false);
}); });
set(activeCardIdsState, []); set(activeCardIdsState, []);

View File

@ -1,9 +1,9 @@
import { useRecoilCallback } from 'recoil'; import { useRecoilCallback } from 'recoil';
import { entityFieldsFamilyState } from '@/object-record/field/states/entityFieldsFamilyState'; import { entityFieldsFamilyState } from '@/object-record/field/states/entityFieldsFamilyState';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { recordBoardCardIdsByColumnIdFamilyState } from '@/object-record/record-board/states/recordBoardCardIdsByColumnIdFamilyState'; import { recordBoardCardIdsByColumnIdFamilyState } from '@/object-record/record-board-deprecated/states/recordBoardCardIdsByColumnIdFamilyState';
import { BoardColumnDefinition } from '@/object-record/record-board/types/BoardColumnDefinition'; import { BoardColumnDefinition } from '@/object-record/record-board-deprecated/types/BoardColumnDefinition';
import { currentPipelineStepsState } from '@/pipeline/states/currentPipelineStepsState'; import { currentPipelineStepsState } from '@/pipeline/states/currentPipelineStepsState';
import { Opportunity } from '@/pipeline/types/Opportunity'; import { Opportunity } from '@/pipeline/types/Opportunity';
import { PipelineStep } from '@/pipeline/types/PipelineStep'; import { PipelineStep } from '@/pipeline/types/PipelineStep';
@ -19,7 +19,7 @@ import {
export const useUpdateCompanyBoardColumnsInternal = () => { export const useUpdateCompanyBoardColumnsInternal = () => {
const { boardColumnsState, savedBoardColumnsState } = const { boardColumnsState, savedBoardColumnsState } =
useRecordBoardScopedStates(); useRecordBoardDeprecatedScopedStates();
return useRecoilCallback( return useRecoilCallback(
({ set, snapshot }) => ({ set, snapshot }) =>

View File

@ -1,22 +1,24 @@
import { useSetRecoilState } from 'recoil'; import { useSetRecoilState } from 'recoil';
import { useCreateOpportunity } from '@/object-record/record-board/hooks/internal/useCreateOpportunity'; import { useCreateOpportunity } from '@/object-record/record-board-deprecated/hooks/internal/useCreateOpportunity';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { RecordBoardScopeInternalContext } from '@/object-record/record-board/scopes/scope-internal-context/RecordBoardScopeInternalContext'; import { RecordBoardDeprecatedScopeInternalContext } from '@/object-record/record-board-deprecated/scopes/scope-internal-context/RecordBoardDeprecatedScopeInternalContext';
import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId'; import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId';
type useRecordBoardProps = { type useRecordBoardDeprecatedProps = {
recordBoardScopeId?: string; recordBoardScopeId?: string;
}; };
export const useRecordBoard = (props?: useRecordBoardProps) => { export const useRecordBoardDeprecated = (
props?: useRecordBoardDeprecatedProps,
) => {
const scopeId = useAvailableScopeIdOrThrow( const scopeId = useAvailableScopeIdOrThrow(
RecordBoardScopeInternalContext, RecordBoardDeprecatedScopeInternalContext,
props?.recordBoardScopeId, props?.recordBoardScopeId,
); );
const { isBoardLoadedState, boardColumnsState, onFieldsChangeState } = const { isBoardLoadedState, boardColumnsState, onFieldsChangeState } =
useRecordBoardScopedStates({ useRecordBoardDeprecatedScopedStates({
recordBoardScopeId: scopeId, recordBoardScopeId: scopeId,
}); });
const setIsBoardLoaded = useSetRecoilState(isBoardLoadedState); const setIsBoardLoaded = useSetRecoilState(isBoardLoadedState);

View File

@ -1,32 +1,32 @@
import { BoardOptionsDropdownId } from '@/object-record/record-board/constants/BoardOptionsDropdownId'; import { BoardOptionsDropdownId } from '@/object-record/record-board-deprecated/constants/BoardOptionsDropdownId';
import { useViewBar } from '@/views/hooks/useViewBar'; import { useViewBar } from '@/views/hooks/useViewBar';
import { Dropdown } from '../../../../ui/layout/dropdown/components/Dropdown'; import { Dropdown } from '../../../../ui/layout/dropdown/components/Dropdown';
import { BoardOptionsHotkeyScope } from '../../types/BoardOptionsHotkeyScope'; import { BoardOptionsHotkeyScope } from '../../types/BoardOptionsHotkeyScope';
import { RecordBoardOptionsDropdownButton } from './RecordBoardOptionsDropdownButton'; import { RecordBoardDeprecatedOptionsDropdownButton } from './RecordBoardDeprecatedOptionsDropdownButton';
import { import {
RecordBoardOptionsDropdownContent, RecordBoardDeprecatedOptionsDropdownContent,
RecordBoardOptionsDropdownContentProps, RecordBoardDeprecatedOptionsDropdownContentProps,
} from './RecordBoardOptionsDropdownContent'; } from './RecordBoardDeprecatedOptionsDropdownContent';
type RecordBoardOptionsDropdownProps = Pick< type RecordBoardDeprecatedOptionsDropdownProps = Pick<
RecordBoardOptionsDropdownContentProps, RecordBoardDeprecatedOptionsDropdownContentProps,
'onStageAdd' | 'recordBoardId' 'onStageAdd' | 'recordBoardId'
>; >;
export const RecordBoardOptionsDropdown = ({ export const RecordBoardDeprecatedOptionsDropdown = ({
onStageAdd, onStageAdd,
recordBoardId, recordBoardId,
}: RecordBoardOptionsDropdownProps) => { }: RecordBoardDeprecatedOptionsDropdownProps) => {
const { setViewEditMode } = useViewBar(); const { setViewEditMode } = useViewBar();
return ( return (
<Dropdown <Dropdown
dropdownId={BoardOptionsDropdownId} dropdownId={BoardOptionsDropdownId}
clickableComponent={<RecordBoardOptionsDropdownButton />} clickableComponent={<RecordBoardDeprecatedOptionsDropdownButton />}
dropdownComponents={ dropdownComponents={
<RecordBoardOptionsDropdownContent <RecordBoardDeprecatedOptionsDropdownContent
onStageAdd={onStageAdd} onStageAdd={onStageAdd}
recordBoardId={recordBoardId} recordBoardId={recordBoardId}
/> />

View File

@ -1,8 +1,8 @@
import { BoardOptionsDropdownId } from '@/object-record/record-board/constants/BoardOptionsDropdownId'; import { BoardOptionsDropdownId } from '@/object-record/record-board-deprecated/constants/BoardOptionsDropdownId';
import { StyledHeaderDropdownButton } from '@/ui/layout/dropdown/components/StyledHeaderDropdownButton'; import { StyledHeaderDropdownButton } from '@/ui/layout/dropdown/components/StyledHeaderDropdownButton';
import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown';
export const RecordBoardOptionsDropdownButton = () => { export const RecordBoardDeprecatedOptionsDropdownButton = () => {
const { isDropdownOpen, toggleDropdown } = useDropdown( const { isDropdownOpen, toggleDropdown } = useDropdown(
BoardOptionsDropdownId, BoardOptionsDropdownId,
); );

View File

@ -4,8 +4,8 @@ import { useRecoilState, useRecoilValue } from 'recoil';
import { Key } from 'ts-key-enum'; import { Key } from 'ts-key-enum';
import { v4 } from 'uuid'; import { v4 } from 'uuid';
import { BoardOptionsDropdownId } from '@/object-record/record-board/constants/BoardOptionsDropdownId'; import { BoardOptionsDropdownId } from '@/object-record/record-board-deprecated/constants/BoardOptionsDropdownId';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates'; import { useRecordBoardDeprecatedScopedStates } from '@/object-record/record-board-deprecated/hooks/internal/useRecordBoardDeprecatedScopedStates';
import { import {
IconBaselineDensitySmall, IconBaselineDensitySmall,
IconChevronLeft, IconChevronLeft,
@ -27,21 +27,21 @@ import { ViewFieldsVisibilityDropdownSection } from '@/views/components/ViewFiel
import { useViewScopedStates } from '@/views/hooks/internal/useViewScopedStates'; import { useViewScopedStates } from '@/views/hooks/internal/useViewScopedStates';
import { useViewBar } from '@/views/hooks/useViewBar'; import { useViewBar } from '@/views/hooks/useViewBar';
import { useRecordBoardCardFieldsInternal } from '../../hooks/internal/useRecordBoardCardFieldsInternal'; import { useRecordBoardDeprecatedCardFieldsInternal } from '../../hooks/internal/useRecordBoardDeprecatedCardFieldsInternal';
import { BoardColumnDefinition } from '../../types/BoardColumnDefinition'; import { BoardColumnDefinition } from '../../types/BoardColumnDefinition';
import { BoardOptionsHotkeyScope } from '../../types/BoardOptionsHotkeyScope'; import { BoardOptionsHotkeyScope } from '../../types/BoardOptionsHotkeyScope';
export type RecordBoardOptionsDropdownContentProps = { export type RecordBoardDeprecatedOptionsDropdownContentProps = {
onStageAdd?: (boardColumn: BoardColumnDefinition) => void; onStageAdd?: (boardColumn: BoardColumnDefinition) => void;
recordBoardId: string; recordBoardId: string;
}; };
type BoardOptionsMenu = 'fields' | 'stage-creation' | 'stages'; type BoardOptionsMenu = 'fields' | 'stage-creation' | 'stages';
export const RecordBoardOptionsDropdownContent = ({ export const RecordBoardDeprecatedOptionsDropdownContent = ({
onStageAdd, onStageAdd,
recordBoardId, recordBoardId,
}: RecordBoardOptionsDropdownContentProps) => { }: RecordBoardDeprecatedOptionsDropdownContentProps) => {
const { setViewEditMode, handleViewNameSubmit } = useViewBar(); const { setViewEditMode, handleViewNameSubmit } = useViewBar();
const { viewEditModeState, currentViewSelector } = useViewScopedStates(); const { viewEditModeState, currentViewSelector } = useViewScopedStates();
@ -60,7 +60,9 @@ export const RecordBoardOptionsDropdownContent = ({
isCompactViewEnabledState, isCompactViewEnabledState,
hiddenBoardCardFieldsSelector, hiddenBoardCardFieldsSelector,
visibleBoardCardFieldsSelector, visibleBoardCardFieldsSelector,
} = useRecordBoardScopedStates({ recordBoardScopeId: recordBoardId }); } = useRecordBoardDeprecatedScopedStates({
recordBoardScopeId: recordBoardId,
});
const [boardColumns, setBoardColumns] = useRecoilState(boardColumnsState); const [boardColumns, setBoardColumns] = useRecoilState(boardColumnsState);
const [isCompactViewEnabled, setIsCompactViewEnabled] = useRecoilState( const [isCompactViewEnabled, setIsCompactViewEnabled] = useRecoilState(
@ -99,7 +101,7 @@ export const RecordBoardOptionsDropdownContent = ({
}; };
const { handleFieldVisibilityChange, handleFieldsReorder } = const { handleFieldVisibilityChange, handleFieldsReorder } =
useRecordBoardCardFieldsInternal({ useRecordBoardDeprecatedCardFieldsInternal({
recordBoardScopeId: recordBoardId, recordBoardScopeId: recordBoardId,
}); });

View File

@ -0,0 +1,23 @@
import { ReactNode } from 'react';
import { RecordBoardDeprecatedScopeInternalContext } from '@/object-record/record-board-deprecated/scopes/scope-internal-context/RecordBoardDeprecatedScopeInternalContext';
type RecordBoardDeprecatedScopeProps = {
children: ReactNode;
recordBoardScopeId: string;
};
export const RecordBoardDeprecatedScope = ({
children,
recordBoardScopeId,
}: RecordBoardDeprecatedScopeProps) => {
return (
<RecordBoardDeprecatedScopeInternalContext.Provider
value={{
scopeId: recordBoardScopeId,
}}
>
{children}
</RecordBoardDeprecatedScopeInternalContext.Provider>
);
};

View File

@ -1,7 +1,7 @@
import { StateScopeMapKey } from '@/ui/utilities/recoil-scope/scopes-internal/types/StateScopeMapKey'; import { StateScopeMapKey } from '@/ui/utilities/recoil-scope/scopes-internal/types/StateScopeMapKey';
import { createScopeInternalContext } from '@/ui/utilities/recoil-scope/scopes-internal/utils/createScopeInternalContext'; import { createScopeInternalContext } from '@/ui/utilities/recoil-scope/scopes-internal/utils/createScopeInternalContext';
type RecordBoardScopeInternalContextProps = StateScopeMapKey; type RecordBoardDeprecatedScopeInternalContextProps = StateScopeMapKey;
export const RecordBoardScopeInternalContext = export const RecordBoardDeprecatedScopeInternalContext =
createScopeInternalContext<RecordBoardScopeInternalContextProps>(); createScopeInternalContext<RecordBoardDeprecatedScopeInternalContextProps>();

View File

@ -0,0 +1,7 @@
import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createStateScopeMap';
export const activeRecordBoardDeprecatedCardIdsScopedState =
createStateScopeMap<string[]>({
key: 'activeRecordBoardDeprecatedCardIdsScopedState',
defaultValue: [],
});

View File

@ -3,9 +3,8 @@ import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createSta
import { BoardFieldDefinition } from '../types/BoardFieldDefinition'; import { BoardFieldDefinition } from '../types/BoardFieldDefinition';
export const availableRecordBoardCardFieldsScopedState = createStateScopeMap< export const availableRecordBoardDeprecatedCardFieldsScopedState =
BoardFieldDefinition<FieldMetadata>[] createStateScopeMap<BoardFieldDefinition<FieldMetadata>[]>({
>({ key: 'availableRecordBoardDeprecatedCardFieldsScopedState',
key: 'availableRecordBoardCardFieldsScopedState', defaultValue: [],
defaultValue: [], });
});

View File

@ -0,0 +1,9 @@
import { atomFamily } from 'recoil';
export const isRecordBoardDeprecatedCardInCompactViewFamilyState = atomFamily<
boolean,
string
>({
key: 'isRecordBoardDeprecatedCardInCompactViewFamilyState',
default: true,
});

View File

@ -0,0 +1,9 @@
import { atomFamily } from 'recoil';
export const isRecordBoardDeprecatedCardSelectedFamilyState = atomFamily<
boolean,
string
>({
key: 'isRecordBoardDeprecatedCardSelectedFamilyState',
default: false,
});

View File

@ -0,0 +1,7 @@
import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createStateScopeMap';
export const isRecordBoardDeprecatedLoadedScopedState =
createStateScopeMap<boolean>({
key: 'isRecordBoardDeprecatedLoadedScopedState',
defaultValue: false,
});

View File

@ -1,5 +1,5 @@
import { FieldMetadata } from '@/object-record/field/types/FieldMetadata'; import { FieldMetadata } from '@/object-record/field/types/FieldMetadata';
import { BoardFieldDefinition } from '@/object-record/record-board/types/BoardFieldDefinition'; import { BoardFieldDefinition } from '@/object-record/record-board-deprecated/types/BoardFieldDefinition';
import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createStateScopeMap'; import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createStateScopeMap';
export const onFieldsChangeScopedState = createStateScopeMap< export const onFieldsChangeScopedState = createStateScopeMap<

View File

@ -1,4 +1,4 @@
import { BoardColumnDefinition } from '@/object-record/record-board/types/BoardColumnDefinition'; import { BoardColumnDefinition } from '@/object-record/record-board-deprecated/types/BoardColumnDefinition';
import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createStateScopeMap'; import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createStateScopeMap';
export const recordBoardColumnsScopedState = createStateScopeMap< export const recordBoardColumnsScopedState = createStateScopeMap<

View File

@ -3,9 +3,8 @@ import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createSta
import { BoardFieldDefinition } from '../types/BoardFieldDefinition'; import { BoardFieldDefinition } from '../types/BoardFieldDefinition';
export const savedRecordBoardCardFieldsScopedState = createStateScopeMap< export const savedRecordBoardDeprecatedCardFieldsScopedState =
BoardFieldDefinition<FieldMetadata>[] createStateScopeMap<BoardFieldDefinition<FieldMetadata>[]>({
>({ key: 'savedRecordBoardDeprecatedCardFieldsScopedState',
key: 'savedRecordBoardCardFieldsScopedState', defaultValue: [],
defaultValue: [], });
});

View File

@ -2,9 +2,9 @@ import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createSta
import { BoardColumnDefinition } from '../types/BoardColumnDefinition'; import { BoardColumnDefinition } from '../types/BoardColumnDefinition';
export const savedRecordBoardColumnsScopedState = createStateScopeMap< export const savedRecordBoardDeprecatedColumnsScopedState = createStateScopeMap<
BoardColumnDefinition[] BoardColumnDefinition[]
>({ >({
key: 'savedRecordBoardColumnsScopedState', key: 'savedRecordBoardDeprecatedColumnsScopedState',
defaultValue: [], defaultValue: [],
}); });

View File

@ -1,11 +1,11 @@
import { createSelectorScopeMap } from '@/ui/utilities/recoil-scope/utils/createSelectorScopeMap'; import { createSelectorScopeMap } from '@/ui/utilities/recoil-scope/utils/createSelectorScopeMap';
import { availableRecordBoardCardFieldsScopedState } from '../availableRecordBoardCardFieldsScopedState'; import { availableRecordBoardDeprecatedCardFieldsScopedState } from '../availableRecordBoardDeprecatedCardFieldsScopedState';
import { recordBoardCardFieldsScopedState } from '../recordBoardCardFieldsScopedState'; import { recordBoardCardFieldsScopedState } from '../recordBoardDeprecatedCardFieldsScopedState';
export const hiddenRecordBoardCardFieldsScopedSelector = createSelectorScopeMap( export const hiddenRecordBoardDeprecatedCardFieldsScopedSelector =
{ createSelectorScopeMap({
key: 'hiddenRecordBoardCardFieldsScopedSelector', key: 'hiddenRecordBoardDeprecatedCardFieldsScopedSelector',
get: get:
({ scopeId }) => ({ scopeId }) =>
({ get }) => { ({ get }) => {
@ -13,7 +13,7 @@ export const hiddenRecordBoardCardFieldsScopedSelector = createSelectorScopeMap(
const fieldKeys = fields.map(({ fieldMetadataId }) => fieldMetadataId); const fieldKeys = fields.map(({ fieldMetadataId }) => fieldMetadataId);
const otherAvailableKeys = get( const otherAvailableKeys = get(
availableRecordBoardCardFieldsScopedState({ scopeId }), availableRecordBoardDeprecatedCardFieldsScopedState({ scopeId }),
).filter(({ fieldMetadataId }) => !fieldKeys.includes(fieldMetadataId)); ).filter(({ fieldMetadataId }) => !fieldKeys.includes(fieldMetadataId));
return [ return [
@ -21,5 +21,4 @@ export const hiddenRecordBoardCardFieldsScopedSelector = createSelectorScopeMap(
...otherAvailableKeys, ...otherAvailableKeys,
]; ];
}, },
}, });
);

View File

@ -3,7 +3,7 @@ import { selectorFamily } from 'recoil';
import { FieldMetadata } from '@/object-record/field/types/FieldMetadata'; import { FieldMetadata } from '@/object-record/field/types/FieldMetadata';
import { BoardFieldDefinition } from '../../types/BoardFieldDefinition'; import { BoardFieldDefinition } from '../../types/BoardFieldDefinition';
import { recordBoardCardFieldsScopedState } from '../recordBoardCardFieldsScopedState'; import { recordBoardCardFieldsScopedState } from '../recordBoardDeprecatedCardFieldsScopedState';
export const recordBoardCardFieldsByKeyScopedSelector = selectorFamily({ export const recordBoardCardFieldsByKeyScopedSelector = selectorFamily({
key: 'recordBoardCardFieldsByKeyScopedSelector', key: 'recordBoardCardFieldsByKeyScopedSelector',

View File

@ -0,0 +1,27 @@
import { createSelectorScopeMap } from '@/ui/utilities/recoil-scope/utils/createSelectorScopeMap';
import { isRecordBoardDeprecatedCardSelectedFamilyState } from '../isRecordBoardDeprecatedCardSelectedFamilyState';
import { recordBoardCardIdsByColumnIdFamilyState } from '../recordBoardCardIdsByColumnIdFamilyState';
import { recordBoardColumnsScopedState } from '../recordBoardColumnsScopedState';
export const selectedRecordBoardDeprecatedCardIdsScopedSelector =
createSelectorScopeMap<string[]>({
key: 'selectedRecordBoardDeprecatedCardIdsScopedSelector',
get:
({ scopeId }) =>
({ get }) => {
const boardColumns = get(recordBoardColumnsScopedState({ scopeId }));
const cardIds = boardColumns.flatMap((boardColumn) =>
get(recordBoardCardIdsByColumnIdFamilyState(boardColumn.id)),
);
const selectedCardIds = cardIds.filter(
(cardId) =>
get(isRecordBoardDeprecatedCardSelectedFamilyState(cardId)) ===
true,
);
return selectedCardIds;
},
});

View File

@ -1,10 +1,10 @@
import { createSelectorScopeMap } from '@/ui/utilities/recoil-scope/utils/createSelectorScopeMap'; import { createSelectorScopeMap } from '@/ui/utilities/recoil-scope/utils/createSelectorScopeMap';
import { recordBoardCardFieldsScopedState } from '../recordBoardCardFieldsScopedState'; import { recordBoardCardFieldsScopedState } from '../recordBoardDeprecatedCardFieldsScopedState';
export const visibleRecordBoardCardFieldsScopedSelector = export const visibleRecordBoardDeprecatedCardFieldsScopedSelector =
createSelectorScopeMap({ createSelectorScopeMap({
key: 'visibleRecordBoardCardFieldsScopedSelector', key: 'visibleRecordBoardDeprecatedCardFieldsScopedSelector',
get: get:
({ scopeId }) => ({ scopeId }) =>
({ get }) => ({ get }) =>

View File

@ -1,33 +1,33 @@
import { activeRecordBoardCardIdsScopedState } from '@/object-record/record-board/states/activeRecordBoardCardIdsScopedState'; import { activeRecordBoardDeprecatedCardIdsScopedState } from '@/object-record/record-board-deprecated/states/activeRecordBoardDeprecatedCardIdsScopedState';
import { availableRecordBoardCardFieldsScopedState } from '@/object-record/record-board/states/availableRecordBoardCardFieldsScopedState'; import { availableRecordBoardDeprecatedCardFieldsScopedState } from '@/object-record/record-board-deprecated/states/availableRecordBoardDeprecatedCardFieldsScopedState';
import { isCompactViewEnabledScopedState } from '@/object-record/record-board/states/isCompactViewEnabledScopedState'; import { isCompactViewEnabledScopedState } from '@/object-record/record-board-deprecated/states/isCompactViewEnabledScopedState';
import { isRecordBoardLoadedScopedState } from '@/object-record/record-board/states/isRecordBoardLoadedScopedState'; import { isRecordBoardDeprecatedLoadedScopedState } from '@/object-record/record-board-deprecated/states/isRecordBoardDeprecatedLoadedScopedState';
import { onFieldsChangeScopedState } from '@/object-record/record-board/states/onFieldsChangeScopedState'; import { onFieldsChangeScopedState } from '@/object-record/record-board-deprecated/states/onFieldsChangeScopedState';
import { recordBoardColumnsScopedState } from '@/object-record/record-board/states/recordBoardColumnsScopedState'; import { recordBoardColumnsScopedState } from '@/object-record/record-board-deprecated/states/recordBoardColumnsScopedState';
import { recordBoardFiltersScopedState } from '@/object-record/record-board/states/recordBoardFiltersScopedState'; import { recordBoardFiltersScopedState } from '@/object-record/record-board-deprecated/states/recordBoardDeprecatedFiltersScopedState';
import { recordBoardSortsScopedState } from '@/object-record/record-board/states/recordBoardSortsScopedState'; import { recordBoardSortsScopedState } from '@/object-record/record-board-deprecated/states/recordBoardDeprecatedSortsScopedState';
import { savedOpportunitiesScopedState } from '@/object-record/record-board/states/savedOpportunitiesScopedState'; import { savedOpportunitiesScopedState } from '@/object-record/record-board-deprecated/states/savedOpportunitiesScopedState';
import { savedPipelineStepsScopedState } from '@/object-record/record-board/states/savedPipelineStepsScopedState'; import { savedPipelineStepsScopedState } from '@/object-record/record-board-deprecated/states/savedPipelineStepsScopedState';
import { savedRecordBoardColumnsScopedState } from '@/object-record/record-board/states/savedRecordBoardColumnsScopedState'; import { savedRecordBoardDeprecatedColumnsScopedState } from '@/object-record/record-board-deprecated/states/savedRecordBoardDeprecatedColumnsScopedState';
import { savedRecordsScopedState } from '@/object-record/record-board/states/savedRecordsScopedState'; import { savedRecordsScopedState } from '@/object-record/record-board-deprecated/states/savedRecordsScopedState';
import { hiddenRecordBoardCardFieldsScopedSelector } from '@/object-record/record-board/states/selectors/hiddenRecordBoardCardFieldsScopedSelector'; import { hiddenRecordBoardDeprecatedCardFieldsScopedSelector } from '@/object-record/record-board-deprecated/states/selectors/hiddenRecordBoardDeprecatedCardFieldsScopedSelector';
import { recordBoardCardFieldsByKeyScopedSelector } from '@/object-record/record-board/states/selectors/recordBoardCardFieldsByKeyScopedSelector'; import { recordBoardCardFieldsByKeyScopedSelector } from '@/object-record/record-board-deprecated/states/selectors/recordBoardDeprecatedCardFieldsByKeyScopedSelector';
import { selectedRecordBoardCardIdsScopedSelector } from '@/object-record/record-board/states/selectors/selectedRecordBoardCardIdsScopedSelector'; import { selectedRecordBoardDeprecatedCardIdsScopedSelector } from '@/object-record/record-board-deprecated/states/selectors/selectedRecordBoardDeprecatedCardIdsScopedSelector';
import { visibleRecordBoardCardFieldsScopedSelector } from '@/object-record/record-board/states/selectors/visibleRecordBoardCardFieldsScopedSelector'; import { visibleRecordBoardDeprecatedCardFieldsScopedSelector } from '@/object-record/record-board-deprecated/states/selectors/visibleRecordBoardDeprecatedCardFieldsScopedSelector';
import { getScopedStateDeprecated } from '@/ui/utilities/recoil-scope/utils/getScopedStateDeprecated'; import { getScopedStateDeprecated } from '@/ui/utilities/recoil-scope/utils/getScopedStateDeprecated';
export const getRecordBoardScopedStates = ({ export const getRecordBoardDeprecatedScopedStates = ({
recordBoardScopeId, recordBoardScopeId,
}: { }: {
recordBoardScopeId: string; recordBoardScopeId: string;
}) => { }) => {
const activeCardIdsState = getScopedStateDeprecated( const activeCardIdsState = getScopedStateDeprecated(
activeRecordBoardCardIdsScopedState, activeRecordBoardDeprecatedCardIdsScopedState,
recordBoardScopeId, recordBoardScopeId,
); );
const availableBoardCardFieldsState = getScopedStateDeprecated( const availableBoardCardFieldsState = getScopedStateDeprecated(
availableRecordBoardCardFieldsScopedState, availableRecordBoardDeprecatedCardFieldsScopedState,
recordBoardScopeId, recordBoardScopeId,
); );
@ -37,7 +37,7 @@ export const getRecordBoardScopedStates = ({
); );
const isBoardLoadedState = getScopedStateDeprecated( const isBoardLoadedState = getScopedStateDeprecated(
isRecordBoardLoadedScopedState, isRecordBoardDeprecatedLoadedScopedState,
recordBoardScopeId, recordBoardScopeId,
); );
@ -47,7 +47,7 @@ export const getRecordBoardScopedStates = ({
); );
const savedBoardColumnsState = getScopedStateDeprecated( const savedBoardColumnsState = getScopedStateDeprecated(
savedRecordBoardColumnsScopedState, savedRecordBoardDeprecatedColumnsScopedState,
recordBoardScopeId, recordBoardScopeId,
); );
@ -86,16 +86,17 @@ export const getRecordBoardScopedStates = ({
recordBoardCardFieldsByKeyScopedSelector(recordBoardScopeId); recordBoardCardFieldsByKeyScopedSelector(recordBoardScopeId);
const hiddenBoardCardFieldsSelector = const hiddenBoardCardFieldsSelector =
hiddenRecordBoardCardFieldsScopedSelector({ hiddenRecordBoardDeprecatedCardFieldsScopedSelector({
scopeId: recordBoardScopeId, scopeId: recordBoardScopeId,
}); });
const selectedCardIdsSelector = selectedRecordBoardCardIdsScopedSelector({ const selectedCardIdsSelector =
scopeId: recordBoardScopeId, selectedRecordBoardDeprecatedCardIdsScopedSelector({
}); scopeId: recordBoardScopeId,
});
const visibleBoardCardFieldsSelector = const visibleBoardCardFieldsSelector =
visibleRecordBoardCardFieldsScopedSelector({ visibleRecordBoardDeprecatedCardFieldsScopedSelector({
scopeId: recordBoardScopeId, scopeId: recordBoardScopeId,
}); });

View File

@ -1,10 +0,0 @@
import { useRecoilValue } from 'recoil';
import { useRecordBoardScopedStates } from '@/object-record/record-board/hooks/internal/useRecordBoardScopedStates';
import { ContextMenu } from '@/ui/navigation/context-menu/components/ContextMenu';
export const RecordBoardContextMenu = () => {
const { selectedCardIdsSelector } = useRecordBoardScopedStates();
const selectedCardIds = useRecoilValue(selectedCardIdsSelector);
return <ContextMenu selectedIds={selectedCardIds}></ContextMenu>;
};

View File

@ -1,23 +0,0 @@
import { ReactNode } from 'react';
import { RecordBoardScopeInternalContext } from '@/object-record/record-board/scopes/scope-internal-context/RecordBoardScopeInternalContext';
type RecordBoardScopeProps = {
children: ReactNode;
recordBoardScopeId: string;
};
export const RecordBoardScope = ({
children,
recordBoardScopeId,
}: RecordBoardScopeProps) => {
return (
<RecordBoardScopeInternalContext.Provider
value={{
scopeId: recordBoardScopeId,
}}
>
{children}
</RecordBoardScopeInternalContext.Provider>
);
};

View File

@ -1,8 +0,0 @@
import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createStateScopeMap';
export const activeRecordBoardCardIdsScopedState = createStateScopeMap<
string[]
>({
key: 'activeRecordBoardCardIdsScopedState',
defaultValue: [],
});

View File

@ -1,9 +0,0 @@
import { atomFamily } from 'recoil';
export const isRecordBoardCardInCompactViewFamilyState = atomFamily<
boolean,
string
>({
key: 'isRecordBoardCardInCompactViewFamilyState',
default: true,
});

View File

@ -1,8 +0,0 @@
import { atomFamily } from 'recoil';
export const isRecordBoardCardSelectedFamilyState = atomFamily<boolean, string>(
{
key: 'isRecordBoardCardSelectedFamilyState',
default: false,
},
);

View File

@ -1,6 +0,0 @@
import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createStateScopeMap';
export const isRecordBoardLoadedScopedState = createStateScopeMap<boolean>({
key: 'isRecordBoardLoadedScopedState',
defaultValue: false,
});

View File

@ -1,26 +0,0 @@
import { createSelectorScopeMap } from '@/ui/utilities/recoil-scope/utils/createSelectorScopeMap';
import { isRecordBoardCardSelectedFamilyState } from '../isRecordBoardCardSelectedFamilyState';
import { recordBoardCardIdsByColumnIdFamilyState } from '../recordBoardCardIdsByColumnIdFamilyState';
import { recordBoardColumnsScopedState } from '../recordBoardColumnsScopedState';
export const selectedRecordBoardCardIdsScopedSelector = createSelectorScopeMap<
string[]
>({
key: 'selectedRecordBoardCardIdsScopedSelector',
get:
({ scopeId }) =>
({ get }) => {
const boardColumns = get(recordBoardColumnsScopedState({ scopeId }));
const cardIds = boardColumns.flatMap((boardColumn) =>
get(recordBoardCardIdsByColumnIdFamilyState(boardColumn.id)),
);
const selectedCardIds = cardIds.filter(
(cardId) => get(isRecordBoardCardSelectedFamilyState(cardId)) === true,
);
return selectedCardIds;
},
});

View File

@ -1,5 +1,5 @@
import { OpportunityPicker } from '@/companies/components/OpportunityPicker'; import { OpportunityPicker } from '@/companies/components/OpportunityPicker';
import { useCreateOpportunity } from '@/object-record/record-board/hooks/internal/useCreateOpportunity'; import { useCreateOpportunity } from '@/object-record/record-board-deprecated/hooks/internal/useCreateOpportunity';
import { EntityForSelect } from '@/object-record/relation-picker/types/EntityForSelect'; import { EntityForSelect } from '@/object-record/relation-picker/types/EntityForSelect';
import { RelationPickerHotkeyScope } from '@/object-record/relation-picker/types/RelationPickerHotkeyScope'; import { RelationPickerHotkeyScope } from '@/object-record/relation-picker/types/RelationPickerHotkeyScope';
import { PageHotkeyScope } from '@/types/PageHotkeyScope'; import { PageHotkeyScope } from '@/types/PageHotkeyScope';

View File

@ -4,7 +4,7 @@ import { MockedProvider } from '@apollo/client/testing';
import { renderHook } from '@testing-library/react'; import { renderHook } from '@testing-library/react';
import { RecoilRoot, useSetRecoilState } from 'recoil'; import { RecoilRoot, useSetRecoilState } from 'recoil';
import { BoardColumnDefinition } from '@/object-record/record-board/types/BoardColumnDefinition'; import { BoardColumnDefinition } from '@/object-record/record-board-deprecated/types/BoardColumnDefinition';
import { currentPipelineState } from '@/pipeline/states/currentPipelineState'; import { currentPipelineState } from '@/pipeline/states/currentPipelineState';
import { import {

View File

@ -3,7 +3,7 @@ import { useRecoilCallback } from 'recoil';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord'; import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord';
import { useDeleteOneRecord } from '@/object-record/hooks/useDeleteOneRecord'; import { useDeleteOneRecord } from '@/object-record/hooks/useDeleteOneRecord';
import { BoardColumnDefinition } from '@/object-record/record-board/types/BoardColumnDefinition'; import { BoardColumnDefinition } from '@/object-record/record-board-deprecated/types/BoardColumnDefinition';
import { currentPipelineState } from '@/pipeline/states/currentPipelineState'; import { currentPipelineState } from '@/pipeline/states/currentPipelineState';
import { PipelineStep } from '@/pipeline/types/PipelineStep'; import { PipelineStep } from '@/pipeline/types/PipelineStep';

View File

@ -1,5 +1,5 @@
import { FieldMetadata } from '@/object-record/field/types/FieldMetadata'; import { FieldMetadata } from '@/object-record/field/types/FieldMetadata';
import { BoardFieldDefinition } from '@/object-record/record-board/types/BoardFieldDefinition'; import { BoardFieldDefinition } from '@/object-record/record-board-deprecated/types/BoardFieldDefinition';
import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition'; import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition';
export type ViewField = { export type ViewField = {

View File

@ -1,7 +1,7 @@
import { FieldMetadata } from '@/object-record/field/types/FieldMetadata'; import { FieldMetadata } from '@/object-record/field/types/FieldMetadata';
import { Filter } from '@/object-record/object-filter-dropdown/types/Filter'; import { Filter } from '@/object-record/object-filter-dropdown/types/Filter';
import { Sort } from '@/object-record/object-sort-dropdown/types/Sort'; import { Sort } from '@/object-record/object-sort-dropdown/types/Sort';
import { BoardFieldDefinition } from '@/object-record/record-board/types/BoardFieldDefinition'; import { BoardFieldDefinition } from '@/object-record/record-board-deprecated/types/BoardFieldDefinition';
import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition'; import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition';
import { ViewField } from '@/views/types/ViewField'; import { ViewField } from '@/views/types/ViewField';
import { ViewFilter } from '@/views/types/ViewFilter'; import { ViewFilter } from '@/views/types/ViewFilter';

View File

@ -1,5 +1,5 @@
import { FieldMetadata } from '@/object-record/field/types/FieldMetadata'; import { FieldMetadata } from '@/object-record/field/types/FieldMetadata';
import { BoardFieldDefinition } from '@/object-record/record-board/types/BoardFieldDefinition'; import { BoardFieldDefinition } from '@/object-record/record-board-deprecated/types/BoardFieldDefinition';
import { assertNotNull } from '~/utils/assert'; import { assertNotNull } from '~/utils/assert';
import { ViewField } from '../types/ViewField'; import { ViewField } from '../types/ViewField';

View File

@ -1,6 +1,6 @@
import { CompanyBoardCard } from '@/companies/components/CompanyBoardCard'; import { CompanyBoardCard } from '@/companies/components/CompanyBoardCard';
import { NewOpportunityButton } from '@/companies/components/NewOpportunityButton'; import { NewOpportunityButton } from '@/companies/components/NewOpportunityButton';
import { BoardOptions } from '@/object-record/record-board/types/BoardOptions'; import { BoardOptions } from '@/object-record/record-board-deprecated/types/BoardOptions';
import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope'; import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope';
export const opportunitiesBoardOptions: BoardOptions = { export const opportunitiesBoardOptions: BoardOptions = {