Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(protocol-designer): edit additional items staging area support #13752

Merged
merged 10 commits into from
Oct 16, 2023

Conversation

jerader
Copy link
Collaborator

@jerader jerader commented Oct 10, 2023

closes RAUT-725, RAUT-742, RAUT-776, RAUT-763

Overview

This adds the ability to edit the staging areas that were initially added and updates the designs of the edit additional items section a bit so the designs are more cohesive.

Test Plan

  • Make sure the deck modification FF is turned on and create a flex protocol. Add a staging slot if you want and add a trash bin or waste chute (just make sure the staging areas you added aren't in slot A3 for the trash bin, i haven't added error handling there yet).
  • go through the create file wizard and when done, look at the Additional Items section where you can edit modules and deck modification items. Mess around with adding/removing the staging areas and make sure a banner renders correctly if the slot is full
  • go back and create a new flex protocol and this time add all the staging areas and all the modules and see that the trash bin button is disabled since there is no space for it on the deck (more error handling will be wired up in a follow up PR)
  • go back and create an OT-2 protocol and see all the expected behavior is there and works as expected

Changelog

  • created a new StagingAreasRow and StagingAreasModal and tests
  • created a new visual for seeing the occupied deck slots in the rows called FlexSlotMap
  • added logic to getSlotIsEmpty util to account for the staging areas
  • extend the InitialDeckSetup to take into account staging areas
  • update the AdditionalItemsRow and ModuleRow components to use the new FlexSlotMap
  • some clean up here and there in the TrashModal and a few other components

Review requests

see test plan

Risk assessment

low

@jerader jerader added the blocked Ticket or PR is blocked by other work label Oct 10, 2023
@codecov
Copy link

codecov bot commented Oct 10, 2023

Codecov Report

Merging #13752 (615b7c5) into edge (d16b7ec) will decrease coverage by 0.09%.
The diff coverage is 64.28%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             edge   #13752      +/-   ##
==========================================
- Coverage   70.75%   70.67%   -0.09%     
==========================================
  Files        2465     2474       +9     
  Lines       69346    69527     +181     
  Branches     8338     8390      +52     
==========================================
+ Hits        49069    49139      +70     
- Misses      18317    18416      +99     
- Partials     1960     1972      +12     
Flag Coverage Δ
app 68.11% <ø> (ø)
components 56.69% <ø> (-2.10%) ⬇️
labware-library 49.17% <ø> (ø)
protocol-designer 45.82% <64.28%> (+0.22%) ⬆️
react-api-client 67.32% <ø> (ø)
step-generation 84.99% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
...onents/modals/CreateFileWizard/EquipmentOption.tsx 100.00% <100.00%> (ø)
...r/src/components/modals/EditModulesModal/index.tsx 90.00% <100.00%> (ø)
...gner/src/components/modules/AdditionalItemsRow.tsx 94.73% <100.00%> (+0.29%) ⬆️
...col-designer/src/components/modules/TrashModal.tsx 96.00% <100.00%> (ø)
...rotocol-designer/src/step-forms/selectors/index.ts 42.85% <0.00%> (ø)
protocol-designer/src/utils/index.ts 40.54% <66.66%> (+2.30%) ⬆️
...ts/modals/CreateFileWizard/ModulesAndOtherTile.tsx 66.12% <50.00%> (-1.12%) ⬇️
...ol-designer/src/components/modules/FlexSlotMap.tsx 90.90% <90.90%> (ø)
...ocol-designer/src/components/modules/ModuleRow.tsx 82.22% <33.33%> (-3.83%) ⬇️
...esigner/src/components/modules/StagingAreasRow.tsx 86.66% <86.66%> (ø)
... and 4 more

... and 18 files with indirect coverage changes

@jerader jerader force-pushed the pd_edit-modules-card-slot-map branch from 9b480ca to 15fe28a Compare October 11, 2023 15:56
@jerader jerader removed the blocked Ticket or PR is blocked by other work label Oct 11, 2023
@jerader jerader marked this pull request as ready for review October 11, 2023 16:01
@jerader jerader requested a review from a team October 11, 2023 16:01
Copy link
Contributor

@mjhuff mjhuff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ran through the test flow and lgtm! Coded looks good as well - just a couple minor comments/thoughts.

I don't know PD well enough from an architectural/big picture standpoint to comment on that end, but everything seems to make sense as best as I can grasp it! 🥇

protocol-designer/src/step-forms/utils/index.ts Outdated Show resolved Hide resolved
protocol-designer/src/components/modules/FlexSlotMap.tsx Outdated Show resolved Hide resolved
@jerader jerader force-pushed the pd_edit-modules-card-slot-map branch from b4cb464 to 615b7c5 Compare October 16, 2023 20:49
@jerader jerader merged commit 014c0ca into edge Oct 16, 2023
@jerader jerader deleted the pd_edit-modules-card-slot-map branch October 16, 2023 23:39
y3rsh added a commit that referenced this pull request Oct 25, 2023
* edge: (77 commits)
  fix(app): update move gantry text in change pipette flow (#13712)
  fix(app): fix CI after release merge back (#13816)
  chore(hardware): add opentrons hardware package to ot 2 build (#13770)
  feat(protocol-designer): correct step count in create file wizard (#13807)
  feat(protocol-designer): error handling in create file wizard (#13804)
  fix(app): invalidate OT2 calibration queries when calibration flows complete (#13809)
  always jog (#13806)
  chore(app): point updates at dns not s3 (#13798)
  docs(api): updated Flex default flow rates (#13796)
  fix(api): Flag pipette as not ready to aspirate after pushing out air (#13728)
  fix(api, hardware): allow OT3Controller to disable tip motors (#13805)
  more blank trials; longer scale stabilize wait; submerge 2.5mm (#13788)
  fix(app): unload adapters after checking position of labware on adapter on heater shaker module (#13803)
  feat(app): wire up location conflict modal for ODD (#13797)
  feat(app): add Deck configuration page component (#13784)
  fix(robot-server): add default to robot serial (#13802)
  feat(protocol-designer, components): prep work for deck config in PD (#13775)
  feat(app, protocol-designer): plug in waste chute asset (#13800)
  fix(app): do not check mag block in calibration status (#13799)
  feat(protocol-designer): edit additional items staging area support (#13752)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants