Saving working with states shown at manu item
This commit is contained in:
1 parent
308f564509
commit
8f478c5ca3
3 files changed
+40
-17
No files matched your search
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user