Skip to content

Commit eb058a2

Browse files
authored
feat(protocol designer): remove mix tip position fields (#6590)
* feat(protocol designer): remove mix tip position fields remove mix tip position fields from UI, mixFormToArgs, types, and relevant utils #6589
1 parent d1390fd commit eb058a2

File tree

16 files changed

+129
-62
lines changed

16 files changed

+129
-62
lines changed

protocol-designer/benchmarks/timelineGeneration.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ bench(`commandCreatorsTimeline: mix ${times} times`, b => {
3939
dispenseOffsetFromBottomMm: 2,
4040
aspirateFlowRateUlSec: 5,
4141
dispenseFlowRateUlSec: 6,
42-
aspirateDelay: null,
43-
dispenseDelay: null,
42+
aspirateDelaySeconds: null,
43+
dispenseDelaySeconds: null,
4444
}),
4545
]
4646

protocol-designer/src/components/StepEditForm/fields/DelayFields.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import type {
1616
type DelayFieldProps = {
1717
checkboxFieldName: DelayCheckboxFields,
1818
secondsFieldName: DelaySecondFields,
19-
tipPositionFieldName: TipOffsetFields,
19+
tipPositionFieldName?: TipOffsetFields,
2020
focusHandlers: FocusHandlers,
2121
}
2222

@@ -42,7 +42,9 @@ export const DelayFields = (props: DelayFieldProps): React.Node => {
4242
className={styles.small_field}
4343
{...focusHandlers}
4444
/>
45-
<TipPositionField fieldName={tipPositionFieldName} />
45+
{tipPositionFieldName && (
46+
<TipPositionField fieldName={tipPositionFieldName} />
47+
)}
4648
</CheckboxRowField>
4749
)
4850
}

protocol-designer/src/components/StepEditForm/fields/TipPositionField/index.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,6 @@ function getLabwareFieldForPositioningField(
3636
dispense_delay_mmFromBottom: 'dispense_labware',
3737
mix_mmFromBottom: 'labware',
3838
mix_touchTip_mmFromBottom: 'labware',
39-
mix_aspirate_delay_mmFromBottom: 'labware',
40-
mix_dispense_delay_mmFromBottom: 'labware',
4139
}
4240
return fieldMap[fieldName]
4341
}

protocol-designer/src/components/StepEditForm/fields/__tests__/DelayFields.test.js

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ describe('DelayFields', () => {
1616
props = {
1717
checkboxFieldName: 'aspirate_delay_checkbox',
1818
secondsFieldName: 'aspirate_delay_seconds',
19-
tipPositionFieldName: 'aspirate_mmFromBottom',
2019
focusHandlers: {
2120
focusedField: '',
2221
dirtyFields: [],
@@ -26,9 +25,10 @@ describe('DelayFields', () => {
2625
}
2726
})
2827

29-
it('should render an aspirate delay field', () => {
30-
const wrapper = render(props)
28+
it('should render an aspirate delay field with a tip position field', () => {
29+
props = { ...props, tipPositionFieldName: 'aspirate_mmFromBottom' }
3130

31+
const wrapper = render(props)
3232
const checkboxField = wrapper.find(CheckboxRowField)
3333
expect(checkboxField.prop('name')).toBe(props.checkboxFieldName)
3434
expect(checkboxField.prop('label')).toBe('delay')
@@ -44,14 +44,29 @@ describe('DelayFields', () => {
4444
expect(tipPosField.is(TipPositionField)).toBe(true)
4545
expect(tipPosField.prop('fieldName')).toBe(props.tipPositionFieldName)
4646
})
47+
it('should render an aspirate delay field WITHOUT a tip position field', () => {
48+
const wrapper = render(props)
49+
50+
const checkboxField = wrapper.find(CheckboxRowField)
51+
expect(checkboxField.prop('name')).toBe(props.checkboxFieldName)
52+
expect(checkboxField.prop('label')).toBe('delay')
53+
expect(checkboxField.prop('tooltipComponent')).toBe(
54+
FormTooltipText.step_fields.defaults.aspirate_delay_checkbox
55+
)
56+
const secondsField = checkboxField.childAt(0)
57+
expect(secondsField.is(TextField)).toBe(true)
58+
expect(secondsField.prop('name')).toBe(props.secondsFieldName)
59+
expect(secondsField.prop('units')).toBe(ApplicationText.units.seconds)
60+
61+
expect(wrapper.find(TipPositionField).length).toBe(0)
62+
})
4763
})
4864
describe('Dispense Delay', () => {
4965
let props
5066
beforeEach(() => {
5167
props = {
5268
checkboxFieldName: 'dispense_delay_checkbox',
5369
secondsFieldName: 'dispense_delay_seconds',
54-
tipPositionFieldName: 'dispense_delay_mmFromBottom',
5570
focusHandlers: {
5671
focusedField: '',
5772
dirtyFields: [],
@@ -61,7 +76,9 @@ describe('DelayFields', () => {
6176
}
6277
})
6378

64-
it('should render an dispense delay field', () => {
79+
it('should render an dispense delay field with a tip position field', () => {
80+
props = { ...props, tipPositionFieldName: 'dispense_delay_mmFromBottom' }
81+
6582
const wrapper = render(props)
6683

6784
const checkboxField = wrapper.find(CheckboxRowField)
@@ -79,5 +96,22 @@ describe('DelayFields', () => {
7996
expect(tipPosField.is(TipPositionField)).toBe(true)
8097
expect(tipPosField.prop('fieldName')).toBe(props.tipPositionFieldName)
8198
})
99+
100+
it('should render an dispense delay field WITHOUT a tip position field', () => {
101+
const wrapper = render(props)
102+
103+
const checkboxField = wrapper.find(CheckboxRowField)
104+
expect(checkboxField.prop('name')).toBe(props.checkboxFieldName)
105+
expect(checkboxField.prop('label')).toBe('delay')
106+
expect(checkboxField.prop('tooltipComponent')).toBe(
107+
FormTooltipText.step_fields.defaults.dispense_delay_checkbox
108+
)
109+
const secondsField = checkboxField.childAt(0)
110+
expect(secondsField.is(TextField)).toBe(true)
111+
expect(secondsField.prop('name')).toBe(props.secondsFieldName)
112+
expect(secondsField.prop('units')).toBe(ApplicationText.units.seconds)
113+
114+
expect(wrapper.find(TipPositionField).length).toBe(0)
115+
})
82116
})
83117
})

protocol-designer/src/components/StepEditForm/forms/MixForm.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,6 @@ export class MixForm extends React.Component<Props, State> {
117117
<DelayFields
118118
checkboxFieldName={'aspirate_delay_checkbox'}
119119
secondsFieldName={'aspirate_delay_seconds'}
120-
tipPositionFieldName={'mix_aspirate_delay_mmFromBottom'}
121120
focusHandlers={focusHandlers}
122121
/>
123122
</div>
@@ -134,7 +133,6 @@ export class MixForm extends React.Component<Props, State> {
134133
<DelayFields
135134
checkboxFieldName={'dispense_delay_checkbox'}
136135
secondsFieldName={'dispense_delay_seconds'}
137-
tipPositionFieldName={'mix_dispense_delay_mmFromBottom'}
138136
focusHandlers={focusHandlers}
139137
/>
140138
<CheckboxRowField

protocol-designer/src/components/StepEditForm/forms/__tests__/MixForm.test.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,8 @@ describe('MixForm', () => {
4444
expect(aspirateDelayFields.prop('secondsFieldName')).toBe(
4545
'aspirate_delay_seconds'
4646
)
47-
expect(aspirateDelayFields.prop('tipPositionFieldName')).toBe(
48-
'mix_aspirate_delay_mmFromBottom'
49-
)
47+
// no tip position field
48+
expect(aspirateDelayFields.prop('tipPositionFieldName')).toBe(undefined)
5049
})
5150
it('should render the dispense delay fields', () => {
5251
const wrapper = render(props)
@@ -59,9 +58,8 @@ describe('MixForm', () => {
5958
expect(aspirateDelayFields.prop('secondsFieldName')).toBe(
6059
'dispense_delay_seconds'
6160
)
62-
expect(aspirateDelayFields.prop('tipPositionFieldName')).toBe(
63-
'mix_dispense_delay_mmFromBottom'
64-
)
61+
// no tip position field
62+
expect(aspirateDelayFields.prop('tipPositionFieldName')).toBe(undefined)
6563
})
6664
})
6765
})

protocol-designer/src/form-types.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ export type StepFieldName = any
4646
// | 'labwareLocationUpdate'
4747
// | 'mix_mmFromBottom'
4848
// | 'mix_touchTip_mmFromBottom'
49-
// | 'mix_aspirate_delay_mmFromBottom
50-
// | 'mix_dispense_delay_mmFromBottom
5149
// | 'path'
5250
// | 'pauseAction'
5351
// | 'pauseHour'
@@ -298,8 +296,6 @@ export type TipOffsetFields =
298296
| 'aspirate_delay_mmFromBottom'
299297
| 'dispense_delay_mmFromBottom'
300298
| 'mix_touchTip_mmFromBottom'
301-
| 'mix_aspirate_delay_mmFromBottom'
302-
| 'mix_dispense_delay_mmFromBottom'
303299

304300
export type DelayCheckboxFields =
305301
| 'aspirate_delay_checkbox'
@@ -314,8 +310,6 @@ export function getIsTouchTipField(fieldName: string): boolean {
314310
'aspirate_touchTip_mmFromBottom',
315311
'dispense_touchTip_mmFromBottom',
316312
'mix_touchTip_mmFromBottom',
317-
'mix_aspirate_delay_mmFromBottom',
318-
'mix_dispense_delay_mmFromBottom',
319313
]
320314
return touchTipFields.includes(fieldName)
321315
}

protocol-designer/src/localization/en/modal.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,7 @@
2626
"dispense_touchTip_mmFromBottom": "Change from where in the well the robot performs touch tip",
2727
"mix_touchTip_mmFromBottom": "Change from where in the well the robot performs touch tip",
2828
"aspirate_delay_mmFromBottom": "Change from where in the well the robot delays after aspirating",
29-
"dispense_delay_mmFromBottom": "Change from where in the well the robot delays after dispensing",
30-
"mix_aspirate_delay_mmFromBottom": "Change from where in the well the robot delays after aspirating",
31-
"mix_dispense_delay_mmFromBottom": "Change from where in the well the robot delays after dispensing"
29+
"dispense_delay_mmFromBottom": "Change from where in the well the robot delays after dispensing"
3230
},
3331
"field_label": "Distance from bottom of well"
3432
},

protocol-designer/src/step-generation/__tests__/mix.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ beforeEach(() => {
4141
blowoutLocation: null,
4242
touchTip: false,
4343

44-
aspirateDelay: null,
45-
dispenseDelay: null,
44+
aspirateDelaySeconds: null,
45+
dispenseDelaySeconds: null,
4646
}
4747

4848
invariantContext = makeContext()

protocol-designer/src/step-generation/types.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,8 @@ export type MixArgs = {|
167167
aspirateFlowRateUlSec: number,
168168
dispenseFlowRateUlSec: number,
169169
/** delays */
170-
aspirateDelay: ?InnerDelayArgs,
171-
dispenseDelay: ?InnerDelayArgs,
170+
aspirateDelaySeconds: ?number,
171+
dispenseDelaySeconds: ?number,
172172
|}
173173

174174
export type PauseArgs = {|

0 commit comments

Comments
 (0)