Saving working with states shown at manu item

This commit is contained in:
Luis Fernando Molina committed 2019-05-13 10:14:50 +02:00
1 parent 308f564509
commit 8f478c5ca3
3 files changed
+40 -17

No files matched your search

+33 -5
View File
@@ -42,6 +42,11 @@ function newCircularMenuItem () {
let selfMouseOverEventSubscriptionId
let selfMouseClickEventSubscriptionId
let selfMouseNotOverEventSubscriptionId
let labelToPrint = ''
let defaultBackgroudColor = UI_COLOR.RED
let backgroundColorToUse = UI_COLOR.RED
let temporaryStatus = 0
return thisObject
function finalize () {
@@ -103,6 +108,15 @@ function newCircularMenuItem () {
thisObject.container.frame.position.x = thisObject.container.frame.radius * 3 / 7 * Math.cos(toRadians(thisObject.angle)) - thisObject.currentRadius * 1.5
thisObject.container.frame.position.y = thisObject.container.frame.radius * 3 / 7 * Math.sin(toRadians(thisObject.angle)) - thisObject.container.frame.height / 2
temporaryStatus--
if (temporaryStatus < 0) {
temporaryStatus = 0
}
if (temporaryStatus === 0) {
labelToPrint = thisObject.label
backgroundColorToUse = defaultBackgroudColor
}
}
function onMouseOver (point) {
@@ -117,8 +131,21 @@ function newCircularMenuItem () {
isMouseOver = false
}
function onMouseClick (event) {
thisObject.actionFunction(thisObject.payload, thisObject.action)
async function onMouseClick (event) {
if (temporaryStatus === 0) {
setTemporaryStatus('Saving...', UI_COLOR.GREY)
await thisObject.actionFunction(thisObject.payload, thisObject.action).then(result => {
setTemporaryStatus('Saved', UI_COLOR.PATINATED_TURQUOISE)
}, err => {
setTemporaryStatus('Not Saved', UI_COLOR.TITANIUM_YELLOW)
})
}
}
function setTemporaryStatus (text, backgroundColor) {
labelToPrint = text
backgroundColorToUse = backgroundColor
temporaryStatus = 500
}
function drawBackground () {
@@ -128,7 +155,7 @@ function newCircularMenuItem () {
lineWidth: 0.1,
container: thisObject.container,
borderColor: UI_COLOR.DARK,
backgroundColor: UI_COLOR.RED,
backgroundColor: backgroundColorToUse,
castShadow: false
}
@@ -162,7 +189,7 @@ function newCircularMenuItem () {
browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
if (thisObject.label !== undefined && thisObject.currentRadius >= thisObject.targetRadius) {
if (thisObject.currentRadius >= thisObject.targetRadius) {
labelPoint = {
x: menuPosition.x + thisObject.currentRadius + 10,
y: menuPosition.y + fontSize * FONT_ASPECT_RATIO
@@ -170,8 +197,9 @@ function newCircularMenuItem () {
browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.WHITE + ', 1)'
browserCanvasContext.fillText(thisObject.label, labelPoint.x, labelPoint.y)
browserCanvasContext.fillText(labelToPrint, labelPoint.x, labelPoint.y)
}
}
}
}
+6 -3
View File
@@ -247,9 +247,12 @@ function newTradingSystem () {
async function onMenuItemClick (payload, action) {
switch (action) {
case 'Save Trading System':
let wasSaved
await canvas.strategySpace.workplace.saveToStrategyzer()
break
{
await canvas.strategySpace.workplace.saveToStrategyzer()
break
}
case 'Open Settings':
break
+1 -9
View File
@@ -88,7 +88,6 @@ function newWorkspace () {
}
})
.then(response => {
console.log('Strategies Saved')
resolve(true)
})
.catch(err => {
@@ -98,17 +97,11 @@ function newWorkspace () {
})
}
// To avoid race conditions, add asynchronous fetches to array
let fetchDataPromises = []
fetchDataPromises.push(updateStrategies())
// When all asynchronous fetches resolve, authenticate user or throw error.
await Promise.all(fetchDataPromises).then(result => {
}, err => {
if (ERROR_LOG === true) { logger.write('[ERROR] saveToStrategyzer -> GraphQL Fetch Error -> err = ' + err.stack) }
})
await Promise.all(fetchDataPromises)
} catch (err) {
if (ERROR_LOG === true) { logger.write('[ERROR] saveToStrategyzer -> err = ' + err.stack) }
}
@@ -257,7 +250,6 @@ function newWorkspace () {
dataToSave.strategy.subStrategies.push(strategy)
}
console.log(dataToSave)
return dataToSave
}