• 5
    • Iteration Yellowtail Amberjack, Iteration Zebrafish
    • Not Needed

      Add a new export modal behind a feature flag.
      Add the json/csv file picker RadioBoxGroup to the export modal.

      Let's add the separate flows for how this modal works here (export full collection vs query w/o projection vs query w/ projection). We'll add todos for the relevant sections like the export without project field input table. The 3 flows to consider here are:

      • Export full collection (file picker is on the first and only modal view)
      • Export query without a projection (file picker is on the last modal view)
      • Export query with a projection (file picker is on the first and only modal view)

      When `CSV` is chosen we show a banner indicating potential data type loss.

      Note: This does not mean these ui parts are running the backend yet. That happens in dependent tickets.

      Designs: https://www.figma.com/file/4sXj42XyicBsdQkYIugHaV/Compass-Import%2FExport?node-id=921%3A45614&t=FoEPTv8iHfB487DG-1 

      When a user has chosen the export `Export query results` option, show the filter (and projection if there is one) from the query in the new export modal. Note we still want to export aggregations, so ensure those are accounted for.

      If the query has a projection already we show a banner indicating that only projected fields are exported. https://www.figma.com/file/4sXj42XyicBsdQkYIugHaV/Compass-Import%2FExport?node-id=921%3A45919&t=FoEPTv8iHfB487DG-1 

      When there is no projection in the query we show a `Fields to export` option, with a banner also indicating that they can use the projection in the query bar to project. https://www.figma.com/file/4sXj42XyicBsdQkYIugHaV/Compass-Import%2FExport?node-id=796%3A36622&t=FoEPTv8iHfB487DG-1 
      Showing the fields to export table will happen in a dependent ticket.

      Designs: https://www.figma.com/file/4sXj42XyicBsdQkYIugHaV/Compass-Import%2FExport?node-id=796%3A36622&t=FoEPTv8iHfB487DG-1 

      When exporting a query without a projection show the export field table.

      While the table fields are loading we show a skeleton status:
      https://www.figma.com/file/4sXj42XyicBsdQkYIugHaV/Compass-Import%2FExport?node-id=923%3A45170&t=FoEPTv8iHfB487DG-1 

      Once the fields have completed loading we show them with checkboxes, similar to the existing export. We also show a new field input button and input field: https://www.figma.com/file/4sXj42XyicBsdQkYIugHaV/Compass-Import%2FExport?node-id=920%3A44732&t=FoEPTv8iHfB487DG-1 

      This work involves using the `gatherFields()` function from the store to get the field names to show  COMPASS-6426  . If that work is not complete yet we can mock the data

      Designs: https://www.figma.com/file/4sXj42XyicBsdQkYIugHaV/Compass-Import%2FExport?node-id=923%3A45170&t=FoEPTv8iHfB487DG-1 

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

              Created:
              Updated:
              Resolved: