Skip to content

Commit

Permalink
[MC-111] [web] fix: select 로직 수정으로 화면 분할 시 로직이 깨지는 에러 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
seonghunYang authored Sep 21, 2024
1 parent 66eb73c commit 36a8a28
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export const useSelectedIndicatorBoardMetadata = () => {
const { trigger: deleteCustomForecastIndicatorTrigger } =
useDeleteCustomForecastIndicatorFromMetadata(selectedMetadataId);

const { addMetadataToIndicatorBoard, deleteMetadataFromIndicatorBoard } = useSplitIndicatorBoard();
const { addMetadataToIndicatorBoard } = useSplitIndicatorBoard();

const convertedIndicatorBoardMetadataList = useMemo(() => {
if (!indicatorBoardMetadataList) return undefined;
Expand All @@ -35,7 +35,12 @@ export const useSelectedIndicatorBoardMetadata = () => {

useEffect(() => {
if (!selectedMetadataId && convertedIndicatorBoardMetadataList?.formattedIndicatorBoardMetadataList.length) {
selectMetadataById(convertedIndicatorBoardMetadataList?.formattedIndicatorBoardMetadataList[0].id);
const isSuccess = addMetadataToIndicatorBoard(
convertedIndicatorBoardMetadataList?.formattedIndicatorBoardMetadataList[0].id,
);
if (isSuccess) {
selectMetadataById(convertedIndicatorBoardMetadataList?.formattedIndicatorBoardMetadataList[0].id);
}
}
}, [selectedMetadataId, convertedIndicatorBoardMetadataList]);

Expand Down Expand Up @@ -132,20 +137,10 @@ export const useSelectedIndicatorBoardMetadata = () => {
);
};

function selectMetadataById(metadataId: string) {
const isSuccess = addMetadataToIndicatorBoard(metadataId);
if (isSuccess) {
selectMetadata(metadataId);
activeTab();
}
}
function selectMetadataById(metadataId: string | undefined) {
selectMetadata(metadataId);

function unselectMetadataById(metadataId: string) {
const isSelected = selectedMetadata?.id === metadataId;
deleteMetadataFromIndicatorBoard(metadataId);
if (isSelected) {
selectMetadata(undefined);
}
activeTab();
}

return {
Expand All @@ -156,6 +151,5 @@ export const useSelectedIndicatorBoardMetadata = () => {
addCustomForecastIndicatorToMetadata,
selectMetadataById,
deleteCustomForecastIndicatorFromMetadata,
unselectMetadataById,
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import { useIndicatorBoard } from '@/app/business/hooks/numerical-guidance/indic
import MetadataListItemRow from './metadata-list-item-row';
import { useLogger } from '@/app/logging/use-logger.hook';
import MetadataListItemDraggableRow from './metadata-list-item-draggable-row';
import { useSplitIndicatorBoard } from '@/app/business/hooks/numerical-guidance/indicator-board/use-split-indicator-board.hook';

type MetadataListItemProps = {
item: IndicatorBoardMetadata;
Expand All @@ -26,12 +27,14 @@ export default function MetadataListItem({ item }: MetadataListItemProps) {

const [activeDragItemId, setActiveDragItemId] = useState<string | null>(null);
const { dialogPositionRef: iconButtonRef, openDialogWithPayload } = useDialog(DIALOG_KEY.METADATA_EDIT_MENU);
const { selectedMetadata, selectMetadataById, unselectMetadataById } = useSelectedIndicatorBoardMetadata();
const { selectedMetadata, selectMetadataById } = useSelectedIndicatorBoardMetadata();
const { indicatorBoardMetadata, updateIndicatorIdsWithsectionIds } = useIndicatorBoardMetadataViewModel(item.id);
const [indicatorIdsWithSectionIds, setIndicatorIdsWithsectionIds] = useState<{ [key: string]: string[] } | undefined>(
indicatorBoardMetadata?.indicatorIdsWithSectionIds,
);

const { addMetadataToIndicatorBoard, deleteMetadataFromIndicatorBoard } = useSplitIndicatorBoard();

const { checkMetadataInIndicatorBoard } = useIndicatorBoard(item.id);

useEffect(() => {
Expand All @@ -52,11 +55,17 @@ export default function MetadataListItem({ item }: MetadataListItemProps) {
logger.track('click_metadata_item', {
value: item.id,
});
selectMetadataById(item.id);
const isSuccess = addMetadataToIndicatorBoard(item.id);
if (isSuccess) {
selectMetadataById(item.id);
}
};

const handleDeSelect = () => {
unselectMetadataById(item.id);
deleteMetadataFromIndicatorBoard(item.id);
if (isSelected) {
selectMetadataById(undefined);
}
};

const handleIconButton = () => {
Expand Down

0 comments on commit 36a8a28

Please sign in to comment.