[PR #717] [MERGED] feat:list sorting #1080

Closed
opened 2026-02-04 21:48:45 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/plankanban/planka/pull/717
Author: @JustSamuel
Created: 4/16/2024
Status: Merged
Merged: 4/22/2024
Merged by: @meltyshev

Base: masterHead: feat/list-sorting


📝 Commits (4)

  • 1f62f20 feat: client implementation of list sorting
  • a974078 feat: server implementation of list sorting
  • 7b3155e chore: lint-fix
  • 6cec8fe fix: Little improvements and refactoring

📊 Changes

22 files changed (+419 additions, -18 deletions)

View changed files

📝 client/src/actions/lists.js (+34 -0)
📝 client/src/api/lists.js (+24 -0)
📝 client/src/components/List/ActionsStep.jsx (+40 -11)
📝 client/src/components/List/List.jsx (+14 -1)
client/src/components/ListSortStep/ListSortStep.jsx (+61 -0)
client/src/components/ListSortStep/ListSortStep.module.scss (+11 -0)
client/src/components/ListSortStep/index.js (+3 -0)
📝 client/src/constants/ActionTypes.js (+4 -0)
📝 client/src/constants/EntryActionTypes.js (+2 -0)
📝 client/src/constants/Enums.js (+7 -0)
📝 client/src/containers/ListContainer.js (+1 -0)
📝 client/src/entry-actions/lists.js (+20 -0)
📝 client/src/locales/en/core.js (+5 -0)
📝 client/src/models/Card.js (+8 -6)
📝 client/src/models/List.js (+2 -0)
📝 client/src/sagas/core/services/lists.js (+26 -0)
📝 client/src/sagas/core/watchers/lists.js (+6 -0)
📝 client/src/sagas/core/watchers/socket.js (+6 -0)
server/api/controllers/lists/sort.js (+65 -0)
server/api/helpers/lists/sort-one.js (+70 -0)

...and 2 more files

📄 Description

Implements sorting of lists based on name, createdAt and dueDate.

fixes #390

notes:

The development setup wasn't very straightforward (client dockers' tries to include files outside of contex) and might also not be compatible with my dev setup (ubuntu). So I had to turn of ESLint and Prettier because of the broken rules and extends.

Furthermore, I still don't fully understand the EntryAction vs Action flow, so I just monkey-see-monkey-do.

Possible improvement is to not propagate each card update, but only the complete list when it is finished.

TODO:

  • internationalization
  • ESlint and Prettier
  • Possibly also sort in frontend?

🔄 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/plankanban/planka/pull/717 **Author:** [@JustSamuel](https://github.com/JustSamuel) **Created:** 4/16/2024 **Status:** ✅ Merged **Merged:** 4/22/2024 **Merged by:** [@meltyshev](https://github.com/meltyshev) **Base:** `master` ← **Head:** `feat/list-sorting` --- ### 📝 Commits (4) - [`1f62f20`](https://github.com/plankanban/planka/commit/1f62f2035049c50ce2d9506373b961d8c5540d21) feat: client implementation of list sorting - [`a974078`](https://github.com/plankanban/planka/commit/a9740782898161442320e8697cba191cde179a58) feat: server implementation of list sorting - [`7b3155e`](https://github.com/plankanban/planka/commit/7b3155efe5cffe300945103396117a79191dcac6) chore: lint-fix - [`6cec8fe`](https://github.com/plankanban/planka/commit/6cec8fea442d23dcda64089682245aead3aa3de0) fix: Little improvements and refactoring ### 📊 Changes **22 files changed** (+419 additions, -18 deletions) <details> <summary>View changed files</summary> 📝 `client/src/actions/lists.js` (+34 -0) 📝 `client/src/api/lists.js` (+24 -0) 📝 `client/src/components/List/ActionsStep.jsx` (+40 -11) 📝 `client/src/components/List/List.jsx` (+14 -1) ➕ `client/src/components/ListSortStep/ListSortStep.jsx` (+61 -0) ➕ `client/src/components/ListSortStep/ListSortStep.module.scss` (+11 -0) ➕ `client/src/components/ListSortStep/index.js` (+3 -0) 📝 `client/src/constants/ActionTypes.js` (+4 -0) 📝 `client/src/constants/EntryActionTypes.js` (+2 -0) 📝 `client/src/constants/Enums.js` (+7 -0) 📝 `client/src/containers/ListContainer.js` (+1 -0) 📝 `client/src/entry-actions/lists.js` (+20 -0) 📝 `client/src/locales/en/core.js` (+5 -0) 📝 `client/src/models/Card.js` (+8 -6) 📝 `client/src/models/List.js` (+2 -0) 📝 `client/src/sagas/core/services/lists.js` (+26 -0) 📝 `client/src/sagas/core/watchers/lists.js` (+6 -0) 📝 `client/src/sagas/core/watchers/socket.js` (+6 -0) ➕ `server/api/controllers/lists/sort.js` (+65 -0) ➕ `server/api/helpers/lists/sort-one.js` (+70 -0) _...and 2 more files_ </details> ### 📄 Description **Implements sorting of lists based on `name`, `createdAt` and `dueDate`.** fixes #390 _notes:_ The development setup wasn't very straightforward (client dockers' tries to include files outside of contex) and might also not be compatible with my dev setup (ubuntu). So I had to turn of ESLint and Prettier because of the broken rules and extends. Furthermore, I still don't fully understand the `EntryAction` vs `Action` flow, so I just monkey-see-monkey-do. Possible improvement is to not propagate each card update, but only the complete list when it is finished. TODO: - [x] internationalization - [x] ESlint and Prettier - [ ] Possibly also sort in frontend? --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-04 21:48:45 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/planka#1080