Breakpoinnt bar deleted
This commit is contained in:
1 parent
dc04234591
commit
ccdd12f141
2 files changed
-207
No files matched your search
@@ -1,195 +0,0 @@
|
||||
|
||||
function newBreakpointsBar () {
|
||||
var thisObject = {
|
||||
setDatetime: setDatetime,
|
||||
container: undefined,
|
||||
draw: draw,
|
||||
getContainer: getContainer, // returns the inner most container that holds the point received by parameter.
|
||||
initialize: initialize
|
||||
}
|
||||
|
||||
var container = newContainer()
|
||||
container.initialize()
|
||||
thisObject.container = container
|
||||
|
||||
thisObject.container.frame.width = browserCanvasContext.width
|
||||
thisObject.container.frame.height = 15
|
||||
|
||||
container.frame.position.x = 0
|
||||
container.frame.position.y = viewPort.visibleArea.bottomRight.y
|
||||
|
||||
container.isDraggeable = false
|
||||
container.isClickeable = true
|
||||
|
||||
let logo
|
||||
let canDrawLogo = false
|
||||
|
||||
let datetime
|
||||
let timePeriod
|
||||
let timeLineCoordinateSystem
|
||||
let chartContainer
|
||||
|
||||
let breakpointsByTimePeriod = new Map()
|
||||
|
||||
return thisObject
|
||||
|
||||
function initialize (pChartContainer, pTimeLineCoordinateSystem) {
|
||||
timeLineCoordinateSystem = pTimeLineCoordinateSystem
|
||||
chartContainer = pChartContainer
|
||||
|
||||
viewPort.eventHandler.listenToEvent('Zoom Changed', onZoomChanged)
|
||||
timePeriod = INITIAL_TIME_PERIOD
|
||||
|
||||
thisObject.container.eventHandler.listenToEvent('onMouseClick', onClick)
|
||||
|
||||
for (let i = 0; i < marketFilesPeriods.length; i++) {
|
||||
let breakpointsMap = new Map()
|
||||
breakpointsByTimePeriod.set(marketFilesPeriods[i][0], breakpointsMap)
|
||||
}
|
||||
|
||||
for (let i = 0; i < dailyFilePeriods.length; i++) {
|
||||
let breakpointsMap = new Map()
|
||||
breakpointsByTimePeriod.set(dailyFilePeriods[i][0], breakpointsMap)
|
||||
}
|
||||
}
|
||||
|
||||
function onClick (pPoint) {
|
||||
let point = {
|
||||
x: pPoint.x,
|
||||
y: pPoint.y
|
||||
}
|
||||
|
||||
let miliSeconds = getMilisecondsFromPoint(point, chartContainer, timeLineCoordinateSystem)
|
||||
|
||||
miliSeconds = normalizeX(miliSeconds) // We are now exactly at the middle of the "candle" correspondind to the point clicked.
|
||||
|
||||
let breakpointsMap = breakpointsByTimePeriod.get(timePeriod)
|
||||
let breakpoint = breakpointsMap.get(miliSeconds)
|
||||
|
||||
if (breakpoint === undefined) {
|
||||
/* The breakpoint didnt exist, then we create one. */
|
||||
breakpointsMap.set(miliSeconds, 1)
|
||||
} else {
|
||||
/* The breakpoint existed, so we remove it. */
|
||||
breakpointsMap.set(miliSeconds, undefined)
|
||||
}
|
||||
}
|
||||
|
||||
function normalizeX (pX) {
|
||||
return Math.trunc(pX / timePeriod) * timePeriod + timePeriod / 2
|
||||
}
|
||||
|
||||
function onZoomChanged (event) {
|
||||
timePeriod = recalculatePeriod(event.newLevel)
|
||||
}
|
||||
|
||||
function setDatetime (pDatetime) {
|
||||
datetime = new Date(pDatetime)
|
||||
}
|
||||
|
||||
function getContainer (point) {
|
||||
let container
|
||||
|
||||
/* First we check if this point is inside this object UI. */
|
||||
|
||||
if (thisObject.container.frame.isThisPointHere(point, true) === true) {
|
||||
return this.container
|
||||
} else {
|
||||
/* This point does not belong to this space. */
|
||||
|
||||
return undefined
|
||||
}
|
||||
}
|
||||
|
||||
function draw () {
|
||||
/*
|
||||
To draw the breakpoints, we will calculate the miliseconds for the first x pixel of the breakpoint bar, and for the last x pixel. Once we have that
|
||||
we can create an array with all the possible points for breack points. Finally we can see if brealpoints exists at those points. We plot only the ones
|
||||
that exists.
|
||||
*/
|
||||
|
||||
let breakpointsMap = breakpointsByTimePeriod.get(timePeriod)
|
||||
|
||||
let beginX = {
|
||||
x: viewPort.visibleArea.bottomLeft.x,
|
||||
y: 0
|
||||
}
|
||||
|
||||
let endX = {
|
||||
x: viewPort.visibleArea.bottomRight.x,
|
||||
y: 0
|
||||
}
|
||||
|
||||
let beginMiliseconds = getMilisecondsFromPoint(beginX, chartContainer, timeLineCoordinateSystem)
|
||||
let endMiliseconds = getMilisecondsFromPoint(endX, chartContainer, timeLineCoordinateSystem)
|
||||
|
||||
beginMiliseconds = normalizeX(beginMiliseconds)
|
||||
endMiliseconds = normalizeX(endMiliseconds)
|
||||
|
||||
window.AT_BREAKPOINT = false
|
||||
|
||||
for (let miliSeconds = beginMiliseconds; miliSeconds < endMiliseconds; miliSeconds = miliSeconds + timePeriod) {
|
||||
let breakpoint = breakpointsMap.get(miliSeconds)
|
||||
|
||||
if (breakpoint !== undefined) {
|
||||
let point1 = {
|
||||
x: miliSeconds,
|
||||
y: 0
|
||||
}
|
||||
|
||||
point1 = timeLineCoordinateSystem.transformThisPoint(point1)
|
||||
point1 = transformThisPoint(point1, chartContainer)
|
||||
|
||||
let point2 = {
|
||||
x: miliSeconds,
|
||||
y: thisObject.container.frame.height / 2 + 1
|
||||
}
|
||||
|
||||
point2 = thisObject.container.frame.frameThisPoint(point2)
|
||||
|
||||
let point = {
|
||||
x: point1.x,
|
||||
y: point2.y
|
||||
}
|
||||
|
||||
let isCurrentRecord = false
|
||||
|
||||
if (datetime !== undefined) {
|
||||
let dateValue = datetime.valueOf()
|
||||
if (dateValue >= miliSeconds - timePeriod / 2 && dateValue <= miliSeconds + timePeriod / 2 - 1) {
|
||||
isCurrentRecord = true
|
||||
}
|
||||
}
|
||||
|
||||
let radius = 5
|
||||
|
||||
let opacity = '0.5'
|
||||
|
||||
browserCanvasContext.lineWidth = 1
|
||||
|
||||
/* Outer Circle */
|
||||
|
||||
browserCanvasContext.beginPath()
|
||||
|
||||
browserCanvasContext.strokeStyle = 'rgba(123, 50, 40, ' + opacity + ')'
|
||||
|
||||
if (isCurrentRecord === false) {
|
||||
browserCanvasContext.fillStyle = 'rgba(223, 70, 60, ' + opacity + ')'
|
||||
} else {
|
||||
browserCanvasContext.fillStyle = 'rgba(255, 233, 31, ' + opacity + ')' /* highlight the current record */
|
||||
|
||||
window.AT_BREAKPOINT = true // We are hitting a breakpoint!
|
||||
}
|
||||
|
||||
browserCanvasContext.arc(point.x, point.y, radius, 0, Math.PI * 2, true)
|
||||
browserCanvasContext.closePath()
|
||||
|
||||
if (point.x < viewPort.visibleArea.topLeft.x + 50 || point.x > viewPort.visibleArea.bottomRight.x - 50) { /* we leave this history without fill. */ } else {
|
||||
browserCanvasContext.fill()
|
||||
}
|
||||
|
||||
browserCanvasContext.stroke()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,9 +25,6 @@
|
||||
thisObject.container.initialize(MODULE_NAME)
|
||||
thisObject.container.detectMouseOver = true
|
||||
|
||||
// let chartGrid
|
||||
let breakpointsBar
|
||||
|
||||
let initializationReady = false
|
||||
|
||||
let productsPanel
|
||||
@@ -113,9 +110,6 @@
|
||||
logoExchange.src = window.canvasApp.urlPrefix + 'Images/' + exchange + '-logo-background.png'
|
||||
logoAA.src = window.canvasApp.urlPrefix + 'Images/sa-logo-background.png'
|
||||
|
||||
breakpointsBar = newBreakpointsBar()
|
||||
breakpointsBar.initialize(thisObject.container, timeLineCoordinateSystem)
|
||||
|
||||
// moveToUserPosition(thisObject.container, timeLineCoordinateSystem, undefined, undefined, undefined, true)
|
||||
timePeriod = INITIAL_TIME_PERIOD
|
||||
datetime = NEW_SESSION_INITIAL_DATE
|
||||
@@ -188,7 +182,6 @@
|
||||
if (thisObject.container.frame.isInViewPort()) {
|
||||
plotterManager.setDatetime(pDatetime)
|
||||
plotterManager.positionAtDatetime(pDatetime)
|
||||
breakpointsBar.setDatetime(pDatetime)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -228,8 +221,6 @@
|
||||
|
||||
plotterManager.setDatetime(datetime)
|
||||
|
||||
breakpointsBar.setDatetime(datetime)
|
||||
|
||||
thisObject.container.eventHandler.raiseEvent('Datetime Changed', datetime)
|
||||
}
|
||||
|
||||
@@ -242,8 +233,6 @@
|
||||
|
||||
if (container !== undefined) { return container }
|
||||
|
||||
container = breakpointsBar.getContainer(point)
|
||||
|
||||
return container
|
||||
}
|
||||
|
||||
@@ -289,7 +278,6 @@
|
||||
|
||||
timePeriodScale.draw()
|
||||
plotterManager.draw()
|
||||
breakpointsBar.draw()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user