7df99a27a400ec5627663c3a0692e9ab7d04796c max Fri May 9 09:25:54 2025 -0700 fix: null on recent genes, split screen titles, scroll bar coming up without reason, zooming on split screen, checkbox on both sides updating on change event, hide checkbox when not in split screen mode diff --git src/cbPyLib/cellbrowser/cbWeb/js/maxPlot.js src/cbPyLib/cellbrowser/cbWeb/js/maxPlot.js index 94ffd6a..6d6ee2f 100644 --- src/cbPyLib/cellbrowser/cbWeb/js/maxPlot.js +++ src/cbPyLib/cellbrowser/cbWeb/js/maxPlot.js @@ -261,31 +261,31 @@ } this.setWatermark = function (text) { if (text==="" && self.watermark) { self.watermark.parentNode.removeChild(self.watermark); self.watermark = undefined; return; } if (self.watermark) self.watermark.parentNode.removeChild(self.watermark); var elem = document.createElement('div'); elem.id = "tpWatermark"; - elem.style.cssText = 'pointer-events: none;position: absolute; width: 1000px; opacity: 0.5; top: 10px; left: 45px; text-align: left; vertical-align: top; color: black; font-size: 20px; font-weight:bold; font-style:oblique'; + elem.style.cssText = 'pointer-events: none;position: absolute; width: 1000px; opacity: 0.8; top: 10px; left: 45px; text-align: left; vertical-align: top; color: black; font-size: 20px; font-weight:bold; font-style:oblique'; elem.textContent = text; self.div.appendChild(elem); self.watermark = elem; } // -- (private) helper functions // -- these are normal functions, not methods, they do not access "self" function gebi(idStr) { return document.getElementById(idStr); } function removeElById(idStr) { var el = gebi(idStr); if (el!==null) { @@ -2259,31 +2259,31 @@ // extreme zoom factors don't make sense, at some point we reach // the limit of the floating point numbers var newZoom = ((iz.maxX-iz.minX)/(newRange.maxX-newRange.minX)); if (newZoom < 0.01 || newZoom > 1500) return zr; debug("x min max "+zr.minX+" "+zr.maxX); debug("y min max "+zr.minY+" "+zr.maxY); self.port.zoomRange = newRange; self.scaleData(); // a special case for connected plots that are not sharing our pixel coordinates - if (self.childPlot && self.coords!==self.childPlot.coords) { + if (self.childPlot && self.coords===self.childPlot.coords) { self.childPlot.zoomBy(zoomFact, xPx, yPx); } return newRange; }; this.movePerc = function(xDiffFrac, yDiffFrac) { /* move a certain percentage of current view. xDiff/yDiff are floats, e.g. 0.1 is 10% up */ var zr = self.port.zoomRange; var xRange = Math.abs(zr.maxX-zr.minX); var yRange = Math.abs(zr.maxY-zr.minY); var xDiffAbs = xRange*xDiffFrac; var yDiffAbs = yRange*yDiffFrac; @@ -2549,31 +2549,31 @@ // convert pixel range to data scale range var zr = self.port.zoomRange; var xDiffData = xDiff * ((zr.maxX - zr.minX) / self.canvas.width); var yDiffData = yDiff * ((zr.maxY - zr.minY) / self.canvas.height); // move zoom range zr.minX = zr.minX + xDiffData; zr.maxX = zr.maxX + xDiffData; zr.minY = zr.minY + yDiffData; zr.maxY = zr.maxY + yDiffData; self.scaleData(); // a special case for connected plots that are not sharing our pixel coordinates - if (self.childPlot && self.coords!==self.childPlot.coords) { + if (self.childPlot && self.coords===self.childPlot.coords) { self.childPlot.moveBy(xDiff, yDiff); } }; this.labelAt = function(x, y) { /* return the index and the text of the label at position x,y or null if nothing there */ //console.time("labelCheck"); var clusterLabels = self.coords.labels; if (clusterLabels===null || clusterLabels===undefined) return null; var labelCoords = self.coords.labels; var boxes = self.coords.labelBbox; if (boxes==null) // no cluster labels return null;