7 | | Code for displaying a BASE pop-up extract selection dialog is taken from the commented out "Manual select..." button in the toolbar above the plate display in step 4 of the wizard. This code contains a lot of library "magic", working behind the scenes, such as the way a callback function for the dialog is set with call "`Events.addEventHandler('plate', 'base-selected', selectdna.manuallySelected)`", where `selectdna.manuallySelected(event)` is the callback function. The coupling to the call for displaying the BASE selection dialog, "`Dialogs.selectItem('EXTRACT', 'plate', 1, url)`" seems to go via argument `plate`, in a way that is not quite clear. For the original manual select dialog in step 4, `plate` is a natural argument variable, since the plate display is updated with the new items after the dialog is closed, but in the case discussed here, no plate has been displayed yet. However, in order not to risk breaking code that works, as much as possible has been kept identical to the original code, but this might lead to side effects, if the original toolbar functionality, or part of it, should be reinstated in the future. In the latter case, the code may have to be re-written. |
| 7 | a. Code for displaying a BASE pop-up extract selection dialog is taken from the commented out "Manual select..." button in the toolbar above the plate display in step 4 of the wizard. This code contains a lot of library "magic", working behind the scenes, such as the way a callback function for the dialog is set with call "`Events.addEventHandler('plate', 'base-selected', selectdna.manuallySelected)`", where `selectdna.manuallySelected(event)` is the callback function. The coupling to the call for displaying the BASE selection dialog, "`Dialogs.selectItem('EXTRACT', 'plate', 1, url)`" seems to go via argument `plate`, in a way that is not quite clear. For the original manual select dialog in step 4, `plate` is a natural argument variable, since the plate display is updated with the new items after the dialog is closed, but in the case discussed here, no plate has been displayed yet. However, in order not to risk breaking code that works, as much as possible has been kept identical to the original code, but this might lead to side effects, if the original toolbar functionality, or part of it, should be reinstated in the future. In the latter case, the code may have to be re-written. |
| 8 | b. The first version of manual extract selection does not check if any of the manually selected extracts already has been selected. Neither is the updated extract list sorted in any special order. This and other functionality can be added in the future, if so desired. |