Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// const numBpsToShow = Math.ceil(sequenceLength / this.state.zoomLevel);
const angle = 2 * Math.PI * percentOfCircle;
let radius =
this.state.zoomLevel === 1
? BASE_RADIUS
: Math.max(BASE_RADIUS, svgWidth / Math.sin(angle / 2) / 2);
const initialRadius = radius;
const rotation = this.state.rotationDegrees * 0.0174533; //get radians
const rangeToShowStart = getPositionFromAngle(
rotation - angle / 2,
sequenceLength
);
const rangeToShowEnd = getPositionFromAngle(
rotation + angle / 2,
sequenceLength
);
const rangeToShow =
this.state.zoomLevel === 1
? { start: 0, end: Math.max(sequenceLength - 1, 0) }
: {
start: normalizePositionByRangeLength(
rangeToShowStart,
sequenceLength
),
end: normalizePositionByRangeLength(rangeToShowEnd, sequenceLength)
};
const allLabels = [];
const paredDownMessages = [];
// if (percentOfCircle === 1) {
// return "normal"
// }
// const numBpsToShow = Math.ceil(sequenceLength / this.state.zoomLevel);
const angle = 2 * Math.PI * percentOfCircle;
let radius =
this.state.zoomLevel === 1
? BASE_RADIUS
: Math.max(BASE_RADIUS, svgWidth / Math.sin(angle / 2) / 2);
const initialRadius = radius;
const rotation = this.state.rotationDegrees * 0.0174533; //get radians
const rangeToShowStart = getPositionFromAngle(
rotation - angle / 2,
sequenceLength
);
const rangeToShowEnd = getPositionFromAngle(
rotation + angle / 2,
sequenceLength
);
const rangeToShow =
this.state.zoomLevel === 1
? { start: 0, end: Math.max(sequenceLength - 1, 0) }
: {
start: normalizePositionByRangeLength(
rangeToShowStart,
sequenceLength
),
end: normalizePositionByRangeLength(rangeToShowEnd, sequenceLength)
if (!event.clientX) {
return;
}
let boundingRect = this.refs.circularView.getBoundingClientRect();
//get relative click positions
let clickX = event.clientX - boundingRect.left - boundingRect.width / 2;
let clickY = event.clientY - boundingRect.top - boundingRect.height / 2;
//get angle
let angle = Math.atan2(clickY, clickX) + Math.PI / 2;
if (angle < 0) angle += Math.PI * 2; //normalize the angle if necessary
let nearestCaretPos =
sequenceLength === 0
? 0
: normalizePositionByRangeLength(
getPositionFromAngle(angle, sequenceLength, true),
sequenceLength
); //true because we're in between positions
if (this.props.sequenceData && this.props.sequenceData.isProtein) {
nearestCaretPos = Math.round(nearestCaretPos / 3) * 3;
}
callback({
event,
className: event.target.parentNode.className.animVal,
shiftHeld: event.shiftKey,
nearestCaretPos,
selectionStartGrabbed: event.target.parentNode.classList.contains(
draggableClassnames.selectionStart
),
selectionEndGrabbed: event.target.parentNode.classList.contains(
draggableClassnames.selectionEnd
)
if (!event.clientX) {
return;
}
let boundingRect = this.refs.circularView.getBoundingClientRect();
//get relative click positions
let clickX = event.clientX - boundingRect.left - boundingRect.width / 2;
let clickY = event.clientY - boundingRect.top - boundingRect.height / 2;
//get angle
let angle = Math.atan2(clickY, clickX) + Math.PI / 2;
if (angle < 0) angle += Math.PI * 2; //normalize the angle if necessary
let nearestCaretPos =
sequenceLength === 0
? 0
: normalizePositionByRangeLength(
getPositionFromAngle(angle, sequenceLength, true),
sequenceLength
); //true because we're in between positions
if (this.props.sequenceData && this.props.sequenceData.isProtein) {
nearestCaretPos = Math.round(nearestCaretPos / 3) * 3;
}
callback({
event,
className: event.target.parentNode.className.animVal,
shiftHeld: event.shiftKey,
nearestCaretPos,
selectionStartGrabbed: event.target.parentNode.classList.contains(
draggableClassnames.selectionStart
),
selectionEndGrabbed: event.target.parentNode.classList.contains(
draggableClassnames.selectionEnd
)