diff --git a/FloatingSpace/CircularMenu.js b/FloatingSpace/CircularMenu.js index d35759070..4b71e9de4 100644 --- a/FloatingSpace/CircularMenu.js +++ b/FloatingSpace/CircularMenu.js @@ -57,6 +57,12 @@ function newCircularMenu () { menuItem.workingLabel = menuItemInitialValue.workingLabel menuItem.workDoneLabel = menuItemInitialValue.workDoneLabel menuItem.workFailedLabel = menuItemInitialValue.workFailedLabel + menuItem.secondaryAction = menuItemInitialValue.secondaryAction + menuItem.secondaryLabel = menuItemInitialValue.secondaryLabel + menuItem.secondaryWorkingLabel = menuItemInitialValue.secondaryWorkingLabel + menuItem.secondaryWorkDoneLabel = menuItemInitialValue.secondaryWorkDoneLabel + menuItem.secondaryWorkFailedLabel = menuItemInitialValue.secondaryWorkFailedLabel + menuItem.secondaryIcon = menuItemInitialValue.secondaryIcon menuItem.visible = menuItemInitialValue.visible menuItem.iconPathOn = menuItemInitialValue.iconPathOn menuItem.iconPathOff = menuItemInitialValue.iconPathOff @@ -91,7 +97,9 @@ function newCircularMenu () { if (thisObject.isDeployed === true) { for (let i = 0; i < menuItems.length; i++) { let menutItem = menuItems[i] - container = menutItem.getContainer(point) + if (menutItem.visible === true) { + container = menutItem.getContainer(point) + } if (container !== undefined) { return container } } } @@ -125,14 +133,18 @@ function newCircularMenu () { function drawBackground (pFloatingObject) { for (let i = 0; i < menuItems.length; i++) { let menutItem = menuItems[i] - menutItem.drawBackground() + if (menutItem.visible === true) { + menutItem.drawBackground() + } } } function drawForeground (pFloatingObject) { for (let i = 0; i < menuItems.length; i++) { let menutItem = menuItems[i] - menutItem.drawForeground() + if (menutItem.visible === true) { + menutItem.drawForeground() + } } } } diff --git a/FloatingSpace/CircularMenuItem.js b/FloatingSpace/CircularMenuItem.js index ac7e9f5db..8242c4fed 100644 --- a/FloatingSpace/CircularMenuItem.js +++ b/FloatingSpace/CircularMenuItem.js @@ -17,6 +17,12 @@ function newCircularMenuItem () { workingLabel: undefined, workDoneLabel: undefined, workFailedLabel: undefined, + secondaryAction: undefined, + secondaryLabel: undefined, + secondaryWorkingLabel: undefined, + secondaryWorkDoneLabel: undefined, + secondaryWorkFailedLabel: undefined, + secondaryIcon: undefined, visible: false, iconPathOn: undefined, iconPathOff: undefined, @@ -59,6 +65,12 @@ function newCircularMenuItem () { let temporaryStatus = 0 const EXTRA_MOUSE_OVER_ICON_SIZE = 2 + + const STATUS_DEFAULT = 0 + const STATUS_WORKING = -1 + const STAtUS_SECONDARY_WORKING = -2 + const STATUS_PRIMARY_WORK_DONE = -3 + return thisObject function finalize () { @@ -127,7 +139,7 @@ function newCircularMenuItem () { temporaryStatus-- } - if (temporaryStatus === 0) { + if (temporaryStatus === STATUS_DEFAULT) { labelToPrint = thisObject.label backgroundColorToUse = defaultBackgroudColor } @@ -136,12 +148,17 @@ function newCircularMenuItem () { } function iconPhysics () { - if (thisObject.relatedStrategyPart !== undefined) { - thisObject.iconOn = canvas.strategySpace.iconByPartType.get(thisObject.relatedStrategyPart) - thisObject.iconOff = canvas.strategySpace.iconByPartType.get(thisObject.relatedStrategyPart) + if (temporaryStatus === STATUS_PRIMARY_WORK_DONE || temporaryStatus === STAtUS_SECONDARY_WORKING) { + thisObject.iconOn = canvas.strategySpace.iconCollection.get(thisObject.secondaryIcon) + thisObject.iconOff = canvas.strategySpace.iconCollection.get(thisObject.secondaryIcon) } else { - thisObject.iconOn = canvas.strategySpace.iconCollection.get(thisObject.iconPathOn) - thisObject.iconOff = canvas.strategySpace.iconCollection.get(thisObject.iconPathOff) + if (thisObject.relatedStrategyPart !== undefined) { + thisObject.iconOn = canvas.strategySpace.iconByPartType.get(thisObject.relatedStrategyPart) + thisObject.iconOff = canvas.strategySpace.iconByPartType.get(thisObject.relatedStrategyPart) + } else { + thisObject.iconOn = canvas.strategySpace.iconCollection.get(thisObject.iconPathOn) + thisObject.iconOff = canvas.strategySpace.iconCollection.get(thisObject.iconPathOff) + } } /* Current Status might be linked to some other object status */ @@ -173,7 +190,7 @@ function newCircularMenuItem () { async function onMouseClick (event) { if (thisObject.askConfirmation !== true) { /* No confirmation is needed */ - if (temporaryStatus === 0) { + if (temporaryStatus === STATUS_DEFAULT || temporaryStatus === STATUS_PRIMARY_WORK_DONE) { executeAction() } } else { @@ -191,22 +208,57 @@ function newCircularMenuItem () { } function executeAction () { - /* If there is a working label defined, we use it here. */ - if (thisObject.workingLabel !== undefined) { - setTemporaryStatus(thisObject.workingLabel, UI_COLOR.GREY, -1) // Status will not expire, will only change with a callback. Mouse Clicks will be ignored. + if (labelToPrint !== thisObject.workingLabel) { + /* We need to execute the main Action */ + /* If there is a working label defined, we use it here. */ + if (thisObject.workingLabel !== undefined) { + setTemporaryStatus(thisObject.workingLabel, UI_COLOR.GREY, STATUS_WORKING) // Status will not expire, will only change with a callback. Mouse Clicks will be ignored. + } + + /* Execute the action and wait for callbacks to update our statuus. */ + thisObject.actionFunction(thisObject.payload, thisObject.action, onPrimaryCallBack) + } else { + /* We need to execute the secondary action. */ + if (thisObject.secondaryWorkingLabel !== undefined) { + setTemporaryStatus(thisObject.secondaryWorkingLabel, UI_COLOR.GREY, STAtUS_SECONDARY_WORKING) // Status will not expire, will only change with a callback. Mouse Clicks will be ignored. + } + + /* Execute the action and wait for callbacks to update our statuus. */ + thisObject.actionFunction(thisObject.payload, thisObject.secondaryAction, onSecondaryCallBack) } - /* Execute the action and wait for callbacks to update our statuus. */ - thisObject.actionFunction(thisObject.payload, thisObject.action, onCallBack) - - function onCallBack (err) { - if (err.result === GLOBAL.DEFAULT_OK_RESPONSE.result) { - if (thisObject.workDoneLabel !== undefined) { - setTemporaryStatus(thisObject.workDoneLabel, UI_COLOR.PATINATED_TURQUOISE, 250) + function onPrimaryCallBack (err) { + /* If there is a secondary action we will act different that if there is not */ + if (thisObject.secondaryAction === undefined) { + if (err.result === GLOBAL.DEFAULT_OK_RESPONSE.result) { + if (thisObject.workDoneLabel !== undefined) { + setTemporaryStatus(thisObject.workDoneLabel, UI_COLOR.PATINATED_TURQUOISE, 250) + } + } else { + if (thisObject.workFailedLabel != undefined) { + setTemporaryStatus(thisObject.workFailedLabel, UI_COLOR.TITANIUM_YELLOW, 500) + } } } else { - if (thisObject.workFailedLabel != undefined) { - setTemporaryStatus(thisObject.workFailedLabel, UI_COLOR.TITANIUM_YELLOW, 500) + if (err.result === GLOBAL.DEFAULT_OK_RESPONSE.result) { + if (thisObject.workDoneLabel !== undefined) { + setTemporaryStatus(thisObject.secondaryLabel, defaultBackgroudColor, STATUS_PRIMARY_WORK_DONE) + } + } else { + if (thisObject.workFailedLabel != undefined) { + setTemporaryStatus(thisObject.workFailedLabel, UI_COLOR.TITANIUM_YELLOW, 500) + } + } + } + } + function onSecondaryCallBack (err) { + if (err.result === GLOBAL.DEFAULT_OK_RESPONSE.result) { + if (thisObject.secondaryWorkDoneLabel !== undefined) { + setTemporaryStatus(thisObject.secondaryWorkDoneLabel, UI_COLOR.PATINATED_TURQUOISE, 250) + } + } else { + if (thisObject.secondaryWorkFailedLabel != undefined) { + setTemporaryStatus(thisObject.secondaryWorkFailedLabel, UI_COLOR.TITANIUM_YELLOW, 500) } } } diff --git a/FloatingSpace/CircularProgressBar.js b/FloatingSpace/CircularProgressBar.js index 91bbdd3b6..9977d4068 100644 --- a/FloatingSpace/CircularProgressBar.js +++ b/FloatingSpace/CircularProgressBar.js @@ -40,7 +40,7 @@ function newCircularProgressBar () { } let key = thisObject.payload.node.name + '-' + thisObject.payload.node.type + '-' + thisObject.payload.node.id - systemEventHandler.createEventHandler(key) + // systemEventHandler.createEventHandler(key) systemEventHandler.listenToEvent(key, 'Heartbeat', undefined, key, undefined, onHeartBeat) } diff --git a/FloatingSpace/StrategyPart.js b/FloatingSpace/StrategyPart.js index bfc758b42..f77b3ab77 100644 --- a/FloatingSpace/StrategyPart.js +++ b/FloatingSpace/StrategyPart.js @@ -530,7 +530,8 @@ function newStrategyPart () { } } - function run () { + function run (callBackFunction) { + /* We setup the circular progress bar. */ if (thisObject.circularProgressBar !== undefined) { thisObject.circularProgressBar.finalize() } @@ -539,11 +540,23 @@ function newStrategyPart () { thisObject.circularProgressBar.initialize(thisObject.payload) thisObject.circularProgressBar.fitFunction = thisObject.fitFunction thisObject.circularProgressBar.container = thisObject.container + + /* We will wait to the event that the task was terminated in order to call back the menu item */ + let key = thisObject.payload.node.name + '-' + thisObject.payload.node.type + '-' + thisObject.payload.node.id + systemEventHandler.listenToEvent(key, 'Task Running', undefined, key, undefined, onTaskTerminated) + + function onTaskTerminated () { + callBackFunction(GLOBAL.DEFAULT_OK_RESPONSE) + } } - function stop () { - setTimeout(removecircularProgressBar, 90000) - function removecircularProgressBar () { + function stop (callBackFunction) { + /* We will wait to the event that the task was terminated in order to call back the menu item */ + let key = thisObject.payload.node.name + '-' + thisObject.payload.node.type + '-' + thisObject.payload.node.id + let eventSubscriptionId = systemEventHandler.listenToEvent(key, 'Task Stopped', undefined, key, undefined, onTaskTerminated) + + function onTaskTerminated () { + callBackFunction(GLOBAL.DEFAULT_OK_RESPONSE) thisObject.circularProgressBar.finalize() thisObject.circularProgressBar = undefined } diff --git a/FloatingSpace/StrategyPartConstructor.js b/FloatingSpace/StrategyPartConstructor.js index 37b8c4a21..87db6c451 100644 --- a/FloatingSpace/StrategyPartConstructor.js +++ b/FloatingSpace/StrategyPartConstructor.js @@ -91,7 +91,7 @@ function newStrategyPartConstructor () { actionStatus: floatingObject.getPinStatus, currentStatus: false, label: undefined, - visible: false, + visible: true, iconPathOn: 'menu-fix-pinned', iconPathOff: 'menu-fix-unpinned', rawRadius: 8, @@ -107,7 +107,7 @@ function newStrategyPartConstructor () { actionStatus: floatingObject.getTensionStatus, currentStatus: true, label: undefined, - visible: false, + visible: true, iconPathOn: 'menu-tensor-fixed-angles', iconPathOff: 'menu-tensor-free-angles', rawRadius: 8, @@ -123,7 +123,7 @@ function newStrategyPartConstructor () { actionStatus: floatingObject.getFreezeStatus, currentStatus: true, label: undefined, - visible: false, + visible: true, iconPathOn: 'menu-mobility-freeze', iconPathOff: 'menu-mobility-unfreeze', rawRadius: 8, @@ -139,7 +139,7 @@ function newStrategyPartConstructor () { actionStatus: floatingObject.getCollapeseStatus, currentStatus: false, label: undefined, - visible: false, + visible: true, iconPathOn: 'menu-tree-plus', iconPathOff: 'menu-tree-minus', rawRadius: 8, @@ -153,7 +153,7 @@ function newStrategyPartConstructor () { action: 'Backup', actionFunction: floatingObject.payload.onMenuItemClick, label: undefined, - visible: false, + visible: true, iconPathOn: 'menu-backup', iconPathOff: 'menu-backup', rawRadius: 8, @@ -177,7 +177,7 @@ function newStrategyPartConstructor () { actionStatus: floatingObject.getPinStatus, currentStatus: true, label: undefined, - visible: false, + visible: true, iconPathOn: 'menu-fix-unpinned', iconPathOff: 'menu-fix-pinned', rawRadius: 8, @@ -189,7 +189,7 @@ function newStrategyPartConstructor () { action: 'Backup Workspace', actionFunction: payload.onMenuItemClick, label: undefined, - visible: false, + visible: true, iconPathOn: 'menu-backup', iconPathOff: 'menu-backup', rawRadius: 8, @@ -201,7 +201,7 @@ function newStrategyPartConstructor () { action: 'Share Workspace', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -220,7 +220,7 @@ function newStrategyPartConstructor () { action: 'Set as Default', actionFunction: payload.uiObject.setAsDefault, label: 'Set as Default', - visible: false, + visible: true, iconPathOn: 'paper-plane', iconPathOff: 'paper-plane', rawRadius: 8, @@ -237,7 +237,7 @@ function newStrategyPartConstructor () { workingLabel: 'Saving...', workDoneLabel: 'Saved', workFailedLabel: 'Not Saved', - visible: false, + visible: true, iconPathOn: 'menu-backup', iconPathOff: 'menu-backup', rawRadius: 8, @@ -251,7 +251,7 @@ function newStrategyPartConstructor () { action: 'Add Trading System', actionFunction: payload.onMenuItemClick, label: 'Add Trading System', - visible: false, + visible: true, relatedStrategyPart: 'Trading System', rawRadius: 8, targetRadius: 0, @@ -264,7 +264,7 @@ function newStrategyPartConstructor () { action: 'Add Personal Data', actionFunction: payload.onMenuItemClick, label: 'Add Personal Data', - visible: false, + visible: true, relatedStrategyPart: 'Personal Data', rawRadius: 8, targetRadius: 0, @@ -277,7 +277,7 @@ function newStrategyPartConstructor () { action: 'Add Task Manager', actionFunction: payload.onMenuItemClick, label: 'Add Task Manager', - visible: false, + visible: true, relatedStrategyPart: 'Task Manager', rawRadius: 8, targetRadius: 0, @@ -292,7 +292,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Definition', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -306,7 +306,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -324,7 +324,7 @@ function newStrategyPartConstructor () { action: 'Run All Tasks', actionFunction: payload.onMenuItemClick, label: 'Run All Tasks', - visible: false, + visible: true, iconPathOn: 'paper-plane', iconPathOff: 'paper-plane', rawRadius: 8, @@ -338,7 +338,7 @@ function newStrategyPartConstructor () { action: 'Stop All Tasks', actionFunction: payload.onMenuItemClick, label: 'Stop All Tasks', - visible: false, + visible: true, iconPathOn: 'stop', iconPathOff: 'stop', rawRadius: 8, @@ -352,7 +352,7 @@ function newStrategyPartConstructor () { action: 'Add Task', actionFunction: payload.onMenuItemClick, label: 'Add Task', - visible: false, + visible: true, relatedStrategyPart: 'Task Manager', rawRadius: 8, targetRadius: 0, @@ -367,7 +367,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Task Manager', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -381,7 +381,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -399,27 +399,22 @@ function newStrategyPartConstructor () { action: 'Run Task', actionFunction: payload.onMenuItemClick, label: 'Run', - visible: false, + workingLabel: 'Stop', + workDoneLabel: 'Task Running', + workFailedLabel: 'Task Cannot be Run', + secondaryAction: 'Stop Task', + secondaryLabel: 'Stop', + secondaryWorkingLabel: 'Stopping...', + secondaryWorkDoneLabel: 'Task Stopped', + secondaryWorkFailedLabel: 'Task Cannot be Stopped', + secondaryIcon: 'stop', + visible: true, iconPathOn: 'paper-plane', iconPathOff: 'paper-plane', rawRadius: 8, targetRadius: 0, currentRadius: 0, - angle: -75 - } - ) - menuItemsInitialValues.push( - { - action: 'Stop Task', - actionFunction: payload.onMenuItemClick, - label: 'Stop', - visible: false, - iconPathOn: 'stop', - iconPathOff: 'stop', - rawRadius: 8, - targetRadius: 0, - currentRadius: 0, - angle: -40 + angle: -65 } ) menuItemsInitialValues.push( @@ -427,12 +422,12 @@ function newStrategyPartConstructor () { action: 'Add Sensor', actionFunction: payload.onMenuItemClick, label: 'Add Sensor', - visible: false, + visible: true, relatedStrategyPart: 'Sensor', rawRadius: 8, targetRadius: 0, currentRadius: 0, - angle: -20 + angle: -30 } ) menuItemsInitialValues.push( @@ -440,12 +435,12 @@ function newStrategyPartConstructor () { action: 'Add Indicator', actionFunction: payload.onMenuItemClick, label: 'Add Indicator', - visible: false, + visible: true, relatedStrategyPart: 'Indicator', rawRadius: 8, targetRadius: 0, currentRadius: 0, - angle: 0 + angle: -10 } ) menuItemsInitialValues.push( @@ -453,12 +448,12 @@ function newStrategyPartConstructor () { action: 'Add Trading Engine', actionFunction: payload.onMenuItemClick, label: 'Add Trading Engine', - visible: false, + visible: true, relatedStrategyPart: 'Trading Engine', rawRadius: 8, targetRadius: 0, currentRadius: 0, - angle: 20 + angle: 10 } ) menuItemsInitialValues.push( @@ -468,13 +463,13 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Process', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, targetRadius: 0, currentRadius: 0, - angle: +40 + angle: +30 } ) menuItemsInitialValues.push( @@ -482,13 +477,13 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, targetRadius: 0, currentRadius: 0, - angle: 75 + angle: 65 } ) break @@ -500,7 +495,7 @@ function newStrategyPartConstructor () { action: 'Add Process', actionFunction: payload.onMenuItemClick, label: 'Add Process', - visible: false, + visible: true, relatedStrategyPart: 'Process', rawRadius: 8, targetRadius: 0, @@ -515,7 +510,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Sensor', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -529,7 +524,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -547,7 +542,7 @@ function newStrategyPartConstructor () { action: 'Add Process', actionFunction: payload.onMenuItemClick, label: 'Add Process', - visible: false, + visible: true, relatedStrategyPart: 'Process', rawRadius: 8, targetRadius: 0, @@ -562,7 +557,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Indicator', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -576,7 +571,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -594,7 +589,7 @@ function newStrategyPartConstructor () { action: 'Add Process', actionFunction: payload.onMenuItemClick, label: 'Add Process', - visible: false, + visible: true, relatedStrategyPart: 'Process', rawRadius: 8, targetRadius: 0, @@ -609,7 +604,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Trading Engine', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -623,7 +618,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -646,7 +641,7 @@ function newStrategyPartConstructor () { action: 'Edit Process', actionFunction: strategyPart.codeEditor.activate, label: 'Edit Process', - visible: false, + visible: true, iconPathOn: 'html', iconPathOff: 'html', rawRadius: 8, @@ -663,7 +658,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Process', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -677,7 +672,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -695,7 +690,7 @@ function newStrategyPartConstructor () { action: 'Add Exchange Account', actionFunction: payload.onMenuItemClick, label: 'Add Exchange Account', - visible: false, + visible: true, relatedStrategyPart: 'Exchange Account', rawRadius: 8, targetRadius: 0, @@ -710,7 +705,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Personal Data', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -728,7 +723,7 @@ function newStrategyPartConstructor () { action: 'Add Exchange Account Asset', actionFunction: payload.onMenuItemClick, label: 'Add Asset', - visible: false, + visible: true, relatedStrategyPart: 'Exchange Account Asset', rawRadius: 8, targetRadius: 0, @@ -741,7 +736,7 @@ function newStrategyPartConstructor () { action: 'Add Exchange Account Key', actionFunction: payload.onMenuItemClick, label: 'Add Key', - visible: false, + visible: true, relatedStrategyPart: 'Exchange Account Key', rawRadius: 8, targetRadius: 0, @@ -756,7 +751,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Account', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -776,7 +771,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Asset', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -799,7 +794,7 @@ function newStrategyPartConstructor () { action: 'Edit Key Value', actionFunction: strategyPart.codeEditor.activate, label: 'Edit Key Value', - visible: false, + visible: true, iconPathOn: 'html', iconPathOff: 'html', rawRadius: 8, @@ -816,7 +811,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Key', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -834,7 +829,7 @@ function newStrategyPartConstructor () { action: 'Add Strategy', actionFunction: payload.onMenuItemClick, label: 'Add Strategy', - visible: false, + visible: true, relatedStrategyPart: 'Strategy', rawRadius: 8, targetRadius: 0, @@ -847,7 +842,7 @@ function newStrategyPartConstructor () { action: 'Add Parameters', actionFunction: payload.onMenuItemClick, label: 'Add Parameters', - visible: false, + visible: true, relatedStrategyPart: 'Parameters', rawRadius: 8, targetRadius: 0, @@ -862,7 +857,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Trading System', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -876,7 +871,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -894,7 +889,7 @@ function newStrategyPartConstructor () { action: 'Add Missing Parameters', actionFunction: payload.onMenuItemClick, label: 'Add Missing Params', - visible: false, + visible: true, relatedStrategyPart: 'Parameters', rawRadius: 8, targetRadius: 0, @@ -909,7 +904,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Parameters', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -923,7 +918,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -946,7 +941,7 @@ function newStrategyPartConstructor () { action: 'Edit Base Asset', actionFunction: strategyPart.codeEditor.activate, label: 'Edit Base Asset', - visible: false, + visible: true, iconPathOn: 'settings', iconPathOff: 'settings', rawRadius: 8, @@ -962,7 +957,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Base Asset', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -976,7 +971,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -999,7 +994,7 @@ function newStrategyPartConstructor () { action: 'Edit Time Range', actionFunction: strategyPart.codeEditor.activate, label: 'Edit Time Range', - visible: false, + visible: true, iconPathOn: 'settings', iconPathOff: 'settings', rawRadius: 8, @@ -1015,7 +1010,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Time Range', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1029,7 +1024,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1052,7 +1047,7 @@ function newStrategyPartConstructor () { action: 'Edit Slippage', actionFunction: strategyPart.codeEditor.activate, label: 'Edit Slippage', - visible: false, + visible: true, iconPathOn: 'settings', iconPathOff: 'settings', rawRadius: 8, @@ -1068,7 +1063,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Slippage', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1082,7 +1077,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1105,7 +1100,7 @@ function newStrategyPartConstructor () { action: 'Edit Fee Structure', actionFunction: strategyPart.codeEditor.activate, label: 'Edit Fee Structure', - visible: false, + visible: true, iconPathOn: 'settings', iconPathOff: 'settings', rawRadius: 8, @@ -1121,7 +1116,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Fee Structure', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1135,7 +1130,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1153,7 +1148,7 @@ function newStrategyPartConstructor () { action: 'Add Missing Stages', actionFunction: payload.onMenuItemClick, label: 'Add Missing Stages', - visible: false, + visible: true, relatedStrategyPart: 'Strategy', rawRadius: 8, targetRadius: 0, @@ -1168,7 +1163,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Strategy', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1182,7 +1177,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1200,7 +1195,7 @@ function newStrategyPartConstructor () { action: 'Add Missing Events', actionFunction: payload.onMenuItemClick, label: 'Add Missing Events', - visible: false, + visible: true, relatedStrategyPart: 'Trigger Stage', rawRadius: 8, targetRadius: 0, @@ -1215,7 +1210,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Stage', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1229,7 +1224,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1247,7 +1242,7 @@ function newStrategyPartConstructor () { action: 'Add Initial Definition', actionFunction: payload.onMenuItemClick, label: 'Add Initial Definition', - visible: false, + visible: true, relatedStrategyPart: 'Initial Definition', rawRadius: 8, targetRadius: 0, @@ -1260,7 +1255,7 @@ function newStrategyPartConstructor () { action: 'Add Open Execution', actionFunction: payload.onMenuItemClick, label: 'Add Open Execution', - visible: false, + visible: true, relatedStrategyPart: 'Open Execution', rawRadius: 8, targetRadius: 0, @@ -1275,7 +1270,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Stage', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1289,7 +1284,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1307,7 +1302,7 @@ function newStrategyPartConstructor () { action: 'Add Missing Items', actionFunction: payload.onMenuItemClick, label: 'Add Missing Items', - visible: false, + visible: true, relatedStrategyPart: 'Manage Stage', rawRadius: 8, targetRadius: 0, @@ -1322,7 +1317,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Stage', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1336,7 +1331,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1354,7 +1349,7 @@ function newStrategyPartConstructor () { action: 'Add Close Execution', actionFunction: payload.onMenuItemClick, label: 'Add Close Execution', - visible: false, + visible: true, relatedStrategyPart: 'Close Execution', rawRadius: 8, targetRadius: 0, @@ -1369,7 +1364,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Stage', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1383,7 +1378,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1401,7 +1396,7 @@ function newStrategyPartConstructor () { action: 'Add Formula', actionFunction: payload.onMenuItemClick, label: 'Add Formula', - visible: false, + visible: true, relatedStrategyPart: 'Formula', rawRadius: 8, targetRadius: 0, @@ -1416,7 +1411,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Position Size', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1430,7 +1425,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1448,7 +1443,7 @@ function newStrategyPartConstructor () { action: 'Add Formula', actionFunction: payload.onMenuItemClick, label: 'Add Formula', - visible: false, + visible: true, relatedStrategyPart: 'Formula', rawRadius: 8, targetRadius: 0, @@ -1463,7 +1458,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete Position Rate', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1477,7 +1472,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1495,7 +1490,7 @@ function newStrategyPartConstructor () { action: 'Add Situation', actionFunction: payload.onMenuItemClick, label: 'Add Situation', - visible: false, + visible: true, relatedStrategyPart: 'Situation', rawRadius: 8, targetRadius: 0, @@ -1510,7 +1505,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Event', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1524,7 +1519,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1542,7 +1537,7 @@ function newStrategyPartConstructor () { action: 'Add Situation', actionFunction: payload.onMenuItemClick, label: 'Add Situation', - visible: false, + visible: true, relatedStrategyPart: 'Situation', rawRadius: 8, targetRadius: 0, @@ -1557,7 +1552,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Event', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1571,7 +1566,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1589,7 +1584,7 @@ function newStrategyPartConstructor () { action: 'Add Situation', actionFunction: payload.onMenuItemClick, label: 'Add Situation', - visible: false, + visible: true, relatedStrategyPart: 'Situation', rawRadius: 8, targetRadius: 0, @@ -1604,7 +1599,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Event', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1618,7 +1613,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1636,7 +1631,7 @@ function newStrategyPartConstructor () { action: 'Add Missing Items', actionFunction: payload.onMenuItemClick, label: 'Add Missing Items', - visible: false, + visible: true, relatedStrategyPart: 'Initial Definition', rawRadius: 8, targetRadius: 0, @@ -1651,7 +1646,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Definition', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1665,7 +1660,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1685,7 +1680,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1699,7 +1694,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1719,7 +1714,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1733,7 +1728,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1751,7 +1746,7 @@ function newStrategyPartConstructor () { action: 'Add Phase', actionFunction: payload.onMenuItemClick, label: 'Add Phase', - visible: false, + visible: true, relatedStrategyPart: 'Phase', rawRadius: 8, targetRadius: 0, @@ -1766,7 +1761,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Item', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1780,7 +1775,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1798,7 +1793,7 @@ function newStrategyPartConstructor () { action: 'Add Phase', actionFunction: payload.onMenuItemClick, label: 'Add Phase', - visible: false, + visible: true, relatedStrategyPart: 'Phase', rawRadius: 8, targetRadius: 0, @@ -1813,7 +1808,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Item', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1827,7 +1822,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1845,7 +1840,7 @@ function newStrategyPartConstructor () { action: 'Add Formula', actionFunction: payload.onMenuItemClick, label: 'Add Formula', - visible: false, + visible: true, relatedStrategyPart: 'Formula', rawRadius: 8, targetRadius: 0, @@ -1858,7 +1853,7 @@ function newStrategyPartConstructor () { action: 'Add Next Phase Event', actionFunction: payload.onMenuItemClick, label: 'Add Next Phase Event', - visible: false, + visible: true, relatedStrategyPart: 'Next Phase Event', rawRadius: 8, targetRadius: 0, @@ -1873,7 +1868,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Phase', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1887,7 +1882,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1910,7 +1905,7 @@ function newStrategyPartConstructor () { action: 'Edit Formula', actionFunction: strategyPart.codeEditor.activate, label: 'Edit Formula', - visible: false, + visible: true, iconPathOn: 'html', iconPathOff: 'html', rawRadius: 8, @@ -1927,7 +1922,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Formula', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1941,7 +1936,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -1959,7 +1954,7 @@ function newStrategyPartConstructor () { action: 'Add Situation', actionFunction: payload.onMenuItemClick, label: 'Add Situation', - visible: false, + visible: true, relatedStrategyPart: 'Situation', rawRadius: 8, targetRadius: 0, @@ -1974,7 +1969,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Event', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -1988,7 +1983,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -2006,7 +2001,7 @@ function newStrategyPartConstructor () { action: 'Add Condition', actionFunction: payload.onMenuItemClick, label: 'Add Condition', - visible: false, + visible: true, relatedStrategyPart: 'Condition', rawRadius: 8, targetRadius: 0, @@ -2021,7 +2016,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Situation', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -2035,7 +2030,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -2053,7 +2048,7 @@ function newStrategyPartConstructor () { action: 'Add Code', actionFunction: payload.onMenuItemClick, label: 'Add Code', - visible: false, + visible: true, relatedStrategyPart: 'Code', rawRadius: 8, targetRadius: 0, @@ -2068,7 +2063,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Condition', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -2082,7 +2077,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, @@ -2105,7 +2100,7 @@ function newStrategyPartConstructor () { action: 'Edit Code', actionFunction: strategyPart.codeEditor.activate, label: 'Edit Code', - visible: false, + visible: true, iconPathOn: 'html', iconPathOff: 'html', rawRadius: 8, @@ -2122,7 +2117,7 @@ function newStrategyPartConstructor () { confirmationLabel: 'Confirm to Delete', actionFunction: payload.onMenuItemClick, label: 'Delete This Code', - visible: false, + visible: true, iconPathOn: 'delete', iconPathOff: 'delete', rawRadius: 8, @@ -2136,7 +2131,7 @@ function newStrategyPartConstructor () { action: 'Share', actionFunction: payload.onMenuItemClick, label: 'Share', - visible: false, + visible: true, iconPathOn: 'menu-share', iconPathOff: 'menu-share', rawRadius: 8, diff --git a/StrategySpace/Workspace/FunctionLibraries/TaskFunctions.js b/StrategySpace/Workspace/FunctionLibraries/TaskFunctions.js index e7eb9b60e..32bc3a3f5 100644 --- a/StrategySpace/Workspace/FunctionLibraries/TaskFunctions.js +++ b/StrategySpace/Workspace/FunctionLibraries/TaskFunctions.js @@ -8,7 +8,7 @@ function newTaskFunctions () { return thisObject - function runTask (node, functionLibraryProtocolNode) { + function runTask (node, functionLibraryProtocolNode, callBackFunction) { /* Check if it is possible to Run or not */ if (node.bot === undefined) { return } if (node.bot.processes.length === 0) { return } @@ -18,7 +18,7 @@ function newTaskFunctions () { process.payload.uiObject.run() } - node.payload.uiObject.run() + node.payload.uiObject.run(callBackFunction) let event = { taskId: node.id, @@ -28,14 +28,14 @@ function newTaskFunctions () { systemEventHandler.raiseEvent('Task Manager', 'Run Task', event) } - function stopTask (node, functionLibraryProtocolNode) { + function stopTask (node, functionLibraryProtocolNode, callBackFunction) { let event = { taskId: node.id, taskName: node.name } systemEventHandler.raiseEvent('Task Manager', 'Stop Task', event) - node.payload.uiObject.stop() + node.payload.uiObject.stop(callBackFunction) if (node.bot === undefined) { return } if (node.bot.processes.length === 0) { return } diff --git a/StrategySpace/Workspace/Workspace.js b/StrategySpace/Workspace/Workspace.js index a57618621..0a31a8006 100644 --- a/StrategySpace/Workspace/Workspace.js +++ b/StrategySpace/Workspace/Workspace.js @@ -227,12 +227,12 @@ function newWorkspace () { break case 'Run Task': { - functionLibraryTaskFunctions.runTask(payload.node, functionLibraryProtocolNode) + functionLibraryTaskFunctions.runTask(payload.node, functionLibraryProtocolNode, callBackFunction) } break case 'Stop Task': { - functionLibraryTaskFunctions.stopTask(payload.node, functionLibraryProtocolNode) + functionLibraryTaskFunctions.stopTask(payload.node, functionLibraryProtocolNode, callBackFunction) } break case 'Run All Tasks':