[COMPASS-5605] Move workspace items from `compass-collection` to `compass-workspace` Created: 18/Mar/22  Updated: 10/Jan/24  Resolved: 29/Mar/22

Status: Closed
Project: Compass
Component/s: Compass, UI / UX
Affects Version/s: None
Fix Version/s: No version

Type: Task Priority: Major - P3
Reporter: Rhys Howell Assignee: Unassigned
Resolution: Gone away Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on COMPASS-5518 Update workspace tabs design and layout Closed
Related
related to COMPASS-5607 Move workspace items from `compass-ho... Closed
Documentation Changes: Not Needed

 Description   

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



 Comments   
Comment by Rhys Howell [ 29/Mar/22 ]

Going to revisit workspace restructuring at a future time, closing and moving out of the epic.

Generated at Wed Feb 07 22:40:11 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.