Update company card (#512)

* Add card rows

* WIP - add amount

* Refactor board state to separate pipeline progress data and company data

* Add migration and generated code

* Pass pipeline progress properties to the comapny card

* WIP-editable

* Enable amount edition

* Nits

* Remove useless import

* Fix empty board bug

* Use cell for editable values on company card

* Add fields

* Enable edition for closeDate

* Add dummy edits for recurring and probability

* Nits

* remove useless fields

* Nits

* Fix user provider

* Add generated code

* Fix nits, reorder migrations, fix login

* Fix tests

* Fix lint
This commit is contained in:
Emilien Chauvet
2023-07-06 18:41:44 -07:00
committed by GitHub
parent 1144bd13ed
commit 7d6adbaa73
68 changed files with 721 additions and 108 deletions

View File

@ -11,6 +11,7 @@ import {
PipelineStage,
useGetPipelinesQuery,
useUpdateOnePipelineProgressMutation,
useUpdateOnePipelineProgressStageMutation,
} from '../../generated/graphql';
import { Board } from '../../modules/pipeline-progress/components/Board';
import { useBoard } from '../../modules/pipeline-progress/hooks/useBoard';
@ -32,17 +33,37 @@ export function Opportunities() {
[initialBoard],
);
const [updatePipelineProgress] = useUpdateOnePipelineProgressMutation();
const [updatePipelineProgressStage] =
useUpdateOnePipelineProgressStageMutation();
const onUpdate = useCallback(
const handleCardUpdate = useCallback(
async (
pipelineProgress: Pick<PipelineProgress, 'id' | 'amount' | 'closeDate'>,
) => {
updatePipelineProgress({
variables: {
id: pipelineProgress.id,
amount: pipelineProgress.amount,
closeDate: pipelineProgress.closeDate || null,
},
});
},
[updatePipelineProgress],
);
const handleCardMove = useCallback(
async (
pipelineProgressId: NonNullable<PipelineProgress['id']>,
pipelineStageId: NonNullable<PipelineStage['id']>,
) => {
updatePipelineProgress({
variables: { id: pipelineProgressId, pipelineStageId },
updatePipelineProgressStage({
variables: {
id: pipelineProgressId,
pipelineStageId,
},
});
},
[updatePipelineProgress],
[updatePipelineProgressStage],
);
return (
@ -57,7 +78,8 @@ export function Opportunities() {
columns={columns || []}
initialBoard={initialBoard}
initialItems={items}
onUpdate={onUpdate}
onCardMove={handleCardMove}
onCardUpdate={handleCardUpdate}
/>
<EntityBoardActionBar>
<BoardActionBarButtonDeletePipelineProgress />