WIP: Add ability to reorder Workspaces using drag and drop
Pre-flight Checklist
- Please remember that if you are logging a bug for some service that has stopped working or is working incorrectly, please log the bug here
- If you are requesting support for a new service in Ferdium, please log it here
- Please remember to read the self-help documentation - in case it helps you unblock yourself for issues related to older versions of recipes that were installed on your machine. (These will get automatically upgraded when you upgrade to the newer versions of Ferdium, but to get new recipes between Ferdium releases, this documentation is quite useful.)
- Please ensure you've completed all of the following.
- [x] I have read the Contributing Guidelines for this project.
- [x] I agree to follow the Code of Conduct that this project adheres to.
- [x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.
Description of Change
Add order ability to Workspaces
Motivation and Context
This is a WIP for adding the ability of order Workspaces in the Workspace Drawer and in the Workspace Settings. The idea is to fix https://github.com/ferdium/ferdium-app/issues/146.
To do:
- [x] Add order buttons to the Workspace Drawer
- [ ] Add order functionality to the buttons on the Workspace Drawer (
mobxis complaining about this given I'm not using an action for changing the index) - [ ] Add order buttons to the Workspace Settings
- [ ] Add the same functionality to the buttons on Workspace Settings
I think I'm needing some help setting up the actions to reorder workspaces - as it is now, the workspaces are reordered but only until the Ferdium restarts/reloads, which is due to the fact that the "new" order is not being saved in the API. If anyone can help me with that I would really appreciate it :D
Screenshots
(so far... )

Checklist
- [x] My pull request is properly named
- [ ] The changes respect the code style of the project (
npm run prepare-code) - [ ]
npm testpasses - [ ] I tested/previewed my changes locally
Release Notes
So to update the order in the API we would need to create/update some endpoints to support that. I'm a little in doubt if we wanna implement that in the current API version or wait for the v2 to be completed and make it fully testable
So to update the order in the API we would need to create/update some endpoints to support that. I'm a little in doubt if we wanna implement that in the current API version or wait for the v2 to be completed and make it fully testable
Maybe we can wait for the V2 to be completed 😁
Maybe we can wait for the V2 to be completed 😁
in that case, do we want to hold 6.0.0 release?
in that case, do we want to hold 6.0.0 release?
I don't think we need to hold back for this PR. We can easily then merge new features in a minor/patch version or so. But if you think it is better to have the internal-server v2 working, maybe we can wait. What do you think?
I would love to see this completed!
I think I'm needing some help setting up the actions to reorder workspaces - as it is now, the workspaces are reordered but only until the Ferdium restarts/reloads, which is due to the fact that the "new" order is not being saved in the API. If anyone can help me with that I would really appreciate it :D
I have some notes/thoughts that I've started writing as early thoughts that I may use to attempt to make some changes:
- The API server and internal server both need to be updated for full support.
- Services can be re-ordered with
ServiceController.reorder, and I suspect thatapp/Controllers/Http/WorkspaceController.js(in both places) just needs a similar implementation. reorderServicefunction insrc/api/server/ServerApi.tsroutes toServiceController.reorder.- I am not quite clear on this right now, as there is a
ServicesApibut not aWorkspacesApi.
Amazing, would love to see this possibility. The only alternative is deleting and recreating workspaces.
Any updates here? I can pick it up and finish the implementation.