Skip to content

Commit

Permalink
Merge pull request cBioPortal#110 from cBioPortal/highlight-fixes
Browse files Browse the repository at this point in the history
Highlight fixes
  • Loading branch information
adamabeshouse authored and onursumer committed May 27, 2022
1 parent ac8f77b commit f20d12b
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 12 deletions.
17 changes: 10 additions & 7 deletions packages/oncoprintjs/src/js/oncoprint.js
Original file line number Diff line number Diff line change
Expand Up @@ -638,14 +638,17 @@ var Oncoprint = (function () {
return;
}
this.keep_horz_zoomed_to_fit = this.keep_horz_zoomed_to_fit && still_keep_horz_zoomed_to_fit
// Update model
this.model.setHorzZoom(z);
// Update views
this.cell_view.setHorzZoom(this.model);
this.minimap_view.setHorzZoom(this.model, this.cell_view);

executeHorzZoomCallbacks(this);
resizeAndOrganizeAfterTimeout(this);
if (this.model.getHorzZoom() !== z) {
// Update model if new zoom is different
this.model.setHorzZoom(z);
// Update views
this.cell_view.setHorzZoom(this.model);
this.minimap_view.setHorzZoom(this.model, this.cell_view);

executeHorzZoomCallbacks(this);
resizeAndOrganizeAfterTimeout(this);
}
return this.model.getHorzZoom();
}

Expand Down
12 changes: 7 additions & 5 deletions packages/oncoprintjs/src/js/oncoprintwebglcellview.js
Original file line number Diff line number Diff line change
Expand Up @@ -198,13 +198,12 @@ var OncoprintWebGLCellView = (function () {
return;
}
clearOverlay(self);
self.highlightHighlightedIds(model);

var offset = self.$overlay_canvas.offset();
var mouseX = evt.pageX - offset.left;
var mouseY = evt.pageY - offset.top;
var overlapping_cells = model.getOverlappingCells(mouseX + self.scroll_x, mouseY + self.scroll_y);
if (!dragging) {
var overlapping_cells = model.getOverlappingCells(mouseX + self.scroll_x, mouseY + self.scroll_y);
var overlapping_data = (overlapping_cells === null ? null : overlapping_cells.ids.map(function(id) {
return model.getTrackDatum(overlapping_cells.track, id);
}));
Expand Down Expand Up @@ -232,6 +231,8 @@ var OncoprintWebGLCellView = (function () {
last_cell_over = null;
cell_over_callback(null);
}

self.highlightHighlightedIds(model, overlapping_cells ? overlapping_cells.ids : []);
});

self.$overlay_canvas.on("mousedown", function(evt) {
Expand Down Expand Up @@ -760,7 +761,6 @@ var OncoprintWebGLCellView = (function () {

OncoprintWebGLCellView.prototype.highlightColumn = function(model, uid, opt_track_id) {
if (uid === null) {
clearOverlay(this);
return;
}
var left = model.getZoomedColumnLeft(uid) - this.scroll_x;
Expand Down Expand Up @@ -1072,11 +1072,13 @@ var OncoprintWebGLCellView = (function () {
this.highlightHighlightedIds(model);
}

OncoprintWebGLCellView.prototype.highlightHighlightedIds = function(model) {
OncoprintWebGLCellView.prototype.highlightHighlightedIds = function(model, opt_exclude_ids) {
// Highlight highlighted ids
var highlightedIds = model.getHighlightedIds();
for (var i=0; i<highlightedIds.length; i++) {
this.highlightColumn(model, highlightedIds[i]);
if (!opt_exclude_ids || opt_exclude_ids.indexOf(highlightedIds[i]) === -1) {
this.highlightColumn(model, highlightedIds[i]);
}
}
}

Expand Down

0 comments on commit f20d12b

Please sign in to comment.