openedx / openedx/frontend-app-authoring
Merge DraggableList implementations
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 17
- Forks
- 218
- Avg merge
- 9d 20h
- Merged PRs (30d)
- 20
Description
This repo has two very similar implementations of DraggableList:
- https://github.com/openedx/frontend-app-authoring/blob/fdf98a140/src/generic/DraggableList/DraggableList.jsx
- https://github.com/openedx/frontend-app-authoring/blob/fdf98a140/src/course-outline/drag-helper/DraggableList.tsx
The historic reason is that component 1 was part of the editors code, which used to be a separate repo. Now that the editors live in the same repo, there are quite a few redundancies like this.
If possible, they should be merged into a single DraggableList component that works for all the use cases currently covered by both. Make sure the final result uses TypeScript and has no console warnings.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare the two named implementations: src/generic/DraggableList/DraggableList.jsx and src/course-outline/drag-helper/DraggableList.tsx, then inspect how each is used. Determine the shared component API needed for both current use cases. Done means one TypeScript DraggableList replaces both implementations and the result produces no console warnings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- frontend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100