-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Labels
Description
Recapping this issue: I wrote the following comment in patchWell()—
LabControl/labcontrol/gui/static/js/plateViewer.js
Lines 458 to 472 in 10ef1ef
| success: function(data) { | |
| that.data[row][that.grid.getColumns()[col].field] = data["sample_id"]; | |
| // NOTE: this pretty much checks the status of every well, and this is | |
| // called in patchWell (i.e. every time a well is updated). Should be a | |
| // lot more efficient to minimize the impact of this by just checking for | |
| // changes relative to this well? | |
| that.updateUnknownsAndDuplicates(); | |
| var classIdx = that.wellClasses[row][col].indexOf("well-prev-plated"); | |
| if (data["previous_plates"].length > 0) { | |
| that.wellPreviousPlates[row][col] = data["previous_plates"]; | |
| addIfNotPresent(that.wellClasses[row][col], "well-prev-plated"); | |
| } else { | |
| safeArrayDelete(that.wellClasses[row][col], "well-prev-plated"); | |
| that.wellPreviousPlates[row][col] = null; | |
| } |
@AmandaBirmingham responded to it here—
Probably.
updateUnknownsAndDuplicatesis completely agnostic to whatever change triggered it--but that means it has to be brute-force and re-check everything. I think it is the source of a lot of the performance issues in the platemapper, and probably needs to be rethought from the ground up. Could you add an issue to the repo for this, and then remove this comment?