461 lines
20 KiB
JavaScript
461 lines
20 KiB
JavaScript
function newFoundationsActionSwitch() {
|
|
|
|
let thisObject = {
|
|
executeAction: executeAction,
|
|
initialize: initialize,
|
|
finalize: finalize
|
|
}
|
|
|
|
return thisObject
|
|
|
|
function finalize() {
|
|
|
|
}
|
|
|
|
function initialize() {
|
|
/* Nothing to initialize since a Function Library does not hold any state. */
|
|
}
|
|
|
|
async function executeAction(action) {
|
|
switch (action.name) {
|
|
case 'Debug Task':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runTask(action.node, true, action.callBackFunction)
|
|
}
|
|
break
|
|
case 'Run Task':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runTask(action.node, false, action.callBackFunction)
|
|
}
|
|
break
|
|
case 'Stop Task':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopTask(action.node, action.callBackFunction)
|
|
}
|
|
break
|
|
case 'Run All Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllTasks(action.node)
|
|
}
|
|
break
|
|
case 'Run All Task Managers':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllTaskManagers(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Task Managers':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllTaskManagers(action.node)
|
|
}
|
|
break
|
|
case 'Run All Exchange Data Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllExchangeDataTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Exchange Data Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllExchangeDataTasks(action.node)
|
|
}
|
|
break
|
|
case 'Run All Exchange Trading Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllExchangeTradingTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Exchange Trading Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllExchangeTradingTasks(action.node)
|
|
}
|
|
break
|
|
case 'Run All Exchange Learning Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllExchangeLearningTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Exchange Learning Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllExchangeLearningTasks(action.node)
|
|
}
|
|
break
|
|
case 'Run All Project Data Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllProjectDataTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Project Data Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllProjectDataTasks(action.node)
|
|
}
|
|
break
|
|
case 'Run All Project Trading Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllProjectTradingTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Project Trading Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllProjectTradingTasks(action.node)
|
|
}
|
|
break
|
|
case 'Run All Project Learning Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllProjectLearningTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Project Learning Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllProjectLearningTasks(action.node)
|
|
}
|
|
break
|
|
case 'Run All Market Data Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllMarketDataTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Market Data Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllMarketDataTasks(action.node)
|
|
}
|
|
break
|
|
case 'Run All Market Trading Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllMarketTradingTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Market Trading Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllMarketTradingTasks(action.node)
|
|
}
|
|
break
|
|
case 'Run All Market Learning Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllMarketLearningTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Market Learning Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllMarketLearningTasks(action.node)
|
|
}
|
|
break
|
|
case 'Run All Data Mine Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllDataMineTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Data Mine Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllDataMineTasks(action.node)
|
|
}
|
|
break
|
|
case 'Run All Trading Mine Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllTradingMineTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Trading Mine Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllTradingMineTasks(action.node)
|
|
}
|
|
break
|
|
case 'Run All Learning Mine Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.runAllLearningMineTasks(action.node)
|
|
}
|
|
break
|
|
case 'Stop All Learning Mine Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.stopAllLearningMineTasks(action.node)
|
|
}
|
|
break
|
|
case 'Add Missing Project Data Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addMissingProjectDataTasks(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Exchange Data Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addMissingExchangeDataTasks(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Market Data Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addMissingMarketDataTasks(action.node)
|
|
}
|
|
break
|
|
case 'Add Missing Data Mine Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addMissingDataMineTasks(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Project Trading Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addMissingProjectTradingTasks(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Exchange Trading Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addMissingExchangeTradingTasks(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Market Trading Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addMissingMarketTradingTasks(action.node)
|
|
}
|
|
break
|
|
case 'Add Missing Trading Mine Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addMissingTradingMineTasks(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Project Learning Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addMissingProjectLearningTasks(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Exchange Learning Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addMissingExchangeLearningTasks(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Market Learning Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addMissingMarketLearningTasks(action.node)
|
|
}
|
|
break
|
|
case 'Add Missing Learning Mine Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addMissingLearningMineTasks(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add All Tasks':
|
|
{
|
|
UI.projects.foundations.functionLibraries.taskFunctions.addAllTasks(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Crypto Exchanges':
|
|
{
|
|
UI.projects.foundations.functionLibraries.cryptoEcosystemFunctions.addMissingExchanges(action.node)
|
|
}
|
|
break
|
|
case 'Add Missing Assets':
|
|
{
|
|
UI.projects.foundations.functionLibraries.cryptoEcosystemFunctions.addMissingAssets(action.node)
|
|
}
|
|
break
|
|
case 'Add Missing Markets':
|
|
{
|
|
UI.projects.foundations.functionLibraries.cryptoEcosystemFunctions.addMissingMarkets(action.node)
|
|
}
|
|
break
|
|
case 'Install Market':
|
|
{
|
|
UI.projects.foundations.functionLibraries.cryptoEcosystemFunctions.installMarket(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Uninstall Market':
|
|
{
|
|
UI.projects.foundations.functionLibraries.cryptoEcosystemFunctions.uninstallMarket(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add All Data Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addAllDataProducts(action.node)
|
|
}
|
|
break
|
|
case 'Add All Data Mine Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addAllDataMineProducts(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add All Learning Mine Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addAllLearningMineProducts(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add All Trading Mine Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addAllTradingMineProducts(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Trading Session References':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingTradingSessionReferences(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Learning Session References':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingLearningSessionReferences(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Market Data Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingMarketDataProducts(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Market Trading Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingMarketTradingProducts(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Market Learning Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingMarketLearningProducts(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Exchange Learning Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingExchangeLearningProducts(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Exchange Trading Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingExchangeTradingProducts(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Exchange Data Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingExchangeDataProducts(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Project Learning Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingProjectLearningProducts(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Project Trading Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingProjectTradingProducts(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Project Data Products':
|
|
{
|
|
UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingProjectDataProducts(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add All Layer Panels':
|
|
{
|
|
UI.projects.foundations.functionLibraries.chartingSpaceFunctions.addAllLayerPanels(action.node)
|
|
}
|
|
break
|
|
case 'Add All Layer Polygons':
|
|
{
|
|
UI.projects.foundations.functionLibraries.chartingSpaceFunctions.addAllLayerPolygons(action.node)
|
|
}
|
|
break
|
|
case 'Add All Mine Layers':
|
|
{
|
|
UI.projects.foundations.functionLibraries.chartingSpaceFunctions.addAllMineLayers(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Time Machines':
|
|
{
|
|
UI.projects.foundations.functionLibraries.chartingSpaceFunctions.addMissingTimeMachines(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Dashboards':
|
|
{
|
|
UI.projects.foundations.functionLibraries.chartingSpaceFunctions.addMissingDashboards(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Add Missing Project Dashboards':
|
|
{
|
|
UI.projects.foundations.functionLibraries.chartingSpaceFunctions.addMissingProjectDashboards(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Send Webhook Test Message':
|
|
{
|
|
UI.projects.foundations.functionLibraries.webhookFunctions.sendTestMessage(action.node, action.callBackFunction)
|
|
}
|
|
break
|
|
case 'Run Super Action':
|
|
{
|
|
UI.projects.foundations.functionLibraries.superScriptsFunctions.runSuperScript(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Push Code to Javascript Code':
|
|
{
|
|
action.node.javascriptCode.code = action.node.code
|
|
}
|
|
break
|
|
case 'Fetch Code to Javascript Code':
|
|
{
|
|
action.node.code = action.node.javascriptCode.code
|
|
}
|
|
break
|
|
case 'Open Documentation':
|
|
{
|
|
let docs = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(action.node.payload, 'docs')
|
|
|
|
if (docs === undefined) {
|
|
let definition = getSchemaDocument(action.node)
|
|
if (definition !== undefined) {
|
|
UI.projects.education.spaces.docsSpace.openSpaceAreaAndNavigateTo(action.node.project, 'Node', action.node.type)
|
|
}
|
|
} else {
|
|
UI.projects.education.spaces.docsSpace.openSpaceAreaAndNavigateTo(docs.project, docs.category, docs.type, docs.anchor, docs.nodeId, docs.placeholder)
|
|
}
|
|
}
|
|
break
|
|
case 'Add Missing Workspace Projects':
|
|
{
|
|
UI.projects.foundations.functionLibraries.workspaceFunctions.addMissingWorkspaceProjects(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
case 'Check For Missing References':
|
|
{
|
|
UI.projects.foundations.functionLibraries.workspaceFunctions.checkForMissingReferences(action.rootNodes)
|
|
}
|
|
break
|
|
case 'Switch To Forward Testing':
|
|
{
|
|
action.node.type = "Forward Testing Session"
|
|
UI.projects.foundations.spaces.floatingSpace.uiObjectConstructor.createUiObject(true, action.node.payload)
|
|
}
|
|
break
|
|
case 'Switch To Live Trading':
|
|
{
|
|
action.node.type = "Live Trading Session"
|
|
UI.projects.foundations.spaces.floatingSpace.uiObjectConstructor.createUiObject(true, action.node.payload)
|
|
}
|
|
break
|
|
case 'Switch To Paper Trading':
|
|
{
|
|
action.node.type = "Paper Trading Session"
|
|
UI.projects.foundations.spaces.floatingSpace.uiObjectConstructor.createUiObject(true, action.node.payload)
|
|
}
|
|
break
|
|
case 'Switch To Backtesting':
|
|
{
|
|
action.node.type = "Backtesting Session"
|
|
UI.projects.foundations.spaces.floatingSpace.uiObjectConstructor.createUiObject(true, action.node.payload)
|
|
}
|
|
break
|
|
case 'Save node to be moved':
|
|
{
|
|
UI.projects.foundations.spaces.floatingSpace.saveFloatingObjectToBeMoved()
|
|
}
|
|
break
|
|
case 'Snap saved node to position':
|
|
{
|
|
UI.projects.foundations.spaces.floatingSpace.moveFloatingObject(action.node.payload.position)
|
|
}
|
|
break
|
|
case 'Install Product':
|
|
{
|
|
UI.projects.foundations.functionLibraries.productFunctions.installProduct(action.node, action.rootNodes)
|
|
}
|
|
break
|
|
|
|
default: {
|
|
console.log("[WARN] Action sent to Foundations Action Switch does not belong here. Verify at the App Schema file of the node that triggered this action that the actionProject is pointing to the right project. -> Action = " + action.name + " -> Action Node Name = " + action.node.name)
|
|
}
|
|
}
|
|
}
|
|
}
|