-
Type: Task
-
Resolution: Gone away
-
Priority: Major - P3
-
Affects Version/s: None
-
None
-
Not Needed
As we move towards more generalized workspaces we'll want to move more of the tab workspace management into `compass-workspace` from `compass-collection` to remove the collection related logic from it. At the same time there is some code related to workspaces in `compass-home` already which we sense to live in this workspace location.
`compass-workspace` will then render the sidebar, workspace area (tabs), and the shell at the bottom. This will make `compass-home` then responsible for the connection view, supplying providers we use with the new state management conventions in Compass, and then rendering the connected workspace view. Down the line things like privacy settings and the compass overview modal would also make sense to live in compass-home as they are more global application based views.
The `tab` related code in `compass-collection` to move over to `compass-workspace`:
https://github.com/mongodb-js/compass/blob/main/packages/compass-collection/src/modules/tabs.js - tab management code
https://github.com/mongodb-js/compass/blob/main/packages/compass-collection/src/stores/store.js - we should be able to hook these ipcs listeners into react's lifecycle and improve when things are being listened to. We might also be able make it so that not every tab listens to the events as well, but I think that problem might be deeper in the other plugins. The data-service event listeners will need to stay there for now as they are part of the collection view and not tab specific.
https://github.com/mongodb-js/compass/blob/main/packages/compass-collection/src/components/workspace/workspace.jsx
- depends on
-
COMPASS-5518 Update workspace tabs design and layout
- Closed
- related to
-
COMPASS-5607 Move workspace items from `compass-home` to `compass-workspace`
- Closed