[PR #1051] [CLOSED] Implement drag and drop based order in sidebar for local space #1111

Closed
opened 2026-03-03 00:24:41 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/BoostIO/BoostNote-App/pull/1051
Author: @Komediruzecki
Created: 7/14/2021
Status: Closed

Base: masterHead: feature/implement-ordered-ids


📝 Commits (1)

  • ae8d153 Implement drag and drop based order in sidebar for local space

📊 Changes

17 files changed (+867 additions, -281 deletions)

View changed files

📝 package-lock.json (+17 -0)
📝 package.json (+1 -0)
📝 src/components/App.tsx (+16 -1)
📝 src/components/organisms/FolderDetail.tsx (+6 -1)
📝 src/components/organisms/SidebarContainer.tsx (+16 -8)
📝 src/lib/db/FSNoteDb.ts (+158 -27)
📝 src/lib/db/PouchNoteDb.spec.ts (+8 -1)
📝 src/lib/db/PouchNoteDb.ts (+16 -1)
📝 src/lib/db/createStore.ts (+271 -101)
📝 src/lib/db/patterns.ts (+24 -1)
📝 src/lib/db/store.spec.ts (+4 -4)
📝 src/lib/db/types.ts (+10 -1)
📝 src/lib/db/utils.ts (+32 -0)
📝 src/lib/v2/hooks/local/useLocalDB.ts (+27 -11)
📝 src/lib/v2/hooks/local/useLocalDnd.ts (+219 -69)
📝 src/lib/v2/mappers/local/sidebarTree.tsx (+41 -54)
📝 src/lib/v2/stores/sidebarCollapse/store.tsx (+1 -1)

📄 Description

This PR also introduces few key changes and bugfixes:

  1. Storage loading is handled differently (all storages loaded nevertheless of errors, error ones stored for futher loading, any error is logged properly)
  2. Fixes a bug with regex being global and thus in particular situations creates wrong list of subfolders of a parent (not all)
  3. Fixes a bug with hide sidebar items, wrong keys used in SidebarContainer
  4. Implements drag and drop (with ordered IDs, real Folder IDs, few createStore and FSNote DB refactors, few minor bugfixes)

Add array move lib
Implemented orderedIds and DnD handling
Add logic for moving note or doc into note target
Add basic Database updates and API for orderedIds changes
Implement ordered IDs initialization in storages
Implement ordered IDs initializatio only in FSNote
Remove excess function from createStore

Updated handling of pouch DB in createStore
Add create note update for parent folder ordered IDs

Fix direct subfolders rather than all for create subfolders function
Add implementation of trash/untrash note workspace orderedIds

Update rename folder to update ordered IDs as well
Implement createNote update of ordered IDs (workspace)
Implement createFolder update of ordered IDs (workspace and parent folders)
Implement folder reordering
Implement moving of folders across different folder
Refactor folder IDs to use real IDs
Initialize real IDs (only FSNoteDB)
Update rename folder so that it handles realIDs updates (previous and new parent folders ordered IDs update)
Refactor code to use root folder instead of workspace ordered Ids
Refactor and update for loading of storages
Some improvements on loading multiple storages and some fails
Add folder realID changing instead of reusing (also previous ordered IDs should be persisted on folder rename)
Add handling of trash/untrash regarding ordered Ids

Some ordered IDs bugfixes

Remove console logs (most of them)
Fix bug with parallel execution and parent folder creation on rename folder upsert folder calls

Remove note id set from local space

Fix bug with hiding items in sidebar (invalid key provided on callback)
Assess some todos


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/BoostIO/BoostNote-App/pull/1051 **Author:** [@Komediruzecki](https://github.com/Komediruzecki) **Created:** 7/14/2021 **Status:** ❌ Closed **Base:** `master` ← **Head:** `feature/implement-ordered-ids` --- ### 📝 Commits (1) - [`ae8d153`](https://github.com/BoostIO/BoostNote-App/commit/ae8d15391c6888f81a0ce07142eff1df3dc963ae) Implement drag and drop based order in sidebar for local space ### 📊 Changes **17 files changed** (+867 additions, -281 deletions) <details> <summary>View changed files</summary> 📝 `package-lock.json` (+17 -0) 📝 `package.json` (+1 -0) 📝 `src/components/App.tsx` (+16 -1) 📝 `src/components/organisms/FolderDetail.tsx` (+6 -1) 📝 `src/components/organisms/SidebarContainer.tsx` (+16 -8) 📝 `src/lib/db/FSNoteDb.ts` (+158 -27) 📝 `src/lib/db/PouchNoteDb.spec.ts` (+8 -1) 📝 `src/lib/db/PouchNoteDb.ts` (+16 -1) 📝 `src/lib/db/createStore.ts` (+271 -101) 📝 `src/lib/db/patterns.ts` (+24 -1) 📝 `src/lib/db/store.spec.ts` (+4 -4) 📝 `src/lib/db/types.ts` (+10 -1) 📝 `src/lib/db/utils.ts` (+32 -0) 📝 `src/lib/v2/hooks/local/useLocalDB.ts` (+27 -11) 📝 `src/lib/v2/hooks/local/useLocalDnd.ts` (+219 -69) 📝 `src/lib/v2/mappers/local/sidebarTree.tsx` (+41 -54) 📝 `src/lib/v2/stores/sidebarCollapse/store.tsx` (+1 -1) </details> ### 📄 Description This PR also introduces few key changes and bugfixes: 1. Storage loading is handled differently (all storages loaded nevertheless of errors, error ones stored for futher loading, any error is logged properly) 2. Fixes a bug with regex being global and thus in particular situations creates wrong list of subfolders of a parent (not all) 3. Fixes a bug with hide sidebar items, wrong keys used in SidebarContainer 4. Implements drag and drop (with ordered IDs, real Folder IDs, few createStore and FSNote DB refactors, few minor bugfixes) Add array move lib Implemented orderedIds and DnD handling Add logic for moving note or doc into note target Add basic Database updates and API for orderedIds changes Implement ordered IDs initialization in storages Implement ordered IDs initializatio only in FSNote Remove excess function from createStore Updated handling of pouch DB in createStore Add create note update for parent folder ordered IDs Fix direct subfolders rather than all for create subfolders function Add implementation of trash/untrash note workspace orderedIds Update rename folder to update ordered IDs as well Implement createNote update of ordered IDs (workspace) Implement createFolder update of ordered IDs (workspace and parent folders) Implement folder reordering Implement moving of folders across different folder Refactor folder IDs to use real IDs Initialize real IDs (only FSNoteDB) Update rename folder so that it handles realIDs updates (previous and new parent folders ordered IDs update) Refactor code to use root folder instead of workspace ordered Ids Refactor and update for loading of storages Some improvements on loading multiple storages and some fails Add folder realID changing instead of reusing (also previous ordered IDs should be persisted on folder rename) Add handling of trash/untrash regarding ordered Ids Some ordered IDs bugfixes Remove console logs (most of them) Fix bug with parallel execution and parent folder creation on rename folder upsert folder calls Remove note id set from local space Fix bug with hiding items in sidebar (invalid key provided on callback) Assess some todos --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-03 00:24:41 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/BoostNote-App#1111
No description provided.