Tutorial Zooming
This commit is contained in:
1 parent
1d0d354bd5
commit
fa9bc508d6
4 files changed
+68
-3
No files matched your search
@@ -219,7 +219,7 @@ function newTimeFrameScale() {
|
||||
|
||||
function onViewportZoomChanged(event) {
|
||||
if (event !== undefined) { // it is undefined when the level is just being animated.
|
||||
if (event.shiftKey === false) { return } // with no shft key pressed, no automatic change in scale
|
||||
if (event.shiftKey === false || event.shiftKey === undefined) { return } // with no shft key pressed, no automatic change in scale
|
||||
let currentTimeFrame = thisObject.timeFrame
|
||||
let timeFrame = recalculatePeriod(event.newLevel)
|
||||
if (timeFrame !== currentTimeFrame) {
|
||||
|
||||
@@ -19,6 +19,7 @@ function newChartingSpace() {
|
||||
timeMachines: undefined,
|
||||
viewport: undefined,
|
||||
payload: undefined,
|
||||
findTimeMachine: findTimeMachine,
|
||||
onKeyPressed: onKeyPressed,
|
||||
reset: reset,
|
||||
oneScreenUp: oneScreenUp,
|
||||
@@ -295,6 +296,15 @@ function newChartingSpace() {
|
||||
}
|
||||
}
|
||||
|
||||
function findTimeMachine(node) {
|
||||
for (let i = 0; i < thisObject.timeMachines.length; i++) {
|
||||
let timeMachine = thisObject.timeMachines[i]
|
||||
if (timeMachine.payload.node.id === node.id) {
|
||||
return timeMachine
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function syncWithDesigner() {
|
||||
if (thisObject.payload === undefined) { return }
|
||||
if (thisObject.payload.node === undefined) { return }
|
||||
|
||||
@@ -54,6 +54,8 @@ function newTutorialSpace() {
|
||||
let lastExecutedAction = ''
|
||||
let actionCounter = 0
|
||||
let forcingFocus = false
|
||||
let currentZoomStep = 0
|
||||
let viewportCentered = false
|
||||
|
||||
return thisObject
|
||||
|
||||
@@ -119,8 +121,45 @@ function newTutorialSpace() {
|
||||
checkDocumentation()
|
||||
checkSlider()
|
||||
checkReference()
|
||||
checkViewportZoom()
|
||||
checkViewportZoomAtCenter()
|
||||
return
|
||||
|
||||
function checkViewportZoom() {
|
||||
if (currentNode === undefined) { return }
|
||||
let config = JSON.parse(currentNode.config)
|
||||
if (config.viewportZoom !== undefined) {
|
||||
let totalZoomSteps = config.viewportZoom
|
||||
let delta
|
||||
if (totalZoomSteps > 0) {
|
||||
delta = 1
|
||||
} else {
|
||||
delta = -1
|
||||
}
|
||||
currentZoomStep = currentZoomStep + delta
|
||||
let event = {
|
||||
delta: delta
|
||||
}
|
||||
if (totalZoomSteps > 0) {
|
||||
if (currentZoomStep < totalZoomSteps) {
|
||||
canvas.chartingSpace.viewport.onMouseWheel(event)
|
||||
}
|
||||
} else {
|
||||
if (currentZoomStep > totalZoomSteps) {
|
||||
canvas.chartingSpace.viewport.onMouseWheel(event)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function checkViewportZoomAtCenter() {
|
||||
if (currentNode === undefined) { return }
|
||||
let config = JSON.parse(currentNode.config)
|
||||
if (config.viewportZoomAtCenter !== undefined) {
|
||||
canvas.chartingSpace.viewport.zoomAtCenter(config.viewportZoomAtCenter)
|
||||
}
|
||||
}
|
||||
|
||||
function checkPressButton() {
|
||||
if (currentNode === undefined) { return }
|
||||
let config = JSON.parse(currentNode.config)
|
||||
@@ -239,7 +278,6 @@ function newTutorialSpace() {
|
||||
If there is a reference parent defined, we will highlight it
|
||||
and move the designer so that that node be at the center of the screen.
|
||||
*/
|
||||
|
||||
if (currentNode !== undefined) {
|
||||
if (currentNode.payload !== undefined) {
|
||||
if (currentNode.payload.referenceParent !== undefined) {
|
||||
@@ -318,6 +356,17 @@ function newTutorialSpace() {
|
||||
} else {
|
||||
lastExecutedAction = ""
|
||||
}
|
||||
if (
|
||||
config.viewportCenterReferenceParent === true
|
||||
) {
|
||||
if (currentNode.payload.referenceParent.type === 'Time Machine') {
|
||||
let timeMachine = canvas.chartingSpace.findTimeMachine(currentNode.payload.referenceParent)
|
||||
if (timeMachine !== undefined && viewportCentered === false) {
|
||||
canvas.chartingSpace.viewport.displaceToContainer(timeMachine.container)
|
||||
viewportCentered = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -466,6 +515,7 @@ function newTutorialSpace() {
|
||||
}
|
||||
|
||||
function resetAfterButtonPressed() {
|
||||
resetViewport()
|
||||
resetActions()
|
||||
resetDocumentation()
|
||||
}
|
||||
@@ -475,6 +525,11 @@ function newTutorialSpace() {
|
||||
actionCounter = 0
|
||||
}
|
||||
|
||||
function resetViewport() {
|
||||
currentZoomStep = 0
|
||||
viewportCentered = false
|
||||
}
|
||||
|
||||
function resetDocumentation() {
|
||||
currentDocumentationURL = ''
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"type":"Workspace","name":"My Default Workspace","rootNodes":[{"type":"Network","name":"My Network","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"8081\"\n}","dataMining":{"type":"Data Mining","name":"New Data Mining","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","dataMineTasks":[{"type":"Data Mine Tasks","name":"Masters","taskManagers":[{"type":"Task Manager","name":"Masters","tasks":[{"type":"Task","name":"Exchange Raw Data","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","id":"d244c564-4e86-43c7-9796-dc3b6294ec8b","savedPayload":{"position":{"x":23659.745129103652,"y":28550.068148548213},"targetPosition":{"x":24016.15808765306,"y":28731.521261880865},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"343313ae-5705-484d-8bf8-aed25ba61cfa","savedPayload":{"position":{"x":24016.15808765306,"y":28731.521261880865},"targetPosition":{"x":24372.613954849527,"y":28912.862913963298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a8f38508-1cac-4ab1-815f-d338fc813377","savedPayload":{"position":{"x":24372.613954849527,"y":28912.862913963298},"targetPosition":{"x":24729.168578034467,"y":29094.157204661562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{}","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Market","id":"f0ef12ed-f0fd-4b88-8e15-27cf24265a5f","savedPayload":{"position":{"x":24184.794688727965,"y":28065.778475897157},"targetPosition":{"x":24482.04694377666,"y":28333.43165963183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Daily","id":"7c8b312c-09bf-4c59-853f-1592391a9c57","savedPayload":{"position":{"x":24565.05464450028,"y":27942.137696396505},"targetPosition":{"x":24482.04694377666,"y":28333.43165963183},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"8d58e84b-d7ef-464f-8079-0ec0887e3da3","savedPayload":{"position":{"x":24482.04694377666,"y":28333.43165963183},"targetPosition":{"x":24605.595979339283,"y":28713.744423762793},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bf29e3bd-9386-408b-9091-042da0c53e81","savedPayload":{"position":{"x":24605.595979339283,"y":28713.744423762793},"targetPosition":{"x":24729.168578034467,"y":29094.157204661562},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Resistances and Supports","bot":{"type":"Indicator Bot Instance","name":"Resistances and Supports","config":"{}","processes":[{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Period-Market","id":"a707814e-b81b-4102-9b5b-4e2fe969324f","savedPayload":{"position":{"x":25071.903415123346,"y":27982.24252440288},"targetPosition":{"x":25092.61561964403,"y":28381.695789892834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"5d9b2729-43fb-4e7e-aa4f-b8477c424e51"}}},{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Period-Daily","id":"c5395fbe-4b5a-4492-a7fb-e2d259905e27","savedPayload":{"position":{"x":25428.125763136595,"y":28163.91321305859},"targetPosition":{"x":25092.61561964403,"y":28381.695789892834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"diLine truncated
|
||||
{"type":"Workspace","name":"My Default Workspace","rootNodes":[{"type":"Network","name":"My Network","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"8081\"\n}","dataMining":{"type":"Data Mining","name":"New Data Mining","exchangeDataTasks":[{"type":"Exchange Data Tasks","name":"Binance","marketDataTasks":[{"type":"Market Data Tasks","name":"Binance BTC/USDT","dataMineTasks":[{"type":"Data Mine Tasks","name":"Masters","taskManagers":[{"type":"Task Manager","name":"Masters","tasks":[{"type":"Task","name":"Exchange Raw Data","bot":{"type":"Sensor Bot Instance","name":"Exchange Raw Data","config":"{ \n\"startDate\": \"2020-01-01\"\n}","processes":[{"type":"Sensor Process Instance","name":"Exchange Raw Data Historic-OHLCVs","id":"d244c564-4e86-43c7-9796-dc3b6294ec8b","savedPayload":{"position":{"x":23659.934966848334,"y":28550.396892759734},"targetPosition":{"x":24016.278887896922,"y":28731.691791534813},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Historic-OHLCVs","id":"5eb11d6a-022e-4f60-97c4-d6cf90b249dc"}}}],"id":"343313ae-5705-484d-8bf8-aed25ba61cfa","savedPayload":{"position":{"x":24016.278887896922,"y":28731.691791534813},"targetPosition":{"x":24372.757834403845,"y":28913.01569066693},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a8f38508-1cac-4ab1-815f-d338fc813377","savedPayload":{"position":{"x":24372.757834403845,"y":28913.01569066693},"targetPosition":{"x":24729.35878110253,"y":29094.17636135513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Candles Volumes","bot":{"type":"Indicator Bot Instance","name":"Candles Volumes","config":"{}","processes":[{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Market","id":"f0ef12ed-f0fd-4b88-8e15-27cf24265a5f","savedPayload":{"position":{"x":24185.110564012637,"y":28065.910820434507},"targetPosition":{"x":24482.29584195175,"y":28333.405879782236},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"9f683143-a33f-42c1-9fa8-c601f01ee4e1"}}},{"type":"Indicator Process Instance","name":"Candles Volumes Multi-Period-Daily","id":"7c8b312c-09bf-4c59-853f-1592391a9c57","savedPayload":{"position":{"x":24565.36927734068,"y":27942.270088668713},"targetPosition":{"x":24482.29584195175,"y":28333.405879782236},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Daily","id":"980ceb1d-7be6-454f-90d9-01ba1fd4a65d"}}}],"id":"8d58e84b-d7ef-464f-8079-0ec0887e3da3","savedPayload":{"position":{"x":24482.29584195175,"y":28333.405879782236},"targetPosition":{"x":24605.823035970476,"y":28713.764089024942},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"bf29e3bd-9386-408b-9091-042da0c53e81","savedPayload":{"position":{"x":24605.823035970476,"y":28713.764089024942},"targetPosition":{"x":24729.35878110253,"y":29094.17636135513},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Task","name":"Resistances and Supports","bot":{"type":"Indicator Bot Instance","name":"Resistances and Supports","config":"{}","processes":[{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Period-Market","id":"a707814e-b81b-4102-9b5b-4e2fe969324f","savedPayload":{"position":{"x":25072.286713750666,"y":27982.473600325924},"targetPosition":{"x":25092.934605800256,"y":28381.768465250563},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Process Definition","name":"Multi-Period-Market","id":"5d9b2729-43fb-4e7e-aa4f-b8477c424e51"}}},{"type":"Indicator Process Instance","name":"Resistances and Supports Multi-Period-Daily","id":"c5395fbe-4b5a-4492-a7fb-e2d259905e27","savedPayload":{"position":{"x":25428.508200943776,"y":28164.14450501467},"targetPosition":{"x":25092.934605800256,"y":28381.768465250563},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"Line truncated
|
||||
Reference in new issue
Block a user