@rcsb/rcsb-saguaro
Version:
RCSB 1D Feature Viewer
41 lines (40 loc) • 1.44 kB
JavaScript
import { scaleLinear, scalePoint } from "d3-scale";
export var RcsbD3ScaleFactory;
(function (RcsbD3ScaleFactory) {
function getLinearScale() {
const xScale = scaleLinear();
const scale = ((x) => xScale(x));
scale.domain = xScale.domain;
scale.range = xScale.range;
scale.invert = xScale.invert;
scale.getScale = () => xScale;
scale._domain = [0, 0];
scale._range = [0, 0];
scale.checkAndSetScale = (domain, range) => {
if (domain[0] == scale._domain[0] && domain[1] == scale._domain[1] && range[0] == scale._range[0] && range[1] == scale._range[1]) {
return true;
}
else {
scale._domain = domain;
scale._range = range;
scale.domain(domain).range(range);
return false;
}
};
scale.reset = () => {
scale._domain = [0, 0];
scale._range = [0, 0];
};
return scale;
}
RcsbD3ScaleFactory.getLinearScale = getLinearScale;
function getPointScale() {
const xScale = scalePoint();
const scale = ((x) => xScale(x));
scale.domain = xScale.domain;
scale.range = xScale.range;
scale.getScale = () => xScale;
return scale;
}
RcsbD3ScaleFactory.getPointScale = getPointScale;
})(RcsbD3ScaleFactory || (RcsbD3ScaleFactory = {}));