Backup and Share main structures with state of inner objects
This commit is contained in:
1 parent
37ad57d4c7
commit
1da5a7a364
2 files changed
+242
-185
No files matched your search
@@ -108,74 +108,74 @@ function newUiObjectsFromNodes () {
|
||||
return
|
||||
}
|
||||
|
||||
function createUiObjectFromNode (node, parentNode, chainParent) {
|
||||
function createUiObjectFromNode (node, parentNode, chainParent, positionOffset) {
|
||||
switch (node.type) {
|
||||
case 'Code':
|
||||
{
|
||||
createUiObject('Code', node.name, node, parentNode, chainParent, 'Code')
|
||||
createUiObject('Code', node.name, node, parentNode, chainParent, 'Code', positionOffset)
|
||||
return
|
||||
}
|
||||
case 'Condition':
|
||||
{
|
||||
createUiObject('Condition', node.name, node, parentNode, chainParent, 'Condition')
|
||||
createUiObject('Condition', node.name, node, parentNode, chainParent, 'Condition', positionOffset)
|
||||
if (node.code !== undefined) {
|
||||
createUiObjectFromNode(node.code, node, node)
|
||||
createUiObjectFromNode(node.code, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Situation': {
|
||||
let situation = node
|
||||
createUiObject('Situation', situation.name, situation, parentNode, chainParent, 'Situation')
|
||||
createUiObject('Situation', situation.name, situation, parentNode, chainParent, 'Situation', positionOffset)
|
||||
for (let m = 0; m < node.conditions.length; m++) {
|
||||
let condition = node.conditions[m]
|
||||
createUiObjectFromNode(condition, situation, situation)
|
||||
createUiObjectFromNode(condition, situation, situation, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Formula':
|
||||
{
|
||||
createUiObject('Formula', node.name, node, parentNode, chainParent, 'Formula')
|
||||
createUiObject('Formula', node.name, node, parentNode, chainParent, 'Formula', positionOffset)
|
||||
return
|
||||
}
|
||||
case 'Next Phase Event':
|
||||
{
|
||||
createUiObject('Next Phase Event', node.name, node, parentNode, chainParent, 'Next Phase Event')
|
||||
createUiObject('Next Phase Event', node.name, node, parentNode, chainParent, 'Next Phase Event', positionOffset)
|
||||
for (let m = 0; m < node.situations.length; m++) {
|
||||
let situation = node.situations[m]
|
||||
createUiObjectFromNode(situation, node, node)
|
||||
createUiObjectFromNode(situation, node, node, positionOffset)
|
||||
}
|
||||
if (node.announcements === undefined) {
|
||||
node.announcements = []
|
||||
}
|
||||
for (let m = 0; m < node.announcements.length; m++) {
|
||||
let announcement = node.announcements[m]
|
||||
createUiObjectFromNode(announcement, node, node)
|
||||
createUiObjectFromNode(announcement, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Phase': {
|
||||
let phase = node
|
||||
createUiObject('Phase', phase.name, phase, parentNode, chainParent, phase.subType)
|
||||
createUiObject('Phase', phase.name, phase, parentNode, chainParent, phase.subType, positionOffset)
|
||||
|
||||
if (node.formula !== undefined) {
|
||||
createUiObjectFromNode(node.formula, phase, phase)
|
||||
createUiObjectFromNode(node.formula, phase, phase, positionOffset)
|
||||
}
|
||||
if (node.nextPhaseEvent !== undefined) {
|
||||
createUiObjectFromNode(node.nextPhaseEvent, phase, phase)
|
||||
createUiObjectFromNode(node.nextPhaseEvent, phase, phase, positionOffset)
|
||||
}
|
||||
if (node.announcements === undefined) {
|
||||
node.announcements = []
|
||||
}
|
||||
for (let m = 0; m < node.announcements.length; m++) {
|
||||
let announcement = node.announcements[m]
|
||||
createUiObjectFromNode(announcement, node, node)
|
||||
createUiObjectFromNode(announcement, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Stop': {
|
||||
let lastPhase
|
||||
let stop = node
|
||||
createUiObject('Stop', stop.name, stop, parentNode, chainParent, 'Stop')
|
||||
createUiObject('Stop', stop.name, stop, parentNode, chainParent, 'Stop', positionOffset)
|
||||
for (let m = 0; m < node.phases.length; m++) {
|
||||
let phase = node.phases[m]
|
||||
let thisChainParent
|
||||
@@ -185,14 +185,14 @@ function newUiObjectsFromNodes () {
|
||||
thisChainParent = lastPhase
|
||||
}
|
||||
lastPhase = phase
|
||||
createUiObjectFromNode(phase, stop, thisChainParent)
|
||||
createUiObjectFromNode(phase, stop, thisChainParent, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Take Profit': {
|
||||
let lastPhase
|
||||
let takeProfit = node
|
||||
createUiObject('Take Profit', takeProfit.name, takeProfit, parentNode, chainParent, 'Take Profit')
|
||||
createUiObject('Take Profit', takeProfit.name, takeProfit, parentNode, chainParent, 'Take Profit', positionOffset)
|
||||
for (let m = 0; m < node.phases.length; m++) {
|
||||
let phase = node.phases[m]
|
||||
let thisChainParent
|
||||
@@ -202,244 +202,244 @@ function newUiObjectsFromNodes () {
|
||||
thisChainParent = lastPhase
|
||||
}
|
||||
lastPhase = phase
|
||||
createUiObjectFromNode(phase, takeProfit, thisChainParent)
|
||||
createUiObjectFromNode(phase, takeProfit, thisChainParent, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Open Execution':
|
||||
{
|
||||
createUiObject('Open Execution', node.name, node, parentNode, chainParent, 'Open Execution')
|
||||
createUiObject('Open Execution', node.name, node, parentNode, chainParent, 'Open Execution', positionOffset)
|
||||
return
|
||||
}
|
||||
case 'Close Execution':
|
||||
{
|
||||
createUiObject('Close Execution', node.name, node, parentNode, chainParent, 'Close Execution')
|
||||
createUiObject('Close Execution', node.name, node, parentNode, chainParent, 'Close Execution', positionOffset)
|
||||
return
|
||||
}
|
||||
case 'Initial Definition': {
|
||||
createUiObject('Initial Definition', node.name, node, parentNode, chainParent, 'Initial Definition')
|
||||
createUiObject('Initial Definition', node.name, node, parentNode, chainParent, 'Initial Definition', positionOffset)
|
||||
|
||||
if (node.stopLoss !== undefined) {
|
||||
createUiObjectFromNode(node.stopLoss, node, node)
|
||||
createUiObjectFromNode(node.stopLoss, node, node, positionOffset)
|
||||
}
|
||||
if (node.takeProfit !== undefined) {
|
||||
createUiObjectFromNode(node.takeProfit, node, node)
|
||||
createUiObjectFromNode(node.takeProfit, node, node, positionOffset)
|
||||
}
|
||||
if (node.positionSize !== undefined) {
|
||||
createUiObjectFromNode(node.positionSize, node, node)
|
||||
createUiObjectFromNode(node.positionSize, node, node, positionOffset)
|
||||
}
|
||||
if (node.positionRate !== undefined) {
|
||||
createUiObjectFromNode(node.positionRate, node, node)
|
||||
createUiObjectFromNode(node.positionRate, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Take Position Event': {
|
||||
let event = node
|
||||
createUiObject('Take Position Event', event.name, event, parentNode, chainParent, 'Take Position Event')
|
||||
createUiObject('Take Position Event', event.name, event, parentNode, chainParent, 'Take Position Event', positionOffset)
|
||||
for (let m = 0; m < node.situations.length; m++) {
|
||||
let situation = node.situations[m]
|
||||
createUiObjectFromNode(situation, event, event)
|
||||
createUiObjectFromNode(situation, event, event, positionOffset)
|
||||
}
|
||||
if (node.announcements === undefined) {
|
||||
node.announcements = []
|
||||
}
|
||||
for (let m = 0; m < node.announcements.length; m++) {
|
||||
let announcement = node.announcements[m]
|
||||
createUiObjectFromNode(announcement, node, node)
|
||||
createUiObjectFromNode(announcement, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Trigger On Event': {
|
||||
let event = node
|
||||
createUiObject('Trigger On Event', event.name, event, parentNode, chainParent, 'Trigger On Event')
|
||||
createUiObject('Trigger On Event', event.name, event, parentNode, chainParent, 'Trigger On Event', positionOffset)
|
||||
for (let m = 0; m < node.situations.length; m++) {
|
||||
let situation = node.situations[m]
|
||||
createUiObjectFromNode(situation, event, event)
|
||||
createUiObjectFromNode(situation, event, event, positionOffset)
|
||||
}
|
||||
if (node.announcements === undefined) {
|
||||
node.announcements = []
|
||||
}
|
||||
for (let m = 0; m < node.announcements.length; m++) {
|
||||
let announcement = node.announcements[m]
|
||||
createUiObjectFromNode(announcement, node, node)
|
||||
createUiObjectFromNode(announcement, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Trigger Off Event': {
|
||||
let event = node
|
||||
createUiObject('Trigger Off Event', event.name, event, parentNode, chainParent, 'Trigger Off Event')
|
||||
createUiObject('Trigger Off Event', event.name, event, parentNode, chainParent, 'Trigger Off Event', positionOffset)
|
||||
for (let m = 0; m < node.situations.length; m++) {
|
||||
let situation = node.situations[m]
|
||||
createUiObjectFromNode(situation, event, event)
|
||||
createUiObjectFromNode(situation, event, event, positionOffset)
|
||||
}
|
||||
if (node.announcements === undefined) {
|
||||
node.announcements = []
|
||||
}
|
||||
for (let m = 0; m < node.announcements.length; m++) {
|
||||
let announcement = node.announcements[m]
|
||||
createUiObjectFromNode(announcement, node, node)
|
||||
createUiObjectFromNode(announcement, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Position Size': {
|
||||
createUiObject('Position Size', node.name, node, parentNode, chainParent, 'Position Size')
|
||||
createUiObject('Position Size', node.name, node, parentNode, chainParent, 'Position Size', positionOffset)
|
||||
if (node.formula !== undefined) {
|
||||
createUiObjectFromNode(node.formula, node, node)
|
||||
createUiObjectFromNode(node.formula, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Position Rate': {
|
||||
createUiObject('Position Rate', node.name, node, parentNode, chainParent, 'Position Rate')
|
||||
createUiObject('Position Rate', node.name, node, parentNode, chainParent, 'Position Rate', positionOffset)
|
||||
if (node.formula !== undefined) {
|
||||
createUiObjectFromNode(node.formula, node, node)
|
||||
createUiObjectFromNode(node.formula, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Trigger Stage': {
|
||||
let stage = node
|
||||
createUiObject('Trigger Stage', stage.name, stage, parentNode, chainParent, 'Trigger Stage')
|
||||
createUiObject('Trigger Stage', stage.name, stage, parentNode, chainParent, 'Trigger Stage', positionOffset)
|
||||
|
||||
if (node.triggerOn !== undefined) {
|
||||
createUiObjectFromNode(node.triggerOn, stage, stage)
|
||||
createUiObjectFromNode(node.triggerOn, stage, stage, positionOffset)
|
||||
}
|
||||
if (node.triggerOff !== undefined) {
|
||||
createUiObjectFromNode(node.triggerOff, stage, stage)
|
||||
createUiObjectFromNode(node.triggerOff, stage, stage, positionOffset)
|
||||
}
|
||||
if (node.takePosition !== undefined) {
|
||||
createUiObjectFromNode(node.takePosition, stage, stage)
|
||||
createUiObjectFromNode(node.takePosition, stage, stage, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Open Stage': {
|
||||
let stage = node
|
||||
createUiObject('Open Stage', stage.name, stage, parentNode, chainParent, 'Open Stage')
|
||||
createUiObject('Open Stage', stage.name, stage, parentNode, chainParent, 'Open Stage', positionOffset)
|
||||
|
||||
if (node.initialDefinition !== undefined) {
|
||||
createUiObjectFromNode(node.initialDefinition, stage, stage)
|
||||
createUiObjectFromNode(node.initialDefinition, stage, stage, positionOffset)
|
||||
}
|
||||
if (node.openExecution !== undefined) {
|
||||
createUiObjectFromNode(node.openExecution, stage, stage)
|
||||
createUiObjectFromNode(node.openExecution, stage, stage, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Manage Stage': {
|
||||
let stage = node
|
||||
createUiObject('Manage Stage', stage.name, stage, parentNode, chainParent, 'Manage Stage')
|
||||
createUiObject('Manage Stage', stage.name, stage, parentNode, chainParent, 'Manage Stage', positionOffset)
|
||||
|
||||
if (node.stopLoss !== undefined) {
|
||||
createUiObjectFromNode(node.stopLoss, stage, stage)
|
||||
createUiObjectFromNode(node.stopLoss, stage, stage, positionOffset)
|
||||
}
|
||||
if (node.takeProfit !== undefined) {
|
||||
createUiObjectFromNode(node.takeProfit, stage, stage)
|
||||
createUiObjectFromNode(node.takeProfit, stage, stage, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Close Stage': {
|
||||
let stage = node
|
||||
createUiObject('Close Stage', stage.name, stage, parentNode, chainParent, 'Close Stage')
|
||||
createUiObject('Close Stage', stage.name, stage, parentNode, chainParent, 'Close Stage', positionOffset)
|
||||
|
||||
if (node.closeExecution !== undefined) {
|
||||
createUiObjectFromNode(node.closeExecution, stage, stage)
|
||||
createUiObjectFromNode(node.closeExecution, stage, stage, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Strategy': {
|
||||
let strategy = node
|
||||
createUiObject('Strategy', strategy.name, strategy, parentNode, chainParent, 'Strategy')
|
||||
createUiObject('Strategy', strategy.name, strategy, parentNode, chainParent, 'Strategy', positionOffset)
|
||||
if (node.triggerStage !== undefined) {
|
||||
createUiObjectFromNode(node.triggerStage, strategy, strategy)
|
||||
createUiObjectFromNode(node.triggerStage, strategy, strategy, positionOffset)
|
||||
}
|
||||
if (node.openStage !== undefined) {
|
||||
createUiObjectFromNode(node.openStage, strategy, strategy)
|
||||
createUiObjectFromNode(node.openStage, strategy, strategy, positionOffset)
|
||||
}
|
||||
if (node.manageStage !== undefined) {
|
||||
createUiObjectFromNode(node.manageStage, strategy, strategy)
|
||||
createUiObjectFromNode(node.manageStage, strategy, strategy, positionOffset)
|
||||
}
|
||||
if (node.closeStage !== undefined) {
|
||||
createUiObjectFromNode(node.closeStage, strategy, strategy)
|
||||
createUiObjectFromNode(node.closeStage, strategy, strategy, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Base Asset': {
|
||||
createUiObject('Base Asset', node.name, node, parentNode, chainParent, 'Base Asset')
|
||||
createUiObject('Base Asset', node.name, node, parentNode, chainParent, 'Base Asset', positionOffset)
|
||||
return
|
||||
}
|
||||
case 'Time Range': {
|
||||
createUiObject('Time Range', node.name, node, parentNode, chainParent, 'Time Range')
|
||||
createUiObject('Time Range', node.name, node, parentNode, chainParent, 'Time Range', positionOffset)
|
||||
return
|
||||
}
|
||||
case 'Time Period': {
|
||||
createUiObject('Time Period', node.name, node, parentNode, chainParent, 'Time Period')
|
||||
createUiObject('Time Period', node.name, node, parentNode, chainParent, 'Time Period', positionOffset)
|
||||
return
|
||||
}
|
||||
case 'Slippage': {
|
||||
createUiObject('Slippage', node.name, node, parentNode, chainParent, 'Slippage')
|
||||
createUiObject('Slippage', node.name, node, parentNode, chainParent, 'Slippage', positionOffset)
|
||||
return
|
||||
}
|
||||
case 'Fee Structure': {
|
||||
createUiObject('Fee Structure', node.name, node, parentNode, chainParent, 'Fee Structure')
|
||||
createUiObject('Fee Structure', node.name, node, parentNode, chainParent, 'Fee Structure', positionOffset)
|
||||
return
|
||||
}
|
||||
case 'Parameters': {
|
||||
createUiObject('Parameters', node.name, node, parentNode, chainParent, 'Parameters')
|
||||
createUiObject('Parameters', node.name, node, parentNode, chainParent, 'Parameters', positionOffset)
|
||||
if (node.baseAsset !== undefined) {
|
||||
createUiObjectFromNode(node.baseAsset, node, node)
|
||||
createUiObjectFromNode(node.baseAsset, node, node, positionOffset)
|
||||
}
|
||||
if (node.timeRange !== undefined) {
|
||||
createUiObjectFromNode(node.timeRange, node, node)
|
||||
createUiObjectFromNode(node.timeRange, node, node, positionOffset)
|
||||
}
|
||||
if (node.timePeriod !== undefined) {
|
||||
createUiObjectFromNode(node.timePeriod, node, node)
|
||||
createUiObjectFromNode(node.timePeriod, node, node, positionOffset)
|
||||
}
|
||||
if (node.slippage !== undefined) {
|
||||
createUiObjectFromNode(node.slippage, node, node)
|
||||
createUiObjectFromNode(node.slippage, node, node, positionOffset)
|
||||
}
|
||||
if (node.feeStructure !== undefined) {
|
||||
createUiObjectFromNode(node.feeStructure, node, node)
|
||||
createUiObjectFromNode(node.feeStructure, node, node, positionOffset)
|
||||
}
|
||||
if (node.key !== undefined) {
|
||||
createUiObjectFromNode(node.key, node, node)
|
||||
createUiObjectFromNode(node.key, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Trading System': {
|
||||
let tradingSystem = node
|
||||
createUiObject('Trading System', tradingSystem.name, tradingSystem, parentNode, chainParent, 'Trading System')
|
||||
createUiObject('Trading System', tradingSystem.name, tradingSystem, parentNode, chainParent, 'Trading System', positionOffset)
|
||||
for (let m = 0; m < node.strategies.length; m++) {
|
||||
let strategy = node.strategies[m]
|
||||
createUiObjectFromNode(strategy, tradingSystem, tradingSystem)
|
||||
createUiObjectFromNode(strategy, tradingSystem, tradingSystem, positionOffset)
|
||||
}
|
||||
if (node.parameters !== undefined) {
|
||||
createUiObjectFromNode(node.parameters, node, node)
|
||||
createUiObjectFromNode(node.parameters, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Personal Data': {
|
||||
createUiObject('Personal Data', node.name, node, parentNode, chainParent, 'Personal Data')
|
||||
createUiObject('Personal Data', node.name, node, parentNode, chainParent, 'Personal Data', positionOffset)
|
||||
for (let m = 0; m < node.exchangeAccounts.length; m++) {
|
||||
let exchangeAccount = node.exchangeAccounts[m]
|
||||
createUiObjectFromNode(exchangeAccount, node, node)
|
||||
createUiObjectFromNode(exchangeAccount, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Exchange Account': {
|
||||
createUiObject('Exchange Account', node.name, node, parentNode, chainParent, 'Exchange Account')
|
||||
createUiObject('Exchange Account', node.name, node, parentNode, chainParent, 'Exchange Account', positionOffset)
|
||||
for (let m = 0; m < node.assets.length; m++) {
|
||||
let asset = node.assets[m]
|
||||
createUiObjectFromNode(asset, node, node)
|
||||
createUiObjectFromNode(asset, node, node, positionOffset)
|
||||
}
|
||||
for (let m = 0; m < node.keys.length; m++) {
|
||||
let key = node.keys[m]
|
||||
createUiObjectFromNode(key, node, node)
|
||||
createUiObjectFromNode(key, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Exchange Account Asset': {
|
||||
createUiObject('Exchange Account Asset', node.name, node, parentNode, chainParent, 'Exchange Account Asset')
|
||||
createUiObject('Exchange Account Asset', node.name, node, parentNode, chainParent, 'Exchange Account Asset', positionOffset)
|
||||
return
|
||||
}
|
||||
case 'Exchange Account Key': {
|
||||
createUiObject('Exchange Account Key', node.name, node, parentNode, chainParent, 'Exchange Account Key')
|
||||
createUiObject('Exchange Account Key', node.name, node, parentNode, chainParent, 'Exchange Account Key', positionOffset)
|
||||
return
|
||||
}
|
||||
case 'Definition': {
|
||||
@@ -451,12 +451,12 @@ function newUiObjectsFromNodes () {
|
||||
referenceChildren = node.savedPayload.referenceChildren
|
||||
}
|
||||
}
|
||||
createUiObject('Definition', node.name, node, parentNode, chainParent, 'Definition')
|
||||
createUiObject('Definition', node.name, node, parentNode, chainParent, 'Definition', positionOffset)
|
||||
if (node.tradingSystem !== undefined) {
|
||||
createUiObjectFromNode(node.tradingSystem, node, node)
|
||||
createUiObjectFromNode(node.tradingSystem, node, node, positionOffset)
|
||||
}
|
||||
if (node.personalData !== undefined) {
|
||||
createUiObjectFromNode(node.personalData, node, node)
|
||||
createUiObjectFromNode(node.personalData, node, node, positionOffset)
|
||||
}
|
||||
if (node.referenceChildren === undefined) {
|
||||
node.referenceChildren = []
|
||||
@@ -469,96 +469,96 @@ function newUiObjectsFromNodes () {
|
||||
return
|
||||
}
|
||||
case 'Network': {
|
||||
createUiObject('Network', node.name, node, parentNode, chainParent, 'Network')
|
||||
createUiObject('Network', node.name, node, parentNode, chainParent, 'Network', positionOffset)
|
||||
if (node.networkNodes !== undefined) {
|
||||
for (let m = 0; m < node.networkNodes.length; m++) {
|
||||
let networkNode = node.networkNodes[m]
|
||||
createUiObjectFromNode(networkNode, node, node)
|
||||
createUiObjectFromNode(networkNode, node, node, positionOffset)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Network Node': {
|
||||
createUiObject('Network Node', node.name, node, parentNode, chainParent, 'Network Node')
|
||||
createUiObject('Network Node', node.name, node, parentNode, chainParent, 'Network Node', positionOffset)
|
||||
if (node.taskManagers !== undefined) {
|
||||
for (let m = 0; m < node.taskManagers.length; m++) {
|
||||
let taskManager = node.taskManagers[m]
|
||||
createUiObjectFromNode(taskManager, node, node)
|
||||
createUiObjectFromNode(taskManager, node, node, positionOffset)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Social Bots': {
|
||||
createUiObject('Social Bots', node.name, node, parentNode, chainParent, 'Social Bots')
|
||||
createUiObject('Social Bots', node.name, node, parentNode, chainParent, 'Social Bots', positionOffset)
|
||||
for (let m = 0; m < node.bots.length; m++) {
|
||||
let bot = node.bots[m]
|
||||
createUiObjectFromNode(bot, node, node)
|
||||
createUiObjectFromNode(bot, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Telegram Bot': {
|
||||
createUiObject('Telegram Bot', node.name, node, parentNode, chainParent, 'Telegram Bot')
|
||||
createUiObject('Telegram Bot', node.name, node, parentNode, chainParent, 'Telegram Bot', positionOffset)
|
||||
for (let m = 0; m < node.announcements.length; m++) {
|
||||
let announcement = node.announcements[m]
|
||||
createUiObjectFromNode(announcement, node, node)
|
||||
createUiObjectFromNode(announcement, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Announcement': {
|
||||
createUiObject('Announcement', node.name, node, parentNode, chainParent, 'Announcement')
|
||||
createUiObject('Announcement', node.name, node, parentNode, chainParent, 'Announcement', positionOffset)
|
||||
if (node.formula !== undefined) {
|
||||
createUiObjectFromNode(node.formula, node, node)
|
||||
createUiObjectFromNode(node.formula, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Layer Manager': {
|
||||
createUiObject('Layer Manager', node.name, node, parentNode, chainParent, 'Layer Manager')
|
||||
createUiObject('Layer Manager', node.name, node, parentNode, chainParent, 'Layer Manager', positionOffset)
|
||||
for (let m = 0; m < node.layers.length; m++) {
|
||||
let layer = node.layers[m]
|
||||
createUiObjectFromNode(layer, node, node)
|
||||
createUiObjectFromNode(layer, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Layer': {
|
||||
createUiObject('Layer', node.name, node, parentNode, chainParent, 'Layer')
|
||||
createUiObject('Layer', node.name, node, parentNode, chainParent, 'Layer', positionOffset)
|
||||
return
|
||||
}
|
||||
case 'Task Manager': {
|
||||
createUiObject('Task Manager', node.name, node, parentNode, chainParent, 'Task Manager')
|
||||
createUiObject('Task Manager', node.name, node, parentNode, chainParent, 'Task Manager', positionOffset)
|
||||
for (let m = 0; m < node.tasks.length; m++) {
|
||||
let task = node.tasks[m]
|
||||
createUiObjectFromNode(task, node, node)
|
||||
createUiObjectFromNode(task, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Task': {
|
||||
createUiObject('Task', node.name, node, parentNode, chainParent, 'Task')
|
||||
createUiObject('Task', node.name, node, parentNode, chainParent, 'Task', positionOffset)
|
||||
if (node.bot !== undefined) {
|
||||
createUiObjectFromNode(node.bot, node, node)
|
||||
createUiObjectFromNode(node.bot, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Sensor Bot Instance': {
|
||||
createUiObject('Sensor Bot Instance', node.name, node, parentNode, chainParent, 'Sensor Bot Instance')
|
||||
createUiObject('Sensor Bot Instance', node.name, node, parentNode, chainParent, 'Sensor Bot Instance', positionOffset)
|
||||
for (let m = 0; m < node.processes.length; m++) {
|
||||
let process = node.processes[m]
|
||||
createUiObjectFromNode(process, node, node)
|
||||
createUiObjectFromNode(process, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Indicator Bot Instance': {
|
||||
createUiObject('Indicator Bot Instance', node.name, node, parentNode, chainParent, 'Indicator Bot Instance')
|
||||
createUiObject('Indicator Bot Instance', node.name, node, parentNode, chainParent, 'Indicator Bot Instance', positionOffset)
|
||||
for (let m = 0; m < node.processes.length; m++) {
|
||||
let process = node.processes[m]
|
||||
createUiObjectFromNode(process, node, node)
|
||||
createUiObjectFromNode(process, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Trading Bot Instance': {
|
||||
createUiObject('Trading Bot Instance', node.name, node, parentNode, chainParent, 'Trading Bot Instance')
|
||||
createUiObject('Trading Bot Instance', node.name, node, parentNode, chainParent, 'Trading Bot Instance', positionOffset)
|
||||
for (let m = 0; m < node.processes.length; m++) {
|
||||
let process = node.processes[m]
|
||||
createUiObjectFromNode(process, node, node)
|
||||
createUiObjectFromNode(process, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -588,9 +588,9 @@ function newUiObjectsFromNodes () {
|
||||
}
|
||||
}
|
||||
}
|
||||
createUiObject('Process Instance', node.name, node, parentNode, chainParent, 'Process Instance')
|
||||
createUiObject('Process Instance', node.name, node, parentNode, chainParent, 'Process Instance', positionOffset)
|
||||
if (node.session !== undefined) {
|
||||
createUiObjectFromNode(node.session, node, node)
|
||||
createUiObjectFromNode(node.session, node, node, positionOffset)
|
||||
}
|
||||
if (referenceParent !== undefined) {
|
||||
node.savedPayload = {
|
||||
@@ -609,15 +609,15 @@ function newUiObjectsFromNodes () {
|
||||
}
|
||||
}
|
||||
}
|
||||
createUiObject('Backtesting Session', node.name, node, parentNode, chainParent, 'Backtesting Session')
|
||||
createUiObject('Backtesting Session', node.name, node, parentNode, chainParent, 'Backtesting Session', positionOffset)
|
||||
if (node.parameters !== undefined) {
|
||||
createUiObjectFromNode(node.parameters, node, node)
|
||||
createUiObjectFromNode(node.parameters, node, node, positionOffset)
|
||||
}
|
||||
if (node.layerManager !== undefined) {
|
||||
createUiObjectFromNode(node.layerManager, node, node)
|
||||
createUiObjectFromNode(node.layerManager, node, node, positionOffset)
|
||||
}
|
||||
if (node.socialBots !== undefined) {
|
||||
createUiObjectFromNode(node.socialBots, node, node)
|
||||
createUiObjectFromNode(node.socialBots, node, node, positionOffset)
|
||||
}
|
||||
if (referenceParent !== undefined) {
|
||||
node.savedPayload = {
|
||||
@@ -636,15 +636,15 @@ function newUiObjectsFromNodes () {
|
||||
}
|
||||
}
|
||||
}
|
||||
createUiObject('Live Trading Session', node.name, node, parentNode, chainParent, 'Live Trading Session')
|
||||
createUiObject('Live Trading Session', node.name, node, parentNode, chainParent, 'Live Trading Session', positionOffset)
|
||||
if (node.parameters !== undefined) {
|
||||
createUiObjectFromNode(node.parameters, node, node)
|
||||
createUiObjectFromNode(node.parameters, node, node, positionOffset)
|
||||
}
|
||||
if (node.layerManager !== undefined) {
|
||||
createUiObjectFromNode(node.layerManager, node, node)
|
||||
createUiObjectFromNode(node.layerManager, node, node, positionOffset)
|
||||
}
|
||||
if (node.socialBots !== undefined) {
|
||||
createUiObjectFromNode(node.socialBots, node, node)
|
||||
createUiObjectFromNode(node.socialBots, node, node, positionOffset)
|
||||
}
|
||||
if (referenceParent !== undefined) {
|
||||
node.savedPayload = {
|
||||
@@ -663,15 +663,15 @@ function newUiObjectsFromNodes () {
|
||||
}
|
||||
}
|
||||
}
|
||||
createUiObject('Fordward Testing Session', node.name, node, parentNode, chainParent, 'Fordward Testing Session')
|
||||
createUiObject('Fordward Testing Session', node.name, node, parentNode, chainParent, 'Fordward Testing Session', positionOffset)
|
||||
if (node.parameters !== undefined) {
|
||||
createUiObjectFromNode(node.parameters, node, node)
|
||||
createUiObjectFromNode(node.parameters, node, node, positionOffset)
|
||||
}
|
||||
if (node.layerManager !== undefined) {
|
||||
createUiObjectFromNode(node.layerManager, node, node)
|
||||
createUiObjectFromNode(node.layerManager, node, node, positionOffset)
|
||||
}
|
||||
if (node.socialBots !== undefined) {
|
||||
createUiObjectFromNode(node.socialBots, node, node)
|
||||
createUiObjectFromNode(node.socialBots, node, node, positionOffset)
|
||||
}
|
||||
if (referenceParent !== undefined) {
|
||||
node.savedPayload = {
|
||||
@@ -690,15 +690,15 @@ function newUiObjectsFromNodes () {
|
||||
}
|
||||
}
|
||||
}
|
||||
createUiObject('Paper Trading Session', node.name, node, parentNode, chainParent, 'Paper Trading Session')
|
||||
createUiObject('Paper Trading Session', node.name, node, parentNode, chainParent, 'Paper Trading Session', positionOffset)
|
||||
if (node.parameters !== undefined) {
|
||||
createUiObjectFromNode(node.parameters, node, node)
|
||||
createUiObjectFromNode(node.parameters, node, node, positionOffset)
|
||||
}
|
||||
if (node.layerManager !== undefined) {
|
||||
createUiObjectFromNode(node.layerManager, node, node)
|
||||
createUiObjectFromNode(node.layerManager, node, node, positionOffset)
|
||||
}
|
||||
if (node.socialBots !== undefined) {
|
||||
createUiObjectFromNode(node.socialBots, node, node)
|
||||
createUiObjectFromNode(node.socialBots, node, node, positionOffset)
|
||||
}
|
||||
if (referenceParent !== undefined) {
|
||||
node.savedPayload = {
|
||||
@@ -709,58 +709,58 @@ function newUiObjectsFromNodes () {
|
||||
}
|
||||
|
||||
case 'Team': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
for (let m = 0; m < node.sensorBots.length; m++) {
|
||||
let sensorBot = node.sensorBots[m]
|
||||
createUiObjectFromNode(sensorBot, node, node)
|
||||
createUiObjectFromNode(sensorBot, node, node, positionOffset)
|
||||
}
|
||||
for (let m = 0; m < node.indicatorBots.length; m++) {
|
||||
let indicatorBot = node.indicatorBots[m]
|
||||
createUiObjectFromNode(indicatorBot, node, node)
|
||||
createUiObjectFromNode(indicatorBot, node, node, positionOffset)
|
||||
}
|
||||
for (let m = 0; m < node.tradingBots.length; m++) {
|
||||
let tradingBot = node.tradingBots[m]
|
||||
createUiObjectFromNode(tradingBot, node, node)
|
||||
createUiObjectFromNode(tradingBot, node, node, positionOffset)
|
||||
}
|
||||
for (let m = 0; m < node.plotters.length; m++) {
|
||||
let plotter = node.plotters[m]
|
||||
createUiObjectFromNode(plotter, node, node)
|
||||
createUiObjectFromNode(plotter, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Sensor Bot': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
for (let m = 0; m < node.processes.length; m++) {
|
||||
let process = node.processes[m]
|
||||
createUiObjectFromNode(process, node, node)
|
||||
createUiObjectFromNode(process, node, node, positionOffset)
|
||||
}
|
||||
for (let m = 0; m < node.products.length; m++) {
|
||||
let product = node.products[m]
|
||||
createUiObjectFromNode(product, node, node)
|
||||
createUiObjectFromNode(product, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Indicator Bot': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
for (let m = 0; m < node.processes.length; m++) {
|
||||
let process = node.processes[m]
|
||||
createUiObjectFromNode(process, node, node)
|
||||
createUiObjectFromNode(process, node, node, positionOffset)
|
||||
}
|
||||
for (let m = 0; m < node.products.length; m++) {
|
||||
let product = node.products[m]
|
||||
createUiObjectFromNode(product, node, node)
|
||||
createUiObjectFromNode(product, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Trading Bot': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
for (let m = 0; m < node.processes.length; m++) {
|
||||
let process = node.processes[m]
|
||||
createUiObjectFromNode(process, node, node)
|
||||
createUiObjectFromNode(process, node, node, positionOffset)
|
||||
}
|
||||
for (let m = 0; m < node.products.length; m++) {
|
||||
let product = node.products[m]
|
||||
createUiObjectFromNode(product, node, node)
|
||||
createUiObjectFromNode(product, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -773,21 +773,21 @@ function newUiObjectsFromNodes () {
|
||||
referenceChildren = node.savedPayload.referenceChildren
|
||||
}
|
||||
}
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (node.processOutput !== undefined) {
|
||||
createUiObjectFromNode(node.processOutput, node, node)
|
||||
createUiObjectFromNode(node.processOutput, node, node, positionOffset)
|
||||
}
|
||||
if (node.processDependencies !== undefined) {
|
||||
createUiObjectFromNode(node.processDependencies, node, node)
|
||||
createUiObjectFromNode(node.processDependencies, node, node, positionOffset)
|
||||
}
|
||||
if (node.statusReport !== undefined) {
|
||||
createUiObjectFromNode(node.statusReport, node, node)
|
||||
createUiObjectFromNode(node.statusReport, node, node, positionOffset)
|
||||
}
|
||||
if (node.executionStartedEvent !== undefined) {
|
||||
createUiObjectFromNode(node.executionStartedEvent, node, node)
|
||||
createUiObjectFromNode(node.executionStartedEvent, node, node, positionOffset)
|
||||
}
|
||||
if (node.executionFinishedEvent !== undefined) {
|
||||
createUiObjectFromNode(node.executionFinishedEvent, node, node)
|
||||
createUiObjectFromNode(node.executionFinishedEvent, node, node, positionOffset)
|
||||
}
|
||||
if (referenceChildren !== undefined) {
|
||||
node.savedPayload = {
|
||||
@@ -797,22 +797,22 @@ function newUiObjectsFromNodes () {
|
||||
return
|
||||
}
|
||||
case 'Process Output': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
for (let m = 0; m < node.outputDatasets.length; m++) {
|
||||
let outputDataset = node.outputDatasets[m]
|
||||
createUiObjectFromNode(outputDataset, node, node)
|
||||
createUiObjectFromNode(outputDataset, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Process Dependencies': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
for (let m = 0; m < node.statusDependencies.length; m++) {
|
||||
let statusDependency = node.statusDependencies[m]
|
||||
createUiObjectFromNode(statusDependency, node, node)
|
||||
createUiObjectFromNode(statusDependency, node, node, positionOffset)
|
||||
}
|
||||
for (let m = 0; m < node.dataDependencies.length; m++) {
|
||||
let dataDependency = node.dataDependencies[m]
|
||||
createUiObjectFromNode(dataDependency, node, node)
|
||||
createUiObjectFromNode(dataDependency, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -825,7 +825,7 @@ function newUiObjectsFromNodes () {
|
||||
referenceChildren = node.savedPayload.referenceChildren
|
||||
}
|
||||
}
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (referenceChildren !== undefined) {
|
||||
node.savedPayload = {
|
||||
referenceChildren: referenceChildren
|
||||
@@ -843,7 +843,7 @@ function newUiObjectsFromNodes () {
|
||||
}
|
||||
}
|
||||
}
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (referenceParent !== undefined) {
|
||||
node.savedPayload = {
|
||||
referenceParent: referenceParent
|
||||
@@ -860,7 +860,7 @@ function newUiObjectsFromNodes () {
|
||||
referenceChildren = node.savedPayload.referenceChildren
|
||||
}
|
||||
}
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (referenceChildren !== undefined) {
|
||||
node.savedPayload = {
|
||||
referenceChildren: referenceChildren
|
||||
@@ -869,36 +869,36 @@ function newUiObjectsFromNodes () {
|
||||
return
|
||||
}
|
||||
case 'Calculations Procedure': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (node.initialization !== undefined) {
|
||||
createUiObjectFromNode(node.initialization, node, node)
|
||||
createUiObjectFromNode(node.initialization, node, node, positionOffset)
|
||||
}
|
||||
if (node.loop !== undefined) {
|
||||
createUiObjectFromNode(node.loop, node, node)
|
||||
createUiObjectFromNode(node.loop, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Data Building Procedure': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (node.initialization !== undefined) {
|
||||
createUiObjectFromNode(node.initialization, node, node)
|
||||
createUiObjectFromNode(node.initialization, node, node, positionOffset)
|
||||
}
|
||||
if (node.loop !== undefined) {
|
||||
createUiObjectFromNode(node.loop, node, node)
|
||||
createUiObjectFromNode(node.loop, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Procedure Initialization': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (node.code !== undefined) {
|
||||
createUiObjectFromNode(node.code, node, node)
|
||||
createUiObjectFromNode(node.code, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Procedure Loop': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (node.code !== undefined) {
|
||||
createUiObjectFromNode(node.code, node, node)
|
||||
createUiObjectFromNode(node.code, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -912,7 +912,7 @@ function newUiObjectsFromNodes () {
|
||||
}
|
||||
}
|
||||
}
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (referenceParent !== undefined) {
|
||||
node.savedPayload = {
|
||||
referenceParent: referenceParent
|
||||
@@ -930,7 +930,7 @@ function newUiObjectsFromNodes () {
|
||||
}
|
||||
}
|
||||
}
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (referenceParent !== undefined) {
|
||||
node.savedPayload = {
|
||||
referenceParent: referenceParent
|
||||
@@ -948,7 +948,7 @@ function newUiObjectsFromNodes () {
|
||||
}
|
||||
}
|
||||
}
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (referenceParent !== undefined) {
|
||||
node.savedPayload = {
|
||||
referenceParent: referenceParent
|
||||
@@ -957,34 +957,34 @@ function newUiObjectsFromNodes () {
|
||||
return
|
||||
}
|
||||
case 'Product Definition': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (node.record !== undefined) {
|
||||
createUiObjectFromNode(node.record, node, node)
|
||||
createUiObjectFromNode(node.record, node, node, positionOffset)
|
||||
}
|
||||
for (let m = 0; m < node.datasets.length; m++) {
|
||||
let dataset = node.datasets[m]
|
||||
createUiObjectFromNode(dataset, node, node)
|
||||
createUiObjectFromNode(dataset, node, node, positionOffset)
|
||||
}
|
||||
if (node.calculations !== undefined) {
|
||||
createUiObjectFromNode(node.calculations, node, node)
|
||||
createUiObjectFromNode(node.calculations, node, node, positionOffset)
|
||||
}
|
||||
if (node.dataBuilding !== undefined) {
|
||||
createUiObjectFromNode(node.dataBuilding, node, node)
|
||||
createUiObjectFromNode(node.dataBuilding, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Record Definition': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
for (let m = 0; m < node.properties.length; m++) {
|
||||
let property = node.properties[m]
|
||||
createUiObjectFromNode(property, node, node)
|
||||
createUiObjectFromNode(property, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Record Property': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (node.formula !== undefined) {
|
||||
createUiObjectFromNode(node.formula, node, node)
|
||||
createUiObjectFromNode(node.formula, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -997,7 +997,7 @@ function newUiObjectsFromNodes () {
|
||||
referenceChildren = node.savedPayload.referenceChildren
|
||||
}
|
||||
}
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (referenceChildren !== undefined) {
|
||||
node.savedPayload = {
|
||||
referenceChildren: referenceChildren
|
||||
@@ -1006,28 +1006,28 @@ function newUiObjectsFromNodes () {
|
||||
return
|
||||
}
|
||||
case 'Plotter': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
for (let m = 0; m < node.modules.length; m++) {
|
||||
let module = node.modules[m]
|
||||
createUiObjectFromNode(module, node, node)
|
||||
createUiObjectFromNode(module, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Plotter Module': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (node.code !== undefined) {
|
||||
createUiObjectFromNode(node.code, node, node)
|
||||
createUiObjectFromNode(node.code, node, node, positionOffset)
|
||||
}
|
||||
for (let m = 0; m < node.panels.length; m++) {
|
||||
let panel = node.panels[m]
|
||||
createUiObjectFromNode(panel, node, node)
|
||||
createUiObjectFromNode(panel, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
case 'Plotter Panel': {
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type)
|
||||
createUiObject(node.type, node.name, node, parentNode, chainParent, node.type, positionOffset)
|
||||
if (node.code !== undefined) {
|
||||
createUiObjectFromNode(node.code, node, node)
|
||||
createUiObjectFromNode(node.code, node, node, positionOffset)
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -2059,15 +2059,24 @@ function newUiObjectsFromNodes () {
|
||||
return condition
|
||||
}
|
||||
|
||||
function createUiObject (uiObjectType, name, node, parentNode, chainParent, title) {
|
||||
function createUiObject (uiObjectType, name, node, parentNode, chainParent, title, positionOffset) {
|
||||
let payload = {}
|
||||
|
||||
if (name === '' || name === undefined) { name = 'My ' + uiObjectType }
|
||||
if (node.savedPayload !== undefined) {
|
||||
/* If there is a position offset, we apply it here. */
|
||||
if (positionOffset !== undefined) {
|
||||
node.savedPayload.targetPosition.x = node.savedPayload.targetPosition.x + positionOffset.x
|
||||
node.savedPayload.targetPosition.y = node.savedPayload.targetPosition.y + positionOffset.y
|
||||
node.savedPayload.position.x = node.savedPayload.position.x + positionOffset.x
|
||||
node.savedPayload.position.y = node.savedPayload.position.y + positionOffset.y
|
||||
}
|
||||
|
||||
payload.targetPosition = {
|
||||
x: node.savedPayload.targetPosition.x,
|
||||
y: node.savedPayload.targetPosition.y
|
||||
}
|
||||
|
||||
node.savedPayload.targetPosition = undefined
|
||||
|
||||
if (payload.targetPosition.x === null) { payload.targetPosition.x = spawnPosition.x }
|
||||
|
||||
@@ -224,11 +224,39 @@ function newWorkspace () {
|
||||
functionLibraryNodeDeleter.deleteWorkspace(thisObject.workspaceNode, thisObject.workspaceNode.rootNodes)
|
||||
thisObject.workspaceNode = droppedNode
|
||||
functionLibraryUiObjectsFromNodes.recreateWorkspace(thisObject.workspaceNode)
|
||||
return
|
||||
} else {
|
||||
let rootNode = functionLibraryProtocolNode.getProtocolNode(droppedNode)
|
||||
thisObject.workspaceNode.rootNodes.push(rootNode)
|
||||
functionLibraryUiObjectsFromNodes.createUiObjectFromNode(rootNode, undefined, undefined)
|
||||
if (
|
||||
droppedNode.type === 'Definition' ||
|
||||
droppedNode.type === 'Network' ||
|
||||
droppedNode.type === 'Team'
|
||||
) {
|
||||
/* We will only respect the state of each object on these structures, if the structure does not yet exist inside the workspace */
|
||||
let alreadyExists = false
|
||||
for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) {
|
||||
let rootNode = thisObject.workspaceNode.rootNodes[i]
|
||||
if (droppedNode.id === rootNode.id) {
|
||||
alreadyExists = true
|
||||
}
|
||||
}
|
||||
if (alreadyExists === false) {
|
||||
/* It does not exist, so we recreeate it respecting the inner state of each object. */
|
||||
let positionOffset = {
|
||||
x: spawnPosition.x - droppedNode.savedPayload.targetPosition.x,
|
||||
y: spawnPosition.y - droppedNode.savedPayload.targetPosition.y
|
||||
}
|
||||
|
||||
thisObject.workspaceNode.rootNodes.push(droppedNode)
|
||||
functionLibraryUiObjectsFromNodes.createUiObjectFromNode(droppedNode, undefined, undefined, positionOffset)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* This is the default behaviour, which consists of cleaning all nodes that are not supported and then creating the UIObjects that remains on the data structure. */
|
||||
let rootNode = functionLibraryProtocolNode.getProtocolNode(droppedNode)
|
||||
thisObject.workspaceNode.rootNodes.push(rootNode)
|
||||
functionLibraryUiObjectsFromNodes.createUiObjectFromNode(rootNode, undefined, undefined)
|
||||
} catch (err) {
|
||||
if (ERROR_LOG === true) { logger.write('[ERROR] spawn -> err = ' + err.stack) }
|
||||
}
|
||||
@@ -255,7 +283,17 @@ function newWorkspace () {
|
||||
break
|
||||
case 'Share':
|
||||
{
|
||||
let text = JSON.stringify(functionLibraryProtocolNode.getProtocolNode(payload.node, true))
|
||||
let text
|
||||
if (
|
||||
payload.node.type === 'Definition' ||
|
||||
payload.node.type === 'Network' ||
|
||||
payload.node.type === 'Team'
|
||||
) {
|
||||
text = JSON.stringify(functionLibraryProtocolNode.getProtocolNode(payload.node, true, false, true, true, true))
|
||||
} else {
|
||||
text = JSON.stringify(functionLibraryProtocolNode.getProtocolNode(payload.node, true))
|
||||
}
|
||||
|
||||
let nodeName = payload.node.name
|
||||
if (nodeName === undefined) {
|
||||
nodeName = ''
|
||||
@@ -269,7 +307,17 @@ function newWorkspace () {
|
||||
break
|
||||
case 'Backup':
|
||||
{
|
||||
let text = JSON.stringify(functionLibraryProtocolNode.getProtocolNode(payload.node, false))
|
||||
let text
|
||||
if (
|
||||
payload.node.type === 'Definition' ||
|
||||
payload.node.type === 'Network' ||
|
||||
payload.node.type === 'Team'
|
||||
) {
|
||||
text = JSON.stringify(functionLibraryProtocolNode.getProtocolNode(payload.node, false, false, true, true, true))
|
||||
} else {
|
||||
text = JSON.stringify(functionLibraryProtocolNode.getProtocolNode(payload.node, false))
|
||||
}
|
||||
|
||||
let nodeName = payload.node.name
|
||||
if (nodeName === undefined) {
|
||||
nodeName = ''
|
||||
|
||||
Reference in new issue
Block a user