Tag current board as deprecated to make room for the new record board implementation (#3601)
This commit is contained in:
@ -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}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -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';
|
||||||
|
|||||||
@ -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', () => {
|
||||||
|
|||||||
@ -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 = (
|
||||||
|
|||||||
@ -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,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
@ -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>;
|
||||||
};
|
};
|
||||||
@ -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>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
@ -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();
|
||||||
@ -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}
|
||||||
@ -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}
|
||||||
@ -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',
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -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}
|
||||||
@ -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,
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -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,
|
||||||
@ -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 = {};
|
||||||
@ -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>;
|
||||||
|
};
|
||||||
@ -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);
|
||||||
@ -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', () => ({
|
||||||
@ -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),
|
||||||
}),
|
}),
|
||||||
@ -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,
|
||||||
@ -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,
|
||||||
};
|
};
|
||||||
@ -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,
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
@ -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);
|
||||||
@ -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,
|
||||||
};
|
};
|
||||||
@ -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),
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -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'),
|
||||||
@ -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 = () => {
|
||||||
@ -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) {
|
||||||
@ -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 }) =>
|
||||||
@ -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([
|
||||||
@ -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(
|
||||||
@ -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();
|
||||||
@ -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([
|
||||||
@ -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,
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -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 }) =>
|
||||||
@ -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, []);
|
||||||
@ -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 }) =>
|
||||||
@ -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);
|
||||||
@ -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}
|
||||||
/>
|
/>
|
||||||
@ -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,
|
||||||
);
|
);
|
||||||
@ -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,
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -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>
|
||||||
|
);
|
||||||
|
};
|
||||||
@ -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>();
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createStateScopeMap';
|
||||||
|
|
||||||
|
export const activeRecordBoardDeprecatedCardIdsScopedState =
|
||||||
|
createStateScopeMap<string[]>({
|
||||||
|
key: 'activeRecordBoardDeprecatedCardIdsScopedState',
|
||||||
|
defaultValue: [],
|
||||||
|
});
|
||||||
@ -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: [],
|
});
|
||||||
});
|
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
import { atomFamily } from 'recoil';
|
||||||
|
|
||||||
|
export const isRecordBoardDeprecatedCardInCompactViewFamilyState = atomFamily<
|
||||||
|
boolean,
|
||||||
|
string
|
||||||
|
>({
|
||||||
|
key: 'isRecordBoardDeprecatedCardInCompactViewFamilyState',
|
||||||
|
default: true,
|
||||||
|
});
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
import { atomFamily } from 'recoil';
|
||||||
|
|
||||||
|
export const isRecordBoardDeprecatedCardSelectedFamilyState = atomFamily<
|
||||||
|
boolean,
|
||||||
|
string
|
||||||
|
>({
|
||||||
|
key: 'isRecordBoardDeprecatedCardSelectedFamilyState',
|
||||||
|
default: false,
|
||||||
|
});
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createStateScopeMap';
|
||||||
|
|
||||||
|
export const isRecordBoardDeprecatedLoadedScopedState =
|
||||||
|
createStateScopeMap<boolean>({
|
||||||
|
key: 'isRecordBoardDeprecatedLoadedScopedState',
|
||||||
|
defaultValue: false,
|
||||||
|
});
|
||||||
@ -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<
|
||||||
@ -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<
|
||||||
@ -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: [],
|
});
|
||||||
});
|
|
||||||
@ -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: [],
|
||||||
});
|
});
|
||||||
@ -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,
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
},
|
});
|
||||||
);
|
|
||||||
@ -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',
|
||||||
@ -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;
|
||||||
|
},
|
||||||
|
});
|
||||||
@ -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 }) =>
|
||||||
@ -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,
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -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>;
|
|
||||||
};
|
|
||||||
@ -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>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createStateScopeMap';
|
|
||||||
|
|
||||||
export const activeRecordBoardCardIdsScopedState = createStateScopeMap<
|
|
||||||
string[]
|
|
||||||
>({
|
|
||||||
key: 'activeRecordBoardCardIdsScopedState',
|
|
||||||
defaultValue: [],
|
|
||||||
});
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
import { atomFamily } from 'recoil';
|
|
||||||
|
|
||||||
export const isRecordBoardCardInCompactViewFamilyState = atomFamily<
|
|
||||||
boolean,
|
|
||||||
string
|
|
||||||
>({
|
|
||||||
key: 'isRecordBoardCardInCompactViewFamilyState',
|
|
||||||
default: true,
|
|
||||||
});
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
import { atomFamily } from 'recoil';
|
|
||||||
|
|
||||||
export const isRecordBoardCardSelectedFamilyState = atomFamily<boolean, string>(
|
|
||||||
{
|
|
||||||
key: 'isRecordBoardCardSelectedFamilyState',
|
|
||||||
default: false,
|
|
||||||
},
|
|
||||||
);
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
import { createStateScopeMap } from '@/ui/utilities/recoil-scope/utils/createStateScopeMap';
|
|
||||||
|
|
||||||
export const isRecordBoardLoadedScopedState = createStateScopeMap<boolean>({
|
|
||||||
key: 'isRecordBoardLoadedScopedState',
|
|
||||||
defaultValue: false,
|
|
||||||
});
|
|
||||||
@ -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;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
@ -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';
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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';
|
||||||
|
|
||||||
|
|||||||
@ -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 = {
|
||||||
|
|||||||
@ -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';
|
||||||
|
|||||||
@ -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';
|
||||||
|
|||||||
@ -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 = {
|
||||||
|
|||||||
Reference in New Issue
Block a user