Skip to content

Commit 042f030

Browse files
authored
fix(protocol-designer): heater-shaker caption and error copy (#18933)
This PR updates the heater-shaker shake speed and temperature range captions to match designs. It also updates the error copy to display "Enter a value within the specified range" whether the relevant temperature field is empty, or it is entered but out of range. Closes RQA-4196
1 parent e86f61b commit 042f030

File tree

3 files changed

+42
-40
lines changed

3 files changed

+42
-40
lines changed

protocol-designer/src/assets/localization/en/form.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@
187187
"duration": "Duration",
188188
"latch": {
189189
"setLatch": "Labware latch",
190-
"toggleOff": "Close",
190+
"toggleOff": "Closed",
191191
"toggleOn": "Open"
192192
},
193193
"shaker": {

protocol-designer/src/assets/localization/en/protocol_steps.json

Lines changed: 36 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,53 +4,53 @@
44
"air_gap_volume": "Air gap volume",
55
"all": "All",
66
"and": "and",
7-
"aspirate_labware": "Source labware",
87
"aspirate": "Aspirate",
8+
"aspirate_labware": "Source labware",
99
"aspirated": "Aspirated",
10-
"back_to_overview": "Back to overview",
1110
"back": "Back",
12-
"batch_edit_steps": "Batch edit steps",
11+
"back_to_overview": "Back to overview",
1312
"batch_edit": "Batch edit",
13+
"batch_edit_steps": "Batch edit steps",
1414
"batch_edits_saved": "Batch edits saved",
1515
"blowout_location": "Blowout location",
1616
"blowout_position": "Blowout position from top",
1717
"captions_for_fields": {
1818
"blockTargetTemp": "Valid range between 4 and 99˚C",
19+
"blockTargetTempHold": "Valid range between 4 and 99˚C",
20+
"heaterShakerTimer": "Use the format mm:ss",
1921
"lidTargetTemp": "Valid range between 37 and 110˚C",
20-
"targetSpeed": "Must be between 200 and 3000 rpm",
21-
"targetTemperature": "Must be between 4 and 95˚C",
22-
"targetHeaterShakerTemperature": "Must be between 37 and 95˚C",
23-
"blockTargetTempHold": "Must be between 4 and 99˚C",
24-
"lidTargetTempHold": "Must be between 37 and 110˚C",
25-
"volume": "Must be between 0.1 and {{max}}"
22+
"lidTargetTempHold": "Valid range between 37 and 110˚C",
23+
"targetHeaterShakerTemperature": "Valid range between 37 and 95˚C",
24+
"targetSpeed": "Valid range between 200 and 3000 rpm",
25+
"targetTemperature": "Valid range between 4 and 95˚C",
26+
"volume": "Valid range between 0.1 and {{max}}"
2627
},
2728
"change_tips": "Change tips",
2829
"column": "Column",
29-
"configuration": "Configuration",
30-
"consolidate": "Conslidate",
31-
"of": "of",
3230
"comfirm_reset_settings": {
33-
"no_liquid_class": "Continuing will undo any changes and restore the settings to the default values.",
34-
"liquid_class_selected": "Continuing will undo any changes and restore the settings to the values associated with the {{liquidClassName}} liquid class."
31+
"liquid_class_selected": "Continuing will undo any changes and restore the settings to the values associated with the {{liquidClassName}} liquid class.",
32+
"no_liquid_class": "Continuing will undo any changes and restore the settings to the default values."
3533
},
34+
"configuration": "Configuration",
35+
"consolidate": "Conslidate",
3636
"deck_hardware": "Deck hardware",
3737
"default_flow_rate": "The default flow rate is {{flowRate}}",
3838
"default_tip_option": "Default - get next tip",
3939
"delay_duration": "Delay duration",
4040
"delay_position": "Delay position from bottom",
41-
"delete_steps": "Delete steps",
4241
"delete": "Delete step",
43-
"dispense_labware": "Destination labware",
44-
"distribute": "Distribute",
42+
"delete_steps": "Delete steps",
4543
"dispense": "Dispense",
44+
"dispense_labware": "Destination labware",
4645
"dispensed": "Dispensed",
4746
"disposal_volume": "Disposal volume",
48-
"duplicate_steps": "Duplicate steps",
47+
"distribute": "Distribute",
4948
"duplicate": "Duplicate step",
50-
"edit_step": "Edit step",
49+
"duplicate_steps": "Duplicate steps",
5150
"edit_hardware": "Edit your deck hardware",
52-
"edit_modules": "Edit modules",
5351
"edit_hardware_on_deck": "Edit your deck hardware by placing modules and fixtures onto the deck",
52+
"edit_modules": "Edit modules",
53+
"edit_step": "Edit step",
5454
"ending_deck": "Ending deck",
5555
"engage_height": "Engage height",
5656
"flow_type_title": "{{type}} flow rate",
@@ -72,19 +72,19 @@
7272
"heater_shaker_state": "Heater-Shaker state",
7373
"in": "in",
7474
"into": "into",
75+
"labware_in": "Labware in",
7576
"labware_to": "{{labware}} to",
7677
"liquids": "{{num}} liquids",
77-
"labware_in": "Labware in",
7878
"magnetic_module": {
7979
"disengage": "<semiBoldText>{{module}}</semiBoldText><text>disengaged</text>",
8080
"engage": "<semiBoldText>{{module}}</semiBoldText><text>engaged to</text><tag/>"
8181
},
8282
"max_disposal_volume": "Max {{vol}} {{unit}}",
83+
"mix": "Mix",
84+
"mix_repetitions": "Mix repetitions",
8385
"mix_times": "Mix repetitions",
8486
"mix_volume": "Mix volume",
85-
"mix": "Mix",
8687
"mixing": "Mixing",
87-
"mix_repetitions": "Mix repetitions",
8888
"module": "Module",
8989
"modules": "Modules",
9090
"modules_and_fixtures": "Modules and fixtures",
@@ -97,33 +97,34 @@
9797
"multiDispense": "Distribute",
9898
"new_location": "New location",
9999
"no_tiprack": "No tiprack available",
100+
"of": "of",
100101
"off_deck": "Off-Deck",
101102
"pause": {
102103
"untilResume": "Pausing until manually told to resume",
103104
"untilTemperature": "<text>Pausing until</text><semiBoldText>{{module}}</semiBoldText><text>reaches</text><tag/>",
104105
"untilTime": "<text>Pausing for</text><tag/>"
105106
},
106-
"pipette_path": "Pipette path",
107107
"pipette": "Pipette",
108+
"pipette_path": "Pipette path",
108109
"place_hardware": "Place the modules and fixtures that you are using for this protocol onto the deck.",
109110
"place_modules": "Place the modules that you are using for this protocol onto the deck.",
110111
"protocol_steps": "Protocol steps",
111112
"protocol_timeline": "Protocol timeline",
112113
"reference_positions": {
113-
"well-top": "well top",
114+
"liquid-meniscus": "liquid meniscus",
114115
"well-bottom": "well bottom",
115116
"well-center": "well center",
116-
"liquid-meniscus": "liquid meniscus"
117+
"well-top": "well top"
117118
},
118-
"rename_error": "Oops! Your step name is too long.",
119119
"rename": "Rename",
120+
"rename_error": "Oops! Your step name is too long.",
120121
"reset_settings": "Reset {{tab}} settings",
121-
"retract_speed": "Retract speed",
122122
"retract": "Retract",
123+
"retract_speed": "Retract speed",
123124
"save_errors": "{{stepType}} has been saved with {{numErrors}} error(s)",
124125
"save_no_errors": "{{stepType}} has been saved",
125-
"save_warnings_and_errors": "{{stepType}} has been saved with {{numErrors}} error(s) and {{numWarnings}} warning(s)",
126126
"save_warnings": "{{stepType}} has been saved with {{numWarnings}} warning(s)",
127+
"save_warnings_and_errors": "{{stepType}} has been saved with {{numErrors}} error(s) and {{numWarnings}} warning(s)",
127128
"select_aspirate_labware": "Select a source labware",
128129
"select_aspirate_wells": "Select source wells using a {{displayName}}",
129130
"select_dispense_labware": "Select a destination labware",
@@ -137,19 +138,18 @@
137138
"select_volume": "Select a volume",
138139
"select_wells": "Select wells using a {{displayName}}",
139140
"shake": "Shake",
140-
"single_nozzle": "Single",
141141
"single": "Single transfer",
142+
"single_nozzle": "Single",
142143
"speed": "Speed",
143144
"starting_deck": "Starting deck",
144145
"step_substeps": "{{stepType}} details",
145-
"submerge_speed": "Submerge speed",
146146
"submerge": "Submerge",
147+
"submerge_speed": "Submerge speed",
147148
"temperature": "Temperature",
148149
"temperature_module": {
149150
"active": "<semiBoldText>{{module}}</semiBoldText><text>set to</text><tag/>",
150151
"deactivated": "<semiBoldText>{{module}}</semiBoldText><text>deactivated</text>"
151152
},
152-
"time_in": "{{times}} times in",
153153
"thermocycler_module": {
154154
"lid_position": {
155155
"closed": "closed",
@@ -172,14 +172,15 @@
172172
}
173173
},
174174
"time": "Time",
175+
"time_in": "{{times}} times in",
175176
"timeline": "Timeline",
176-
"tiprack": "Tiprack",
177177
"tip_handling": {
178178
"title": "Tip pickup behavior",
179179
"tooltip": "Choose tip pickup frequency for aspirations"
180180
},
181181
"tip_management": "Tip management",
182182
"tip_position": "{{prefix}} tip position",
183+
"tiprack": "Tiprack",
183184
"touch_tip_position": "Touch tip position from top",
184185
"transfer": "Transfer",
185186
"unknown_module": "Unknown module",
@@ -189,11 +190,11 @@
189190
"volume_per_well": "Volume per well",
190191
"well_name": "Well {{wellName}}",
191192
"well_order_title": "{{prefix}} well order",
192-
"well_position_with_reference_nested": "Well position (x,y,z): {{x}}mm, {{y}}mm, {{z}}mm from {{reference}}",
193+
"well_position": "Well position: X {{x}} Y {{y}} Z {{z}} (mm)",
193194
"well_position_with_reference": "Well position: X {{x}} Y {{y}} Z {{z}} (mm) from {{reference}}",
195+
"well_position_with_reference_nested": "Well position (x,y,z): {{x}}mm, {{y}}mm, {{z}}mm from {{reference}}",
194196
"well_position_xyz": "Well position (x,y,z): {{x}}mm, {{y}}mm, {{z}}mm",
195197
"well_position_z_only": "Well position: Z {{z}} (mm)",
196-
"well_position": "Well position: X {{x}} Y {{y}} Z {{z}} (mm)",
197198
"wells_in_labware": "{{well}} of {{labware}}",
198199
"wells_of": "{{wells}} of"
199200
}

protocol-designer/src/steplist/formLevel/errors.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ export interface FormError {
7979
}
8080

8181
const RANGE_TITLE = 'Enter a value within the specified range'
82+
const TIME_TITLE = 'Enter a value that uses the specified format'
8283

8384
const INCOMPATIBLE_ASPIRATE_LABWARE: FormError = {
8485
title: 'Selected aspirate labware is incompatible with pipette',
@@ -203,17 +204,17 @@ const LID_TEMPERATURE_HOLD_REQUIRED: FormError = {
203204
page: 1,
204205
}
205206
const SHAKE_SPEED_REQUIRED: FormError = {
206-
title: 'Speed required',
207+
title: RANGE_TITLE,
207208
dependentFields: ['setShake', 'targetSpeed'],
208209
location: 'field',
209210
}
210211
const SHAKE_TIME_REQUIRED: FormError = {
211-
title: 'Duration required',
212+
title: TIME_TITLE,
212213
dependentFields: ['heaterShakerSetTimer', 'heaterShakerTimer'],
213214
location: 'field',
214215
}
215216
const SHAKER_TIME_FORMAT: FormError = {
216-
title: 'Must be a valid time (mm:ss)',
217+
title: TIME_TITLE,
217218
dependentFields: ['heaterShakerTimer'],
218219
location: 'field',
219220
}
@@ -235,7 +236,7 @@ const PAUSE_TEMP_REQUIRED: FormError = {
235236
location: 'field',
236237
}
237238
const HS_TEMPERATURE_REQUIRED: FormError = {
238-
title: 'Temperature required',
239+
title: RANGE_TITLE,
239240
dependentFields: [
240241
'targetHeaterShakerTemperature',
241242
'setHeaterShakerTemperature',

0 commit comments

Comments
 (0)