v3
v3 copied to clipboard
Let users to organize posts with folders
Steps:
- Create a design document that explains the high-level design decisions behind the organization system.
- Create an implementation document that covers how data is stored, how data mutates when folders are created, moved, etc.
- Break-up the feature into small, independent tasks that can be divided among all of us
Yep, done- drag and drop
For the 2nd iteration:
- [BUG] Whenever a CRUD operation is performed on folders, ensure folders that were open remain open and folders that were closed remain closed
- [CODE QUALITY] Update legacy posts (i.e. ones of the old schema without folder properties / order properties etc.) all at once by running something like:
for class in classes: for post in this.$_getCollection(db.collection(classes/${class.id}
posts))if (!post.order) // update the post with a new order property
After the data migration, the method that ensures backward compatibility can be safely removed from the codebase - [BUG] For touch devices, it's no longer to scroll through the list of posts and questions because the scroll event is intercepted by the drag-and-drop event. A potential solution is to put a draggable icon "usually denoted by 3 horizontal lines" on the right of each post, signaling to the user that they can initiate a drag-and-drop operation by touching/clicking there.
The below is just copy-and-pasted from previous issues related to folders. For simplicity I'm centralizing all those issues into one place into this comment (therefore many information might be outdated):
- Cannot move the last 2 posts in Core Team into any folders
- Renaming folders doesn't refresh UI
- Dragging any post p above the first untagged post causes post p to disappear
- New subfolders don't show up on the UI after being created
[BUG] Opening a new folder will open all previously opened folders #135 If incrementKeyToDestroy is no longer used, then the solution could potentially be as simple as removing the use of openedFolderIndices
We still need openedFolderIndices as we rerender v-treeview on adding/updating any folder.