Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] Task 드래그앤드롭 기능 구현 #143

Merged
merged 9 commits into from
Jul 17, 2024

Conversation

Kjiw0n
Copy link
Contributor

@Kjiw0n Kjiw0n commented Jul 15, 2024

작업 내용 🧑‍💻

각 Task를 StagingArea <-> TargetArea 로 드래그앤드롭 하는 기능을 추가했습니다.

  • react-beautiful-dnd 라이브러리 사용했습니다!
  • 드래그앤드롭 기능 추가
  • 드래그할 때의 스타일링 추가

알게된 점 🚀

기록하며 개발하기!

react-beautiful-dnd 라이브러리 사용 방법

  • 드래그앤드롭 하고자하는 영역 DragDropContext 로 감쌈
  • 드롭할 영역 Droppable 으로 감쌈
  • 드래그할 아이템 Draggable 로 감쌈
  • 이때, DragDropContext의 필수 인자인 onDragEnd 은 드래그가 끝났을 때(드롭) 시에 발생하는 일을 처리하는 함수다.
  • {provided.placeholder} : drop될 때 공간을 만들기 위해서 필요하다고 한다. 나의 경우엔 기존 영역 + 드롭될 영역이 잡히는 바람에 화면 밖으로 요소가 밀려서, 지웠다. (없어도 동작 잘 된다)

리뷰 요구사항 💬

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

  • 정상 작동하는 지 확인 부탁드립니다!
  • 발생하는 Warning: Connect(Droppable): Support for defaultProps will be removed from memo components in a future major release. Use JavaScript default parameters instead. 에러는 뭐 추가해야해서 이슈 새로 파서 고칠 예정입니다!

문제 2가지 🥺

  • ScrollGradient 겹쳐보이는 문제 (콘하스 Task 봐주세요)
    이걸 하나하나 계산해서 해결할 수 있긴 한데 보다 더 좋은 방법을 제시해주시면 감사하겠습니다
    Jul-16-2024 04-18-22

  • 하아아 {provided.placeholder} > 이거 필수값! 가 정말 문제인데 해결법을 찾는 중입니다. 같이 고민 부탁드립니다..!

    • 다음과 같은 개발자에러를 마주하거나
      스크린샷 2024-07-16 04 16 49

    • 쏟아내기 부분에서... 저 버튼 밖으로 나가는 모습을 마주하거나 > 디자인에서 반려당함 근데 당연함
      Jul-16-2024 04-15-03

그래도 같이 고민해보고싶어서.. PR 올려두겠습니다!

관련 이슈

close #132

스크린샷 (선택)

Jul-16-2024 04-21-48

Copy link
Member

@seong-hui seong-hui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

현재 StagingArea 영역에 task가 존재하지 않으면 StagingAreaSetting의 배치가 왼쪽으로 붙어서 세팅 버튼의 위치가 변하고 있습니다 해당 부분 확인 부탁드립니당!!

return (
<StagingAreaLayout>
<StagingAreaContainer>
<StagingAreaUpContainer>
<StagingAreaTitle>쏟아내기</StagingAreaTitle>
<StagingAreaTaskContainer />
<Droppable droppableId="staging">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이런식으로 Droppable로 감싸서 드래그앤 드랍 영역과 대상을 지정할 수 있군요! 해당 라이브러리를 사용해본 경험이 없었는데 사용법에 대해서 알아갑니다!

@Kjiw0n Kjiw0n force-pushed the feat/#132-task-drag-and-drop branch 8 times, most recently from 6644427 to b5b3343 Compare July 17, 2024 10:02
@Kjiw0n Kjiw0n force-pushed the feat/#132-task-drag-and-drop branch from b5b3343 to 970a1cc Compare July 17, 2024 10:16
Copy link
Member

@jeeminyi jeeminyi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

잘 작동 되네요!!! 수고,, 많으셨습니다 ㅜㅜ 개큰엘지티엠 ㅜㅜㅜㅜ

@wrryu09 wrryu09 merged commit 5a81120 into develop Jul 17, 2024
2 checks passed
@wrryu09 wrryu09 deleted the feat/#132-task-drag-and-drop branch July 17, 2024 11:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[FEAT] 각 Task 드래그앤드롭 기능 구현
4 participants