Uploaded image for project: 'Compass '
  1. Compass
  2. COMPASS-5605

Move workspace items from `compass-collection` to `compass-workspace`

    • Type: Icon: Task Task
    • Resolution: Gone away
    • Priority: Icon: Major - P3 Major - P3
    • No version
    • Affects Version/s: None
    • Component/s: Compass, UI / UX
    • Labels:
      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

            Assignee:
            Unassigned Unassigned
            Reporter:
            rhys.howell@mongodb.com Rhys Howell
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: