Enable column edition, and fix ordering (#683)

* Enable column edition, and fix ordering

* Move queries to services

* Add total amounts for board columns

* Refactor totals selector as a family

* Fix 0-index issue

* Lint

* Rename selector

* Remove useless header

* Address PR comments

* Optimistically update board column names
This commit is contained in:
Emilien Chauvet
2023-07-15 19:32:16 -07:00
committed by GitHub
parent be21392737
commit 91c8068db1
43 changed files with 299 additions and 88 deletions

View File

@ -1,11 +1,15 @@
import { useEffect } from 'react';
import { useRecoilCallback, useRecoilState } from 'recoil';
import { companyProgressesFamilyState } from '@/companies/states/companyProgressesFamilyState';
import {
CompanyForBoard,
CompanyProgress,
PipelineProgressForBoard,
} from '@/companies/types/CompanyProgress';
import { boardState } from '@/pipeline-progress/states/boardState';
import { currentPipelineState } from '@/pipeline-progress/states/currentPipelineState';
import { isBoardLoadedState } from '@/pipeline-progress/states/isBoardLoadedState';
import { BoardPipelineStageColumn } from '@/ui/board/components/Board';
import {
Pipeline,
@ -15,11 +19,6 @@ import {
useGetPipelinesQuery,
} from '~/generated/graphql';
import { boardState } from '../../modules/pipeline-progress/states/boardState';
import { companyProgressesFamilyState } from './companyProgressesFamilyState';
import { currentPipelineState } from './currentPipelineState';
import { isBoardLoadedState } from './isBoardLoadedState';
export function HookCompanyBoard() {
const [currentPipeline, setCurrentPipeline] =
useRecoilState(currentPipelineState);
@ -44,6 +43,7 @@ export function HookCompanyBoard() {
pipelineStageId: pipelineStage.id,
title: pipelineStage.name,
colorCode: pipelineStage.color,
index: pipelineStage.index || 0,
pipelineProgressIds:
pipelineStage.pipelineProgresses?.map(
(item) => item.id as string,

View File

@ -1,11 +0,0 @@
import { atomFamily } from 'recoil';
import { CompanyProgress } from '@/companies/types/CompanyProgress';
export const companyProgressesFamilyState = atomFamily<
CompanyProgress | undefined,
string
>({
key: 'companyProgressesFamilyState',
default: undefined,
});

View File

@ -1,8 +0,0 @@
import { atom } from 'recoil';
import { Pipeline } from '~/generated/graphql';
export const currentPipelineState = atom<Pipeline | undefined>({
key: 'currentPipelineState',
default: undefined,
});

View File

@ -1,6 +0,0 @@
import { atom } from 'recoil';
export const isBoardLoadedState = atom<boolean>({
key: 'isBoardLoadedState',
default: false,
});