in client/client/modules/render/heatmap/renderer/viewport-renderer/axis-renderer.js [448:485]
render() {
if (!this.initialized) {
return false;
}
const dendrogramChanged = !!this.options && this.session.dendrogram !== this.options.dendrogram;
const scaleChanged = this.session.scale !== this.axis.scale.tickSize;
const positionChanged = scaleChanged ||
this.session.center !== this.axis.center ||
this.session.deviceSize !== this.axis.deviceSize;
const hoveredTickValue = this.hoveredTick ? this.hoveredTick.value : undefined;
const hoverChanged = this.session.hovered !== hoveredTickValue;
const visibilityChanged = (scaleChanged || hoverChanged) && !this.axis.isAnimating;
let changed = false;
if (scaleChanged || dendrogramChanged) {
changed = this.updateTicksPositions() || changed;
}
if (positionChanged || dendrogramChanged || hoverChanged || visibilityChanged) {
this.translate();
changed = this.updateTicksVisibility() || changed;
}
changed = this.ticks
.map(tick => tick.render())
.filter(Boolean)
.length > 0 || changed;
this.session.scale = this.axis.scale.tickSize;
this.session.center = this.axis.center;
this.session.deviceSize = this.axis.deviceSize;
this.session.hovered = hoveredTickValue;
this.session.dendrogram = !!this.options && this.options.dendrogram;
const scrollerChanged = this.scroller ? this.scroller.render() : false;
return scaleChanged ||
positionChanged ||
hoverChanged ||
visibilityChanged ||
dendrogramChanged ||
scrollerChanged ||
changed;
}