@rcsb/rcsb-saguaro
Version:
RCSB 1D Feature Viewer
44 lines (43 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RcsbD3ScaleFactory = void 0;
const d3_scale_1 = require("d3-scale");
var RcsbD3ScaleFactory;
(function (RcsbD3ScaleFactory) {
function getLinearScale() {
const xScale = (0, d3_scale_1.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 = (0, d3_scale_1.scalePoint)();
const scale = ((x) => xScale(x));
scale.domain = xScale.domain;
scale.range = xScale.range;
scale.getScale = () => xScale;
return scale;
}
RcsbD3ScaleFactory.getPointScale = getPointScale;
})(RcsbD3ScaleFactory || (exports.RcsbD3ScaleFactory = RcsbD3ScaleFactory = {}));